{"version":3,"file":"app.33eccb72be4eaffc701c.js","mappings":"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","sources":["webpack:///./src/fable_modules/Feliz.MaterialUI.1.2.6/Flatten.fs.js","webpack:///./src/fable_modules/Feliz.MaterialUI.1.2.6/Mui.fs.js","webpack:///./src/fable_modules/Feliz.MaterialUI.1.2.6/Styles.fs.js","webpack:///../Styles/Theme.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/FSharp.Core.js","webpack:///./src/fable_modules/fable-library.3.7.17/FSharp.Collections.js","webpack:///./src/fable_modules/fable-library.3.7.17/Seq.js","webpack:///./src/fable_modules/Feliz.1.68.0/Interop.fs.js","webpack:///./src/fable_modules/Feliz.1.68.0/React.fs.js","webpack:///./src/fable_modules/Feliz.1.68.0/ReactInterop.js","webpack:///./src/fable_modules/Feliz.Router.3.10.0/Router.fs.js","webpack:///../BidirectionalRouting/BidirectionalRouting.fs.js","webpack:///./src/AppRoutes.fs.js","webpack:///../CustomHooks/ComposedForm.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/MapUtil.js","webpack:///./src/fable_modules/fable-library.3.7.17/MutableMap.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Html.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/MasterTypes.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Media.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Utilities.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/FontFace.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/FontFace.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Font.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js","webpack:///./src/fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Display.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Display.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Text.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Text.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Margin.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Margin.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Padding.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Padding.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/ContentSize.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Grid.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Grid.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Font.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Cursor.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Cursor.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Color.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Position.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Position.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Transform.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Transform.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Image.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Content.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Content.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Custom.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Background.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Background.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Border.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/PseudoClass.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/PseudoClass.fs.js","webpack:///../Styles/Utils.fs.js","webpack:///./src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js","webpack:///./src/fable_modules/Fable.React.7.4.0/Fable.React.Extensions.fs.js","webpack:///../Components/UtilComponents.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/Guid.js","webpack:///../Styles/ClientPageStyles.fs.js","webpack:///../DesignSystems/DesignSystem.fs.js","webpack:///../DesignSystems/AddressHook.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/AsyncBuilder.js","webpack:///./src/fable_modules/fable-library.3.7.17/Async.js","webpack:///../Notistack/Notistack.fs.js","webpack:///../CustomHooks/CustomHooks.fs.js","webpack:///../shared/Format.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/Set.js","webpack:///../DesignSystems/DossierUtils.fs.js","webpack:///../DesignSystems/Contacts.fs.js","webpack:///../DesignSystems/String.fs.js","webpack:///../DesignSystems/DisplayDeferred.fs.js","webpack:///../DesignSystems/CustomerForms.fs.js","webpack:///./src/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js","webpack:///./src/components/Page.fs.js","webpack:///./src/pages/CustomerList.fs.js","webpack:///./src/pages/CustomerCreate.fs.js","webpack:///./src/pages/CustomerEdit.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/DateOffset.js","webpack:///./src/fable_modules/fable-library.3.7.17/TimeSpan.js","webpack:///../DesignSystems/Utils.fs.js","webpack:///./src/fable_modules/Feliz.1.68.0/Colors.fs.js","webpack:///../DesignSystems/FilterUtils.fs.js","webpack:///../DesignSystems/dossier/DossierFilter.fs.js","webpack:///../shared/Auth0Constants.fs.js","webpack:///../DesignSystems/quote/QuoteInvoiceDetails.fs.js","webpack:///./src/fable_modules/FSharpPlus.1.4.0/Internals.fs.js","webpack:///../DesignSystems/CommentEditor.fs.js","webpack:///./src/fable_modules/FSharpPlus.1.4.0/Extensions/List.fs.js","webpack:///./src/fable_modules/FSharpPlus.1.4.0/Extensions/Seq.fs.js","webpack:///../DesignSystems/dossier/DossierDetails.fs.js","webpack:///./src/pages/CustomerDetail.fs.js","webpack:///./src/DownloadFile.fs.js","webpack:///./src/pages/DossierList.fs.js","webpack:///./src/fable_modules/Fable.Remoting.Client.7.25.0/Extensions.fs.js","webpack:///../shared/Validators.fs.js","webpack:///../DesignSystems/partner/PartnerUtils.fs.js","webpack:///../DesignSystems/InspectionLocation.fs.js","webpack:///../DesignSystems/dossier/DossierCreate.fs.js","webpack:///./src/pages/DossierCreate.fs.js","webpack:///../DesignSystems/dossier/DossierEdit.fs.js","webpack:///./src/pages/DossierEdit.fs.js","webpack:///../DesignSystems/dossier/DossierDetailsSyndic.fs.js","webpack:///./src/pages/DossierDetail.fs.js","webpack:///./src/pages/Compensations.fs.js","webpack:///../DesignSystems/quote/QuoteFilter.fs.js","webpack:///./src/pages/Quotes.fs.js","webpack:///../DesignSystems/QuoteFiles.fs.js","webpack:///../DesignSystems/quote/QuoteDetailsSyndic.fs.js","webpack:///../DesignSystems/quote/QuoteDetails.fs.js","webpack:///./src/pages/QuoteDetail.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Overflow.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Overflow.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Visibility.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Visibility.fs.js","webpack:///../Styles/SignaturePageStyles.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Selector.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Selector.fs.js","webpack:///./src/bindings/SignatureCanvas.fs.js","webpack:///./src/pages/Settings.fs.js","webpack:///./src/fable_modules/Fable.Remoting.Client.7.25.0/Types.fs.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/TypeInfo.fs.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/TypeInfo.Converter.fs.js","webpack:///./src/fable_modules/Fable.Remoting.Client.7.25.0/Http.fs.js","webpack:///./src/fable_modules/Fable.Parsimmon.4.0.0/Parsimmon.js","webpack:///./src/fable_modules/Fable.Parsimmon.4.0.0/Parsimmon.fs.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/Json.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/Map.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/Parser.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/BigInt/n.js","webpack:///./src/fable_modules/fable-library.3.7.17/BigInt/z.js","webpack:///./src/fable_modules/fable-library.3.7.17/BigInt.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/SimpleJson.fs.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/TypeCheck.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/Uri.js","webpack:///./src/fable_modules/fable-library.3.7.17/DateOnly.js","webpack:///./src/fable_modules/fable-library.3.7.17/TimeOnly.js","webpack:///./src/fable_modules/fable-library.3.7.17/BitConverter.js","webpack:///./src/fable_modules/fable-library.3.7.17/MutableSet.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/Json.Converter.fs.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/isBrowser.js","webpack:///./src/fable_modules/Fable.SimpleJson.3.24.0/quote.js","webpack:///./src/fable_modules/Fable.Remoting.Client.7.25.0/Proxy.fs.js","webpack:///./src/fable_modules/Fable.Remoting.Client.7.25.0/Remoting.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/TimingFunction.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Animation.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/Transition.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/Transition.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/Types/BoxShadow.fs.js","webpack:///./src/fable_modules/Fss-lib.Core.1.0.4/css/BoxShadow.fs.js","webpack:///./src/Img.fs.js","webpack:///./src/components/PriceListModal.fs.js","webpack:///./src/components/AppBar.fs.js","webpack:///./src/pages/Login.fs.js","webpack:///./src/Routing.fs.js","webpack:///./src/Main.fs.js","webpack:///./src/Root.fs.js","webpack:///./src/Server.fs.js","webpack:///../shared/Api.fs.js","webpack:///../shared/Domain.fs.js","webpack:///../shared/DomainHelpers.fs.js","webpack:///../shared/Paging.fs.js","webpack:///./src/fable_modules/fable-library.3.7.17/Array.js","webpack:///./src/fable_modules/fable-library.3.7.17/Choice.js","webpack:///./src/fable_modules/fable-library.3.7.17/Date.js","webpack:///./src/fable_modules/fable-library.3.7.17/lib/big.js","webpack:///./src/fable_modules/fable-library.3.7.17/Decimal.js","webpack:///./src/fable_modules/fable-library.3.7.17/Double.js","webpack:///./src/fable_modules/fable-library.3.7.17/Int32.js","webpack:///./src/fable_modules/fable-library.3.7.17/Global.js","webpack:///./src/fable_modules/fable-library.3.7.17/List.js","webpack:///./src/fable_modules/fable-library.3.7.17/lib/long.js","webpack:///./src/fable_modules/fable-library.3.7.17/Long.js","webpack:///./src/fable_modules/fable-library.3.7.17/Numeric.js","webpack:///./src/fable_modules/fable-library.3.7.17/Option.js","webpack:///./src/fable_modules/fable-library.3.7.17/Reflection.js","webpack:///./src/fable_modules/fable-library.3.7.17/RegExp.js","webpack:///./src/fable_modules/fable-library.3.7.17/String.js","webpack:///./src/fable_modules/fable-library.3.7.17/Types.js","webpack:///./src/fable_modules/fable-library.3.7.17/Util.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["import { substring } from \"../fable-library.3.7.17/String.js\";\nimport { disposeSafe, getEnumerator } from \"../fable-library.3.7.17/Util.js\";\n\nexport function fromFlatEntries(kvs) {\n const setProperty = (target_mut, key_mut, value_mut) => {\n setProperty:\n while (true) {\n const target = target_mut, key = key_mut, value = value_mut;\n const matchValue = key.indexOf(\".\") | 0;\n if (matchValue === -1) {\n target[key] = value;\n }\n else {\n const sepIdx = matchValue | 0;\n const topKey = substring(key, 0, sepIdx);\n const nestedKey = substring(key, sepIdx + 1);\n if (target[topKey] === undefined) {\n target[topKey] = {};\n }\n target_mut = target[topKey];\n key_mut = nestedKey;\n value_mut = value;\n continue setProperty;\n }\n break;\n }\n };\n const target_1 = {};\n const enumerator = getEnumerator(kvs);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n setProperty(target_1, forLoopVar[0], forLoopVar[1]);\n }\n }\n finally {\n disposeSafe(enumerator);\n }\n return target_1;\n}\n\n","import { createElement } from \"react\";\nimport { fromFlatEntries } from \"./Flatten.fs.js\";\n\nexport const MuiHelpers_reactElement = createElement;\n\nexport const MuiHelpers_reactElementTag = createElement;\n\nexport function MuiHelpers_createElement(el, properties) {\n return MuiHelpers_reactElement(el, fromFlatEntries(properties));\n}\n\nexport function MuiHelpers_createElementTag(tag, properties) {\n return MuiHelpers_reactElementTag(tag, fromFlatEntries(properties));\n}\n\n","import { useTheme, createMuiTheme, responsiveFontSizes, makeStyles } from \"@material-ui/core/styles\";\nimport { class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { createObj } from \"../fable-library.3.7.17/Util.js\";\n\nexport const StyleImports_makeStyles_get = makeStyles;\n\nexport const StyleImports_makeStyles_getWithOpts = makeStyles;\n\nexport const StyleImports_makeStyles_obj = makeStyles;\n\nexport const StyleImports_makeStyles_objWithOpts = makeStyles;\n\nexport const StyleImports_responsiveFontSizes = responsiveFontSizes;\n\nexport const StyleImports_responsiveFontSizes_opts = responsiveFontSizes;\n\nexport const StyleImports_createMuiTheme_argsArray = createMuiTheme;\n\nexport const StyleImports_createMuiTheme_unit = createMuiTheme;\n\nexport const StyleImports_useTheme = useTheme;\n\nexport class StyleCreator$1 {\n constructor() {\n }\n}\n\nexport function StyleCreator$1$reflection(gen0) {\n return class_type(\"Feliz.MaterialUI.StyleCreator`1\", [gen0], StyleCreator$1);\n}\n\nexport function StyleCreator$1_$ctor() {\n return new StyleCreator$1();\n}\n\nexport function StyleCreator$1__create_4EAC9E1E(_, styles) {\n return createObj(styles);\n}\n\nexport function StyleCreator$1__create_A7D96BD(_, getStyles) {\n return (arg_1) => createObj(getStyles(arg_1));\n}\n\n","import { StyleImports_createMuiTheme_argsArray } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Styles.fs.js\";\nimport { fromFlatEntries } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Flatten.fs.js\";\nimport { ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\n\nexport const main = (() => {\n const merge = [];\n return StyleImports_createMuiTheme_argsArray(fromFlatEntries(ofArray([[\"palette.primary.main\", \"#808080\"], [\"palette.secondary.main\", \"#F18333\"], [\"overrides.MuiButton.containedSecondary\", {\n color: \"#FFFFFF\",\n }], [\"typography.fontFamily\", \"\\u0027Lufga Regular\\u0027,sans-serif,sans-serif\"]])), ...merge);\n})();\n\n","import { disposeSafe, structuralHash, equals } from \"./Util.js\";\r\nimport { HashIdentity_Structural, ComparisonIdentity_Structural } from \"./FSharp.Collections.js\";\r\nimport { StringBuilder__Append_Z721C83C5 } from \"./System.Text.js\";\r\n\r\nexport const LanguagePrimitives_GenericEqualityComparer = {\r\n [\"System.Collections.IEqualityComparer.Equals541DA560\"](x, y) {\r\n return equals(x, y);\r\n },\r\n [\"System.Collections.IEqualityComparer.GetHashCode4E60E31B\"](x_1) {\r\n return structuralHash(x_1);\r\n },\r\n};\r\n\r\nexport const LanguagePrimitives_GenericEqualityERComparer = {\r\n [\"System.Collections.IEqualityComparer.Equals541DA560\"](x, y) {\r\n return equals(x, y);\r\n },\r\n [\"System.Collections.IEqualityComparer.GetHashCode4E60E31B\"](x_1) {\r\n return structuralHash(x_1);\r\n },\r\n};\r\n\r\nexport function LanguagePrimitives_FastGenericComparer() {\r\n return ComparisonIdentity_Structural();\r\n}\r\n\r\nexport function LanguagePrimitives_FastGenericComparerFromTable() {\r\n return ComparisonIdentity_Structural();\r\n}\r\n\r\nexport function LanguagePrimitives_FastGenericEqualityComparer() {\r\n return HashIdentity_Structural();\r\n}\r\n\r\nexport function LanguagePrimitives_FastGenericEqualityComparerFromTable() {\r\n return HashIdentity_Structural();\r\n}\r\n\r\nexport function Operators_Failure(message) {\r\n return new Error(message);\r\n}\r\n\r\nexport function Operators_FailurePattern(exn) {\r\n return exn.message;\r\n}\r\n\r\nexport function Operators_NullArg(x) {\r\n throw (new Error(x));\r\n}\r\n\r\nexport function Operators_Using(resource, action) {\r\n try {\r\n return action(resource);\r\n }\r\n finally {\r\n if (equals(resource, null)) {\r\n }\r\n else {\r\n disposeSafe(resource);\r\n }\r\n }\r\n}\r\n\r\nexport function Operators_Lock(_lockObj, action) {\r\n return action();\r\n}\r\n\r\nexport function ExtraTopLevelOperators_LazyPattern(input) {\r\n return input.Value;\r\n}\r\n\r\nexport function PrintfModule_PrintFormatToStringBuilderThen(continuation, builder, format) {\r\n return format.cont((s) => {\r\n StringBuilder__Append_Z721C83C5(builder, s);\r\n return continuation();\r\n });\r\n}\r\n\r\nexport function PrintfModule_PrintFormatToStringBuilder(builder, format) {\r\n return PrintfModule_PrintFormatToStringBuilderThen(() => {\r\n }, builder, format);\r\n}\r\n\r\n","import { compare, physicalHash, equals, structuralHash } from \"./Util.js\";\r\n\r\nexport function HashIdentity_FromFunctions(hash, eq) {\r\n return {\r\n Equals(x, y) {\r\n return eq(x, y);\r\n },\r\n GetHashCode(x_1) {\r\n return hash(x_1);\r\n },\r\n };\r\n}\r\n\r\nexport function HashIdentity_Structural() {\r\n return HashIdentity_FromFunctions(structuralHash, equals);\r\n}\r\n\r\nexport function HashIdentity_Reference() {\r\n return HashIdentity_FromFunctions(physicalHash, (e, e_1) => (e === e_1));\r\n}\r\n\r\nexport function ComparisonIdentity_FromFunction(comparer) {\r\n return {\r\n Compare(x, y) {\r\n return comparer(x, y);\r\n },\r\n };\r\n}\r\n\r\nexport function ComparisonIdentity_Structural() {\r\n return ComparisonIdentity_FromFunction(compare);\r\n}\r\n\r\n","import { clear, equals, isArrayLike, isDisposable, toIterator, disposeSafe, getEnumerator } from \"./Util.js\";\r\nimport { toString } from \"./Types.js\";\r\nimport { class_type } from \"./Reflection.js\";\r\nimport { some, value as value_1 } from \"./Option.js\";\r\nimport { Operators_Lock, Operators_NullArg } from \"./FSharp.Core.js\";\r\nimport { chunkBySize as chunkBySize_1, permute as permute_1, transpose as transpose_1, windowed as windowed_1, splitInto as splitInto_1, map as map_1, pairwise as pairwise_1, scanBack as scanBack_1, reverse as reverse_1, mapFoldBack as mapFoldBack_1, mapFold as mapFold_1, tryItem as tryItem_1, tryHead as tryHead_1, foldBack2 as foldBack2_1, foldBack as foldBack_1, tryFindIndexBack as tryFindIndexBack_1, tryFindBack as tryFindBack_1, singleton as singleton_1 } from \"./Array.js\";\r\nimport { length as length_1, tryItem as tryItem_2, isEmpty as isEmpty_1, tryHead as tryHead_2, ofSeq as ofSeq_1, ofArray as ofArray_1, toArray as toArray_1, FSharpList } from \"./List.js\";\r\nimport { SR_indexOutOfBounds } from \"./Global.js\";\r\n\r\nexport const SR_enumerationAlreadyFinished = \"Enumeration already finished.\";\r\n\r\nexport const SR_enumerationNotStarted = \"Enumeration has not started. Call MoveNext.\";\r\n\r\nexport const SR_inputSequenceEmpty = \"The input sequence was empty.\";\r\n\r\nexport const SR_inputSequenceTooLong = \"The input sequence contains more than one element.\";\r\n\r\nexport const SR_keyNotFoundAlt = \"An index satisfying the predicate was not found in the collection.\";\r\n\r\nexport const SR_notEnoughElements = \"The input sequence has an insufficient number of elements.\";\r\n\r\nexport const SR_resetNotSupported = \"Reset is not supported on this enumerator.\";\r\n\r\nexport function Enumerator_noReset() {\r\n throw (new Error(SR_resetNotSupported));\r\n}\r\n\r\nexport function Enumerator_notStarted() {\r\n throw (new Error(SR_enumerationNotStarted));\r\n}\r\n\r\nexport function Enumerator_alreadyFinished() {\r\n throw (new Error(SR_enumerationAlreadyFinished));\r\n}\r\n\r\nexport class Enumerator_Seq {\r\n constructor(f) {\r\n this.f = f;\r\n }\r\n toString() {\r\n const xs = this;\r\n const maxCount = 4;\r\n let i = 0;\r\n let str = \"seq [\";\r\n const e = getEnumerator(xs);\r\n try {\r\n while ((i < maxCount) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n if (i > 0) {\r\n str = (str + \"; \");\r\n }\r\n str = (str + toString(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()));\r\n i = ((i + 1) | 0);\r\n }\r\n if (i === maxCount) {\r\n str = (str + \"; ...\");\r\n }\r\n return str + \"]\";\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n }\r\n GetEnumerator() {\r\n const x = this;\r\n return x.f();\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const x = this;\r\n return x.f();\r\n }\r\n}\r\n\r\nexport function Enumerator_Seq$reflection(gen0) {\r\n return class_type(\"SeqModule.Enumerator.Seq\", [gen0], Enumerator_Seq);\r\n}\r\n\r\nexport function Enumerator_Seq_$ctor_673A07F2(f) {\r\n return new Enumerator_Seq(f);\r\n}\r\n\r\nexport class Enumerator_FromFunctions$1 {\r\n constructor(current, next, dispose) {\r\n this.current = current;\r\n this.next = next;\r\n this.dispose = dispose;\r\n }\r\n [\"System.Collections.Generic.IEnumerator`1.get_Current\"]() {\r\n const __ = this;\r\n return __.current();\r\n }\r\n [\"System.Collections.IEnumerator.get_Current\"]() {\r\n const __ = this;\r\n return __.current();\r\n }\r\n [\"System.Collections.IEnumerator.MoveNext\"]() {\r\n const __ = this;\r\n return __.next();\r\n }\r\n [\"System.Collections.IEnumerator.Reset\"]() {\r\n Enumerator_noReset();\r\n }\r\n Dispose() {\r\n const __ = this;\r\n __.dispose();\r\n }\r\n}\r\n\r\nexport function Enumerator_FromFunctions$1$reflection(gen0) {\r\n return class_type(\"SeqModule.Enumerator.FromFunctions`1\", [gen0], Enumerator_FromFunctions$1);\r\n}\r\n\r\nexport function Enumerator_FromFunctions$1_$ctor_58C54629(current, next, dispose) {\r\n return new Enumerator_FromFunctions$1(current, next, dispose);\r\n}\r\n\r\nexport function Enumerator_cast(e) {\r\n return Enumerator_FromFunctions$1_$ctor_58C54629(() => e[\"System.Collections.IEnumerator.get_Current\"](), () => e[\"System.Collections.IEnumerator.MoveNext\"](), () => {\r\n if (isDisposable(e)) {\r\n disposeSafe(e);\r\n }\r\n });\r\n}\r\n\r\nexport function Enumerator_concat(sources) {\r\n let outerOpt = void 0;\r\n let innerOpt = void 0;\r\n let started = false;\r\n let finished = false;\r\n let curr = void 0;\r\n const finish = () => {\r\n finished = true;\r\n if (innerOpt != null) {\r\n const inner = innerOpt;\r\n try {\r\n disposeSafe(inner);\r\n }\r\n finally {\r\n innerOpt = (void 0);\r\n }\r\n }\r\n if (outerOpt != null) {\r\n const outer = outerOpt;\r\n try {\r\n disposeSafe(outer);\r\n }\r\n finally {\r\n outerOpt = (void 0);\r\n }\r\n }\r\n };\r\n return Enumerator_FromFunctions$1_$ctor_58C54629(() => {\r\n if (!started) {\r\n Enumerator_notStarted();\r\n }\r\n else if (finished) {\r\n Enumerator_alreadyFinished();\r\n }\r\n if (curr != null) {\r\n return value_1(curr);\r\n }\r\n else {\r\n return Enumerator_alreadyFinished();\r\n }\r\n }, () => {\r\n let copyOfStruct;\r\n if (!started) {\r\n started = true;\r\n }\r\n if (finished) {\r\n return false;\r\n }\r\n else {\r\n let res = void 0;\r\n while (res == null) {\r\n const matchValue = [outerOpt, innerOpt];\r\n if (matchValue[0] != null) {\r\n if (matchValue[1] != null) {\r\n const inner_1 = matchValue[1];\r\n if (inner_1[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n curr = some(inner_1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n res = true;\r\n }\r\n else {\r\n try {\r\n disposeSafe(inner_1);\r\n }\r\n finally {\r\n innerOpt = (void 0);\r\n }\r\n }\r\n }\r\n else {\r\n const outer_1 = matchValue[0];\r\n if (outer_1[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const ie = outer_1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n innerOpt = ((copyOfStruct = ie, getEnumerator(copyOfStruct)));\r\n }\r\n else {\r\n finish();\r\n res = false;\r\n }\r\n }\r\n }\r\n else {\r\n outerOpt = getEnumerator(sources);\r\n }\r\n }\r\n return value_1(res);\r\n }\r\n }, () => {\r\n if (!finished) {\r\n finish();\r\n }\r\n });\r\n}\r\n\r\nexport function Enumerator_enumerateThenFinally(f, e) {\r\n return Enumerator_FromFunctions$1_$ctor_58C54629(() => e[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), () => e[\"System.Collections.IEnumerator.MoveNext\"](), () => {\r\n try {\r\n disposeSafe(e);\r\n }\r\n finally {\r\n f();\r\n }\r\n });\r\n}\r\n\r\nexport function Enumerator_generateWhileSome(openf, compute, closef) {\r\n let started = false;\r\n let curr = void 0;\r\n let state = some(openf());\r\n const dispose = () => {\r\n if (state != null) {\r\n const x_1 = value_1(state);\r\n try {\r\n closef(x_1);\r\n }\r\n finally {\r\n state = (void 0);\r\n }\r\n }\r\n };\r\n const finish = () => {\r\n try {\r\n dispose();\r\n }\r\n finally {\r\n curr = (void 0);\r\n }\r\n };\r\n return Enumerator_FromFunctions$1_$ctor_58C54629(() => {\r\n if (!started) {\r\n Enumerator_notStarted();\r\n }\r\n if (curr != null) {\r\n return value_1(curr);\r\n }\r\n else {\r\n return Enumerator_alreadyFinished();\r\n }\r\n }, () => {\r\n if (!started) {\r\n started = true;\r\n }\r\n if (state != null) {\r\n const s = value_1(state);\r\n let matchValue_1;\r\n try {\r\n matchValue_1 = compute(s);\r\n }\r\n catch (matchValue) {\r\n finish();\r\n throw matchValue;\r\n }\r\n if (matchValue_1 != null) {\r\n curr = matchValue_1;\r\n return true;\r\n }\r\n else {\r\n finish();\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }, dispose);\r\n}\r\n\r\nexport function Enumerator_unfold(f, state) {\r\n let curr = void 0;\r\n let acc = state;\r\n return Enumerator_FromFunctions$1_$ctor_58C54629(() => {\r\n if (curr != null) {\r\n const x = curr[0];\r\n const st = curr[1];\r\n return x;\r\n }\r\n else {\r\n return Enumerator_notStarted();\r\n }\r\n }, () => {\r\n curr = f(acc);\r\n if (curr != null) {\r\n const x_1 = curr[0];\r\n const st_1 = curr[1];\r\n acc = st_1;\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }, () => {\r\n });\r\n}\r\n\r\nexport function indexNotFound() {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n}\r\n\r\nexport function checkNonNull(argName, arg) {\r\n if (arg == null) {\r\n Operators_NullArg(argName);\r\n }\r\n}\r\n\r\nexport function mkSeq(f) {\r\n return Enumerator_Seq_$ctor_673A07F2(f);\r\n}\r\n\r\nexport function ofSeq(xs) {\r\n checkNonNull(\"source\", xs);\r\n return getEnumerator(xs);\r\n}\r\n\r\nexport function delay(generator) {\r\n return mkSeq(() => getEnumerator(generator()));\r\n}\r\n\r\nexport function concat(sources) {\r\n return mkSeq(() => Enumerator_concat(sources));\r\n}\r\n\r\nexport function unfold(generator, state) {\r\n return mkSeq(() => Enumerator_unfold(generator, state));\r\n}\r\n\r\nexport function empty() {\r\n return delay(() => (new Array(0)));\r\n}\r\n\r\nexport function singleton(x) {\r\n return delay(() => singleton_1(x));\r\n}\r\n\r\nexport function ofArray(arr) {\r\n return arr;\r\n}\r\n\r\nexport function toArray(xs) {\r\n if (xs instanceof FSharpList) {\r\n return toArray_1(xs);\r\n }\r\n else {\r\n return Array.from(xs);\r\n }\r\n}\r\n\r\nexport function ofList(xs) {\r\n return xs;\r\n}\r\n\r\nexport function toList(xs) {\r\n if (isArrayLike(xs)) {\r\n return ofArray_1(xs);\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return xs;\r\n }\r\n else {\r\n return ofSeq_1(xs);\r\n }\r\n}\r\n\r\nexport function generate(create, compute, dispose) {\r\n return mkSeq(() => Enumerator_generateWhileSome(create, compute, dispose));\r\n}\r\n\r\nexport function generateIndexed(create, compute, dispose) {\r\n return mkSeq(() => {\r\n let i = -1;\r\n return Enumerator_generateWhileSome(create, (x) => {\r\n i = ((i + 1) | 0);\r\n return compute(i, x);\r\n }, dispose);\r\n });\r\n}\r\n\r\nexport function append(xs, ys) {\r\n return concat([xs, ys]);\r\n}\r\n\r\nexport function cast(xs) {\r\n return mkSeq(() => {\r\n checkNonNull(\"source\", xs);\r\n return Enumerator_cast(getEnumerator(xs));\r\n });\r\n}\r\n\r\nexport function choose(chooser, xs) {\r\n return generate(() => ofSeq(xs), (e) => {\r\n let curr = void 0;\r\n while ((curr == null) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n curr = chooser(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return curr;\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function compareWith(comparer, xs, ys) {\r\n const e1 = ofSeq(xs);\r\n try {\r\n const e2 = ofSeq(ys);\r\n try {\r\n let c = 0;\r\n let b1 = e1[\"System.Collections.IEnumerator.MoveNext\"]();\r\n let b2 = e2[\"System.Collections.IEnumerator.MoveNext\"]();\r\n while (((c === 0) && b1) && b2) {\r\n c = (comparer(e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) | 0);\r\n if (c === 0) {\r\n b1 = e1[\"System.Collections.IEnumerator.MoveNext\"]();\r\n b2 = e2[\"System.Collections.IEnumerator.MoveNext\"]();\r\n }\r\n }\r\n return ((c !== 0) ? c : (b1 ? 1 : (b2 ? -1 : 0))) | 0;\r\n }\r\n finally {\r\n disposeSafe(e2);\r\n }\r\n }\r\n finally {\r\n disposeSafe(e1);\r\n }\r\n}\r\n\r\nexport function contains(value, xs, comparer) {\r\n const e = ofSeq(xs);\r\n try {\r\n let found = false;\r\n while ((!found) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n found = comparer.Equals(value, e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return found;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function enumerateFromFunctions(create, moveNext, current) {\r\n return generate(create, (x) => (moveNext(x) ? some(current(x)) : (void 0)), (x_1) => {\r\n const matchValue = x_1;\r\n if (isDisposable(matchValue)) {\r\n disposeSafe(matchValue);\r\n }\r\n });\r\n}\r\n\r\nexport function enumerateThenFinally(source, compensation) {\r\n const compensation_1 = compensation;\r\n return mkSeq(() => {\r\n try {\r\n return Enumerator_enumerateThenFinally(compensation_1, ofSeq(source));\r\n }\r\n catch (matchValue) {\r\n compensation_1();\r\n throw matchValue;\r\n }\r\n });\r\n}\r\n\r\nexport function enumerateUsing(resource, source) {\r\n const compensation = () => {\r\n if (equals(resource, null)) {\r\n }\r\n else {\r\n let copyOfStruct = resource;\r\n disposeSafe(copyOfStruct);\r\n }\r\n };\r\n return mkSeq(() => {\r\n try {\r\n return Enumerator_enumerateThenFinally(compensation, ofSeq(source(resource)));\r\n }\r\n catch (matchValue_1) {\r\n compensation();\r\n throw matchValue_1;\r\n }\r\n });\r\n}\r\n\r\nexport function enumerateWhile(guard, xs) {\r\n return concat(unfold((i) => (guard() ? [xs, i + 1] : (void 0)), 0));\r\n}\r\n\r\nexport function filter(f, xs) {\r\n return choose((x) => {\r\n if (f(x)) {\r\n return some(x);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }, xs);\r\n}\r\n\r\nexport function exists(predicate, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n let found = false;\r\n while ((!found) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n found = predicate(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return found;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function exists2(predicate, xs, ys) {\r\n const e1 = ofSeq(xs);\r\n try {\r\n const e2 = ofSeq(ys);\r\n try {\r\n let found = false;\r\n while (((!found) && e1[\"System.Collections.IEnumerator.MoveNext\"]()) && e2[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n found = predicate(e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return found;\r\n }\r\n finally {\r\n disposeSafe(e2);\r\n }\r\n }\r\n finally {\r\n disposeSafe(e1);\r\n }\r\n}\r\n\r\nexport function exactlyOne(xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const v = e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n throw (new Error((SR_inputSequenceTooLong + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n else {\r\n return v;\r\n }\r\n }\r\n else {\r\n throw (new Error((SR_inputSequenceEmpty + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function tryExactlyOne(xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const v = e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n return e[\"System.Collections.IEnumerator.MoveNext\"]() ? (void 0) : some(v);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function tryFind(predicate, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n let res = void 0;\r\n while ((res == null) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const c = e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n if (predicate(c)) {\r\n res = some(c);\r\n }\r\n }\r\n return res;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function find(predicate, xs) {\r\n const matchValue = tryFind(predicate, xs);\r\n if (matchValue == null) {\r\n return indexNotFound();\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFindBack(predicate, xs) {\r\n return tryFindBack_1(predicate, toArray(xs));\r\n}\r\n\r\nexport function findBack(predicate, xs) {\r\n const matchValue = tryFindBack(predicate, xs);\r\n if (matchValue == null) {\r\n return indexNotFound();\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFindIndex(predicate, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n if (predicate(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) {\r\n return i;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n continue loop;\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0);\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function findIndex(predicate, xs) {\r\n const matchValue = tryFindIndex(predicate, xs);\r\n if (matchValue == null) {\r\n return indexNotFound() | 0;\r\n }\r\n else {\r\n return matchValue | 0;\r\n }\r\n}\r\n\r\nexport function tryFindIndexBack(predicate, xs) {\r\n return tryFindIndexBack_1(predicate, toArray(xs));\r\n}\r\n\r\nexport function findIndexBack(predicate, xs) {\r\n const matchValue = tryFindIndexBack(predicate, xs);\r\n if (matchValue == null) {\r\n return indexNotFound() | 0;\r\n }\r\n else {\r\n return matchValue | 0;\r\n }\r\n}\r\n\r\nexport function fold(folder, state, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n let acc = state;\r\n while (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n acc = folder(acc, e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return acc;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function foldBack(folder, xs, state) {\r\n return foldBack_1(folder, toArray(xs), state);\r\n}\r\n\r\nexport function fold2(folder, state, xs, ys) {\r\n const e1 = ofSeq(xs);\r\n try {\r\n const e2 = ofSeq(ys);\r\n try {\r\n let acc = state;\r\n while (e1[\"System.Collections.IEnumerator.MoveNext\"]() && e2[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n acc = folder(acc, e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return acc;\r\n }\r\n finally {\r\n disposeSafe(e2);\r\n }\r\n }\r\n finally {\r\n disposeSafe(e1);\r\n }\r\n}\r\n\r\nexport function foldBack2(folder, xs, ys, state) {\r\n return foldBack2_1(folder, toArray(xs), toArray(ys), state);\r\n}\r\n\r\nexport function forAll(predicate, xs) {\r\n return !exists((x) => (!predicate(x)), xs);\r\n}\r\n\r\nexport function forAll2(predicate, xs, ys) {\r\n return !exists2((x, y) => (!predicate(x, y)), xs, ys);\r\n}\r\n\r\nexport function tryHead(xs) {\r\n if (isArrayLike(xs)) {\r\n return tryHead_1(xs);\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return tryHead_2(xs);\r\n }\r\n else {\r\n const e = ofSeq(xs);\r\n try {\r\n return e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) : (void 0);\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n }\r\n}\r\n\r\nexport function head(xs) {\r\n const matchValue = tryHead(xs);\r\n if (matchValue == null) {\r\n throw (new Error((SR_inputSequenceEmpty + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function initialize(count, f) {\r\n return unfold((i) => ((i < count) ? [f(i), i + 1] : (void 0)), 0);\r\n}\r\n\r\nexport function initializeInfinite(f) {\r\n return initialize(2147483647, f);\r\n}\r\n\r\nexport function isEmpty(xs) {\r\n if (isArrayLike(xs)) {\r\n return xs.length === 0;\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return isEmpty_1(xs);\r\n }\r\n else {\r\n const e = ofSeq(xs);\r\n try {\r\n return !e[\"System.Collections.IEnumerator.MoveNext\"]();\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n }\r\n}\r\n\r\nexport function tryItem(index, xs) {\r\n if (isArrayLike(xs)) {\r\n return tryItem_1(index, xs);\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return tryItem_2(index, xs);\r\n }\r\n else {\r\n const e = ofSeq(xs);\r\n try {\r\n const loop = (index_1_mut) => {\r\n loop:\r\n while (true) {\r\n const index_1 = index_1_mut;\r\n if (!e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return void 0;\r\n }\r\n else if (index_1 === 0) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n index_1_mut = (index_1 - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(index);\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n }\r\n}\r\n\r\nexport function item(index, xs) {\r\n const matchValue = tryItem(index, xs);\r\n if (matchValue == null) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function iterate(action, xs) {\r\n fold((unitVar, x) => {\r\n action(x);\r\n }, void 0, xs);\r\n}\r\n\r\nexport function iterate2(action, xs, ys) {\r\n fold2((unitVar, x, y) => {\r\n action(x, y);\r\n }, void 0, xs, ys);\r\n}\r\n\r\nexport function iterateIndexed(action, xs) {\r\n fold((i, x) => {\r\n action(i, x);\r\n return (i + 1) | 0;\r\n }, 0, xs);\r\n}\r\n\r\nexport function iterateIndexed2(action, xs, ys) {\r\n fold2((i, x, y) => {\r\n action(i, x, y);\r\n return (i + 1) | 0;\r\n }, 0, xs, ys);\r\n}\r\n\r\nexport function tryLast(xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n const loop = (acc_mut) => {\r\n loop:\r\n while (true) {\r\n const acc = acc_mut;\r\n if (!e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return acc;\r\n }\r\n else {\r\n acc_mut = e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(loop(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0);\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function last(xs) {\r\n const matchValue = tryLast(xs);\r\n if (matchValue == null) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function length(xs) {\r\n if (isArrayLike(xs)) {\r\n return xs.length | 0;\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return length_1(xs) | 0;\r\n }\r\n else {\r\n const e = ofSeq(xs);\r\n try {\r\n let count = 0;\r\n while (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n count = ((count + 1) | 0);\r\n }\r\n return count | 0;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n }\r\n}\r\n\r\nexport function map(mapping, xs) {\r\n return generate(() => ofSeq(xs), (e) => (e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(mapping(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0)), (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function mapIndexed(mapping, xs) {\r\n return generateIndexed(() => ofSeq(xs), (i, e) => (e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(mapping(i, e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0)), (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function indexed(xs) {\r\n return mapIndexed((i, x) => [i, x], xs);\r\n}\r\n\r\nexport function map2(mapping, xs, ys) {\r\n return generate(() => [ofSeq(xs), ofSeq(ys)], (tupledArg) => {\r\n const e1 = tupledArg[0];\r\n const e2 = tupledArg[1];\r\n return (e1[\"System.Collections.IEnumerator.MoveNext\"]() && e2[\"System.Collections.IEnumerator.MoveNext\"]()) ? some(mapping(e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0);\r\n }, (tupledArg_1) => {\r\n try {\r\n disposeSafe(tupledArg_1[0]);\r\n }\r\n finally {\r\n disposeSafe(tupledArg_1[1]);\r\n }\r\n });\r\n}\r\n\r\nexport function mapIndexed2(mapping, xs, ys) {\r\n return generateIndexed(() => [ofSeq(xs), ofSeq(ys)], (i, tupledArg) => {\r\n const e1 = tupledArg[0];\r\n const e2 = tupledArg[1];\r\n return (e1[\"System.Collections.IEnumerator.MoveNext\"]() && e2[\"System.Collections.IEnumerator.MoveNext\"]()) ? some(mapping(i, e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0);\r\n }, (tupledArg_1) => {\r\n try {\r\n disposeSafe(tupledArg_1[0]);\r\n }\r\n finally {\r\n disposeSafe(tupledArg_1[1]);\r\n }\r\n });\r\n}\r\n\r\nexport function map3(mapping, xs, ys, zs) {\r\n return generate(() => [ofSeq(xs), ofSeq(ys), ofSeq(zs)], (tupledArg) => {\r\n const e1 = tupledArg[0];\r\n const e2 = tupledArg[1];\r\n const e3 = tupledArg[2];\r\n return ((e1[\"System.Collections.IEnumerator.MoveNext\"]() && e2[\"System.Collections.IEnumerator.MoveNext\"]()) && e3[\"System.Collections.IEnumerator.MoveNext\"]()) ? some(mapping(e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), e3[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) : (void 0);\r\n }, (tupledArg_1) => {\r\n try {\r\n disposeSafe(tupledArg_1[0]);\r\n }\r\n finally {\r\n try {\r\n disposeSafe(tupledArg_1[1]);\r\n }\r\n finally {\r\n disposeSafe(tupledArg_1[2]);\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport function readOnly(xs) {\r\n checkNonNull(\"source\", xs);\r\n return map((x) => x, xs);\r\n}\r\n\r\nexport class CachedSeq$1 {\r\n constructor(cleanup, res) {\r\n this.cleanup = cleanup;\r\n this.res = res;\r\n }\r\n Dispose() {\r\n const _ = this;\r\n _.cleanup();\r\n }\r\n GetEnumerator() {\r\n const _ = this;\r\n return getEnumerator(_.res);\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const _ = this;\r\n return getEnumerator(_.res);\r\n }\r\n}\r\n\r\nexport function CachedSeq$1$reflection(gen0) {\r\n return class_type(\"SeqModule.CachedSeq`1\", [gen0], CachedSeq$1);\r\n}\r\n\r\nexport function CachedSeq$1_$ctor_Z7A8347D4(cleanup, res) {\r\n return new CachedSeq$1(cleanup, res);\r\n}\r\n\r\nexport function CachedSeq$1__Clear(_) {\r\n _.cleanup();\r\n}\r\n\r\nexport function cache(source) {\r\n checkNonNull(\"source\", source);\r\n const prefix = [];\r\n let enumeratorR = void 0;\r\n return CachedSeq$1_$ctor_Z7A8347D4(() => {\r\n Operators_Lock(prefix, () => {\r\n clear(prefix);\r\n let pattern_matching_result, e;\r\n if (enumeratorR != null) {\r\n if (value_1(enumeratorR) != null) {\r\n pattern_matching_result = 0;\r\n e = value_1(enumeratorR);\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n disposeSafe(e);\r\n break;\r\n }\r\n }\r\n enumeratorR = (void 0);\r\n });\r\n }, unfold((i_1) => Operators_Lock(prefix, () => {\r\n if (i_1 < prefix.length) {\r\n return [prefix[i_1], i_1 + 1];\r\n }\r\n else {\r\n if (i_1 >= prefix.length) {\r\n let optEnumerator_2;\r\n if (enumeratorR != null) {\r\n optEnumerator_2 = value_1(enumeratorR);\r\n }\r\n else {\r\n const optEnumerator = getEnumerator(source);\r\n enumeratorR = some(optEnumerator);\r\n optEnumerator_2 = optEnumerator;\r\n }\r\n if (optEnumerator_2 == null) {\r\n }\r\n else {\r\n const enumerator = optEnumerator_2;\r\n if (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n void (prefix.push(enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()));\r\n }\r\n else {\r\n disposeSafe(enumerator);\r\n enumeratorR = some(void 0);\r\n }\r\n }\r\n }\r\n return (i_1 < prefix.length) ? [prefix[i_1], i_1 + 1] : (void 0);\r\n }\r\n }), 0));\r\n}\r\n\r\nexport function allPairs(xs, ys) {\r\n const ysCache = cache(ys);\r\n return delay(() => concat(map((x) => map((y) => [x, y], ysCache), xs)));\r\n}\r\n\r\nexport function mapFold(mapping, state, xs) {\r\n const patternInput = mapFold_1(mapping, state, toArray(xs));\r\n return [readOnly(patternInput[0]), patternInput[1]];\r\n}\r\n\r\nexport function mapFoldBack(mapping, xs, state) {\r\n const patternInput = mapFoldBack_1(mapping, toArray(xs), state);\r\n return [readOnly(patternInput[0]), patternInput[1]];\r\n}\r\n\r\nexport function tryPick(chooser, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n let res = void 0;\r\n while ((res == null) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n res = chooser(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n return res;\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function pick(chooser, xs) {\r\n const matchValue = tryPick(chooser, xs);\r\n if (matchValue == null) {\r\n return indexNotFound();\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function reduce(folder, xs) {\r\n const e = ofSeq(xs);\r\n try {\r\n const loop = (acc_mut) => {\r\n loop:\r\n while (true) {\r\n const acc = acc_mut;\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n acc_mut = folder(acc, e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n continue loop;\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n };\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return loop(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n throw (new Error(SR_inputSequenceEmpty));\r\n }\r\n }\r\n finally {\r\n disposeSafe(e);\r\n }\r\n}\r\n\r\nexport function reduceBack(folder, xs) {\r\n const arr = toArray(xs);\r\n if (arr.length > 0) {\r\n return arr.reduceRight(folder);\r\n }\r\n else {\r\n throw (new Error(SR_inputSequenceEmpty));\r\n }\r\n}\r\n\r\nexport function replicate(n, x) {\r\n return initialize(n, (_arg) => x);\r\n}\r\n\r\nexport function reverse(xs) {\r\n return delay(() => ofArray(reverse_1(toArray(xs))));\r\n}\r\n\r\nexport function scan(folder, state, xs) {\r\n return delay(() => {\r\n let acc = state;\r\n return concat([singleton(state), map((x) => {\r\n acc = folder(acc, x);\r\n return acc;\r\n }, xs)]);\r\n });\r\n}\r\n\r\nexport function scanBack(folder, xs, state) {\r\n return delay(() => ofArray(scanBack_1(folder, toArray(xs), state)));\r\n}\r\n\r\nexport function skip(count, source) {\r\n return mkSeq(() => {\r\n const e = ofSeq(source);\r\n try {\r\n for (let _ = 1; _ <= count; _++) {\r\n if (!e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n }\r\n return Enumerator_enumerateThenFinally(() => {\r\n }, e);\r\n }\r\n catch (matchValue) {\r\n disposeSafe(e);\r\n throw matchValue;\r\n }\r\n });\r\n}\r\n\r\nexport function skipWhile(predicate, xs) {\r\n return delay(() => {\r\n let skipped = true;\r\n return filter((x) => {\r\n if (skipped) {\r\n skipped = predicate(x);\r\n }\r\n return !skipped;\r\n }, xs);\r\n });\r\n}\r\n\r\nexport function tail(xs) {\r\n return skip(1, xs);\r\n}\r\n\r\nexport function take(count, xs) {\r\n return generateIndexed(() => ofSeq(xs), (i, e) => {\r\n if (i < count) {\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function takeWhile(predicate, xs) {\r\n return generate(() => ofSeq(xs), (e) => ((e[\"System.Collections.IEnumerator.MoveNext\"]() && predicate(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]())) ? some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) : (void 0)), (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function truncate(count, xs) {\r\n return generateIndexed(() => ofSeq(xs), (i, e) => (((i < count) && e[\"System.Collections.IEnumerator.MoveNext\"]()) ? some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) : (void 0)), (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function zip(xs, ys) {\r\n return map2((x, y) => [x, y], xs, ys);\r\n}\r\n\r\nexport function zip3(xs, ys, zs) {\r\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\r\n}\r\n\r\nexport function collect(mapping, xs) {\r\n return delay(() => concat(map(mapping, xs)));\r\n}\r\n\r\nexport function where(predicate, xs) {\r\n return filter(predicate, xs);\r\n}\r\n\r\nexport function pairwise(xs) {\r\n return delay(() => ofArray(pairwise_1(toArray(xs))));\r\n}\r\n\r\nexport function splitInto(chunks, xs) {\r\n return delay(() => ofArray(map_1(ofArray, splitInto_1(chunks, toArray(xs)))));\r\n}\r\n\r\nexport function windowed(windowSize, xs) {\r\n return delay(() => ofArray(map_1(ofArray, windowed_1(windowSize, toArray(xs)))));\r\n}\r\n\r\nexport function transpose(xss) {\r\n return delay(() => ofArray(map_1(ofArray, transpose_1(map_1(toArray, toArray(xss))))));\r\n}\r\n\r\nexport function sortWith(comparer, xs) {\r\n return delay(() => {\r\n const arr = toArray(xs);\r\n arr.sort(comparer);\r\n return ofArray(arr);\r\n });\r\n}\r\n\r\nexport function sort(xs, comparer) {\r\n return sortWith((x, y) => comparer.Compare(x, y), xs);\r\n}\r\n\r\nexport function sortBy(projection, xs, comparer) {\r\n return sortWith((x, y) => comparer.Compare(projection(x), projection(y)), xs);\r\n}\r\n\r\nexport function sortDescending(xs, comparer) {\r\n return sortWith((x, y) => (comparer.Compare(x, y) * -1), xs);\r\n}\r\n\r\nexport function sortByDescending(projection, xs, comparer) {\r\n return sortWith((x, y) => (comparer.Compare(projection(x), projection(y)) * -1), xs);\r\n}\r\n\r\nexport function sum(xs, adder) {\r\n return fold((acc, x) => adder.Add(acc, x), adder.GetZero(), xs);\r\n}\r\n\r\nexport function sumBy(f, xs, adder) {\r\n return fold((acc, x) => adder.Add(acc, f(x)), adder.GetZero(), xs);\r\n}\r\n\r\nexport function maxBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function max(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function minBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function min(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function average(xs, averager) {\r\n let count = 0;\r\n const total = fold((acc, x) => {\r\n count = ((count + 1) | 0);\r\n return averager.Add(acc, x);\r\n }, averager.GetZero(), xs);\r\n if (count === 0) {\r\n throw (new Error((SR_inputSequenceEmpty + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n else {\r\n return averager.DivideByInt(total, count);\r\n }\r\n}\r\n\r\nexport function averageBy(f, xs, averager) {\r\n let count = 0;\r\n const total = fold((acc, x) => {\r\n count = ((count + 1) | 0);\r\n return averager.Add(acc, f(x));\r\n }, averager.GetZero(), xs);\r\n if (count === 0) {\r\n throw (new Error((SR_inputSequenceEmpty + \"\\\\nParameter name: \") + \"source\"));\r\n }\r\n else {\r\n return averager.DivideByInt(total, count);\r\n }\r\n}\r\n\r\nexport function permute(f, xs) {\r\n return delay(() => ofArray(permute_1(f, toArray(xs))));\r\n}\r\n\r\nexport function chunkBySize(chunkSize, xs) {\r\n return delay(() => ofArray(map_1(ofArray, chunkBySize_1(chunkSize, toArray(xs)))));\r\n}\r\n\r\nexport function insertAt(index, y, xs) {\r\n let isDone = false;\r\n if (index < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return generateIndexed(() => ofSeq(xs), (i, e) => {\r\n if ((isDone ? true : (i < index)) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else if (i === index) {\r\n isDone = true;\r\n return some(y);\r\n }\r\n else {\r\n if (!isDone) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return void 0;\r\n }\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function insertManyAt(index, ys, xs) {\r\n let status = -1;\r\n if (index < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return generateIndexed(() => [ofSeq(xs), ofSeq(ys)], (i, tupledArg) => {\r\n const e1 = tupledArg[0];\r\n const e2 = tupledArg[1];\r\n if (i === index) {\r\n status = 0;\r\n }\r\n let inserted;\r\n if (status === 0) {\r\n if (e2[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n inserted = some(e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n status = 1;\r\n inserted = (void 0);\r\n }\r\n }\r\n else {\r\n inserted = (void 0);\r\n }\r\n if (inserted == null) {\r\n if (e1[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n if (status < 1) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return void 0;\r\n }\r\n }\r\n else {\r\n return some(value_1(inserted));\r\n }\r\n }, (tupledArg_1) => {\r\n disposeSafe(tupledArg_1[0]);\r\n disposeSafe(tupledArg_1[1]);\r\n });\r\n}\r\n\r\nexport function removeAt(index, xs) {\r\n let isDone = false;\r\n if (index < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return generateIndexed(() => ofSeq(xs), (i, e) => {\r\n if ((isDone ? true : (i < index)) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else if ((i === index) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n isDone = true;\r\n return e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) : (void 0);\r\n }\r\n else {\r\n if (!isDone) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return void 0;\r\n }\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function removeManyAt(index, count, xs) {\r\n if (index < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return generateIndexed(() => ofSeq(xs), (i, e) => {\r\n if (i < index) {\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n }\r\n else {\r\n if (i === index) {\r\n for (let _ = 1; _ <= count; _++) {\r\n if (!e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"count\"));\r\n }\r\n }\r\n }\r\n return e[\"System.Collections.IEnumerator.MoveNext\"]() ? some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()) : (void 0);\r\n }\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\nexport function updateAt(index, y, xs) {\r\n let isDone = false;\r\n if (index < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return generateIndexed(() => ofSeq(xs), (i, e) => {\r\n if ((isDone ? true : (i < index)) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return some(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n else if ((i === index) && e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n isDone = true;\r\n return some(y);\r\n }\r\n else {\r\n if (!isDone) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return void 0;\r\n }\r\n }, (e_1) => {\r\n disposeSafe(e_1);\r\n });\r\n}\r\n\r\n","import { some } from \"../fable-library.3.7.17/Option.js\";\nimport { create, isLeapYear } from \"../fable-library.3.7.17/Date.js\";\nimport { parse } from \"../fable-library.3.7.17/Int32.js\";\nimport { split, isNullOrWhiteSpace } from \"../fable-library.3.7.17/String.js\";\nimport { equalsWith } from \"../fable-library.3.7.17/Array.js\";\nimport react from \"react\";\n\nexport function DateParsing_$007CBetween$007C_$007C(x, y, input) {\n if ((input >= x) && (input <= y)) {\n return some(void 0);\n }\n else {\n return void 0;\n }\n}\n\nexport function DateParsing_isLeapYear(year) {\n return isLeapYear(year);\n}\n\nexport function DateParsing_$007CInt$007C_$007C(input) {\n try {\n return parse(input, 511, false, 32);\n }\n catch (matchValue) {\n return void 0;\n }\n}\n\nexport function DateParsing_parse(input) {\n try {\n if (isNullOrWhiteSpace(input)) {\n return void 0;\n }\n else {\n const parts = split(input, [\"-\"], null, 0);\n let patternInput;\n let pattern_matching_result, month, year;\n if ((!equalsWith((x, y) => (x === y), parts, null)) && (parts.length === 2)) {\n const activePatternResult = DateParsing_$007CInt$007C_$007C(parts[0]);\n if (activePatternResult != null) {\n const activePatternResult_1 = DateParsing_$007CInt$007C_$007C(parts[1]);\n if (activePatternResult_1 != null) {\n pattern_matching_result = 0;\n month = activePatternResult_1;\n year = activePatternResult;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n patternInput = [year, month, 1, 0, 0];\n break;\n }\n case 1: {\n let pattern_matching_result_1, day, month_1, year_1;\n if ((!equalsWith((x_1, y_1) => (x_1 === y_1), parts, null)) && (parts.length === 3)) {\n const activePatternResult_2 = DateParsing_$007CInt$007C_$007C(parts[0]);\n if (activePatternResult_2 != null) {\n const activePatternResult_3 = DateParsing_$007CInt$007C_$007C(parts[1]);\n if (activePatternResult_3 != null) {\n const activePatternResult_4 = DateParsing_$007CInt$007C_$007C(parts[2]);\n if (activePatternResult_4 != null) {\n pattern_matching_result_1 = 0;\n day = activePatternResult_4;\n month_1 = activePatternResult_3;\n year_1 = activePatternResult_2;\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n patternInput = [year_1, month_1, day, 0, 0];\n break;\n }\n case 1: {\n let pattern_matching_result_2, day_1, month_2, year_2;\n if ((!equalsWith((x_2, y_2) => (x_2 === y_2), parts, null)) && (parts.length === 3)) {\n const activePatternResult_5 = DateParsing_$007CInt$007C_$007C(parts[0]);\n if (activePatternResult_5 != null) {\n const activePatternResult_6 = DateParsing_$007CInt$007C_$007C(parts[1]);\n if (activePatternResult_6 != null) {\n pattern_matching_result_2 = 0;\n day_1 = parts[2];\n month_2 = activePatternResult_6;\n year_2 = activePatternResult_5;\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n if (day_1.indexOf(\"T\") >= 0) {\n const matchValue = split(day_1, [\"T\"], null, 0);\n let pattern_matching_result_3, parsedDay, time;\n if ((!equalsWith((x_3, y_3) => (x_3 === y_3), matchValue, null)) && (matchValue.length === 2)) {\n const activePatternResult_7 = DateParsing_$007CInt$007C_$007C(matchValue[0]);\n if (activePatternResult_7 != null) {\n pattern_matching_result_3 = 0;\n parsedDay = activePatternResult_7;\n time = matchValue[1];\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n switch (pattern_matching_result_3) {\n case 0: {\n const matchValue_1 = split(time, [\":\"], null, 0);\n let pattern_matching_result_4, hour, minute;\n if ((!equalsWith((x_4, y_4) => (x_4 === y_4), matchValue_1, null)) && (matchValue_1.length === 2)) {\n const activePatternResult_8 = DateParsing_$007CInt$007C_$007C(matchValue_1[0]);\n if (activePatternResult_8 != null) {\n const activePatternResult_9 = DateParsing_$007CInt$007C_$007C(matchValue_1[1]);\n if (activePatternResult_9 != null) {\n pattern_matching_result_4 = 0;\n hour = activePatternResult_8;\n minute = activePatternResult_9;\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n switch (pattern_matching_result_4) {\n case 0: {\n const matchValue_2 = [hour, minute];\n let pattern_matching_result_5;\n if (DateParsing_$007CBetween$007C_$007C(0, 59, matchValue_2[0]) != null) {\n if (DateParsing_$007CBetween$007C_$007C(0, 59, matchValue_2[1]) != null) {\n pattern_matching_result_5 = 0;\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n switch (pattern_matching_result_5) {\n case 0: {\n patternInput = [year_2, month_2, parsedDay, hour, minute];\n break;\n }\n case 1: {\n patternInput = [-1, 1, 1, 0, 0];\n break;\n }\n }\n break;\n }\n case 1: {\n patternInput = [-1, 1, 1, 0, 0];\n break;\n }\n }\n break;\n }\n case 1: {\n patternInput = [-1, 1, 1, 0, 0];\n break;\n }\n }\n }\n else {\n patternInput = [-1, 1, 1, 0, 0];\n }\n break;\n }\n case 1: {\n patternInput = [-1, 1, 1, 0, 0];\n break;\n }\n }\n break;\n }\n }\n break;\n }\n }\n const year_3 = patternInput[0] | 0;\n const month_3 = patternInput[1] | 0;\n const minute_1 = patternInput[4] | 0;\n const hour_1 = patternInput[3] | 0;\n const day_2 = patternInput[2] | 0;\n if (year_3 <= 0) {\n return void 0;\n }\n else {\n const matchValue_3 = [month_3, day_2];\n let pattern_matching_result_6;\n if (matchValue_3[0] === 2) {\n if (DateParsing_$007CBetween$007C_$007C(1, 29, matchValue_3[1]) != null) {\n if (DateParsing_isLeapYear(year_3)) {\n pattern_matching_result_6 = 0;\n }\n else {\n pattern_matching_result_6 = 1;\n }\n }\n else {\n pattern_matching_result_6 = 1;\n }\n }\n else {\n pattern_matching_result_6 = 1;\n }\n switch (pattern_matching_result_6) {\n case 0: {\n return create(year_3, month_3, day_2, hour_1, minute_1, 0);\n }\n case 1: {\n let pattern_matching_result_7;\n if (matchValue_3[0] === 2) {\n if (DateParsing_$007CBetween$007C_$007C(1, 28, matchValue_3[1]) != null) {\n if (!DateParsing_isLeapYear(year_3)) {\n pattern_matching_result_7 = 0;\n }\n else {\n pattern_matching_result_7 = 1;\n }\n }\n else {\n pattern_matching_result_7 = 1;\n }\n }\n else {\n pattern_matching_result_7 = 1;\n }\n switch (pattern_matching_result_7) {\n case 0: {\n return create(year_3, month_3, day_2, hour_1, minute_1, 0);\n }\n case 1: {\n let pattern_matching_result_8;\n if (matchValue_3[0] === 1) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 3) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 5) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 7) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 8) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 10) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else if (matchValue_3[0] === 12) {\n if (DateParsing_$007CBetween$007C_$007C(1, 31, matchValue_3[1]) != null) {\n pattern_matching_result_8 = 0;\n }\n else {\n pattern_matching_result_8 = 1;\n }\n }\n else {\n pattern_matching_result_8 = 1;\n }\n switch (pattern_matching_result_8) {\n case 0: {\n return create(year_3, month_3, day_2, hour_1, minute_1, 0);\n }\n case 1: {\n let pattern_matching_result_9;\n if (matchValue_3[0] === 4) {\n if (DateParsing_$007CBetween$007C_$007C(1, 30, matchValue_3[1]) != null) {\n pattern_matching_result_9 = 0;\n }\n else {\n pattern_matching_result_9 = 1;\n }\n }\n else if (matchValue_3[0] === 6) {\n if (DateParsing_$007CBetween$007C_$007C(1, 30, matchValue_3[1]) != null) {\n pattern_matching_result_9 = 0;\n }\n else {\n pattern_matching_result_9 = 1;\n }\n }\n else if (matchValue_3[0] === 9) {\n if (DateParsing_$007CBetween$007C_$007C(1, 30, matchValue_3[1]) != null) {\n pattern_matching_result_9 = 0;\n }\n else {\n pattern_matching_result_9 = 1;\n }\n }\n else if (matchValue_3[0] === 11) {\n if (DateParsing_$007CBetween$007C_$007C(1, 30, matchValue_3[1]) != null) {\n pattern_matching_result_9 = 0;\n }\n else {\n pattern_matching_result_9 = 1;\n }\n }\n else {\n pattern_matching_result_9 = 1;\n }\n switch (pattern_matching_result_9) {\n case 0: {\n return create(year_3, month_3, day_2, hour_1, minute_1, 0);\n }\n case 1: {\n return void 0;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n catch (matchValue_4) {\n return void 0;\n }\n}\n\nexport const Interop_reactApi = react;\n\n","import { useLayoutEffectWithDeps, useLayoutEffect, useEffectWithDeps, useEffect, useDebugValue } from \"./ReactInterop.js\";\nimport { class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { iterate } from \"../fable-library.3.7.17/Seq.js\";\nimport { defaultArg, toArray } from \"../fable-library.3.7.17/Option.js\";\nimport { Interop_reactApi } from \"./Interop.fs.js\";\nimport { disposeSafe, curry, uncurry } from \"../fable-library.3.7.17/Util.js\";\nimport { useState } from \"react\";\nimport * as react from \"react\";\n\nexport const ReactInterop_useDebugValueWithFormatter = useDebugValue;\n\nexport const ReactInterop_useEffect = useEffect;\n\nexport const ReactInterop_useEffectWithDeps = useEffectWithDeps;\n\nexport const ReactInterop_useLayoutEffect = useLayoutEffect;\n\nexport const ReactInterop_useLayoutEffectWithDeps = useLayoutEffectWithDeps;\n\nexport class Internal {\n constructor() {\n }\n}\n\nexport function Internal$reflection() {\n return class_type(\"Feliz.Internal\", void 0, Internal);\n}\n\nexport function Internal_$ctor() {\n return new Internal();\n}\n\n\nexport function Internal_functionComponent_Z1B155329(renderElement, name, withKey) {\n iterate((name_1) => {\n renderElement.displayName = name_1;\n }, toArray(name));\n console.warn(\"Feliz: using React.functionComponent in Fable 3 is obsolete, please consider using the [\\u003cReactComponent\\u003e] attribute instead which makes Feliz output better Javascript code that is compatible with react-refresh\");\n return (props) => {\n const props_2 = Internal_propsWithKey(withKey, props);\n return Interop_reactApi.createElement(renderElement, props_2);\n };\n}\n\nexport function Internal_memo_Z603636D8(renderElement, name, areEqual, withKey) {\n const memoElementType = Interop_reactApi.memo(renderElement, uncurry(2, defaultArg(curry(2, areEqual), null)));\n iterate((name_1) => {\n renderElement.displayName = name_1;\n }, toArray(name));\n return (props) => {\n const props_2 = Internal_propsWithKey(withKey, props);\n return Interop_reactApi.createElement(memoElementType, props_2);\n };\n}\n\nfunction Internal_propsWithKey(withKey, props) {\n if (withKey == null) {\n return props;\n }\n else {\n const f = withKey;\n props.key = f(props);\n return props;\n }\n}\n\nexport class React {\n constructor() {\n }\n}\n\nexport function React$reflection() {\n return class_type(\"Feliz.React\", void 0, React);\n}\n\nexport function React_createDisposable_3A5B6456(dispose) {\n return {\n Dispose() {\n dispose();\n },\n };\n}\n\nexport function useReact_useState_FCFD9EF(initializer) {\n return Interop_reactApi.useState(initializer);\n}\n\nexport function useReact_useReducer_2B9E6EA0(update, initialState) {\n const arg = update;\n return Interop_reactApi.useReducer(arg, initialState);\n}\n\nexport function useReact_useEffect_Z5ECA432F(effect) {\n ReactInterop_useEffect(effect);\n}\n\nexport function useReact_useEffect_Z5234A374(effect, dependencies) {\n ReactInterop_useEffectWithDeps(effect, dependencies);\n}\n\nexport function useReact_useLayoutEffect_Z5ECA432F(effect) {\n ReactInterop_useLayoutEffect(effect);\n}\n\nexport function useReact_useLayoutEffect_Z5234A374(effect, dependencies) {\n ReactInterop_useLayoutEffectWithDeps(effect, dependencies);\n}\n\nexport function useReact_useLayoutEffect_3A5B6456(effect) {\n ReactInterop_useLayoutEffect((_arg) => {\n effect();\n return React_createDisposable_3A5B6456(() => {\n });\n });\n}\n\nexport function useReact_useLayoutEffect_Z101E1A95(effect, dependencies) {\n ReactInterop_useLayoutEffectWithDeps((_arg) => {\n effect();\n return React_createDisposable_3A5B6456(() => {\n });\n }, dependencies);\n}\n\nexport function useReact_useEffectOnce_3A5B6456(effect) {\n useReact_useEffect_Z101E1A95(effect, []);\n}\n\nexport function useReact_useEffectOnce_Z5ECA432F(effect) {\n useReact_useEffect_Z5234A374(effect, []);\n}\n\nexport function useReact_useEffectOnce_6E825304(effect) {\n useReact_useEffect_Z5234A374(() => {\n const disposeOption = effect();\n return {\n Dispose() {\n iterate((d) => {\n let copyOfStruct = d;\n disposeSafe(copyOfStruct);\n }, toArray(disposeOption));\n },\n };\n }, []);\n}\n\nexport function useReact_useEffect_3A5B6456(effect) {\n ReactInterop_useEffect((_arg) => {\n effect();\n return React_createDisposable_3A5B6456(() => {\n });\n });\n}\n\nexport function useReact_useEffect_Z101E1A95(effect, dependencies) {\n ReactInterop_useEffectWithDeps((_arg) => {\n effect();\n return React_createDisposable_3A5B6456(() => {\n });\n }, dependencies);\n}\n\nexport function useReact_useDebugValue_Z721C83C5(value) {\n ReactInterop_useDebugValueWithFormatter(value, (x) => x);\n}\n\nexport function useReact_useDebugValue_77A55D6D(value, formatter) {\n ReactInterop_useDebugValueWithFormatter(value, formatter);\n}\n\nexport function useReact_useCallback_93353E(callbackFunction, dependencies) {\n const arg_1 = defaultArg(dependencies, []);\n return Interop_reactApi.useCallback(callbackFunction, arg_1);\n}\n\nexport function useReact_useRef_1505(initialValue) {\n return Interop_reactApi.useRef(initialValue);\n}\n\nexport function useReact_useInputRef() {\n return useReact_useRef_1505(void 0);\n}\n\nexport function useReact_useButtonRef() {\n return useReact_useRef_1505(void 0);\n}\n\nexport function useReact_useElementRef() {\n return useReact_useRef_1505(void 0);\n}\n\nexport function useReact_useMemo_CF4EA67(createFunction, dependencies) {\n const arg_1 = defaultArg(dependencies, []);\n return Interop_reactApi.useMemo(createFunction, arg_1);\n}\n\nexport function React_functionComponent_2F9D7239(render, withKey) {\n return Internal_functionComponent_Z1B155329(render, void 0, withKey);\n}\n\nexport function React_functionComponent_Z4C5FE1BE(name, render, withKey) {\n return Internal_functionComponent_Z1B155329(render, name, withKey);\n}\n\nexport function React_functionComponent_19A12FB2(render, withKey) {\n return Internal_functionComponent_Z1B155329((arg_1) => {\n const arg = render(arg_1);\n return react.createElement(react.Fragment, {}, ...arg);\n }, void 0, withKey);\n}\n\nexport function React_functionComponent_2E1DD889(name, render, withKey) {\n return Internal_functionComponent_Z1B155329((arg_1) => {\n const arg = render(arg_1);\n return react.createElement(react.Fragment, {}, ...arg);\n }, name, withKey);\n}\n\nexport function React_memo_62A0F746(render, withKey, areEqual) {\n return Internal_memo_Z603636D8(render, void 0, areEqual, withKey);\n}\n\nexport function React_memo_6648A89D(name, render, withKey, areEqual) {\n return Internal_memo_Z603636D8(render, name, areEqual, withKey);\n}\n\nexport function React_memo_C2C6BED(render, withKey, areEqual) {\n return Internal_memo_Z603636D8((arg_1) => {\n const arg = render(arg_1);\n return react.createElement(react.Fragment, {}, ...arg);\n }, void 0, areEqual, withKey);\n}\n\nexport function React_memo_Z4FCC584A(name, render, withKey, areEqual) {\n return Internal_memo_Z603636D8((arg_1) => {\n const arg = render(arg_1);\n return react.createElement(react.Fragment, {}, ...arg);\n }, name, areEqual, withKey);\n}\n\nexport function React_createContext_1AE444D8(name, defaultValue) {\n const contextObject = Interop_reactApi.createContext(defaultArg(defaultValue, void 0));\n iterate((name_1) => {\n contextObject.displayName = name_1;\n }, toArray(name));\n return contextObject;\n}\n\nexport function React_contextProvider_34D9BBBD(contextObject, contextValue, child) {\n return Interop_reactApi.createElement(contextObject.Provider, {\n value: contextValue,\n }, child);\n}\n\nexport function React_contextProvider_138D2F56(contextObject, contextValue, children) {\n return Interop_reactApi.createElement(contextObject.Provider, {\n value: contextValue,\n }, ...children);\n}\n\nexport function React_contextConsumer_Z68910595(contextObject, render) {\n return Interop_reactApi.createElement(contextObject.Consumer, null, render);\n}\n\nexport function React_contextConsumer_56D53A40(contextObject, render) {\n return Interop_reactApi.createElement(contextObject.Consumer, null, (arg_1) => {\n const arg = render(arg_1);\n return react.createElement(react.Fragment, {}, ...arg);\n });\n}\n\nexport function useReact_useContext_37FA55CF(contextObject) {\n return Interop_reactApi.useContext(contextObject);\n}\n\nexport function useReact_useCallbackRef_7C4B0DD6(callback) {\n const lastRenderCallbackRef = useReact_useRef_1505(callback);\n const callbackRef = useReact_useCallback_93353E((arg) => lastRenderCallbackRef.current(arg), []);\n useReact_useLayoutEffect_3A5B6456(() => {\n lastRenderCallbackRef.current = callback;\n });\n return callbackRef;\n}\n\nexport const React_useStateWithUpdater_1505 = useState;\n\nexport function React_forwardRef_3790D881(render) {\n const forwardRefType = Interop_reactApi.forwardRef((props, ref) => render([props, ref]));\n return (tupledArg) => {\n const propsObj = Object.assign({}, tupledArg[0]);\n propsObj.ref = tupledArg[1];\n return Interop_reactApi.createElement(forwardRefType, propsObj);\n };\n}\n\nexport function React_forwardRef_7DC3DB1A(name, render) {\n const forwardRefType = Interop_reactApi.forwardRef((props, ref) => render([props, ref]));\n render.displayName = name;\n return (tupledArg) => {\n const propsObj = Object.assign({}, tupledArg[0]);\n propsObj.ref = tupledArg[1];\n return Interop_reactApi.createElement(forwardRefType, propsObj);\n };\n}\n\nexport function React_strictMode_6E3A73D(children) {\n return Interop_reactApi.createElement(Interop_reactApi.StrictMode, void 0, ...children);\n}\n\nexport function React_lazy$0027_4712D3AE(dynamicImport, props) {\n return Interop_reactApi.createElement(Interop_reactApi.lazy(() => dynamicImport), props);\n}\n\nexport function React_lazy$0027_Z3D8450FC(dynamicImport, props) {\n return Interop_reactApi.createElement(Interop_reactApi.lazy(dynamicImport), props);\n}\n\nexport function React_suspense_6E3A73D(children) {\n let o;\n return Interop_reactApi.createElement(Interop_reactApi.Suspense, (o = {\n fallback: null,\n }, Object.assign({}, o)), ...children);\n}\n\nexport function React_suspense_Z3796A576(children, fallback) {\n let o;\n return Interop_reactApi.createElement(Interop_reactApi.Suspense, (o = {\n fallback: fallback,\n }, Object.assign({}, o)), ...children);\n}\n\nexport function useReact_useImperativeHandle_596DDC25(ref, createHandle) {\n Interop_reactApi.useImperativeHandle(ref, createHandle);\n}\n\nexport function useReact_useImperativeHandle_Z12F09548(ref, createHandle, dependencies) {\n Interop_reactApi.useImperativeHandle(ref, createHandle, dependencies);\n}\n\nexport function useFeliz_React__React_useState_Static_1505(initial) {\n return Interop_reactApi.useState(initial);\n}\n\nexport const Feliz_React__React_useStateWithUpdater_Static_FCFD9EF = useState;\n\n","import {\n useEffect as useEffectReact,\n useLayoutEffect as useLayoutEffectReact,\n useDebugValue as useDebugValueReact } from 'react'\n\nexport const useEffect = getDisposable => {\n useEffectReact(() => {\n const disposable = getDisposable()\n return () => {\n disposable.Dispose();\n }\n })\n}\n\nexport const useEffectWithDeps = (getDisposable, deps) => {\n useEffectReact(() => {\n const disposable = getDisposable()\n return () => {\n disposable.Dispose();\n }\n }, deps)\n}\n\nexport const useLayoutEffect = getDisposable => {\n useLayoutEffectReact(() => {\n const disposable = getDisposable()\n return () => {\n disposable.Dispose();\n }\n })\n}\n\nexport const useLayoutEffectWithDeps = (getDisposable, deps) => {\n useLayoutEffectReact(() => {\n const disposable = getDisposable()\n return () => {\n disposable.Dispose();\n }\n }, deps)\n}\n\nexport const useDebugValue = (value, formatter) => useDebugValueReact(value, formatter)","import { split, trimEnd, isNullOrWhiteSpace, substring, join, endsWith } from \"../fable-library.3.7.17/String.js\";\nimport { ofArray, singleton, collect, head, empty, tail, isEmpty, reverse, map } from \"../fable-library.3.7.17/List.js\";\nimport { equalsWith } from \"../fable-library.3.7.17/Array.js\";\nimport { useReact_useEffectOnce_3A5B6456, React_createDisposable_3A5B6456, useReact_useEffectOnce_Z5ECA432F, useReact_useCallbackRef_7C4B0DD6, React_memo_62A0F746 } from \"../Feliz.1.68.0/React.fs.js\";\nimport { defaultArg } from \"../fable-library.3.7.17/Option.js\";\nimport { tryParse } from \"../fable-library.3.7.17/Int32.js\";\nimport { FSharpRef } from \"../fable-library.3.7.17/Types.js\";\nimport { tryParse as tryParse_1, fromInt } from \"../fable-library.3.7.17/Long.js\";\nimport { tryParse as tryParse_2 } from \"../fable-library.3.7.17/Guid.js\";\nimport { tryParse as tryParse_3 } from \"../fable-library.3.7.17/Double.js\";\nimport { tryParse as tryParse_4 } from \"../fable-library.3.7.17/Decimal.js\";\nimport Decimal from \"../fable-library.3.7.17/Decimal.js\";\nimport { map as map_1, delay, toList } from \"../fable-library.3.7.17/Seq.js\";\n\nexport function RouterModule_String_$007CPrefix$007C(prefix, str) {\n if (str.indexOf(prefix) === 0) {\n return str;\n }\n else {\n return void 0;\n }\n}\n\nexport function RouterModule_String_$007CSuffix$007C(suffix, str) {\n if (endsWith(str, suffix)) {\n return str;\n }\n else {\n return void 0;\n }\n}\n\nexport function RouterModule_encodeQueryString(queryStringPairs) {\n const _arg = join(\"\\u0026\", map((tupledArg) => join(\"=\", [encodeURIComponent(tupledArg[0]), encodeURIComponent(tupledArg[1])]), queryStringPairs));\n if (_arg === \"\") {\n return \"\";\n }\n else {\n return \"?\" + _arg;\n }\n}\n\nexport function RouterModule_encodeQueryStringInts(queryStringIntPairs) {\n const _arg = join(\"\\u0026\", map((tupledArg) => join(\"=\", [encodeURIComponent(tupledArg[0]), tupledArg[1]]), queryStringIntPairs));\n if (_arg === \"\") {\n return \"\";\n }\n else {\n return \"?\" + _arg;\n }\n}\n\nfunction RouterModule_normalizeRoute(routeMode) {\n if (routeMode === 1) {\n return (_arg) => {\n let activePatternResult, path, activePatternResult_1, path_1, activePatternResult_2, path_2;\n return (activePatternResult = RouterModule_String_$007CPrefix$007C(\"/\", _arg), (activePatternResult != null) ? ((path = activePatternResult, \"#\" + path)) : ((activePatternResult_1 = RouterModule_String_$007CPrefix$007C(\"#/\", _arg), (activePatternResult_1 != null) ? ((path_1 = activePatternResult_1, path_1)) : ((activePatternResult_2 = RouterModule_String_$007CPrefix$007C(\"#\", _arg), (activePatternResult_2 != null) ? ((path_2 = activePatternResult_2, \"#/\" + substring(path_2, 1, path_2.length - 1))) : (\"#/\" + _arg))))));\n };\n }\n else {\n return (_arg_1) => {\n let activePatternResult_3, path_4;\n return (activePatternResult_3 = RouterModule_String_$007CPrefix$007C(\"/\", _arg_1), (activePatternResult_3 != null) ? ((path_4 = activePatternResult_3, path_4)) : (\"/\" + _arg_1));\n };\n }\n}\n\nexport function RouterModule_encodeParts(xs, routeMode) {\n return RouterModule_normalizeRoute(routeMode)(join(\"/\", map((part) => {\n if (((part.indexOf(\"?\") >= 0) ? true : (part.indexOf(\"#\") === 0)) ? true : (part.indexOf(\"/\") === 0)) {\n return part;\n }\n else {\n return encodeURIComponent(part);\n }\n }, xs)));\n}\n\nexport function RouterModule_trySeparateLast(xs) {\n const matchValue = reverse(xs);\n if (!isEmpty(matchValue)) {\n if (isEmpty(tail(matchValue))) {\n return [empty(), head(matchValue)];\n }\n else {\n return [reverse(tail(matchValue)), head(matchValue)];\n }\n }\n else {\n return void 0;\n }\n}\n\nexport function RouterModule_nav(xs, mode, routeMode) {\n if (mode === 1) {\n history.pushState(void 0, \"\", RouterModule_encodeParts(xs, routeMode));\n }\n else {\n history.replaceState(void 0, \"\", RouterModule_encodeParts(xs, routeMode));\n }\n const ev = document.createEvent(\"CustomEvent\");\n ev.initEvent(\"CUSTOM_NAVIGATION_EVENT\", true, true);\n window.dispatchEvent(ev);\n}\n\nexport function RouterModule_urlSegments(path, mode) {\n return collect((segment) => {\n if (isNullOrWhiteSpace(segment)) {\n return empty();\n }\n else {\n const segment_1 = trimEnd(segment, \"#\");\n if (segment_1 === \"?\") {\n return empty();\n }\n else if (RouterModule_String_$007CPrefix$007C(\"?\", segment_1) != null) {\n return singleton(segment_1);\n }\n else {\n const matchValue = segment_1.split(\"?\");\n if ((!equalsWith((x, y) => (x === y), matchValue, null)) && (matchValue.length === 1)) {\n const value = matchValue[0];\n return singleton(decodeURIComponent(value));\n }\n else if ((!equalsWith((x_1, y_1) => (x_1 === y_1), matchValue, null)) && (matchValue.length === 2)) {\n if (matchValue[1] === \"\") {\n const value_1 = matchValue[0];\n return singleton(decodeURIComponent(value_1));\n }\n else {\n const value_2 = matchValue[0];\n const query = matchValue[1];\n return ofArray([decodeURIComponent(value_2), \"?\" + query]);\n }\n }\n else {\n return empty();\n }\n }\n }\n }, ofArray(split((RouterModule_String_$007CPrefix$007C(\"#\", path) != null) ? substring(path, 1, path.length - 1) : ((mode === 1) ? ((RouterModule_String_$007CSuffix$007C(\"#\", path) != null) ? \"\" : ((RouterModule_String_$007CSuffix$007C(\"#/\", path) != null) ? \"\" : path)) : path), [\"/\"], null, 0)));\n}\n\nexport function RouterModule_onUrlChange(routeMode, urlChanged, ev) {\n return urlChanged(RouterModule_urlSegments((routeMode === 2) ? (window.location.pathname + window.location.search) : window.location.hash, routeMode));\n}\n\nexport const RouterModule_router = React_memo_62A0F746((input) => {\n const onChange = useReact_useCallbackRef_7C4B0DD6((ev) => {\n const urlChanged = defaultArg(input.onUrlChanged, (value) => {\n });\n RouterModule_onUrlChange(defaultArg(input.hashMode, 1), urlChanged, ev);\n });\n useReact_useEffectOnce_Z5ECA432F(() => {\n if (((window.navigator.userAgent).indexOf(\"Trident\") >= 0) ? true : ((window.navigator.userAgent).indexOf(\"MSIE\") >= 0)) {\n window.addEventListener(\"hashchange\", onChange);\n }\n else {\n window.addEventListener(\"popstate\", onChange);\n }\n window.addEventListener(\"CUSTOM_NAVIGATION_EVENT\", onChange);\n return React_createDisposable_3A5B6456(() => {\n if (((window.navigator.userAgent).indexOf(\"Trident\") >= 0) ? true : ((window.navigator.userAgent).indexOf(\"MSIE\") >= 0)) {\n window.removeEventListener(\"hashchange\", onChange);\n }\n else {\n window.removeEventListener(\"popstate\", onChange);\n }\n window.removeEventListener(\"CUSTOM_NAVIGATION_EVENT\", onChange);\n });\n });\n useReact_useEffectOnce_3A5B6456(() => {\n const ev_1 = document.createEvent(\"CustomEvent\");\n ev_1.initEvent(\"CUSTOM_NAVIGATION_EVENT\", true, true);\n window.dispatchEvent(ev_1);\n });\n const matchValue = input.application;\n return (matchValue == null) ? null : matchValue;\n});\n\nexport function Route_$007CInt$007C_$007C(input) {\n let matchValue;\n let outArg = 0;\n matchValue = [tryParse(input, 511, false, 32, new FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Route_$007CInt64$007C_$007C(input) {\n let matchValue;\n let outArg = fromInt(0);\n matchValue = [tryParse_1(input, 511, false, 64, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Route_$007CGuid$007C_$007C(input) {\n let matchValue;\n let outArg = \"00000000-0000-0000-0000-000000000000\";\n matchValue = [tryParse_2(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Route_$007CNumber$007C_$007C(input) {\n let matchValue;\n let outArg = 0;\n matchValue = [tryParse_3(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Route_$007CDecimal$007C_$007C(input) {\n let matchValue;\n let outArg = new Decimal(0);\n matchValue = [tryParse_4(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Route_$007CBool$007C_$007C(input) {\n const matchValue = input.toLocaleLowerCase();\n switch (matchValue) {\n case \"1\":\n case \"true\": {\n return true;\n }\n case \"0\":\n case \"false\": {\n return false;\n }\n case \"\": {\n return true;\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function Route_$007CQuery$007C_$007C(input) {\n try {\n const urlParams = new URLSearchParams(input);\n return toList(delay(() => map_1((entry) => [entry[0], entry[1]], urlParams.entries())));\n }\n catch (matchValue) {\n return void 0;\n }\n}\n\n","import { toString, FSharpRef, Union, Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { class_type, lambda_type, option_type, list_type, union_type, record_type, string_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { map, map2, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { tryPick, empty, ofArray, singleton, append, toArray, mapFold, head, tail, isEmpty } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { tryParse } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Int32.js\";\nimport { tryParse as tryParse_1, fromInt } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Long.js\";\nimport { tryParse as tryParse_2 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Guid.js\";\nimport { tryParse as tryParse_3 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Double.js\";\nimport { tryParse as tryParse_4 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport Decimal from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\n\nexport class QueryParam extends Record {\n constructor(Name) {\n super();\n this.Name = Name;\n }\n}\n\nexport function QueryParam$reflection() {\n return record_type(\"BidirectionalRouting.QueryParam\", [], QueryParam, () => [[\"Name\", string_type]]);\n}\n\nexport class Segment extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Literal\", \"Param\"];\n }\n}\n\nexport function Segment$reflection() {\n return union_type(\"BidirectionalRouting.Segment\", [], Segment, () => [[[\"Item\", string_type]], []]);\n}\n\nexport class RouteDefinition$1 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"RouteDefinition\"];\n }\n}\n\nexport function RouteDefinition$1$reflection(gen0) {\n return union_type(\"BidirectionalRouting.RouteDefinition`1\", [gen0], RouteDefinition$1, () => [[[\"Item1\", list_type(Segment$reflection())], [\"Item2\", list_type(QueryParam$reflection())]]]);\n}\n\nexport class RouteDefinition extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"RouteDefinitionNoParams\"];\n }\n}\n\nexport function RouteDefinition$reflection() {\n return union_type(\"BidirectionalRouting.RouteDefinition\", [], RouteDefinition, () => [[[\"Item1\", list_type(Segment$reflection())], [\"Item2\", list_type(QueryParam$reflection())]]]);\n}\n\nexport class Parameter$1 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Parameter\"];\n }\n}\n\nexport function Parameter$1$reflection(gen0) {\n return union_type(\"BidirectionalRouting.Parameter`1\", [gen0], Parameter$1, () => [[[\"Item\", lambda_type(string_type, option_type(gen0))]]]);\n}\n\nexport function ParseSegments_finalSuccess() {\n return some(void 0);\n}\n\nexport function ParseSegments_finalFail() {\n return void 0;\n}\n\nexport function ParseSegments_parse(segments_mut, url_mut, continuation_mut, final_mut) {\n ParseSegments_parse:\n while (true) {\n const segments = segments_mut, url = url_mut, continuation = continuation_mut, final = final_mut;\n const matchValue = [segments, url];\n let pattern_matching_result, restSegments, restValues, segment, value;\n if (!isEmpty(matchValue[0])) {\n if (!isEmpty(matchValue[1])) {\n pattern_matching_result = 1;\n restSegments = tail(matchValue[0]);\n restValues = tail(matchValue[1]);\n segment = head(matchValue[0]);\n value = head(matchValue[1]);\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (isEmpty(matchValue[1])) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 2;\n }\n switch (pattern_matching_result) {\n case 0: {\n return final();\n }\n case 1: {\n if (segment.tag === 1) {\n return continuation(restSegments, restValues, value);\n }\n else if (segment.fields[0] === value) {\n segments_mut = restSegments;\n url_mut = restValues;\n continuation_mut = continuation;\n final_mut = final;\n continue ParseSegments_parse;\n }\n else {\n return void 0;\n }\n }\n case 2: {\n return void 0;\n }\n }\n break;\n }\n}\n\nexport function ParseSegments_parse0(segments, url) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => (void 0), ParseSegments_finalSuccess);\n}\n\nexport function ParseSegments_parse1(segments, url, _arg) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => {\n const option_1 = ParseSegments_parse0(segments_1, url_1);\n return map2((a, _arg_1) => a, _arg.fields[0](value), option_1);\n }, ParseSegments_finalFail);\n}\n\nexport function ParseSegments_parse2(segments, url, _arg, p2) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => {\n const option_1 = ParseSegments_parse1(segments_1, url_1, p2);\n return map2((a, b) => [a, b], _arg.fields[0](value), option_1);\n }, ParseSegments_finalFail);\n}\n\nexport function ParseSegments_parse3(segments, url, _arg, p2, p3) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => {\n const option_1 = ParseSegments_parse2(segments_1, url_1, p2, p3);\n return map2((a, tupledArg) => [a, tupledArg[0], tupledArg[1]], _arg.fields[0](value), option_1);\n }, ParseSegments_finalFail);\n}\n\nexport function ParseSegments_parse4(segments, url, _arg, p2, p3, p4) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => {\n const option_1 = ParseSegments_parse3(segments_1, url_1, p2, p3, p4);\n return map2((a, tupledArg) => [a, tupledArg[0], tupledArg[1], tupledArg[2]], _arg.fields[0](value), option_1);\n }, ParseSegments_finalFail);\n}\n\nexport function ParseSegments_parse5(segments, url, _arg, p2, p3, p4, p5) {\n return ParseSegments_parse(segments, url, (segments_1, url_1, value) => {\n const option_1 = ParseSegments_parse4(segments_1, url_1, p2, p3, p4, p5);\n return map2((a, tupledArg) => [a, tupledArg[0], tupledArg[1], tupledArg[2], tupledArg[3]], _arg.fields[0](value), option_1);\n }, ParseSegments_finalFail);\n}\n\nexport function ParseSegments_toUrl(segments, parameters) {\n return mapFold((parameters_1, segment) => {\n if (segment.tag === 1) {\n if (isEmpty(parameters_1)) {\n throw (new Error(\"Should not happen. Bug in the Router parser.\"));\n }\n else {\n return [head(parameters_1), tail(parameters_1)];\n }\n }\n else {\n return [segment.fields[0], parameters_1];\n }\n }, parameters, segments)[0];\n}\n\nexport function Parse_int(input) {\n let matchValue;\n let outArg = 0;\n matchValue = [tryParse(input, 511, false, 32, new FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Parse_int64(input) {\n let matchValue;\n let outArg = fromInt(0);\n matchValue = [tryParse_1(input, 511, false, 64, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Parse_guid(input) {\n let matchValue;\n let outArg = \"00000000-0000-0000-0000-000000000000\";\n matchValue = [tryParse_2(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Parse_double(input) {\n let matchValue;\n let outArg = 0;\n matchValue = [tryParse_3(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Parse_decimal(input) {\n let matchValue;\n let outArg = new Decimal(0);\n matchValue = [tryParse_4(input, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Parse_bool(input) {\n const matchValue = input.toLocaleLowerCase();\n switch (matchValue) {\n case \"1\":\n case \"true\": {\n return true;\n }\n case \"0\":\n case \"false\": {\n return false;\n }\n case \"\": {\n return true;\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport class Page$2 {\n constructor(parse, toUrl) {\n this[\"parse@121\"] = parse;\n this[\"toUrl@121\"] = toUrl;\n }\n parse(x) {\n const this$ = this;\n return this$[\"parse@121\"](x);\n }\n}\n\nexport function Page$2$reflection(gen0, gen1) {\n return class_type(\"BidirectionalRouting.Page`2\", [gen0, gen1], Page$2);\n}\n\nexport function Page$2_$ctor_44372A54(parse, toUrl) {\n return new Page$2(parse, toUrl);\n}\n\nexport function Page$2__toUrl_2B594(this$, x) {\n return toArray(this$[\"toUrl@121\"](x));\n}\n\nexport class R$5 {\n constructor(def, p1, p2, p3, p4, p5) {\n this.def = def;\n this.p1 = p1;\n this.p2 = p2;\n this.p3 = p3;\n this.p4 = p4;\n this.p5 = p5;\n }\n}\n\nexport function R$5$reflection(gen0, gen1, gen2, gen3, gen4) {\n return class_type(\"BidirectionalRouting.R`5\", [gen0, gen1, gen2, gen3, gen4], R$5);\n}\n\nexport function R$5_$ctor_3DED8FA5(def, p1, p2, p3, p4, p5) {\n return new R$5(def, p1, p2, p3, p4, p5);\n}\n\nexport function R$5__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R$5_$ctor_3DED8FA5(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]), this$.p1, this$.p2, this$.p3, this$.p4, this$.p5);\n}\n\nexport function R$5__parse_1334CEF1(this$, url) {\n return ParseSegments_parse5(this$.def.fields[0], url, this$.p1, this$.p2, this$.p3, this$.p4, this$.p5);\n}\n\nexport function R$5__toUrl_55DCDF11(this$, a, b, c, d, e) {\n return ParseSegments_toUrl(this$.def.fields[0], ofArray([toString(a), toString(b), toString(c), toString(d), toString(e)]));\n}\n\nexport function R$5__page_Z54AA9CBE(this$, constructor) {\n return Page$2_$ctor_44372A54((x) => map(constructor, R$5__parse_1334CEF1(this$, x)), (tupledArg) => R$5__toUrl_55DCDF11(this$, tupledArg[0], tupledArg[1], tupledArg[2], tupledArg[3], tupledArg[4]));\n}\n\nexport class R$4 {\n constructor(def, p1, p2, p3, p4) {\n this.def = def;\n this.p1 = p1;\n this.p2 = p2;\n this.p3 = p3;\n this.p4 = p4;\n }\n}\n\nexport function R$4$reflection(gen0, gen1, gen2, gen3) {\n return class_type(\"BidirectionalRouting.R`4\", [gen0, gen1, gen2, gen3], R$4);\n}\n\nexport function R$4_$ctor_Z5CF77C5B(def, p1, p2, p3, p4) {\n return new R$4(def, p1, p2, p3, p4);\n}\n\nexport function R$4__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R$4_$ctor_Z5CF77C5B(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]), this$.p1, this$.p2, this$.p3, this$.p4);\n}\n\nexport function R$4__param_Z2F4DFF34(this$, p) {\n const patternInput = this$.def;\n return R$5_$ctor_3DED8FA5(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(1))), patternInput.fields[1]), this$.p1, this$.p2, this$.p3, this$.p4, p);\n}\n\nexport function R$4__parse_1334CEF1(this$, url) {\n return ParseSegments_parse4(this$.def.fields[0], url, this$.p1, this$.p2, this$.p3, this$.p4);\n}\n\nexport function R$4__toUrl_Z7984E580(this$, a, b, c, d) {\n return ParseSegments_toUrl(this$.def.fields[0], ofArray([toString(a), toString(b), toString(c), toString(d)]));\n}\n\nexport function R$4__page_7F8BE65C(this$, constructor) {\n return Page$2_$ctor_44372A54((x) => map(constructor, R$4__parse_1334CEF1(this$, x)), (tupledArg) => R$4__toUrl_Z7984E580(this$, tupledArg[0], tupledArg[1], tupledArg[2], tupledArg[3]));\n}\n\nexport class R$3 {\n constructor(def, p1, p2, p3) {\n this.def = def;\n this.p1 = p1;\n this.p2 = p2;\n this.p3 = p3;\n }\n}\n\nexport function R$3$reflection(gen0, gen1, gen2) {\n return class_type(\"BidirectionalRouting.R`3\", [gen0, gen1, gen2], R$3);\n}\n\nexport function R$3_$ctor_2909C1A5(def, p1, p2, p3) {\n return new R$3(def, p1, p2, p3);\n}\n\nexport function R$3__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R$3_$ctor_2909C1A5(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]), this$.p1, this$.p2, this$.p3);\n}\n\nexport function R$3__param_Z2F4DFF34(this$, p) {\n const patternInput = this$.def;\n return R$4_$ctor_Z5CF77C5B(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(1))), patternInput.fields[1]), this$.p1, this$.p2, this$.p3, p);\n}\n\nexport function R$3__parse_1334CEF1(this$, url) {\n return ParseSegments_parse3(this$.def.fields[0], url, this$.p1, this$.p2, this$.p3);\n}\n\nexport function R$3__toUrl_BD52456(this$, a, b, c) {\n return ParseSegments_toUrl(this$.def.fields[0], ofArray([toString(a), toString(b), toString(c)]));\n}\n\nexport function R$3__page_46692BC5(this$, constructor) {\n return Page$2_$ctor_44372A54((x) => map(constructor, R$3__parse_1334CEF1(this$, x)), (tupledArg) => R$3__toUrl_BD52456(this$, tupledArg[0], tupledArg[1], tupledArg[2]));\n}\n\nexport class R$2 {\n constructor(def, p1, p2) {\n this.def = def;\n this.p1 = p1;\n this.p2 = p2;\n }\n}\n\nexport function R$2$reflection(gen0, gen1) {\n return class_type(\"BidirectionalRouting.R`2\", [gen0, gen1], R$2);\n}\n\nexport function R$2_$ctor_B5A6E65(def, p1, p2) {\n return new R$2(def, p1, p2);\n}\n\nexport function R$2__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R$2_$ctor_B5A6E65(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]), this$.p1, this$.p2);\n}\n\nexport function R$2__param_Z2F4DFF34(this$, p) {\n const patternInput = this$.def;\n return R$3_$ctor_2909C1A5(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(1))), patternInput.fields[1]), this$.p1, this$.p2, p);\n}\n\nexport function R$2__parse_1334CEF1(this$, url) {\n return ParseSegments_parse2(this$.def.fields[0], url, this$.p1, this$.p2);\n}\n\nexport function R$2__toUrl_5BDDA1(this$, a, b) {\n return ParseSegments_toUrl(this$.def.fields[0], ofArray([toString(a), toString(b)]));\n}\n\nexport function R$2__page_368EB55D(this$, constructor) {\n return Page$2_$ctor_44372A54((x) => map(constructor, R$2__parse_1334CEF1(this$, x)), (tupledArg) => R$2__toUrl_5BDDA1(this$, tupledArg[0], tupledArg[1]));\n}\n\nexport class R$1 {\n constructor(def, p1) {\n this.def = def;\n this.p1 = p1;\n }\n}\n\nexport function R$1$reflection(gen0) {\n return class_type(\"BidirectionalRouting.R`1\", [gen0], R$1);\n}\n\nexport function R$1_$ctor_Z3307AA1B(def, p1) {\n return new R$1(def, p1);\n}\n\nexport function R$1__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R$1_$ctor_Z3307AA1B(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]), this$.p1);\n}\n\nexport function R$1__param_Z2F4DFF34(this$, p) {\n const patternInput = this$.def;\n return R$2_$ctor_B5A6E65(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(1))), patternInput.fields[1]), this$.p1, p);\n}\n\nexport function R$1__parse_1334CEF1(this$, url) {\n return ParseSegments_parse1(this$.def.fields[0], url, this$.p1);\n}\n\nexport function R$1__toUrl_2B595(this$, a) {\n return ParseSegments_toUrl(this$.def.fields[0], singleton(toString(a)));\n}\n\nexport function R$1__page_6CB7246(this$, constructor) {\n return Page$2_$ctor_44372A54((x) => map(constructor, R$1__parse_1334CEF1(this$, x)), (arg_1) => R$1__toUrl_2B595(this$, arg_1));\n}\n\nexport class R {\n constructor(def) {\n this.def = def;\n }\n}\n\nexport function R$reflection() {\n return class_type(\"BidirectionalRouting.R\", void 0, R);\n}\n\nexport function R_$ctor_Z31E125C8(def) {\n return new R(def);\n}\n\nexport function R_get_Int() {\n return new Parameter$1(0, Parse_int);\n}\n\nexport function R_get_Int64() {\n return new Parameter$1(0, Parse_int64);\n}\n\nexport function R_get_String() {\n return new Parameter$1(0, (x) => x);\n}\n\nexport function R_get_Guid() {\n return new Parameter$1(0, Parse_guid);\n}\n\nexport function R_get_Double() {\n return new Parameter$1(0, Parse_double);\n}\n\nexport function R_get_Decimal() {\n return new Parameter$1(0, Parse_decimal);\n}\n\nexport function R_get_Bool() {\n return new Parameter$1(0, Parse_bool);\n}\n\nexport function R_create() {\n return R_$ctor_Z31E125C8(new RouteDefinition(0, empty(), empty()));\n}\n\nexport function R__segment_Z721C83C5(this$, value) {\n const patternInput = this$.def;\n return R_$ctor_Z31E125C8(new RouteDefinition(0, append(patternInput.fields[0], singleton(new Segment(0, value))), patternInput.fields[1]));\n}\n\nexport function R__param_Z2F4DFF34(this$, p) {\n const patternInput = this$.def;\n return R$1_$ctor_Z3307AA1B(new RouteDefinition$1(0, append(patternInput.fields[0], singleton(new Segment(1))), patternInput.fields[1]), p);\n}\n\nexport function R__parse_1334CEF1(this$, url) {\n return ParseSegments_parse0(this$.def.fields[0], url);\n}\n\nexport function R__toUrl(this$) {\n return ParseSegments_toUrl(this$.def.fields[0], empty());\n}\n\nexport function R__page_1505(this$, value) {\n return Page$2_$ctor_44372A54((x) => map(() => value, R__parse_1334CEF1(this$, x)), () => R__toUrl(this$));\n}\n\nexport function Match_routes(pages, url) {\n return tryPick((page) => page.parse(url), pages);\n}\n\n","import { Union } from \"./fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type, string_type } from \"./fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { Match_routes, R_get_String, R__param_Z2F4DFF34, R$1__page_6CB7246, R_create, R__segment_Z721C83C5, R__page_1505 } from \"../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { ofArray } from \"./fable_modules/fable-library.3.7.17/List.js\";\n\nexport class Page extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Login\", \"Customers\", \"CustomerDetail\", \"CustomerEdit\", \"CustomerCreate\", \"Dossiers\", \"DossierDetail\", \"DossierEdit\", \"DossierCreate\", \"PublicCibForm\", \"Compensations\", \"CompensationsEdit\", \"QuoteDetail\", \"Quotes\", \"Settings\"];\n }\n}\n\nexport function Page$reflection() {\n return union_type(\"AppRoutes.Page\", [], Page, () => [[], [], [[\"id\", string_type]], [[\"id\", string_type]], [], [], [[\"id\", string_type]], [[\"id\", string_type]], [], [[\"code\", string_type]], [], [], [[\"code\", string_type]], [], []]);\n}\n\nexport const login = R__page_1505(R__segment_Z721C83C5(R_create(), \"login\"), new Page(0));\n\nexport const index = R__page_1505(R_create(), new Page(5));\n\nexport const dossiers = R__page_1505(R__segment_Z721C83C5(R_create(), \"dossiers\"), new Page(5));\n\nexport const dossierCreate = R__page_1505(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"dossiers\"), \"aanmaken\"), new Page(8));\n\nexport const dossierEdit = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"dossiers\"), \"bewerken\"), R_get_String()), (arg) => (new Page(7, arg)));\n\nexport const dossierDetail = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"dossiers\"), \"detail\"), R_get_String()), (arg) => (new Page(6, arg)));\n\nexport const settings = R__page_1505(R__segment_Z721C83C5(R_create(), \"settings\"), new Page(14));\n\nexport const customers = R__page_1505(R__segment_Z721C83C5(R_create(), \"customers\"), new Page(1));\n\nexport const customerCreate = R__page_1505(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"customers\"), \"aanmaken\"), new Page(4));\n\nexport const customerEdit = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"customers\"), \"bewerken\"), R_get_String()), (arg) => (new Page(3, arg)));\n\nexport const customerDetail = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"customers\"), \"detail\"), R_get_String()), (arg) => (new Page(2, arg)));\n\nexport const publicCibForm = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R_create(), \"cib\"), R_get_String()), (arg) => (new Page(9, arg)));\n\nexport const compensations = R__page_1505(R__segment_Z721C83C5(R_create(), \"compensation\"), new Page(10));\n\nexport const compensationEdit = R__page_1505(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"compensation\"), \"bewerken\"), new Page(11));\n\nexport const quotes = R__page_1505(R__segment_Z721C83C5(R_create(), \"quotes\"), new Page(13));\n\nexport const quoteDetail = R$1__page_6CB7246(R__param_Z2F4DFF34(R__segment_Z721C83C5(R__segment_Z721C83C5(R_create(), \"quotes\"), \"detail\"), R_get_String()), (arg) => (new Page(12, arg)));\n\nexport function mainRouter(url) {\n return Match_routes(ofArray([login, publicCibForm]), url);\n}\n\nexport function appRouter(url) {\n return Match_routes(ofArray([index, customers, customerCreate, customerEdit, customerDetail, dossiers, dossierCreate, dossierEdit, dossierDetail, compensations, compensationEdit, quotes, quoteDetail, settings]), url);\n}\n\n","import { Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { record_type, lambda_type, option_type, unit_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { map2, some, value as value_1, map } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\n\nexport class FormValidator$1 extends Record {\n constructor(Validate) {\n super();\n this.Validate = Validate;\n }\n}\n\nexport function FormValidator$1$reflection(gen0) {\n return record_type(\"ComposedForm.FormValidator`1\", [gen0], FormValidator$1, () => [[\"Validate\", lambda_type(unit_type, option_type(gen0))]]);\n}\n\nexport function FormValidator$1_map(mapper, formValidate) {\n return new FormValidator$1(() => map(mapper, formValidate.Validate()));\n}\n\nexport function useFormField(initialValue, validator) {\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(initialValue);\n const setFieldValue = patternInput_1[1];\n const fieldValue = patternInput_1[0];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(false);\n const setError = patternInput_2[1];\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(false);\n const setTouched = patternInput_3[1];\n return {\n Error: patternInput_2[0],\n FieldValue: fieldValue,\n Reset: () => {\n setFieldValue(initialValue);\n setError(false);\n setTouched(false);\n },\n SetFieldValue: (x) => {\n setTouched(true);\n setFieldValue(x);\n },\n ShowErrorState: () => {\n setError(true);\n },\n Touched: patternInput_3[0],\n Validator: new FormValidator$1(() => {\n const matchValue = validator(fieldValue);\n if (matchValue == null) {\n setError(true);\n return void 0;\n }\n else {\n const x_1 = value_1(matchValue);\n setError(false);\n patternInput[1](some(x_1));\n return some(x_1);\n }\n }),\n Value: patternInput[0],\n };\n}\n\nexport function useForm() {\n return new FormValidator$1(() => some(void 0));\n}\n\nexport function useFormValidator(fieldValidator, builder, prevValidate) {\n return new FormValidator$1(() => {\n const currentFieldResult = fieldValidator.Validate();\n return map2(builder, prevValidate.Validate(), currentFieldResult);\n });\n}\n\n","import { equals } from \"./Util.js\";\nimport { Union } from \"./Types.js\";\nconst CaseRules = {\n None: 0,\n LowerFirst: 1,\n SnakeCase: 2,\n SnakeCaseAllCaps: 3,\n KebabCase: 4,\n};\nfunction dashify(str, separator) {\n return str.replace(/[a-z]?[A-Z]/g, (m) => m.length === 1\n ? m.toLowerCase()\n : m.charAt(0) + separator + m.charAt(1).toLowerCase());\n}\nfunction changeCase(str, caseRule) {\n switch (caseRule) {\n case CaseRules.LowerFirst:\n return str.charAt(0).toLowerCase() + str.slice(1);\n case CaseRules.SnakeCase:\n return dashify(str, \"_\");\n case CaseRules.SnakeCaseAllCaps:\n return dashify(str, \"_\").toUpperCase();\n case CaseRules.KebabCase:\n return dashify(str, \"-\");\n case CaseRules.None:\n default:\n return str;\n }\n}\nexport function keyValueList(fields, caseRule = CaseRules.None) {\n const obj = {};\n const definedCaseRule = caseRule;\n function fail(kvPair) {\n throw new Error(\"Cannot infer key and value of \" + String(kvPair));\n }\n function assign(key, caseRule, value) {\n key = changeCase(key, caseRule);\n obj[key] = value;\n }\n for (let kvPair of fields) {\n let caseRule = CaseRules.None;\n if (kvPair == null) {\n fail(kvPair);\n }\n // Deflate unions and use the defined case rule\n if (kvPair instanceof Union) {\n const name = kvPair.cases()[kvPair.tag];\n kvPair = kvPair.fields.length === 0 ? name : [name].concat(kvPair.fields);\n caseRule = definedCaseRule;\n }\n if (Array.isArray(kvPair)) {\n switch (kvPair.length) {\n case 0:\n fail(kvPair);\n break;\n case 1:\n assign(kvPair[0], caseRule, true);\n break;\n case 2:\n const value = kvPair[1];\n assign(kvPair[0], caseRule, value);\n break;\n default:\n assign(kvPair[0], caseRule, kvPair.slice(1));\n }\n }\n else if (typeof kvPair === \"string\") {\n assign(kvPair, caseRule, true);\n }\n else {\n fail(kvPair);\n }\n }\n return obj;\n}\n// TODO: Move these methods to Map and Set modules\nexport function containsValue(v, map) {\n for (const kv of map) {\n if (equals(v, kv[1])) {\n return true;\n }\n }\n return false;\n}\nexport function tryGetValue(map, key, defaultValue) {\n if (map.has(key)) {\n defaultValue.contents = map.get(key);\n return true;\n }\n return false;\n}\nexport function addToSet(v, set) {\n if (set.has(v)) {\n return false;\n }\n set.add(v);\n return true;\n}\nexport function addToDict(dict, k, v) {\n if (dict.has(k)) {\n throw new Error(\"An item with the same key has already been added. Key: \" + k);\n }\n dict.set(k, v);\n}\nexport function getItemFromDict(map, key) {\n if (map.has(key)) {\n return map.get(key);\n }\n else {\n throw new Error(`The given key '${key}' was not present in the dictionary.`);\n }\n}\n","import { disposeSafe, equals, toIterator, getEnumerator } from \"./Util.js\";\r\nimport { iterate, map, delay, toArray, iterateIndexed, concat } from \"./Seq.js\";\r\nimport { FSharpRef } from \"./Types.js\";\r\nimport { class_type } from \"./Reflection.js\";\r\nimport { getItemFromDict, tryGetValue } from \"./MapUtil.js\";\r\nimport { format } from \"./String.js\";\r\n\r\nexport class Dictionary {\r\n constructor(pairs, comparer) {\r\n const this$ = new FSharpRef(null);\r\n this.comparer = comparer;\r\n this$.contents = this;\r\n this.hashMap = (new Map([]));\r\n this[\"init@8-1\"] = 1;\r\n const enumerator = getEnumerator(pairs);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const pair = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n Dictionary__Add_5BDDA1(this$.contents, pair[0], pair[1]);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n }\r\n get [Symbol.toStringTag]() {\r\n return \"Dictionary\";\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return Array.from(this$);\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const this$ = this;\r\n return getEnumerator(this$);\r\n }\r\n GetEnumerator() {\r\n const this$ = this;\r\n return getEnumerator(concat(this$.hashMap.values()));\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Add2B595\"](item) {\r\n const this$ = this;\r\n Dictionary__Add_5BDDA1(this$, item[0], item[1]);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Clear\"]() {\r\n const this$ = this;\r\n Dictionary__Clear(this$);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Contains2B595\"](item) {\r\n const this$ = this;\r\n const matchValue = Dictionary__TryFind_2B595(this$, item[0]);\r\n let pattern_matching_result;\r\n if (matchValue != null) {\r\n if (equals(matchValue[1], item[1])) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return true;\r\n }\r\n case 1: {\r\n return false;\r\n }\r\n }\r\n }\r\n [\"System.Collections.Generic.ICollection`1.CopyToZ2E171D71\"](array, arrayIndex) {\r\n const this$ = this;\r\n iterateIndexed((i, e) => {\r\n array[arrayIndex + i] = e;\r\n }, this$);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_Count\"]() {\r\n const this$ = this;\r\n return Dictionary__get_Count(this$) | 0;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_IsReadOnly\"]() {\r\n return false;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Remove2B595\"](item) {\r\n const this$ = this;\r\n const matchValue = Dictionary__TryFind_2B595(this$, item[0]);\r\n if (matchValue != null) {\r\n if (equals(matchValue[1], item[1])) {\r\n Dictionary__Remove_2B595(this$, item[0]);\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.Add5BDDA1\"](key, value) {\r\n const this$ = this;\r\n Dictionary__Add_5BDDA1(this$, key, value);\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.ContainsKey2B595\"](key) {\r\n const this$ = this;\r\n return Dictionary__ContainsKey_2B595(this$, key);\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.get_Item2B595\"](key) {\r\n const this$ = this;\r\n return Dictionary__get_Item_2B595(this$, key);\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.set_Item5BDDA1\"](key, v) {\r\n const this$ = this;\r\n Dictionary__set_Item_5BDDA1(this$, key, v);\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.get_Keys\"]() {\r\n const this$ = this;\r\n return toArray(delay(() => map((pair) => pair[0], this$)));\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.Remove2B595\"](key) {\r\n const this$ = this;\r\n return Dictionary__Remove_2B595(this$, key);\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.TryGetValue23A0B95A\"](key, value) {\r\n const this$ = this;\r\n const matchValue = Dictionary__TryFind_2B595(this$, key);\r\n if (matchValue != null) {\r\n const pair = matchValue;\r\n value.contents = pair[1];\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n [\"System.Collections.Generic.IDictionary`2.get_Values\"]() {\r\n const this$ = this;\r\n return toArray(delay(() => map((pair) => pair[1], this$)));\r\n }\r\n get size() {\r\n const this$ = this;\r\n return Dictionary__get_Count(this$) | 0;\r\n }\r\n clear() {\r\n const this$ = this;\r\n Dictionary__Clear(this$);\r\n }\r\n delete(k) {\r\n const this$ = this;\r\n return Dictionary__Remove_2B595(this$, k);\r\n }\r\n entries() {\r\n const this$ = this;\r\n return map((p) => [p[0], p[1]], this$);\r\n }\r\n get(k) {\r\n const this$ = this;\r\n return Dictionary__get_Item_2B595(this$, k);\r\n }\r\n has(k) {\r\n const this$ = this;\r\n return Dictionary__ContainsKey_2B595(this$, k);\r\n }\r\n keys() {\r\n const this$ = this;\r\n return map((p) => p[0], this$);\r\n }\r\n set(k, v) {\r\n const this$ = this;\r\n Dictionary__set_Item_5BDDA1(this$, k, v);\r\n return this$;\r\n }\r\n values() {\r\n const this$ = this;\r\n return map((p) => p[1], this$);\r\n }\r\n forEach(f, thisArg) {\r\n const this$ = this;\r\n iterate((p) => {\r\n f(p[1], p[0], this$);\r\n }, this$);\r\n }\r\n}\r\n\r\nexport function Dictionary$reflection(gen0, gen1) {\r\n return class_type(\"Fable.Collections.Dictionary\", [gen0, gen1], Dictionary);\r\n}\r\n\r\nexport function Dictionary_$ctor_6623D9B3(pairs, comparer) {\r\n return new Dictionary(pairs, comparer);\r\n}\r\n\r\nfunction Dictionary__TryFindIndex_2B595(this$, k) {\r\n const h = this$.comparer.GetHashCode(k) | 0;\r\n let matchValue;\r\n let outArg = null;\r\n matchValue = [tryGetValue(this$.hashMap, h, new FSharpRef(() => outArg, (v) => {\r\n outArg = v;\r\n })), outArg];\r\n if (matchValue[0]) {\r\n return [true, h, matchValue[1].findIndex((pair) => this$.comparer.Equals(k, pair[0]))];\r\n }\r\n else {\r\n return [false, h, -1];\r\n }\r\n}\r\n\r\nexport function Dictionary__TryFind_2B595(this$, k) {\r\n const matchValue = Dictionary__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return getItemFromDict(this$.hashMap, matchValue[1])[matchValue[2]];\r\n }\r\n case 1: {\r\n return void 0;\r\n }\r\n }\r\n}\r\n\r\nexport function Dictionary__get_Comparer(this$) {\r\n return this$.comparer;\r\n}\r\n\r\nexport function Dictionary__Clear(this$) {\r\n this$.hashMap.clear();\r\n}\r\n\r\nexport function Dictionary__get_Count(this$) {\r\n let count = 0;\r\n let enumerator = getEnumerator(this$.hashMap.values());\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const pairs = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n count = ((count + pairs.length) | 0);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n return count | 0;\r\n}\r\n\r\nexport function Dictionary__get_Item_2B595(this$, k) {\r\n const matchValue = Dictionary__TryFind_2B595(this$, k);\r\n if (matchValue != null) {\r\n return matchValue[1];\r\n }\r\n else {\r\n throw (new Error(\"The item was not found in collection\"));\r\n }\r\n}\r\n\r\nexport function Dictionary__set_Item_5BDDA1(this$, k, v) {\r\n const matchValue = Dictionary__TryFindIndex_2B595(this$, k);\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n getItemFromDict(this$.hashMap, matchValue[1])[matchValue[2]] = [k, v];\r\n }\r\n else {\r\n const value = void (getItemFromDict(this$.hashMap, matchValue[1]).push([k, v]));\r\n }\r\n }\r\n else {\r\n this$.hashMap.set(matchValue[1], [[k, v]]);\r\n }\r\n}\r\n\r\nexport function Dictionary__Add_5BDDA1(this$, k, v) {\r\n const matchValue = Dictionary__TryFindIndex_2B595(this$, k);\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n const msg = format(\"An item with the same key has already been added. Key: {0}\", k);\r\n throw (new Error(msg));\r\n }\r\n else {\r\n const value = void (getItemFromDict(this$.hashMap, matchValue[1]).push([k, v]));\r\n }\r\n }\r\n else {\r\n this$.hashMap.set(matchValue[1], [[k, v]]);\r\n }\r\n}\r\n\r\nexport function Dictionary__ContainsKey_2B595(this$, k) {\r\n const matchValue = Dictionary__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return true;\r\n }\r\n case 1: {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport function Dictionary__Remove_2B595(this$, k) {\r\n const matchValue = Dictionary__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n getItemFromDict(this$.hashMap, matchValue[1]).splice(matchValue[2], 1);\r\n return true;\r\n }\r\n case 1: {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { union_type } from \"../../fable-library.3.7.17/Reflection.js\";\n\nexport class Html extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"A\", \"All\", \"Abbr\", \"Acronym\", \"Address\", \"Applet\", \"Area\", \"Article\", \"Aside\", \"Audio\", \"B\", \"Base\", \"Basefont\", \"Bdo\", \"Big\", \"Blockquote\", \"Body\", \"Br\", \"Button\", \"Canvas\", \"Caption\", \"Center\", \"Cite\", \"Code\", \"Col\", \"Colgroup\", \"Datalist\", \"Dd\", \"Del\", \"Dfn\", \"Div\", \"Dl\", \"Dt\", \"Em\", \"Embed\", \"Fieldset\", \"Figcaption\", \"Figure\", \"Font\", \"Footer\", \"Form\", \"Frame\", \"Frameset\", \"Head\", \"Header\", \"H1\", \"H2\", \"H3\", \"H4\", \"H5\", \"H6\", \"Hr\", \"Html\", \"I\", \"Iframe\", \"Img\", \"Input\", \"Ins\", \"Kbd\", \"Label\", \"Legend\", \"Li\", \"Link\", \"Main\", \"Map\", \"Mark\", \"Meta\", \"Meter\", \"Nav\", \"Noscript\", \"Object\", \"Ol\", \"Optgroup\", \"Option\", \"P\", \"Param\", \"Pre\", \"Progress\", \"Q\", \"S\", \"Samp\", \"Script\", \"Section\", \"Select\", \"Small\", \"Source\", \"Span\", \"Strike\", \"Strong\", \"Style\", \"Sub\", \"Sup\", \"Table\", \"Tbody\", \"Td\", \"Textarea\", \"Tfoot\", \"Th\", \"Thead\", \"Time\", \"Title\", \"Tr\", \"U\", \"Ul\", \"Var\", \"Video\", \"Wbr\"];\n }\n}\n\nexport function Html$reflection() {\n return union_type(\"Fss.Types.Html.Html\", [], Html, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport function Html__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"*\";\n }\n case 2: {\n return \"abbr\";\n }\n case 3: {\n return \"acronym\";\n }\n case 4: {\n return \"address\";\n }\n case 5: {\n return \"applet\";\n }\n case 6: {\n return \"area\";\n }\n case 7: {\n return \"article\";\n }\n case 8: {\n return \"aside\";\n }\n case 9: {\n return \"audio\";\n }\n case 10: {\n return \"b\";\n }\n case 11: {\n return \"base\";\n }\n case 12: {\n return \"basefront\";\n }\n case 13: {\n return \"bdo\";\n }\n case 14: {\n return \"big\";\n }\n case 15: {\n return \"blockquote\";\n }\n case 16: {\n return \"body\";\n }\n case 17: {\n return \"br\";\n }\n case 18: {\n return \"button\";\n }\n case 19: {\n return \"canvas\";\n }\n case 20: {\n return \"caption\";\n }\n case 21: {\n return \"center\";\n }\n case 22: {\n return \"cite\";\n }\n case 23: {\n return \"code\";\n }\n case 24: {\n return \"col\";\n }\n case 25: {\n return \"colgroup\";\n }\n case 26: {\n return \"datalist\";\n }\n case 27: {\n return \"dd\";\n }\n case 28: {\n return \"del\";\n }\n case 29: {\n return \"dfn\";\n }\n case 30: {\n return \"div\";\n }\n case 31: {\n return \"dl\";\n }\n case 32: {\n return \"dt\";\n }\n case 33: {\n return \"em\";\n }\n case 34: {\n return \"embed\";\n }\n case 35: {\n return \"fieldset\";\n }\n case 36: {\n return \"figcaption\";\n }\n case 37: {\n return \"figure\";\n }\n case 38: {\n return \"font\";\n }\n case 39: {\n return \"footer\";\n }\n case 40: {\n return \"form\";\n }\n case 41: {\n return \"frame\";\n }\n case 42: {\n return \"frameset\";\n }\n case 43: {\n return \"head\";\n }\n case 44: {\n return \"header\";\n }\n case 45: {\n return \"h1\";\n }\n case 46: {\n return \"h2\";\n }\n case 47: {\n return \"h3\";\n }\n case 48: {\n return \"h4\";\n }\n case 49: {\n return \"h5\";\n }\n case 50: {\n return \"h6\";\n }\n case 51: {\n return \"hr\";\n }\n case 52: {\n return \"html\";\n }\n case 53: {\n return \"i\";\n }\n case 54: {\n return \"iframe\";\n }\n case 55: {\n return \"img\";\n }\n case 56: {\n return \"input\";\n }\n case 57: {\n return \"ins\";\n }\n case 58: {\n return \"kdb\";\n }\n case 59: {\n return \"label\";\n }\n case 60: {\n return \"legend\";\n }\n case 61: {\n return \"li\";\n }\n case 62: {\n return \"link\";\n }\n case 63: {\n return \"main\";\n }\n case 64: {\n return \"map\";\n }\n case 65: {\n return \"mark\";\n }\n case 66: {\n return \"meta\";\n }\n case 67: {\n return \"meter\";\n }\n case 68: {\n return \"nav\";\n }\n case 69: {\n return \"noscript\";\n }\n case 70: {\n return \"object\";\n }\n case 71: {\n return \"ol\";\n }\n case 72: {\n return \"optgroup\";\n }\n case 73: {\n return \"option\";\n }\n case 74: {\n return \"p\";\n }\n case 75: {\n return \"param\";\n }\n case 76: {\n return \"pre\";\n }\n case 77: {\n return \"progress\";\n }\n case 78: {\n return \"q\";\n }\n case 79: {\n return \"s\";\n }\n case 80: {\n return \"samp\";\n }\n case 81: {\n return \"script\";\n }\n case 82: {\n return \"section\";\n }\n case 83: {\n return \"select\";\n }\n case 84: {\n return \"small\";\n }\n case 85: {\n return \"source\";\n }\n case 86: {\n return \"span\";\n }\n case 87: {\n return \"strike\";\n }\n case 88: {\n return \"strong\";\n }\n case 89: {\n return \"style\";\n }\n case 90: {\n return \"sub\";\n }\n case 91: {\n return \"sup\";\n }\n case 92: {\n return \"table\";\n }\n case 93: {\n return \"tbody\";\n }\n case 94: {\n return \"td\";\n }\n case 95: {\n return \"textarea\";\n }\n case 96: {\n return \"tfoot\";\n }\n case 97: {\n return \"th\";\n }\n case 98: {\n return \"thead\";\n }\n case 99: {\n return \"time\";\n }\n case 100: {\n return \"title\";\n }\n case 101: {\n return \"tr\";\n }\n case 102: {\n return \"u\";\n }\n case 103: {\n return \"ul\";\n }\n case 104: {\n return \"var\";\n }\n case 105: {\n return \"video\";\n }\n case 106: {\n return \"wbr\";\n }\n default: {\n return \"a\";\n }\n }\n}\n\n","import { Dictionary } from \"../../fable-library.3.7.17/MutableMap.js\";\nimport { int32ToString, structuralHash, equals } from \"../../fable-library.3.7.17/Util.js\";\nimport { addToDict, getItemFromDict } from \"../../fable-library.3.7.17/MapUtil.js\";\nimport { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { list_type, tuple_type, class_type, int32_type, float64_type, string_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Html$reflection, Html__Stringify } from \"./Html.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\n\nexport const MasterTypeHelpers_cache = new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n});\n\nexport function MasterTypeHelpers_stringifyICssValue(cssValue) {\n if (MasterTypeHelpers_cache.has(cssValue)) {\n return getItemFromDict(MasterTypeHelpers_cache, cssValue);\n }\n else {\n const newValue = cssValue.StringifyCss();\n addToDict(MasterTypeHelpers_cache, cssValue, newValue);\n return newValue;\n }\n}\n\nexport function MasterTypeHelpers_stringifyICounterValue(cssValue) {\n return cssValue.StringifyCounter();\n}\n\nexport function MasterTypeHelpers_stringifyIFontFaceValue(cssValue) {\n return cssValue.StringifyFontFace();\n}\n\nexport class Property_FontFaceProperty extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AscentOverride\", \"DescentOverride\", \"FontDisplay\", \"FontFamily\", \"FontStretch\", \"FontStyle\", \"FontWeight\", \"FontVariant\", \"FontFeatureSettings\", \"FontVariationSettings\", \"LineGapOverride\", \"SizeAdjust\", \"Src\", \"UnicodeRange\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"descent-override\";\n }\n case 2: {\n return \"font-display\";\n }\n case 3: {\n return \"font-family\";\n }\n case 4: {\n return \"font-stretch\";\n }\n case 5: {\n return \"font-style\";\n }\n case 6: {\n return \"font-weight\";\n }\n case 7: {\n return \"font-variant\";\n }\n case 8: {\n return \"font-feature-settings\";\n }\n case 9: {\n return \"font-variation-settings\";\n }\n case 10: {\n return \"line-gap-override\";\n }\n case 11: {\n return \"size-adjust\";\n }\n case 12: {\n return \"src\";\n }\n case 13: {\n return \"unicode-range\";\n }\n default: {\n return \"ascent-override\";\n }\n }\n }\n}\n\nexport function Property_FontFaceProperty$reflection() {\n return union_type(\"Fss.Types.Property.FontFaceProperty\", [], Property_FontFaceProperty, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Property_CounterProperty extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"System\", \"Negative\", \"Prefix\", \"Suffix\", \"Range\", \"Pad\", \"Fallback\", \"Symbols\", \"AdditiveSymbols\", \"SpeakAs\", \"NameLabel\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"negative\";\n }\n case 2: {\n return \"prefix\";\n }\n case 3: {\n return \"suffix\";\n }\n case 4: {\n return \"range\";\n }\n case 5: {\n return \"pad\";\n }\n case 6: {\n return \"fallback\";\n }\n case 7: {\n return \"symbols\";\n }\n case 8: {\n return \"additive-symbols\";\n }\n case 9: {\n return \"speak-as\";\n }\n case 10: {\n return \"name-label\";\n }\n default: {\n return \"system\";\n }\n }\n }\n}\n\nexport function Property_CounterProperty$reflection() {\n return union_type(\"Fss.Types.Property.CounterProperty\", [], Property_CounterProperty, () => [[], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Property_CssProperty extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Appearance\", \"AlignContent\", \"AlignItems\", \"AlignSelf\", \"All\", \"AnimationDelay\", \"AnimationDirection\", \"AnimationDuration\", \"AnimationFillMode\", \"AnimationIterationCount\", \"AnimationName\", \"AnimationPlayState\", \"AnimationTimingFunction\", \"AspectRatio\", \"BackfaceVisibility\", \"BackgroundAttachment\", \"BackgroundBlendMode\", \"BackgroundClip\", \"BackgroundColor\", \"BackgroundImage\", \"BackgroundOrigin\", \"BackgroundPosition\", \"BackgroundRepeat\", \"BackgroundSize\", \"BackdropFilter\", \"Bleed\", \"Border\", \"BorderBottomColor\", \"BorderBottomLeftRadius\", \"BorderBottomRightRadius\", \"BorderBottomStyle\", \"BorderBottomWidth\", \"BorderBottom\", \"BorderCollapse\", \"BorderColor\", \"BorderImage\", \"BorderImageOutset\", \"BorderImageRepeat\", \"BorderImageSource\", \"BorderImageSlice\", \"BorderImageWidth\", \"BorderLeftColor\", \"BorderLeftStyle\", \"BorderLeftWidth\", \"BorderLeft\", \"BorderRadius\", \"BorderRightColor\", \"BorderRightStyle\", \"BorderRightWidth\", \"BorderRight\", \"BorderSpacing\", \"BorderStyle\", \"BorderTopColor\", \"BorderTopLeftRadius\", \"BorderTopRightRadius\", \"BorderTopStyle\", \"BorderTopWidth\", \"BorderTop\", \"BorderWidth\", \"BorderBlockColor\", \"Bottom\", \"BoxDecorationBreak\", \"BoxShadow\", \"BoxSizing\", \"BreakAfter\", \"BreakBefore\", \"BreakInside\", \"CaptionSide\", \"CaretColor\", \"Clear\", \"Clip\", \"ClipPath\", \"Color\", \"ColorAdjust\", \"Columns\", \"ColumnCount\", \"ColumnFill\", \"ColumnGap\", \"ColumnRule\", \"ColumnRuleColor\", \"ColumnRuleStyle\", \"ColumnRuleWidth\", \"ColumnSpan\", \"ColumnWidth\", \"Content\", \"CounterIncrement\", \"CounterReset\", \"CounterSet\", \"CueAfter\", \"CueBefore\", \"Cue\", \"Cursor\", \"Direction\", \"Display\", \"Elevation\", \"EmptyCells\", \"Filter\", \"Flex\", \"FlexBasis\", \"FlexDirection\", \"FontFeatureSettings\", \"FontVariationSettings\", \"FlexFlow\", \"FlexGrow\", \"FlexShrink\", \"FlexWrap\", \"Float\", \"FontFamily\", \"FontKerning\", \"FontLanguageOverride\", \"FontSizeAdjust\", \"FontSize\", \"FontStretch\", \"FontStyle\", \"FontDisplay\", \"FontSynthesis\", \"FontVariant\", \"FontVariantAlternates\", \"FontVariantCaps\", \"FontVariantEastAsian\", \"FontVariantLigatures\", \"FontVariantNumeric\", \"FontVariantPosition\", \"FontWeight\", \"Font\", \"GridArea\", \"GridAutoColumns\", \"GridAutoFlow\", \"GridAutoRows\", \"GridColumnEnd\", \"GridColumnStart\", \"GridColumn\", \"GridGap\", \"GridRowEnd\", \"GridRowGap\", \"GridColumnGap\", \"GridRowStart\", \"GridRow\", \"GridTemplateAreas\", \"GridTemplateColumns\", \"GridTemplateRows\", \"GridTemplate\", \"Grid\", \"HangingPunctuation\", \"Height\", \"Hyphens\", \"Isolation\", \"ImageRendering\", \"JustifyContent\", \"JustifyItems\", \"JustifySelf\", \"Left\", \"LetterSpacing\", \"LineBreak\", \"LineHeight\", \"ListStyle\", \"ListStyleImage\", \"ListStylePosition\", \"ListStyleType\", \"LineGapOverride\", \"MaskClip\", \"MaskComposite\", \"MaskImage\", \"MaskMode\", \"MaskOrigin\", \"MaskPosition\", \"MaskRepeat\", \"MaskSize\", \"MarginBottom\", \"MarginLeft\", \"MarginRight\", \"MarginTop\", \"Margin\", \"MarginInlineStart\", \"MarginInlineEnd\", \"MarginBlockStart\", \"MarginBlockEnd\", \"MarkerOffset\", \"Marks\", \"MaxHeight\", \"MaxWidth\", \"MinHeight\", \"MinWidth\", \"MixBlendMode\", \"NavUp\", \"NavDown\", \"NavLeft\", \"NavRight\", \"Opacity\", \"Order\", \"Orphans\", \"OutlineColor\", \"OutlineOffset\", \"OutlineStyle\", \"OutlineWidth\", \"Outline\", \"Overflow\", \"OverflowWrap\", \"OverflowX\", \"OverflowY\", \"ObjectFit\", \"ObjectPosition\", \"PaddingBottom\", \"PaddingLeft\", \"PaddingRight\", \"PaddingTop\", \"Padding\", \"PaddingInlineStart\", \"PaddingInlineEnd\", \"PaddingBlockStart\", \"PaddingBlockEnd\", \"Page\", \"PauseAfter\", \"PauseBefore\", \"Pause\", \"PaintOrder\", \"PointerEvents\", \"Perspective\", \"PerspectiveOrigin\", \"PitchRange\", \"Pitch\", \"PlaceContent\", \"PlaceItems\", \"PlaceSelf\", \"PlayDuring\", \"Position\", \"Quotes\", \"Resize\", \"RestAfter\", \"RestBefore\", \"Rest\", \"Richness\", \"Right\", \"Size\", \"SpeakHeader\", \"SpeakNumeral\", \"SpeakPunctuation\", \"Src\", \"Speak\", \"SpeechRate\", \"Stress\", \"ScrollBehavior\", \"ScrollMarginBottom\", \"ScrollMarginLeft\", \"ScrollMarginRight\", \"ScrollMarginTop\", \"ScrollMargin\", \"ScrollPaddingBottom\", \"ScrollPaddingLeft\", \"ScrollPaddingRight\", \"ScrollPaddingTop\", \"ScrollPadding\", \"ScrollSnapType\", \"ScrollSnapAlign\", \"ScrollSnapStop\", \"SizeAdjust\", \"OverscrollBehaviorX\", \"OverscrollBehaviorY\", \"TabSize\", \"TableLayout\", \"TextAlign\", \"TextAlignLast\", \"TextDecoration\", \"TextDecorationColor\", \"TextDecorationLine\", \"TextDecorationThickness\", \"TextDecorationSkip\", \"TextDecorationSkipInk\", \"TextDecorationStyle\", \"TextIndent\", \"TextOverflow\", \"TextShadow\", \"TextTransform\", \"TextEmphasis\", \"TextEmphasisColor\", \"TextEmphasisPosition\", \"TextEmphasisStyle\", \"TextUnderlineOffset\", \"TextUnderlinePosition\", \"TextSizeAdjust\", \"TextOrientation\", \"TextRendering\", \"TextJustify\", \"Top\", \"Transform\", \"TransformOrigin\", \"TransformStyle\", \"Transition\", \"TransitionDelay\", \"TransitionDuration\", \"TransitionProperty\", \"TransitionTimingFunction\", \"UnicodeBidi\", \"UnicodeRange\", \"UserSelect\", \"VerticalAlign\", \"Visibility\", \"VoiceBalance\", \"VoiceDuration\", \"VoiceFamily\", \"VoicePitch\", \"VoiceRange\", \"VoiceRate\", \"VoiceStress\", \"VoiceVolume\", \"Volume\", \"WhiteSpace\", \"Widows\", \"Width\", \"WillChange\", \"WordBreak\", \"WordSpacing\", \"WordWrap\", \"WritingMode\", \"ZIndex\", \"Active\", \"AnyLink\", \"Blank\", \"Checked\", \"Current\", \"Disabled\", \"Empty\", \"Enabled\", \"FirstChild\", \"FirstOfType\", \"Focus\", \"FocusVisible\", \"FocusWithin\", \"Future\", \"Hover\", \"Indeterminate\", \"Invalid\", \"InRange\", \"Lang\", \"LastChild\", \"LastOfType\", \"Link\", \"LocalLink\", \"NthChild\", \"NthLastChild\", \"NthLastOfType\", \"NthOfType\", \"OnlyChild\", \"OnlyOfType\", \"Optional\", \"OutOfRange\", \"Past\", \"Playing\", \"Paused\", \"PlaceholderShown\", \"ReadOnly\", \"ReadWrite\", \"Required\", \"Root\", \"Scope\", \"Target\", \"TargetWithin\", \"Valid\", \"Visited\", \"UserInvalid\", \"After\", \"Before\", \"FirstLetter\", \"FirstLine\", \"Selection\", \"Marker\", \"AlignmentBaseline\", \"BaselineShift\", \"DominantBaseline\", \"TextAnchor\", \"ClipRule\", \"FloodColor\", \"FloodOpacity\", \"LightingColor\", \"StopColor\", \"StopOpacity\", \"ColorInterpolation\", \"ColorInterpolationFilters\", \"Label\", \"Fill\", \"FillOpacity\", \"FillRule\", \"ShapeRendering\", \"Stroke\", \"StrokeOpacity\", \"StrokeDasharray\", \"StrokeDashoffset\", \"StrokeLinecap\", \"StrokeLinejoin\", \"StrokeMiterlimit\", \"StrokeWidth\", \"NameLabel\", \"AdjacentSibling\", \"GeneralSibling\", \"Child\", \"Descendant\", \"Custom\", \"Media\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"align-content\";\n }\n case 2: {\n return \"align-items\";\n }\n case 3: {\n return \"align-self\";\n }\n case 4: {\n return \"all\";\n }\n case 5: {\n return \"animation-delay\";\n }\n case 6: {\n return \"animation-direction\";\n }\n case 7: {\n return \"animation-duration\";\n }\n case 8: {\n return \"animation-fill-mode\";\n }\n case 9: {\n return \"animation-iteration-count\";\n }\n case 10: {\n return \"animation-name\";\n }\n case 11: {\n return \"animation-play-state\";\n }\n case 12: {\n return \"animation-timing-function\";\n }\n case 13: {\n return \"aspect-ratio\";\n }\n case 14: {\n return \"backface-visibility\";\n }\n case 15: {\n return \"background-attachment\";\n }\n case 16: {\n return \"background-blend-mode\";\n }\n case 17: {\n return \"background-clip\";\n }\n case 18: {\n return \"background-color\";\n }\n case 19: {\n return \"background-image\";\n }\n case 20: {\n return \"background-origin\";\n }\n case 21: {\n return \"background-position\";\n }\n case 22: {\n return \"background-repeat\";\n }\n case 23: {\n return \"background-size\";\n }\n case 24: {\n return \"backdrop-filter\";\n }\n case 25: {\n return \"bleed\";\n }\n case 26: {\n return \"border\";\n }\n case 27: {\n return \"border-bottom-color\";\n }\n case 28: {\n return \"border-bottom-left-radius\";\n }\n case 29: {\n return \"border-bottom-right-radius\";\n }\n case 30: {\n return \"border-bottom-style\";\n }\n case 31: {\n return \"border-bottom-width\";\n }\n case 32: {\n return \"border-bottom\";\n }\n case 33: {\n return \"border-collapse\";\n }\n case 34: {\n return \"border-color\";\n }\n case 35: {\n return \"border-image\";\n }\n case 36: {\n return \"border-image-outset\";\n }\n case 37: {\n return \"border-image-repeat\";\n }\n case 38: {\n return \"border-image-source\";\n }\n case 39: {\n return \"border-image-slice\";\n }\n case 40: {\n return \"border-image-width\";\n }\n case 41: {\n return \"border-left-color\";\n }\n case 42: {\n return \"border-left-style\";\n }\n case 43: {\n return \"border-left-width\";\n }\n case 44: {\n return \"border-left\";\n }\n case 45: {\n return \"border-radius\";\n }\n case 46: {\n return \"border-right-color\";\n }\n case 47: {\n return \"border-right-style\";\n }\n case 48: {\n return \"border-right-width\";\n }\n case 49: {\n return \"border-right\";\n }\n case 50: {\n return \"border-spacing\";\n }\n case 51: {\n return \"border-style\";\n }\n case 52: {\n return \"border-top-color\";\n }\n case 53: {\n return \"border-top-left-radius\";\n }\n case 54: {\n return \"border-top-right-radius\";\n }\n case 55: {\n return \"border-top-style\";\n }\n case 56: {\n return \"border-top-width\";\n }\n case 57: {\n return \"border-top\";\n }\n case 58: {\n return \"border-width\";\n }\n case 59: {\n return \"border-block-color\";\n }\n case 60: {\n return \"bottom\";\n }\n case 61: {\n return \"box-decoration-break\";\n }\n case 62: {\n return \"box-shadow\";\n }\n case 63: {\n return \"box-sizing\";\n }\n case 64: {\n return \"break-after\";\n }\n case 65: {\n return \"break-before\";\n }\n case 66: {\n return \"break-inside\";\n }\n case 67: {\n return \"caption-side\";\n }\n case 68: {\n return \"caret-color\";\n }\n case 69: {\n return \"clear\";\n }\n case 70: {\n return \"clip\";\n }\n case 71: {\n return \"clip-path\";\n }\n case 72: {\n return \"color\";\n }\n case 73: {\n return \"color-adjust\";\n }\n case 74: {\n return \"columns\";\n }\n case 75: {\n return \"column-count\";\n }\n case 76: {\n return \"column-fill\";\n }\n case 77: {\n return \"column-gap\";\n }\n case 78: {\n return \"column-rule\";\n }\n case 79: {\n return \"column-rule-color\";\n }\n case 80: {\n return \"column-rule-style\";\n }\n case 81: {\n return \"column-rule-width\";\n }\n case 82: {\n return \"column-span\";\n }\n case 83: {\n return \"column-width\";\n }\n case 84: {\n return \"content\";\n }\n case 85: {\n return \"counter-increment\";\n }\n case 86: {\n return \"counter-reset\";\n }\n case 87: {\n return \"counter-set\";\n }\n case 88: {\n return \"cue-after\";\n }\n case 89: {\n return \"cue-before\";\n }\n case 90: {\n return \"cue\";\n }\n case 91: {\n return \"cursor\";\n }\n case 92: {\n return \"direction\";\n }\n case 93: {\n return \"display\";\n }\n case 94: {\n return \"elevation\";\n }\n case 95: {\n return \"empty-cells\";\n }\n case 96: {\n return \"filter\";\n }\n case 97: {\n return \"flex\";\n }\n case 98: {\n return \"flex-basis\";\n }\n case 99: {\n return \"flex-direction\";\n }\n case 100: {\n return \"font-feature-settings\";\n }\n case 101: {\n return \"font-variation-settings\";\n }\n case 102: {\n return \"flex-flow\";\n }\n case 103: {\n return \"flex-grow\";\n }\n case 104: {\n return \"flex-shrink\";\n }\n case 105: {\n return \"flex-wrap\";\n }\n case 106: {\n return \"float\";\n }\n case 107: {\n return \"font-family\";\n }\n case 108: {\n return \"font-kerning\";\n }\n case 109: {\n return \"font-language-override\";\n }\n case 110: {\n return \"font-size-adjust\";\n }\n case 111: {\n return \"font-size\";\n }\n case 112: {\n return \"font-stretch\";\n }\n case 113: {\n return \"font-style\";\n }\n case 114: {\n return \"font-display\";\n }\n case 115: {\n return \"font-synthesis\";\n }\n case 116: {\n return \"font-variant\";\n }\n case 117: {\n return \"font-variant-alternates\";\n }\n case 118: {\n return \"font-variant-caps\";\n }\n case 119: {\n return \"font-variant-east-asian\";\n }\n case 120: {\n return \"font-variant-ligatures\";\n }\n case 121: {\n return \"font-variant-numeric\";\n }\n case 122: {\n return \"font-variant-position\";\n }\n case 123: {\n return \"font-weight\";\n }\n case 124: {\n return \"font\";\n }\n case 125: {\n return \"grid-area\";\n }\n case 126: {\n return \"grid-auto-columns\";\n }\n case 127: {\n return \"grid-auto-flow\";\n }\n case 128: {\n return \"grid-auto-rows\";\n }\n case 129: {\n return \"grid-column-end\";\n }\n case 130: {\n return \"grid-column-start\";\n }\n case 131: {\n return \"grid-column\";\n }\n case 132: {\n return \"grid-gap\";\n }\n case 133: {\n return \"grid-row-end\";\n }\n case 134: {\n return \"grid-row-gap\";\n }\n case 135: {\n return \"grid-column-gap\";\n }\n case 136: {\n return \"grid-row-start\";\n }\n case 137: {\n return \"grid-row\";\n }\n case 138: {\n return \"grid-template-areas\";\n }\n case 139: {\n return \"grid-template-columns\";\n }\n case 140: {\n return \"grid-template-rows\";\n }\n case 141: {\n return \"grid-template\";\n }\n case 142: {\n return \"grid\";\n }\n case 143: {\n return \"hanging-punctuation\";\n }\n case 144: {\n return \"height\";\n }\n case 145: {\n return \"hyphens\";\n }\n case 146: {\n return \"isolation\";\n }\n case 147: {\n return \"image-rendering\";\n }\n case 148: {\n return \"justify-content\";\n }\n case 149: {\n return \"justify-items\";\n }\n case 150: {\n return \"justify-self\";\n }\n case 151: {\n return \"left\";\n }\n case 152: {\n return \"letter-spacing\";\n }\n case 153: {\n return \"line-break\";\n }\n case 154: {\n return \"line-height\";\n }\n case 155: {\n return \"list-style\";\n }\n case 156: {\n return \"list-style-image\";\n }\n case 157: {\n return \"list-style-position\";\n }\n case 158: {\n return \"list-style-type\";\n }\n case 159: {\n return \"line-gap-override\";\n }\n case 160: {\n return \"mask-clip\";\n }\n case 161: {\n return \"mask-composite\";\n }\n case 162: {\n return \"mask-image\";\n }\n case 163: {\n return \"mask-mode\";\n }\n case 164: {\n return \"mask-origin\";\n }\n case 165: {\n return \"mask-position\";\n }\n case 166: {\n return \"mask-repeat\";\n }\n case 167: {\n return \"mask-size\";\n }\n case 168: {\n return \"margin-bottom\";\n }\n case 169: {\n return \"margin-left\";\n }\n case 170: {\n return \"margin-right\";\n }\n case 171: {\n return \"margin-top\";\n }\n case 172: {\n return \"margin\";\n }\n case 173: {\n return \"margin-inline-start\";\n }\n case 174: {\n return \"margin-inline-end\";\n }\n case 175: {\n return \"margin-block-start\";\n }\n case 176: {\n return \"margin-block-end\";\n }\n case 177: {\n return \"marker-offset\";\n }\n case 178: {\n return \"marks\";\n }\n case 179: {\n return \"max-height\";\n }\n case 180: {\n return \"max-width\";\n }\n case 181: {\n return \"min-height\";\n }\n case 182: {\n return \"min-width\";\n }\n case 183: {\n return \"mix-blend-mode\";\n }\n case 184: {\n return \"nav-up\";\n }\n case 185: {\n return \"nav-down\";\n }\n case 186: {\n return \"nav-left\";\n }\n case 187: {\n return \"nav-right\";\n }\n case 188: {\n return \"opacity\";\n }\n case 189: {\n return \"order\";\n }\n case 190: {\n return \"orphans\";\n }\n case 191: {\n return \"outline-color\";\n }\n case 192: {\n return \"outline-offset\";\n }\n case 193: {\n return \"outline-style\";\n }\n case 194: {\n return \"outline-width\";\n }\n case 195: {\n return \"outline\";\n }\n case 196: {\n return \"overflow\";\n }\n case 197: {\n return \"overflow-wrap\";\n }\n case 198: {\n return \"overflow-x\";\n }\n case 199: {\n return \"overflow-y\";\n }\n case 200: {\n return \"object-fit\";\n }\n case 201: {\n return \"object-position\";\n }\n case 202: {\n return \"padding-bottom\";\n }\n case 203: {\n return \"padding-left\";\n }\n case 204: {\n return \"padding-right\";\n }\n case 205: {\n return \"padding-top\";\n }\n case 206: {\n return \"padding\";\n }\n case 207: {\n return \"padding-inline-start\";\n }\n case 208: {\n return \"padding-inline-end\";\n }\n case 209: {\n return \"padding-block-start\";\n }\n case 210: {\n return \"padding-block-end\";\n }\n case 211: {\n return \"page\";\n }\n case 212: {\n return \"pause-after\";\n }\n case 213: {\n return \"pause-before\";\n }\n case 214: {\n return \"pause\";\n }\n case 215: {\n return \"paint-order\";\n }\n case 216: {\n return \"pointer-events\";\n }\n case 217: {\n return \"perspective\";\n }\n case 218: {\n return \"perspective-origin\";\n }\n case 219: {\n return \"pitch-range\";\n }\n case 220: {\n return \"pitch\";\n }\n case 221: {\n return \"place-content\";\n }\n case 222: {\n return \"place-items\";\n }\n case 223: {\n return \"place-self\";\n }\n case 224: {\n return \"play-during\";\n }\n case 225: {\n return \"position\";\n }\n case 226: {\n return \"quotes\";\n }\n case 227: {\n return \"resize\";\n }\n case 228: {\n return \"rest-after\";\n }\n case 229: {\n return \"rest-before\";\n }\n case 230: {\n return \"rest\";\n }\n case 231: {\n return \"richness\";\n }\n case 232: {\n return \"right\";\n }\n case 233: {\n return \"size\";\n }\n case 234: {\n return \"speak-header\";\n }\n case 235: {\n return \"speak-numeral\";\n }\n case 236: {\n return \"speak-punctuation\";\n }\n case 237: {\n return \"src\";\n }\n case 238: {\n return \"speak\";\n }\n case 239: {\n return \"speech-rate\";\n }\n case 240: {\n return \"stress\";\n }\n case 241: {\n return \"scroll-behavior\";\n }\n case 242: {\n return \"scroll-margin-bottom\";\n }\n case 243: {\n return \"scroll-margin-left\";\n }\n case 244: {\n return \"scroll-margin-right\";\n }\n case 245: {\n return \"scroll-margin-top\";\n }\n case 246: {\n return \"scroll-margin\";\n }\n case 247: {\n return \"scroll-padding-bottom\";\n }\n case 248: {\n return \"scroll-padding-left\";\n }\n case 249: {\n return \"scroll-padding-right\";\n }\n case 250: {\n return \"scroll-padding-top\";\n }\n case 251: {\n return \"scroll-padding\";\n }\n case 252: {\n return \"scroll-snap-type\";\n }\n case 253: {\n return \"scroll-snap-align\";\n }\n case 254: {\n return \"scroll-snap-stop\";\n }\n case 255: {\n return \"size-adjust\";\n }\n case 256: {\n return \"overscroll-behavior-x\";\n }\n case 257: {\n return \"overscroll-behavior-y\";\n }\n case 258: {\n return \"tab-size\";\n }\n case 259: {\n return \"table-layout\";\n }\n case 260: {\n return \"text-align\";\n }\n case 261: {\n return \"text-align-last\";\n }\n case 262: {\n return \"text-decoration\";\n }\n case 263: {\n return \"text-decoration-color\";\n }\n case 264: {\n return \"text-decoration-line\";\n }\n case 265: {\n return \"text-decoration-thickness\";\n }\n case 266: {\n return \"text-decoration-skip\";\n }\n case 267: {\n return \"text-decoration-skip-ink\";\n }\n case 268: {\n return \"text-decoration-style\";\n }\n case 269: {\n return \"text-indent\";\n }\n case 270: {\n return \"text-overflow\";\n }\n case 271: {\n return \"text-shadow\";\n }\n case 272: {\n return \"text-transform\";\n }\n case 273: {\n return \"text-emphasis\";\n }\n case 274: {\n return \"text-emphasis-color\";\n }\n case 275: {\n return \"text-emphasis-position\";\n }\n case 276: {\n return \"text-emphasis-style\";\n }\n case 277: {\n return \"text-underline-offset\";\n }\n case 278: {\n return \"text-underline-position\";\n }\n case 279: {\n return \"text-size-adjust\";\n }\n case 280: {\n return \"text-orientation\";\n }\n case 281: {\n return \"text-rendering\";\n }\n case 282: {\n return \"text-justify\";\n }\n case 283: {\n return \"top\";\n }\n case 284: {\n return \"transform\";\n }\n case 285: {\n return \"transform-origin\";\n }\n case 286: {\n return \"transform-style\";\n }\n case 287: {\n return \"transition\";\n }\n case 288: {\n return \"transition-delay\";\n }\n case 289: {\n return \"transition-duration\";\n }\n case 290: {\n return \"transition-property\";\n }\n case 291: {\n return \"transition-timing-function\";\n }\n case 292: {\n return \"unicode-bidi\";\n }\n case 293: {\n return \"unicode-range\";\n }\n case 294: {\n return \"user-select\";\n }\n case 295: {\n return \"vertical-align\";\n }\n case 296: {\n return \"visibility\";\n }\n case 297: {\n return \"voice-balance\";\n }\n case 298: {\n return \"voice-duration\";\n }\n case 299: {\n return \"voice-family\";\n }\n case 300: {\n return \"voice-pitch\";\n }\n case 301: {\n return \"voice-range\";\n }\n case 302: {\n return \"voice-rate\";\n }\n case 303: {\n return \"voice-stress\";\n }\n case 304: {\n return \"voice-colume\";\n }\n case 305: {\n return \"volume\";\n }\n case 306: {\n return \"white-space\";\n }\n case 307: {\n return \"widows\";\n }\n case 308: {\n return \"width\";\n }\n case 309: {\n return \"will-change\";\n }\n case 310: {\n return \"word-break\";\n }\n case 311: {\n return \"word-spacing\";\n }\n case 312: {\n return \"word-wrap\";\n }\n case 313: {\n return \"writing-mode\";\n }\n case 314: {\n return \"z-index\";\n }\n case 315: {\n return \"active\";\n }\n case 316: {\n return \"any-link\";\n }\n case 317: {\n return \"blank\";\n }\n case 318: {\n return \"checked\";\n }\n case 319: {\n return \"current\";\n }\n case 320: {\n return \"disabled\";\n }\n case 321: {\n return \"empty\";\n }\n case 322: {\n return \"enabled\";\n }\n case 323: {\n return \"first-child\";\n }\n case 324: {\n return \"first-of-type\";\n }\n case 325: {\n return \"focus\";\n }\n case 326: {\n return \"focus-visible\";\n }\n case 327: {\n return \"focus-within\";\n }\n case 328: {\n return \"future\";\n }\n case 329: {\n return \"hover\";\n }\n case 330: {\n return \"indeterminate\";\n }\n case 331: {\n return \"invalid\";\n }\n case 332: {\n return \"in-range\";\n }\n case 334: {\n return \"last-child\";\n }\n case 335: {\n return \"last-of-type\";\n }\n case 336: {\n return \"link\";\n }\n case 337: {\n return \"local-link\";\n }\n case 342: {\n return \"only-child\";\n }\n case 343: {\n return \"only-of-type\";\n }\n case 344: {\n return \"optional\";\n }\n case 345: {\n return \"out-of-range\";\n }\n case 346: {\n return \"past\";\n }\n case 347: {\n return \"playing\";\n }\n case 348: {\n return \"paused\";\n }\n case 349: {\n return \"placeholder-shown\";\n }\n case 350: {\n return \"read-only\";\n }\n case 351: {\n return \"read-write\";\n }\n case 352: {\n return \"required\";\n }\n case 353: {\n return \"root\";\n }\n case 354: {\n return \"scope\";\n }\n case 355: {\n return \"target\";\n }\n case 356: {\n return \"target-within\";\n }\n case 357: {\n return \"valid\";\n }\n case 358: {\n return \"visited\";\n }\n case 359: {\n return \"user-invalid\";\n }\n case 360: {\n return \"after\";\n }\n case 361: {\n return \"before\";\n }\n case 362: {\n return \"first-letter\";\n }\n case 363: {\n return \"first-line\";\n }\n case 364: {\n return \"selection\";\n }\n case 365: {\n return \"marker\";\n }\n case 366: {\n return \"alignment-baseline\";\n }\n case 367: {\n return \"baseline-shift\";\n }\n case 368: {\n return \"dominant-baseline\";\n }\n case 369: {\n return \"text-anchor\";\n }\n case 370: {\n return \"clip-rule\";\n }\n case 371: {\n return \"flood-color\";\n }\n case 372: {\n return \"flood-opacity\";\n }\n case 373: {\n return \"lighting-color\";\n }\n case 374: {\n return \"stop-color\";\n }\n case 375: {\n return \"stop-opacity\";\n }\n case 376: {\n return \"color-interpolation\";\n }\n case 377: {\n return \"color-interpolation-filters\";\n }\n case 378: {\n return \"label\";\n }\n case 379: {\n return \"fill\";\n }\n case 380: {\n return \"fill-opacity\";\n }\n case 381: {\n return \"fill-rule\";\n }\n case 382: {\n return \"shape-rendering\";\n }\n case 383: {\n return \"stroke\";\n }\n case 384: {\n return \"stroke-opacity\";\n }\n case 385: {\n return \"stroke-dasharray\";\n }\n case 386: {\n return \"stroke-dashoffset\";\n }\n case 387: {\n return \"stroke-linecap\";\n }\n case 388: {\n return \"stroke-linejoin\";\n }\n case 389: {\n return \"stroke-miterlimit\";\n }\n case 390: {\n return \"stroke-width\";\n }\n case 333: {\n return `lang(${this$.fields[0]})`;\n }\n case 338: {\n return `nth-child(${this$.fields[0]})`;\n }\n case 339: {\n return `nth-last-child(${this$.fields[0]})`;\n }\n case 341: {\n return `nth-of-type(${this$.fields[0]})`;\n }\n case 340: {\n return `nth-last-of-type(${this$.fields[0]})`;\n }\n case 392: {\n return ` + ${Html__Stringify(this$.fields[0])}`;\n }\n case 393: {\n return ` ~ ${Html__Stringify(this$.fields[0])}`;\n }\n case 394: {\n return ` > ${Html__Stringify(this$.fields[0])}`;\n }\n case 395: {\n return ` ${Html__Stringify(this$.fields[0])}`;\n }\n case 396: {\n return this$.fields[0].toLocaleLowerCase();\n }\n case 397: {\n return \"media\";\n }\n case 391: {\n return \"name-label\";\n }\n default: {\n return \"appearance\";\n }\n }\n }\n}\n\nexport function Property_CssProperty$reflection() {\n return union_type(\"Fss.Types.Property.CssProperty\", [], Property_CssProperty, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [[\"Item\", string_type]], [], [], [], [], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [[\"Item\", Html$reflection()]], [[\"Item\", Html$reflection()]], [[\"Item\", Html$reflection()]], [[\"Item\", Html$reflection()]], [[\"Item\", string_type]], []]);\n}\n\nexport class None$0027 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"None\\u0027\"];\n }\n StringifyCss() {\n return \"none\";\n }\n}\n\nexport function None$0027$reflection() {\n return union_type(\"Fss.Types.None\\u0027\", [], None$0027, () => [[]]);\n}\n\nexport class Auto extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Auto\"];\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCounter() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n return \"auto\";\n }\n}\n\nexport function Auto$reflection() {\n return union_type(\"Fss.Types.Auto\", [], Auto, () => [[]]);\n}\n\nexport class Normal extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Normal\"];\n }\n StringifyCss() {\n return \"normal\";\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n}\n\nexport function Normal$reflection() {\n return union_type(\"Fss.Types.Normal\", [], Normal, () => [[]]);\n}\n\nexport class Float extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Float\"];\n }\n StringifyCss() {\n const this$ = this;\n return this$.fields[0].toString();\n }\n}\n\nexport function Float$reflection() {\n return union_type(\"Fss.Types.Float\", [], Float, () => [[[\"Item\", float64_type]]]);\n}\n\nexport class Int extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Int\"];\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n const this$ = this;\n return int32ToString(this$.fields[0]);\n }\n}\n\nexport function Int$reflection() {\n return union_type(\"Fss.Types.Int\", [], Int, () => [[[\"Item\", int32_type]]]);\n}\n\nexport class Char extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Char\"];\n }\n StringifyCss() {\n const this$ = this;\n return `'${this$.fields[0]}'`;\n }\n}\n\nexport function Char$reflection() {\n return union_type(\"Fss.Types.Char\", [], Char, () => [[[\"Item\", string_type]]]);\n}\n\nexport class String$ extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"String\"];\n }\n StringifyCounter() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n const this$ = this;\n return this$.fields[0];\n }\n}\n\nexport function String$$reflection() {\n return union_type(\"Fss.Types.String\", [], String$, () => [[[\"Item\", string_type]]]);\n}\n\nexport class Stringed extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Stringed\"];\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCounter() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n const this$ = this;\n return `\"${this$.fields[0]}\"`;\n }\n}\n\nexport function Stringed$reflection() {\n return union_type(\"Fss.Types.Stringed\", [], Stringed, () => [[[\"Item\", string_type]]]);\n}\n\nexport class NameLabel extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NameLabel\"];\n }\n StringifyCss() {\n const this$ = this;\n return NameLabel__Unwrap(this$);\n }\n StringifyCounter() {\n const this$ = this;\n return NameLabel__Unwrap(this$);\n }\n}\n\nexport function NameLabel$reflection() {\n return union_type(\"Fss.Types.NameLabel\", [], NameLabel, () => [[[\"Item\", string_type]]]);\n}\n\nexport function NameLabel__Unwrap(this$) {\n return this$.fields[0];\n}\n\nexport class CssRule {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function CssRule$reflection() {\n return class_type(\"Fss.Types.CssRule\", void 0, CssRule);\n}\n\nexport function CssRule_$ctor_Z207A3CFB(property) {\n return new CssRule(property);\n}\n\nexport class Keywords extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inherit\", \"Initial\", \"Unset\", \"Revert\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"initial\";\n }\n case 2: {\n return \"unset\";\n }\n case 3: {\n return \"revert\";\n }\n default: {\n return \"inherit\";\n }\n }\n }\n}\n\nexport function Keywords$reflection() {\n return union_type(\"Fss.Types.Keywords\", [], Keywords, () => [[], [], [], []]);\n}\n\nexport function CssRule__value_Z61D3073E(this$, keyword) {\n const tupledArg = [this$.property, keyword];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRule__get_initial(this$) {\n const tupledArg = [this$.property, new Keywords(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRule__get_inherit$0027(this$) {\n const tupledArg = [this$.property, new Keywords(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRule__get_unset(this$) {\n const tupledArg = [this$.property, new Keywords(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRule__get_revert(this$) {\n const tupledArg = [this$.property, new Keywords(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class ImportantMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ImportantMaster\"];\n }\n StringifyCss() {\n const this$ = this;\n return `${MasterTypeHelpers_stringifyICssValue(this$.fields[0])} !important`;\n }\n}\n\nexport function ImportantMaster$reflection() {\n return union_type(\"Fss.Types.ImportantMaster\", [], ImportantMaster, () => [[[\"Item\", class_type(\"Fss.Types.ICssValue\")]]]);\n}\n\nexport class Pseudo extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PseudoClassMaster\", \"PseudoElementMaster\"];\n }\n StringifyCss() {\n const this$ = this;\n if (this$.tag === 1) {\n const ps_3 = join(\"; \", map((tupledArg_1) => (`${MasterTypeHelpers_stringifyICssValue(tupledArg_1[0])}: ${tupledArg_1[1].StringifyCss()}`), this$.fields[0]));\n return `${ps_3}`;\n }\n else {\n const ps_1 = join(\"; \", map((tupledArg) => (`${MasterTypeHelpers_stringifyICssValue(tupledArg[0])}: ${tupledArg[1].StringifyCss()}`), this$.fields[0]));\n return `${ps_1}`;\n }\n }\n}\n\nexport function Pseudo$reflection() {\n return union_type(\"Fss.Types.Pseudo\", [], Pseudo, () => [[[\"Item\", list_type(tuple_type(Property_CssProperty$reflection(), class_type(\"Fss.Types.ICssValue\")))]], [[\"Item\", list_type(tuple_type(Property_CssProperty$reflection(), class_type(\"Fss.Types.ICssValue\")))]]]);\n}\n\nexport function Pseudo__Unwrap(this$) {\n if (this$.tag === 1) {\n return this$.fields[0];\n }\n else {\n return this$.fields[0];\n }\n}\n\nexport class CombinatorMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CombinatorMaster\"];\n }\n StringifyCss() {\n return \"\";\n }\n}\n\nexport function CombinatorMaster$reflection() {\n return union_type(\"Fss.Types.CombinatorMaster\", [], CombinatorMaster, () => [[[\"Item\", list_type(tuple_type(Property_CssProperty$reflection(), class_type(\"Fss.Types.ICssValue\")))]]]);\n}\n\nexport function CombinatorMaster__Unwrap(this$) {\n return this$.fields[0];\n}\n\nexport class DividerMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DividerMaster\"];\n }\n StringifyCss() {\n const this$ = this;\n return `${this$.fields[0]} / ${this$.fields[1]}`;\n }\n}\n\nexport function DividerMaster$reflection() {\n return union_type(\"Fss.Types.DividerMaster\", [], DividerMaster, () => [[[\"Item1\", string_type], [\"Item2\", string_type]]]);\n}\n\nexport class UrlMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"UrlMaster\"];\n }\n StringifyFontFace() {\n const this$ = this;\n return this$.StringifyCss();\n }\n StringifyCounter() {\n const this$ = this;\n return this$.StringifyCss();\n }\n StringifyCss() {\n const this$ = this;\n return `url(${this$.fields[0]})`;\n }\n}\n\nexport function UrlMaster$reflection() {\n return union_type(\"Fss.Types.UrlMaster\", [], UrlMaster, () => [[[\"Item\", string_type]]]);\n}\n\nexport class CustomMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CustomMaster\"];\n }\n StringifyCss() {\n const this$ = this;\n return this$.fields[0];\n }\n}\n\nexport function CustomMaster$reflection() {\n return union_type(\"Fss.Types.CustomMaster\", [], CustomMaster, () => [[[\"Item\", string_type]]]);\n}\n\nexport class PathMaster extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PathMaster\"];\n }\n StringifyCss() {\n const this$ = this;\n return `path('${this$.fields[0]}')`;\n }\n}\n\nexport function PathMaster$reflection() {\n return union_type(\"Fss.Types.PathMaster\", [], PathMaster, () => [[[\"Item\", string_type]]]);\n}\n\nexport class CssRuleWithAuto extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function CssRuleWithAuto$reflection() {\n return class_type(\"Fss.Types.CssRuleWithAuto\", void 0, CssRuleWithAuto, CssRule$reflection());\n}\n\nexport function CssRuleWithAuto_$ctor_Z207A3CFB(property) {\n return new CssRuleWithAuto(property);\n}\n\nexport function CssRuleWithAuto__get_auto(this$) {\n const tupledArg = [this$.property_1, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithNone extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function CssRuleWithNone$reflection() {\n return class_type(\"Fss.Types.CssRuleWithNone\", void 0, CssRuleWithNone, CssRule$reflection());\n}\n\nexport function CssRuleWithNone_$ctor_Z207A3CFB(property) {\n return new CssRuleWithNone(property);\n}\n\nexport function CssRuleWithNone__get_none(this$) {\n const tupledArg = [this$.property_1, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithAutoNone extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function CssRuleWithAutoNone$reflection() {\n return class_type(\"Fss.Types.CssRuleWithAutoNone\", void 0, CssRuleWithAutoNone, CssRule$reflection());\n}\n\nexport function CssRuleWithAutoNone_$ctor_Z207A3CFB(property) {\n return new CssRuleWithAutoNone(property);\n}\n\nexport function CssRuleWithAutoNone__get_auto(this$) {\n const tupledArg = [this$.property_1, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRuleWithAutoNone__get_none(this$) {\n const tupledArg = [this$.property_1, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithNormal extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function CssRuleWithNormal$reflection() {\n return class_type(\"Fss.Types.CssRuleWithNormal\", void 0, CssRuleWithNormal, CssRule$reflection());\n}\n\nexport function CssRuleWithNormal_$ctor_Z207A3CFB(property) {\n return new CssRuleWithNormal(property);\n}\n\nexport function CssRuleWithNormal__get_normal(this$) {\n const tupledArg = [this$.property_1, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithNormalNone extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function CssRuleWithNormalNone$reflection() {\n return class_type(\"Fss.Types.CssRuleWithNormalNone\", void 0, CssRuleWithNormalNone, CssRuleWithNormal$reflection());\n}\n\nexport function CssRuleWithNormalNone_$ctor_Z207A3CFB(property) {\n return new CssRuleWithNormalNone(property);\n}\n\nexport function CssRuleWithNormalNone__get_none(this$) {\n const tupledArg = [this$.property_2, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithAutoNormal extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function CssRuleWithAutoNormal$reflection() {\n return class_type(\"Fss.Types.CssRuleWithAutoNormal\", void 0, CssRuleWithAutoNormal, CssRuleWithAuto$reflection());\n}\n\nexport function CssRuleWithAutoNormal_$ctor_Z207A3CFB(property) {\n return new CssRuleWithAutoNormal(property);\n}\n\nexport function CssRuleWithAutoNormal__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithAutoNormalNone extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function CssRuleWithAutoNormalNone$reflection() {\n return class_type(\"Fss.Types.CssRuleWithAutoNormalNone\", void 0, CssRuleWithAutoNormalNone, CssRuleWithAutoNone$reflection());\n}\n\nexport function CssRuleWithAutoNormalNone_$ctor_Z207A3CFB(property) {\n return new CssRuleWithAutoNormalNone(property);\n}\n\nexport function CssRuleWithAutoNormalNone__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class CssRuleWithValueFunctions$1 extends CssRule {\n constructor(property, seperator) {\n super(property);\n this.property_1 = property;\n this.seperator = seperator;\n }\n}\n\nexport function CssRuleWithValueFunctions$1$reflection(gen0) {\n return class_type(\"Fss.Types.CssRuleWithValueFunctions`1\", [gen0], CssRuleWithValueFunctions$1, CssRule$reflection());\n}\n\nexport function CssRuleWithValueFunctions$1_$ctor_5DDD5F9E(property, seperator) {\n return new CssRuleWithValueFunctions$1(property, seperator);\n}\n\nexport function CssRuleWithValueFunctions$1__value_2B595(this$, value) {\n const tupledArg = [this$.property_1, new String$(0, MasterTypeHelpers_stringifyICssValue(value))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CssRuleWithValueFunctions$1__value_Z38D79C61(this$, values) {\n const tupledArg = [this$.property_1, new String$(0, join(this$.seperator, map(MasterTypeHelpers_stringifyICssValue, values)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { String$, CssRuleWithAuto$reflection, CssRuleWithAuto, None$0027, Normal, CssRule$reflection, CssRule, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, string_type, float64_type, union_type, int32_type } from \"../../fable-library.3.7.17/Reflection.js\";\n\nexport class Percent extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Percent\"];\n }\n StringifyFontFace() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n const this$ = this;\n return `${this$.fields[0]}%`;\n }\n}\n\nexport function Percent$reflection() {\n return union_type(\"Fss.Types.Percent\", [], Percent, () => [[[\"Item\", int32_type]]]);\n}\n\nexport class Length extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Px\", \"In\", \"Cm\", \"Mm\", \"Pt\", \"Pc\", \"Em\\u0027\", \"Rem\", \"Ex\", \"Ch\", \"Vw\", \"Vh\", \"VMax\", \"VMin\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `${this$.fields[0]}in`;\n }\n case 2: {\n return `${this$.fields[0]}cm`;\n }\n case 3: {\n return `${this$.fields[0]}mm`;\n }\n case 4: {\n return `${this$.fields[0]}pt`;\n }\n case 5: {\n return `${this$.fields[0]}pc`;\n }\n case 6: {\n return `${this$.fields[0]}em`;\n }\n case 7: {\n return `${this$.fields[0]}rem`;\n }\n case 8: {\n return `${this$.fields[0]}ex`;\n }\n case 9: {\n return `${this$.fields[0]}ch`;\n }\n case 10: {\n return `${this$.fields[0]}vw`;\n }\n case 11: {\n return `${this$.fields[0]}vh`;\n }\n case 12: {\n return `${this$.fields[0]}vmax`;\n }\n case 13: {\n return `${this$.fields[0]}vmin`;\n }\n default: {\n return `${this$.fields[0]}px`;\n }\n }\n }\n}\n\nexport function Length$reflection() {\n return union_type(\"Fss.Types.Length\", [], Length, () => [[[\"Item\", int32_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]]]);\n}\n\nexport class Angle extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Deg\", \"Grad\", \"Rad\", \"Turn\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `${this$.fields[0]}grad`;\n }\n case 2: {\n return `${this$.fields[0]}rad`;\n }\n case 3: {\n return `${this$.fields[0]}turn`;\n }\n default: {\n return `${this$.fields[0]}deg`;\n }\n }\n }\n}\n\nexport function Angle$reflection() {\n return union_type(\"Fss.Types.Angle\", [], Angle, () => [[[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]]]);\n}\n\nexport class Resolution extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Dpi\"];\n }\n StringifyCss() {\n const this$ = this;\n return `${this$.fields[0]}dpi`;\n }\n}\n\nexport function Resolution$reflection() {\n return union_type(\"Fss.Types.Resolution\", [], Resolution, () => [[[\"Item\", string_type]]]);\n}\n\nexport class Time extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Sec\", \"Ms\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? (`${this$.fields[0]}ms`) : (`${this$.fields[0]}s`);\n }\n}\n\nexport function Time$reflection() {\n return union_type(\"Fss.Types.Time\", [], Time, () => [[[\"Item\", float64_type]], [[\"Item\", float64_type]]]);\n}\n\nexport class Fraction extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Fr\"];\n }\n StringifyCss() {\n const this$ = this;\n return `${this$.fields[0]}fr`;\n }\n}\n\nexport function Fraction$reflection() {\n return union_type(\"Fss.Types.Fraction\", [], Fraction, () => [[[\"Item\", float64_type]]]);\n}\n\nexport function unitHelpers_lengthPercentageToType(lp) {\n if (lp instanceof Percent) {\n return lp;\n }\n else if (lp instanceof Length) {\n return lp;\n }\n else {\n return new Length(0, 0);\n }\n}\n\nexport function unitHelpers_lengthPercentageString(lp) {\n if (lp instanceof Percent) {\n return MasterTypeHelpers_stringifyICssValue(lp);\n }\n else if (lp instanceof Length) {\n return MasterTypeHelpers_stringifyICssValue(lp);\n }\n else {\n return \"\";\n }\n}\n\nexport class unitHelpers_CssRuleWithLength extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function unitHelpers_CssRuleWithLength$reflection() {\n return class_type(\"Fss.Types.unitHelpers.CssRuleWithLength\", void 0, unitHelpers_CssRuleWithLength, CssRule$reflection());\n}\n\nexport function unitHelpers_CssRuleWithLength_$ctor_Z207A3CFB(property) {\n return new unitHelpers_CssRuleWithLength(property);\n}\n\nexport function unitHelpers_CssRuleWithLength__value_Z498FEB3B(this$, length) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(length)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class unitHelpers_CssRuleWithLengthNormal extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function unitHelpers_CssRuleWithLengthNormal$reflection() {\n return class_type(\"Fss.Types.unitHelpers.CssRuleWithLengthNormal\", void 0, unitHelpers_CssRuleWithLengthNormal, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function unitHelpers_CssRuleWithLengthNormal_$ctor_Z207A3CFB(property) {\n return new unitHelpers_CssRuleWithLengthNormal(property);\n}\n\nexport function unitHelpers_CssRuleWithLengthNormal__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class unitHelpers_CssRuleWithLengthNone extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function unitHelpers_CssRuleWithLengthNone$reflection() {\n return class_type(\"Fss.Types.unitHelpers.CssRuleWithLengthNone\", void 0, unitHelpers_CssRuleWithLengthNone, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function unitHelpers_CssRuleWithLengthNone_$ctor_Z207A3CFB(property) {\n return new unitHelpers_CssRuleWithLengthNone(property);\n}\n\nexport function unitHelpers_CssRuleWithLengthNone__get_none(this$) {\n const tupledArg = [this$.property_2, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class unitHelpers_CssRuleWithAutoLength extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function unitHelpers_CssRuleWithAutoLength$reflection() {\n return class_type(\"Fss.Types.unitHelpers.CssRuleWithAutoLength\", void 0, unitHelpers_CssRuleWithAutoLength, CssRuleWithAuto$reflection());\n}\n\nexport function unitHelpers_CssRuleWithAutoLength_$ctor_Z207A3CFB(property) {\n return new unitHelpers_CssRuleWithAutoLength(property);\n}\n\nexport function unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(this$, length) {\n const tupledArg = [this$.property_2, unitHelpers_lengthPercentageToType(length)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class unitHelpers_CssRuleWithAutoLengthNone extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function unitHelpers_CssRuleWithAutoLengthNone$reflection() {\n return class_type(\"Fss.Types.unitHelpers.CssRuleWithAutoLengthNone\", void 0, unitHelpers_CssRuleWithAutoLengthNone, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function unitHelpers_CssRuleWithAutoLengthNone_$ctor_Z207A3CFB(property) {\n return new unitHelpers_CssRuleWithAutoLengthNone(property);\n}\n\nexport function unitHelpers_CssRuleWithAutoLengthNone__get_none(this$) {\n const tupledArg = [this$.property_3, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class unitHelpers_DirectionalLength extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function unitHelpers_DirectionalLength$reflection() {\n return class_type(\"Fss.Types.unitHelpers.DirectionalLength\", void 0, unitHelpers_DirectionalLength, CssRule$reflection());\n}\n\nexport function unitHelpers_DirectionalLength_$ctor_Z207A3CFB(property) {\n return new unitHelpers_DirectionalLength(property);\n}\n\nexport function unitHelpers_DirectionalLength__value_Z498FEB3B(this$, length) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(length)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function unitHelpers_DirectionalLength__value_3202B9A0(this$, vertical, horizontal) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(vertical)} ${unitHelpers_lengthPercentageString(horizontal)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function unitHelpers_DirectionalLength__value_Z3BD6069B(this$, top, horizontal, bottom) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(top)} ${unitHelpers_lengthPercentageString(horizontal)} ${unitHelpers_lengthPercentageString(bottom)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function unitHelpers_DirectionalLength__value_ZE6CD40(this$, top, right, bottom, left) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(top)} ${unitHelpers_lengthPercentageString(right)} ${unitHelpers_lengthPercentageString(bottom)} ${unitHelpers_lengthPercentageString(left)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Property_CssProperty, Property_CssProperty$reflection, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { toString, Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { tuple_type, class_type, list_type, int32_type, bool_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Resolution$reflection, Length$reflection, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\n\nexport class Media_Device extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Screen\", \"Speech\", \"Print\", \"All\", \"Not\", \"Only\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"speech\";\n }\n case 2: {\n return \"print\";\n }\n case 3: {\n return \"all\";\n }\n case 4: {\n return `not ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n case 5: {\n return `only ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n default: {\n return \"screen\";\n }\n }\n }\n}\n\nexport function Media_Device$reflection() {\n return union_type(\"Fss.Types.Media.Device\", [], Media_Device, () => [[], [], [], [], [[\"Item\", Media_Device$reflection()]], [[\"Item\", Media_Device$reflection()]]]);\n}\n\nexport class Media_Pointer extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Course\", \"Fine\", \"None\"];\n }\n}\n\nexport function Media_Pointer$reflection() {\n return union_type(\"Fss.Types.Media.Pointer\", [], Media_Pointer, () => [[], [], []]);\n}\n\nexport function Media_Pointer__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"fine\";\n }\n case 2: {\n return \"none\";\n }\n default: {\n return \"course\";\n }\n }\n}\n\nexport class Media_ColorGamut extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SRGB\", \"P3\", \"REC2020\"];\n }\n}\n\nexport function Media_ColorGamut$reflection() {\n return union_type(\"Fss.Types.Media.ColorGamut\", [], Media_ColorGamut, () => [[], [], []]);\n}\n\nexport function Media_ColorGamut__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"p3\";\n }\n case 2: {\n return \"rec2020\";\n }\n default: {\n return \"srgb\";\n }\n }\n}\n\nexport class Media_DisplayMode extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Fullscreen\", \"Standalone\", \"MinimalUi\", \"Browser\"];\n }\n}\n\nexport function Media_DisplayMode$reflection() {\n return union_type(\"Fss.Types.Media.DisplayMode\", [], Media_DisplayMode, () => [[], [], [], []]);\n}\n\nexport function Media_DisplayMode__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"standalone\";\n }\n case 2: {\n return \"minimal-ui\";\n }\n case 3: {\n return \"browser\";\n }\n default: {\n return \"fullscreen\";\n }\n }\n}\n\nexport class Media_LightLevel extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Dim\", \"Washed\"];\n }\n}\n\nexport function Media_LightLevel$reflection() {\n return union_type(\"Fss.Types.Media.LightLevel\", [], Media_LightLevel, () => [[], []]);\n}\n\nexport function Media_LightLevel__Stringify(this$) {\n if (this$.tag === 1) {\n return \"washed\";\n }\n else {\n return \"dim\";\n }\n}\n\nexport class Media_Orientation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Landscape\", \"Portrait\"];\n }\n}\n\nexport function Media_Orientation$reflection() {\n return union_type(\"Fss.Types.Media.Orientation\", [], Media_Orientation, () => [[], []]);\n}\n\nexport function Media_Orientation__Stringify(this$) {\n if (this$.tag === 1) {\n return \"portrait\";\n }\n else {\n return \"landscape\";\n }\n}\n\nexport class Media_OverflowBlock extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"None\", \"Scrolled\", \"OptionalPaged\", \"Paged\"];\n }\n}\n\nexport function Media_OverflowBlock$reflection() {\n return union_type(\"Fss.Types.Media.OverflowBlock\", [], Media_OverflowBlock, () => [[], [], [], []]);\n}\n\nexport function Media_OverflowBlock__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"scrolled\";\n }\n case 2: {\n return \"optional-paged\";\n }\n case 3: {\n return \"paged\";\n }\n default: {\n return \"none\";\n }\n }\n}\n\nexport class Media_ColorScheme extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Light\", \"Dark\"];\n }\n}\n\nexport function Media_ColorScheme$reflection() {\n return union_type(\"Fss.Types.Media.ColorScheme\", [], Media_ColorScheme, () => [[], []]);\n}\n\nexport function Media_ColorScheme__Stringify(this$) {\n if (this$.tag === 1) {\n return \"dark\";\n }\n else {\n return \"light\";\n }\n}\n\nexport class Media_Contrast extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NoPreference\", \"High\", \"Low\"];\n }\n}\n\nexport function Media_Contrast$reflection() {\n return union_type(\"Fss.Types.Media.Contrast\", [], Media_Contrast, () => [[], [], []]);\n}\n\nexport function Media_Contrast__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"high\";\n }\n case 2: {\n return \"low\";\n }\n default: {\n return \"no-preference\";\n }\n }\n}\n\nexport class Media_Scan extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Interlace\", \"Progressive\"];\n }\n}\n\nexport function Media_Scan$reflection() {\n return union_type(\"Fss.Types.Media.Scan\", [], Media_Scan, () => [[], []]);\n}\n\nexport function Media_Scan__Stringify(this$) {\n if (this$.tag === 1) {\n return \"progressive\";\n }\n else {\n return \"interlace\";\n }\n}\n\nexport class Media_Scripting extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"None\", \"InitialOnly\", \"Enabled\"];\n }\n}\n\nexport function Media_Scripting$reflection() {\n return union_type(\"Fss.Types.Media.Scripting\", [], Media_Scripting, () => [[], [], []]);\n}\n\nexport function Media_Scripting__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"initial-only\";\n }\n case 2: {\n return \"enabled\";\n }\n default: {\n return \"none\";\n }\n }\n}\n\nexport class Media_Update extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"None\", \"Slow\", \"Fast\"];\n }\n}\n\nexport function Media_Update$reflection() {\n return union_type(\"Fss.Types.Media.Update\", [], Media_Update, () => [[], [], []]);\n}\n\nexport function Media_Update__Stringify(this$) {\n switch (this$.tag) {\n case 1: {\n return \"slow\";\n }\n case 2: {\n return \"fast\";\n }\n default: {\n return \"none\";\n }\n }\n}\n\nexport class Media_Feature extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AnyHover\", \"AnyPointer\", \"AspectRatio\", \"MinAspectRatio\", \"MaxAspectRatio\", \"Color\", \"MinColor\", \"MaxColor\", \"ColorGamut\", \"ColorIndex\", \"MinColorIndex\", \"MaxColorIndex\", \"DisplayMode\", \"ForcedColors\", \"Grid\", \"Height\", \"MinHeight\", \"MaxHeight\", \"Width\", \"MinWidth\", \"MaxWidth\", \"Hover\", \"InvertedColors\", \"LightLevel\", \"Monochrome\", \"MinMonochrome\", \"MaxMonochrome\", \"Orientation\", \"OverflowBlock\", \"OverflowInline\", \"Pointer\", \"PrefersColorScheme\", \"PrefersContrast\", \"PrefersReducedMotion\", \"PrefersReducedTransparency\", \"Resolution\", \"MinResolution\", \"MaxResolution\", \"Scan\", \"Scripting\", \"Update\"];\n }\n toString() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `any-pointer: ${Media_Pointer__Stringify(this$.fields[0])}`;\n }\n case 2: {\n return `aspect-ratio: ${this$.fields[0]}/${this$.fields[1]}`;\n }\n case 3: {\n return `min-aspect-ratio: ${this$.fields[0]}/${this$.fields[1]}`;\n }\n case 4: {\n return `max-aspect-ratio ${this$.fields[0]}/${this$.fields[1]}`;\n }\n case 5: {\n return \"color\";\n }\n case 6: {\n return `min-color: ${this$.fields[0]}`;\n }\n case 7: {\n return `max-color: ${this$.fields[0]}`;\n }\n case 8: {\n return `color-gamut: ${Media_ColorGamut__Stringify(this$.fields[0])}`;\n }\n case 9: {\n return `color-index: ${this$.fields[0]}`;\n }\n case 10: {\n return `min-color-index: ${this$.fields[0]}`;\n }\n case 11: {\n return `max-color-index: ${this$.fields[0]}`;\n }\n case 12: {\n return `display-mode: ${this$.fields[0]}`;\n }\n case 13: {\n return `forced-colors: ${this$.fields[0]}`;\n }\n case 14: {\n return `grid: ${toString(this$.fields[0]).toLocaleLowerCase()}`;\n }\n case 15: {\n return `height: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 16: {\n return `min-height: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 17: {\n return `max-height: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 18: {\n return `width: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 19: {\n return `min-width: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 20: {\n return `max-width: ${unitHelpers_lengthPercentageString(this$.fields[0])}`;\n }\n case 21: {\n return `hover: ${this$.fields[0]}`;\n }\n case 22: {\n return `inverted-colors: ${this$.fields[0]}`;\n }\n case 23: {\n return `light-level: ${Media_LightLevel__Stringify(this$.fields[0])}`;\n }\n case 24: {\n return `monochrome: ${this$.fields[0]}`;\n }\n case 25: {\n return `min-monochrome: ${this$.fields[0]}`;\n }\n case 26: {\n return `max-monochrome: ${this$.fields[0]}`;\n }\n case 27: {\n return `orientation: ${Media_Orientation__Stringify(this$.fields[0])}`;\n }\n case 28: {\n return `overflow-block: ${Media_OverflowBlock__Stringify(this$.fields[0])}`;\n }\n case 29: {\n return `overflow-inline: ${this$.fields[0]}`;\n }\n case 30: {\n return `pointer: ${Media_Pointer__Stringify(this$.fields[0])}`;\n }\n case 31: {\n return `preferred-color-scheme: ${Media_ColorScheme__Stringify(this$.fields[0])}`;\n }\n case 32: {\n return `contrast: ${(() => Media_Contrast__Stringify(this$.fields[0]))}`;\n }\n case 33: {\n return `prefers-reduced-motion: ${this$.fields[0]}`;\n }\n case 34: {\n return `prefers-reduced-transparency: ${this$.fields[0]}`;\n }\n case 35: {\n return `resolution: ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n case 36: {\n return `min-resolution: ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n case 37: {\n return `max-resolution: ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n case 38: {\n return `scan: ${Media_Scan__Stringify(this$.fields[0])}`;\n }\n case 39: {\n return `scripting: ${Media_Scripting__Stringify(this$.fields[0])}`;\n }\n case 40: {\n return `update: ${Media_Update__Stringify(this$.fields[0])}`;\n }\n default: {\n return `any-hover: ${this$.fields[0]}`;\n }\n }\n }\n}\n\nexport function Media_Feature$reflection() {\n return union_type(\"Fss.Types.Media.Feature\", [], Media_Feature, () => [[[\"Item\", bool_type]], [[\"Item\", Media_Pointer$reflection()]], [[\"Item1\", int32_type], [\"Item2\", int32_type]], [[\"Item1\", int32_type], [\"Item2\", int32_type]], [[\"Item1\", int32_type], [\"Item2\", int32_type]], [], [[\"Item\", int32_type]], [[\"Item\", int32_type]], [[\"Item\", Media_ColorGamut$reflection()]], [[\"Item\", int32_type]], [[\"Item\", int32_type]], [[\"Item\", int32_type]], [[\"Item\", Media_DisplayMode$reflection()]], [[\"Item\", bool_type]], [[\"Item\", bool_type]], [[\"Item\", Length$reflection()]], [[\"Item\", Length$reflection()]], [[\"Item\", Length$reflection()]], [[\"Item\", Length$reflection()]], [[\"Item\", Length$reflection()]], [[\"Item\", Length$reflection()]], [[\"Item\", bool_type]], [[\"Item\", bool_type]], [[\"Item\", Media_LightLevel$reflection()]], [[\"Item\", int32_type]], [[\"Item\", int32_type]], [[\"Item\", int32_type]], [[\"Item\", Media_Orientation$reflection()]], [[\"Item\", Media_OverflowBlock$reflection()]], [[\"Item\", bool_type]], [[\"Item\", Media_Pointer$reflection()]], [[\"Item\", Media_ColorScheme$reflection()]], [[\"Item\", Media_Contrast$reflection()]], [[\"Item\", bool_type]], [[\"Item\", bool_type]], [[\"Item\", Resolution$reflection()]], [[\"Item\", Resolution$reflection()]], [[\"Item\", Resolution$reflection()]], [[\"Item\", Media_Scan$reflection()]], [[\"Item\", Media_Scripting$reflection()]], [[\"Item\", Media_Update$reflection()]]]);\n}\n\nexport class Media_MediaQuery extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"MediaQuery\", \"MediaQueryFor\"];\n }\n StringifyCss() {\n return \"\";\n }\n}\n\nexport function Media_MediaQuery$reflection() {\n return union_type(\"Fss.Types.Media.MediaQuery\", [], Media_MediaQuery, () => [[[\"Item1\", list_type(Media_Feature$reflection())], [\"Item2\", list_type(tuple_type(Property_CssProperty$reflection(), class_type(\"Fss.Types.ICssValue\")))]], [[\"Item1\", Media_Device$reflection()], [\"Item2\", list_type(Media_Feature$reflection())], [\"Item3\", list_type(tuple_type(Property_CssProperty$reflection(), class_type(\"Fss.Types.ICssValue\")))]]]);\n}\n\nexport class MediaClasses_Media {\n constructor() {\n }\n}\n\nexport function MediaClasses_Media$reflection() {\n return class_type(\"Fss.Types.MediaClasses.Media\", void 0, MediaClasses_Media);\n}\n\nexport function MediaClasses_Media_$ctor() {\n return new MediaClasses_Media();\n}\n\nexport function MediaClasses_Media__query(this$, features, rules) {\n const tupledArg = [new Property_CssProperty(397), new Media_MediaQuery(0, features, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function MediaClasses_Media__queryFor(this$, device, features, rules) {\n const tupledArg = [new Property_CssProperty(397), new Media_MediaQuery(1, device, features, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { fold } from \"../fable-library.3.7.17/Seq.js\";\nimport { isUpper } from \"../fable-library.3.7.17/Char.js\";\nimport { printf, toText } from \"../fable-library.3.7.17/String.js\";\n\nexport function Helpers_toLowerAndCombine(separator, value) {\n return fold((acc, element) => {\n if (isUpper(element) && (acc.length === 0)) {\n return acc + element.toLocaleLowerCase();\n }\n else if (isUpper(element) && (acc.length !== 0)) {\n const arg_2 = element.toLocaleLowerCase();\n return toText(printf(\"%s%s%s\"))(acc)(separator)(arg_2);\n }\n else {\n return acc + element;\n }\n }, \"\", value.split(\"\"));\n}\n\nconst FNV_1A_prime = -2128831035;\n\nexport function FNV_1A_hash(string) {\n let hash = 0;\n for (let i = 0; i <= (string.length - 1); i++) {\n hash = ((hash ^ string[i].charCodeAt(0)) | 0);\n hash = ((hash * FNV_1A_prime) | 0);\n }\n return hash | 0;\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type, string_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Stringed, Normal, Int, Auto, MasterTypeHelpers_stringifyIFontFaceValue, String$, UrlMaster, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { Angle$reflection } from \"./Units.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\n\nexport class FontFace_Format extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Truetype\", \"Opentype\", \"EmpbeddedOpentype\", \"Woff\", \"Woff2\", \"Svg\"];\n }\n StringifyFontFace() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `url(${this$.fields[0]}) format('opentype')`;\n }\n case 2: {\n return `url(${this$.fields[0]}) format('empedded-opentype')`;\n }\n case 3: {\n return `url(${this$.fields[0]}) format('woff')`;\n }\n case 4: {\n return `url(${this$.fields[0]}) format('woff2')`;\n }\n case 5: {\n return `url(${this$.fields[0]}) format('svg')`;\n }\n default: {\n return `url(${this$.fields[0]}) format('truetype')`;\n }\n }\n }\n}\n\nexport function FontFace_Format$reflection() {\n return union_type(\"Fss.Types.FontFace.Format\", [], FontFace_Format, () => [[[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]]]);\n}\n\nexport class FontFace_Display extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Block\", \"Swap\", \"Fallback\", \"Optional\"];\n }\n StringifyFontFace() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"swap\";\n }\n case 2: {\n return \"fallback\";\n }\n case 3: {\n return \"optional\";\n }\n default: {\n return \"block\";\n }\n }\n }\n}\n\nexport function FontFace_Display$reflection() {\n return union_type(\"Fss.Types.FontFace.Display\", [], FontFace_Display, () => [[], [], [], []]);\n}\n\nexport class FontFace_Style extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Normal\", \"Italic\", \"Oblique\", \"ObliqueAngle\", \"ObliqueAngleRange\"];\n }\n StringifyFontFace() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"italic\";\n }\n case 2: {\n return \"oblique\";\n }\n case 3: {\n return `oblique ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n case 4: {\n return `oblique ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])} ${MasterTypeHelpers_stringifyICssValue(this$.fields[1])}`;\n }\n default: {\n return \"normal\";\n }\n }\n }\n}\n\nexport function FontFace_Style$reflection() {\n return union_type(\"Fss.Types.FontFace.Style\", [], FontFace_Style, () => [[], [], [], [[\"Item\", Angle$reflection()]], [[\"Item1\", Angle$reflection()], [\"Item2\", Angle$reflection()]]]);\n}\n\nexport class FontFace_Stretch extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"UltraCondensed\", \"ExtraCondensed\", \"Condensed\", \"SemiCondensed\", \"Normal\", \"SemiExpanded\", \"Expanded\", \"ExtraExpanded\", \"UltraExpanded\"];\n }\n StringifyFontFace() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"extra-condensed\";\n }\n case 2: {\n return \"condensed\";\n }\n case 3: {\n return \"semi-condensed\";\n }\n case 4: {\n return \"normal\";\n }\n case 5: {\n return \"semi-expanded\";\n }\n case 6: {\n return \"expanded\";\n }\n case 7: {\n return \"extra-expanded\";\n }\n case 8: {\n return \"ultra-expanded\";\n }\n default: {\n return \"ultra-condensed\";\n }\n }\n }\n}\n\nexport function FontFace_Stretch$reflection() {\n return union_type(\"Fss.Types.FontFace.Stretch\", [], FontFace_Stretch, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport class FontFaceClasses_Src {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_Src$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.Src\", void 0, FontFaceClasses_Src);\n}\n\nexport function FontFaceClasses_Src_$ctor_9401DF4(property) {\n return new FontFaceClasses_Src(property);\n}\n\nexport function FontFaceClasses_Src__url_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new UrlMaster(0, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__truetype_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(0, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__opentype_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(1, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__empbeddedOpentype_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(2, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__woff_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(3, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__woff2_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(4, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__svg_Z721C83C5(this$, url) {\n const tupledArg = [this$.property, new FontFace_Format(5, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__sources_1334CEF1(this$, urls) {\n const tupledArg = [this$.property, new String$(0, join(\", \", map((x) => MasterTypeHelpers_stringifyICssValue(new UrlMaster(0, x)), urls)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_Src__sources_Z23FD7E63(this$, formatUrls) {\n const tupledArg = [this$.property, new String$(0, join(\", \", map(MasterTypeHelpers_stringifyIFontFaceValue, formatUrls)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_FontDisplay {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontDisplay$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontDisplay\", void 0, FontFaceClasses_FontDisplay);\n}\n\nexport function FontFaceClasses_FontDisplay_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontDisplay(property);\n}\n\nexport function FontFaceClasses_FontDisplay__get_auto(this$) {\n const tupledArg = [this$.property, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontDisplay__get_block(this$) {\n const tupledArg = [this$.property, new FontFace_Display(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontDisplay__get_swap(this$) {\n const tupledArg = [this$.property, new FontFace_Display(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontDisplay__get_fallback(this$) {\n const tupledArg = [this$.property, new FontFace_Display(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontDisplay__get_optional(this$) {\n const tupledArg = [this$.property, new FontFace_Display(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_FontStyle {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontStyle$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontStyle\", void 0, FontFaceClasses_FontStyle);\n}\n\nexport function FontFaceClasses_FontStyle_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontStyle(property);\n}\n\nexport function FontFaceClasses_FontStyle__get_normal(this$) {\n const tupledArg = [this$.property, new FontFace_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStyle__get_italic(this$) {\n const tupledArg = [this$.property, new FontFace_Style(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStyle__get_oblique(this$) {\n const tupledArg = [this$.property, new FontFace_Style(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStyle__obliqueAngle_CEE3389(this$, angle) {\n const tupledArg = [this$.property, new FontFace_Style(3, angle)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStyle__obliqueAngleRange_Z59A568E0(this$, angle, range) {\n const tupledArg = [this$.property, new FontFace_Style(4, angle, range)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_FontStretch {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontStretch$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontStretch\", void 0, FontFaceClasses_FontStretch);\n}\n\nexport function FontFaceClasses_FontStretch_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontStretch(property);\n}\n\nexport function FontFaceClasses_FontStretch__value_2D904CD3(this$, stretch) {\n const tupledArg = [this$.property, stretch];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__value_1FA41A59(this$, stretch) {\n const tupledArg = [this$.property, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, stretch)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_ultraCondensed(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_extraCondensed(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_condensed(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_semiCondensed(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_normal(this$) {\n const tupledArg = [this$.property, new FontFace_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_semiExpanded(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_expanded(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_extraExpanded(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontStretch__get_ultraExpanded(this$) {\n const tupledArg = [this$.property, new FontFace_Stretch(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_FontWeight {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontWeight$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontWeight\", void 0, FontFaceClasses_FontWeight);\n}\n\nexport function FontFaceClasses_FontWeight_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontWeight(property);\n}\n\nexport function FontFaceClasses_FontWeight__value_Z524259A4(this$, weight) {\n const tupledArg = [this$.property, new Int(0, weight)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontWeight__get_normal(this$) {\n const tupledArg = [this$.property, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontWeight__get_bold(this$) {\n const tupledArg = [this$.property, new String$(0, \"Bold\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_SizeAdjust {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_SizeAdjust$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.SizeAdjust\", void 0, FontFaceClasses_SizeAdjust);\n}\n\nexport function FontFaceClasses_SizeAdjust_$ctor_9401DF4(property) {\n return new FontFaceClasses_SizeAdjust(property);\n}\n\nexport function FontFaceClasses_SizeAdjust__value_2D904CD3(this$, adjust) {\n const tupledArg = [this$.property, adjust];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_UnicodeRange {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_UnicodeRange$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.UnicodeRange\", void 0, FontFaceClasses_UnicodeRange);\n}\n\nexport function FontFaceClasses_UnicodeRange_$ctor_9401DF4(property) {\n return new FontFaceClasses_UnicodeRange(property);\n}\n\nexport function FontFaceClasses_UnicodeRange__value_Z721C83C5(this$, range) {\n const tupledArg = [this$.property, new String$(0, range)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_UnicodeRange__value_1334CEF1(this$, ranges) {\n const tupledArg = [this$.property, new String$(0, join(\", \", ranges))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_LineGapOverride {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_LineGapOverride$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.LineGapOverride\", void 0, FontFaceClasses_LineGapOverride);\n}\n\nexport function FontFaceClasses_LineGapOverride_$ctor_9401DF4(property) {\n return new FontFaceClasses_LineGapOverride(property);\n}\n\nexport function FontFaceClasses_LineGapOverride__get_normal(this$) {\n const tupledArg = [this$.property, new FontFace_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_LineGapOverride__value_2D904CD3(this$, adjust) {\n const tupledArg = [this$.property, adjust];\n return [tupledArg[0], tupledArg[1]];\n}\n\nfunction FontFaceClasses_variationToString(setting, axis) {\n return `'${setting}' ${axis}`;\n}\n\nexport class FontFaceClasses_FontVariationSettings {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontVariationSettings$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontVariationSettings\", void 0, FontFaceClasses_FontVariationSettings);\n}\n\nexport function FontFaceClasses_FontVariationSettings_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontVariationSettings(property);\n}\n\nexport function FontFaceClasses_FontVariationSettings__get_normal(this$) {\n const tupledArg = [this$.property, new FontFace_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontVariationSettings__value_146B04A0(this$, setting, axis) {\n const tupledArg = [this$.property, new String$(0, FontFaceClasses_variationToString(setting, axis))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontVariationSettings__value_Z3483FB7B(this$, settings) {\n const tupledArg_1 = [this$.property, new String$(0, join(\", \", map((tupledArg) => FontFaceClasses_variationToString(tupledArg[0], tupledArg[1]), settings)))];\n return [tupledArg_1[0], tupledArg_1[1]];\n}\n\nexport class FontFaceClasses_AscentDescentOverride {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_AscentDescentOverride$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.AscentDescentOverride\", void 0, FontFaceClasses_AscentDescentOverride);\n}\n\nexport function FontFaceClasses_AscentDescentOverride_$ctor_9401DF4(property) {\n return new FontFaceClasses_AscentDescentOverride(property);\n}\n\nexport function FontFaceClasses_AscentDescentOverride__get_normal(this$) {\n const tupledArg = [this$.property, new FontFace_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_AscentDescentOverride__value_2D904CD3(this$, adjust) {\n const tupledArg = [this$.property, adjust];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontFaceClasses_FontFamily {\n constructor(property) {\n this.property = property;\n }\n}\n\nexport function FontFaceClasses_FontFamily$reflection() {\n return class_type(\"Fss.Types.FontFaceClasses.FontFamily\", void 0, FontFaceClasses_FontFamily);\n}\n\nexport function FontFaceClasses_FontFamily_$ctor_9401DF4(property) {\n return new FontFaceClasses_FontFamily(property);\n}\n\nexport function FontFaceClasses_FontFamily__ident_Z721C83C5(this$, ident) {\n const tupledArg = [this$.property, new String$(0, ident)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontFaceClasses_FontFamily__string_Z721C83C5(this$, string) {\n const tupledArg = [this$.property, new Stringed(0, string)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { FontFaceClasses_FontFamily_$ctor_9401DF4, FontFaceClasses_AscentDescentOverride_$ctor_9401DF4, FontFaceClasses_FontVariationSettings_$ctor_9401DF4, FontFaceClasses_LineGapOverride_$ctor_9401DF4, FontFaceClasses_UnicodeRange_$ctor_9401DF4, FontFaceClasses_SizeAdjust_$ctor_9401DF4, FontFaceClasses_FontWeight_$ctor_9401DF4, FontFaceClasses_FontStretch_$ctor_9401DF4, FontFaceClasses_FontStyle_$ctor_9401DF4, FontFaceClasses_FontDisplay_$ctor_9401DF4, FontFaceClasses_Src_$ctor_9401DF4 } from \"../Types/FontFace.fs.js\";\nimport { Property_FontFaceProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Src = FontFaceClasses_Src_$ctor_9401DF4(new Property_FontFaceProperty(12));\n\nexport const FontDisplay = FontFaceClasses_FontDisplay_$ctor_9401DF4(new Property_FontFaceProperty(2));\n\nexport const FontStyle = FontFaceClasses_FontStyle_$ctor_9401DF4(new Property_FontFaceProperty(5));\n\nexport const FontStretch = FontFaceClasses_FontStretch_$ctor_9401DF4(new Property_FontFaceProperty(4));\n\nexport const FontWeight = FontFaceClasses_FontWeight_$ctor_9401DF4(new Property_FontFaceProperty(6));\n\nexport const SizeAdjust = FontFaceClasses_SizeAdjust_$ctor_9401DF4(new Property_FontFaceProperty(11));\n\nexport const UnicodeRange = FontFaceClasses_UnicodeRange_$ctor_9401DF4(new Property_FontFaceProperty(13));\n\nexport const LineGapOverride = FontFaceClasses_LineGapOverride_$ctor_9401DF4(new Property_FontFaceProperty(10));\n\nexport const FontVariationSettings = FontFaceClasses_FontVariationSettings_$ctor_9401DF4(new Property_FontFaceProperty(9));\n\nexport const AscentOverride = FontFaceClasses_AscentDescentOverride_$ctor_9401DF4(new Property_FontFaceProperty(0));\n\nexport const DescentOverride = FontFaceClasses_AscentDescentOverride_$ctor_9401DF4(new Property_FontFaceProperty(1));\n\nexport const FontFamily = FontFaceClasses_FontFamily_$ctor_9401DF4(new Property_FontFaceProperty(3));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type, string_type, float64_type, int32_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\n\nexport class Color_Color extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Black\", \"Silver\", \"Gray\", \"White\", \"Maroon\", \"Red\", \"Purple\", \"Fuchsia\", \"Green\", \"Lime\", \"Olive\", \"Yellow\", \"Navy\", \"Blue\", \"Teal\", \"Aqua\", \"Orange\", \"AliceBlue\", \"AntiqueWhite\", \"AquaMarine\", \"Azure\", \"Beige\", \"Bisque\", \"BlanchedAlmond\", \"BlueViolet\", \"Brown\", \"Burlywood\", \"CadetBlue\", \"Chartreuse\", \"Chocolate\", \"Coral\", \"CornflowerBlue\", \"Cornsilk\", \"Crimson\", \"Cyan\", \"DarkBlue\", \"DarkCyan\", \"DarkGoldenrod\", \"DarkGray\", \"DarkGreen\", \"DarkKhaki\", \"DarkMagenta\", \"DarkOliveGreen\", \"DarkOrange\", \"DarkOrchid\", \"DarkRed\", \"DarkSalmon\", \"DarkSeaGreen\", \"DarkSlateBlue\", \"DarkSlateGray\", \"DarkTurquoise\", \"DarkViolet\", \"DeepPink\", \"DeepSkyBlue\", \"DimGrey\", \"DodgerBlue\", \"FireBrick\", \"FloralWhite\", \"ForestGreen\", \"Gainsboro\", \"GhostWhite\", \"Gold\", \"Goldenrod\", \"GreenYellow\", \"Grey\", \"Honeydew\", \"HotPink\", \"IndianRed\", \"Indigo\", \"Ivory\", \"Khaki\", \"Lavender\", \"LavenderBlush\", \"LawnGreen\", \"LemonChiffon\", \"LightBlue\", \"LightCoral\", \"LightCyan\", \"LightGoldenrodYellow\", \"LightGray\", \"LightGreen\", \"LightGrey\", \"LightPink\", \"LightSalmon\", \"LightSeaGreen\", \"LightSkyBlue\", \"LightSlateGrey\", \"LightSteelBlue\", \"LightYellow\", \"LimeGreen\", \"Linen\", \"Magenta\", \"MediumAquamarine\", \"MediumBlue\", \"MediumOrchid\", \"MediumPurple\", \"MediumSeaGreen\", \"MediumSlateBlue\", \"MediumSpringGreen\", \"MediumTurquoise\", \"MediumVioletRed\", \"MidnightBlue\", \"MintCream\", \"MistyRose\", \"Moccasin\", \"NavajoWhite\", \"OldLace\", \"Olivedrab\", \"OrangeRed\", \"Orchid\", \"PaleGoldenrod\", \"PaleGreen\", \"PaleTurquoise\", \"PaleVioletred\", \"PapayaWhip\", \"Peachpuff\", \"Peru\", \"Pink\", \"Plum\", \"PowderBlue\", \"RosyBrown\", \"RoyalBlue\", \"SaddleBrown\", \"Salmon\", \"SandyBrown\", \"SeaGreen\", \"SeaShell\", \"Sienna\", \"SkyBlue\", \"SlateBlue\", \"SlateGray\", \"Snow\", \"SpringGreen\", \"SteelBlue\", \"Tan\", \"Thistle\", \"Tomato\", \"Turquoise\", \"Violet\", \"Wheat\", \"WhiteSmoke\", \"YellowGreen\", \"RebeccaPurple\", \"Transparent\", \"CurrentColor\", \"Rgb\", \"Rgba\", \"Hex\", \"Hsl\", \"Hsla\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"silver\";\n }\n case 2: {\n return \"gray\";\n }\n case 3: {\n return \"white\";\n }\n case 4: {\n return \"maroon\";\n }\n case 5: {\n return \"red\";\n }\n case 6: {\n return \"purple\";\n }\n case 7: {\n return \"fuchsia\";\n }\n case 8: {\n return \"green\";\n }\n case 9: {\n return \"lime\";\n }\n case 10: {\n return \"olive\";\n }\n case 11: {\n return \"yellow\";\n }\n case 12: {\n return \"navy\";\n }\n case 13: {\n return \"blue\";\n }\n case 14: {\n return \"teal\";\n }\n case 15: {\n return \"aqua\";\n }\n case 16: {\n return \"orange\";\n }\n case 17: {\n return \"aliceblue\";\n }\n case 18: {\n return \"antiquewhite\";\n }\n case 19: {\n return \"aquamarine\";\n }\n case 20: {\n return \"azure\";\n }\n case 21: {\n return \"beige\";\n }\n case 22: {\n return \"bisque\";\n }\n case 23: {\n return \"blanchedalmond\";\n }\n case 24: {\n return \"blueviolet\";\n }\n case 25: {\n return \"brown\";\n }\n case 26: {\n return \"burlywood\";\n }\n case 27: {\n return \"cadetblue\";\n }\n case 28: {\n return \"chartreuse\";\n }\n case 29: {\n return \"chocolate\";\n }\n case 30: {\n return \"coral\";\n }\n case 31: {\n return \"cornflowerblue\";\n }\n case 32: {\n return \"cornsilk\";\n }\n case 33: {\n return \"crimson\";\n }\n case 34: {\n return \"cyan\";\n }\n case 35: {\n return \"darkblue\";\n }\n case 36: {\n return \"darkcyan\";\n }\n case 37: {\n return \"darkgoldenrod\";\n }\n case 38: {\n return \"darkgray\";\n }\n case 39: {\n return \"darkgreen\";\n }\n case 40: {\n return \"darkkhaki\";\n }\n case 41: {\n return \"darkmagenta\";\n }\n case 42: {\n return \"darkolivegreen\";\n }\n case 43: {\n return \"darkorange\";\n }\n case 44: {\n return \"darkorchid\";\n }\n case 45: {\n return \"darkred\";\n }\n case 46: {\n return \"darksalmon\";\n }\n case 47: {\n return \"darkseagreen\";\n }\n case 48: {\n return \"darkslateblue\";\n }\n case 49: {\n return \"darkslategray\";\n }\n case 50: {\n return \"darkturquoise\";\n }\n case 51: {\n return \"darkviolet\";\n }\n case 52: {\n return \"deeppink\";\n }\n case 53: {\n return \"deepskyblue\";\n }\n case 54: {\n return \"dimgrey\";\n }\n case 55: {\n return \"dodgerblue\";\n }\n case 56: {\n return \"firebrick\";\n }\n case 57: {\n return \"floralwhite\";\n }\n case 58: {\n return \"forestgreen\";\n }\n case 59: {\n return \"gainsboro\";\n }\n case 60: {\n return \"ghostwhite\";\n }\n case 61: {\n return \"gold\";\n }\n case 62: {\n return \"goldenrod\";\n }\n case 63: {\n return \"greenyellow\";\n }\n case 64: {\n return \"grey\";\n }\n case 65: {\n return \"honeydew\";\n }\n case 66: {\n return \"hotpink\";\n }\n case 67: {\n return \"indianred\";\n }\n case 68: {\n return \"indigo\";\n }\n case 69: {\n return \"ivory\";\n }\n case 70: {\n return \"khaki\";\n }\n case 71: {\n return \"lavender\";\n }\n case 72: {\n return \"lavenderblush\";\n }\n case 73: {\n return \"lawngreen\";\n }\n case 74: {\n return \"lemonchiffon\";\n }\n case 75: {\n return \"lightblue\";\n }\n case 76: {\n return \"lightcoral\";\n }\n case 77: {\n return \"lightcyan\";\n }\n case 78: {\n return \"lightgoldenrodyellow\";\n }\n case 79: {\n return \"lightgray\";\n }\n case 80: {\n return \"lightgreen\";\n }\n case 81: {\n return \"lightgrey\";\n }\n case 82: {\n return \"lightpink\";\n }\n case 83: {\n return \"lightsalmon\";\n }\n case 84: {\n return \"lightseagreen\";\n }\n case 85: {\n return \"lightskyblue\";\n }\n case 86: {\n return \"lightslategrey\";\n }\n case 87: {\n return \"lightsteelblue\";\n }\n case 88: {\n return \"lightyellow\";\n }\n case 89: {\n return \"limegreen\";\n }\n case 90: {\n return \"linen\";\n }\n case 91: {\n return \"magenta\";\n }\n case 92: {\n return \"mediumaquamarine\";\n }\n case 93: {\n return \"mediumblue\";\n }\n case 94: {\n return \"mediumorchid\";\n }\n case 95: {\n return \"mediumpurple\";\n }\n case 96: {\n return \"mediumseagreen\";\n }\n case 97: {\n return \"mediumslateblue\";\n }\n case 98: {\n return \"mediumspringgreen\";\n }\n case 99: {\n return \"mediumturquoise\";\n }\n case 100: {\n return \"mediumvioletred\";\n }\n case 101: {\n return \"midnightblue\";\n }\n case 102: {\n return \"mintcream\";\n }\n case 103: {\n return \"mistyrose\";\n }\n case 104: {\n return \"moccasin\";\n }\n case 105: {\n return \"navajowhite\";\n }\n case 106: {\n return \"oldlace\";\n }\n case 107: {\n return \"olivedrab\";\n }\n case 108: {\n return \"orangered\";\n }\n case 109: {\n return \"orchid\";\n }\n case 110: {\n return \"palegoldenrod\";\n }\n case 111: {\n return \"palegreen\";\n }\n case 112: {\n return \"paleturquoise\";\n }\n case 113: {\n return \"palevioletred\";\n }\n case 114: {\n return \"papayawhip\";\n }\n case 115: {\n return \"peachpuff\";\n }\n case 116: {\n return \"peru\";\n }\n case 117: {\n return \"pink\";\n }\n case 118: {\n return \"plum\";\n }\n case 119: {\n return \"powderblue\";\n }\n case 120: {\n return \"rosybrown\";\n }\n case 121: {\n return \"royalblue\";\n }\n case 122: {\n return \"saddlebrown\";\n }\n case 123: {\n return \"salmon\";\n }\n case 124: {\n return \"sandybrown\";\n }\n case 125: {\n return \"seagreen\";\n }\n case 126: {\n return \"seashell\";\n }\n case 127: {\n return \"sienna\";\n }\n case 128: {\n return \"skyblue\";\n }\n case 129: {\n return \"slateblue\";\n }\n case 130: {\n return \"slategray\";\n }\n case 131: {\n return \"snow\";\n }\n case 132: {\n return \"springgreen\";\n }\n case 133: {\n return \"steelblue\";\n }\n case 134: {\n return \"tan\";\n }\n case 135: {\n return \"thistle\";\n }\n case 136: {\n return \"tomato\";\n }\n case 137: {\n return \"turquoise\";\n }\n case 138: {\n return \"violet\";\n }\n case 139: {\n return \"wheat\";\n }\n case 140: {\n return \"whitesmoke\";\n }\n case 141: {\n return \"yellowgreen\";\n }\n case 142: {\n return \"rebeccapurple\";\n }\n case 143: {\n return \"transparent\";\n }\n case 144: {\n return \"currentcolor\";\n }\n case 145: {\n return `rgb(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]})`;\n }\n case 146: {\n return `rgba(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]}, ${this$.fields[3]})`;\n }\n case 147: {\n return this$.fields[0];\n }\n case 148: {\n return `hsl(${this$.fields[0]}, ${this$.fields[1]}%, ${this$.fields[2]}%)`;\n }\n case 149: {\n return `hsla(${this$.fields[0]}, ${this$.fields[1]}%, ${this$.fields[2]}%, ${this$.fields[3]})`;\n }\n default: {\n return \"black\";\n }\n }\n }\n}\n\nexport function Color_Color$reflection() {\n return union_type(\"Fss.Types.Color.Color\", [], Color_Color, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [[\"Red\", int32_type], [\"Green\", int32_type], [\"Blue\", int32_type]], [[\"Red\", int32_type], [\"Green\", int32_type], [\"Blue\", int32_type], [\"Alpha\", float64_type]], [[\"Item\", string_type]], [[\"Hue\", int32_type], [\"Saturation\", int32_type], [\"Lightness\", int32_type]], [[\"Hue\", int32_type], [\"Saturation\", int32_type], [\"Lightness\", int32_type], [\"Alpha\", float64_type]]]);\n}\n\nexport class Color_ColorAdjust extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Economy\", \"Exact\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"exact\" : \"economy\";\n }\n}\n\nexport function Color_ColorAdjust$reflection() {\n return union_type(\"Fss.Types.Color.ColorAdjust\", [], Color_ColorAdjust, () => [[], []]);\n}\n\nexport function colorHelpers_hex(value) {\n return new Color_Color(147, (value.indexOf(\"#\") === 0) ? value : (`#${value}`));\n}\n\nexport class ColorClass_Color extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function ColorClass_Color$reflection() {\n return class_type(\"Fss.Types.ColorClass.Color\", void 0, ColorClass_Color, CssRule$reflection());\n}\n\nexport function ColorClass_Color_$ctor_Z207A3CFB(property) {\n return new ColorClass_Color(property);\n}\n\nexport function ColorClass_Color__value_11789E6(this$, color) {\n const tupledArg = [this$.property_1, color];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_black(this$) {\n const tupledArg = [this$.property_1, new Color_Color(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_silver(this$) {\n const tupledArg = [this$.property_1, new Color_Color(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_gray(this$) {\n const tupledArg = [this$.property_1, new Color_Color(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_white(this$) {\n const tupledArg = [this$.property_1, new Color_Color(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_maroon(this$) {\n const tupledArg = [this$.property_1, new Color_Color(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_red(this$) {\n const tupledArg = [this$.property_1, new Color_Color(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_purple(this$) {\n const tupledArg = [this$.property_1, new Color_Color(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_fuchsia(this$) {\n const tupledArg = [this$.property_1, new Color_Color(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_green(this$) {\n const tupledArg = [this$.property_1, new Color_Color(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lime(this$) {\n const tupledArg = [this$.property_1, new Color_Color(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_olive(this$) {\n const tupledArg = [this$.property_1, new Color_Color(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_yellow(this$) {\n const tupledArg = [this$.property_1, new Color_Color(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_navy(this$) {\n const tupledArg = [this$.property_1, new Color_Color(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_blue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_teal(this$) {\n const tupledArg = [this$.property_1, new Color_Color(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_aqua(this$) {\n const tupledArg = [this$.property_1, new Color_Color(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_orange(this$) {\n const tupledArg = [this$.property_1, new Color_Color(16)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_aliceBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(17)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_antiqueWhite(this$) {\n const tupledArg = [this$.property_1, new Color_Color(18)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_aquaMarine(this$) {\n const tupledArg = [this$.property_1, new Color_Color(19)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_azure(this$) {\n const tupledArg = [this$.property_1, new Color_Color(20)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_beige(this$) {\n const tupledArg = [this$.property_1, new Color_Color(21)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_bisque(this$) {\n const tupledArg = [this$.property_1, new Color_Color(22)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_blanchedAlmond(this$) {\n const tupledArg = [this$.property_1, new Color_Color(23)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_blueViolet(this$) {\n const tupledArg = [this$.property_1, new Color_Color(24)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_brown(this$) {\n const tupledArg = [this$.property_1, new Color_Color(25)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_burlywood(this$) {\n const tupledArg = [this$.property_1, new Color_Color(26)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_cadetBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(27)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_chartreuse(this$) {\n const tupledArg = [this$.property_1, new Color_Color(28)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_chocolate(this$) {\n const tupledArg = [this$.property_1, new Color_Color(29)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_coral(this$) {\n const tupledArg = [this$.property_1, new Color_Color(30)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_cornflowerBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(31)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_cornsilk(this$) {\n const tupledArg = [this$.property_1, new Color_Color(32)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_crimson(this$) {\n const tupledArg = [this$.property_1, new Color_Color(33)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_cyan(this$) {\n const tupledArg = [this$.property_1, new Color_Color(34)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(35)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkCyan(this$) {\n const tupledArg = [this$.property_1, new Color_Color(36)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkGoldenrod(this$) {\n const tupledArg = [this$.property_1, new Color_Color(37)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkGray(this$) {\n const tupledArg = [this$.property_1, new Color_Color(38)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(39)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkKhaki(this$) {\n const tupledArg = [this$.property_1, new Color_Color(40)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkMagenta(this$) {\n const tupledArg = [this$.property_1, new Color_Color(41)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkOliveGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(42)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkOrange(this$) {\n const tupledArg = [this$.property_1, new Color_Color(43)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkOrchid(this$) {\n const tupledArg = [this$.property_1, new Color_Color(44)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkRed(this$) {\n const tupledArg = [this$.property_1, new Color_Color(45)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkSalmon(this$) {\n const tupledArg = [this$.property_1, new Color_Color(46)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkSeaGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(47)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkSlateBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(48)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkSlateGray(this$) {\n const tupledArg = [this$.property_1, new Color_Color(49)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkTurquoise(this$) {\n const tupledArg = [this$.property_1, new Color_Color(50)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_darkViolet(this$) {\n const tupledArg = [this$.property_1, new Color_Color(51)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_deepPink(this$) {\n const tupledArg = [this$.property_1, new Color_Color(52)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_deepSkyBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(53)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_dimGrey(this$) {\n const tupledArg = [this$.property_1, new Color_Color(54)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_dodgerBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(55)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_fireBrick(this$) {\n const tupledArg = [this$.property_1, new Color_Color(56)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_floralWhite(this$) {\n const tupledArg = [this$.property_1, new Color_Color(57)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_forestGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(58)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_gainsboro(this$) {\n const tupledArg = [this$.property_1, new Color_Color(59)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_ghostWhite(this$) {\n const tupledArg = [this$.property_1, new Color_Color(60)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_gold(this$) {\n const tupledArg = [this$.property_1, new Color_Color(61)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_goldenrod(this$) {\n const tupledArg = [this$.property_1, new Color_Color(62)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_greenYellow(this$) {\n const tupledArg = [this$.property_1, new Color_Color(63)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_grey(this$) {\n const tupledArg = [this$.property_1, new Color_Color(64)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_honeydew(this$) {\n const tupledArg = [this$.property_1, new Color_Color(65)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_hotPink(this$) {\n const tupledArg = [this$.property_1, new Color_Color(66)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_indianRed(this$) {\n const tupledArg = [this$.property_1, new Color_Color(67)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_indigo(this$) {\n const tupledArg = [this$.property_1, new Color_Color(68)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_ivory(this$) {\n const tupledArg = [this$.property_1, new Color_Color(69)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_khaki(this$) {\n const tupledArg = [this$.property_1, new Color_Color(70)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lavender(this$) {\n const tupledArg = [this$.property_1, new Color_Color(71)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lavenderBlush(this$) {\n const tupledArg = [this$.property_1, new Color_Color(72)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lawnGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(73)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lemonChiffon(this$) {\n const tupledArg = [this$.property_1, new Color_Color(74)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(75)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightCoral(this$) {\n const tupledArg = [this$.property_1, new Color_Color(76)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightCyan(this$) {\n const tupledArg = [this$.property_1, new Color_Color(77)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightGoldenrodYellow(this$) {\n const tupledArg = [this$.property_1, new Color_Color(78)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightGray(this$) {\n const tupledArg = [this$.property_1, new Color_Color(79)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(80)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightGrey(this$) {\n const tupledArg = [this$.property_1, new Color_Color(81)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightPink(this$) {\n const tupledArg = [this$.property_1, new Color_Color(82)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightSalmon(this$) {\n const tupledArg = [this$.property_1, new Color_Color(83)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightSeaGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(84)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightSkyBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(85)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightSlateGrey(this$) {\n const tupledArg = [this$.property_1, new Color_Color(86)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightSteelBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(87)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_lightYellow(this$) {\n const tupledArg = [this$.property_1, new Color_Color(88)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_limeGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(89)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_linen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(90)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_magenta(this$) {\n const tupledArg = [this$.property_1, new Color_Color(91)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumAquamarine(this$) {\n const tupledArg = [this$.property_1, new Color_Color(92)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(93)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumOrchid(this$) {\n const tupledArg = [this$.property_1, new Color_Color(94)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumPurple(this$) {\n const tupledArg = [this$.property_1, new Color_Color(95)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumSeaGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(96)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumSlateBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(97)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumSpringGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(98)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumTurquoise(this$) {\n const tupledArg = [this$.property_1, new Color_Color(99)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mediumVioletRed(this$) {\n const tupledArg = [this$.property_1, new Color_Color(100)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_midnightBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(101)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mintCream(this$) {\n const tupledArg = [this$.property_1, new Color_Color(102)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_mistyRose(this$) {\n const tupledArg = [this$.property_1, new Color_Color(103)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_moccasin(this$) {\n const tupledArg = [this$.property_1, new Color_Color(104)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_navajoWhite(this$) {\n const tupledArg = [this$.property_1, new Color_Color(105)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_oldLace(this$) {\n const tupledArg = [this$.property_1, new Color_Color(106)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_olivedrab(this$) {\n const tupledArg = [this$.property_1, new Color_Color(107)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_orangeRed(this$) {\n const tupledArg = [this$.property_1, new Color_Color(108)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_orchid(this$) {\n const tupledArg = [this$.property_1, new Color_Color(109)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_paleGoldenrod(this$) {\n const tupledArg = [this$.property_1, new Color_Color(110)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_paleGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(111)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_paleTurquoise(this$) {\n const tupledArg = [this$.property_1, new Color_Color(112)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_paleVioletred(this$) {\n const tupledArg = [this$.property_1, new Color_Color(113)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_papayaWhip(this$) {\n const tupledArg = [this$.property_1, new Color_Color(114)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_peachpuff(this$) {\n const tupledArg = [this$.property_1, new Color_Color(115)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_peru(this$) {\n const tupledArg = [this$.property_1, new Color_Color(116)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_pink(this$) {\n const tupledArg = [this$.property_1, new Color_Color(117)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_plum(this$) {\n const tupledArg = [this$.property_1, new Color_Color(118)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_powderBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(119)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_rosyBrown(this$) {\n const tupledArg = [this$.property_1, new Color_Color(120)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_royalBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(121)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_saddleBrown(this$) {\n const tupledArg = [this$.property_1, new Color_Color(122)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_salmon(this$) {\n const tupledArg = [this$.property_1, new Color_Color(123)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_sandyBrown(this$) {\n const tupledArg = [this$.property_1, new Color_Color(124)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_seaGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(125)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_seaShell(this$) {\n const tupledArg = [this$.property_1, new Color_Color(126)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_sienna(this$) {\n const tupledArg = [this$.property_1, new Color_Color(127)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_skyBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(128)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_slateBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(129)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_slateGray(this$) {\n const tupledArg = [this$.property_1, new Color_Color(130)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_snow(this$) {\n const tupledArg = [this$.property_1, new Color_Color(131)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_springGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(132)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_steelBlue(this$) {\n const tupledArg = [this$.property_1, new Color_Color(133)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_tan(this$) {\n const tupledArg = [this$.property_1, new Color_Color(134)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_thistle(this$) {\n const tupledArg = [this$.property_1, new Color_Color(135)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_tomato(this$) {\n const tupledArg = [this$.property_1, new Color_Color(136)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_turquoise(this$) {\n const tupledArg = [this$.property_1, new Color_Color(137)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_violet(this$) {\n const tupledArg = [this$.property_1, new Color_Color(138)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_wheat(this$) {\n const tupledArg = [this$.property_1, new Color_Color(139)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_whiteSmoke(this$) {\n const tupledArg = [this$.property_1, new Color_Color(140)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_yellowGreen(this$) {\n const tupledArg = [this$.property_1, new Color_Color(141)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_rebeccaPurple(this$) {\n const tupledArg = [this$.property_1, new Color_Color(142)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_transparent(this$) {\n const tupledArg = [this$.property_1, new Color_Color(143)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__get_currentColor(this$) {\n const tupledArg = [this$.property_1, new Color_Color(144)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__rgb(this$, red, green, blue) {\n const tupledArg = [this$.property_1, new Color_Color(145, red, green, blue)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__rgba(this$, red, green, blue, alpha) {\n const tupledArg = [this$.property_1, new Color_Color(146, red, green, blue, alpha)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__hex_Z721C83C5(this$, value) {\n const tupledArg = [this$.property_1, colorHelpers_hex(value)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__hsl(this$, hue, saturation, lightness) {\n const tupledArg = [this$.property_1, new Color_Color(148, hue, saturation, lightness)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_Color__hsla(this$, hue, saturation, lightness, alpha) {\n const tupledArg = [this$.property_1, new Color_Color(149, hue, saturation, lightness, alpha)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class ColorClass_ColorAdjust extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function ColorClass_ColorAdjust$reflection() {\n return class_type(\"Fss.Types.ColorClass.ColorAdjust\", void 0, ColorClass_ColorAdjust, CssRule$reflection());\n}\n\nexport function ColorClass_ColorAdjust_$ctor_Z207A3CFB(property) {\n return new ColorClass_ColorAdjust(property);\n}\n\nexport function ColorClass_ColorAdjust__value_Z21057965(this$, adjust) {\n const tupledArg = [this$.property_1, adjust];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_ColorAdjust__get_exact(this$) {\n const tupledArg = [this$.property_1, new Color_ColorAdjust(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ColorClass_ColorAdjust__get_economy(this$) {\n const tupledArg = [this$.property_1, new Color_ColorAdjust(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { toString, Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, string_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithNormalNone$reflection, CssRuleWithNormalNone, CssRule$reflection, CssRule, CssRuleWithAutoNormal$reflection, CssRuleWithAutoNormal, Float, Int, CssRuleWithAutoNormalNone$reflection, CssRuleWithAutoNormalNone, Stringed, CssRuleWithNormal$reflection, CssRuleWithNormal, String$, MasterTypeHelpers_stringifyICssValue, CssRuleWithNone$reflection, CssRuleWithNone } from \"./MasterTypes.fs.js\";\nimport { interpolate, toText, join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\nimport { unitHelpers_CssRuleWithLengthNormal$reflection, unitHelpers_CssRuleWithLengthNormal, unitHelpers_CssRuleWithLength$reflection, unitHelpers_CssRuleWithLength } from \"./Units.fs.js\";\n\nexport class Font_Size extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"XxSmall\", \"XSmall\", \"Small\", \"Medium\", \"Large\", \"XLarge\", \"XxLarge\", \"XxxLarge\", \"Smaller\", \"Larger\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"x-small\";\n }\n case 2: {\n return \"small\";\n }\n case 3: {\n return \"medium\";\n }\n case 4: {\n return \"large\";\n }\n case 5: {\n return \"x-large\";\n }\n case 6: {\n return \"xx-large\";\n }\n case 7: {\n return \"xxx-large\";\n }\n case 8: {\n return \"smaller\";\n }\n case 9: {\n return \"larger\";\n }\n default: {\n return \"xx-small\";\n }\n }\n }\n}\n\nexport function Font_Size$reflection() {\n return union_type(\"Fss.Types.Font.Size\", [], Font_Size, () => [[], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Font_Style extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Italic\", \"Oblique\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"oblique\" : \"italic\";\n }\n}\n\nexport function Font_Style$reflection() {\n return union_type(\"Fss.Types.Font.Style\", [], Font_Style, () => [[], []]);\n}\n\nexport class Font_Stretch extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SemiCondensed\", \"Condensed\", \"ExtraCondensed\", \"UltraCondensed\", \"SemiExpanded\", \"Expanded\", \"ExtraExpanded\", \"UltraExpanded\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"condensed\";\n }\n case 2: {\n return \"extra-condensed\";\n }\n case 3: {\n return \"ultra-condensed\";\n }\n case 4: {\n return \"semi-expanded\";\n }\n case 5: {\n return \"expanded\";\n }\n case 6: {\n return \"extra-expanded\";\n }\n case 7: {\n return \"ultra-expanded\";\n }\n default: {\n return \"semi-condensed\";\n }\n }\n }\n}\n\nexport function Font_Stretch$reflection() {\n return union_type(\"Fss.Types.Font.Stretch\", [], Font_Stretch, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Font_Weight extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Bold\", \"Lighter\", \"Bolder\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"lighter\";\n }\n case 2: {\n return \"bolder\";\n }\n default: {\n return \"bold\";\n }\n }\n }\n}\n\nexport function Font_Weight$reflection() {\n return union_type(\"Fss.Types.Font.Weight\", [], Font_Weight, () => [[], [], []]);\n}\n\nexport class Font_SettingSwitch extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"On\", \"Off\"];\n }\n}\n\nexport function Font_SettingSwitch$reflection() {\n return union_type(\"Fss.Types.Font.SettingSwitch\", [], Font_SettingSwitch, () => [[], []]);\n}\n\nexport class Font_FeatureSetting extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Liga\", \"Dlig\", \"Onum\", \"Lnum\", \"Tnum\", \"Zero\", \"Frac\", \"Sups\", \"Subs\", \"Smcp\", \"C2sc\", \"Case\", \"Hlig\", \"Calt\", \"Swsh\", \"Hist\", \"Ss\", \"Kern\", \"Locl\", \"Rlig\", \"Medi\", \"Init\", \"Isol\", \"Fina\", \"Mark\", \"Mkmk\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"dlig\";\n }\n case 2: {\n return \"onum\";\n }\n case 3: {\n return \"lnum\";\n }\n case 4: {\n return \"tnum\";\n }\n case 5: {\n return \"zero\";\n }\n case 6: {\n return \"frac\";\n }\n case 7: {\n return \"sups\";\n }\n case 8: {\n return \"subs\";\n }\n case 9: {\n return \"smcp\";\n }\n case 10: {\n return \"c2sc\";\n }\n case 11: {\n return \"case\";\n }\n case 12: {\n return \"hlig\";\n }\n case 13: {\n return \"calt\";\n }\n case 14: {\n return \"swsh\";\n }\n case 15: {\n return \"hist\";\n }\n case 16: {\n return \"ss\";\n }\n case 17: {\n return \"kern\";\n }\n case 18: {\n return \"locl\";\n }\n case 19: {\n return \"rlig\";\n }\n case 20: {\n return \"medi\";\n }\n case 21: {\n return \"init\";\n }\n case 22: {\n return \"isol\";\n }\n case 23: {\n return \"fina\";\n }\n case 24: {\n return \"mark\";\n }\n case 25: {\n return \"mkmk\";\n }\n default: {\n return \"liga\";\n }\n }\n }\n}\n\nexport function Font_FeatureSetting$reflection() {\n return union_type(\"Fss.Types.Font.FeatureSetting\", [], Font_FeatureSetting, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Font_VariantNumeric extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Ordinal\", \"SlashedZero\", \"LiningNums\", \"OldstyleNums\", \"ProportionalNums\", \"TabularNums\", \"DiagonalFractions\", \"StackedFractions\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"slashed-zero\";\n }\n case 2: {\n return \"lining-nums\";\n }\n case 3: {\n return \"oldstyle-nums\";\n }\n case 4: {\n return \"proportional-nums\";\n }\n case 5: {\n return \"tabular-nums\";\n }\n case 6: {\n return \"diagonal-fractions\";\n }\n case 7: {\n return \"stacked-fractions\";\n }\n default: {\n return \"ordinal\";\n }\n }\n }\n}\n\nexport function Font_VariantNumeric$reflection() {\n return union_type(\"Fss.Types.Font.VariantNumeric\", [], Font_VariantNumeric, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Font_VariantCaps extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SmallCaps\", \"AllSmallCaps\", \"PetiteCaps\", \"AllPetiteCaps\", \"Unicase\", \"TitlingCaps\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"all-small-caps\";\n }\n case 2: {\n return \"petite-caps\";\n }\n case 3: {\n return \"all-petite-caps\";\n }\n case 4: {\n return \"unicase\";\n }\n case 5: {\n return \"titling-caps\";\n }\n default: {\n return \"small-caps\";\n }\n }\n }\n}\n\nexport function Font_VariantCaps$reflection() {\n return union_type(\"Fss.Types.Font.VariantCaps\", [], Font_VariantCaps, () => [[], [], [], [], [], []]);\n}\n\nexport class Font_VariantEastAsian extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Ruby\", \"Jis78\", \"Jis83\", \"Jis90\", \"Jis04\", \"Simplified\", \"Traditional\", \"FullWidth\", \"ProportionalWidth\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"jis78\";\n }\n case 2: {\n return \"jis83\";\n }\n case 3: {\n return \"jis90\";\n }\n case 4: {\n return \"jis04\";\n }\n case 5: {\n return \"simplified\";\n }\n case 6: {\n return \"traditional\";\n }\n case 7: {\n return \"full-width\";\n }\n case 8: {\n return \"proportional-width\";\n }\n default: {\n return \"ruby\";\n }\n }\n }\n}\n\nexport function Font_VariantEastAsian$reflection() {\n return union_type(\"Fss.Types.Font.VariantEastAsian\", [], Font_VariantEastAsian, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport class Font_VariantLigature extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CommonLigatures\", \"NoCommonLigatures\", \"DiscretionaryLigatures\", \"NoDiscretionaryLigatures\", \"HistoricalLigatures\", \"NoHistoricalLigatures\", \"Contextual\", \"NoContextual\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"no-common-ligatures\";\n }\n case 2: {\n return \"discretionary-ligatures\";\n }\n case 3: {\n return \"no-discretionary-ligatures\";\n }\n case 4: {\n return \"historical-ligatures\";\n }\n case 5: {\n return \"no-historical-ligatures\";\n }\n case 6: {\n return \"contextual\";\n }\n case 7: {\n return \"no-contextual\";\n }\n default: {\n return \"common-ligatures\";\n }\n }\n }\n}\n\nexport function Font_VariantLigature$reflection() {\n return union_type(\"Fss.Types.Font.VariantLigature\", [], Font_VariantLigature, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Font_Name extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Name\"];\n }\n}\n\nexport function Font_Name$reflection() {\n return union_type(\"Fss.Types.Font.Name\", [], Font_Name, () => [[[\"Item\", string_type]]]);\n}\n\nexport class Font_Family extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Serif\", \"SansSerif\", \"Monospace\", \"Cursive\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"sans-serif\";\n }\n case 2: {\n return \"monospace\";\n }\n case 3: {\n return \"cursive\";\n }\n default: {\n return \"serif\";\n }\n }\n }\n}\n\nexport function Font_Family$reflection() {\n return union_type(\"Fss.Types.Font.Family\", [], Font_Family, () => [[], [], [], []]);\n}\n\nexport class Font_LineBreak extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Loose\", \"Strict\", \"Anywhere\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"strict\";\n }\n case 2: {\n return \"anywhere\";\n }\n default: {\n return \"loose\";\n }\n }\n }\n}\n\nexport function Font_LineBreak$reflection() {\n return union_type(\"Fss.Types.Font.LineBreak\", [], Font_LineBreak, () => [[], [], []]);\n}\n\nexport class Font_Synthesis extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Weight\", \"Style\", \"SmallCaps\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"style\";\n }\n case 2: {\n return \"small-caps\";\n }\n default: {\n return \"weight\";\n }\n }\n }\n}\n\nexport function Font_Synthesis$reflection() {\n return union_type(\"Fss.Types.Font.Synthesis\", [], Font_Synthesis, () => [[], [], []]);\n}\n\nexport class Font_VariantPosition extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Sub\", \"Super\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"super\" : \"sub\";\n }\n}\n\nexport function Font_VariantPosition$reflection() {\n return union_type(\"Fss.Types.Font.VariantPosition\", [], Font_VariantPosition, () => [[], []]);\n}\n\nexport class FontClasses_FontSynthesis extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontSynthesis$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontSynthesis\", void 0, FontClasses_FontSynthesis, CssRuleWithNone$reflection());\n}\n\nexport function FontClasses_FontSynthesis_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontSynthesis(property);\n}\n\nexport function FontClasses_FontSynthesis__value_4963FB8B(this$, synthesis) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, synthesis)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSynthesis__get_weight(this$) {\n const tupledArg = [this$.property_2, new Font_Synthesis(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSynthesis__get_style(this$) {\n const tupledArg = [this$.property_2, new Font_Synthesis(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSynthesis__get_smallCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontLanguageOverride extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontLanguageOverride$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontLanguageOverride\", void 0, FontClasses_FontLanguageOverride, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontLanguageOverride_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontLanguageOverride(property);\n}\n\nexport function FontClasses_FontLanguageOverride__value_Z721C83C5(this$, languageOverride) {\n const tupledArg = [this$.property_2, new Stringed(0, languageOverride)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontKerning extends CssRuleWithAutoNormalNone {\n constructor(property) {\n super(property);\n }\n}\n\nexport function FontClasses_FontKerning$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontKerning\", void 0, FontClasses_FontKerning, CssRuleWithAutoNormalNone$reflection());\n}\n\nexport function FontClasses_FontKerning_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontKerning(property);\n}\n\nexport class FontClasses_FontSize extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontSize$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontSize\", void 0, FontClasses_FontSize, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function FontClasses_FontSize_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontSize(property);\n}\n\nexport function FontClasses_FontSize__get_xxSmall(this$) {\n const tupledArg = [this$.property_2, new Font_Size(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_xSmall(this$) {\n const tupledArg = [this$.property_2, new Font_Size(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_small(this$) {\n const tupledArg = [this$.property_2, new Font_Size(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_medium(this$) {\n const tupledArg = [this$.property_2, new Font_Size(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_large(this$) {\n const tupledArg = [this$.property_2, new Font_Size(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_xLarge(this$) {\n const tupledArg = [this$.property_2, new Font_Size(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_xxLarge(this$) {\n const tupledArg = [this$.property_2, new Font_Size(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_xxxLarge(this$) {\n const tupledArg = [this$.property_2, new Font_Size(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_smaller(this$) {\n const tupledArg = [this$.property_2, new Font_Size(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontSize__get_larger(this$) {\n const tupledArg = [this$.property_2, new Font_Size(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontStretch extends unitHelpers_CssRuleWithLengthNormal {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function FontClasses_FontStretch$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontStretch\", void 0, FontClasses_FontStretch, unitHelpers_CssRuleWithLengthNormal$reflection());\n}\n\nexport function FontClasses_FontStretch_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontStretch(property);\n}\n\nexport function FontClasses_FontStretch__get_semiCondensed(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_condensed(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_extraCondensed(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_ultraCondensed(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_semiExpanded(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_expanded(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_extraExpanded(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStretch__get_ultraExpanded(this$) {\n const tupledArg = [this$.property_3, new Font_Stretch(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontStyle extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontStyle$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontStyle\", void 0, FontClasses_FontStyle, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontStyle_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontStyle(property);\n}\n\nexport function FontClasses_FontStyle__oblique_CEE3389(this$, angle) {\n const tupledArg = [this$.property_2, new String$(0, `oblique ${MasterTypeHelpers_stringifyICssValue(angle)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontStyle__get_italic(this$) {\n const tupledArg = [this$.property_2, new Font_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontWeight extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontWeight$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontWeight\", void 0, FontClasses_FontWeight, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontWeight_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontWeight(property);\n}\n\nexport function FontClasses_FontWeight__value_Z524259A4(this$, weight) {\n const tupledArg = [this$.property_2, new Int(0, weight)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontWeight__get_bold(this$) {\n const tupledArg = [this$.property_2, new Font_Weight(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontWeight__get_lighter(this$) {\n const tupledArg = [this$.property_2, new Font_Weight(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontWeight__get_bolder(this$) {\n const tupledArg = [this$.property_2, new Font_Weight(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_LineHeight extends unitHelpers_CssRuleWithLengthNormal {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function FontClasses_LineHeight$reflection() {\n return class_type(\"Fss.Types.FontClasses.LineHeight\", void 0, FontClasses_LineHeight, unitHelpers_CssRuleWithLengthNormal$reflection());\n}\n\nexport function FontClasses_LineHeight_$ctor_Z207A3CFB(property) {\n return new FontClasses_LineHeight(property);\n}\n\nexport function FontClasses_LineHeight__value_5E38073B(this$, height) {\n const tupledArg = [this$.property_3, new Float(0, height)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_LineHeight__get_bold(this$) {\n const tupledArg = [this$.property_3, new Font_Weight(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_LineHeight__get_lighter(this$) {\n const tupledArg = [this$.property_3, new Font_Weight(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_LineHeight__get_bolder(this$) {\n const tupledArg = [this$.property_3, new Font_Weight(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_LineBreak extends CssRuleWithAutoNormal {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function FontClasses_LineBreak$reflection() {\n return class_type(\"Fss.Types.FontClasses.LineBreak\", void 0, FontClasses_LineBreak, CssRuleWithAutoNormal$reflection());\n}\n\nexport function FontClasses_LineBreak_$ctor_Z207A3CFB(property) {\n return new FontClasses_LineBreak(property);\n}\n\nexport function FontClasses_LineBreak__get_loose(this$) {\n const tupledArg = [this$.property_3, new Font_LineBreak(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_LineBreak__get_strict(this$) {\n const tupledArg = [this$.property_3, new Font_LineBreak(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_LineBreak__get_anywhere(this$) {\n const tupledArg = [this$.property_3, new Font_LineBreak(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_LetterSpacing extends unitHelpers_CssRuleWithLengthNormal {\n constructor(property) {\n super(property);\n }\n}\n\nexport function FontClasses_LetterSpacing$reflection() {\n return class_type(\"Fss.Types.FontClasses.LetterSpacing\", void 0, FontClasses_LetterSpacing, unitHelpers_CssRuleWithLengthNormal$reflection());\n}\n\nexport function FontClasses_LetterSpacing_$ctor_Z207A3CFB(property) {\n return new FontClasses_LetterSpacing(property);\n}\n\nexport class FontClasses_FontFamily extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FontClasses_FontFamily$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontFamily\", void 0, FontClasses_FontFamily, CssRule$reflection());\n}\n\nexport function FontClasses_FontFamily_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontFamily(property);\n}\n\nexport function FontClasses_FontFamily__value_Z721C83C5(this$, family) {\n const tupledArg = [this$.property_1, new String$(0, family)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFamily__value_Z7B4D0BD7(this$, families) {\n const tupledArg = [this$.property_1, new String$(0, join(\", \", map(MasterTypeHelpers_stringifyICssValue, families)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFamily__get_serif(this$) {\n const tupledArg = [this$.property_1, new Font_Family(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFamily__get_sansSerif(this$) {\n const tupledArg = [this$.property_1, new Font_Family(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFamily__get_monospace(this$) {\n const tupledArg = [this$.property_1, new Font_Family(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFamily__get_cursive(this$) {\n const tupledArg = [this$.property_1, new Font_Family(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontFeatureSettings extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontFeatureSettings$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontFeatureSettings\", void 0, FontClasses_FontFeatureSettings, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontFeatureSettings_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontFeatureSettings(property);\n}\n\nexport function FontClasses_FontFeatureSettings__liga_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(0), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__dlig_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(1), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__onum_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(2), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__lnum_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(3), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__tnum_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(4), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__zero_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(5), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__frac_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(6), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__sups_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(7), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__subs_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(8), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__smcp_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(9), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__c2sc_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(10), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__case_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(11), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__hlig_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(12), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__calt_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(13), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__swsh_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(14), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__hist_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(15), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__ss_Z11E6453(this$, value, switch$) {\n const tupledArg = [this$.property_2, new String$(0, toText(interpolate(\"\\\"ss%02i%P()\\\" %s%P()\", [value, toString(switch$)])))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__kern_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(17), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__locl_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(18), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__rlig_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(19), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__medi_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(20), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__init_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(21), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__isol_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(22), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__fina_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(23), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__mark_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(24), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontFeatureSettings__mkmk_1505(this$, switch$) {\n const tupledArg = [this$.property_2, new String$(0, ((switch$_1) => FontClasses_FontFeatureSettings__settingToString(this$, new Font_FeatureSetting(25), switch$_1))(switch$))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nfunction FontClasses_FontFeatureSettings__settingToString(this$, value, switch$) {\n return `\"${MasterTypeHelpers_stringifyICssValue(value)}\" ${switch$}`;\n}\n\nexport class FontClasses_FontVariantNumeric extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontVariantNumeric$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontVariantNumeric\", void 0, FontClasses_FontVariantNumeric, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontVariantNumeric_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontVariantNumeric(property);\n}\n\nexport function FontClasses_FontVariantNumeric__get_ordinal(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_slashedZero(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_liningNums(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_oldstyleNums(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_proportionalNums(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_tabularNums(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_diagonalFractions(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantNumeric__get_stackedFractions(this$) {\n const tupledArg = [this$.property_2, new Font_VariantNumeric(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontVariantCaps extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontVariantCaps$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontVariantCaps\", void 0, FontClasses_FontVariantCaps, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontVariantCaps_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontVariantCaps(property);\n}\n\nexport function FontClasses_FontVariantCaps__get_smallCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantCaps__get_allSmallCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantCaps__get_petiteCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantCaps__get_allPetiteCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantCaps__get_unicase(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantCaps__get_titlingCaps(this$) {\n const tupledArg = [this$.property_2, new Font_VariantCaps(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontVariantEastAsian extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FontClasses_FontVariantEastAsian$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontVariantEastAsian\", void 0, FontClasses_FontVariantEastAsian, CssRuleWithNormal$reflection());\n}\n\nexport function FontClasses_FontVariantEastAsian_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontVariantEastAsian(property);\n}\n\nexport function FontClasses_FontVariantEastAsian__get_ruby(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_jis78(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_jis83(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_jis90(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_jis04(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_simplified(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_traditional(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_fullWidth(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantEastAsian__get_proportionalWidth(this$) {\n const tupledArg = [this$.property_2, new Font_VariantEastAsian(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontVariantLigatures extends CssRuleWithNormalNone {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function FontClasses_FontVariantLigatures$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontVariantLigatures\", void 0, FontClasses_FontVariantLigatures, CssRuleWithNormalNone$reflection());\n}\n\nexport function FontClasses_FontVariantLigatures_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontVariantLigatures(property);\n}\n\nexport function FontClasses_FontVariantLigatures__get_commonLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_noCommonLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_discretionaryLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_noDiscretionaryLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_historicalLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_noHistoricalLigatures(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_contextual(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantLigatures__get_noContextual(this$) {\n const tupledArg = [this$.property_3, new Font_VariantLigature(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FontClasses_FontVariantPosition extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FontClasses_FontVariantPosition$reflection() {\n return class_type(\"Fss.Types.FontClasses.FontVariantPosition\", void 0, FontClasses_FontVariantPosition, CssRule$reflection());\n}\n\nexport function FontClasses_FontVariantPosition_$ctor_Z207A3CFB(property) {\n return new FontClasses_FontVariantPosition(property);\n}\n\nexport function FontClasses_FontVariantPosition__get_sub(this$) {\n const tupledArg = [this$.property_1, new Font_VariantPosition(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FontClasses_FontVariantPosition__get_super(this$) {\n const tupledArg = [this$.property_1, new Font_VariantPosition(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { toString, Union } from \"../fable-library.3.7.17/Types.js\";\nimport { ImportantMaster, MasterTypeHelpers_stringifyICounterValue, CombinatorMaster__Unwrap, MasterTypeHelpers_stringifyICssValue, NameLabel, CombinatorMaster, Pseudo, Property_CssProperty$reflection } from \"./Types/MasterTypes.fs.js\";\nimport { union_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { Media_MediaQuery } from \"./Types/Media.fs.js\";\nimport { toList } from \"../fable-library.3.7.17/Seq.js\";\nimport { printf, toText, join, split } from \"../fable-library.3.7.17/String.js\";\nimport { fold, tryHead, tryFind, empty, reverse, append, collect, singleton, filter, map, head, tail, isEmpty } from \"../fable-library.3.7.17/List.js\";\nimport { equalArrays, equals } from \"../fable-library.3.7.17/Util.js\";\nimport { FNV_1A_hash } from \"./Utilities.fs.js\";\nimport { FontFaceClasses_FontFamily__string_Z721C83C5 } from \"./Types/FontFace.fs.js\";\nimport { FontFamily } from \"./css/FontFace.fs.js\";\nimport { colorHelpers_hex, Color_Color } from \"./Types/Color.fs.js\";\nimport { Fraction, Time, Percent, Angle, Length } from \"./Types/Units.fs.js\";\nimport { Font_SettingSwitch } from \"./Types/Font.fs.js\";\n\nclass PropertyType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Main\", \"Pseudo\", \"Media\", \"Combinator\"];\n }\n}\n\nfunction PropertyType$reflection() {\n return union_type(\"Fss.Functions.PropertyType\", [], PropertyType, () => [[], [[\"Item\", Property_CssProperty$reflection()]], [[\"Item\", Property_CssProperty$reflection()]], [[\"Item\", Property_CssProperty$reflection()]]]);\n}\n\nfunction isSecondary(_arg, value) {\n if (value instanceof Pseudo) {\n return true;\n }\n else if (value instanceof CombinatorMaster) {\n return true;\n }\n else if (value instanceof Media_MediaQuery) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction isCombinator(_arg, value) {\n if (value instanceof CombinatorMaster) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction isMedia(_arg, value) {\n if (value instanceof Media_MediaQuery) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction isPseudo(_arg, value) {\n if (value instanceof Pseudo) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction isLabel(_arg, value) {\n if (value instanceof NameLabel) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction isCounterLabel(_arg, value) {\n if (value instanceof NameLabel) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction addBrackets(string) {\n return `{ ${string} }`;\n}\n\nfunction addClassName(className, css, value) {\n if (css.indexOf(\"@media\") >= 0) {\n const patternInput = toList(split(css, [\"@\"], null, 0));\n let pattern_matching_result, css_1, name;\n if (!isEmpty(patternInput)) {\n if (!isEmpty(tail(patternInput))) {\n pattern_matching_result = 0;\n css_1 = head(tail(patternInput));\n name = head(patternInput);\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return [`@${css_1}`, `{ ${className}${name} ${value.slice(1, value.length).trim()}`];\n }\n case 1: {\n throw (new Error(\"Match failure: Microsoft.FSharp.Collections.FSharpList`1\"));\n }\n }\n }\n else {\n return [`${className}${css}`, value];\n }\n}\n\nfunction createMainCssString(propertyName, propertyValue) {\n return [MasterTypeHelpers_stringifyICssValue(propertyName), MasterTypeHelpers_stringifyICssValue(propertyValue)];\n}\n\nfunction createMainCSS(properties) {\n let arg_1;\n return addBrackets((arg_1 = join(\";\", map((tupledArg_2) => (`${tupledArg_2[0]}: ${tupledArg_2[1]}`), map((tupledArg_1) => createMainCssString(tupledArg_1[0], tupledArg_1[1]), filter((arg) => {\n let tupledArg;\n return !((tupledArg = arg, isLabel(tupledArg[0], tupledArg[1])));\n }, properties)))), toText(printf(\"%s;\"))(arg_1)));\n}\n\nfunction createPseudoCssString(propertyName, propertyValue) {\n const colons = (propertyValue instanceof Pseudo) ? ((propertyValue.tag === 1) ? \"::\" : \":\") : \"\";\n return [`${colons}${MasterTypeHelpers_stringifyICssValue(propertyName)}`, `{ ${MasterTypeHelpers_stringifyICssValue(propertyValue)}; }`];\n}\n\nfunction createPseudoCss(properties) {\n return map((tupledArg_1) => [`${tupledArg_1[0]}`, `${tupledArg_1[1]}`], map((tupledArg) => createPseudoCssString(tupledArg[0], tupledArg[1]), properties));\n}\n\nfunction createMediaCssString(className, _arg, propertyValue) {\n const stringifyMedia = (features, rules) => [join(\" and \", map((x) => {\n let copyOfStruct;\n return `(${((copyOfStruct = x, toString(copyOfStruct)))})`;\n }, features)), addBrackets(join(\"\", map((tupledArg) => (`${tupledArg[0]} ${tupledArg[1]}`), createFssInternal(className, rules)[1])))];\n if (propertyValue instanceof Media_MediaQuery) {\n if (propertyValue.tag === 1) {\n const features_4 = propertyValue.fields[1];\n const device_1 = MasterTypeHelpers_stringifyICssValue(propertyValue.fields[0]);\n const patternInput_2 = stringifyMedia(features_4, propertyValue.fields[2]);\n const featureString_1 = (!isEmpty(features_4)) ? (`and ${patternInput_2[0]}`) : \"\";\n return [`@media ${device_1} ${featureString_1}`, patternInput_2[1]];\n }\n else {\n const patternInput_1 = stringifyMedia(propertyValue.fields[0], propertyValue.fields[1]);\n return [`@media ${patternInput_1[0]}`, patternInput_1[1]];\n }\n }\n else {\n return [\"\", \"\"];\n }\n}\n\nexport function createMediaCss(className, properties) {\n return map((m) => createMediaCssString(className, m[0], m[1]), properties);\n}\n\nfunction createCombinatorCssString(propertyName, propertyValue) {\n if (propertyValue instanceof CombinatorMaster) {\n return map((tupledArg) => [`${MasterTypeHelpers_stringifyICssValue(propertyName)}${tupledArg[0]}`, tupledArg[1]], createFssInternal(\"\", CombinatorMaster__Unwrap(propertyValue))[1]);\n }\n else {\n return singleton([\"\", \"\"]);\n }\n}\n\nfunction createCombinatorCss(properties) {\n return collect((m) => createCombinatorCssString(m[0], m[1]), properties);\n}\n\nfunction arrangePropertyLists(properties) {\n const arrangePropertyLists_1 = (currentProperties_mut, previousPropertyType_mut, currentPropertyTypes_mut) => {\n arrangePropertyLists_1:\n while (true) {\n const currentProperties = currentProperties_mut, previousPropertyType = previousPropertyType_mut, currentPropertyTypes = currentPropertyTypes_mut;\n if (isEmpty(currentProperties)) {\n return currentPropertyTypes;\n }\n else {\n const currentProperty = head(currentProperties);\n let newPropertyType;\n const propertyTypeIdentifier = currentProperty[0];\n newPropertyType = ((!isSecondary(currentProperty[0], currentProperty[1])) ? [new PropertyType(0), singleton(currentProperty)] : (isPseudo(currentProperty[0], currentProperty[1]) ? [new PropertyType(1, propertyTypeIdentifier), singleton(currentProperty)] : (isMedia(currentProperty[0], currentProperty[1]) ? [new PropertyType(2, propertyTypeIdentifier), singleton(currentProperty)] : [new PropertyType(3, propertyTypeIdentifier), singleton(currentProperty)])));\n let newPropertyTypes;\n if (previousPropertyType == null) {\n newPropertyTypes = singleton(newPropertyType);\n }\n else {\n const previousPropertyType_1 = previousPropertyType;\n if (equals(newPropertyType[0], previousPropertyType_1[0])) {\n const newPropertyToInsert = [newPropertyType[0], append(previousPropertyType_1[1], newPropertyType[1])];\n newPropertyTypes = map((x) => (equalArrays(x, previousPropertyType_1) ? newPropertyToInsert : x), currentPropertyTypes);\n }\n else {\n newPropertyTypes = append(currentPropertyTypes, singleton(newPropertyType));\n }\n }\n const previousPropertyType_2 = head(reverse(newPropertyTypes));\n currentProperties_mut = tail(currentProperties);\n previousPropertyType_mut = previousPropertyType_2;\n currentPropertyTypes_mut = newPropertyTypes;\n continue arrangePropertyLists_1;\n }\n break;\n }\n };\n return arrangePropertyLists_1(properties, void 0, empty());\n}\n\nfunction createFssInternal(name, properties) {\n let label;\n const _arg = tryFind((tupledArg) => isLabel(tupledArg[0], tupledArg[1]), properties);\n label = ((_arg == null) ? \"\" : MasterTypeHelpers_stringifyICssValue(_arg[1]));\n const properties_1 = filter((arg) => {\n let tupledArg_1;\n return !((tupledArg_1 = arg, isLabel(tupledArg_1[0], tupledArg_1[1])));\n }, properties);\n let className;\n if (name != null) {\n className = name;\n }\n else {\n const fullCssString = join(\";\", map((tupledArg_2) => (`${MasterTypeHelpers_stringifyICssValue(tupledArg_2[0])}-${MasterTypeHelpers_stringifyICssValue(tupledArg_2[1])}`), properties_1));\n className = (`.css${FNV_1A_hash(fullCssString)}${label}`);\n }\n const addClassName_1 = (cssPair) => addClassName(className, cssPair[0], cssPair[1]);\n const arrangedCss = collect((tupledArg_3) => {\n const propertyType = tupledArg_3[0];\n const rules = tupledArg_3[1];\n switch (propertyType.tag) {\n case 1: {\n return map(addClassName_1, createPseudoCss(rules));\n }\n case 2: {\n return createMediaCss(className, rules);\n }\n case 3: {\n return map(addClassName_1, createCombinatorCss(rules));\n }\n default: {\n return singleton([className, createMainCSS(rules)]);\n }\n }\n }, arrangePropertyLists(properties_1));\n return [className.slice(1, className.length), arrangedCss];\n}\n\nexport function createFss(properties) {\n return createFssInternal(void 0, properties);\n}\n\nexport function createFssWithClassname(className, properties) {\n return createFssInternal(className, properties);\n}\n\nexport function createGlobal(properties) {\n return createFssInternal(\"*\", properties)[1];\n}\n\nfunction stringifyCounterProperty(property_, property__1) {\n const property = [property_, property__1];\n return `${MasterTypeHelpers_stringifyICssValue(property[0])}: ${property[1].StringifyCounter()};`;\n}\n\nfunction createCounterStyleInternal(name, properties) {\n const label = tryHead(reverse(map((tupledArg_1) => tupledArg_1[1], filter((tupledArg) => isCounterLabel(tupledArg[0], tupledArg[1]), properties))));\n const propertyString = join(\"\", map((tupledArg_3) => stringifyCounterProperty(tupledArg_3[0], tupledArg_3[1]), filter((arg) => {\n let tupledArg_2;\n return !((tupledArg_2 = arg, isCounterLabel(tupledArg_2[0], tupledArg_2[1])));\n }, properties)));\n let label_1;\n if (label == null) {\n label_1 = \"\";\n }\n else {\n const l = label;\n label_1 = (`counter-${MasterTypeHelpers_stringifyICounterValue(l)}`);\n }\n return [(name != null) ? name : (`counter${FNV_1A_hash(propertyString)}${label_1}`), addBrackets(propertyString)];\n}\n\nexport function createCounterStyle(properties) {\n return createCounterStyleInternal(void 0, properties);\n}\n\nexport function createCounterStyleWithName(className, properties) {\n return createCounterStyleInternal(className, properties);\n}\n\nfunction stringifyFontFaceProperty(property_, property__1) {\n const property = [property_, property__1];\n return `${MasterTypeHelpers_stringifyICssValue(property[0])}: ${property[1].StringifyFontFace()};`;\n}\n\nexport function createFontFace(name, properties) {\n return [name, addBrackets(join(\"\", map((tupledArg) => stringifyFontFaceProperty(tupledArg[0], tupledArg[1]), append(singleton(FontFaceClasses_FontFamily__string_Z721C83C5(FontFamily, name)), properties))))];\n}\n\nexport function createFontFaces(name, properties) {\n const fontFace = map((ruleList) => createFontFace(name, ruleList), properties);\n return [head(fontFace)[0], join(\"\\n\", map((tupledArg) => tupledArg[1], fontFace))];\n}\n\nfunction createAnimationInternal(name, attributeList) {\n const animationStyles = fold((acc, x) => {\n if (x.tag === 1) {\n const patternInput_1 = head(createFss(x.fields[1])[1]);\n const frameNumbers = join(\",\", map((n) => (`${n}%`), x.fields[0]));\n return `${acc} ${frameNumbers} ${patternInput_1[1]}`;\n }\n else {\n const patternInput = head(createFss(x.fields[1])[1]);\n return `${acc} ${x.fields[0]}% ${patternInput[1]}`;\n }\n }, \"\", attributeList);\n if (name != null) {\n return [name, addBrackets(animationStyles)];\n }\n else {\n return [`animation-${FNV_1A_hash(animationStyles)}`, addBrackets(animationStyles)];\n }\n}\n\nexport function createAnimation(attributeList) {\n return createAnimationInternal(void 0, attributeList);\n}\n\nexport function createAnimationWithName(name, attributeList) {\n return createAnimationInternal(name, attributeList);\n}\n\nexport function important(propertyName, propertyValue) {\n const tupledArg = [propertyName, new ImportantMaster(0, propertyValue)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function combine(styles, stylesPred) {\n return join(\" \", map((tuple_1) => tuple_1[0], filter((tuple) => tuple[1], append(map((s) => [s, true], styles), stylesPred))));\n}\n\nexport function rgb(red, green, blue) {\n return new Color_Color(145, red, green, blue);\n}\n\nexport function rgba(red, green, blue, alpha) {\n return new Color_Color(146, red, green, blue, alpha);\n}\n\nexport function hex(value) {\n return colorHelpers_hex(value);\n}\n\nexport function hsl(hue, saturation, lightness) {\n return new Color_Color(148, hue, saturation, lightness);\n}\n\nexport function hsla(hue, saturation, lightness, alpha) {\n return new Color_Color(149, hue, saturation, lightness, alpha);\n}\n\nexport function px(v) {\n return new Length(0, v);\n}\n\nexport function inc(v) {\n return new Length(1, v);\n}\n\nexport function cm(v) {\n return new Length(2, v);\n}\n\nexport function mm(v) {\n return new Length(3, v);\n}\n\nexport function pt(v) {\n return new Length(4, v);\n}\n\nexport function pc(v) {\n return new Length(5, v);\n}\n\nexport function em(v) {\n return new Length(6, v);\n}\n\nexport function rem(v) {\n return new Length(7, v);\n}\n\nexport function ex(v) {\n return new Length(8, v);\n}\n\nexport function ch(v) {\n return new Length(9, v);\n}\n\nexport function vw(v) {\n return new Length(10, v);\n}\n\nexport function vh(v) {\n return new Length(11, v);\n}\n\nexport function vmax(v) {\n return new Length(12, v);\n}\n\nexport function vmin(v) {\n return new Length(13, v);\n}\n\nexport function deg(v) {\n return new Angle(0, v);\n}\n\nexport function grad(v) {\n return new Angle(1, v);\n}\n\nexport function rad(v) {\n return new Angle(2, v);\n}\n\nexport function turn(v) {\n return new Angle(3, v);\n}\n\nexport function pct(v) {\n return new Percent(0, v);\n}\n\nexport function sec(v) {\n return new Time(0, v);\n}\n\nexport function ms(v) {\n return new Time(1, v);\n}\n\nexport function fr(v) {\n return new Fraction(0, v);\n}\n\nexport const On = new Font_SettingSwitch(0);\n\nexport const Off = new Font_SettingSwitch(1);\n\n","import { addToSet } from \"../fable-library.3.7.17/MapUtil.js\";\nimport { createAnimation, createFontFace, createFontFaces, createCounterStyle, createGlobal, createFss } from \"../Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { join } from \"../fable-library.3.7.17/String.js\";\nimport { map } from \"../fable-library.3.7.17/List.js\";\n\nfunction processCssRule(name, rule) {\n return `${name} ${rule}`;\n}\n\nconst styleCache = new Set([]);\n\nfunction injectCss(className, css) {\n if (styleCache.has(className)) {\n }\n else {\n const head = document.getElementsByTagName(\"head\")[0];\n const style = document.createElement(\"style\");\n style.setAttribute(\"type\", \"text/css\");\n style.appendChild(document.createTextNode(css));\n head.appendChild(style);\n addToSet(className, styleCache);\n }\n}\n\nexport function fss(properties) {\n const patternInput = createFss(properties);\n const className = patternInput[0];\n injectCss(className, join(\"\", map((tupledArg) => processCssRule(tupledArg[0], tupledArg[1]), patternInput[1])));\n return className;\n}\n\nexport function global$0027(properties) {\n injectCss(\"*\", join(\"\", map((tupledArg) => processCssRule(tupledArg[0], tupledArg[1]), createGlobal(properties))));\n}\n\nfunction processCounterRules(name, rules) {\n return `@counter-style ${name} ${rules}`;\n}\n\nexport function counterStyle(properties) {\n const patternInput = createCounterStyle(properties);\n const counterName = patternInput[0];\n injectCss(counterName, processCounterRules(counterName, patternInput[1]));\n return counterName;\n}\n\nfunction processFontFaceRules(rules) {\n return `@font-face ${rules}`;\n}\n\nexport function fontFaces(name, properties) {\n const patternInput = createFontFaces(name, properties);\n const fontName = patternInput[0];\n injectCss(fontName, processFontFaceRules(patternInput[1]));\n return fontName;\n}\n\nexport function fontFace(name, properties) {\n const patternInput = createFontFace(name, properties);\n const fontName = patternInput[0];\n injectCss(fontName, processFontFaceRules(patternInput[1]));\n return fontName;\n}\n\nfunction processAnimationRules(name, rules) {\n return `@keyframes ${name} ${rules}`;\n}\n\nexport function keyframes(properties) {\n const patternInput = createAnimation(properties);\n const animationName = patternInput[0];\n injectCss(animationName, processAnimationRules(animationName, patternInput[1]));\n return animationName;\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithNone$reflection, CssRuleWithNone } from \"./MasterTypes.fs.js\";\n\nexport class Display_Display extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inline\", \"InlineBlock\", \"Block\", \"RunIn\", \"Flex\", \"Grid\", \"FlowRoot\", \"Table\", \"TableCell\", \"TableColumn\", \"TableColumnGroup\", \"TableHeaderGroup\", \"TableRowGroup\", \"TableFooterGroup\", \"TableRow\", \"TableCaption\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"inline-block\";\n }\n case 2: {\n return \"block\";\n }\n case 3: {\n return \"run-in\";\n }\n case 4: {\n return \"flex\";\n }\n case 5: {\n return \"grid\";\n }\n case 6: {\n return \"flow-root\";\n }\n case 7: {\n return \"table\";\n }\n case 8: {\n return \"table-cell\";\n }\n case 9: {\n return \"table-column\";\n }\n case 10: {\n return \"table-column-group\";\n }\n case 11: {\n return \"table-header-group\";\n }\n case 12: {\n return \"table-row-group\";\n }\n case 13: {\n return \"table-footer-group\";\n }\n case 14: {\n return \"table-row\";\n }\n case 15: {\n return \"table-caption\";\n }\n default: {\n return \"inline\";\n }\n }\n }\n}\n\nexport function Display_Display$reflection() {\n return union_type(\"Fss.Types.Display.Display\", [], Display_Display, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class DisplayClasses_DisplayClass extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function DisplayClasses_DisplayClass$reflection() {\n return class_type(\"Fss.Types.DisplayClasses.DisplayClass\", void 0, DisplayClasses_DisplayClass, CssRuleWithNone$reflection());\n}\n\nexport function DisplayClasses_DisplayClass_$ctor_Z207A3CFB(property) {\n return new DisplayClasses_DisplayClass(property);\n}\n\nexport function DisplayClasses_DisplayClass__value_Z5164641A(this$, display) {\n const tupledArg = [this$.property_2, display];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_inline$0027(this$) {\n const tupledArg = [this$.property_2, new Display_Display(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_inlineBlock(this$) {\n const tupledArg = [this$.property_2, new Display_Display(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_block(this$) {\n const tupledArg = [this$.property_2, new Display_Display(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_runIn(this$) {\n const tupledArg = [this$.property_2, new Display_Display(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_flex(this$) {\n const tupledArg = [this$.property_2, new Display_Display(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_grid(this$) {\n const tupledArg = [this$.property_2, new Display_Display(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_flowRoot(this$) {\n const tupledArg = [this$.property_2, new Display_Display(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_table(this$) {\n const tupledArg = [this$.property_2, new Display_Display(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableCell(this$) {\n const tupledArg = [this$.property_2, new Display_Display(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableColumn(this$) {\n const tupledArg = [this$.property_2, new Display_Display(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableColumnGroup(this$) {\n const tupledArg = [this$.property_2, new Display_Display(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableHeaderGroup(this$) {\n const tupledArg = [this$.property_2, new Display_Display(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableRowGroup(this$) {\n const tupledArg = [this$.property_2, new Display_Display(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableFooterGroup(this$) {\n const tupledArg = [this$.property_2, new Display_Display(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableRow(this$) {\n const tupledArg = [this$.property_2, new Display_Display(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function DisplayClasses_DisplayClass__get_tableCaption(this$) {\n const tupledArg = [this$.property_2, new Display_Display(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { DisplayClasses_DisplayClass_$ctor_Z207A3CFB } from \"../Types/Display.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Display = DisplayClasses_DisplayClass_$ctor_Z207A3CFB(new Property_CssProperty(93));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Float, Int, CssRuleWithNormal$reflection, CssRuleWithNormal, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\nimport { unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength } from \"./Units.fs.js\";\n\nexport class Flex_AlignContent extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"SpaceBetween\", \"SpaceAround\", \"SpaceEvenly\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"space-between\";\n }\n case 12: {\n return \"space-around\";\n }\n case 13: {\n return \"space-evenly\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_AlignContent$reflection() {\n return union_type(\"Fss.Types.Flex.AlignContent\", [], Flex_AlignContent, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_AlignItems extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"SelfStart\", \"SelfEnd\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"self-start\";\n }\n case 12: {\n return \"self-end\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_AlignItems$reflection() {\n return union_type(\"Fss.Types.Flex.AlignItems\", [], Flex_AlignItems, () => [[], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_AlignSelf extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"SelfStart\", \"SelfEnd\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"self-start\";\n }\n case 12: {\n return \"self-end\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_AlignSelf$reflection() {\n return union_type(\"Fss.Types.Flex.AlignSelf\", [], Flex_AlignSelf, () => [[], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_JustifyContent extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"SpaceBetween\", \"SpaceAround\", \"SpaceEvenly\", \"Left\", \"Right\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"space-between\";\n }\n case 12: {\n return \"space-around\";\n }\n case 13: {\n return \"space-evenly\";\n }\n case 14: {\n return \"left\";\n }\n case 15: {\n return \"right\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_JustifyContent$reflection() {\n return union_type(\"Fss.Types.Flex.JustifyContent\", [], Flex_JustifyContent, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_JustifyItems extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"Left\", \"Right\", \"SelfStart\", \"SelfEnd\", \"Legacy\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"left\";\n }\n case 12: {\n return \"right\";\n }\n case 13: {\n return \"self-start\";\n }\n case 14: {\n return \"self-end\";\n }\n case 15: {\n return \"legacy\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_JustifyItems$reflection() {\n return union_type(\"Fss.Types.Flex.JustifyItems\", [], Flex_JustifyItems, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_JustifySelf extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"FlexStart\", \"FlexEnd\", \"Center\", \"Baseline\", \"FirstBaseline\", \"LastBaseline\", \"Stretch\", \"Safe\", \"Unsafe\", \"SelfStart\", \"SelfEnd\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"flex-start\";\n }\n case 3: {\n return \"flex-end\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"baseline\";\n }\n case 6: {\n return \"first-baseline\";\n }\n case 7: {\n return \"last-baseline\";\n }\n case 8: {\n return \"stretch\";\n }\n case 9: {\n return \"safe\";\n }\n case 10: {\n return \"unsafe\";\n }\n case 11: {\n return \"self-start\";\n }\n case 12: {\n return \"self-end\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Flex_JustifySelf$reflection() {\n return union_type(\"Fss.Types.Flex.JustifySelf\", [], Flex_JustifySelf, () => [[], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Flex_Wrap extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NoWrap\", \"Wrap\", \"WrapReverse\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"wrap\";\n }\n case 2: {\n return \"wrap-reverse\";\n }\n default: {\n return \"no-wrap\";\n }\n }\n }\n}\n\nexport function Flex_Wrap$reflection() {\n return union_type(\"Fss.Types.Flex.Wrap\", [], Flex_Wrap, () => [[], [], []]);\n}\n\nexport class Flex_Direction extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Row\", \"RowReverse\", \"Column\", \"ColumnReverse\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"row-reverse\";\n }\n case 2: {\n return \"column\";\n }\n case 3: {\n return \"column-reverse\";\n }\n default: {\n return \"row\";\n }\n }\n }\n}\n\nexport function Flex_Direction$reflection() {\n return union_type(\"Fss.Types.Flex.Direction\", [], Flex_Direction, () => [[], [], [], []]);\n}\n\nexport class Flex_Basis extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Fill\", \"MaxContent\", \"MinContent\", \"FitContent\", \"Content\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"max-content\";\n }\n case 2: {\n return \"min-content\";\n }\n case 3: {\n return \"fit-content\";\n }\n case 4: {\n return \"content\";\n }\n default: {\n return \"fill\";\n }\n }\n }\n}\n\nexport function Flex_Basis$reflection() {\n return union_type(\"Fss.Types.Flex.Basis\", [], Flex_Basis, () => [[], [], [], [], []]);\n}\n\nexport class FlexClasses_FlexDirection extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FlexClasses_FlexDirection$reflection() {\n return class_type(\"Fss.Types.FlexClasses.FlexDirection\", void 0, FlexClasses_FlexDirection, CssRule$reflection());\n}\n\nexport function FlexClasses_FlexDirection_$ctor_Z207A3CFB(property) {\n return new FlexClasses_FlexDirection(property);\n}\n\nexport function FlexClasses_FlexDirection__value_784E2ED4(this$, direction) {\n const tupledArg = [this$.property_1, direction];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexDirection__get_row(this$) {\n const tupledArg = [this$.property_1, new Flex_Direction(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexDirection__get_rowReverse(this$) {\n const tupledArg = [this$.property_1, new Flex_Direction(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexDirection__get_column(this$) {\n const tupledArg = [this$.property_1, new Flex_Direction(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexDirection__get_columnReverse(this$) {\n const tupledArg = [this$.property_1, new Flex_Direction(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_FlexWrap extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FlexClasses_FlexWrap$reflection() {\n return class_type(\"Fss.Types.FlexClasses.FlexWrap\", void 0, FlexClasses_FlexWrap, CssRule$reflection());\n}\n\nexport function FlexClasses_FlexWrap_$ctor_Z207A3CFB(property) {\n return new FlexClasses_FlexWrap(property);\n}\n\nexport function FlexClasses_FlexWrap__value_59243825(this$, wrap) {\n const tupledArg = [this$.property_1, wrap];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexWrap__get_noWrap(this$) {\n const tupledArg = [this$.property_1, new Flex_Wrap(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexWrap__get_wrap(this$) {\n const tupledArg = [this$.property_1, new Flex_Wrap(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexWrap__get_wrapReverse(this$) {\n const tupledArg = [this$.property_1, new Flex_Wrap(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_FlexBasis extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function FlexClasses_FlexBasis$reflection() {\n return class_type(\"Fss.Types.FlexClasses.FlexBasis\", void 0, FlexClasses_FlexBasis, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function FlexClasses_FlexBasis_$ctor_Z207A3CFB(property) {\n return new FlexClasses_FlexBasis(property);\n}\n\nexport function FlexClasses_FlexBasis__get_fill(this$) {\n const tupledArg = [this$.property_3, new Flex_Basis(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexBasis__get_maxContent(this$) {\n const tupledArg = [this$.property_3, new Flex_Basis(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexBasis__get_minContent(this$) {\n const tupledArg = [this$.property_3, new Flex_Basis(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexBasis__get_fitContent(this$) {\n const tupledArg = [this$.property_3, new Flex_Basis(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_FlexBasis__get_content(this$) {\n const tupledArg = [this$.property_3, new Flex_Basis(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_JustifyContent extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_JustifyContent$reflection() {\n return class_type(\"Fss.Types.FlexClasses.JustifyContent\", void 0, FlexClasses_JustifyContent, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_JustifyContent_$ctor_Z207A3CFB(property) {\n return new FlexClasses_JustifyContent(property);\n}\n\nexport function FlexClasses_JustifyContent__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_spaceBetween(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_spaceAround(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_spaceEvenly(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_left(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyContent__get_right(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyContent(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_JustifySelf extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_JustifySelf$reflection() {\n return class_type(\"Fss.Types.FlexClasses.JustifySelf\", void 0, FlexClasses_JustifySelf, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_JustifySelf_$ctor_Z207A3CFB(property) {\n return new FlexClasses_JustifySelf(property);\n}\n\nexport function FlexClasses_JustifySelf__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_selfStart(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifySelf__get_selfEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifySelf(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_JustifyItems extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_JustifyItems$reflection() {\n return class_type(\"Fss.Types.FlexClasses.JustifyItems\", void 0, FlexClasses_JustifyItems, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_JustifyItems_$ctor_Z207A3CFB(property) {\n return new FlexClasses_JustifyItems(property);\n}\n\nexport function FlexClasses_JustifyItems__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_left(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_right(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_selfStart(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_selfEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_JustifyItems__get_legacy(this$) {\n const tupledArg = [this$.property_2, new Flex_JustifyItems(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_AlignSelf extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_AlignSelf$reflection() {\n return class_type(\"Fss.Types.FlexClasses.AlignSelf\", void 0, FlexClasses_AlignSelf, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_AlignSelf_$ctor_Z207A3CFB(property) {\n return new FlexClasses_AlignSelf(property);\n}\n\nexport function FlexClasses_AlignSelf__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_selfStart(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignSelf__get_selfEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignSelf(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_AlignItems extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_AlignItems$reflection() {\n return class_type(\"Fss.Types.FlexClasses.AlignItems\", void 0, FlexClasses_AlignItems, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_AlignItems_$ctor_Z207A3CFB(property) {\n return new FlexClasses_AlignItems(property);\n}\n\nexport function FlexClasses_AlignItems__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_selfStart(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignItems__get_selfEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignItems(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_AlignContent extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function FlexClasses_AlignContent$reflection() {\n return class_type(\"Fss.Types.FlexClasses.AlignContent\", void 0, FlexClasses_AlignContent, CssRuleWithNormal$reflection());\n}\n\nexport function FlexClasses_AlignContent_$ctor_Z207A3CFB(property) {\n return new FlexClasses_AlignContent(property);\n}\n\nexport function FlexClasses_AlignContent__get_start(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_end$0027(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_flexStart(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_flexEnd(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_center(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_firstBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_lastBaseline(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_stretch(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_safe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_unsafe(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_spaceBetween(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_spaceAround(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function FlexClasses_AlignContent__get_spaceEvenly(this$) {\n const tupledArg = [this$.property_2, new Flex_AlignContent(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_Order extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FlexClasses_Order$reflection() {\n return class_type(\"Fss.Types.FlexClasses.Order\", void 0, FlexClasses_Order, CssRule$reflection());\n}\n\nexport function FlexClasses_Order_$ctor_Z207A3CFB(property) {\n return new FlexClasses_Order(property);\n}\n\nexport function FlexClasses_Order__value_Z524259A4(this$, order) {\n const tupledArg = [this$.property_1, new Int(0, order)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class FlexClasses_FlexShrinkGrow extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function FlexClasses_FlexShrinkGrow$reflection() {\n return class_type(\"Fss.Types.FlexClasses.FlexShrinkGrow\", void 0, FlexClasses_FlexShrinkGrow, CssRule$reflection());\n}\n\nexport function FlexClasses_FlexShrinkGrow_$ctor_Z207A3CFB(property) {\n return new FlexClasses_FlexShrinkGrow(property);\n}\n\nexport function FlexClasses_FlexShrinkGrow__value_5E38073B(this$, grow) {\n const tupledArg = [this$.property_1, new Float(0, grow)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { FlexClasses_FlexShrinkGrow_$ctor_Z207A3CFB, FlexClasses_Order_$ctor_Z207A3CFB, FlexClasses_AlignContent_$ctor_Z207A3CFB, FlexClasses_AlignItems_$ctor_Z207A3CFB, FlexClasses_AlignSelf_$ctor_Z207A3CFB, FlexClasses_JustifyItems_$ctor_Z207A3CFB, FlexClasses_JustifySelf_$ctor_Z207A3CFB, FlexClasses_JustifyContent_$ctor_Z207A3CFB, FlexClasses_FlexBasis_$ctor_Z207A3CFB, FlexClasses_FlexWrap_$ctor_Z207A3CFB, FlexClasses_FlexDirection_$ctor_Z207A3CFB } from \"../Types/Flex.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const FlexDirection = FlexClasses_FlexDirection_$ctor_Z207A3CFB(new Property_CssProperty(99));\n\nexport const FlexWrap = FlexClasses_FlexWrap_$ctor_Z207A3CFB(new Property_CssProperty(105));\n\nexport const FlexBasis = FlexClasses_FlexBasis_$ctor_Z207A3CFB(new Property_CssProperty(98));\n\nexport const JustifyContent = FlexClasses_JustifyContent_$ctor_Z207A3CFB(new Property_CssProperty(148));\n\nexport const JustifySelf = FlexClasses_JustifySelf_$ctor_Z207A3CFB(new Property_CssProperty(150));\n\nexport const JustifyItems = FlexClasses_JustifyItems_$ctor_Z207A3CFB(new Property_CssProperty(149));\n\nexport const AlignSelf = FlexClasses_AlignSelf_$ctor_Z207A3CFB(new Property_CssProperty(3));\n\nexport const AlignItems = FlexClasses_AlignItems_$ctor_Z207A3CFB(new Property_CssProperty(2));\n\nexport const AlignContent = FlexClasses_AlignContent_$ctor_Z207A3CFB(new Property_CssProperty(1));\n\nexport const Order = FlexClasses_Order_$ctor_Z207A3CFB(new Property_CssProperty(189));\n\nexport const FlexShrink = FlexClasses_FlexShrinkGrow_$ctor_Z207A3CFB(new Property_CssProperty(104));\n\nexport const FlexGrow = FlexClasses_FlexShrinkGrow_$ctor_Z207A3CFB(new Property_CssProperty(103));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithNormal$reflection, CssRuleWithNormal, Int, CssRuleWithAuto$reflection, CssRuleWithAuto, Char, Stringed, CssRuleWithAutoNone$reflection, CssRuleWithAutoNone, String$, MasterTypeHelpers_stringifyICssValue, CssRuleWithNone$reflection, CssRuleWithNone, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\nimport { unitHelpers_CssRuleWithAutoLengthNone$reflection, unitHelpers_CssRuleWithAutoLengthNone, unitHelpers_lengthPercentageString, unitHelpers_CssRuleWithLength$reflection, unitHelpers_CssRuleWithLength, unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength } from \"./Units.fs.js\";\nimport { ColorClass_Color$reflection, ColorClass_Color } from \"./Color.fs.js\";\n\nexport class Text_Align extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Left\", \"Right\", \"Center\", \"Justify\", \"JustifyAll\", \"Start\", \"End\", \"MatchParent\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"right\";\n }\n case 2: {\n return \"center\";\n }\n case 3: {\n return \"justify\";\n }\n case 4: {\n return \"justify-all\";\n }\n case 5: {\n return \"start\";\n }\n case 6: {\n return \"end\";\n }\n case 7: {\n return \"match-parent\";\n }\n default: {\n return \"left\";\n }\n }\n }\n}\n\nexport function Text_Align$reflection() {\n return union_type(\"Fss.Types.Text.Align\", [], Text_Align, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Text_AlignLast extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Start\", \"End\", \"Left\", \"Right\", \"Center\", \"Justify\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"end\";\n }\n case 2: {\n return \"left\";\n }\n case 3: {\n return \"right\";\n }\n case 4: {\n return \"center\";\n }\n case 5: {\n return \"justify\";\n }\n default: {\n return \"start\";\n }\n }\n }\n}\n\nexport function Text_AlignLast$reflection() {\n return union_type(\"Fss.Types.Text.AlignLast\", [], Text_AlignLast, () => [[], [], [], [], [], []]);\n}\n\nexport class Text_DecorationLine extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Overline\", \"Underline\", \"LineThrough\", \"Blink\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"underline\";\n }\n case 2: {\n return \"line-through\";\n }\n case 3: {\n return \"blink\";\n }\n default: {\n return \"overline\";\n }\n }\n }\n}\n\nexport function Text_DecorationLine$reflection() {\n return union_type(\"Fss.Types.Text.DecorationLine\", [], Text_DecorationLine, () => [[], [], [], []]);\n}\n\nexport class Text_DecorationThickness extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"FromFont\"];\n }\n StringifyCss() {\n return \"from-font\";\n }\n}\n\nexport function Text_DecorationThickness$reflection() {\n return union_type(\"Fss.Types.Text.DecorationThickness\", [], Text_DecorationThickness, () => [[]]);\n}\n\nexport class Text_DecorationStyle extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Solid\", \"Double\", \"Dotted\", \"Dashed\", \"Wavy\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"double\";\n }\n case 2: {\n return \"dotted\";\n }\n case 3: {\n return \"dashed\";\n }\n case 4: {\n return \"wavy\";\n }\n default: {\n return \"solid\";\n }\n }\n }\n}\n\nexport function Text_DecorationStyle$reflection() {\n return union_type(\"Fss.Types.Text.DecorationStyle\", [], Text_DecorationStyle, () => [[], [], [], [], []]);\n}\n\nexport class Text_DecorationSkip extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Objects\", \"Spaces\", \"Edges\", \"BoxDecoration\", \"LeadingSpaces\", \"TrailingSpaces\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"spaces\";\n }\n case 2: {\n return \"edges\";\n }\n case 3: {\n return \"box-decoration\";\n }\n case 4: {\n return \"leading-spaces\";\n }\n case 5: {\n return \"trailing-spaces\";\n }\n default: {\n return \"objects\";\n }\n }\n }\n}\n\nexport function Text_DecorationSkip$reflection() {\n return union_type(\"Fss.Types.Text.DecorationSkip\", [], Text_DecorationSkip, () => [[], [], [], [], [], []]);\n}\n\nexport class Text_DecorationSkipInk extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"All\"];\n }\n StringifyCss() {\n return \"all\";\n }\n}\n\nexport function Text_DecorationSkipInk$reflection() {\n return union_type(\"Fss.Types.Text.DecorationSkipInk\", [], Text_DecorationSkipInk, () => [[]]);\n}\n\nexport class Text_Transform extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Capitalize\", \"Uppercase\", \"Lowercase\", \"FullWidth\", \"FullSizeKana\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"uppercase\";\n }\n case 2: {\n return \"lowercase\";\n }\n case 3: {\n return \"full-width\";\n }\n case 4: {\n return \"full-size-kana\";\n }\n default: {\n return \"capitalize\";\n }\n }\n }\n}\n\nexport function Text_Transform$reflection() {\n return union_type(\"Fss.Types.Text.Transform\", [], Text_Transform, () => [[], [], [], [], []]);\n}\n\nexport class Text_Indent extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Hanging\", \"EachLine\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"each-line\" : \"hanging\";\n }\n}\n\nexport function Text_Indent$reflection() {\n return union_type(\"Fss.Types.Text.Indent\", [], Text_Indent, () => [[], []]);\n}\n\nexport class Text_Overflow extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Clip\", \"Ellipsis\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"ellipsis\" : \"clip\";\n }\n}\n\nexport function Text_Overflow$reflection() {\n return union_type(\"Fss.Types.Text.Overflow\", [], Text_Overflow, () => [[], []]);\n}\n\nexport class Text_EmphasisPosition extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Over\", \"Under\", \"Right\", \"Left\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"under\";\n }\n case 2: {\n return \"right\";\n }\n case 3: {\n return \"left\";\n }\n default: {\n return \"over\";\n }\n }\n }\n}\n\nexport function Text_EmphasisPosition$reflection() {\n return union_type(\"Fss.Types.Text.EmphasisPosition\", [], Text_EmphasisPosition, () => [[], [], [], []]);\n}\n\nexport class Text_EmphasisStyle extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Filled\", \"Open\", \"Dot\", \"Circle\", \"DoubleCircle\", \"Triangle\", \"FilledSesame\", \"OpenSesame\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"open\";\n }\n case 2: {\n return \"dot\";\n }\n case 3: {\n return \"circle\";\n }\n case 4: {\n return \"double-circle\";\n }\n case 5: {\n return \"triangle\";\n }\n case 6: {\n return \"filled sesame\";\n }\n case 7: {\n return \"open sesame\";\n }\n default: {\n return \"filled\";\n }\n }\n }\n}\n\nexport function Text_EmphasisStyle$reflection() {\n return union_type(\"Fss.Types.Text.EmphasisStyle\", [], Text_EmphasisStyle, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Text_UnderlinePosition extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"FromFont\", \"Under\", \"Left\", \"Right\", \"AutoPos\", \"Above\", \"Below\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"under\";\n }\n case 2: {\n return \"left\";\n }\n case 3: {\n return \"right\";\n }\n case 4: {\n return \"auto-pos\";\n }\n case 5: {\n return \"above\";\n }\n case 6: {\n return \"below\";\n }\n default: {\n return \"from-font\";\n }\n }\n }\n}\n\nexport function Text_UnderlinePosition$reflection() {\n return union_type(\"Fss.Types.Text.UnderlinePosition\", [], Text_UnderlinePosition, () => [[], [], [], [], [], [], []]);\n}\n\nexport class Text_Hyphens extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Manual\"];\n }\n StringifyCss() {\n return \"manual\";\n }\n}\n\nexport function Text_Hyphens$reflection() {\n return union_type(\"Fss.Types.Text.Hyphens\", [], Text_Hyphens, () => [[]]);\n}\n\nexport class Text_Orientation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Mixed\", \"Upright\", \"SidewaysRight\", \"Sideways\", \"UseGlyphOrientation\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"upright\";\n }\n case 2: {\n return \"sideways-right\";\n }\n case 3: {\n return \"sideways\";\n }\n case 4: {\n return \"use-glyph-orientation\";\n }\n default: {\n return \"mixed\";\n }\n }\n }\n}\n\nexport function Text_Orientation$reflection() {\n return union_type(\"Fss.Types.Text.Orientation\", [], Text_Orientation, () => [[], [], [], [], []]);\n}\n\nexport class Text_Rendering extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"OptimizeSpeed\", \"OptimizeLegibility\", \"GeometricPrecision\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"optimize-legibility\";\n }\n case 2: {\n return \"geometric-precision\";\n }\n default: {\n return \"optimize-speed\";\n }\n }\n }\n}\n\nexport function Text_Rendering$reflection() {\n return union_type(\"Fss.Types.Text.Rendering\", [], Text_Rendering, () => [[], [], []]);\n}\n\nexport class Text_Justify extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"InterWord\", \"InterCharacter\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"inter-character\" : \"inter-word\";\n }\n}\n\nexport function Text_Justify$reflection() {\n return union_type(\"Fss.Types.Text.Justify\", [], Text_Justify, () => [[], []]);\n}\n\nexport class Text_WhiteSpace extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Nowrap\", \"Pre\", \"PreWrap\", \"PreLine\", \"BreakSpaces\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"pre\";\n }\n case 2: {\n return \"pre-wrap\";\n }\n case 3: {\n return \"pre-line\";\n }\n case 4: {\n return \"break-spaces\";\n }\n default: {\n return \"nowrap\";\n }\n }\n }\n}\n\nexport function Text_WhiteSpace$reflection() {\n return union_type(\"Fss.Types.Text.WhiteSpace\", [], Text_WhiteSpace, () => [[], [], [], [], []]);\n}\n\nexport class Text_UserSelect extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Text\", \"Contain\", \"All\", \"Element\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"contain\";\n }\n case 2: {\n return \"all\";\n }\n case 3: {\n return \"element\";\n }\n default: {\n return \"text\";\n }\n }\n }\n}\n\nexport function Text_UserSelect$reflection() {\n return union_type(\"Fss.Types.Text.UserSelect\", [], Text_UserSelect, () => [[], [], [], []]);\n}\n\nexport class Text_HangingPunctuation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"First\", \"Last\", \"ForceEnd\", \"AllowEnd\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"last\";\n }\n case 2: {\n return \"force-end\";\n }\n case 3: {\n return \"allow-end\";\n }\n default: {\n return \"first\";\n }\n }\n }\n}\n\nexport function Text_HangingPunctuation$reflection() {\n return union_type(\"Fss.Types.Text.HangingPunctuation\", [], Text_HangingPunctuation, () => [[], [], [], []]);\n}\n\nexport class TextClasses_TextAlign extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextAlign$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextAlign\", void 0, TextClasses_TextAlign, CssRule$reflection());\n}\n\nexport function TextClasses_TextAlign_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextAlign(property);\n}\n\nexport function TextClasses_TextAlign__get_left(this$) {\n const tupledArg = [this$.property_1, new Text_Align(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_right(this$) {\n const tupledArg = [this$.property_1, new Text_Align(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_center(this$) {\n const tupledArg = [this$.property_1, new Text_Align(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_justify(this$) {\n const tupledArg = [this$.property_1, new Text_Align(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_justifyAll(this$) {\n const tupledArg = [this$.property_1, new Text_Align(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_start(this$) {\n const tupledArg = [this$.property_1, new Text_Align(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_end$0027(this$) {\n const tupledArg = [this$.property_1, new Text_Align(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextAlign__get_matchParent(this$) {\n const tupledArg = [this$.property_1, new Text_Align(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecoration extends CssRuleWithNone {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextDecoration$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecoration\", void 0, TextClasses_TextDecoration, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_TextDecoration_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecoration(property);\n}\n\nexport class TextClasses_TextDecorationLine extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextDecorationLine$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationLine\", void 0, TextClasses_TextDecorationLine, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_TextDecorationLine_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationLine(property);\n}\n\nexport function TextClasses_TextDecorationLine__value_6A082DFD(this$, decorations) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, decorations)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationLine__get_overline(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationLine(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationLine__get_underline(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationLine(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationLine__get_lineThrough(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationLine(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationLine__get_blink(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationLine(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecorationSkip extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextDecorationSkip$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationSkip\", void 0, TextClasses_TextDecorationSkip, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_TextDecorationSkip_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationSkip(property);\n}\n\nexport function TextClasses_TextDecorationSkip__value_6B7F0312(this$, decorations) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, decorations)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_objects(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_spaces(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_edges(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_boxDecoration(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_leadingSpaces(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationSkip__get_trailingSpaces(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkip(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecorationThickness extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function TextClasses_TextDecorationThickness$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationThickness\", void 0, TextClasses_TextDecorationThickness, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function TextClasses_TextDecorationThickness_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationThickness(property);\n}\n\nexport function TextClasses_TextDecorationThickness__get_fromFont(this$) {\n const tupledArg = [this$.property_3, new Text_DecorationThickness(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecorationStyle extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextDecorationStyle$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationStyle\", void 0, TextClasses_TextDecorationStyle, CssRule$reflection());\n}\n\nexport function TextClasses_TextDecorationStyle_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationStyle(property);\n}\n\nexport function TextClasses_TextDecorationStyle__get_solid(this$) {\n const tupledArg = [this$.property_1, new Text_DecorationStyle(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationStyle__get_double(this$) {\n const tupledArg = [this$.property_1, new Text_DecorationStyle(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationStyle__get_dotted(this$) {\n const tupledArg = [this$.property_1, new Text_DecorationStyle(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationStyle__get_dashed(this$) {\n const tupledArg = [this$.property_1, new Text_DecorationStyle(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextDecorationStyle__get_wavy(this$) {\n const tupledArg = [this$.property_1, new Text_DecorationStyle(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecorationSkipInk extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextDecorationSkipInk$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationSkipInk\", void 0, TextClasses_TextDecorationSkipInk, CssRuleWithAutoNone$reflection());\n}\n\nexport function TextClasses_TextDecorationSkipInk_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationSkipInk(property);\n}\n\nexport function TextClasses_TextDecorationSkipInk__get_all(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkipInk(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextTransform extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextTransform$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextTransform\", void 0, TextClasses_TextTransform, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_TextTransform_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextTransform(property);\n}\n\nexport function TextClasses_TextTransform__get_capitalize(this$) {\n const tupledArg = [this$.property_2, new Text_Transform(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextTransform__get_uppercase(this$) {\n const tupledArg = [this$.property_2, new Text_Transform(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextTransform__get_lowercase(this$) {\n const tupledArg = [this$.property_2, new Text_Transform(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextTransform__get_fullWidth(this$) {\n const tupledArg = [this$.property_2, new Text_Transform(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextTransform__get_fullSizeKana(this$) {\n const tupledArg = [this$.property_2, new Text_Transform(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextIndent extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextIndent$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextIndent\", void 0, TextClasses_TextIndent, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function TextClasses_TextIndent_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextIndent(property);\n}\n\nexport function TextClasses_TextIndent__hanging_Z498FEB3B(this$, value) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(value)} ${MasterTypeHelpers_stringifyICssValue(new Text_Indent(0))}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextIndent__eachLine_Z498FEB3B(this$, value) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(value)} ${MasterTypeHelpers_stringifyICssValue(new Text_Indent(1))}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextIndent__hangingEachLine_Z498FEB3B(this$, value) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(value)} ${MasterTypeHelpers_stringifyICssValue(new Text_Indent(0))} ${MasterTypeHelpers_stringifyICssValue(new Text_Indent(1))}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextShadow extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextShadow$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextShadow\", void 0, TextClasses_TextShadow, CssRule$reflection());\n}\n\nexport function TextClasses_TextShadow_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextShadow(property);\n}\n\nexport function TextClasses_TextShadow__value_Z259E9AEE(this$, xOffset, yOffset, blurRadius, color) {\n let tupledArg_1, tupledArg;\n const tupledArg_2 = [this$.property_1, new String$(0, (tupledArg_1 = [xOffset, yOffset, blurRadius, color], (tupledArg = [tupledArg_1[0], tupledArg_1[1], tupledArg_1[2], tupledArg_1[3]], TextClasses_TextShadow__stringify_3C68FBC0(this$, tupledArg[0], tupledArg[1], tupledArg[2], tupledArg[3]))))];\n return [tupledArg_2[0], tupledArg_2[1]];\n}\n\nexport function TextClasses_TextShadow__value_1F546CD7(this$, shadows) {\n const tupledArg_2 = [this$.property_1, new String$(0, join(\", \", map((tupledArg_1) => {\n const tupledArg = [tupledArg_1[0], tupledArg_1[1], tupledArg_1[2], tupledArg_1[3]];\n return TextClasses_TextShadow__stringify_3C68FBC0(this$, tupledArg[0], tupledArg[1], tupledArg[2], tupledArg[3]);\n }, shadows)))];\n return [tupledArg_2[0], tupledArg_2[1]];\n}\n\nfunction TextClasses_TextShadow__stringify_3C68FBC0(this$, x, y, blur, color) {\n return `${MasterTypeHelpers_stringifyICssValue(x)} ${MasterTypeHelpers_stringifyICssValue(y)} ${MasterTypeHelpers_stringifyICssValue(blur)} ${MasterTypeHelpers_stringifyICssValue(color)}`;\n}\n\nexport class TextClasses_TextOverflow extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextOverflow$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextOverflow\", void 0, TextClasses_TextOverflow, CssRule$reflection());\n}\n\nexport function TextClasses_TextOverflow_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextOverflow(property);\n}\n\nexport function TextClasses_TextOverflow__get_clip(this$) {\n const tupledArg = [this$.property_1, new Text_Overflow(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOverflow__get_ellipsis(this$) {\n const tupledArg = [this$.property_1, new Text_Overflow(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOverflow__value_Z721C83C5(this$, overflow) {\n const tupledArg = [this$.property_1, new Stringed(0, overflow)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextEmphasis extends CssRuleWithNone {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextEmphasis$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextEmphasis\", void 0, TextClasses_TextEmphasis, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_TextEmphasis_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextEmphasis(property);\n}\n\nexport class TextClasses_TextEmphasisPosition extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextEmphasisPosition$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextEmphasisPosition\", void 0, TextClasses_TextEmphasisPosition, CssRule$reflection());\n}\n\nexport function TextClasses_TextEmphasisPosition_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextEmphasisPosition(property);\n}\n\nexport function TextClasses_TextEmphasisPosition__value_Z2C137CC0(this$, x, y) {\n const tupledArg = [this$.property_1, new String$(0, `${MasterTypeHelpers_stringifyICssValue(x)} ${MasterTypeHelpers_stringifyICssValue(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextEmphasisStyle extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextEmphasisStyle$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextEmphasisStyle\", void 0, TextClasses_TextEmphasisStyle, CssRule$reflection());\n}\n\nexport function TextClasses_TextEmphasisStyle_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextEmphasisStyle(property);\n}\n\nexport function TextClasses_TextEmphasisStyle__value_Z721C83C5(this$, style) {\n const tupledArg = [this$.property_1, new Char(0, style)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_filled(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_open$0027(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_dot(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_circle(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_doubleCircle(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_triangle(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_filledSesame(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextEmphasisStyle__get_openSesame(this$) {\n const tupledArg = [this$.property_1, new Text_EmphasisStyle(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextUnderlinePosition extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextUnderlinePosition$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextUnderlinePosition\", void 0, TextClasses_TextUnderlinePosition, CssRuleWithAuto$reflection());\n}\n\nexport function TextClasses_TextUnderlinePosition_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextUnderlinePosition(property);\n}\n\nexport function TextClasses_TextUnderlinePosition__value_35979180(this$, x, y) {\n const tupledArg = [this$.property_2, new String$(0, `${MasterTypeHelpers_stringifyICssValue(x)} ${MasterTypeHelpers_stringifyICssValue(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_fromFont(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationThickness(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_under(this$) {\n const tupledArg = [this$.property_2, new Text_EmphasisPosition(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_left(this$) {\n const tupledArg = [this$.property_2, new Text_Align(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_right(this$) {\n const tupledArg = [this$.property_2, new Text_Align(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_autoPos(this$) {\n const tupledArg = [this$.property_2, new Text_UnderlinePosition(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_above(this$) {\n const tupledArg = [this$.property_2, new Text_UnderlinePosition(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextUnderlinePosition__get_below(this$) {\n const tupledArg = [this$.property_2, new Text_UnderlinePosition(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextUnderlineOffset extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextUnderlineOffset$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextUnderlineOffset\", void 0, TextClasses_TextUnderlineOffset, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function TextClasses_TextUnderlineOffset_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextUnderlineOffset(property);\n}\n\nexport class TextClasses_Quotes extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_Quotes$reflection() {\n return class_type(\"Fss.Types.TextClasses.Quotes\", void 0, TextClasses_Quotes, CssRuleWithAutoNone$reflection());\n}\n\nexport function TextClasses_Quotes_$ctor_Z207A3CFB(property) {\n return new TextClasses_Quotes(property);\n}\n\nexport function TextClasses_Quotes__value_1334CEF1(this$, quotes) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map((x) => (`\"${x}\"`), quotes)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_Hyphens extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_Hyphens$reflection() {\n return class_type(\"Fss.Types.TextClasses.Hyphens\", void 0, TextClasses_Hyphens, CssRuleWithAutoNone$reflection());\n}\n\nexport function TextClasses_Hyphens_$ctor_Z207A3CFB(property) {\n return new TextClasses_Hyphens(property);\n}\n\nexport function TextClasses_Hyphens__get_manual(this$) {\n const tupledArg = [this$.property_2, new Text_Hyphens(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextDecorationColor extends ColorClass_Color {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextDecorationColor$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextDecorationColor\", void 0, TextClasses_TextDecorationColor, ColorClass_Color$reflection());\n}\n\nexport function TextClasses_TextDecorationColor_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextDecorationColor(property);\n}\n\nexport class TextClasses_TextEmphasisColor extends ColorClass_Color {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextEmphasisColor$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextEmphasisColor\", void 0, TextClasses_TextEmphasisColor, ColorClass_Color$reflection());\n}\n\nexport function TextClasses_TextEmphasisColor_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextEmphasisColor(property);\n}\n\nexport class TextClasses_TextSizeAdjust extends unitHelpers_CssRuleWithAutoLengthNone {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TextClasses_TextSizeAdjust$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextSizeAdjust\", void 0, TextClasses_TextSizeAdjust, unitHelpers_CssRuleWithAutoLengthNone$reflection());\n}\n\nexport function TextClasses_TextSizeAdjust_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextSizeAdjust(property);\n}\n\nexport class TextClasses_TabSize extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TabSize$reflection() {\n return class_type(\"Fss.Types.TextClasses.TabSize\", void 0, TextClasses_TabSize, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function TextClasses_TabSize_$ctor_Z207A3CFB(property) {\n return new TextClasses_TabSize(property);\n}\n\nexport function TextClasses_TabSize__value_Z524259A4(this$, size) {\n const tupledArg = [this$.property_2, new Int(0, size)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextOrientation extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TextClasses_TextOrientation$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextOrientation\", void 0, TextClasses_TextOrientation, CssRule$reflection());\n}\n\nexport function TextClasses_TextOrientation_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextOrientation(property);\n}\n\nexport function TextClasses_TextOrientation__value_Z524259A4(this$, size) {\n const tupledArg = [this$.property_1, new Int(0, size)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOrientation__get_mixed(this$) {\n const tupledArg = [this$.property_1, new Text_Orientation(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOrientation__get_upright(this$) {\n const tupledArg = [this$.property_1, new Text_Orientation(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOrientation__get_sidewaysRight(this$) {\n const tupledArg = [this$.property_1, new Text_Orientation(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOrientation__get_sideways(this$) {\n const tupledArg = [this$.property_1, new Text_Orientation(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextOrientation__get_useGlyphOrientation(this$) {\n const tupledArg = [this$.property_1, new Text_Orientation(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextRendering extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextRendering$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextRendering\", void 0, TextClasses_TextRendering, CssRuleWithAuto$reflection());\n}\n\nexport function TextClasses_TextRendering_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextRendering(property);\n}\n\nexport function TextClasses_TextRendering__get_optimizeSpeed(this$) {\n const tupledArg = [this$.property_2, new Text_Rendering(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextRendering__get_optimizeLegibility(this$) {\n const tupledArg = [this$.property_2, new Text_Rendering(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextRendering__get_geometricPrecision(this$) {\n const tupledArg = [this$.property_2, new Text_Rendering(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_TextJustify extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_TextJustify$reflection() {\n return class_type(\"Fss.Types.TextClasses.TextJustify\", void 0, TextClasses_TextJustify, CssRuleWithAutoNone$reflection());\n}\n\nexport function TextClasses_TextJustify_$ctor_Z207A3CFB(property) {\n return new TextClasses_TextJustify(property);\n}\n\nexport function TextClasses_TextJustify__get_interWord(this$) {\n const tupledArg = [this$.property_2, new Text_Justify(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_TextJustify__get_interCharacter(this$) {\n const tupledArg = [this$.property_2, new Text_Justify(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_WhiteSpace extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_WhiteSpace$reflection() {\n return class_type(\"Fss.Types.TextClasses.WhiteSpace\", void 0, TextClasses_WhiteSpace, CssRuleWithNormal$reflection());\n}\n\nexport function TextClasses_WhiteSpace_$ctor_Z207A3CFB(property) {\n return new TextClasses_WhiteSpace(property);\n}\n\nexport function TextClasses_WhiteSpace__get_nowrap(this$) {\n const tupledArg = [this$.property_2, new Text_WhiteSpace(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_WhiteSpace__get_pre(this$) {\n const tupledArg = [this$.property_2, new Text_WhiteSpace(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_WhiteSpace__get_preWrap(this$) {\n const tupledArg = [this$.property_2, new Text_WhiteSpace(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_WhiteSpace__get_preLine(this$) {\n const tupledArg = [this$.property_2, new Text_WhiteSpace(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_WhiteSpace__get_breakSpaces(this$) {\n const tupledArg = [this$.property_2, new Text_WhiteSpace(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_UserSelect extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_UserSelect$reflection() {\n return class_type(\"Fss.Types.TextClasses.UserSelect\", void 0, TextClasses_UserSelect, CssRuleWithAutoNone$reflection());\n}\n\nexport function TextClasses_UserSelect_$ctor_Z207A3CFB(property) {\n return new TextClasses_UserSelect(property);\n}\n\nexport function TextClasses_UserSelect__get_text(this$) {\n const tupledArg = [this$.property_2, new Text_UserSelect(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_UserSelect__get_contain(this$) {\n const tupledArg = [this$.property_2, new Text_UserSelect(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_UserSelect__get_all(this$) {\n const tupledArg = [this$.property_2, new Text_DecorationSkipInk(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_UserSelect__get_element(this$) {\n const tupledArg = [this$.property_2, new Text_UserSelect(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TextClasses_HangingPunctuationClass extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TextClasses_HangingPunctuationClass$reflection() {\n return class_type(\"Fss.Types.TextClasses.HangingPunctuationClass\", void 0, TextClasses_HangingPunctuationClass, CssRuleWithNone$reflection());\n}\n\nexport function TextClasses_HangingPunctuationClass_$ctor_Z207A3CFB(property) {\n return new TextClasses_HangingPunctuationClass(property);\n}\n\nexport function TextClasses_HangingPunctuationClass__value_Z26E3135B(this$, punctuations) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, punctuations)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_HangingPunctuationClass__get_first(this$) {\n const tupledArg = [this$.property_2, new Text_HangingPunctuation(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_HangingPunctuationClass__get_last(this$) {\n const tupledArg = [this$.property_2, new Text_HangingPunctuation(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_HangingPunctuationClass__get_forceEnd(this$) {\n const tupledArg = [this$.property_2, new Text_HangingPunctuation(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TextClasses_HangingPunctuationClass__get_allowEnd(this$) {\n const tupledArg = [this$.property_2, new Text_HangingPunctuation(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { TextClasses_HangingPunctuationClass_$ctor_Z207A3CFB, TextClasses_UserSelect_$ctor_Z207A3CFB, TextClasses_WhiteSpace_$ctor_Z207A3CFB, TextClasses_TextJustify_$ctor_Z207A3CFB, TextClasses_TextRendering_$ctor_Z207A3CFB, TextClasses_TextOrientation_$ctor_Z207A3CFB, TextClasses_TabSize_$ctor_Z207A3CFB, TextClasses_TextSizeAdjust_$ctor_Z207A3CFB, TextClasses_TextEmphasisColor_$ctor_Z207A3CFB, TextClasses_TextDecorationColor_$ctor_Z207A3CFB, TextClasses_Hyphens_$ctor_Z207A3CFB, TextClasses_Quotes_$ctor_Z207A3CFB, TextClasses_TextUnderlineOffset_$ctor_Z207A3CFB, TextClasses_TextUnderlinePosition_$ctor_Z207A3CFB, TextClasses_TextEmphasisStyle_$ctor_Z207A3CFB, TextClasses_TextEmphasisPosition_$ctor_Z207A3CFB, TextClasses_TextEmphasis_$ctor_Z207A3CFB, TextClasses_TextOverflow_$ctor_Z207A3CFB, TextClasses_TextShadow_$ctor_Z207A3CFB, TextClasses_TextIndent_$ctor_Z207A3CFB, TextClasses_TextTransform_$ctor_Z207A3CFB, TextClasses_TextDecorationSkipInk_$ctor_Z207A3CFB, TextClasses_TextDecorationStyle_$ctor_Z207A3CFB, TextClasses_TextDecorationThickness_$ctor_Z207A3CFB, TextClasses_TextDecorationSkip_$ctor_Z207A3CFB, TextClasses_TextDecorationLine_$ctor_Z207A3CFB, TextClasses_TextDecoration_$ctor_Z207A3CFB, TextClasses_TextAlign_$ctor_Z207A3CFB } from \"../Types/Text.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const TextAlign = TextClasses_TextAlign_$ctor_Z207A3CFB(new Property_CssProperty(260));\n\nexport const TextAlignLast = TextClasses_TextAlign_$ctor_Z207A3CFB(new Property_CssProperty(261));\n\nexport const TextDecoration = TextClasses_TextDecoration_$ctor_Z207A3CFB(new Property_CssProperty(262));\n\nexport const TextDecorationLine = TextClasses_TextDecorationLine_$ctor_Z207A3CFB(new Property_CssProperty(264));\n\nexport const TextDecorationSkip = TextClasses_TextDecorationSkip_$ctor_Z207A3CFB(new Property_CssProperty(266));\n\nexport const TextDecorationThickness = TextClasses_TextDecorationThickness_$ctor_Z207A3CFB(new Property_CssProperty(265));\n\nexport const TextDecorationStyle = TextClasses_TextDecorationStyle_$ctor_Z207A3CFB(new Property_CssProperty(268));\n\nexport const TextDecorationSkipInk = TextClasses_TextDecorationSkipInk_$ctor_Z207A3CFB(new Property_CssProperty(267));\n\nexport const TextTransform = TextClasses_TextTransform_$ctor_Z207A3CFB(new Property_CssProperty(272));\n\nexport const TextIndent = TextClasses_TextIndent_$ctor_Z207A3CFB(new Property_CssProperty(269));\n\nexport const TextShadow = TextClasses_TextShadow_$ctor_Z207A3CFB(new Property_CssProperty(271));\n\nexport const TextOverflow = TextClasses_TextOverflow_$ctor_Z207A3CFB(new Property_CssProperty(270));\n\nexport const TextEmphasis = TextClasses_TextEmphasis_$ctor_Z207A3CFB(new Property_CssProperty(273));\n\nexport const TextEmphasisPosition = TextClasses_TextEmphasisPosition_$ctor_Z207A3CFB(new Property_CssProperty(275));\n\nexport const TextEmphasisStyle = TextClasses_TextEmphasisStyle_$ctor_Z207A3CFB(new Property_CssProperty(276));\n\nexport const TextUnderlinePosition = TextClasses_TextUnderlinePosition_$ctor_Z207A3CFB(new Property_CssProperty(278));\n\nexport const TextUnderlineOffset = TextClasses_TextUnderlineOffset_$ctor_Z207A3CFB(new Property_CssProperty(277));\n\nexport const Quotes = TextClasses_Quotes_$ctor_Z207A3CFB(new Property_CssProperty(226));\n\nexport const Hyphens = TextClasses_Hyphens_$ctor_Z207A3CFB(new Property_CssProperty(145));\n\nexport const TextDecorationColor = TextClasses_TextDecorationColor_$ctor_Z207A3CFB(new Property_CssProperty(263));\n\nexport const TextEmphasisColor = TextClasses_TextEmphasisColor_$ctor_Z207A3CFB(new Property_CssProperty(274));\n\nexport const TextSizeAdjust = TextClasses_TextSizeAdjust_$ctor_Z207A3CFB(new Property_CssProperty(279));\n\nexport const TabSize = TextClasses_TabSize_$ctor_Z207A3CFB(new Property_CssProperty(258));\n\nexport const TextOrientation = TextClasses_TextOrientation_$ctor_Z207A3CFB(new Property_CssProperty(280));\n\nexport const TextRendering = TextClasses_TextRendering_$ctor_Z207A3CFB(new Property_CssProperty(281));\n\nexport const TextJustify = TextClasses_TextJustify_$ctor_Z207A3CFB(new Property_CssProperty(282));\n\nexport const WhiteSpace = TextClasses_WhiteSpace_$ctor_Z207A3CFB(new Property_CssProperty(306));\n\nexport const UserSelect = TextClasses_UserSelect_$ctor_Z207A3CFB(new Property_CssProperty(294));\n\nexport const HangingPunctuation = TextClasses_HangingPunctuationClass_$ctor_Z207A3CFB(new Property_CssProperty(143));\n\n","import { unitHelpers_DirectionalLength$reflection, unitHelpers_DirectionalLength, unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength } from \"./Units.fs.js\";\nimport { class_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Auto } from \"./MasterTypes.fs.js\";\n\nexport class MarginDirection extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n }\n}\n\nexport function MarginDirection$reflection() {\n return class_type(\"Fss.Types.MarginClasses.MarginDirection\", void 0, MarginDirection, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function MarginDirection_$ctor_Z207A3CFB(property) {\n return new MarginDirection(property);\n}\n\nexport class Margin extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function Margin$reflection() {\n return class_type(\"Fss.Types.MarginClasses.Margin\", void 0, Margin, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function Margin_$ctor_Z207A3CFB(property) {\n return new Margin(property);\n}\n\nexport function Margin__get_auto(this$) {\n const tupledArg = [this$.property_2, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Margin_$ctor_Z207A3CFB, MarginDirection_$ctor_Z207A3CFB } from \"../Types/Margin.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const MarginTop = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(171));\n\nexport const MarginRight = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(170));\n\nexport const MarginBottom = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(168));\n\nexport const MarginLeft = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(169));\n\nexport const MarginInlineStart = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(173));\n\nexport const MarginInlineEnd = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(174));\n\nexport const MarginBlockStart = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(175));\n\nexport const MarginBlockEnd = MarginDirection_$ctor_Z207A3CFB(new Property_CssProperty(176));\n\nexport const Margin = Margin_$ctor_Z207A3CFB(new Property_CssProperty(172));\n\n","import { unitHelpers_DirectionalLength$reflection, unitHelpers_DirectionalLength, unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength } from \"./Units.fs.js\";\nimport { class_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Auto } from \"./MasterTypes.fs.js\";\n\nexport class PaddingDirection extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n }\n}\n\nexport function PaddingDirection$reflection() {\n return class_type(\"Fss.Types.PaddingClasses.PaddingDirection\", void 0, PaddingDirection, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function PaddingDirection_$ctor_Z207A3CFB(property) {\n return new PaddingDirection(property);\n}\n\nexport class Padding extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function Padding$reflection() {\n return class_type(\"Fss.Types.PaddingClasses.Padding\", void 0, Padding, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function Padding_$ctor_Z207A3CFB(property) {\n return new Padding(property);\n}\n\nexport function Padding__get_auto(this$) {\n const tupledArg = [this$.property_2, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Padding_$ctor_Z207A3CFB, PaddingDirection_$ctor_Z207A3CFB } from \"../Types/Padding.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const PaddingTop = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(205));\n\nexport const PaddingRight = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(204));\n\nexport const PaddingBottom = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(202));\n\nexport const PaddingLeft = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(203));\n\nexport const PaddingInlineStart = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(207));\n\nexport const PaddingInlineEnd = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(208));\n\nexport const PaddingBlockStart = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(209));\n\nexport const PaddingBlockEnd = PaddingDirection_$ctor_Z207A3CFB(new Property_CssProperty(210));\n\nexport const Padding = Padding_$ctor_Z207A3CFB(new Property_CssProperty(206));\n\n","import { unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\nimport { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { union_type, class_type } from \"../../fable-library.3.7.17/Reflection.js\";\n\nexport class ContentSize_ContentSize extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"MaxContent\", \"MinContent\", \"FitContent\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"min-content\";\n }\n case 2: {\n return `fit-content(${unitHelpers_lengthPercentageString(this$.fields[0])})`;\n }\n default: {\n return \"max-content\";\n }\n }\n }\n}\n\nexport function ContentSize_ContentSize$reflection() {\n return union_type(\"Fss.Types.ContentSize.ContentSize\", [], ContentSize_ContentSize, () => [[], [], [[\"Item\", class_type(\"Fss.Types.ILengthPercentage\")]]]);\n}\n\nexport class ContentSizeClasses_ContentSize extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function ContentSizeClasses_ContentSize$reflection() {\n return class_type(\"Fss.Types.ContentSizeClasses.ContentSize\", void 0, ContentSizeClasses_ContentSize, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(property) {\n return new ContentSizeClasses_ContentSize(property);\n}\n\nexport function ContentSizeClasses_ContentSize__get_maxContent(this$) {\n const tupledArg = [this$.property_3, new ContentSize_ContentSize(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentSizeClasses_ContentSize__get_minContent(this$) {\n const tupledArg = [this$.property_3, new ContentSize_ContentSize(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentSizeClasses_ContentSize__fitContent_Z498FEB3B(this$, fit) {\n const tupledArg = [this$.property_3, new ContentSize_ContentSize(2, fit)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { list_type, int32_type, class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Percent$reflection, Length$reflection, unitHelpers_lengthPercentageToType, Fraction$reflection, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\nimport { CssRuleWithNone$reflection, CssRuleWithNone, CssRule$reflection, CssRule, CssRuleWithAutoNone$reflection, CssRuleWithAutoNone, CssRuleWithNormal$reflection, CssRuleWithNormal, DividerMaster, Int, String$, CssRuleWithAuto$reflection, CssRuleWithAuto, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { ContentSizeClasses_ContentSize$reflection, ContentSizeClasses_ContentSize, ContentSize_ContentSize, ContentSize_ContentSize$reflection } from \"./ContentSize.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { fold, map } from \"../../fable-library.3.7.17/List.js\";\nimport { int32ToString } from \"../../fable-library.3.7.17/Util.js\";\n\nexport class Grid_GridAutoFlow extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Row\", \"Column\", \"Dense\", \"RowDense\", \"ColumnDense\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"column\";\n }\n case 2: {\n return \"dense\";\n }\n case 3: {\n return \"row dense\";\n }\n case 4: {\n return \"column dense\";\n }\n default: {\n return \"row\";\n }\n }\n }\n}\n\nexport function Grid_GridAutoFlow$reflection() {\n return union_type(\"Fss.Types.Grid.GridAutoFlow\", [], Grid_GridAutoFlow, () => [[], [], [], [], []]);\n}\n\nexport class Grid_GridTemplate extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Subgrid\", \"Masonry\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"masonry\" : \"subgrid\";\n }\n}\n\nexport function Grid_GridTemplate$reflection() {\n return union_type(\"Fss.Types.Grid.GridTemplate\", [], Grid_GridTemplate, () => [[], []]);\n}\n\nexport class Grid_RepeatType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AutoFill\", \"AutoFit\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"auto-fit\" : \"auto-fill\";\n }\n}\n\nexport function Grid_RepeatType$reflection() {\n return union_type(\"Fss.Types.Grid.RepeatType\", [], Grid_RepeatType, () => [[], []]);\n}\n\nexport class Grid_MinMaxHelper extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"MinMax1\", \"MinMax2\", \"MinMax3\", \"MinMax4\", \"MinMax5\", \"MinMax6\"];\n }\n StringifyCss() {\n const this$ = this;\n const minmaxValue = (a, b) => (`minmax(${a}, ${b})`);\n switch (this$.tag) {\n case 1: {\n return minmaxValue(unitHelpers_lengthPercentageString(this$.fields[0]), unitHelpers_lengthPercentageString(this$.fields[1]));\n }\n case 2: {\n return minmaxValue(unitHelpers_lengthPercentageString(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 3: {\n return minmaxValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), unitHelpers_lengthPercentageString(this$.fields[1]));\n }\n case 4: {\n return minmaxValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 5: {\n return minmaxValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n default: {\n return minmaxValue(unitHelpers_lengthPercentageString(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n }\n }\n}\n\nexport function Grid_MinMaxHelper$reflection() {\n return union_type(\"Fss.Types.Grid.MinMaxHelper\", [], Grid_MinMaxHelper, () => [[[\"Item1\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item2\", Fraction$reflection()]], [[\"Item1\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item2\", ContentSize_ContentSize$reflection()]], [[\"Item1\", ContentSize_ContentSize$reflection()], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", ContentSize_ContentSize$reflection()], [\"Item2\", ContentSize_ContentSize$reflection()]], [[\"Item1\", ContentSize_ContentSize$reflection()], [\"Item2\", Fraction$reflection()]]]);\n}\n\nexport class Grid_MinMax {\n constructor() {\n }\n}\n\nexport function Grid_MinMax$reflection() {\n return class_type(\"Fss.Types.Grid.MinMax\", void 0, Grid_MinMax);\n}\n\nexport function Grid_MinMax_MinMax_Z1B4A27B9(min, max) {\n return new Grid_MinMaxHelper(0, min, max);\n}\n\nexport function Grid_MinMax_MinMax_3202B9A0(min, max) {\n return new Grid_MinMaxHelper(1, min, max);\n}\n\nexport function Grid_MinMax_MinMax_Z19A3727D(min, max) {\n return new Grid_MinMaxHelper(2, min, max);\n}\n\nexport function Grid_MinMax_MinMax_11822963(min, max) {\n return new Grid_MinMaxHelper(3, min, max);\n}\n\nexport function Grid_MinMax_MinMax_Z3A23E2C0(min, max) {\n return new Grid_MinMaxHelper(4, min, max);\n}\n\nexport function Grid_MinMax_MinMax_Z38CAB77C(min, max) {\n return new Grid_MinMaxHelper(5, min, max);\n}\n\nexport class Grid_RepeatHelper extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Repeat1\", \"Repeat2\", \"Repeat3\", \"Repeat4\", \"Repeat5\", \"Repeat6\", \"Repeat7\", \"Repeat8\", \"Repeat9\"];\n }\n StringifyCss() {\n const this$ = this;\n const repeatValue = (a, b) => (`repeat(${a}, ${b})`);\n switch (this$.tag) {\n case 1: {\n return repeatValue(this$.fields[0], MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 2: {\n return repeatValue(this$.fields[0], MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 3: {\n return repeatValue(this$.fields[0], join(\" \", map(MasterTypeHelpers_stringifyICssValue, this$.fields[1])));\n }\n case 4: {\n return repeatValue(this$.fields[0], join(\" \", map(unitHelpers_lengthPercentageString, this$.fields[1])));\n }\n case 5: {\n return repeatValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 6: {\n return repeatValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), unitHelpers_lengthPercentageString(this$.fields[1]));\n }\n case 7: {\n return repeatValue(MasterTypeHelpers_stringifyICssValue(this$.fields[0]), MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n case 8: {\n return repeatValue(this$.fields[0], MasterTypeHelpers_stringifyICssValue(this$.fields[1]));\n }\n default: {\n return repeatValue(this$.fields[0], unitHelpers_lengthPercentageString(this$.fields[1]));\n }\n }\n }\n}\n\nexport function Grid_RepeatHelper$reflection() {\n return union_type(\"Fss.Types.Grid.RepeatHelper\", [], Grid_RepeatHelper, () => [[[\"Item1\", int32_type], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", int32_type], [\"Item2\", Fraction$reflection()]], [[\"Item1\", int32_type], [\"Item2\", ContentSize_ContentSize$reflection()]], [[\"Item1\", int32_type], [\"Item2\", list_type(ContentSize_ContentSize$reflection())]], [[\"Item1\", int32_type], [\"Item2\", list_type(class_type(\"Fss.Types.ILengthPercentage\"))]], [[\"Item1\", Grid_RepeatType$reflection()], [\"Item2\", Fraction$reflection()]], [[\"Item1\", Grid_RepeatType$reflection()], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", Grid_RepeatType$reflection()], [\"Item2\", ContentSize_ContentSize$reflection()]], [[\"Item1\", int32_type], [\"Item2\", Grid_MinMaxHelper$reflection()]]]);\n}\n\nexport class Grid_Repeat {\n constructor() {\n }\n}\n\nexport function Grid_Repeat$reflection() {\n return class_type(\"Fss.Types.Grid.Repeat\", void 0, Grid_Repeat);\n}\n\nexport function Grid_Repeat_Repeat_Z2CFD9AE7(value, length) {\n return new Grid_RepeatHelper(0, value, length);\n}\n\nexport function Grid_Repeat_Repeat_5B504FE(value, length) {\n return new Grid_RepeatHelper(1, value, length);\n}\n\nexport function Grid_Repeat_Repeat_75C513A(value, length) {\n return new Grid_RepeatHelper(2, value, length);\n}\n\nexport function Grid_Repeat_Repeat_356F4650(value, length) {\n return new Grid_RepeatHelper(3, value, length);\n}\n\nexport function Grid_Repeat_Repeat_11BAD453(value, length) {\n return new Grid_RepeatHelper(4, value, length);\n}\n\nexport function Grid_Repeat_Repeat_1D7A60B3(value, length) {\n return new Grid_RepeatHelper(5, value, length);\n}\n\nexport function Grid_Repeat_Repeat_Z3432FEAC(value, length) {\n return new Grid_RepeatHelper(6, value, length);\n}\n\nexport function Grid_Repeat_Repeat_1F933577(value, length) {\n return new Grid_RepeatHelper(7, value, length);\n}\n\nexport function Grid_Repeat_Repeat_5FB0605A(value, length) {\n return new Grid_RepeatHelper(8, value, length);\n}\n\nexport class GridClasses_GridPosition extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function GridClasses_GridPosition$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridPosition\", void 0, GridClasses_GridPosition, CssRuleWithAuto$reflection());\n}\n\nexport function GridClasses_GridPosition_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridPosition(property);\n}\n\nexport function GridClasses_GridPosition__value_Z721C83C5(this$, area) {\n const tupledArg = [this$.property_2, new String$(0, area)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridColumn extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function GridClasses_GridColumn$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridColumn\", void 0, GridClasses_GridColumn, CssRuleWithAuto$reflection());\n}\n\nexport function GridClasses_GridColumn_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridColumn(property);\n}\n\nexport function GridClasses_GridColumn__value_Z721C83C5(this$, area) {\n const tupledArg = [this$.property_2, new String$(0, area)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridColumn__value_Z524259A4(this$, value) {\n const tupledArg = [this$.property_2, new Int(0, value)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridColumn__value_Z176EF219(this$, value, area) {\n const tupledArg = [this$.property_2, new String$(0, `${value} ${area}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridColumn__span_Z524259A4(this$, value) {\n const tupledArg = [this$.property_2, new String$(0, `span ${value}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridRow extends GridClasses_GridPosition {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function GridClasses_GridRow$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridRow\", void 0, GridClasses_GridRow, GridClasses_GridPosition$reflection());\n}\n\nexport function GridClasses_GridRow_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridRow(property);\n}\n\nexport function GridClasses_GridRow__value_Z18115A39(this$, area, value) {\n const tupledArg = [this$.property_3, new DividerMaster(0, area, int32ToString(value))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridGap extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function GridClasses_GridGap$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridGap\", void 0, GridClasses_GridGap, CssRuleWithNormal$reflection());\n}\n\nexport function GridClasses_GridGap_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridGap(property);\n}\n\nexport function GridClasses_GridGap__value_Z498FEB3B(this$, gap) {\n const tupledArg = [this$.property_2, unitHelpers_lengthPercentageToType(gap)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridTwoGap extends GridClasses_GridGap {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function GridClasses_GridTwoGap$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridTwoGap\", void 0, GridClasses_GridTwoGap, GridClasses_GridGap$reflection());\n}\n\nexport function GridClasses_GridTwoGap_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridTwoGap(property);\n}\n\nexport function GridClasses_GridTwoGap__value_3202B9A0(this$, rowGap, columnGap) {\n const tupledArg = [this$.property_3, new String$(0, `${unitHelpers_lengthPercentageString(rowGap)} ${unitHelpers_lengthPercentageString(columnGap)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridTemplate extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function GridClasses_GridTemplate$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridTemplate\", void 0, GridClasses_GridTemplate, CssRuleWithAutoNone$reflection());\n}\n\nexport function GridClasses_GridTemplate_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridTemplate(property);\n}\n\nexport function GridClasses_GridTemplate__value_Z498FEB3B(this$, template) {\n const tupledArg = [this$.property_2, unitHelpers_lengthPercentageToType(template)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_Z1B4A27B9(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_Z1B4A27B9(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_3202B9A0(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_3202B9A0(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_Z19A3727D(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_Z19A3727D(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_11822963(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_11822963(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_Z3A23E2C0(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_Z3A23E2C0(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__minMax_Z38CAB77C(this$, min, max) {\n const tupledArg = [this$.property_2, Grid_MinMax_MinMax_Z38CAB77C(min, max)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__fitContent_Z498FEB3B(this$, fitContent) {\n const tupledArg = [this$.property_2, new ContentSize_ContentSize(2, fitContent)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_Z2CFD9AE7(this$, number, size) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_Z2CFD9AE7(number, size)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_5B504FE(this$, value, fraction) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_5B504FE(value, fraction)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_75C513A(this$, value, contentSize) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_75C513A(value, contentSize)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_356F4650(this$, value, contentSizes) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_356F4650(value, contentSizes)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_11BAD453(this$, value, sizes) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_11BAD453(value, sizes)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_1D7A60B3(this$, value, fraction) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_1D7A60B3(value, fraction)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_Z3432FEAC(this$, value, length) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_Z3432FEAC(value, length)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_1F933577(this$, value, contentSize) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_1F933577(value, contentSize)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__repeat_5FB0605A(this$, value, minMax) {\n const tupledArg = [this$.property_2, Grid_Repeat_Repeat_5FB0605A(value, minMax)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__get_subgrid(this$) {\n const tupledArg = [this$.property_2, new Grid_GridTemplate(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplate__get_masonry(this$) {\n const tupledArg = [this$.property_2, new Grid_GridTemplate(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_AutoHelper extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Fractions\", \"ContentSizes\", \"Length\", \"Percent\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return join(\" \", map(MasterTypeHelpers_stringifyICssValue, this$.fields[0]));\n }\n case 2: {\n return join(\" \", map(MasterTypeHelpers_stringifyICssValue, this$.fields[0]));\n }\n case 3: {\n return join(\" \", map(MasterTypeHelpers_stringifyICssValue, this$.fields[0]));\n }\n default: {\n return join(\" \", map(MasterTypeHelpers_stringifyICssValue, this$.fields[0]));\n }\n }\n }\n}\n\nexport function GridClasses_AutoHelper$reflection() {\n return union_type(\"Fss.Types.GridClasses.AutoHelper\", [], GridClasses_AutoHelper, () => [[[\"Item\", list_type(Fraction$reflection())]], [[\"Item\", list_type(ContentSize_ContentSize$reflection())]], [[\"Item\", list_type(Length$reflection())]], [[\"Item\", list_type(Percent$reflection())]]]);\n}\n\nexport class GridClasses_GridAuto extends ContentSizeClasses_ContentSize {\n constructor(property) {\n super(property);\n this.property_4 = property;\n }\n}\n\nexport function GridClasses_GridAuto$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridAuto\", void 0, GridClasses_GridAuto, ContentSizeClasses_ContentSize$reflection());\n}\n\nexport function GridClasses_GridAuto_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridAuto(property);\n}\n\nexport function GridClasses_GridAuto__value_60C77522(this$, fraction) {\n const tupledArg = [this$.property_4, fraction];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAuto__value_Z3ECA5D98(this$, fraction) {\n const tupledArg = [this$.property_4, new GridClasses_AutoHelper(0, fraction)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAuto__value_Z737E3B82(this$, sizes) {\n const tupledArg = [this$.property_4, new GridClasses_AutoHelper(2, sizes)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAuto__value_1FA41A59(this$, sizes) {\n const tupledArg = [this$.property_4, new GridClasses_AutoHelper(3, sizes)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAuto__value_501D378C(this$, contentSizes) {\n const tupledArg = [this$.property_4, new GridClasses_AutoHelper(1, contentSizes)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridAutoFlow extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function GridClasses_GridAutoFlow$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridAutoFlow\", void 0, GridClasses_GridAutoFlow, CssRule$reflection());\n}\n\nexport function GridClasses_GridAutoFlow_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridAutoFlow(property);\n}\n\nexport function GridClasses_GridAutoFlow__get_row(this$) {\n const tupledArg = [this$.property_1, new Grid_GridAutoFlow(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAutoFlow__get_column(this$) {\n const tupledArg = [this$.property_1, new Grid_GridAutoFlow(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAutoFlow__get_dense(this$) {\n const tupledArg = [this$.property_1, new Grid_GridAutoFlow(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAutoFlow__get_rowDense(this$) {\n const tupledArg = [this$.property_1, new Grid_GridAutoFlow(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridAutoFlow__get_columnDense(this$) {\n const tupledArg = [this$.property_1, new Grid_GridAutoFlow(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class GridClasses_GridTemplateAreas extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function GridClasses_GridTemplateAreas$reflection() {\n return class_type(\"Fss.Types.GridClasses.GridTemplateAreas\", void 0, GridClasses_GridTemplateAreas, CssRuleWithNone$reflection());\n}\n\nexport function GridClasses_GridTemplateAreas_$ctor_Z207A3CFB(property) {\n return new GridClasses_GridTemplateAreas(property);\n}\n\nexport function GridClasses_GridTemplateAreas__value_1334CEF1(this$, values) {\n let v;\n const tupledArg = [this$.property_2, new String$(0, (v = join(\" \", values), `\"${v}\"`))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function GridClasses_GridTemplateAreas__value_Z7F4D45E5(this$, values) {\n const tupledArg = [this$.property_2, new String$(0, fold((acc, x_1) => (`${acc} \"${x_1}\"`), \"\", map((x) => join(\" \", x), values)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { GridClasses_GridTemplateAreas_$ctor_Z207A3CFB, GridClasses_GridAutoFlow_$ctor_Z207A3CFB, GridClasses_GridAuto_$ctor_Z207A3CFB, GridClasses_GridTemplate_$ctor_Z207A3CFB, GridClasses_GridGap_$ctor_Z207A3CFB, GridClasses_GridTwoGap_$ctor_Z207A3CFB, GridClasses_GridRow_$ctor_Z207A3CFB, GridClasses_GridColumn_$ctor_Z207A3CFB, GridClasses_GridPosition_$ctor_Z207A3CFB } from \"../Types/Grid.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const GridArea = GridClasses_GridPosition_$ctor_Z207A3CFB(new Property_CssProperty(125));\n\nexport const GridColumn = GridClasses_GridPosition_$ctor_Z207A3CFB(new Property_CssProperty(131));\n\nexport const GridColumnStart = GridClasses_GridColumn_$ctor_Z207A3CFB(new Property_CssProperty(130));\n\nexport const GridColumnEnd = GridClasses_GridColumn_$ctor_Z207A3CFB(new Property_CssProperty(129));\n\nexport const GridRow = GridClasses_GridRow_$ctor_Z207A3CFB(new Property_CssProperty(137));\n\nexport const GridRowStart = GridClasses_GridColumn_$ctor_Z207A3CFB(new Property_CssProperty(136));\n\nexport const GridRowEnd = GridClasses_GridColumn_$ctor_Z207A3CFB(new Property_CssProperty(133));\n\nexport const GridGap = GridClasses_GridTwoGap_$ctor_Z207A3CFB(new Property_CssProperty(132));\n\nexport const GridRowGap = GridClasses_GridGap_$ctor_Z207A3CFB(new Property_CssProperty(134));\n\nexport const GridColumnGap = GridClasses_GridGap_$ctor_Z207A3CFB(new Property_CssProperty(135));\n\nexport const GridTemplateRows = GridClasses_GridTemplate_$ctor_Z207A3CFB(new Property_CssProperty(140));\n\nexport const GridTemplateColumns = GridClasses_GridTemplate_$ctor_Z207A3CFB(new Property_CssProperty(139));\n\nexport const GridAutoColumns = GridClasses_GridAuto_$ctor_Z207A3CFB(new Property_CssProperty(126));\n\nexport const GridAutoRows = GridClasses_GridAuto_$ctor_Z207A3CFB(new Property_CssProperty(128));\n\nexport const GridAutoFlow = GridClasses_GridAutoFlow_$ctor_Z207A3CFB(new Property_CssProperty(127));\n\nexport const GridTemplateAreas = GridClasses_GridTemplateAreas_$ctor_Z207A3CFB(new Property_CssProperty(138));\n\n","import { FontClasses_FontVariantPosition_$ctor_Z207A3CFB, FontClasses_FontVariantLigatures_$ctor_Z207A3CFB, FontClasses_FontVariantEastAsian_$ctor_Z207A3CFB, FontClasses_FontVariantCaps_$ctor_Z207A3CFB, FontClasses_FontVariantNumeric_$ctor_Z207A3CFB, FontClasses_FontFeatureSettings_$ctor_Z207A3CFB, FontClasses_FontFamily_$ctor_Z207A3CFB, FontClasses_LetterSpacing_$ctor_Z207A3CFB, FontClasses_LineBreak_$ctor_Z207A3CFB, FontClasses_LineHeight_$ctor_Z207A3CFB, FontClasses_FontWeight_$ctor_Z207A3CFB, FontClasses_FontStyle_$ctor_Z207A3CFB, FontClasses_FontStretch_$ctor_Z207A3CFB, FontClasses_FontSize_$ctor_Z207A3CFB, FontClasses_FontKerning_$ctor_Z207A3CFB, FontClasses_FontLanguageOverride_$ctor_Z207A3CFB, FontClasses_FontSynthesis_$ctor_Z207A3CFB } from \"../Types/Font.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const FontSynthesis = FontClasses_FontSynthesis_$ctor_Z207A3CFB(new Property_CssProperty(115));\n\nexport const FontLanguageOverride = FontClasses_FontLanguageOverride_$ctor_Z207A3CFB(new Property_CssProperty(109));\n\nexport const FontKerning = FontClasses_FontKerning_$ctor_Z207A3CFB(new Property_CssProperty(108));\n\nexport const FontSize = FontClasses_FontSize_$ctor_Z207A3CFB(new Property_CssProperty(111));\n\nexport const FontStretch = FontClasses_FontStretch_$ctor_Z207A3CFB(new Property_CssProperty(112));\n\nexport const FontStyle = FontClasses_FontStyle_$ctor_Z207A3CFB(new Property_CssProperty(113));\n\nexport const FontWeight = FontClasses_FontWeight_$ctor_Z207A3CFB(new Property_CssProperty(123));\n\nexport const LineHeight = FontClasses_LineHeight_$ctor_Z207A3CFB(new Property_CssProperty(154));\n\nexport const LineBreak = FontClasses_LineBreak_$ctor_Z207A3CFB(new Property_CssProperty(153));\n\nexport const LetterSpacing = FontClasses_LetterSpacing_$ctor_Z207A3CFB(new Property_CssProperty(152));\n\nexport const FontFamily = FontClasses_FontFamily_$ctor_Z207A3CFB(new Property_CssProperty(107));\n\nexport const FontFeatureSettings = FontClasses_FontFeatureSettings_$ctor_Z207A3CFB(new Property_CssProperty(100));\n\nexport const FontVariantNumeric = FontClasses_FontVariantNumeric_$ctor_Z207A3CFB(new Property_CssProperty(121));\n\nexport const FontVariantCaps = FontClasses_FontVariantCaps_$ctor_Z207A3CFB(new Property_CssProperty(118));\n\nexport const FontVariantEastAsian = FontClasses_FontVariantEastAsian_$ctor_Z207A3CFB(new Property_CssProperty(119));\n\nexport const FontVariantLigatures = FontClasses_FontVariantLigatures_$ctor_Z207A3CFB(new Property_CssProperty(120));\n\nexport const FontVariantPosition = FontClasses_FontVariantPosition_$ctor_Z207A3CFB(new Property_CssProperty(122));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { String$, UrlMaster, CssRuleWithAutoNone$reflection, CssRuleWithAutoNone } from \"./MasterTypes.fs.js\";\n\nexport class Cursor_Cursor extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"ContextMenu\", \"Help\", \"Pointer\", \"Progress\", \"Wait\", \"Cell\", \"Crosshair\", \"Text\", \"VerticalText\", \"Alias\", \"Copy\", \"Move\", \"NoDrop\", \"NotAllowed\", \"Grab\", \"Grabbing\", \"AllScroll\", \"ColResize\", \"RowResize\", \"NResize\", \"EResize\", \"SResize\", \"WResize\", \"NsResize\", \"EwResize\", \"NeResize\", \"NwResize\", \"SeResize\", \"SwResize\", \"NeswResize\", \"NwseResize\", \"ZoomIn\", \"ZoomOut\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"context-menu\";\n }\n case 2: {\n return \"help\";\n }\n case 3: {\n return \"pointer\";\n }\n case 4: {\n return \"progress\";\n }\n case 5: {\n return \"wait\";\n }\n case 6: {\n return \"cell\";\n }\n case 7: {\n return \"crosshair\";\n }\n case 8: {\n return \"text\";\n }\n case 9: {\n return \"vertical-text\";\n }\n case 10: {\n return \"alias\";\n }\n case 11: {\n return \"copy\";\n }\n case 12: {\n return \"move\";\n }\n case 13: {\n return \"no-drop\";\n }\n case 14: {\n return \"not-allowed\";\n }\n case 15: {\n return \"grab\";\n }\n case 16: {\n return \"grabbing\";\n }\n case 17: {\n return \"all-scroll\";\n }\n case 18: {\n return \"col-resize\";\n }\n case 19: {\n return \"row-resize\";\n }\n case 20: {\n return \"n-resize\";\n }\n case 21: {\n return \"e-resize\";\n }\n case 22: {\n return \"s-resize\";\n }\n case 23: {\n return \"w-resize\";\n }\n case 24: {\n return \"ns-resize\";\n }\n case 25: {\n return \"ew-resize\";\n }\n case 26: {\n return \"ne-resize\";\n }\n case 27: {\n return \"nw-resize\";\n }\n case 28: {\n return \"se-resize\";\n }\n case 29: {\n return \"sw-resize\";\n }\n case 30: {\n return \"nesw-resize\";\n }\n case 31: {\n return \"nwse-resize\";\n }\n case 32: {\n return \"zoom-in\";\n }\n case 33: {\n return \"zoom-out\";\n }\n default: {\n return \"default\";\n }\n }\n }\n}\n\nexport function Cursor_Cursor$reflection() {\n return union_type(\"Fss.Types.Cursor.Cursor\", [], Cursor_Cursor, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class CursorClasses_CursorParent extends CssRuleWithAutoNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function CursorClasses_CursorParent$reflection() {\n return class_type(\"Fss.Types.CursorClasses.CursorParent\", void 0, CursorClasses_CursorParent, CssRuleWithAutoNone$reflection());\n}\n\nexport function CursorClasses_CursorParent_$ctor_Z207A3CFB(property) {\n return new CursorClasses_CursorParent(property);\n}\n\nexport function CursorClasses_CursorParent__value_Z721C83C5(this$, url) {\n const tupledArg = [this$.property_2, new UrlMaster(0, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__value_ZF6CC49A(this$, cursor) {\n const tupledArg = [this$.property_2, cursor];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__url_Z721C83C5(this$, url) {\n const tupledArg = [this$.property_2, new UrlMaster(0, url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__url_487EF8FB(this$, url, x, y) {\n const tupledArg = [this$.property_2, new String$(0, `url(${url}) ${x} ${y}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_default$0027(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_contextMenu(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_help(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_pointer(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_progress(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_wait(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_cell(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_crosshair(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_text(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_verticalText(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_alias(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_copy(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_move(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_noDrop(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_notAllowed(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_grab(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_grabbing(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(16)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_allScroll(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(17)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_colResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(18)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_rowResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(19)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_nResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(20)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_eResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(21)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_sResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(22)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_wResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(23)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_nsResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(24)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_ewResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(25)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_neResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(26)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_nwResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(27)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_seResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(28)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_swResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(29)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_neswResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(30)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_nwseResize(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(31)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_zoomIn(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(32)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function CursorClasses_CursorParent__get_zoomOut(this$) {\n const tupledArg = [this$.property_2, new Cursor_Cursor(33)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { CursorClasses_CursorParent_$ctor_Z207A3CFB } from \"../Types/Cursor.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Cursor = CursorClasses_CursorParent_$ctor_Z207A3CFB(new Property_CssProperty(91));\n\n","import { ContentSizeClasses_ContentSize_$ctor_Z207A3CFB } from \"../Types/ContentSize.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Width = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(308));\n\nexport const Height = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(144));\n\nexport const MinWidth = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(182));\n\nexport const MinHeight = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(181));\n\nexport const MaxWidth = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(180));\n\nexport const MaxHeight = ContentSizeClasses_ContentSize_$ctor_Z207A3CFB(new Property_CssProperty(179));\n\n","import { ColorClass_ColorAdjust_$ctor_Z207A3CFB, ColorClass_Color_$ctor_Z207A3CFB } from \"../Types/Color.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Color = ColorClass_Color_$ctor_Z207A3CFB(new Property_CssProperty(72));\n\nexport const ColorAdjust = ColorClass_ColorAdjust_$ctor_Z207A3CFB(new Property_CssProperty(73));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithAuto$reflection, CssRuleWithAuto, CssRuleWithNone$reflection, CssRuleWithNone, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\nimport { unitHelpers_CssRuleWithLength$reflection, unitHelpers_CssRuleWithLength, unitHelpers_CssRuleWithAutoLength$reflection, unitHelpers_CssRuleWithAutoLength } from \"./Units.fs.js\";\n\nexport class Position_Position extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Static\", \"Relative\", \"Absolute\", \"Sticky\", \"Fixed\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"relative\";\n }\n case 2: {\n return \"absolute\";\n }\n case 3: {\n return \"sticky\";\n }\n case 4: {\n return \"fixed\";\n }\n default: {\n return \"static\";\n }\n }\n }\n}\n\nexport function Position_Position$reflection() {\n return union_type(\"Fss.Types.Position.Position\", [], Position_Position, () => [[], [], [], [], []]);\n}\n\nexport class Position_VerticalAlign extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Baseline\", \"Sub\", \"Super\", \"TextTop\", \"TextBottom\", \"Middle\", \"Top\", \"Bottom\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"sub\";\n }\n case 2: {\n return \"super\";\n }\n case 3: {\n return \"text-top\";\n }\n case 4: {\n return \"text-bottom\";\n }\n case 5: {\n return \"middle\";\n }\n case 6: {\n return \"top\";\n }\n case 7: {\n return \"bottom\";\n }\n default: {\n return \"baseline\";\n }\n }\n }\n}\n\nexport function Position_VerticalAlign$reflection() {\n return union_type(\"Fss.Types.Position.VerticalAlign\", [], Position_VerticalAlign, () => [[], [], [], [], [], [], [], []]);\n}\n\nexport class Position_Float extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Left\", \"Right\", \"InlineStart\", \"InlineEnd\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"right\";\n }\n case 2: {\n return \"inline-start\";\n }\n case 3: {\n return \"inline-end\";\n }\n default: {\n return \"left\";\n }\n }\n }\n}\n\nexport function Position_Float$reflection() {\n return union_type(\"Fss.Types.Position.Float\", [], Position_Float, () => [[], [], [], []]);\n}\n\nexport class Position_BoxSizing extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ContentBox\", \"BorderBox\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"border-box\" : \"content-box\";\n }\n}\n\nexport function Position_BoxSizing$reflection() {\n return union_type(\"Fss.Types.Position.BoxSizing\", [], Position_BoxSizing, () => [[], []]);\n}\n\nexport class Position_Direction extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Rtl\", \"Ltr\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"ltr\" : \"rtl\";\n }\n}\n\nexport function Position_Direction$reflection() {\n return union_type(\"Fss.Types.Position.Direction\", [], Position_Direction, () => [[], []]);\n}\n\nexport class Position_Break extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Avoid\", \"Always\", \"All\", \"AvoidPage\", \"Page\", \"Left\", \"Right\", \"Recto\", \"Verso\", \"AvoidColumn\", \"Column\", \"AvoidRegion\", \"Region\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"always\";\n }\n case 2: {\n return \"all\";\n }\n case 3: {\n return \"avoid-page\";\n }\n case 4: {\n return \"page\";\n }\n case 5: {\n return \"left\";\n }\n case 6: {\n return \"right\";\n }\n case 7: {\n return \"recto\";\n }\n case 8: {\n return \"verso\";\n }\n case 9: {\n return \"avoid-column\";\n }\n case 10: {\n return \"column\";\n }\n case 11: {\n return \"avoid-region\";\n }\n case 12: {\n return \"region\";\n }\n default: {\n return \"avoid\";\n }\n }\n }\n}\n\nexport function Position_Break$reflection() {\n return union_type(\"Fss.Types.Position.Break\", [], Position_Break, () => [[], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Position_BreakInside extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Avoid\", \"AvoidPage\", \"AvoidColumn\", \"AvoidRegion\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"avoid-page\";\n }\n case 2: {\n return \"avoid-column\";\n }\n case 3: {\n return \"avoid-region\";\n }\n default: {\n return \"avoid\";\n }\n }\n }\n}\n\nexport function Position_BreakInside$reflection() {\n return union_type(\"Fss.Types.Position.BreakInside\", [], Position_BreakInside, () => [[], [], [], []]);\n}\n\nexport class PositionClasses_Position extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function PositionClasses_Position$reflection() {\n return class_type(\"Fss.Types.PositionClasses.Position\", void 0, PositionClasses_Position, CssRule$reflection());\n}\n\nexport function PositionClasses_Position_$ctor_Z207A3CFB(property) {\n return new PositionClasses_Position(property);\n}\n\nexport function PositionClasses_Position__get_static$0027(this$) {\n const tupledArg = [this$.property_1, new Position_Position(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Position__get_relative(this$) {\n const tupledArg = [this$.property_1, new Position_Position(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Position__get_absolute(this$) {\n const tupledArg = [this$.property_1, new Position_Position(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Position__get_sticky(this$) {\n const tupledArg = [this$.property_1, new Position_Position(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Position__get_fixed$0027(this$) {\n const tupledArg = [this$.property_1, new Position_Position(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_TopRightBottomLeft extends unitHelpers_CssRuleWithAutoLength {\n constructor(property) {\n super(property);\n }\n}\n\nexport function PositionClasses_TopRightBottomLeft$reflection() {\n return class_type(\"Fss.Types.PositionClasses.TopRightBottomLeft\", void 0, PositionClasses_TopRightBottomLeft, unitHelpers_CssRuleWithAutoLength$reflection());\n}\n\nexport function PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB(property) {\n return new PositionClasses_TopRightBottomLeft(property);\n}\n\nexport class PositionClasses_VerticalAlign extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function PositionClasses_VerticalAlign$reflection() {\n return class_type(\"Fss.Types.PositionClasses.VerticalAlign\", void 0, PositionClasses_VerticalAlign, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function PositionClasses_VerticalAlign_$ctor_Z207A3CFB(property) {\n return new PositionClasses_VerticalAlign(property);\n}\n\nexport function PositionClasses_VerticalAlign__get_baseline(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_sub(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_super(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_textTop(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_textBottom(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_middle(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_top(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_VerticalAlign__get_bottom(this$) {\n const tupledArg = [this$.property_2, new Position_VerticalAlign(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_Float extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function PositionClasses_Float$reflection() {\n return class_type(\"Fss.Types.PositionClasses.Float\", void 0, PositionClasses_Float, CssRuleWithNone$reflection());\n}\n\nexport function PositionClasses_Float_$ctor_Z207A3CFB(property) {\n return new PositionClasses_Float(property);\n}\n\nexport function PositionClasses_Float__get_left(this$) {\n const tupledArg = [this$.property_2, new Position_Float(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Float__get_right(this$) {\n const tupledArg = [this$.property_2, new Position_Float(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Float__get_inlineStart(this$) {\n const tupledArg = [this$.property_2, new Position_Float(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Float__get_inlineEnd(this$) {\n const tupledArg = [this$.property_2, new Position_Float(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_BoxSizing extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function PositionClasses_BoxSizing$reflection() {\n return class_type(\"Fss.Types.PositionClasses.BoxSizing\", void 0, PositionClasses_BoxSizing, CssRule$reflection());\n}\n\nexport function PositionClasses_BoxSizing_$ctor_Z207A3CFB(property) {\n return new PositionClasses_BoxSizing(property);\n}\n\nexport function PositionClasses_BoxSizing__get_borderBox(this$) {\n const tupledArg = [this$.property_1, new Position_BoxSizing(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_BoxSizing__get_contentBox(this$) {\n const tupledArg = [this$.property_1, new Position_BoxSizing(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_Direction extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function PositionClasses_Direction$reflection() {\n return class_type(\"Fss.Types.PositionClasses.Direction\", void 0, PositionClasses_Direction, CssRule$reflection());\n}\n\nexport function PositionClasses_Direction_$ctor_Z207A3CFB(property) {\n return new PositionClasses_Direction(property);\n}\n\nexport function PositionClasses_Direction__get_ltr(this$) {\n const tupledArg = [this$.property_1, new Position_Direction(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Direction__get_rtl(this$) {\n const tupledArg = [this$.property_1, new Position_Direction(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_Break extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function PositionClasses_Break$reflection() {\n return class_type(\"Fss.Types.PositionClasses.Break\", void 0, PositionClasses_Break, CssRuleWithAuto$reflection());\n}\n\nexport function PositionClasses_Break_$ctor_Z207A3CFB(property) {\n return new PositionClasses_Break(property);\n}\n\nexport function PositionClasses_Break__get_avoid(this$) {\n const tupledArg = [this$.property_2, new Position_Break(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_always(this$) {\n const tupledArg = [this$.property_2, new Position_Break(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_all(this$) {\n const tupledArg = [this$.property_2, new Position_Break(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_avoidPage(this$) {\n const tupledArg = [this$.property_2, new Position_Break(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_page(this$) {\n const tupledArg = [this$.property_2, new Position_Break(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_left(this$) {\n const tupledArg = [this$.property_2, new Position_Float(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_right(this$) {\n const tupledArg = [this$.property_2, new Position_Float(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_recto(this$) {\n const tupledArg = [this$.property_2, new Position_Break(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_verso(this$) {\n const tupledArg = [this$.property_2, new Position_Break(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_avoidColumn(this$) {\n const tupledArg = [this$.property_2, new Position_Break(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_column(this$) {\n const tupledArg = [this$.property_2, new Position_Break(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_avoidRegion(this$) {\n const tupledArg = [this$.property_2, new Position_Break(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_Break__get_region(this$) {\n const tupledArg = [this$.property_2, new Position_Break(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PositionClasses_BreakInside extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function PositionClasses_BreakInside$reflection() {\n return class_type(\"Fss.Types.PositionClasses.BreakInside\", void 0, PositionClasses_BreakInside, CssRuleWithAuto$reflection());\n}\n\nexport function PositionClasses_BreakInside_$ctor_Z207A3CFB(property) {\n return new PositionClasses_BreakInside(property);\n}\n\nexport function PositionClasses_BreakInside__get_avoid(this$) {\n const tupledArg = [this$.property_2, new Position_Break(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_BreakInside__get_avoidPage(this$) {\n const tupledArg = [this$.property_2, new Position_Break(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_BreakInside__get_avoidColumn(this$) {\n const tupledArg = [this$.property_2, new Position_Break(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PositionClasses_BreakInside__get_avoidRegion(this$) {\n const tupledArg = [this$.property_2, new Position_Break(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class WritingMode_WritingMode extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"HorizontalTb\", \"VerticalRl\", \"VerticalLr\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"vertical-rl\";\n }\n case 2: {\n return \"vertical-lr\";\n }\n default: {\n return \"horizontal-tb\";\n }\n }\n }\n}\n\nexport function WritingMode_WritingMode$reflection() {\n return union_type(\"Fss.Types.WritingMode.WritingMode\", [], WritingMode_WritingMode, () => [[], [], []]);\n}\n\nexport class WritingModeClasses_WritingMode extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function WritingModeClasses_WritingMode$reflection() {\n return class_type(\"Fss.Types.WritingModeClasses.WritingMode\", void 0, WritingModeClasses_WritingMode, CssRule$reflection());\n}\n\nexport function WritingModeClasses_WritingMode_$ctor_Z207A3CFB(property) {\n return new WritingModeClasses_WritingMode(property);\n}\n\nexport function WritingModeClasses_WritingMode__get_horizontalTb(this$) {\n const tupledArg = [this$.property_1, new WritingMode_WritingMode(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function WritingModeClasses_WritingMode__get_verticalRl(this$) {\n const tupledArg = [this$.property_1, new WritingMode_WritingMode(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function WritingModeClasses_WritingMode__get_verticalLr(this$) {\n const tupledArg = [this$.property_1, new WritingMode_WritingMode(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { PositionClasses_Position_$ctor_Z207A3CFB, PositionClasses_BreakInside_$ctor_Z207A3CFB, PositionClasses_Break_$ctor_Z207A3CFB, WritingModeClasses_WritingMode_$ctor_Z207A3CFB, PositionClasses_Direction_$ctor_Z207A3CFB, PositionClasses_BoxSizing_$ctor_Z207A3CFB, PositionClasses_Float_$ctor_Z207A3CFB, PositionClasses_VerticalAlign_$ctor_Z207A3CFB, PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB } from \"../Types/Position.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const Top = PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB(new Property_CssProperty(283));\n\nexport const Right = PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB(new Property_CssProperty(232));\n\nexport const Bottom = PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB(new Property_CssProperty(60));\n\nexport const Left = PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB(new Property_CssProperty(151));\n\nexport const VerticalAlign = PositionClasses_VerticalAlign_$ctor_Z207A3CFB(new Property_CssProperty(295));\n\nexport const Float = PositionClasses_Float_$ctor_Z207A3CFB(new Property_CssProperty(106));\n\nexport const BoxSizing = PositionClasses_BoxSizing_$ctor_Z207A3CFB(new Property_CssProperty(63));\n\nexport const Direction = PositionClasses_Direction_$ctor_Z207A3CFB(new Property_CssProperty(92));\n\nexport const WritingMode = WritingModeClasses_WritingMode_$ctor_Z207A3CFB(new Property_CssProperty(313));\n\nexport const BreakAfter = PositionClasses_Break_$ctor_Z207A3CFB(new Property_CssProperty(64));\n\nexport const BreakBefore = PositionClasses_Break_$ctor_Z207A3CFB(new Property_CssProperty(65));\n\nexport const BreakInside = PositionClasses_BreakInside_$ctor_Z207A3CFB(new Property_CssProperty(66));\n\nexport const Position = PositionClasses_Position_$ctor_Z207A3CFB(new Property_CssProperty(225));\n\n","import { CssRule$reflection, CssRule, String$, CssRuleWithNone$reflection, CssRuleWithNone, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { unitHelpers_CssRuleWithLength$reflection, unitHelpers_CssRuleWithLength, Angle$reflection, Length$reflection, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\nimport { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { union_type, class_type, int32_type, float64_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\n\nexport class Transform_Transform extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Matrix\", \"Matrix3D\", \"Perspective\", \"Rotate\", \"Rotate3D\", \"RotateX\", \"RotateY\", \"RotateZ\", \"Translate\", \"Translate2\", \"Translate3D\", \"TranslateX\", \"TranslateY\", \"TranslateZ\", \"Scale\", \"Scale2\", \"Scale3D\", \"ScaleX\", \"ScaleY\", \"ScaleZ\", \"Skew\", \"Skew2\", \"SkewX\", \"SkewY\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `matrix3d(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]}, ${this$.fields[3]}, ${this$.fields[4]}, ${this$.fields[5]}, ${this$.fields[6]}, ${this$.fields[7]}, ${this$.fields[8]}, ${this$.fields[9]}, ${this$.fields[10]}, ${this$.fields[11]}, ${this$.fields[12]}, ${this$.fields[13]}, ${this$.fields[14]}, ${this$.fields[15]})`;\n }\n case 2: {\n return `perspective(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 3: {\n return `rotate(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 4: {\n return `rotate3d(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]}, ${MasterTypeHelpers_stringifyICssValue(this$.fields[3])})`;\n }\n case 5: {\n return `rotateX(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 6: {\n return `rotateY(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 7: {\n return `rotateZ(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 8: {\n return `translate(${unitHelpers_lengthPercentageString(this$.fields[0])})`;\n }\n case 9: {\n return `translate(${unitHelpers_lengthPercentageString(this$.fields[0])}, ${unitHelpers_lengthPercentageString(this$.fields[1])})`;\n }\n case 10: {\n return `translate3d(${unitHelpers_lengthPercentageString(this$.fields[0])}, ${unitHelpers_lengthPercentageString(this$.fields[1])}, ${unitHelpers_lengthPercentageString(this$.fields[2])})`;\n }\n case 11: {\n return `translateX(${unitHelpers_lengthPercentageString(this$.fields[0])})`;\n }\n case 12: {\n return `translateY(${unitHelpers_lengthPercentageString(this$.fields[0])})`;\n }\n case 13: {\n return `translateZ(${unitHelpers_lengthPercentageString(this$.fields[0])})`;\n }\n case 14: {\n return `scale(${this$.fields[0]})`;\n }\n case 15: {\n return `scale(${this$.fields[0]}, ${this$.fields[1]})`;\n }\n case 16: {\n return `scale3d(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]})`;\n }\n case 17: {\n return `scaleX(${this$.fields[0]})`;\n }\n case 18: {\n return `scaleY(${this$.fields[0]})`;\n }\n case 19: {\n return `scaleZ(${this$.fields[0]})`;\n }\n case 20: {\n return `skew(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 21: {\n return `skew(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}, ${MasterTypeHelpers_stringifyICssValue(this$.fields[1])})`;\n }\n case 22: {\n return `skewX(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n case 23: {\n return `skewY(${MasterTypeHelpers_stringifyICssValue(this$.fields[0])})`;\n }\n default: {\n return `matrix(${this$.fields[0]}, ${this$.fields[1]}, ${this$.fields[2]}, ${this$.fields[3]}, ${this$.fields[4]}, ${this$.fields[5]})`;\n }\n }\n }\n}\n\nexport function Transform_Transform$reflection() {\n return union_type(\"Fss.Types.Transform.Transform\", [], Transform_Transform, () => [[[\"Item1\", float64_type], [\"Item2\", float64_type], [\"Item3\", float64_type], [\"Item4\", float64_type], [\"Item5\", float64_type], [\"Item6\", float64_type]], [[\"Item1\", int32_type], [\"Item2\", int32_type], [\"Item3\", int32_type], [\"Item4\", int32_type], [\"Item5\", int32_type], [\"Item6\", int32_type], [\"Item7\", int32_type], [\"Item8\", int32_type], [\"Item9\", int32_type], [\"Item10\", int32_type], [\"Item11\", int32_type], [\"Item12\", int32_type], [\"Item13\", float64_type], [\"Item14\", float64_type], [\"Item15\", float64_type], [\"Item16\", float64_type]], [[\"Item\", Length$reflection()]], [[\"Item\", Angle$reflection()]], [[\"Item1\", float64_type], [\"Item2\", float64_type], [\"Item3\", float64_type], [\"Item4\", Angle$reflection()]], [[\"Item\", Angle$reflection()]], [[\"Item\", Angle$reflection()]], [[\"Item\", Angle$reflection()]], [[\"Item\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item1\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item2\", class_type(\"Fss.Types.ILengthPercentage\")], [\"Item3\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item\", class_type(\"Fss.Types.ILengthPercentage\")]], [[\"Item\", float64_type]], [[\"Item1\", float64_type], [\"Item2\", float64_type]], [[\"Item1\", float64_type], [\"Item2\", float64_type], [\"Item3\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", float64_type]], [[\"Item\", Angle$reflection()]], [[\"Item1\", Angle$reflection()], [\"Item2\", Angle$reflection()]], [[\"Item\", Angle$reflection()]], [[\"Item\", Angle$reflection()]]]);\n}\n\nexport class Transform_Origin extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Top\", \"Left\", \"Right\", \"Bottom\", \"Center\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"left\";\n }\n case 2: {\n return \"right\";\n }\n case 3: {\n return \"bottom\";\n }\n case 4: {\n return \"center\";\n }\n default: {\n return \"top\";\n }\n }\n }\n}\n\nexport function Transform_Origin$reflection() {\n return union_type(\"Fss.Types.Transform.Origin\", [], Transform_Origin, () => [[], [], [], [], []]);\n}\n\nexport class Transform_Style extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Flat\", \"Preserve3d\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"preserve3d\" : \"flat\";\n }\n}\n\nexport function Transform_Style$reflection() {\n return union_type(\"Fss.Types.Transform.Style\", [], Transform_Style, () => [[], []]);\n}\n\nexport class TransformClasses_TransformClass extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TransformClasses_TransformClass$reflection() {\n return class_type(\"Fss.Types.TransformClasses.TransformClass\", void 0, TransformClasses_TransformClass, CssRuleWithNone$reflection());\n}\n\nexport function TransformClasses_TransformClass_$ctor_Z207A3CFB(property) {\n return new TransformClasses_TransformClass(property);\n}\n\nexport function TransformClasses_TransformClass__value_ZF56B0F4(this$, transforms) {\n const tupledArg = [this$.property_2, new String$(0, join(\" \", map(MasterTypeHelpers_stringifyICssValue, transforms)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformClass__matrix_76A78260(this$, a, b, c, d, tx, ty) {\n return new Transform_Transform(0, a, b, c, d, tx, ty);\n}\n\nexport function TransformClasses_TransformClass__matrix3D_Z4F721840(this$, a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4) {\n return new Transform_Transform(1, a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4);\n}\n\nexport function TransformClasses_TransformClass__perspective_Z5C52D00C(this$, length) {\n return new Transform_Transform(2, length);\n}\n\nexport function TransformClasses_TransformClass__rotate_CEE3389(this$, angle) {\n return new Transform_Transform(3, angle);\n}\n\nexport function TransformClasses_TransformClass__rotate3D_25075E72(this$, x, y, z, a) {\n return new Transform_Transform(4, x, y, z, a);\n}\n\nexport function TransformClasses_TransformClass__rotateX_CEE3389(this$, angle) {\n return new Transform_Transform(5, angle);\n}\n\nexport function TransformClasses_TransformClass__rotateY_CEE3389(this$, angle) {\n return new Transform_Transform(6, angle);\n}\n\nexport function TransformClasses_TransformClass__rotateZ_CEE3389(this$, angle) {\n return new Transform_Transform(7, angle);\n}\n\nexport function TransformClasses_TransformClass__translate_Z498FEB3B(this$, length) {\n return new Transform_Transform(8, length);\n}\n\nexport function TransformClasses_TransformClass__translate_3202B9A0(this$, a, b) {\n return new Transform_Transform(9, a, b);\n}\n\nexport function TransformClasses_TransformClass__translate3D_Z3BD6069B(this$, a, b, c) {\n return new Transform_Transform(10, a, b, c);\n}\n\nexport function TransformClasses_TransformClass__translateX_Z498FEB3B(this$, length) {\n return new Transform_Transform(11, length);\n}\n\nexport function TransformClasses_TransformClass__translateY_Z498FEB3B(this$, length) {\n return new Transform_Transform(12, length);\n}\n\nexport function TransformClasses_TransformClass__translateZ_Z498FEB3B(this$, length) {\n return new Transform_Transform(13, length);\n}\n\nexport function TransformClasses_TransformClass__scale_5E38073B(this$, scale) {\n return new Transform_Transform(14, scale);\n}\n\nexport function TransformClasses_TransformClass__scale_7B00E9A0(this$, a, b) {\n return new Transform_Transform(15, a, b);\n}\n\nexport function TransformClasses_TransformClass__scale3D_Z7AD9E565(this$, a, b, c) {\n return new Transform_Transform(16, a, b, c);\n}\n\nexport function TransformClasses_TransformClass__scaleX_5E38073B(this$, scale) {\n return new Transform_Transform(17, scale);\n}\n\nexport function TransformClasses_TransformClass__scaleY_5E38073B(this$, scale) {\n return new Transform_Transform(18, scale);\n}\n\nexport function TransformClasses_TransformClass__scaleZ_5E38073B(this$, scale) {\n return new Transform_Transform(19, scale);\n}\n\nexport function TransformClasses_TransformClass__skew_CEE3389(this$, angle) {\n return new Transform_Transform(20, angle);\n}\n\nexport function TransformClasses_TransformClass__skew_Z59A568E0(this$, a, b) {\n return new Transform_Transform(21, a, b);\n}\n\nexport function TransformClasses_TransformClass__skewX_CEE3389(this$, angle) {\n return new Transform_Transform(22, angle);\n}\n\nexport function TransformClasses_TransformClass__skewY_CEE3389(this$, angle) {\n return new Transform_Transform(23, angle);\n}\n\nexport class TransformClasses_TransformOrigin extends unitHelpers_CssRuleWithLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function TransformClasses_TransformOrigin$reflection() {\n return class_type(\"Fss.Types.TransformClasses.TransformOrigin\", void 0, TransformClasses_TransformOrigin, unitHelpers_CssRuleWithLength$reflection());\n}\n\nexport function TransformClasses_TransformOrigin_$ctor_Z207A3CFB(property) {\n return new TransformClasses_TransformOrigin(property);\n}\n\nexport function TransformClasses_TransformOrigin__value_3202B9A0(this$, x, y) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__value_Z3BD6069B(this$, x, y, z) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)} ${unitHelpers_lengthPercentageString(z)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__get_top(this$) {\n const tupledArg = [this$.property_2, new Transform_Origin(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__get_left(this$) {\n const tupledArg = [this$.property_2, new Transform_Origin(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__get_right(this$) {\n const tupledArg = [this$.property_2, new Transform_Origin(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__get_bottom(this$) {\n const tupledArg = [this$.property_2, new Transform_Origin(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformOrigin__get_center(this$) {\n const tupledArg = [this$.property_2, new Transform_Origin(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TransformClasses_TransformStyle extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TransformClasses_TransformStyle$reflection() {\n return class_type(\"Fss.Types.TransformClasses.TransformStyle\", void 0, TransformClasses_TransformStyle, CssRule$reflection());\n}\n\nexport function TransformClasses_TransformStyle_$ctor_Z207A3CFB(property) {\n return new TransformClasses_TransformStyle(property);\n}\n\nexport function TransformClasses_TransformStyle__get_flat(this$) {\n const tupledArg = [this$.property_1, new Transform_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransformClasses_TransformStyle__get_preserve3d(this$) {\n const tupledArg = [this$.property_1, new Transform_Style(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { TransformClasses_TransformClass_$ctor_Z207A3CFB, TransformClasses_TransformStyle_$ctor_Z207A3CFB, TransformClasses_TransformOrigin_$ctor_Z207A3CFB } from \"../Types/Transform.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const TransformOrigin = TransformClasses_TransformOrigin_$ctor_Z207A3CFB(new Property_CssProperty(285));\n\nexport const TransformStyle = TransformClasses_TransformStyle_$ctor_Z207A3CFB(new Property_CssProperty(286));\n\nexport const Transform = TransformClasses_TransformClass_$ctor_Z207A3CFB(new Property_CssProperty(284));\n\n","import { toString, Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { list_type, tuple_type, class_type, string_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithAuto$reflection, CssRuleWithAuto, String$, CssRule$reflection, CssRule, CssRuleWithNone$reflection, CssRuleWithNone, Stringed, UrlMaster, Stringed$reflection, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { map, fold } from \"../../fable-library.3.7.17/List.js\";\nimport { Percent$reflection, Angle$reflection, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { Color_Color$reflection } from \"./Color.fs.js\";\n\nexport class Image_Side extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ClosestSide\", \"ClosestCorner\", \"FarthestSide\", \"FarthestCorner\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"closest-corner\";\n }\n case 2: {\n return \"farthest-side\";\n }\n case 3: {\n return \"farthest-corner\";\n }\n default: {\n return \"closest-side\";\n }\n }\n }\n}\n\nexport function Image_Side$reflection() {\n return union_type(\"Fss.Types.Image.Side\", [], Image_Side, () => [[], [], [], []]);\n}\n\nexport class Image_Shape extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Circle\", \"Ellipse\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"ellipse\" : \"circle\";\n }\n}\n\nexport function Image_Shape$reflection() {\n return union_type(\"Fss.Types.Image.Shape\", [], Image_Shape, () => [[], []]);\n}\n\nexport class Image_ObjectFit extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Fill\", \"Contain\", \"Cover\", \"ScaleDown\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"contain\";\n }\n case 2: {\n return \"cover\";\n }\n case 3: {\n return \"scale-down\";\n }\n default: {\n return \"fill\";\n }\n }\n }\n}\n\nexport function Image_ObjectFit$reflection() {\n return union_type(\"Fss.Types.Image.ObjectFit\", [], Image_ObjectFit, () => [[], [], [], []]);\n}\n\nexport class Image_Rendering extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CrispEdges\", \"Pixelated\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"pixelated\" : \"crisp-edges\";\n }\n}\n\nexport function Image_Rendering$reflection() {\n return union_type(\"Fss.Types.Image.Rendering\", [], Image_Rendering, () => [[], []]);\n}\n\nexport class Image_Image extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Url\", \"UrlAlt\", \"LinearGradient\", \"LinearGradients\", \"RepeatingLinearGradient\", \"RepeatingLinearGradients\", \"RadialGradient\", \"RadialGradients\", \"RepeatingRadialGradient\", \"RepeatingRadialGradients\", \"ConicGradientAngle\", \"ConicGradientPercent\", \"RepeatingConicGradientAngle\", \"RepeatingConicGradientPercent\"];\n }\n StringifyCounter() {\n const this$ = this;\n return MasterTypeHelpers_stringifyICssValue(this$);\n }\n StringifyCss() {\n const this$ = this;\n const gradientToString = (gradients) => fold((acc, tupledArg) => (`${acc}, ${MasterTypeHelpers_stringifyICssValue(tupledArg[0])} ${unitHelpers_lengthPercentageString(tupledArg[1])}`), \"\", gradients);\n const gradientAngleToString = (gradients_1) => fold((acc_1, tupledArg_1) => (`${acc_1}, ${MasterTypeHelpers_stringifyICssValue(tupledArg_1[0])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_1[1])}`), \"\", gradients_1);\n const gradientPercentToString = (gradients_2) => fold((acc_2, tupledArg_2) => (`${acc_2}, ${MasterTypeHelpers_stringifyICssValue(tupledArg_2[0])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_2[1])}`), \"\", gradients_2);\n const linearGradientToString = (tupledArg_3) => (`linear-gradient(${MasterTypeHelpers_stringifyICssValue(tupledArg_3[0])}${gradientToString(tupledArg_3[1])})`);\n const repeatingLinearGradient = (tupledArg_5) => (`repeating-linear-gradient(${MasterTypeHelpers_stringifyICssValue(tupledArg_5[0])}${gradientToString(tupledArg_5[1])})`);\n const radialGradientToString = (tupledArg_7) => {\n let copyOfStruct;\n return `radial-gradient(${((copyOfStruct = tupledArg_7[0], toString(copyOfStruct))).toLocaleLowerCase()} ${MasterTypeHelpers_stringifyICssValue(tupledArg_7[1])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_7[2])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_7[3])}${gradientToString(tupledArg_7[4])})`;\n };\n const repeatingRadialGradientToString = (tupledArg_9) => {\n let copyOfStruct_1;\n return `repeating-radial-gradient(${((copyOfStruct_1 = tupledArg_9[0], toString(copyOfStruct_1))).toLocaleLowerCase()} ${MasterTypeHelpers_stringifyICssValue(tupledArg_9[1])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_9[2])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_9[3])}${gradientToString(tupledArg_9[4])})`;\n };\n switch (this$.tag) {\n case 1: {\n return `url(${this$.fields[0]}) / ${MasterTypeHelpers_stringifyICssValue(this$.fields[1])}`;\n }\n case 2: {\n const tupledArg_15 = [this$.fields[0], this$.fields[1]];\n return linearGradientToString([tupledArg_15[0], tupledArg_15[1]]);\n }\n case 3: {\n return join(\", \", map((tupledArg_4) => linearGradientToString([tupledArg_4[0], tupledArg_4[1]]), this$.fields[0]));\n }\n case 4: {\n const tupledArg_16 = [this$.fields[0], this$.fields[1]];\n return repeatingLinearGradient([tupledArg_16[0], tupledArg_16[1]]);\n }\n case 5: {\n return join(\", \", map((tupledArg_6) => repeatingLinearGradient([tupledArg_6[0], tupledArg_6[1]]), this$.fields[0]));\n }\n case 6: {\n const tupledArg_17 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3], this$.fields[4]];\n return radialGradientToString([tupledArg_17[0], tupledArg_17[1], tupledArg_17[2], tupledArg_17[3], tupledArg_17[4]]);\n }\n case 7: {\n return join(\", \", map((tupledArg_8) => radialGradientToString([tupledArg_8[0], tupledArg_8[1], tupledArg_8[2], tupledArg_8[3], tupledArg_8[4]]), this$.fields[0]));\n }\n case 8: {\n const tupledArg_18 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3], this$.fields[4]];\n return repeatingRadialGradientToString([tupledArg_18[0], tupledArg_18[1], tupledArg_18[2], tupledArg_18[3], tupledArg_18[4]]);\n }\n case 9: {\n return join(\", \", map((tupledArg_10) => repeatingRadialGradientToString([tupledArg_10[0], tupledArg_10[1], tupledArg_10[2], tupledArg_10[3], tupledArg_10[4]]), this$.fields[0]));\n }\n case 10: {\n const tupledArg_19 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3]];\n const tupledArg_11 = [tupledArg_19[0], tupledArg_19[1], tupledArg_19[2], tupledArg_19[3]];\n return `conic-gradient(from ${MasterTypeHelpers_stringifyICssValue(tupledArg_11[0])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_11[1])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_11[2])}${gradientAngleToString(tupledArg_11[3])})`;\n }\n case 11: {\n const tupledArg_20 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3]];\n const tupledArg_12 = [tupledArg_20[0], tupledArg_20[1], tupledArg_20[2], tupledArg_20[3]];\n return `conic-gradient(from ${MasterTypeHelpers_stringifyICssValue(tupledArg_12[0])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_12[1])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_12[2])}${gradientPercentToString(tupledArg_12[3])})`;\n }\n case 12: {\n const tupledArg_21 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3]];\n const tupledArg_13 = [tupledArg_21[0], tupledArg_21[1], tupledArg_21[2], tupledArg_21[3]];\n return `repeating-conic-gradient(from ${MasterTypeHelpers_stringifyICssValue(tupledArg_13[0])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_13[1])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_13[2])}${gradientAngleToString(tupledArg_13[3])})`;\n }\n case 13: {\n const tupledArg_22 = [this$.fields[0], this$.fields[1], this$.fields[2], this$.fields[3]];\n const tupledArg_14 = [tupledArg_22[0], tupledArg_22[1], tupledArg_22[2], tupledArg_22[3]];\n return `repeating-conic-gradient(from ${MasterTypeHelpers_stringifyICssValue(tupledArg_14[0])} at ${MasterTypeHelpers_stringifyICssValue(tupledArg_14[1])} ${MasterTypeHelpers_stringifyICssValue(tupledArg_14[2])}${gradientPercentToString(tupledArg_14[3])})`;\n }\n default: {\n return `url(${this$.fields[0]})`;\n }\n }\n }\n}\n\nexport function Image_Image$reflection() {\n return union_type(\"Fss.Types.Image.Image\", [], Image_Image, () => [[[\"Item\", string_type]], [[\"Item1\", string_type], [\"Item2\", Stringed$reflection()]], [[\"Item1\", Angle$reflection()], [\"Item2\", list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))]], [[\"Item\", list_type(tuple_type(Angle$reflection(), list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))))]], [[\"Item1\", Angle$reflection()], [\"Item2\", list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))]], [[\"Item\", list_type(tuple_type(Angle$reflection(), list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))))]], [[\"Item1\", Image_Shape$reflection()], [\"Item2\", Image_Side$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", Percent$reflection()], [\"Item5\", list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))]], [[\"Item\", list_type(tuple_type(Image_Shape$reflection(), Image_Side$reflection(), Percent$reflection(), Percent$reflection(), list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))))]], [[\"Item1\", Image_Shape$reflection()], [\"Item2\", Image_Side$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", Percent$reflection()], [\"Item5\", list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))]], [[\"Item\", list_type(tuple_type(Image_Shape$reflection(), Image_Side$reflection(), Percent$reflection(), Percent$reflection(), list_type(tuple_type(Color_Color$reflection(), class_type(\"Fss.Types.ILengthPercentage\")))))]], [[\"Item1\", Angle$reflection()], [\"Item2\", Percent$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", list_type(tuple_type(Color_Color$reflection(), Angle$reflection()))]], [[\"Item1\", Angle$reflection()], [\"Item2\", Percent$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", list_type(tuple_type(Color_Color$reflection(), Percent$reflection()))]], [[\"Item1\", Angle$reflection()], [\"Item2\", Percent$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", list_type(tuple_type(Color_Color$reflection(), Angle$reflection()))]], [[\"Item1\", Angle$reflection()], [\"Item2\", Percent$reflection()], [\"Item3\", Percent$reflection()], [\"Item4\", list_type(tuple_type(Color_Color$reflection(), Percent$reflection()))]]]);\n}\n\nexport class ImageClasses_Image {\n constructor() {\n }\n}\n\nexport function ImageClasses_Image$reflection() {\n return class_type(\"Fss.Types.ImageClasses.Image\", void 0, ImageClasses_Image);\n}\n\nexport function ImageClasses_Image_url_Z721C83C5(url) {\n return new UrlMaster(0, url);\n}\n\nexport function ImageClasses_Image_urlAlt_Z384F8060(url, alt) {\n return new Image_Image(1, url, new Stringed(0, alt));\n}\n\nexport function ImageClasses_Image_linearGradient_2BE92E00(gradients) {\n const tupledArg = gradients;\n return new Image_Image(2, tupledArg[0], tupledArg[1]);\n}\n\nexport function ImageClasses_Image_linearGradients_Z62CFBBB6(gradients) {\n return new Image_Image(3, gradients);\n}\n\nexport function ImageClasses_Image_repeatingLinearGradient_2BE92E00(gradients) {\n const tupledArg = gradients;\n return new Image_Image(4, tupledArg[0], tupledArg[1]);\n}\n\nexport function ImageClasses_Image_repeatingLinearGradients_Z62CFBBB6(gradients) {\n return new Image_Image(5, gradients);\n}\n\nexport function ImageClasses_Image_radialGradient_64449692(shape, size, x, y, gradients) {\n return new Image_Image(6, shape, size, x, y, gradients);\n}\n\nexport function ImageClasses_Image_radialGradients_544747B8(gradients) {\n return new Image_Image(7, gradients);\n}\n\nexport function ImageClasses_Image_repeatingRadialGradient_64449692(shape, size, x, y, gradients) {\n return new Image_Image(8, shape, size, x, y, gradients);\n}\n\nexport function ImageClasses_Image_conicGradient_Z516D4DFD(angle, x, y, gradients) {\n return new Image_Image(10, angle, x, y, gradients);\n}\n\nexport function ImageClasses_Image_conicGradient_C015F99(angle, x, y, gradients) {\n return new Image_Image(11, angle, x, y, gradients);\n}\n\nexport function ImageClasses_Image_repeatingConicGradient_Z516D4DFD(angle, x, y, gradients) {\n return new Image_Image(12, angle, x, y, gradients);\n}\n\nexport function ImageClasses_Image_repeatingConicGradient_C015F99(angle, x, y, gradients) {\n return new Image_Image(13, angle, x, y, gradients);\n}\n\nexport class ImageClasses_ImageClass extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function ImageClasses_ImageClass$reflection() {\n return class_type(\"Fss.Types.ImageClasses.ImageClass\", void 0, ImageClasses_ImageClass, CssRuleWithNone$reflection());\n}\n\nexport function ImageClasses_ImageClass_$ctor_Z207A3CFB(property) {\n return new ImageClasses_ImageClass(property);\n}\n\nexport function ImageClasses_ImageClass__url_Z721C83C5(this$, url) {\n const tupledArg = [this$.property_2, ImageClasses_Image_url_Z721C83C5(url)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__url_Z384F8060(this$, url, alt) {\n const tupledArg = [this$.property_2, ImageClasses_Image_urlAlt_Z384F8060(url, alt)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__linearGradient_2BE92E00(this$, gradients) {\n const tupledArg = [this$.property_2, ImageClasses_Image_linearGradient_2BE92E00(gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__linearGradients_Z62CFBBB6(this$, gradients) {\n const tupledArg = [this$.property_2, ImageClasses_Image_linearGradients_Z62CFBBB6(gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__repeatingLinearGradient_2BE92E00(this$, gradients) {\n let tupledArg;\n const tupledArg_1 = [this$.property_2, (tupledArg = gradients, new Image_Image(4, tupledArg[0], tupledArg[1]))];\n return [tupledArg_1[0], tupledArg_1[1]];\n}\n\nexport function ImageClasses_ImageClass__repeatingLinearGradients_Z62CFBBB6(this$, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(5, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__radialGradient_64449692(this$, shape, size, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(6, shape, size, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__radialGradients_544747B8(this$, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(7, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__repeatingRadialGradient_64449692(this$, shape, size, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(8, shape, size, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__conicGradient_Z516D4DFD(this$, angle, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(10, angle, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__conicGradient_C015F99(this$, angle, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(11, angle, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__repeatingConicGradient_Z516D4DFD(this$, angle, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(12, angle, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageClass__repeatingConicGradient_C015F99(this$, angle, x, y, gradients) {\n const tupledArg = [this$.property_2, new Image_Image(13, angle, x, y, gradients)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class ImageClasses_ObjectFit extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function ImageClasses_ObjectFit$reflection() {\n return class_type(\"Fss.Types.ImageClasses.ObjectFit\", void 0, ImageClasses_ObjectFit, CssRuleWithNone$reflection());\n}\n\nexport function ImageClasses_ObjectFit_$ctor_Z207A3CFB(property) {\n return new ImageClasses_ObjectFit(property);\n}\n\nexport function ImageClasses_ObjectFit__get_fill(this$) {\n const tupledArg = [this$.property_2, new Image_ObjectFit(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ObjectFit__get_contain(this$) {\n const tupledArg = [this$.property_2, new Image_ObjectFit(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ObjectFit__get_cover(this$) {\n const tupledArg = [this$.property_2, new Image_ObjectFit(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ObjectFit__get_scaleDown(this$) {\n const tupledArg = [this$.property_2, new Image_ObjectFit(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class ImageClasses_ObjectPosition extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function ImageClasses_ObjectPosition$reflection() {\n return class_type(\"Fss.Types.ImageClasses.ObjectPosition\", void 0, ImageClasses_ObjectPosition, CssRule$reflection());\n}\n\nexport function ImageClasses_ObjectPosition_$ctor_Z207A3CFB(property) {\n return new ImageClasses_ObjectPosition(property);\n}\n\nexport function ImageClasses_ObjectPosition__value_3202B9A0(this$, x, y) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class ImageClasses_ImageRendering extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function ImageClasses_ImageRendering$reflection() {\n return class_type(\"Fss.Types.ImageClasses.ImageRendering\", void 0, ImageClasses_ImageRendering, CssRuleWithAuto$reflection());\n}\n\nexport function ImageClasses_ImageRendering_$ctor_Z207A3CFB(property) {\n return new ImageClasses_ImageRendering(property);\n}\n\nexport function ImageClasses_ImageRendering__get_crispEdges(this$) {\n const tupledArg = [this$.property_2, new Image_Rendering(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ImageClasses_ImageRendering__get_pixelated(this$) {\n const tupledArg = [this$.property_2, new Image_Rendering(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { ImageClasses_ImageClass$reflection, ImageClasses_ImageClass } from \"./Image.fs.js\";\nimport { Normal, MasterTypeHelpers_stringifyICssValue, String$, Stringed } from \"./MasterTypes.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { zip, map } from \"../../fable-library.3.7.17/List.js\";\n\nexport class Content_Content extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"OpenQuote\", \"CloseQuote\", \"NoOpenQuote\", \"NoCloseQuote\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"close-quote\";\n }\n case 2: {\n return \"no-open-quote\";\n }\n case 3: {\n return \"no-close-quote\";\n }\n default: {\n return \"open-quote\";\n }\n }\n }\n}\n\nexport function Content_Content$reflection() {\n return union_type(\"Fss.Types.Content.Content\", [], Content_Content, () => [[], [], [], []]);\n}\n\nexport class ContentClasses_Content extends ImageClasses_ImageClass {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function ContentClasses_Content$reflection() {\n return class_type(\"Fss.Types.ContentClasses.Content\", void 0, ContentClasses_Content, ImageClasses_ImageClass$reflection());\n}\n\nexport function ContentClasses_Content_$ctor_Z207A3CFB(property) {\n return new ContentClasses_Content(property);\n}\n\nexport function ContentClasses_Content__value_Z721C83C5(this$, value) {\n const tupledArg = [this$.property_3, new Stringed(0, value)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__counter_Z721C83C5(this$, counter) {\n const tupledArg = [this$.property_3, new String$(0, `counter(${counter})`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__counter_Z384F8060(this$, counter, separator) {\n const tupledArg = [this$.property_3, new String$(0, `counter(${counter})\"${separator}\"`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__counter_6AFA63E0(this$, counters, separators) {\n const tupledArg_1 = [this$.property_3, new String$(0, join(\"\", map((tupledArg) => (`counter(${tupledArg[0]})${tupledArg[1]}`), zip(counters, map((s) => (`\"${s}\"`), separators)))))];\n return [tupledArg_1[0], tupledArg_1[1]];\n}\n\nexport function ContentClasses_Content__attribute_Z2EEF341A(this$, attribute) {\n const tupledArg = [this$.property_3, new String$(0, `attr(${MasterTypeHelpers_stringifyICssValue(attribute)})`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__get_normal(this$) {\n const tupledArg = [this$.property_3, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__get_openQuote(this$) {\n const tupledArg = [this$.property_3, new Content_Content(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__get_closeQuote(this$) {\n const tupledArg = [this$.property_3, new Content_Content(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__get_noOpenQuote(this$) {\n const tupledArg = [this$.property_3, new Content_Content(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function ContentClasses_Content__get_noCloseQuote(this$) {\n const tupledArg = [this$.property_3, new Content_Content(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { ContentClasses_Content_$ctor_Z207A3CFB } from \"../Types/Content.fs.js\";\nimport { NameLabel, Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\nimport { replace } from \"../../fable-library.3.7.17/String.js\";\n\nexport const ContentCss_Content = ContentClasses_Content_$ctor_Z207A3CFB(new Property_CssProperty(84));\n\nexport function Label_Label(label) {\n const tupledArg = [new Property_CssProperty(391), new NameLabel(0, replace(label, \" \", \"\"))];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { CustomMaster, Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport function Custom(key, value) {\n const tupledArg = [new Property_CssProperty(396, key), new CustomMaster(0, value)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithAuto$reflection, CssRuleWithAuto, Normal, Auto, CssRuleWithValueFunctions$1$reflection, CssRuleWithValueFunctions$1, String$, MasterTypeHelpers_stringifyICssValue, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\nimport { unitHelpers_lengthPercentageString, unitHelpers_lengthPercentageToType } from \"./Units.fs.js\";\nimport { ColorClass_Color$reflection, ColorClass_Color } from \"./Color.fs.js\";\nimport { ImageClasses_ImageClass$reflection, ImageClasses_ImageClass } from \"./Image.fs.js\";\n\nexport class Background_Clip extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"BorderBox\", \"PaddingBox\", \"ContentBox\", \"Text\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"padding-box\";\n }\n case 2: {\n return \"content-box\";\n }\n case 3: {\n return \"text\";\n }\n default: {\n return \"border-box\";\n }\n }\n }\n}\n\nexport function Background_Clip$reflection() {\n return union_type(\"Fss.Types.Background.Clip\", [], Background_Clip, () => [[], [], [], []]);\n}\n\nexport class Background_Origin extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"BorderBox\", \"PaddingBox\", \"ContentBox\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"padding-box\";\n }\n case 2: {\n return \"content-box\";\n }\n default: {\n return \"border-box\";\n }\n }\n }\n}\n\nexport function Background_Origin$reflection() {\n return union_type(\"Fss.Types.Background.Origin\", [], Background_Origin, () => [[], [], []]);\n}\n\nexport class Background_Repeat extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"RepeatX\", \"RepeatY\", \"Repeat\", \"Space\", \"Round\", \"NoRepeat\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"repeat-y\";\n }\n case 2: {\n return \"repeat\";\n }\n case 3: {\n return \"space\";\n }\n case 4: {\n return \"round\";\n }\n case 5: {\n return \"no-repeat\";\n }\n default: {\n return \"repeat-x\";\n }\n }\n }\n}\n\nexport function Background_Repeat$reflection() {\n return union_type(\"Fss.Types.Background.Repeat\", [], Background_Repeat, () => [[], [], [], [], [], []]);\n}\n\nexport class Background_Size extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Cover\", \"Contain\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"contain\" : \"cover\";\n }\n}\n\nexport function Background_Size$reflection() {\n return union_type(\"Fss.Types.Background.Size\", [], Background_Size, () => [[], []]);\n}\n\nexport class Background_Attachment extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Scroll\", \"Fixed\", \"Local\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"fixed\";\n }\n case 2: {\n return \"local\";\n }\n default: {\n return \"scroll\";\n }\n }\n }\n}\n\nexport function Background_Attachment$reflection() {\n return union_type(\"Fss.Types.Background.Attachment\", [], Background_Attachment, () => [[], [], []]);\n}\n\nexport class Background_Position extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Top\", \"Bottom\", \"Left\", \"Right\", \"Center\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"bottom\";\n }\n case 2: {\n return \"left\";\n }\n case 3: {\n return \"right\";\n }\n case 4: {\n return \"center\";\n }\n default: {\n return \"top\";\n }\n }\n }\n}\n\nexport function Background_Position$reflection() {\n return union_type(\"Fss.Types.Background.Position\", [], Background_Position, () => [[], [], [], [], []]);\n}\n\nexport class Background_BlendMode extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Multiply\", \"Screen\", \"Overlay\", \"Darken\", \"Lighten\", \"ColorDodge\", \"ColorBurn\", \"HardLight\", \"SoftLight\", \"Difference\", \"Exclusion\", \"Hue\", \"Saturation\", \"Color\", \"Luminosity\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"screen\";\n }\n case 2: {\n return \"overlay\";\n }\n case 3: {\n return \"darken\";\n }\n case 4: {\n return \"lighten\";\n }\n case 5: {\n return \"color-dodge\";\n }\n case 6: {\n return \"color-burn\";\n }\n case 7: {\n return \"hard-light\";\n }\n case 8: {\n return \"soft-light\";\n }\n case 9: {\n return \"difference\";\n }\n case 10: {\n return \"exclusion\";\n }\n case 11: {\n return \"hue\";\n }\n case 12: {\n return \"saturation\";\n }\n case 13: {\n return \"color\";\n }\n case 14: {\n return \"luminosity\";\n }\n default: {\n return \"multiply\";\n }\n }\n }\n}\n\nexport function Background_BlendMode$reflection() {\n return union_type(\"Fss.Types.Background.BlendMode\", [], Background_BlendMode, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class Background_Isolation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Isolate\"];\n }\n StringifyCss() {\n return \"isolate\";\n }\n}\n\nexport function Background_Isolation$reflection() {\n return union_type(\"Fss.Types.Background.Isolation\", [], Background_Isolation, () => [[]]);\n}\n\nexport class Background_BoxDecorationBreak extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Slice\", \"Clone\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"clone\" : \"slice\";\n }\n}\n\nexport function Background_BoxDecorationBreak$reflection() {\n return union_type(\"Fss.Types.Background.BoxDecorationBreak\", [], Background_BoxDecorationBreak, () => [[], []]);\n}\n\nexport class BackgroundClasses_BackgroundClip extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundClip$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundClip\", void 0, BackgroundClasses_BackgroundClip, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BackgroundClip_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundClip(property);\n}\n\nexport function BackgroundClasses_BackgroundClip__value_101E461E(this$, clip) {\n const tupledArg = [this$.property_1, clip];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundClip__get_borderBox(this$) {\n const tupledArg = [this$.property_1, new Background_Clip(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundClip__get_paddingBox(this$) {\n const tupledArg = [this$.property_1, new Background_Clip(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundClip__get_contentBox(this$) {\n const tupledArg = [this$.property_1, new Background_Clip(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundClip__get_text(this$) {\n const tupledArg = [this$.property_1, new Background_Clip(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundOrigin extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundOrigin$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundOrigin\", void 0, BackgroundClasses_BackgroundOrigin, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BackgroundOrigin_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundOrigin(property);\n}\n\nexport function BackgroundClasses_BackgroundOrigin__value_Z7700C944(this$, origin) {\n const tupledArg = [this$.property_1, origin];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundOrigin__get_borderBox(this$) {\n const tupledArg = [this$.property_1, new Background_Origin(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundOrigin__get_paddingBox(this$) {\n const tupledArg = [this$.property_1, new Background_Origin(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundOrigin__get_contentBox(this$) {\n const tupledArg = [this$.property_1, new Background_Origin(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundRepeat extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundRepeat$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundRepeat\", void 0, BackgroundClasses_BackgroundRepeat, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BackgroundRepeat_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundRepeat(property);\n}\n\nexport function BackgroundClasses_BackgroundRepeat__value_Z5959EF01(this$, repeat) {\n const tupledArg = [this$.property_1, repeat];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__value_Z2231DFE0(this$, vertical, horizontal) {\n const tupledArg = [this$.property_1, new String$(0, `${MasterTypeHelpers_stringifyICssValue(vertical)} ${MasterTypeHelpers_stringifyICssValue(horizontal)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_repeatX(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_repeatY(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_repeat(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_space(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_round(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundRepeat__get_noRepeat(this$) {\n const tupledArg = [this$.property_1, new Background_Repeat(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundSize extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundSize$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundSize\", void 0, BackgroundClasses_BackgroundSize, CssRuleWithValueFunctions$1$reflection(Background_Size$reflection()));\n}\n\nexport function BackgroundClasses_BackgroundSize_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundSize(property);\n}\n\nexport function BackgroundClasses_BackgroundSize__value_Z498FEB3B(this$, size) {\n const tupledArg = [this$.property_2, unitHelpers_lengthPercentageToType(size)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundSize__value_3202B9A0(this$, x, y) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundSize__get_auto(this$) {\n const tupledArg = [this$.property_2, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundSize__value_5205FE0(this$, horizontal, vertical) {\n const tupledArg = [this$.property_2, new String$(0, `${MasterTypeHelpers_stringifyICssValue(horizontal)} ${MasterTypeHelpers_stringifyICssValue(vertical)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundSize__get_cover(this$) {\n const tupledArg = [this$.property_2, new Background_Size(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundSize__get_contain(this$) {\n const tupledArg = [this$.property_2, new Background_Size(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundAttachment extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundAttachment$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundAttachment\", void 0, BackgroundClasses_BackgroundAttachment, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BackgroundAttachment_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundAttachment(property);\n}\n\nexport function BackgroundClasses_BackgroundAttachment__value_Z2FA57D4F(this$, attachment) {\n const tupledArg = [this$.property_1, attachment];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundAttachment__get_scroll(this$) {\n const tupledArg = [this$.property_1, new Background_Attachment(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundAttachment__get_fixed$0027(this$) {\n const tupledArg = [this$.property_1, new Background_Attachment(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundAttachment__get_local(this$) {\n const tupledArg = [this$.property_1, new Background_Attachment(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundColor extends ColorClass_Color {\n constructor(property) {\n super(property);\n }\n}\n\nexport function BackgroundClasses_BackgroundColor$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundColor\", void 0, BackgroundClasses_BackgroundColor, ColorClass_Color$reflection());\n}\n\nexport function BackgroundClasses_BackgroundColor_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundColor(property);\n}\n\nexport class BackgroundClasses_BackgroundImage extends ImageClasses_ImageClass {\n constructor(property) {\n super(property);\n }\n}\n\nexport function BackgroundClasses_BackgroundImage$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundImage\", void 0, BackgroundClasses_BackgroundImage, ImageClasses_ImageClass$reflection());\n}\n\nexport function BackgroundClasses_BackgroundImage_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundImage(property);\n}\n\nexport class BackgroundClasses_BackgroundPosition extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundPosition$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundPosition\", void 0, BackgroundClasses_BackgroundPosition, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BackgroundPosition_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundPosition(property);\n}\n\nexport function BackgroundClasses_BackgroundPosition__value_Z498FEB3B(this$, position) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(position)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__value_3202B9A0(this$, x, y) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__value_Z3BD6069B(this$, x, y, offset) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)} ${unitHelpers_lengthPercentageString(offset)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__value_ZE6CD40(this$, x, y, xOffset, yOffset) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(x)} ${unitHelpers_lengthPercentageString(y)} ${unitHelpers_lengthPercentageString(xOffset)} ${unitHelpers_lengthPercentageString(yOffset)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__get_top(this$) {\n const tupledArg = [this$.property_1, new String$(0, \"top\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__get_bottom(this$) {\n const tupledArg = [this$.property_1, new String$(0, \"bottom\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__get_left(this$) {\n const tupledArg = [this$.property_1, new String$(0, \"left\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__get_right(this$) {\n const tupledArg = [this$.property_1, new String$(0, \"right\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundPosition__get_center(this$) {\n const tupledArg = [this$.property_1, new String$(0, \"center\")];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BackgroundBlendMode extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function BackgroundClasses_BackgroundBlendMode$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BackgroundBlendMode\", void 0, BackgroundClasses_BackgroundBlendMode, CssRuleWithValueFunctions$1$reflection(Background_BlendMode$reflection()));\n}\n\nexport function BackgroundClasses_BackgroundBlendMode_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BackgroundBlendMode(property);\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_multiply(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_screen(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_overlay(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_darken(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_lighten(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_colorDodge(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_colorBurn(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_hardLight(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_softLight(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_difference(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_exclusion(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_hue(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_saturation(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_color(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BackgroundBlendMode__get_luminosity(this$) {\n const tupledArg = [this$.property_2, new Background_BlendMode(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_Isolation extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BackgroundClasses_Isolation$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.Isolation\", void 0, BackgroundClasses_Isolation, CssRuleWithAuto$reflection());\n}\n\nexport function BackgroundClasses_Isolation_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_Isolation(property);\n}\n\nexport function BackgroundClasses_Isolation__value_Z127CA194(this$, isolation) {\n const tupledArg = [this$.property_2, isolation];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_Isolation__get_isolate(this$) {\n const tupledArg = [this$.property_2, new Background_Isolation(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BackgroundClasses_BoxDecorationBreak extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BackgroundClasses_BoxDecorationBreak$reflection() {\n return class_type(\"Fss.Types.BackgroundClasses.BoxDecorationBreak\", void 0, BackgroundClasses_BoxDecorationBreak, CssRule$reflection());\n}\n\nexport function BackgroundClasses_BoxDecorationBreak_$ctor_Z207A3CFB(property) {\n return new BackgroundClasses_BoxDecorationBreak(property);\n}\n\nexport function BackgroundClasses_BoxDecorationBreak__value_Z18D60A0(this$, decorationBreak) {\n const tupledArg = [this$.property_1, decorationBreak];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BoxDecorationBreak__get_slice(this$) {\n const tupledArg = [this$.property_1, new Background_BoxDecorationBreak(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BackgroundClasses_BoxDecorationBreak__get_clone(this$) {\n const tupledArg = [this$.property_1, new Background_BoxDecorationBreak(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { BackgroundClasses_BoxDecorationBreak_$ctor_Z207A3CFB, BackgroundClasses_Isolation_$ctor_Z207A3CFB, BackgroundClasses_BackgroundBlendMode_$ctor_Z207A3CFB, BackgroundClasses_BackgroundPosition_$ctor_Z207A3CFB, BackgroundClasses_BackgroundImage_$ctor_Z207A3CFB, BackgroundClasses_BackgroundColor_$ctor_Z207A3CFB, BackgroundClasses_BackgroundAttachment_$ctor_Z207A3CFB, BackgroundClasses_BackgroundSize_$ctor_Z207A3CFB, BackgroundClasses_BackgroundRepeat_$ctor_Z207A3CFB, BackgroundClasses_BackgroundOrigin_$ctor_Z207A3CFB, BackgroundClasses_BackgroundClip_$ctor_Z207A3CFB } from \"../Types/Background.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const BackgroundClip = BackgroundClasses_BackgroundClip_$ctor_Z207A3CFB(new Property_CssProperty(17));\n\nexport const BackgroundOrigin = BackgroundClasses_BackgroundOrigin_$ctor_Z207A3CFB(new Property_CssProperty(20));\n\nexport const BackgroundRepeat = BackgroundClasses_BackgroundRepeat_$ctor_Z207A3CFB(new Property_CssProperty(22));\n\nexport const BackgroundSize = BackgroundClasses_BackgroundSize_$ctor_Z207A3CFB(new Property_CssProperty(23));\n\nexport const BackgroundAttachment = BackgroundClasses_BackgroundAttachment_$ctor_Z207A3CFB(new Property_CssProperty(15));\n\nexport const BackgroundColor = BackgroundClasses_BackgroundColor_$ctor_Z207A3CFB(new Property_CssProperty(18));\n\nexport const BackgroundImage = BackgroundClasses_BackgroundImage_$ctor_Z207A3CFB(new Property_CssProperty(19));\n\nexport const BackgroundPosition = BackgroundClasses_BackgroundPosition_$ctor_Z207A3CFB(new Property_CssProperty(21));\n\nexport const BackgroundBlendMode = BackgroundClasses_BackgroundBlendMode_$ctor_Z207A3CFB(new Property_CssProperty(16));\n\nexport const Isolation = BackgroundClasses_Isolation_$ctor_Z207A3CFB(new Property_CssProperty(146));\n\nexport const BoxDecorationBreak = BackgroundClasses_BoxDecorationBreak_$ctor_Z207A3CFB(new Property_CssProperty(61));\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { ColorClass_Color$reflection, ColorClass_Color } from \"./Color.fs.js\";\nimport { unitHelpers_lengthPercentageString, unitHelpers_lengthPercentageToType, unitHelpers_DirectionalLength$reflection, unitHelpers_DirectionalLength } from \"./Units.fs.js\";\nimport { None$0027, Auto, Float, MasterTypeHelpers_stringifyICssValue, String$, CssRule$reflection, CssRule, CssRuleWithNone$reflection, CssRuleWithNone } from \"./MasterTypes.fs.js\";\n\nexport class Border_Width extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Thin\", \"Medium\", \"Thick\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"medium\";\n }\n case 2: {\n return \"thick\";\n }\n default: {\n return \"thin\";\n }\n }\n }\n}\n\nexport function Border_Width$reflection() {\n return union_type(\"Fss.Types.Border.Width\", [], Border_Width, () => [[], [], []]);\n}\n\nexport class Border_Style extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Hidden\", \"Dotted\", \"Dashed\", \"Solid\", \"Double\", \"Groove\", \"Ridge\", \"Inset\", \"Outset\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"dotted\";\n }\n case 2: {\n return \"dashed\";\n }\n case 3: {\n return \"solid\";\n }\n case 4: {\n return \"double\";\n }\n case 5: {\n return \"groove\";\n }\n case 6: {\n return \"ridge\";\n }\n case 7: {\n return \"inset\";\n }\n case 8: {\n return \"outset\";\n }\n default: {\n return \"hidden\";\n }\n }\n }\n}\n\nexport function Border_Style$reflection() {\n return union_type(\"Fss.Types.Border.Style\", [], Border_Style, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport class Border_Collapse extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Collapse\", \"Separate\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"separate\" : \"collapse\";\n }\n}\n\nexport function Border_Collapse$reflection() {\n return union_type(\"Fss.Types.Border.Collapse\", [], Border_Collapse, () => [[], []]);\n}\n\nexport class Border_ImageRepeat extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Stretch\", \"Repeat\", \"Round\", \"Space\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"repeat\";\n }\n case 2: {\n return \"round\";\n }\n case 3: {\n return \"space\";\n }\n default: {\n return \"stretch\";\n }\n }\n }\n}\n\nexport function Border_ImageRepeat$reflection() {\n return union_type(\"Fss.Types.Border.ImageRepeat\", [], Border_ImageRepeat, () => [[], [], [], []]);\n}\n\nexport class BorderClasses_BorderColorParent extends ColorClass_Color {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BorderClasses_BorderColorParent$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderColorParent\", void 0, BorderClasses_BorderColorParent, ColorClass_Color$reflection());\n}\n\nexport function BorderClasses_BorderColorParent_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderColorParent(property);\n}\n\nexport function BorderClasses_BorderColorParent__value_11789E6(this$, color) {\n const tupledArg = [this$.property_2, color];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderWidthParent extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BorderClasses_BorderWidthParent$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderWidthParent\", void 0, BorderClasses_BorderWidthParent, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function BorderClasses_BorderWidthParent_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderWidthParent(property);\n}\n\nexport function BorderClasses_BorderWidthParent__value_Z21899574(this$, width) {\n const tupledArg = [this$.property_2, width];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderWidthParent__get_thin(this$) {\n const tupledArg = [this$.property_2, new Border_Width(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderWidthParent__get_medium(this$) {\n const tupledArg = [this$.property_2, new Border_Width(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderWidthParent__get_thick(this$) {\n const tupledArg = [this$.property_2, new Border_Width(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderStyleParent extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BorderClasses_BorderStyleParent$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderStyleParent\", void 0, BorderClasses_BorderStyleParent, CssRuleWithNone$reflection());\n}\n\nexport function BorderClasses_BorderStyleParent_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderStyleParent(property);\n}\n\nexport function BorderClasses_BorderStyleParent__value_Z21D05303(this$, style) {\n const tupledArg = [this$.property_2, style];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_hidden(this$) {\n const tupledArg = [this$.property_2, new Border_Style(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_dotted(this$) {\n const tupledArg = [this$.property_2, new Border_Style(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_dashed(this$) {\n const tupledArg = [this$.property_2, new Border_Style(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_solid(this$) {\n const tupledArg = [this$.property_2, new Border_Style(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_double(this$) {\n const tupledArg = [this$.property_2, new Border_Style(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_groove(this$) {\n const tupledArg = [this$.property_2, new Border_Style(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_ridge(this$) {\n const tupledArg = [this$.property_2, new Border_Style(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_inset(this$) {\n const tupledArg = [this$.property_2, new Border_Style(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyleParent__get_outset(this$) {\n const tupledArg = [this$.property_2, new Border_Style(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderRadiusParent extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_BorderRadiusParent$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderRadiusParent\", void 0, BorderClasses_BorderRadiusParent, CssRule$reflection());\n}\n\nexport function BorderClasses_BorderRadiusParent_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderRadiusParent(property);\n}\n\nexport function BorderClasses_BorderRadiusParent__value_Z498FEB3B(this$, radius) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(radius)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderWidth extends BorderClasses_BorderWidthParent {\n constructor(property) {\n super(property);\n }\n}\n\nexport function BorderClasses_BorderWidth$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderWidth\", void 0, BorderClasses_BorderWidth, BorderClasses_BorderWidthParent$reflection());\n}\n\nexport function BorderClasses_BorderWidth_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderWidth(property);\n}\n\nexport class BorderClasses_BorderRadius extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n }\n}\n\nexport function BorderClasses_BorderRadius$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderRadius\", void 0, BorderClasses_BorderRadius, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function BorderClasses_BorderRadius_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderRadius(property);\n}\n\nexport class BorderClasses_BorderRadiusEdge extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_BorderRadiusEdge$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderRadiusEdge\", void 0, BorderClasses_BorderRadiusEdge, CssRule$reflection());\n}\n\nexport function BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderRadiusEdge(property);\n}\n\nexport function BorderClasses_BorderRadiusEdge__value_Z498FEB3B(this$, radiusEdge) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(radiusEdge)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderRadiusEdge__value_3202B9A0(this$, horizontal, vertical) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(horizontal)} ${unitHelpers_lengthPercentageString(vertical)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderStyle extends BorderClasses_BorderStyleParent {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function BorderClasses_BorderStyle$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderStyle\", void 0, BorderClasses_BorderStyle, BorderClasses_BorderStyleParent$reflection());\n}\n\nexport function BorderClasses_BorderStyle_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderStyle(property);\n}\n\nexport function BorderClasses_BorderStyle__value_7A0AE060(this$, topAndBottom, leftAndRight) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(topAndBottom)} ${MasterTypeHelpers_stringifyICssValue(leftAndRight)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyle__value_6549409D(this$, top, leftAndRight, bottom) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(top)} ${MasterTypeHelpers_stringifyICssValue(leftAndRight)} ${MasterTypeHelpers_stringifyICssValue(bottom)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderStyle__value_Z2FA10740(this$, top, right, bottom, left) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(top)} ${MasterTypeHelpers_stringifyICssValue(right)} ${MasterTypeHelpers_stringifyICssValue(bottom)} ${MasterTypeHelpers_stringifyICssValue(left)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderCollapse extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_BorderCollapse$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderCollapse\", void 0, BorderClasses_BorderCollapse, CssRule$reflection());\n}\n\nexport function BorderClasses_BorderCollapse_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderCollapse(property);\n}\n\nexport function BorderClasses_BorderCollapse__value_Z5C12C4DF(this$, collapse) {\n const tupledArg = [this$.property_1, collapse];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderCollapse__get_collapse(this$) {\n const tupledArg = [this$.property_1, new Border_Collapse(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderCollapse__get_separate(this$) {\n const tupledArg = [this$.property_1, new Border_Collapse(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderImageOutset extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BorderClasses_BorderImageOutset$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderImageOutset\", void 0, BorderClasses_BorderImageOutset, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function BorderClasses_BorderImageOutset_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderImageOutset(property);\n}\n\nexport function BorderClasses_BorderImageOutset__value_5E38073B(this$, imageOutset) {\n const tupledArg = [this$.property_2, new Float(0, imageOutset)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageOutset__value_7B00E9A0(this$, vertical, horizontal) {\n const tupledArg = [this$.property_2, new String$(0, `${vertical} ${horizontal}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderImageRepeat extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_BorderImageRepeat$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderImageRepeat\", void 0, BorderClasses_BorderImageRepeat, CssRule$reflection());\n}\n\nexport function BorderClasses_BorderImageRepeat_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderImageRepeat(property);\n}\n\nexport function BorderClasses_BorderImageRepeat__value_1D8A297A(this$, imageRepeat) {\n const tupledArg = [this$.property_1, imageRepeat];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageRepeat__value_Z2CBA8E40(this$, vertical, horizontal) {\n const tupledArg = [this$.property_1, new String$(0, `${MasterTypeHelpers_stringifyICssValue(vertical)} ${MasterTypeHelpers_stringifyICssValue(horizontal)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageRepeat__get_stretch(this$) {\n const tupledArg = [this$.property_1, new Border_ImageRepeat(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageRepeat__get_repeat(this$) {\n const tupledArg = [this$.property_1, new Border_ImageRepeat(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageRepeat__get_round(this$) {\n const tupledArg = [this$.property_1, new Border_ImageRepeat(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageRepeat__get_space(this$) {\n const tupledArg = [this$.property_1, new Border_ImageRepeat(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderImageSlice extends unitHelpers_DirectionalLength {\n constructor(Property) {\n super(Property);\n }\n}\n\nexport function BorderClasses_BorderImageSlice$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderImageSlice\", void 0, BorderClasses_BorderImageSlice, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function BorderClasses_BorderImageSlice_$ctor_Z207A3CFB(Property) {\n return new BorderClasses_BorderImageSlice(Property);\n}\n\nexport class BorderClasses_BorderColor extends BorderClasses_BorderColorParent {\n constructor(property) {\n super(property);\n this.property_3 = property;\n }\n}\n\nexport function BorderClasses_BorderColor$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderColor\", void 0, BorderClasses_BorderColor, BorderClasses_BorderColorParent$reflection());\n}\n\nexport function BorderClasses_BorderColor_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderColor(property);\n}\n\nexport function BorderClasses_BorderColor__value_251F4F40(this$, vertical, horizontal) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(vertical)} ${MasterTypeHelpers_stringifyICssValue(horizontal)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderColor__value_Z37E1415A(this$, top, horizontal, bottom) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(top)} ${MasterTypeHelpers_stringifyICssValue(horizontal)} ${MasterTypeHelpers_stringifyICssValue(bottom)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderColor__value_Z351EE580(this$, top, right, bottom, left) {\n const tupledArg = [this$.property_3, new String$(0, `${MasterTypeHelpers_stringifyICssValue(top)} ${MasterTypeHelpers_stringifyICssValue(right)} ${MasterTypeHelpers_stringifyICssValue(bottom)} ${MasterTypeHelpers_stringifyICssValue(left)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderSpacing extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_BorderSpacing$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderSpacing\", void 0, BorderClasses_BorderSpacing, CssRule$reflection());\n}\n\nexport function BorderClasses_BorderSpacing_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderSpacing(property);\n}\n\nexport function BorderClasses_BorderSpacing__value_Z498FEB3B(this$, spacing) {\n const tupledArg = [this$.property_1, unitHelpers_lengthPercentageToType(spacing)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderSpacing__value_3202B9A0(this$, horizontal, vertical) {\n const tupledArg = [this$.property_1, new String$(0, `${unitHelpers_lengthPercentageString(horizontal)} ${unitHelpers_lengthPercentageString(vertical)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_BorderImageWidth extends unitHelpers_DirectionalLength {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BorderClasses_BorderImageWidth$reflection() {\n return class_type(\"Fss.Types.BorderClasses.BorderImageWidth\", void 0, BorderClasses_BorderImageWidth, unitHelpers_DirectionalLength$reflection());\n}\n\nexport function BorderClasses_BorderImageWidth_$ctor_Z207A3CFB(property) {\n return new BorderClasses_BorderImageWidth(property);\n}\n\nexport function BorderClasses_BorderImageWidth__value_5E38073B(this$, imageWidth) {\n const tupledArg = [this$.property_2, new Float(0, imageWidth)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageWidth__value_3202B9A0(this$, vertical, horizontal) {\n const tupledArg = [this$.property_2, new String$(0, `${unitHelpers_lengthPercentageString(vertical)} ${unitHelpers_lengthPercentageString(horizontal)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_BorderImageWidth__get_auto(this$) {\n const tupledArg = [this$.property_2, new Auto(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class BorderClasses_Border extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function BorderClasses_Border$reflection() {\n return class_type(\"Fss.Types.BorderClasses.Border\", void 0, BorderClasses_Border, CssRule$reflection());\n}\n\nexport function BorderClasses_Border_$ctor_Z207A3CFB(property) {\n return new BorderClasses_Border(property);\n}\n\nexport function BorderClasses_Border__value_D272445(this$, border) {\n const tupledArg = [this$.property_1, border];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BorderClasses_Border__get_none(this$) {\n const tupledArg = [this$.property_1, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { BorderClasses_Border_$ctor_Z207A3CFB, BorderClasses_BorderImageWidth_$ctor_Z207A3CFB, BorderClasses_BorderSpacing_$ctor_Z207A3CFB, BorderClasses_BorderColorParent_$ctor_Z207A3CFB, BorderClasses_BorderColor_$ctor_Z207A3CFB, BorderClasses_BorderImageSlice_$ctor_Z207A3CFB, BorderClasses_BorderImageRepeat_$ctor_Z207A3CFB, BorderClasses_BorderImageOutset_$ctor_Z207A3CFB, BorderClasses_BorderCollapse_$ctor_Z207A3CFB, BorderClasses_BorderStyleParent_$ctor_Z207A3CFB, BorderClasses_BorderStyle_$ctor_Z207A3CFB, BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB, BorderClasses_BorderRadius_$ctor_Z207A3CFB, BorderClasses_BorderWidthParent_$ctor_Z207A3CFB, BorderClasses_BorderWidth_$ctor_Z207A3CFB } from \"../Types/Border.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\nimport { ImageClasses_ImageClass_$ctor_Z207A3CFB } from \"../Types/Image.fs.js\";\n\nexport const BorderWidth = BorderClasses_BorderWidth_$ctor_Z207A3CFB(new Property_CssProperty(58));\n\nexport const BorderTopWidth = BorderClasses_BorderWidthParent_$ctor_Z207A3CFB(new Property_CssProperty(56));\n\nexport const BorderRightWidth = BorderClasses_BorderWidthParent_$ctor_Z207A3CFB(new Property_CssProperty(48));\n\nexport const BorderBottomWidth = BorderClasses_BorderWidthParent_$ctor_Z207A3CFB(new Property_CssProperty(31));\n\nexport const BorderLeftWidth = BorderClasses_BorderWidthParent_$ctor_Z207A3CFB(new Property_CssProperty(43));\n\nexport const BorderRadius = BorderClasses_BorderRadius_$ctor_Z207A3CFB(new Property_CssProperty(45));\n\nexport const BorderTopLeftRadius = BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB(new Property_CssProperty(53));\n\nexport const BorderTopRightRadius = BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB(new Property_CssProperty(54));\n\nexport const BorderBottomRightRadius = BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB(new Property_CssProperty(29));\n\nexport const BorderBottomLeftRadius = BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB(new Property_CssProperty(28));\n\nexport const BorderStyle = BorderClasses_BorderStyle_$ctor_Z207A3CFB(new Property_CssProperty(51));\n\nexport const BorderTopStyle = BorderClasses_BorderStyleParent_$ctor_Z207A3CFB(new Property_CssProperty(55));\n\nexport const BorderRightStyle = BorderClasses_BorderStyleParent_$ctor_Z207A3CFB(new Property_CssProperty(47));\n\nexport const BorderBottomStyle = BorderClasses_BorderStyleParent_$ctor_Z207A3CFB(new Property_CssProperty(30));\n\nexport const BorderLeftStyle = BorderClasses_BorderStyleParent_$ctor_Z207A3CFB(new Property_CssProperty(42));\n\nexport const BorderCollapse = BorderClasses_BorderCollapse_$ctor_Z207A3CFB(new Property_CssProperty(33));\n\nexport const BorderImageOutset = BorderClasses_BorderImageOutset_$ctor_Z207A3CFB(new Property_CssProperty(36));\n\nexport const BorderImageRepeat = BorderClasses_BorderImageRepeat_$ctor_Z207A3CFB(new Property_CssProperty(37));\n\nexport const BorderImageSlice = BorderClasses_BorderImageSlice_$ctor_Z207A3CFB(new Property_CssProperty(39));\n\nexport const BorderColor = BorderClasses_BorderColor_$ctor_Z207A3CFB(new Property_CssProperty(34));\n\nexport const BorderTopColor = BorderClasses_BorderColorParent_$ctor_Z207A3CFB(new Property_CssProperty(52));\n\nexport const BorderRightColor = BorderClasses_BorderColorParent_$ctor_Z207A3CFB(new Property_CssProperty(46));\n\nexport const BorderBottomColor = BorderClasses_BorderColorParent_$ctor_Z207A3CFB(new Property_CssProperty(27));\n\nexport const BorderLeftColor = BorderClasses_BorderColorParent_$ctor_Z207A3CFB(new Property_CssProperty(41));\n\nexport const BorderSpacing = BorderClasses_BorderSpacing_$ctor_Z207A3CFB(new Property_CssProperty(50));\n\nexport const BorderImageWidth = BorderClasses_BorderImageWidth_$ctor_Z207A3CFB(new Property_CssProperty(40));\n\nexport const BorderImageSource = ImageClasses_ImageClass_$ctor_Z207A3CFB(new Property_CssProperty(38));\n\nexport const Border = BorderClasses_Border_$ctor_Z207A3CFB(new Property_CssProperty(26));\n\n","import { PseudoClassClasses_PseudoClass_userInvalid_72C268A9, PseudoClassClasses_PseudoClass_firstChild_72C268A9, PseudoClassClasses_PseudoClass_visited_72C268A9, PseudoClassClasses_PseudoClass_valid_72C268A9, PseudoClassClasses_PseudoClass_targetWithin_72C268A9, PseudoClassClasses_PseudoClass_target_72C268A9, PseudoClassClasses_PseudoClass_scope_72C268A9, PseudoClassClasses_PseudoClass_root_72C268A9, PseudoClassClasses_PseudoClass_required_72C268A9, PseudoClassClasses_PseudoClass_readWrite_72C268A9, PseudoClassClasses_PseudoClass_readOnly_72C268A9, PseudoClassClasses_PseudoClass_placeholderShown_72C268A9, PseudoClassClasses_PseudoClass_paused_72C268A9, PseudoClassClasses_PseudoClass_playing_72C268A9, PseudoClassClasses_PseudoClass_past_72C268A9, PseudoClassClasses_PseudoClass_outOfRange_72C268A9, PseudoClassClasses_PseudoClass_optional_72C268A9, PseudoClassClasses_PseudoClass_onlyOfType_72C268A9, PseudoClassClasses_PseudoClass_onlyChild_72C268A9, PseudoClassClasses_PseudoClass_nthLastOfType, PseudoClassClasses_PseudoClass_nthOfType, PseudoClassClasses_PseudoClass_nthLastChild, PseudoClassClasses_PseudoClass_nthChild, PseudoClassClasses_PseudoClass_link_72C268A9, PseudoClassClasses_PseudoClass_localLink_72C268A9, PseudoClassClasses_PseudoClass_lastOfType_72C268A9, PseudoClassClasses_PseudoClass_lastChild_72C268A9, PseudoClassClasses_PseudoClass_lang, PseudoClassClasses_PseudoClass_inRange_72C268A9, PseudoClassClasses_PseudoClass_invalid_72C268A9, PseudoClassClasses_PseudoClass_indeterminate_72C268A9, PseudoClassClasses_PseudoClass_hover_72C268A9, PseudoClassClasses_PseudoClass_future_72C268A9, PseudoClassClasses_PseudoClass_focusWithin_72C268A9, PseudoClassClasses_PseudoClass_focusVisible_72C268A9, PseudoClassClasses_PseudoClass_focus_72C268A9, PseudoClassClasses_PseudoClass_firstOfType_72C268A9, PseudoClassClasses_PseudoClass_enabled_72C268A9, PseudoClassClasses_PseudoClass_empty_72C268A9, PseudoClassClasses_PseudoClass_disabled_72C268A9, PseudoClassClasses_PseudoClass_current_72C268A9, PseudoClassClasses_PseudoClass_checked$0027_72C268A9, PseudoClassClasses_PseudoClass_blank_72C268A9, PseudoClassClasses_PseudoClass_anyLink_72C268A9, PseudoClassClasses_PseudoClass_active_72C268A9 } from \"../Types/PseudoClass.fs.js\";\n\nexport function Active(rules) {\n return PseudoClassClasses_PseudoClass_active_72C268A9(rules);\n}\n\nexport function AnyLink(rules) {\n return PseudoClassClasses_PseudoClass_anyLink_72C268A9(rules);\n}\n\nexport function Blank(rules) {\n return PseudoClassClasses_PseudoClass_blank_72C268A9(rules);\n}\n\nexport function Checked(rules) {\n return PseudoClassClasses_PseudoClass_checked$0027_72C268A9(rules);\n}\n\nexport function Current(rules) {\n return PseudoClassClasses_PseudoClass_current_72C268A9(rules);\n}\n\nexport function Disabled(rules) {\n return PseudoClassClasses_PseudoClass_disabled_72C268A9(rules);\n}\n\nexport function Empty(rules) {\n return PseudoClassClasses_PseudoClass_empty_72C268A9(rules);\n}\n\nexport function Enabled(rules) {\n return PseudoClassClasses_PseudoClass_enabled_72C268A9(rules);\n}\n\nexport function FirstOfType(rules) {\n return PseudoClassClasses_PseudoClass_firstOfType_72C268A9(rules);\n}\n\nexport function Focus(rules) {\n return PseudoClassClasses_PseudoClass_focus_72C268A9(rules);\n}\n\nexport function FocusVisible(rules) {\n return PseudoClassClasses_PseudoClass_focusVisible_72C268A9(rules);\n}\n\nexport function FocusWithin(rules) {\n return PseudoClassClasses_PseudoClass_focusWithin_72C268A9(rules);\n}\n\nexport function Future(rules) {\n return PseudoClassClasses_PseudoClass_future_72C268A9(rules);\n}\n\nexport function Hover(rules) {\n return PseudoClassClasses_PseudoClass_hover_72C268A9(rules);\n}\n\nexport function Indeterminate(rules) {\n return PseudoClassClasses_PseudoClass_indeterminate_72C268A9(rules);\n}\n\nexport function Invalid(rules) {\n return PseudoClassClasses_PseudoClass_invalid_72C268A9(rules);\n}\n\nexport function InRange(rules) {\n return PseudoClassClasses_PseudoClass_inRange_72C268A9(rules);\n}\n\nexport function Lang(language, rules) {\n return PseudoClassClasses_PseudoClass_lang(language, rules);\n}\n\nexport function LastChild(rules) {\n return PseudoClassClasses_PseudoClass_lastChild_72C268A9(rules);\n}\n\nexport function LastOfType(rules) {\n return PseudoClassClasses_PseudoClass_lastOfType_72C268A9(rules);\n}\n\nexport function LocalLink(rules) {\n return PseudoClassClasses_PseudoClass_localLink_72C268A9(rules);\n}\n\nexport function Link(rules) {\n return PseudoClassClasses_PseudoClass_link_72C268A9(rules);\n}\n\nexport function NthChild(n, rules) {\n return PseudoClassClasses_PseudoClass_nthChild(n, rules);\n}\n\nexport function NthLastChild(n, rules) {\n return PseudoClassClasses_PseudoClass_nthLastChild(n, rules);\n}\n\nexport function NthOfType(n, rules) {\n return PseudoClassClasses_PseudoClass_nthOfType(n, rules);\n}\n\nexport function NthLastOfType(n, rules) {\n return PseudoClassClasses_PseudoClass_nthLastOfType(n, rules);\n}\n\nexport function OnlyChild(rules) {\n return PseudoClassClasses_PseudoClass_onlyChild_72C268A9(rules);\n}\n\nexport function OnlyOfType(rules) {\n return PseudoClassClasses_PseudoClass_onlyOfType_72C268A9(rules);\n}\n\nexport function Optional(rules) {\n return PseudoClassClasses_PseudoClass_optional_72C268A9(rules);\n}\n\nexport function OutOfRange(rules) {\n return PseudoClassClasses_PseudoClass_outOfRange_72C268A9(rules);\n}\n\nexport function Past(rules) {\n return PseudoClassClasses_PseudoClass_past_72C268A9(rules);\n}\n\nexport function Playing(rules) {\n return PseudoClassClasses_PseudoClass_playing_72C268A9(rules);\n}\n\nexport function Paused(rules) {\n return PseudoClassClasses_PseudoClass_paused_72C268A9(rules);\n}\n\nexport function PlaceholderShown(rules) {\n return PseudoClassClasses_PseudoClass_placeholderShown_72C268A9(rules);\n}\n\nexport function ReadOnly(rules) {\n return PseudoClassClasses_PseudoClass_readOnly_72C268A9(rules);\n}\n\nexport function ReadWrite(rules) {\n return PseudoClassClasses_PseudoClass_readWrite_72C268A9(rules);\n}\n\nexport function Required(rules) {\n return PseudoClassClasses_PseudoClass_required_72C268A9(rules);\n}\n\nexport function Root(rules) {\n return PseudoClassClasses_PseudoClass_root_72C268A9(rules);\n}\n\nexport function Scope(rules) {\n return PseudoClassClasses_PseudoClass_scope_72C268A9(rules);\n}\n\nexport function Target(rules) {\n return PseudoClassClasses_PseudoClass_target_72C268A9(rules);\n}\n\nexport function TargetWithin(rules) {\n return PseudoClassClasses_PseudoClass_targetWithin_72C268A9(rules);\n}\n\nexport function Valid(rules) {\n return PseudoClassClasses_PseudoClass_valid_72C268A9(rules);\n}\n\nexport function Visited(rules) {\n return PseudoClassClasses_PseudoClass_visited_72C268A9(rules);\n}\n\nexport function FirstChild(rules) {\n return PseudoClassClasses_PseudoClass_firstChild_72C268A9(rules);\n}\n\nexport function UserInvalid(rules) {\n return PseudoClassClasses_PseudoClass_userInvalid_72C268A9(rules);\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Pseudo, Property_CssProperty } from \"./MasterTypes.fs.js\";\n\nexport class PseudoClass_Nth extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Odd\", \"Even\"];\n }\n}\n\nexport function PseudoClass_Nth$reflection() {\n return union_type(\"Fss.Types.PseudoClass.Nth\", [], PseudoClass_Nth, () => [[], []]);\n}\n\nexport class PseudoClassClasses_PseudoClass {\n constructor() {\n }\n}\n\nexport function PseudoClassClasses_PseudoClass$reflection() {\n return class_type(\"Fss.Types.PseudoClassClasses.PseudoClass\", void 0, PseudoClassClasses_PseudoClass);\n}\n\nexport function PseudoClassClasses_PseudoClass_active_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(315), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_anyLink_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(316), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_blank_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(317), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_checked$0027_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(318), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_current_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(319), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_disabled_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(320), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_empty_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(321), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_enabled_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(322), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_firstOfType_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(324), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_focus_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(325), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_focusVisible_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(326), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_focusWithin_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(327), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_future_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(328), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_hover_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(329), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_indeterminate_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(330), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_invalid_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(331), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_inRange_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(332), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_lang(language, rules) {\n const tupledArg = [new Property_CssProperty(333, language), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_lastChild_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(334), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_lastOfType_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(335), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_localLink_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(337), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_link_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(336), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_nthChild(n, rules) {\n const tupledArg = [new Property_CssProperty(338, n), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_nthLastChild(n, rules) {\n const tupledArg = [new Property_CssProperty(339, n), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_nthOfType(n, rules) {\n const tupledArg = [new Property_CssProperty(341, n), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_nthLastOfType(n, rules) {\n const tupledArg = [new Property_CssProperty(340, n), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_onlyChild_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(342), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_onlyOfType_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(343), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_optional_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(344), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_outOfRange_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(345), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_past_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(346), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_playing_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(347), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_paused_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(348), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_placeholderShown_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(349), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_readOnly_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(350), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_readWrite_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(351), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_required_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(352), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_root_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(353), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_scope_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(354), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_target_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(355), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_targetWithin_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(356), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_valid_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(357), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_visited_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(358), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_firstChild_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(323), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PseudoClassClasses_PseudoClass_userInvalid_72C268A9(rules) {\n const tupledArg = [new Property_CssProperty(359), new Pseudo(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { fss, fontFaces } from \"../partnerportal/src/fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { FontFaceClasses_FontStyle__get_normal, FontFaceClasses_FontWeight__get_normal, FontFaceClasses_Src__opentype_Z721C83C5 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/FontFace.fs.js\";\nimport { FontStyle, FontWeight, Src } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/FontFace.fs.js\";\nimport { empty, singleton, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { pct, px } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { CssRuleWithNone__get_none } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/MasterTypes.fs.js\";\nimport { Display } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Display.fs.js\";\nimport { DisplayClasses_DisplayClass__get_grid, DisplayClasses_DisplayClass__get_flex } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Display.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B, FlexClasses_FlexDirection__get_column, FlexClasses_FlexWrap__get_wrap, FlexClasses_FlexDirection__get_row, FlexClasses_AlignSelf__get_end$0027, FlexClasses_JustifySelf__get_end$0027, FlexClasses_AlignSelf__get_center, FlexClasses_JustifySelf__get_center, FlexClasses_AlignSelf__get_start, FlexClasses_JustifySelf__get_start, FlexClasses_JustifyContent__get_spaceBetween, FlexClasses_AlignItems__get_center, FlexClasses_JustifyContent__get_end$0027, FlexClasses_JustifyContent__get_center } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow, FlexWrap, FlexDirection, AlignSelf, JustifySelf, AlignItems, JustifyContent } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport { TextClasses_TextAlign__get_center, TextClasses_TextAlign__get_end$0027, TextClasses_TextAlign__get_start } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Text.fs.js\";\nimport { TextAlign } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Text.fs.js\";\nimport { unitHelpers_DirectionalLength__value_Z498FEB3B, Percent, unitHelpers_CssRuleWithLength__value_Z498FEB3B, unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { MarginRight as MarginRight_1, MarginLeft as MarginLeft_1, MarginBottom as MarginBottom_1, MarginTop as MarginTop_1 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Margin.fs.js\";\nimport { Padding as Padding_1, PaddingRight as PaddingRight_1, PaddingLeft as PaddingLeft_1, PaddingBottom as PaddingBottom_1, PaddingTop as PaddingTop_1 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Padding.fs.js\";\nimport { GridClasses_GridGap__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Grid.fs.js\";\nimport { GridGap } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Grid.fs.js\";\nimport { FontWeight as FontWeight_1, FontSize } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Font.fs.js\";\nimport { FontClasses_FontWeight__value_Z524259A4 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Font.fs.js\";\nimport { CursorClasses_CursorParent__get_default$0027, CursorClasses_CursorParent__get_pointer } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Cursor.fs.js\";\nimport { Cursor } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Cursor.fs.js\";\nimport { MinHeight, Height, Width } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport { ColorClass_Color__hex_Z721C83C5, ColorClass_Color__get_white, ColorClass_Color__get_red } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { Color } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Color.fs.js\";\nimport { PositionClasses_Position__get_absolute } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Position.fs.js\";\nimport { Left, Top, Position } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Position.fs.js\";\nimport { Transform_Transform, TransformClasses_TransformClass__value_ZF56B0F4 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Transform.fs.js\";\nimport { Transform } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Transform.fs.js\";\nimport { Media_Device, MediaClasses_Media__queryFor } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Media.fs.js\";\nimport { Media } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Media.fs.js\";\nimport { Label_Label } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Content.fs.js\";\nimport { Custom } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Custom.fs.js\";\nimport { BackgroundColor } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Background.fs.js\";\nimport { BorderRadius } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js\";\nimport { Hover } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/PseudoClass.fs.js\";\n\nexport const coreFont = fontFaces(\"Lufga Regular\", singleton(ofArray([FontFaceClasses_Src__opentype_Z721C83C5(Src, \"./fonts/lufga-regular.otf\"), FontFaceClasses_FontWeight__get_normal(FontWeight), FontFaceClasses_FontStyle__get_normal(FontStyle)])));\n\nexport const Var = (() => {\n const Colors = {\n Background: \"fff\",\n Danger: \"ef5350\",\n Info: \"03a9f4\",\n Primary: \"48b9b2\",\n Secondary: \"F18333\",\n Success: \"4caf50\",\n Text: \"000000\",\n TextLight: \"333333\",\n TextVeryLight: \"666666\",\n TextWhite: \"fff\",\n Warning: \"ff9800\",\n };\n let TextSize_1;\n const Xxxl = px(75);\n const Xxl = px(40);\n const Xl = px(32);\n TextSize_1 = {\n L: px(24),\n M: px(18),\n S: px(16),\n Xl: Xl,\n Xs: px(14),\n Xxl: Xxl,\n Xxs: px(12),\n Xxxl: Xxxl,\n };\n let Spacing;\n const Xxl_1 = px(128);\n const Xl_1 = px(64);\n Spacing = {\n L: px(32),\n M: px(16),\n S: px(8),\n Xl: Xl_1,\n Xs: px(4),\n Xxl: Xxl_1,\n Xxs: px(2),\n };\n return {\n Border: {\n ExtraSharp: px(2),\n Sharp: px(8),\n Soft: px(16),\n },\n Colors: Colors,\n Spacing: Spacing,\n TextSize: TextSize_1,\n };\n})();\n\nexport const hide = fss(singleton(CssRuleWithNone__get_none(Display)));\n\nexport const hCenter = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_JustifyContent__get_center(JustifyContent)]));\n\nexport const hEnd = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_JustifyContent__get_end$0027(JustifyContent)]));\n\nexport const vCenter = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_AlignItems__get_center(AlignItems)]));\n\nexport const center = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_JustifyContent__get_center(JustifyContent), FlexClasses_AlignItems__get_center(AlignItems)]));\n\nexport const spaceBetween = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_JustifyContent__get_spaceBetween(JustifyContent)]));\n\nexport const textStart = fss(singleton(TextClasses_TextAlign__get_start(TextAlign)));\n\nexport const textEnd = fss(singleton(TextClasses_TextAlign__get_end$0027(TextAlign)));\n\nexport const textCenter = fss(singleton(TextClasses_TextAlign__get_center(TextAlign)));\n\nexport const alignStart = fss(ofArray([FlexClasses_JustifySelf__get_start(JustifySelf), FlexClasses_AlignSelf__get_start(AlignSelf)]));\n\nexport const alignCenter = fss(ofArray([FlexClasses_JustifySelf__get_center(JustifySelf), FlexClasses_AlignSelf__get_center(AlignSelf)]));\n\nexport const alignEnd = fss(ofArray([FlexClasses_JustifySelf__get_end$0027(JustifySelf), FlexClasses_AlignSelf__get_end$0027(AlignSelf)]));\n\nexport const row = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_FlexDirection__get_row(FlexDirection), FlexClasses_FlexWrap__get_wrap(FlexWrap)]));\n\nexport const col = fss(ofArray([DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_FlexDirection__get_column(FlexDirection), FlexClasses_FlexWrap__get_wrap(FlexWrap)]));\n\nexport const flexExpand = fss(singleton(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1)));\n\nexport const MarginTop = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const MarginBottom = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginBottom_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const MarginLeft = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginLeft_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const MarginRight = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginRight_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const Padding = (() => {\n const Xxs = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xxs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xxs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xxs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xxs)]));\n const Xs = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xs), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xs)]));\n const S = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.S), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.S), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.S), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.S)]));\n const M = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.M), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.M), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.M), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.M)]));\n return {\n L: fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.L), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.L), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.L), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.L)])),\n M: M,\n S: S,\n Xl: fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xl)])),\n Xs: Xs,\n Xxl: fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xxl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xxl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xxl), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xxl)])),\n Xxs: Xxs,\n };\n})();\n\nexport const PaddingTop = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const PaddingBottom = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const PaddingLeft = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingLeft_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const PaddingRight = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingRight_1, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const Gap = (() => {\n const Xxs = fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.Xxs)));\n const Xs = fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.Xs)));\n const S = fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.S)));\n const M = fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.M)));\n return {\n L: fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.L))),\n M: M,\n S: S,\n Xl: fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.Xxl))),\n Xxs: Xxs,\n };\n})();\n\nexport const TextSize = (() => {\n const Xxs = fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.Xxs)));\n const Xs = fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.Xs)));\n const S = fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.S)));\n const M = fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.M)));\n return {\n L: fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.L))),\n M: M,\n S: S,\n Xl: fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.Xl))),\n Xs: Xs,\n Xxl: fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.Xxl))),\n Xxs: Xxs,\n Xxxl: fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, Var.TextSize.Xxxl))),\n };\n})();\n\nexport const Boldness = {\n b300: fss(singleton(FontClasses_FontWeight__value_Z524259A4(FontWeight_1, 300))),\n b400: fss(singleton(FontClasses_FontWeight__value_Z524259A4(FontWeight_1, 400))),\n b500: fss(singleton(FontClasses_FontWeight__value_Z524259A4(FontWeight_1, 500))),\n b600: fss(singleton(FontClasses_FontWeight__value_Z524259A4(FontWeight_1, 600))),\n b700: fss(singleton(FontClasses_FontWeight__value_Z524259A4(FontWeight_1, 700))),\n};\n\nexport const cursorPointer = fss(singleton(CursorClasses_CursorParent__get_pointer(Cursor)));\n\nexport const cursorDefault = fss(singleton(CursorClasses_CursorParent__get_default$0027(Cursor)));\n\nexport const fullWidth = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100))));\n\nexport const grid = fss(singleton(DisplayClasses_DisplayClass__get_grid(Display)));\n\nexport const error = fss(singleton(ColorClass_Color__get_red(Color)));\n\nexport const appointmentCal = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(1200))));\n\nexport const progress = fss(ofArray([PositionClasses_Position__get_absolute(Position), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Top, new Percent(0, 50)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Left, new Percent(0, 50)), TransformClasses_TransformClass__value_ZF56B0F4(Transform, ofArray([new Transform_Transform(11, new Percent(0, -50)), new Transform_Transform(12, new Percent(0, -50))]))]));\n\nexport const loginLogo = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(426)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(265))]));\n\nexport const loginLogoSmall = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(204)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(60))]));\n\nexport const appBarLogo = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(142)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(89))]));\n\nexport const hideInPrint = fss(singleton(MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), singleton(CssRuleWithNone__get_none(Display)))));\n\nexport const paddingPrint = fss(ofArray([MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), singleton(unitHelpers_DirectionalLength__value_Z498FEB3B(Padding_1, px(3)))), Label_Label(\"PaddingPrint\")]));\n\nexport const hideShadowInPrint = fss(ofArray([MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), singleton(Custom(\"box-shadow\", \"none\"))), Label_Label(\"hideShadowInPrint\")]));\n\nexport const printInfoHeader = fss(ofArray([MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), ofArray([unitHelpers_DirectionalLength__value_Z498FEB3B(Padding_1, px(3)), Custom(\"lineheight\", \"1.5\")])), Label_Label(\"printInfoHeader\")]));\n\nexport const paddingDataDisplay = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(200)), MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(100)))), Label_Label(\"paddingDataDisplay\")]));\n\nexport const paddingDataDisplayWide = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(260)), MediaClasses_Media__queryFor(Media, new Media_Device(2), empty(), singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(100)))), Label_Label(\"paddingDataDisplay\")]));\n\nexport const hideInScreen = fss(singleton(MediaClasses_Media__queryFor(Media, new Media_Device(0), empty(), singleton(CssRuleWithNone__get_none(Display)))));\n\nexport const modal = fss(ofArray([PositionClasses_Position__get_absolute(Position), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Top, new Percent(0, 50)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Left, new Percent(0, 50)), TransformClasses_TransformClass__value_ZF56B0F4(Transform, ofArray([new Transform_Transform(11, new Percent(0, -50)), new Transform_Transform(12, new Percent(0, -50))])), ColorClass_Color__get_white(BackgroundColor), unitHelpers_DirectionalLength__value_Z498FEB3B(BorderRadius, Var.Border.Sharp)]));\n\nexport const allAppointmentsMinHeight = fss(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MinHeight, px(500))));\n\nexport const cancelDossierButton = fss(ofArray([ColorClass_Color__hex_Z721C83C5(BackgroundColor, Var.Colors.Danger), ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextWhite), Hover(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, Var.Colors.Danger)))]));\n\nexport const markAsPaidButton = fss(ofArray([ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"3d9da5\"), ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextWhite), Hover(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"146f76\")))]));\n\nexport const dashboardFooter = fss(ofArray([ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"c8dddc\"), Hover(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"c8dddc\")))]));\n\nexport const TextColor = (() => {\n const Danger = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Danger)));\n const Primary = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Primary)));\n const Secondary = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Secondary)));\n return {\n Danger: Danger,\n Light: fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextLight))),\n Primary: Primary,\n Secondary: Secondary,\n VeryLight: fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextVeryLight))),\n };\n})();\n\nexport const BkgColor = (() => {\n const Danger = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Danger)));\n const Primary = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Primary)));\n const Secondary = fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Secondary)));\n return {\n Danger: Danger,\n Light: fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextLight))),\n Primary: Primary,\n Secondary: Secondary,\n VeryLight: fss(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextVeryLight))),\n };\n})();\n\nexport const DossierInspectionLocation = fss(ofArray([DisplayClasses_DisplayClass__get_grid(Display), Custom(\"grid-template-columns\", \"270px 270px 270px 270px \")]));\n\nexport const TableHeaderCell = fss(ofArray([DisplayClasses_DisplayClass__get_grid(Display), GridClasses_GridGap__value_Z498FEB3B(GridGap, Var.Spacing.M), Custom(\"grid-template-rows\", \"48px auto\")]));\n\n","import { fss } from \"../Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { combine } from \"../Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { singleton, empty, ofArray } from \"../fable-library.3.7.17/List.js\";\n\nexport function Feliz_prop__prop_fss_Static_72C268A9(properties) {\n return [\"className\", fss(properties)];\n}\n\nexport function Feliz_prop__prop_fssWithClass_Static(className, properties) {\n return [\"className\", combine(ofArray([className, fss(properties)]), empty())];\n}\n\nexport function Feliz_prop__prop_fssCombine_Static(classNames, properties) {\n return [\"className\", combine(singleton(fss(properties)), classNames)];\n}\n\n","\nexport function Browser_Types_Event__Event_get_Value(this$) {\n return this$.target.value;\n}\n\nexport function Browser_Types_Event__Event_get_Checked(this$) {\n return this$.target.checked;\n}\n\n","import { createElement } from \"react\";\nimport { join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { grid, col, row } from \"../Styles/Utils.fs.js\";\nimport { cons } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\n\nexport function Row(rowInputProps) {\n const children = rowInputProps.children;\n const classes = rowInputProps.classes;\n return createElement(\"div\", {\n className: join(\" \", cons(row, classes)),\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n });\n}\n\nexport function Col(colInputProps) {\n const children = colInputProps.children;\n const classes = colInputProps.classes;\n return createElement(\"div\", {\n className: join(\" \", cons(col, classes)),\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n });\n}\n\nexport function Grid(gridInputProps) {\n const children = gridInputProps.children;\n const classes = gridInputProps.classes;\n return createElement(\"div\", {\n className: join(\" \", cons(grid, classes)),\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n });\n}\n\n","import { trim } from \"./String.js\";\n// RFC 4122 compliant. From https://stackoverflow.com/a/13653180/3922220\n// const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;\n// Relax GUID parsing, see #1637\nconst guidRegex = /^[\\(\\{]{0,2}[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[\\)\\}]{0,2}$/;\nconst guidRegexNoHyphen = /^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/;\nconst guidRegexHex = /^\\{0x[0-9a-f]{8},(0x[0-9a-f]{4},){2}\\{(0x[0-9a-f]{2},){7}0x[0-9a-f]{2}\\}\\}$/;\nconst guidHexCaptures = /^([0-9a-f]{8})-(([0-9a-f]{4})-)(([0-9a-f]{4})-)([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/;\nexport function toString(str, format, _provider) {\n if (format && (format === null || format === void 0 ? void 0 : format.length) > 0) {\n switch (format) {\n case \"N\":\n return str.replace(/-/g, '');\n case \"D\":\n return str;\n case \"B\":\n return \"{\" + str + \"}\";\n case \"P\":\n return \"(\" + str + \")\";\n case \"X\":\n return str.replace(guidHexCaptures, \"{0x$1,0x$3,0x$5,{0x$6,0x$7,0x$8,0x$9,0x$10,0x$11,0x$12,0x$13}}\");\n default:\n throw new Error(\"Unrecognized Guid print format\");\n }\n }\n else {\n return str;\n }\n}\n/** Validates UUID as specified in RFC4122 (versions 1-5). */\nexport function parse(str) {\n function hyphenateGuid(str) {\n return str.replace(guidRegexNoHyphen, \"$1-$2-$3-$4-$5\");\n }\n const wsTrimAndLowered = str.trim().toLowerCase();\n if (guidRegex.test(wsTrimAndLowered)) {\n return trim(wsTrimAndLowered, \"{\", \"}\", \"(\", \")\");\n }\n else if (guidRegexNoHyphen.test(wsTrimAndLowered)) {\n return hyphenateGuid(wsTrimAndLowered);\n }\n else if (guidRegexHex.test(wsTrimAndLowered)) {\n return hyphenateGuid(wsTrimAndLowered.replace(/[\\{\\},]|0x/g, ''));\n }\n else {\n throw new Error(\"Guid should contain 32 digits with 4 dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\");\n }\n}\nexport function tryParse(str, defValue) {\n try {\n defValue.contents = parse(str);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n// From https://gist.github.com/LeverOne/1308368\nexport function newGuid() {\n let b = \"\";\n for (let a = 0; a++ < 36;) {\n b += a * 51 & 52\n ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16)\n : \"-\";\n }\n return b;\n}\n// Maps for number <-> hex string conversion\nlet _convertMapsInitialized = false;\nlet _byteToHex;\nlet _hexToByte;\nfunction initConvertMaps() {\n _byteToHex = new Array(256);\n _hexToByte = {};\n for (let i = 0; i < 256; i++) {\n _byteToHex[i] = (i + 0x100).toString(16).substr(1);\n _hexToByte[_byteToHex[i]] = i;\n }\n _convertMapsInitialized = true;\n}\n/** Parse a UUID into it's component bytes */\n// Adapted from https://github.com/zefferus/uuid-parse\nexport function guidToArray(s) {\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n let i = 0;\n const buf = new Uint8Array(16);\n s.toLowerCase().replace(/[0-9a-f]{2}/g, ((oct) => {\n switch (i) {\n // .NET saves first three byte groups with different endianness\n // See https://stackoverflow.com/a/16722909/3922220\n case 0:\n case 1:\n case 2:\n case 3:\n buf[3 - i++] = _hexToByte[oct];\n break;\n case 4:\n case 5:\n buf[9 - i++] = _hexToByte[oct];\n break;\n case 6:\n case 7:\n buf[13 - i++] = _hexToByte[oct];\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n buf[i++] = _hexToByte[oct];\n break;\n }\n }));\n // Zero out remaining bytes if string was short\n while (i < 16) {\n buf[i++] = 0;\n }\n return buf;\n}\n/** Convert UUID byte array into a string */\nexport function arrayToGuid(buf) {\n if (buf.length !== 16) {\n throw new Error(\"Byte array for GUID must be exactly 16 bytes long\");\n }\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n const guid = _byteToHex[buf[3]] + _byteToHex[buf[2]] +\n _byteToHex[buf[1]] + _byteToHex[buf[0]] + \"-\" +\n _byteToHex[buf[5]] + _byteToHex[buf[4]] + \"-\" +\n _byteToHex[buf[7]] + _byteToHex[buf[6]] + \"-\" +\n _byteToHex[buf[8]] + _byteToHex[buf[9]] + \"-\" +\n _byteToHex[buf[10]] + _byteToHex[buf[11]] +\n _byteToHex[buf[12]] + _byteToHex[buf[13]] +\n _byteToHex[buf[14]] + _byteToHex[buf[15]];\n return guid;\n}\n","import { fss } from \"../partnerportal/src/fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { DisplayClasses_DisplayClass__get_grid } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Display.fs.js\";\nimport { Display } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Display.fs.js\";\nimport { Custom } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Custom.fs.js\";\nimport { singleton, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { unitHelpers_DirectionalLength__value_Z498FEB3B, unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { px } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { MinWidth, Height } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport { ColorClass_Color__hex_Z721C83C5 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { BackgroundImage, BackgroundColor } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Background.fs.js\";\nimport { ImageClasses_ImageClass__url_Z721C83C5 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Image.fs.js\";\nimport bkg from \"./imgs/bkg.png\";\nimport { BorderRadius, BorderStyle, BorderColor, BorderWidth } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js\";\nimport { BorderClasses_BorderStyleParent__get_solid } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Border.fs.js\";\n\nexport const AssignmentConfirmationInspectionLocation = fss(ofArray([DisplayClasses_DisplayClass__get_grid(Display), Custom(\"grid-template-columns\", \"300px 300px\")]));\n\nexport const ReviewCard = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(600)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MinWidth, px(300))]));\n\nexport const InfoChip = fss(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"c1e1ec\")));\n\nexport const UrgentChip = fss(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"ff6961\")));\n\nexport const BkgImage = fss(ofArray([ImageClasses_ImageClass__url_Z721C83C5(BackgroundImage, bkg), Custom(\"min-height\", \"calc(100vh - 80px)\")]));\n\nexport const partnerGrid = fss(ofArray([ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"f3f3f3\"), unitHelpers_DirectionalLength__value_Z498FEB3B(BorderWidth, px(1)), ColorClass_Color__hex_Z721C83C5(BorderColor, \"e7e7e7\"), BorderClasses_BorderStyleParent__get_solid(BorderStyle), unitHelpers_DirectionalLength__value_Z498FEB3B(BorderRadius, px(4))]));\n\n","import { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Card_1 from \"@material-ui/core/Card\";\nimport { printf, toConsole, split, isNullOrEmpty, join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { cursorPointer, paddingDataDisplayWide, paddingDataDisplay, TextColor, PaddingBottom, MarginBottom, cursorDefault, paddingPrint, error as error_1, alignCenter, Gap, progress, Boldness, Var, Padding } from \"../Styles/Utils.fs.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { stringHash, equals, createObj } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { ColorClass_Color__hex_Z721C83C5 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { Color } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Color.fs.js\";\nimport { empty as empty_1, cons, ofArray, singleton } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport TextField_1 from \"@material-ui/core/TextField\";\nimport { Browser_Types_Event__Event_get_Checked, Browser_Types_Event__Event_get_Value } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { collect, map, empty, singleton as singleton_1, append, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { contains, map as map_1, equalsWith, concat, mapIndexed } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport { Col, Row } from \"../Components/UtilComponents.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { parse } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Int32.js\";\nimport Decimal from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport { newGuid } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Guid.js\";\nimport Radio from \"@material-ui/core/Radio\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { union_type, getUnionCases, makeUnion, name as name_4 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { value as value_27, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { Union, toString } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport Link_1 from \"@material-ui/core/Link\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Breadcrumbs from \"@material-ui/core/Breadcrumbs\";\nimport { keyValueList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/MapUtil.js\";\nimport CheckBox_1 from \"@material-ui/icons/CheckBox\";\nimport CheckBoxOutlineBlank from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport green from \"@material-ui/core/colors/green\";\nimport amber from \"@material-ui/core/colors/amber\";\nimport grey from \"@material-ui/core/colors/grey\";\nimport Chip from \"@material-ui/core/Chip\";\nimport { Appointment_status } from \"../shared/Format.fs.js\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport { RouterModule_encodeParts } from \"../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport Table from \"@material-ui/core/Table\";\nimport { unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { px } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { MaxWidth } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport { UrgentChip as UrgentChip_1, InfoChip } from \"../Styles/ClientPageStyles.fs.js\";\nimport ArrowRight from \"@material-ui/icons/ArrowRight\";\nimport ArrowDropDown from \"@material-ui/icons/ArrowDropDown\";\n\nexport function Card(children) {\n return MuiHelpers_createElement(Card_1, [[\"className\", join(\" \", [Padding.M])], [\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function ErrorText(errorTextInputProps) {\n const text = errorTextInputProps.text;\n return createElement(\"div\", createObj(ofArray([Feliz_prop__prop_fss_Static_72C268A9(singleton(ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.Danger))), [\"children\", text]])));\n}\n\nexport function TableHeader(tableHeaderInputProps) {\n const text = tableHeaderInputProps.text;\n return createElement(\"div\", {\n className: join(\" \", [Boldness.b600]),\n children: text,\n });\n}\n\nexport function Progress(progressInputProps) {\n let elems;\n const classes = progressInputProps.classes;\n return createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", cons(progress, classes))], (elems = [MuiHelpers_createElement(LinearProgress, [])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n}\n\nexport function TextField(formFieldHook, label, error, required) {\n return MuiHelpers_createElement(TextField_1, [[\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n formFieldHook.SetFieldValue(Browser_Types_Event__Event_get_Value(e));\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function EmailField(formFieldHook, label, error, required) {\n return MuiHelpers_createElement(TextField_1, [[\"type\", \"email\"], [\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n formFieldHook.SetFieldValue(Browser_Types_Event__Event_get_Value(e));\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function EmailFieldDisabled(formFieldHook, label, error, required, disabled) {\n return MuiHelpers_createElement(TextField_1, [[\"disabled\", disabled], [\"type\", \"email\"], [\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n formFieldHook.SetFieldValue(Browser_Types_Event__Event_get_Value(e));\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function MultiEmailField(formFieldHook, label, error, required) {\n const patternInput = useFeliz_React__React_useState_Static_1505([\"\"]);\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(isNullOrEmpty(formFieldHook.FieldValue) ? [\"\"] : split(formFieldHook.FieldValue, [\",\"], null, 0));\n const textState_1 = patternInput_1[0];\n const setTextState_1 = patternInput_1[1];\n const xs = toList(delay(() => append(mapIndexed((i_1, v_1) => createElement(Row, {\n classes: singleton(Gap.S),\n children: toList(delay(() => append(singleton_1(MuiHelpers_createElement(TextField_1, [[\"type\", \"email\"], [\"fullWidth\", true], [\"value\", textState_1[i_1]], [\"onChange\", (e) => {\n const t = Browser_Types_Event__Event_get_Value(e);\n const updatedText = mapIndexed((i, v) => {\n if (i === i_1) {\n return t;\n }\n else {\n return v;\n }\n }, textState_1);\n setTextState_1(updatedText);\n formFieldHook.SetFieldValue(join(\",\", updatedText));\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]])), delay(() => ((i_1 !== 0) ? singleton_1(MuiHelpers_createElement(Button, [[\"children\", \"Remove\"], [\"onClick\", (_arg) => {\n const newState = textState_1.filter((v_2) => (v_2 !== textState_1[i_1]));\n setTextState_1(newState);\n formFieldHook.SetFieldValue(join(\",\", newState));\n }]])) : empty()))))),\n }), textState_1), delay(() => singleton_1(MuiHelpers_createElement(Button, [[\"children\", \"Email toevoegen\"], [\"onClick\", (_arg_1) => {\n setTextState_1(concat([textState_1, [\"\"]]));\n }]]))))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function FilterField(label, onChange, v) {\n return MuiHelpers_createElement(TextField_1, [[\"label\", label], [\"value\", v], [\"onChange\", (ev) => {\n onChange(ev.target.value);\n }]]);\n}\n\nexport function TextFieldDisabled(formFieldHook, label, error, required, disabled) {\n return MuiHelpers_createElement(TextField_1, [[\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n formFieldHook.SetFieldValue(Browser_Types_Event__Event_get_Value(e));\n }], [\"disabled\", disabled], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function NumberField(formFieldHook, label, error, required) {\n return MuiHelpers_createElement(TextField_1, [[\"type\", \"number\"], [\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n const s = Browser_Types_Event__Event_get_Value(e);\n const i = parse(s, 511, false, 32) | 0;\n formFieldHook.SetFieldValue(i);\n toConsole(printf(\"%s %i\"))(s)(i);\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function NumberFieldDecimal(formFieldHook, label, error, required) {\n return MuiHelpers_createElement(TextField_1, [[\"type\", \"number\"], [\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n formFieldHook.SetFieldValue(new Decimal(Browser_Types_Event__Event_get_Value(e)));\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required]]);\n}\n\nexport function NumberFieldFloat(formFieldHook, label, error, required, disabled, adornmentString) {\n return MuiHelpers_createElement(TextField_1, [[\"InputProps\", {\n startAdornment: MuiHelpers_createElement(InputAdornment, [[\"position\", \"start\"], [\"children\", adornmentString]]),\n }], [\"type\", \"number\"], [\"value\", formFieldHook.FieldValue], [\"onChange\", (e) => {\n const s = Browser_Types_Event__Event_get_Value(e);\n if (s.length === 0) {\n formFieldHook.SetFieldValue(\"0\");\n }\n else {\n formFieldHook.SetFieldValue(s);\n }\n }], [\"variant\", \"standard\"], [\"label\", label], [\"error\", formFieldHook.Error], [\"helperText\", formFieldHook.Error ? error : \"\"], [\"required\", required], [\"disabled\", disabled]]);\n}\n\nexport function FileField(formFieldHook, label, error, required) {\n let elems;\n let id;\n let copyOfStruct = newGuid();\n id = copyOfStruct;\n return createElement(\"label\", createObj(ofArray([[\"htmlFor\", id], (elems = [createElement(\"input\", {\n id: id,\n style: {\n display: \"none\",\n },\n type: \"file\",\n onChange: (ev) => {\n const files = ev.target.files;\n if ((!(files == null)) && (files.length > 0)) {\n formFieldHook.SetFieldValue(files.item(0));\n }\n },\n onClick: (e) => {\n e.stopPropagation();\n },\n required: required,\n }), createElement(Row, {\n classes: singleton(Gap.M),\n children: ofArray([createElement(Col, {\n classes: empty_1(),\n children: singleton(MuiHelpers_createElement(Button, [[\"variant\", \"contained\"], [\"children\", label], [\"component\", \"span\"]])),\n }), createElement(Col, {\n classes: singleton(alignCenter),\n children: toList(delay(() => {\n const matchValue = formFieldHook.FieldValue;\n if (matchValue == null) {\n return singleton_1(\"Geen bestand geselecteerd\");\n }\n else {\n const file_1 = matchValue;\n return singleton_1(file_1.name);\n }\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n}\n\nexport function OptionField(formFieldHook, trueValue, label, error, required) {\n const radi = MuiHelpers_createElement(Radio, [[\"checked\", equals(formFieldHook.FieldValue, trueValue)]]);\n return MuiHelpers_createElement(FormControlLabel, toList(delay(() => append(singleton_1([\"label\", label]), delay(() => append(singleton_1([\"control\", radi]), delay(() => append(singleton_1([\"onChange\", (e) => {\n if (Browser_Types_Event__Event_get_Checked(e)) {\n formFieldHook.SetFieldValue(trueValue);\n }\n else {\n formFieldHook.SetFieldValue(void 0);\n }\n }]), delay(() => (formFieldHook.Error ? singleton_1([\"classes.label\", error_1]) : singleton_1([\"classes.label\", \"\"])))))))))));\n}\n\nexport function OptionFieldDisabled(formFieldHook, trueValue, label, error, required, disabled) {\n const radi = MuiHelpers_createElement(Radio, [[\"checked\", equals(formFieldHook.FieldValue, trueValue)], [\"disabled\", disabled]]);\n return MuiHelpers_createElement(FormControlLabel, toList(delay(() => append(singleton_1([\"disabled\", disabled]), delay(() => append(singleton_1([\"label\", label]), delay(() => append(singleton_1([\"control\", radi]), delay(() => append(singleton_1([\"onChange\", (e) => {\n if (Browser_Types_Event__Event_get_Checked(e)) {\n formFieldHook.SetFieldValue(trueValue);\n }\n else {\n formFieldHook.SetFieldValue(void 0);\n }\n }]), delay(() => (formFieldHook.Error ? singleton_1([\"classes.label\", error_1]) : singleton_1([\"classes.label\", \"\"])))))))))))));\n}\n\nexport function fromString(cases, s) {\n const matchValue = cases.filter((case$) => (name_4(case$) === s));\n if ((!equalsWith(equals, matchValue, null)) && (matchValue.length === 1)) {\n return some(makeUnion(matchValue[0], []));\n }\n else {\n return void 0;\n }\n}\n\nexport function SelectOptionField(formFieldHook, label, error, required, t) {\n let elements, elems_1;\n const corpTypes = getUnionCases(t);\n let v;\n const matchValue = formFieldHook.FieldValue;\n if (matchValue == null) {\n v = \"\";\n }\n else {\n let copyOfStruct = value_27(matchValue);\n v = toString(copyOfStruct);\n }\n const children = ofArray([MuiHelpers_createElement(InputLabel, [(elements = [createElement(\"span\", {\n children: [label],\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))]), [\"className\", join(\" \", toList(delay(() => (formFieldHook.Error ? singleton_1(error_1) : singleton_1(\"\")))))]]), MuiHelpers_createElement(Select, [[\"required\", required], [\"value\", v], [\"onChange\", (ev) => {\n const s = ev.target.value;\n toConsole(printf(\"selected %s\"))(s);\n formFieldHook.SetFieldValue(fromString(corpTypes, s));\n }], (elems_1 = toList(delay(() => map((corp_1) => {\n const text = name_4(corp_1);\n return MuiHelpers_createElement(MenuItem, [[\"children\", text], [\"value\", text]]);\n }, corpTypes))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])]);\n return MuiHelpers_createElement(FormControl, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function MultiSelect(multiSelectInputProps) {\n let elements_1, elems_1;\n const onChange = multiSelectInputProps.onChange;\n const v = multiSelectInputProps.v;\n const items = multiSelectInputProps.items;\n return MuiHelpers_createElement(FormControl, [(elements_1 = [MuiHelpers_createElement(InputLabel, [[\"children\", multiSelectInputProps.label]]), MuiHelpers_createElement(Select, [[\"multiple\", true], [\"onChange\", (e_1, _arg) => {\n onChange(Browser_Types_Event__Event_get_Value(e_1));\n }], [\"value\", v], [\"renderValue\", (x) => join(\", \", x)], (elems_1 = map_1((item) => {\n let elements;\n return MuiHelpers_createElement(MenuItem, [[\"key\", item], [\"value\", item], (elements = [MuiHelpers_createElement(Checkbox, [[\"checked\", contains(item, v, {\n Equals: (x_1, y) => (x_1 === y),\n GetHashCode: stringHash,\n })]]), item], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n }, items), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]);\n}\n\nexport function RenderBreadcrumbs(renderBreadcrumbsInputProps) {\n const current = renderBreadcrumbsInputProps.current;\n const links = renderBreadcrumbsInputProps.links;\n const children = toList(delay(() => append(collect((matchValue) => singleton_1(MuiHelpers_createElement(Link_1, [[\"underline\", \"hover\"], [\"color\", \"inherit\"], [\"href\", matchValue[1]], [\"children\", matchValue[0]]])), links), delay(() => singleton_1(MuiHelpers_createElement(Typography, [[\"color\", \"textPrimary\"], [\"children\", current]]))))));\n return MuiHelpers_createElement(Breadcrumbs, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function CheckIcon(checkIconInputProps) {\n const value = checkIconInputProps.value;\n const props = checkIconInputProps.props;\n if (value) {\n const props_1 = keyValueList(props, 1);\n return react.createElement(CheckBox_1, props_1);\n }\n else {\n const props_2 = keyValueList(props, 1);\n return react.createElement(CheckBoxOutlineBlank, props_2);\n }\n}\n\nexport function appointmentStatusColor(status) {\n switch (status.tag) {\n case 2: {\n return green[\"200\"];\n }\n case 1: {\n return green[\"300\"];\n }\n case 3: {\n return amber[\"800\"];\n }\n default: {\n return grey[\"300\"];\n }\n }\n}\n\nexport function AppointmentStatusChip(appointmentStatusChipInputProps) {\n const status = appointmentStatusChipInputProps.status;\n return MuiHelpers_createElement(Chip, [[\"style\", {\n backgroundColor: appointmentStatusColor(status),\n }], [\"label\", Appointment_status(status)]]);\n}\n\nexport class DiscountOption extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NoDiscount\", \"FlatDiscount\", \"PercentageDiscount\"];\n }\n}\n\nexport function DiscountOption$reflection() {\n return union_type(\"DesignSystem.DiscountOption\", [], DiscountOption, () => [[], [], []]);\n}\n\nexport function DiscountOption__get_Label(this$) {\n switch (this$.tag) {\n case 1: {\n return \"Afgesproken prijs\";\n }\n case 2: {\n return \"Percentage korting\";\n }\n default: {\n return \"Geen korting\";\n }\n }\n}\n\nexport function Info(infoInputProps) {\n const primary = infoInputProps.primary;\n const children = singleton(MuiHelpers_createElement(ListItemText, [[\"secondary\", infoInputProps.secondary], [\"primary\", primary]]));\n return MuiHelpers_createElement(ListItem, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function InfoTitle(infoTitleInputProps) {\n let elements;\n const text = infoTitleInputProps.text;\n return MuiHelpers_createElement(ListItem, [[\"classes.gutters\", paddingPrint], (elements = [MuiHelpers_createElement(ListItemText, [[\"primary\", createElement(\"div\", {\n className: join(\" \", [Boldness.b700, Padding.Xxs]),\n children: text,\n })]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n}\n\nexport function Link(linkInputProps) {\n const url = linkInputProps.url;\n const text = linkInputProps.text;\n return createElement(\"a\", {\n target: \"_blank\",\n href: `${RouterModule_encodeParts(ofArray(url), 1)}`,\n children: `${text}`,\n });\n}\n\nexport function InfoLink(infoLinkInputProps) {\n let elems;\n const url = infoLinkInputProps.url;\n const primary = infoLinkInputProps.primary;\n const secondary = infoLinkInputProps.secondary;\n const children = singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton(createElement(\"div\", createObj(singleton((elems = [createElement(Link, {\n text: primary,\n url: url,\n }), MuiHelpers_createElement(ListItemText, [[\"secondary\", secondary]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))]))))),\n }));\n return MuiHelpers_createElement(ListItem, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function InfoCheckbox(infoCheckboxInputProps) {\n let elems;\n const state = infoCheckboxInputProps.state;\n const secondary = infoCheckboxInputProps.secondary;\n const children = singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton(createElement(\"div\", createObj(singleton((elems = [MuiHelpers_createElement(Checkbox, [[\"className\", join(\" \", [cursorDefault, MarginBottom.Xxs, PaddingBottom.Xxs])], [\"edge\", \"start\"], [\"checked\", state]]), MuiHelpers_createElement(ListItemText, [[\"secondary\", secondary]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))]))))),\n }));\n return MuiHelpers_createElement(ListItem, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function DataHeader(dataHeaderInputProps) {\n const text = dataHeaderInputProps.text;\n return createElement(\"div\", {\n className: join(\" \", [TextColor.VeryLight]),\n children: text,\n });\n}\n\nexport function DisplayData(displayDataInputProps) {\n let children_1;\n const data = displayDataInputProps.data;\n const children_2 = singleton((children_1 = toList(delay(() => collect((matchValue) => {\n let children, elems;\n return singleton_1((children = ofArray([MuiHelpers_createElement(TableCell, [[\"className\", join(\" \", [paddingPrint, paddingDataDisplay])], (elems = [createElement(DataHeader, {\n text: matchValue[0],\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]), MuiHelpers_createElement(TableCell, [[\"className\", join(\" \", [paddingPrint])], [\"children\", matchValue[1]]])]), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]])));\n }, data))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])));\n return MuiHelpers_createElement(Table, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]);\n}\n\nexport function DisplayDataWide(displayDataWideInputProps) {\n let children_1;\n const data = displayDataWideInputProps.data;\n const children_2 = singleton((children_1 = toList(delay(() => collect((matchValue) => {\n let children, elems;\n return singleton_1((children = ofArray([MuiHelpers_createElement(TableCell, [[\"className\", join(\" \", [paddingPrint, paddingDataDisplayWide])], (elems = [createElement(DataHeader, {\n text: matchValue[0],\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]), MuiHelpers_createElement(TableCell, [[\"className\", join(\" \", [paddingPrint])], [\"children\", matchValue[1]]])]), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]])));\n }, data))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])));\n return MuiHelpers_createElement(Table, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]);\n}\n\nexport function PartnerChip(partnerChipInputProps) {\n let elems;\n const onClick = partnerChipInputProps.onClick;\n const partner = partnerChipInputProps.partner;\n return createElement(\"div\", createObj(ofArray([Feliz_prop__prop_fss_Static_72C268A9(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MaxWidth, px(300)))), (elems = [MuiHelpers_createElement(Chip, toList(delay(() => append(singleton_1([\"label\", `${partner.CompanyName.Value} - ${partner.Id.Value}`]), delay(() => {\n const matchValue = onClick;\n if (matchValue == null) {\n return empty();\n }\n else {\n const onClick_1 = matchValue;\n return singleton_1([\"onClick\", (_arg) => {\n onClick_1();\n }]);\n }\n })))))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n}\n\nexport function CibFormChip(cibFormChipInputProps) {\n let elems;\n const onClick = cibFormChipInputProps.onClick;\n if (cibFormChipInputProps.isCibDossier) {\n return createElement(\"div\", createObj(ofArray([Feliz_prop__prop_fss_Static_72C268A9(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MaxWidth, px(100)))), (elems = [MuiHelpers_createElement(Chip, toList(delay(() => append(singleton_1([\"className\", join(\" \", [InfoChip])]), delay(() => append(singleton_1([\"label\", \"CIB\"]), delay(() => {\n const matchValue = onClick;\n if (matchValue == null) {\n return empty();\n }\n else {\n const onClick_1 = matchValue;\n return singleton_1([\"onClick\", (_arg) => {\n onClick_1();\n }]);\n }\n })))))))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n }\n else {\n return null;\n }\n}\n\nexport function UrgentChip(urgentChipInputProps) {\n let elems;\n if (urgentChipInputProps.isUrgent) {\n return createElement(\"div\", createObj(ofArray([Feliz_prop__prop_fss_Static_72C268A9(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MaxWidth, px(100)))), (elems = [MuiHelpers_createElement(Chip, [[\"className\", join(\" \", [UrgentChip_1])], [\"label\", \"Dringend\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n }\n else {\n return null;\n }\n}\n\nexport function DownloadLink(downloadLinkInputProps) {\n const onDownload = downloadLinkInputProps.onDownload;\n const text = downloadLinkInputProps.text;\n return createElement(\"a\", {\n target: \"_blank\",\n href: \"#\",\n onClick: (e) => {\n e.preventDefault();\n e.stopPropagation();\n onDownload();\n },\n children: `${text}`,\n });\n}\n\nexport function DownloadLinkWithTitle(downloadLinkWithTitleInputProps) {\n let elems;\n const onDownload = downloadLinkWithTitleInputProps.onDownload;\n const primary = downloadLinkWithTitleInputProps.primary;\n const secondary = downloadLinkWithTitleInputProps.secondary;\n const children = singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton(createElement(\"div\", createObj(singleton((elems = [createElement(\"a\", {\n target: \"_blank\",\n href: \"#\",\n onClick: (e) => {\n e.preventDefault();\n e.stopPropagation();\n onDownload();\n },\n children: `${primary}`,\n }), MuiHelpers_createElement(ListItemText, [[\"secondary\", secondary]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))]))))),\n }));\n return MuiHelpers_createElement(ListItem, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function CheckBox(state) {\n return MuiHelpers_createElement(Checkbox, [[\"className\", join(\" \", [cursorDefault, MarginBottom.Xxs, PaddingBottom.Xxs])], [\"edge\", \"start\"], [\"checked\", state]]);\n}\n\nexport function DisplayDiscount(discount) {\n switch (discount.tag) {\n case 1: {\n return `€ ${discount.fields[0]}`;\n }\n case 2: {\n return (`${discount.fields[0]}`) + \" %\";\n }\n default: {\n return \"-\";\n }\n }\n}\n\nexport function Collapsible(collapsibleInputProps) {\n let elems_1;\n const disabled = collapsibleInputProps.disabled;\n const collapseToggle = collapsibleInputProps.collapseToggle;\n const children = collapsibleInputProps.children;\n const title = collapsibleInputProps.title;\n return createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [])], (elems_1 = toList(delay(() => {\n let elems;\n return append(singleton_1(createElement(\"h2\", createObj(ofArray([[\"className\", join(\" \", [cursorPointer])], [\"onClick\", (_arg) => {\n collapseToggle.Toggle();\n }], (elems = [createElement(Row, {\n classes: singleton(alignCenter),\n children: toList(delay(() => {\n let props, props_1;\n return append(collapseToggle.State ? singleton_1((props = {}, react.createElement(ArrowRight, props))) : singleton_1((props_1 = {}, react.createElement(ArrowDropDown, props_1))), delay(() => singleton_1(title)));\n })),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])))), delay(() => (((!collapseToggle.State) && (!disabled)) ? singleton_1(children) : empty())));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])));\n}\n\n","import { useForm, useFormValidator, FormValidator$1_map, useFormField } from \"../CustomHooks/ComposedForm.fs.js\";\nimport { NonEmptyString, Address, EmptyString_get_Create, NonEmptyString_get_Create } from \"../shared/Domain.fs.js\";\nimport { join, isNullOrEmpty, printf, toConsole } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { TextFieldDisabled } from \"./DesignSystem.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Boldness, Padding, TextSize, MarginTop } from \"../Styles/Utils.fs.js\";\nimport { createObj } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\n\nexport function useAddressForm(streetDefault, numberDefault, busDefault, postalCodeDefault, cityDefault) {\n const street = useFormField(streetDefault, NonEmptyString_get_Create());\n const number = useFormField(numberDefault, NonEmptyString_get_Create());\n const bus = useFormField(busDefault, EmptyString_get_Create());\n const postalCode = useFormField(postalCodeDefault, NonEmptyString_get_Create());\n const city = useFormField(cityDefault, NonEmptyString_get_Create());\n return {\n BusField: bus,\n City: city,\n NumberField: number,\n PostalCodeField: postalCode,\n StreetField: street,\n Validator: FormValidator$1_map((x_5) => {\n toConsole(printf(\"Bus: %A\"))(x_5.Bus);\n return new Address(x_5.Street, x_5.Number, x_5.Bus, x_5.PostalCode, x_5.City);\n }, useFormValidator(city.Validator, (r_4, x_4) => ({\n Bus: r_4.Bus,\n City: x_4,\n Number: r_4.Number,\n PostalCode: r_4.PostalCode,\n Street: r_4.Street,\n }), useFormValidator(postalCode.Validator, (r_3, x_3) => ({\n Bus: r_3.Bus,\n Number: r_3.Number,\n PostalCode: x_3,\n Street: r_3.Street,\n }), useFormValidator(bus.Validator, (r_2, x_2) => ({\n Bus: isNullOrEmpty(x_2.Value) ? (void 0) : (new NonEmptyString(x_2.Value)),\n Number: r_2.Number,\n Street: r_2.Street,\n }), useFormValidator(number.Validator, (r_1, x_1) => ({\n Number: x_1,\n Street: r_1.Street,\n }), useFormValidator(street.Validator, (r, x) => ({\n Street: x,\n }), useForm())))))),\n };\n}\n\nexport function addressFields(addressForm, disabled) {\n const xs = [TextFieldDisabled(addressForm.StreetField, \"Straat\", \"\", true, disabled), TextFieldDisabled(addressForm.NumberField, \"Nummer\", \"\", true, disabled), TextFieldDisabled(addressForm.BusField, \"Bus(optioneel)\", \"\", false, disabled), TextFieldDisabled(addressForm.PostalCodeField, \"Postcode\", \"\", true, disabled), TextFieldDisabled(addressForm.City, \"Gemeente\", \"\", true, disabled)];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function CreateAddressForm(createAddressFormInputProps) {\n const disabled = createAddressFormInputProps.disabled;\n const heading = createAddressFormInputProps.heading;\n const addressForm = createAddressFormInputProps.addressForm;\n const xs_1 = [createElement(\"div\", {\n className: join(\" \", [MarginTop.M, TextSize.M, Padding.Xxs]),\n children: (heading == null) ? \"Adres\" : heading,\n }), addressFields(addressForm, disabled)];\n return react.createElement(react.Fragment, {}, ...xs_1);\n}\n\nexport function CreateAddressFormSmallHeader(createAddressFormSmallHeaderInputProps) {\n let elems;\n const disabled = createAddressFormSmallHeaderInputProps.disabled;\n const heading = createAddressFormSmallHeaderInputProps.heading;\n const addressForm = createAddressFormSmallHeaderInputProps.addressForm;\n const xs_1 = [createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [TextSize.S, MarginTop.L, Boldness.b600])], (elems = [(heading == null) ? \"Adres\" : heading], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]))), addressFields(addressForm, disabled)];\n return react.createElement(react.Fragment, {}, ...xs_1);\n}\n\nexport function CreateAddressFormWithReset(createAddressFormWithResetInputProps) {\n let value;\n const isSameAddress = createAddressFormWithResetInputProps.isSameAddress;\n const heading = createAddressFormWithResetInputProps.heading;\n const resetOption = createAddressFormWithResetInputProps.resetOption;\n const addressForm = createAddressFormWithResetInputProps.addressForm;\n const xs = [(value = ((heading == null) ? \"Adres\" : heading), createElement(\"h2\", {\n children: [value],\n })), resetOption, addressFields(addressForm, isSameAddress)];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\n","import { ensureErrorOrException } from './Types.js';\nexport class CancellationToken {\n constructor(cancelled = false) {\n this._id = 0;\n this._cancelled = cancelled;\n this._listeners = new Map();\n }\n get isCancelled() {\n return this._cancelled;\n }\n cancel() {\n if (!this._cancelled) {\n this._cancelled = true;\n for (const [, listener] of this._listeners) {\n listener();\n }\n }\n }\n addListener(f) {\n const id = this._id;\n this._listeners.set(this._id++, f);\n return id;\n }\n removeListener(id) {\n return this._listeners.delete(id);\n }\n register(f, state) {\n const $ = this;\n const id = this.addListener(state == null ? f : () => f(state));\n return { Dispose() { $.removeListener(id); } };\n }\n Dispose() {\n // Implement IDisposable for compatibility but do nothing\n // According to docs, calling Dispose does not trigger cancellation\n // https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtokensource.dispose?view=net-6.0\n }\n}\nexport class OperationCanceledError extends Error {\n constructor() {\n super(\"The operation was canceled\");\n Object.setPrototypeOf(this, OperationCanceledError.prototype);\n }\n}\nexport class Trampoline {\n constructor() {\n this.callCount = 0;\n }\n static get maxTrampolineCallCount() {\n return 2000;\n }\n incrementAndCheck() {\n return this.callCount++ > Trampoline.maxTrampolineCallCount;\n }\n hijack(f) {\n this.callCount = 0;\n setTimeout(f, 0);\n }\n}\nexport function protectedCont(f) {\n return (ctx) => {\n if (ctx.cancelToken.isCancelled) {\n ctx.onCancel(new OperationCanceledError());\n }\n else if (ctx.trampoline.incrementAndCheck()) {\n ctx.trampoline.hijack(() => {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(ensureErrorOrException(err));\n }\n });\n }\n else {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(ensureErrorOrException(err));\n }\n }\n };\n}\nexport function protectedBind(computation, binder) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n try {\n binder(x)(ctx);\n }\n catch (err) {\n ctx.onError(ensureErrorOrException(err));\n }\n },\n onError: ctx.onError,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n}\nexport function protectedReturn(value) {\n return protectedCont((ctx) => ctx.onSuccess(value));\n}\nexport class AsyncBuilder {\n Bind(computation, binder) {\n return protectedBind(computation, binder);\n }\n Combine(computation1, computation2) {\n return this.Bind(computation1, () => computation2);\n }\n Delay(generator) {\n return protectedCont((ctx) => generator()(ctx));\n }\n For(sequence, body) {\n const iter = sequence[Symbol.iterator]();\n let cur = iter.next();\n return this.While(() => !cur.done, this.Delay(() => {\n const res = body(cur.value);\n cur = iter.next();\n return res;\n }));\n }\n Return(value) {\n return protectedReturn(value);\n }\n ReturnFrom(computation) {\n return computation;\n }\n TryFinally(computation, compensation) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n compensation();\n ctx.onSuccess(x);\n },\n onError: (x) => {\n compensation();\n ctx.onError(x);\n },\n onCancel: (x) => {\n compensation();\n ctx.onCancel(x);\n },\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n }\n TryWith(computation, catchHandler) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: ctx.onSuccess,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n onError: (ex) => {\n try {\n catchHandler(ex)(ctx);\n }\n catch (err) {\n ctx.onError(ensureErrorOrException(err));\n }\n },\n });\n });\n }\n Using(resource, binder) {\n return this.TryFinally(binder(resource), () => resource.Dispose());\n }\n While(guard, computation) {\n if (guard()) {\n return this.Bind(computation, () => this.While(guard, computation));\n }\n else {\n return this.Return(void 0);\n }\n }\n Zero() {\n return protectedCont((ctx) => ctx.onSuccess(void 0));\n }\n}\nexport const singleton = new AsyncBuilder();\n","import { OperationCanceledError, Trampoline } from \"./AsyncBuilder.js\";\nimport { CancellationToken } from \"./AsyncBuilder.js\";\nimport { protectedCont } from \"./AsyncBuilder.js\";\nimport { protectedBind } from \"./AsyncBuilder.js\";\nimport { protectedReturn } from \"./AsyncBuilder.js\";\nimport { Choice_makeChoice1Of2, Choice_makeChoice2Of2 } from \"./Choice.js\";\nimport { TimeoutException } from \"./SystemException.js\";\n// Implemented just for type references\nexport class Async {\n}\nfunction emptyContinuation(_x) {\n // NOP\n}\n// see AsyncBuilder.Delay\nfunction delay(generator) {\n return protectedCont((ctx) => generator()(ctx));\n}\n// MakeAsync: body:(AsyncActivation<'T> -> AsyncReturn) -> Async<'T>\nexport function makeAsync(body) {\n return body;\n}\n// Invoke: computation: Async<'T> -> ctxt:AsyncActivation<'T> -> AsyncReturn\nexport function invoke(computation, ctx) {\n return computation(ctx);\n}\n// CallThenInvoke: ctxt:AsyncActivation<'T> -> result1:'U -> part2:('U -> Async<'T>) -> AsyncReturn\nexport function callThenInvoke(ctx, result1, part2) {\n return part2(result1)(ctx);\n}\n// Bind: ctxt:AsyncActivation<'T> -> part1:Async<'U> -> part2:('U -> Async<'T>) -> AsyncReturn\nexport function bind(ctx, part1, part2) {\n return protectedBind(part1, part2)(ctx);\n}\nexport function createCancellationToken(arg) {\n const token = new CancellationToken(typeof arg === \"boolean\" ? arg : false);\n if (typeof arg === \"number\") {\n setTimeout(() => { token.cancel(); }, arg);\n }\n return token;\n}\nexport function cancel(token) {\n token.cancel();\n}\nexport function cancelAfter(token, ms) {\n setTimeout(() => { token.cancel(); }, ms);\n}\nexport function isCancellationRequested(token) {\n return token != null && token.isCancelled;\n}\nexport function throwIfCancellationRequested(token) {\n if (token != null && token.isCancelled) {\n throw new Error(\"Operation is cancelled\");\n }\n}\nfunction throwAfter(millisecondsDueTime) {\n return protectedCont((ctx) => {\n let tokenId;\n const timeoutId = setTimeout(() => {\n ctx.cancelToken.removeListener(tokenId);\n ctx.onError(new TimeoutException());\n }, millisecondsDueTime);\n tokenId = ctx.cancelToken.addListener(() => {\n clearTimeout(timeoutId);\n ctx.onCancel(new OperationCanceledError());\n });\n });\n}\nexport function startChild(computation, ms) {\n if (ms) {\n const computationWithTimeout = protectedBind(parallel2(computation, throwAfter(ms)), xs => protectedReturn(xs[0]));\n return startChild(computationWithTimeout);\n }\n const promise = startAsPromise(computation);\n // JS Promises are hot, computation has already started\n // but we delay returning the result\n return protectedCont((ctx) => protectedReturn(awaitPromise(promise))(ctx));\n}\nexport function awaitPromise(p) {\n return fromContinuations((conts) => p.then(conts[0]).catch((err) => (err instanceof OperationCanceledError\n ? conts[2] : conts[1])(err)));\n}\nexport function cancellationToken() {\n return protectedCont((ctx) => ctx.onSuccess(ctx.cancelToken));\n}\nexport const defaultCancellationToken = new CancellationToken();\nexport function catchAsync(work) {\n return protectedCont((ctx) => {\n work({\n onSuccess: (x) => ctx.onSuccess(Choice_makeChoice1Of2(x)),\n onError: (ex) => ctx.onSuccess(Choice_makeChoice2Of2(ex)),\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n}\nexport function fromContinuations(f) {\n return protectedCont((ctx) => f([ctx.onSuccess, ctx.onError, ctx.onCancel]));\n}\nexport function ignore(computation) {\n return protectedBind(computation, (_x) => protectedReturn(void 0));\n}\nexport function parallel(computations) {\n return delay(() => awaitPromise(Promise.all(Array.from(computations, (w) => startAsPromise(w)))));\n}\nfunction parallel2(a, b) {\n return delay(() => awaitPromise(Promise.all([startAsPromise(a), startAsPromise(b)])));\n}\nexport function sequential(computations) {\n function _sequential(computations) {\n let pr = Promise.resolve([]);\n for (const c of computations) {\n pr = pr.then(results => startAsPromise(c).then(r => results.concat([r])));\n }\n return pr;\n }\n return delay(() => awaitPromise(_sequential(computations)));\n}\nexport function sleep(millisecondsDueTime) {\n return protectedCont((ctx) => {\n let tokenId;\n const timeoutId = setTimeout(() => {\n ctx.cancelToken.removeListener(tokenId);\n ctx.onSuccess(void 0);\n }, millisecondsDueTime);\n tokenId = ctx.cancelToken.addListener(() => {\n clearTimeout(timeoutId);\n ctx.onCancel(new OperationCanceledError());\n });\n });\n}\nexport function runSynchronously() {\n throw new Error(\"Asynchronous code cannot be run synchronously in JS\");\n}\nexport function start(computation, cancellationToken) {\n return startWithContinuations(computation, cancellationToken);\n}\nexport function startImmediate(computation, cancellationToken) {\n return start(computation, cancellationToken);\n}\nexport function startWithContinuations(computation, continuation, exceptionContinuation, cancellationContinuation, cancelToken) {\n if (typeof continuation !== \"function\") {\n cancelToken = continuation;\n continuation = undefined;\n }\n const trampoline = new Trampoline();\n computation({\n onSuccess: continuation ? continuation : emptyContinuation,\n onError: exceptionContinuation ? exceptionContinuation : emptyContinuation,\n onCancel: cancellationContinuation ? cancellationContinuation : emptyContinuation,\n cancelToken: cancelToken ? cancelToken : defaultCancellationToken,\n trampoline,\n });\n}\nexport function startAsPromise(computation, cancellationToken) {\n return new Promise((resolve, reject) => startWithContinuations(computation, resolve, reject, reject, cancellationToken ? cancellationToken : defaultCancellationToken));\n}\nexport default Async;\n","import { Record, Union } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { array_type, class_type, lambda_type, unit_type, bool_type, record_type, int32_type, union_type, string_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { keyValueList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/MapUtil.js\";\n\nexport class SnackAnchorOrigin extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Horizontal\", \"Vertical\"];\n }\n}\n\nexport function SnackAnchorOrigin$reflection() {\n return union_type(\"Notistack.SnackAnchorOrigin\", [], SnackAnchorOrigin, () => [[[\"Item\", string_type]], [[\"Item\", string_type]]]);\n}\n\nexport class TransitionDuration extends Record {\n constructor(Appear, Enter, Exit) {\n super();\n this.Appear = (Appear | 0);\n this.Enter = (Enter | 0);\n this.Exit = (Exit | 0);\n }\n}\n\nexport function TransitionDuration$reflection() {\n return record_type(\"Notistack.TransitionDuration\", [], TransitionDuration, () => [[\"Appear\", int32_type], [\"Enter\", int32_type], [\"Exit\", int32_type]]);\n}\n\nexport class SnackbarProp extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AriaAttributes\", \"DisableWindowBlurListener\", \"OnClose\", \"OnEnter\", \"OnEntered\", \"OnEntering\", \"OnExit\", \"OnExited\", \"OnExiting\", \"PreventDuplicate\", \"ResumeHideDuration\", \"TransitionDuration\"];\n }\n}\n\nexport function SnackbarProp$reflection() {\n return union_type(\"Notistack.SnackbarProp\", [], SnackbarProp, () => [[], [[\"Item\", bool_type]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", lambda_type(unit_type, unit_type)]], [[\"Item\", bool_type]], [[\"Item\", int32_type]], [[\"Item\", TransitionDuration$reflection()]]]);\n}\n\nexport function SnackbarProp_Variant_Z609E1E86(variant) {\n return [\"variant\", variant];\n}\n\nexport function SnackbarProp_Action_2B31D457(element) {\n return [\"action\", element];\n}\n\nexport function SnackbarProp_Action_3A5B6456(callback) {\n return [\"action\", callback];\n}\n\nexport function SnackbarProp_AutoHideDuration_4019FA9(durationInMilliSeconds) {\n if (durationInMilliSeconds == null) {\n return [\"autoHideDuration\", null];\n }\n else {\n return [\"autoHideDuration\", durationInMilliSeconds];\n }\n}\n\nexport function SnackbarProp_Content_2B31D457(element) {\n return [\"content\", element];\n}\n\nexport function SnackbarProp_Content_626D353D(callback) {\n return [\"content\", callback];\n}\n\nexport class IconVariant extends Record {\n constructor(Default, Error$, Success, Warning) {\n super();\n this.Default = Default;\n this.Error = Error$;\n this.Success = Success;\n this.Warning = Warning;\n }\n}\n\nexport function IconVariant$reflection() {\n return record_type(\"Notistack.IconVariant\", [], IconVariant, () => [[\"Default\", class_type(\"Fable.React.ReactElement\")], [\"Error\", class_type(\"Fable.React.ReactElement\")], [\"Success\", class_type(\"Fable.React.ReactElement\")], [\"Warning\", class_type(\"Fable.React.ReactElement\")]]);\n}\n\nexport class SnackbarProviderProp extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Classes\", \"Dense\", \"DomRoot\", \"HideIconVariant\", \"IconVariant\", \"MaxSnack\"];\n }\n}\n\nexport function SnackbarProviderProp$reflection() {\n return union_type(\"Notistack.SnackbarProviderProp\", [], SnackbarProviderProp, () => [[], [[\"Item\", bool_type]], [[\"Item\", class_type(\"Browser.Types.HTMLElement\")]], [[\"Item\", bool_type]], [[\"Item\", IconVariant$reflection()]], [[\"Item\", int32_type]]]);\n}\n\nexport class EnqueueSnackbarOption extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AnchorOrigin\", \"Persist\"];\n }\n}\n\nexport function EnqueueSnackbarOption$reflection() {\n return union_type(\"Notistack.EnqueueSnackbarOption\", [], EnqueueSnackbarOption, () => [[[\"Item\", array_type(SnackAnchorOrigin$reflection())]], [[\"Item\", bool_type]]]);\n}\n\nexport function EnqueueSnackbarOption_Key_Z721C83C5(key) {\n return [\"key\", key];\n}\n\nexport function EnqueueSnackbarOption_Key_Z524259A4(key) {\n return [\"key\", key];\n}\n\nexport class ProviderContext {\n constructor() {\n }\n}\n\nexport function ProviderContext$reflection() {\n return class_type(\"Notistack.ProviderContext\", void 0, ProviderContext);\n}\n\nexport function ProviderContext__enqueueSnackbar_Z1776A768(this$, message, ...options) {\n return this$.enqueueSnackbar(message,keyValueList(options, 1));\n}\n\nexport function ProviderContext__enqueueSnackbar_33B60434(this$, message, ...options) {\n return this$.enqueueSnackbar(message,keyValueList(options, 1));\n}\n\n","import { useReact_useEffect_Z5ECA432F, useReact_useEffect_Z101E1A95, useReact_useRef_1505, useFeliz_React__React_useState_Static_1505, useReact_useEffect_Z5234A374, React_useStateWithUpdater_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { addSeconds } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { useAuth0 } from \"@auth0/auth0-react\";\nimport { useSnackbar } from \"notistack\";\nimport { awaitPromise, startImmediate } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../Notistack/Notistack.fs.js\";\n\nexport function useCountdown(fromSeconds) {\n const patternInput = React_useStateWithUpdater_1505(fromSeconds);\n const setSeconds = patternInput[1];\n const seconds = patternInput[0] | 0;\n useReact_useEffect_Z5234A374(() => {\n setSeconds((_arg_1) => fromSeconds);\n const subscriptionId = window.setInterval((_arg) => {\n if (seconds > 0) {\n setSeconds((s) => (s - 1));\n }\n }, 1000);\n return {\n Dispose() {\n window.clearTimeout(subscriptionId);\n },\n };\n }, [fromSeconds]);\n return seconds | 0;\n}\n\nexport function useDateOffset(date) {\n const patternInput = React_useStateWithUpdater_1505(date);\n const setDate = patternInput[1];\n const date_1 = patternInput[0];\n useReact_useEffect_Z5234A374(() => {\n setDate((_arg_1) => date_1);\n const subscriptionId = window.setInterval((_arg) => {\n setDate((d) => addSeconds(d, 1));\n }, 1000);\n return {\n Dispose() {\n window.clearTimeout(subscriptionId);\n },\n };\n }, [date_1]);\n return date_1;\n}\n\nexport function useToggle(initial) {\n const patternInput = useFeliz_React__React_useState_Static_1505(initial);\n const setIsOn = patternInput[1];\n const isOn = patternInput[0];\n return {\n Off: () => {\n setIsOn(false);\n },\n On: () => {\n setIsOn(true);\n },\n State: isOn,\n Toggle: () => {\n setIsOn(!isOn);\n },\n };\n}\n\nexport function usePolling(callback, seconds, dependencies) {\n const savedCallback = useReact_useRef_1505(void 0);\n useReact_useEffect_Z101E1A95(() => {\n savedCallback.current = callback;\n }, dependencies);\n useReact_useEffect_Z5ECA432F(() => {\n const delay = (seconds * 1000) | 0;\n const id = window.setInterval(() => {\n const matchValue = savedCallback.current;\n if (matchValue == null) {\n }\n else {\n matchValue();\n }\n }, delay);\n return {\n Dispose() {\n window.clearInterval(id);\n },\n };\n });\n}\n\nexport function useDebouncedValue(milliseconds, value) {\n const patternInput = useFeliz_React__React_useState_Static_1505(value);\n useReact_useEffect_Z5234A374(() => {\n const handler = window.setTimeout(() => {\n patternInput[1](value);\n }, milliseconds);\n return {\n Dispose() {\n window.clearTimeout(handler);\n },\n };\n }, [value, milliseconds]);\n return patternInput[0];\n}\n\nexport function useUsername() {\n const auth = useAuth0();\n const snackbar = useSnackbar();\n const patternInput = useFeliz_React__React_useState_Static_1505(\"\");\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton.Delay(() => {\n const matchValue = auth.user;\n if (matchValue == null) {\n console.log(\"Could not get authenticated user name.\");\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren. [Could not get username]\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n return singleton.Bind(awaitPromise(auth.getIdTokenClaims()), (_arg) => {\n patternInput[1](_arg.name);\n return singleton.Zero();\n });\n }\n }));\n }, [auth]);\n return patternInput[0];\n}\n\n","import { fromDateTimeOffset, toString } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { format } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { AppointmentStatus, NonEmptyString, InspectionLocation, DossierStatus, QuoteStatus, CommentSource, Email___UnsafeUnwrap_Z27D11339, NonEmptyString___UnsafeUnwrap_Z73AD07C } from \"./Domain.fs.js\";\nimport { fromParts } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\n\nexport function GeneralFormats_dateTimeStamp(dateAndTime) {\n return toString(dateAndTime, \"dd/MM/yyyy HH:mm\");\n}\n\nexport function GeneralFormats_dateTimeStampShort(dateAndTime) {\n return toString(dateAndTime, \"dd/MM/yyyy\");\n}\n\nexport function GeneralFormats_id(id) {\n return format('{0:' + \"0000000\" + '}', id);\n}\n\nexport function GeneralFormats_dateTimeOffset(d) {\n return toString(d, \"yyyy-MM-dd\");\n}\n\nexport function GeneralFormats_dateTime(d) {\n return toString(d, \"yyyy-MM-dd\");\n}\n\nexport function Name_name(firstName, lastName) {\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(firstName)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(lastName)}`;\n}\n\nexport function Customer_name(customer) {\n const matchValue = [customer.FirstName, customer.LastName, customer.CompanyName];\n let pattern_matching_result, firstName, lastName, companyName;\n if (matchValue[0] != null) {\n if (matchValue[1] != null) {\n pattern_matching_result = 0;\n firstName = matchValue[0];\n lastName = matchValue[1];\n }\n else if (matchValue[2] != null) {\n pattern_matching_result = 1;\n companyName = matchValue[2];\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (matchValue[2] != null) {\n pattern_matching_result = 1;\n companyName = matchValue[2];\n }\n else {\n pattern_matching_result = 2;\n }\n switch (pattern_matching_result) {\n case 0: {\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(firstName)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(lastName)}`;\n }\n case 1: {\n return NonEmptyString___UnsafeUnwrap_Z73AD07C(companyName);\n }\n case 2: {\n return \"\";\n }\n }\n}\n\nexport function Customer_id(customer) {\n return `${customer.Id.Value}`;\n}\n\nexport function Customer2_name(customer) {\n if (customer.tag === 1) {\n return NonEmptyString___UnsafeUnwrap_Z73AD07C(customer.fields[0].CompanyName);\n }\n else {\n const customer_1 = customer.fields[0];\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(customer_1.FirstName)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(customer_1.LastName)}`;\n }\n}\n\nexport function Customer2_id(customer) {\n return `${customer.Id.Value}`;\n}\n\nexport function Adi_name(adi) {\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(adi.FirstName)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(adi.LastName)}`;\n}\n\nexport function Adi_id(adi) {\n return `${adi.Id.Value}`;\n}\n\nexport function Address_address(address) {\n let bus_1;\n const matchValue = address.Bus;\n if (matchValue == null) {\n bus_1 = \"\";\n }\n else {\n const bus = matchValue;\n bus_1 = (`, ${NonEmptyString___UnsafeUnwrap_Z73AD07C(bus)}`);\n }\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.Street)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.Number)} ${bus_1}, ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.PostalCode)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.City)}`;\n}\n\nexport function Email_email(email) {\n return Email___UnsafeUnwrap_Z27D11339(email);\n}\n\nexport function CommentSource_source(source) {\n switch (source.tag) {\n case 1: {\n return \"Beheerder\";\n }\n case 2: {\n return \"ADI\";\n }\n case 3: {\n return \"Klant\";\n }\n case 4: {\n return \"Partner\";\n }\n default: {\n return \"Systeem\";\n }\n }\n}\n\nexport function CommentSource_parseSource(source) {\n switch (source) {\n case \"Systeem\": {\n return new CommentSource(0);\n }\n case \"Beheerder\": {\n return new CommentSource(1);\n }\n case \"ADI\": {\n return new CommentSource(2);\n }\n case \"Klant\": {\n return new CommentSource(3);\n }\n case \"Partner\": {\n return new CommentSource(4);\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function Quote_status(status) {\n if (status.tag === 1) {\n return \"Omgezet\";\n }\n else {\n return \"Niet Omgezet\";\n }\n}\n\nexport function Quote_statusSyndic(status) {\n if (status.tag === 1) {\n return \"Omgezet\";\n }\n else {\n return \"Voorstel\";\n }\n}\n\nexport function Quote_parseStatus(status) {\n switch (status) {\n case \"Niet Omgezet\": {\n return new QuoteStatus(0);\n }\n case \"Omgezet\": {\n return new QuoteStatus(1);\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function Dossier_status(status) {\n switch (status.tag) {\n case 1: {\n return \"Geannuleerd\";\n }\n case 2: {\n return \"Bevestigd\";\n }\n case 3: {\n return \"Afspraak ingeboekt\";\n }\n case 4: {\n return \"Afspraak afgerond\";\n }\n case 5: {\n return \"Gefactureerd\";\n }\n case 6: {\n return \"Factuur betaald\";\n }\n case 7: {\n return \"Compleet\";\n }\n case 8: {\n return \"In behandeling\";\n }\n default: {\n return \"Opgestart\";\n }\n }\n}\n\nexport function Dossier_parseStatus(status) {\n switch (status) {\n case \"Opgestart\": {\n return new DossierStatus(0);\n }\n case \"Geannuleerd\": {\n return new DossierStatus(1);\n }\n case \"Bevestigd\": {\n return new DossierStatus(2);\n }\n case \"Afspraak ingeboekt\": {\n return new DossierStatus(3);\n }\n case \"Afspraak afgerond\": {\n return new DossierStatus(4);\n }\n case \"Gefactureerd\": {\n return new DossierStatus(5);\n }\n case \"Factuur betaald\": {\n return new DossierStatus(6);\n }\n case \"In behandeling\": {\n return new DossierStatus(8);\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function Dossier_Comment_comment(comment) {\n const matchValue = comment.Name;\n if (matchValue == null) {\n return `${GeneralFormats_dateTime(fromDateTimeOffset(comment.UpdatedOn, 0))}`;\n }\n else {\n const name = matchValue;\n return `${GeneralFormats_dateTime(fromDateTimeOffset(comment.UpdatedOn, 0))} ${name.Value} (${CommentSource_source(comment.CommentSource)})`;\n }\n}\n\nexport function Dossier_Events_event(event) {\n switch (event.tag) {\n case 1: {\n return \"Dossier gemaakt van quote\";\n }\n case 2: {\n return \"Dossier bijgewerkt\";\n }\n case 3: {\n return \"Opdrachtformulier opnieuw gegenereerd\";\n }\n default: {\n return \"Dossier gemaakt\";\n }\n }\n}\n\nexport function Compensation_compensation(compensation) {\n switch (compensation.tag) {\n case 1: {\n return \"€ 10\";\n }\n case 2: {\n return \"€ 20\";\n }\n case 3: {\n return \"€ 30\";\n }\n case 4: {\n return \"€ 40\";\n }\n case 5: {\n return \"€ 50\";\n }\n case 6: {\n return \"€ 60\";\n }\n case 7: {\n return \"€ 70\";\n }\n case 8: {\n return \"€ 80\";\n }\n case 9: {\n return \"€ 90\";\n }\n case 10: {\n return \"€ 100\";\n }\n case 11: {\n return `€ ${compensation.fields[0].Value}`;\n }\n default: {\n return \"Geen vergoeding\";\n }\n }\n}\n\nexport function Compensation_compensationToDecimal(compensation) {\n switch (compensation.tag) {\n case 1: {\n return fromParts(10, 0, 0, false, 0);\n }\n case 2: {\n return fromParts(20, 0, 0, false, 0);\n }\n case 3: {\n return fromParts(30, 0, 0, false, 0);\n }\n case 4: {\n return fromParts(40, 0, 0, false, 0);\n }\n case 5: {\n return fromParts(50, 0, 0, false, 0);\n }\n case 6: {\n return fromParts(60, 0, 0, false, 0);\n }\n case 7: {\n return fromParts(70, 0, 0, false, 0);\n }\n case 8: {\n return fromParts(80, 0, 0, false, 0);\n }\n case 9: {\n return fromParts(90, 0, 0, false, 0);\n }\n case 10: {\n return fromParts(100, 0, 0, false, 0);\n }\n case 11: {\n return compensation.fields[0].Value;\n }\n default: {\n return fromParts(0, 0, 0, false, 0);\n }\n }\n}\n\nexport function InspectionLocation_type$0027(type$0027) {\n switch (type$0027.tag) {\n case 1: {\n return \"Vlaams Gewest\";\n }\n case 2: {\n return \"Lokaal - regionaal\";\n }\n case 3: {\n return \"Openbaar Andere\";\n }\n case 4: {\n return \"Handelshuis\";\n }\n case 5: {\n return \"Handelsgelijkvloers\";\n }\n case 6: {\n return \"Horeca\";\n }\n case 7: {\n return \"Industrie\";\n }\n case 8: {\n return \"Jeugdvereniging\";\n }\n case 9: {\n return \"Kantoor\";\n }\n case 10: {\n return \"Landbouw\";\n }\n case 11: {\n return \"Logeerfunctie of Bed\\u0026Breakfast\";\n }\n case 12: {\n return \"Niet-residentieel Andere\";\n }\n case 13: {\n return \"Woonhuis\";\n }\n case 14: {\n return \"Studio\";\n }\n case 15: {\n return \"Eenkamer appartement\";\n }\n case 16: {\n return \"Appartement\";\n }\n case 17: {\n return \"Collectief woongebouw\";\n }\n case 18: {\n return \"Meerdere appartement\";\n }\n case 19: {\n return \"Garage\";\n }\n case 20: {\n return \"Overdekte open staanplaats\";\n }\n case 21: {\n return \"Woning + Magazijn\";\n }\n case 22: {\n return \"Gemene delen\";\n }\n case 23: {\n return \"Residentieel Andere\";\n }\n case 24: {\n return \"Onderwijs: AGION\";\n }\n case 25: {\n return \"Onderwijs: GO!\";\n }\n case 26: {\n return \"Onderwijs: hoger onderwijs\";\n }\n case 27: {\n return \"Religie\";\n }\n case 28: {\n return \"Sport/recreatie\";\n }\n case 29: {\n return \"Zorgvoorziening\";\n }\n case 30: {\n return \"Maatschappelijk Andere\";\n }\n default: {\n return \"Federaal\";\n }\n }\n}\n\nexport function InspectionLocation_parseType(type$0027) {\n switch (type$0027) {\n case \"Federaal\": {\n return new InspectionLocation(0);\n }\n case \"Vlaams Gewest\": {\n return new InspectionLocation(1);\n }\n case \"Lokaal - regionaal\": {\n return new InspectionLocation(2);\n }\n case \"Openbaar Andere\": {\n return new InspectionLocation(3, new NonEmptyString(\"\"));\n }\n case \"Handelshuis\": {\n return new InspectionLocation(4);\n }\n case \"Handelsgelijkvloers\": {\n return new InspectionLocation(5);\n }\n case \"Horeca\": {\n return new InspectionLocation(6);\n }\n case \"Industrie\": {\n return new InspectionLocation(7);\n }\n case \"Jeugdvereniging\": {\n return new InspectionLocation(8);\n }\n case \"Kantoor\": {\n return new InspectionLocation(9);\n }\n case \"Landbouw\": {\n return new InspectionLocation(10);\n }\n case \"Logeerfunctie of Bed\\u0026Breakfast\": {\n return new InspectionLocation(11);\n }\n case \"Niet-residentieel Andere\": {\n return new InspectionLocation(12, new NonEmptyString(\"\"));\n }\n case \"Woonhuis\": {\n return new InspectionLocation(13);\n }\n case \"Studio\": {\n return new InspectionLocation(14);\n }\n case \"Eenkamer appartenemt\": {\n return new InspectionLocation(15);\n }\n case \"Appartement\": {\n return new InspectionLocation(16);\n }\n case \"Collectief woongebouw\": {\n return new InspectionLocation(17);\n }\n case \"Meerdere appartement\": {\n return new InspectionLocation(18);\n }\n case \"Garage\": {\n return new InspectionLocation(19);\n }\n case \"Overdekte open staanplaats\": {\n return new InspectionLocation(20);\n }\n case \"Woning + Magazijn\": {\n return new InspectionLocation(21);\n }\n case \"Gemene delen\": {\n return new InspectionLocation(22);\n }\n case \"Residentieel Andere\": {\n return new InspectionLocation(23, new NonEmptyString(\"\"));\n }\n case \"Onderwijs: AGION\": {\n return new InspectionLocation(24);\n }\n case \"Onderwijs: GO!\": {\n return new InspectionLocation(25);\n }\n case \"Onderwijs: hoger onderwijs\": {\n return new InspectionLocation(26);\n }\n case \"Religie\": {\n return new InspectionLocation(27);\n }\n case \"Sport/recreatie\": {\n return new InspectionLocation(28);\n }\n case \"Zorgvoorziening\": {\n return new InspectionLocation(29);\n }\n case \"Maatschappelijk Andere\": {\n return new InspectionLocation(30, new NonEmptyString(\"\"));\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function InspectionLocation_extra(extra) {\n switch (extra.tag) {\n case 1: {\n return \"Staanplaats\";\n }\n case 2: {\n return \"Garagebox\";\n }\n default: {\n return \"Berging\";\n }\n }\n}\n\nexport function Appointment_status(status) {\n switch (status.tag) {\n case 2: {\n return \"Afspraak afgerond\";\n }\n case 1: {\n return \"Afspraak te vervolledigen\";\n }\n case 3: {\n return \"Geannuleerd\";\n }\n default: {\n return \"Afspraak gemaakt\";\n }\n }\n}\n\nexport function Appointment_parseStatus(status) {\n switch (status) {\n case \"Afspraak gemaakt\": {\n return new AppointmentStatus(0);\n }\n case \"Afspraak afgerond\": {\n return new AppointmentStatus(2);\n }\n case \"Afspraak te vervolledigen\": {\n return new AppointmentStatus(1);\n }\n case \"Geannuleerd\": {\n return new AppointmentStatus(3);\n }\n default: {\n return void 0;\n }\n }\n}\n\n","import { record_type, bool_type, list_type, option_type, class_type } from \"./Reflection.js\";\r\nimport { some, value as value_1 } from \"./Option.js\";\r\nimport { toString, Record } from \"./Types.js\";\r\nimport { FSharpList, fold as fold_2, cons, singleton as singleton_1, empty as empty_1, ofArrayWithTail, tail, head, isEmpty as isEmpty_1 } from \"./List.js\";\r\nimport { fold as fold_1, fill } from \"./Array.js\";\r\nimport { structuralHash, toIterator, disposeSafe, getEnumerator, isArrayLike } from \"./Util.js\";\r\nimport { join } from \"./String.js\";\r\nimport { exists as exists_1, cache, forAll as forAll_1, fold as fold_3, reduce, iterate as iterate_1, map as map_1 } from \"./Seq.js\";\r\nimport { HashSet__get_Comparer, HashSet_$ctor_Z6150332D, HashSet } from \"./MutableSet.js\";\r\n\r\nexport class SetTreeLeaf$1 {\r\n constructor(k) {\r\n this.k = k;\r\n }\r\n}\r\n\r\nexport function SetTreeLeaf$1$reflection(gen0) {\r\n return class_type(\"Set.SetTreeLeaf`1\", [gen0], SetTreeLeaf$1);\r\n}\r\n\r\nexport function SetTreeLeaf$1_$ctor_2B595(k) {\r\n return new SetTreeLeaf$1(k);\r\n}\r\n\r\nexport function SetTreeLeaf$1__get_Key(_) {\r\n return _.k;\r\n}\r\n\r\nexport class SetTreeNode$1 extends SetTreeLeaf$1 {\r\n constructor(v, left, right, h) {\r\n super(v);\r\n this.left = left;\r\n this.right = right;\r\n this.h = (h | 0);\r\n }\r\n}\r\n\r\nexport function SetTreeNode$1$reflection(gen0) {\r\n return class_type(\"Set.SetTreeNode`1\", [gen0], SetTreeNode$1, SetTreeLeaf$1$reflection(gen0));\r\n}\r\n\r\nexport function SetTreeNode$1_$ctor_Z6E7BE5F7(v, left, right, h) {\r\n return new SetTreeNode$1(v, left, right, h);\r\n}\r\n\r\nexport function SetTreeNode$1__get_Left(_) {\r\n return _.left;\r\n}\r\n\r\nexport function SetTreeNode$1__get_Right(_) {\r\n return _.right;\r\n}\r\n\r\nexport function SetTreeNode$1__get_Height(_) {\r\n return _.h;\r\n}\r\n\r\nexport function SetTreeModule_empty() {\r\n return void 0;\r\n}\r\n\r\nexport function SetTreeModule_countAux(t_mut, acc_mut) {\r\n SetTreeModule_countAux:\r\n while (true) {\r\n const t = t_mut, acc = acc_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n acc_mut = SetTreeModule_countAux(SetTreeNode$1__get_Right(t2), acc + 1);\r\n continue SetTreeModule_countAux;\r\n }\r\n else {\r\n return (acc + 1) | 0;\r\n }\r\n }\r\n else {\r\n return acc | 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_count(s) {\r\n return SetTreeModule_countAux(s, 0);\r\n}\r\n\r\nexport function SetTreeModule_mk(l, k, r) {\r\n let hl;\r\n const t = l;\r\n if (t != null) {\r\n const t2 = t;\r\n hl = ((t2 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2) : 1);\r\n }\r\n else {\r\n hl = 0;\r\n }\r\n let hr;\r\n const t_1 = r;\r\n if (t_1 != null) {\r\n const t2_1 = t_1;\r\n hr = ((t2_1 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2_1) : 1);\r\n }\r\n else {\r\n hr = 0;\r\n }\r\n const m = ((hl < hr) ? hr : hl) | 0;\r\n if (m === 0) {\r\n return SetTreeLeaf$1_$ctor_2B595(k);\r\n }\r\n else {\r\n return SetTreeNode$1_$ctor_Z6E7BE5F7(k, l, r, m + 1);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_rebalance(t1, v, t2) {\r\n let t_2, t2_3, t_3, t2_4;\r\n let t1h;\r\n const t = t1;\r\n if (t != null) {\r\n const t2_1 = t;\r\n t1h = ((t2_1 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2_1) : 1);\r\n }\r\n else {\r\n t1h = 0;\r\n }\r\n let t2h;\r\n const t_1 = t2;\r\n if (t_1 != null) {\r\n const t2_2 = t_1;\r\n t2h = ((t2_2 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2_2) : 1);\r\n }\r\n else {\r\n t2h = 0;\r\n }\r\n if (t2h > (t1h + 2)) {\r\n const matchValue = value_1(t2);\r\n if (matchValue instanceof SetTreeNode$1) {\r\n if (((t_2 = SetTreeNode$1__get_Left(matchValue), (t_2 != null) ? ((t2_3 = t_2, (t2_3 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2_3) : 1)) : 0)) > (t1h + 1)) {\r\n const matchValue_1 = value_1(SetTreeNode$1__get_Left(matchValue));\r\n if (matchValue_1 instanceof SetTreeNode$1) {\r\n return SetTreeModule_mk(SetTreeModule_mk(t1, v, SetTreeNode$1__get_Left(matchValue_1)), SetTreeLeaf$1__get_Key(matchValue_1), SetTreeModule_mk(SetTreeNode$1__get_Right(matchValue_1), SetTreeLeaf$1__get_Key(matchValue), SetTreeNode$1__get_Right(matchValue)));\r\n }\r\n else {\r\n throw (new Error(\"internal error: Set.rebalance\"));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_mk(SetTreeModule_mk(t1, v, SetTreeNode$1__get_Left(matchValue)), SetTreeLeaf$1__get_Key(matchValue), SetTreeNode$1__get_Right(matchValue));\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Set.rebalance\"));\r\n }\r\n }\r\n else if (t1h > (t2h + 2)) {\r\n const matchValue_2 = value_1(t1);\r\n if (matchValue_2 instanceof SetTreeNode$1) {\r\n if (((t_3 = SetTreeNode$1__get_Right(matchValue_2), (t_3 != null) ? ((t2_4 = t_3, (t2_4 instanceof SetTreeNode$1) ? SetTreeNode$1__get_Height(t2_4) : 1)) : 0)) > (t2h + 1)) {\r\n const matchValue_3 = value_1(SetTreeNode$1__get_Right(matchValue_2));\r\n if (matchValue_3 instanceof SetTreeNode$1) {\r\n return SetTreeModule_mk(SetTreeModule_mk(SetTreeNode$1__get_Left(matchValue_2), SetTreeLeaf$1__get_Key(matchValue_2), SetTreeNode$1__get_Left(matchValue_3)), SetTreeLeaf$1__get_Key(matchValue_3), SetTreeModule_mk(SetTreeNode$1__get_Right(matchValue_3), v, t2));\r\n }\r\n else {\r\n throw (new Error(\"internal error: Set.rebalance\"));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_mk(SetTreeNode$1__get_Left(matchValue_2), SetTreeLeaf$1__get_Key(matchValue_2), SetTreeModule_mk(SetTreeNode$1__get_Right(matchValue_2), v, t2));\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Set.rebalance\"));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_mk(t1, v, t2);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_add(comparer, k, t) {\r\n if (t != null) {\r\n const t2 = t;\r\n const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (c < 0) {\r\n return SetTreeModule_rebalance(SetTreeModule_add(comparer, k, SetTreeNode$1__get_Left(t2)), SetTreeLeaf$1__get_Key(t2), SetTreeNode$1__get_Right(t2));\r\n }\r\n else if (c === 0) {\r\n return t;\r\n }\r\n else {\r\n return SetTreeModule_rebalance(SetTreeNode$1__get_Left(t2), SetTreeLeaf$1__get_Key(t2), SetTreeModule_add(comparer, k, SetTreeNode$1__get_Right(t2)));\r\n }\r\n }\r\n else {\r\n const c_1 = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;\r\n if (c_1 < 0) {\r\n return SetTreeNode$1_$ctor_Z6E7BE5F7(k, SetTreeModule_empty(), t, 2);\r\n }\r\n else if (c_1 === 0) {\r\n return t;\r\n }\r\n else {\r\n return SetTreeNode$1_$ctor_Z6E7BE5F7(k, t, SetTreeModule_empty(), 2);\r\n }\r\n }\r\n }\r\n else {\r\n return SetTreeLeaf$1_$ctor_2B595(k);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_balance(comparer, t1, k, t2) {\r\n if (t1 != null) {\r\n const t1$0027 = t1;\r\n if (t2 != null) {\r\n const t2$0027 = t2;\r\n if (t1$0027 instanceof SetTreeNode$1) {\r\n if (t2$0027 instanceof SetTreeNode$1) {\r\n if ((SetTreeNode$1__get_Height(t1$0027) + 2) < SetTreeNode$1__get_Height(t2$0027)) {\r\n return SetTreeModule_rebalance(SetTreeModule_balance(comparer, t1, k, SetTreeNode$1__get_Left(t2$0027)), SetTreeLeaf$1__get_Key(t2$0027), SetTreeNode$1__get_Right(t2$0027));\r\n }\r\n else if ((SetTreeNode$1__get_Height(t2$0027) + 2) < SetTreeNode$1__get_Height(t1$0027)) {\r\n return SetTreeModule_rebalance(SetTreeNode$1__get_Left(t1$0027), SetTreeLeaf$1__get_Key(t1$0027), SetTreeModule_balance(comparer, SetTreeNode$1__get_Right(t1$0027), k, t2));\r\n }\r\n else {\r\n return SetTreeModule_mk(t1, k, t2);\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, k, SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2$0027), t1));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, k, SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t1$0027), t2));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, k, t1);\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, k, t2);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_split(comparer, pivot, t) {\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n const c = comparer.Compare(pivot, SetTreeLeaf$1__get_Key(t2)) | 0;\r\n if (c < 0) {\r\n const patternInput = SetTreeModule_split(comparer, pivot, SetTreeNode$1__get_Left(t2));\r\n return [patternInput[0], patternInput[1], SetTreeModule_balance(comparer, patternInput[2], SetTreeLeaf$1__get_Key(t2), SetTreeNode$1__get_Right(t2))];\r\n }\r\n else if (c === 0) {\r\n return [SetTreeNode$1__get_Left(t2), true, SetTreeNode$1__get_Right(t2)];\r\n }\r\n else {\r\n const patternInput_1 = SetTreeModule_split(comparer, pivot, SetTreeNode$1__get_Right(t2));\r\n return [SetTreeModule_balance(comparer, SetTreeNode$1__get_Left(t2), SetTreeLeaf$1__get_Key(t2), patternInput_1[0]), patternInput_1[1], patternInput_1[2]];\r\n }\r\n }\r\n else {\r\n const c_1 = comparer.Compare(SetTreeLeaf$1__get_Key(t2), pivot) | 0;\r\n if (c_1 < 0) {\r\n return [t, false, SetTreeModule_empty()];\r\n }\r\n else if (c_1 === 0) {\r\n return [SetTreeModule_empty(), true, SetTreeModule_empty()];\r\n }\r\n else {\r\n return [SetTreeModule_empty(), false, t];\r\n }\r\n }\r\n }\r\n else {\r\n return [SetTreeModule_empty(), false, SetTreeModule_empty()];\r\n }\r\n}\r\n\r\nexport function SetTreeModule_spliceOutSuccessor(t) {\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (SetTreeNode$1__get_Left(t2) == null) {\r\n return [SetTreeLeaf$1__get_Key(t2), SetTreeNode$1__get_Right(t2)];\r\n }\r\n else {\r\n const patternInput = SetTreeModule_spliceOutSuccessor(SetTreeNode$1__get_Left(t2));\r\n return [patternInput[0], SetTreeModule_mk(patternInput[1], SetTreeLeaf$1__get_Key(t2), SetTreeNode$1__get_Right(t2))];\r\n }\r\n }\r\n else {\r\n return [SetTreeLeaf$1__get_Key(t2), SetTreeModule_empty()];\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Set.spliceOutSuccessor\"));\r\n }\r\n}\r\n\r\nexport function SetTreeModule_remove(comparer, k, t) {\r\n if (t != null) {\r\n const t2 = t;\r\n const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (c < 0) {\r\n return SetTreeModule_rebalance(SetTreeModule_remove(comparer, k, SetTreeNode$1__get_Left(t2)), SetTreeLeaf$1__get_Key(t2), SetTreeNode$1__get_Right(t2));\r\n }\r\n else if (c === 0) {\r\n if (SetTreeNode$1__get_Left(t2) == null) {\r\n return SetTreeNode$1__get_Right(t2);\r\n }\r\n else if (SetTreeNode$1__get_Right(t2) == null) {\r\n return SetTreeNode$1__get_Left(t2);\r\n }\r\n else {\r\n const patternInput = SetTreeModule_spliceOutSuccessor(SetTreeNode$1__get_Right(t2));\r\n return SetTreeModule_mk(SetTreeNode$1__get_Left(t2), patternInput[0], patternInput[1]);\r\n }\r\n }\r\n else {\r\n return SetTreeModule_rebalance(SetTreeNode$1__get_Left(t2), SetTreeLeaf$1__get_Key(t2), SetTreeModule_remove(comparer, k, SetTreeNode$1__get_Right(t2)));\r\n }\r\n }\r\n else if (c === 0) {\r\n return SetTreeModule_empty();\r\n }\r\n else {\r\n return t;\r\n }\r\n }\r\n else {\r\n return t;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_mem(comparer_mut, k_mut, t_mut) {\r\n SetTreeModule_mem:\r\n while (true) {\r\n const comparer = comparer_mut, k = k_mut, t = t_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (c < 0) {\r\n comparer_mut = comparer;\r\n k_mut = k;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n continue SetTreeModule_mem;\r\n }\r\n else if (c === 0) {\r\n return true;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n k_mut = k;\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n continue SetTreeModule_mem;\r\n }\r\n }\r\n else {\r\n return c === 0;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_iter(f_mut, t_mut) {\r\n SetTreeModule_iter:\r\n while (true) {\r\n const f = f_mut, t = t_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n SetTreeModule_iter(f, SetTreeNode$1__get_Left(t2));\r\n f(SetTreeLeaf$1__get_Key(t2));\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n continue SetTreeModule_iter;\r\n }\r\n else {\r\n f(SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_foldBackOpt(f_mut, t_mut, x_mut) {\r\n SetTreeModule_foldBackOpt:\r\n while (true) {\r\n const f = f_mut, t = t_mut, x = x_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n x_mut = f(SetTreeLeaf$1__get_Key(t2), SetTreeModule_foldBackOpt(f, SetTreeNode$1__get_Right(t2), x));\r\n continue SetTreeModule_foldBackOpt;\r\n }\r\n else {\r\n return f(SetTreeLeaf$1__get_Key(t2), x);\r\n }\r\n }\r\n else {\r\n return x;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_foldBack(f, m, x) {\r\n return SetTreeModule_foldBackOpt(f, m, x);\r\n}\r\n\r\nexport function SetTreeModule_foldOpt(f_mut, x_mut, t_mut) {\r\n SetTreeModule_foldOpt:\r\n while (true) {\r\n const f = f_mut, x = x_mut, t = t_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n f_mut = f;\r\n x_mut = f(SetTreeModule_foldOpt(f, x, SetTreeNode$1__get_Left(t2)), SetTreeLeaf$1__get_Key(t2));\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n continue SetTreeModule_foldOpt;\r\n }\r\n else {\r\n return f(x, SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n else {\r\n return x;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_fold(f, x, m) {\r\n return SetTreeModule_foldOpt(f, x, m);\r\n}\r\n\r\nexport function SetTreeModule_forall(f_mut, t_mut) {\r\n SetTreeModule_forall:\r\n while (true) {\r\n const f = f_mut, t = t_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (f(SetTreeLeaf$1__get_Key(t2)) && SetTreeModule_forall(f, SetTreeNode$1__get_Left(t2))) {\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n continue SetTreeModule_forall;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return f(SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_exists(f_mut, t_mut) {\r\n SetTreeModule_exists:\r\n while (true) {\r\n const f = f_mut, t = t_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n if (f(SetTreeLeaf$1__get_Key(t2)) ? true : SetTreeModule_exists(f, SetTreeNode$1__get_Left(t2))) {\r\n return true;\r\n }\r\n else {\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n continue SetTreeModule_exists;\r\n }\r\n }\r\n else {\r\n return f(SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_subset(comparer, a, b) {\r\n return SetTreeModule_forall((x) => SetTreeModule_mem(comparer, x, b), a);\r\n}\r\n\r\nexport function SetTreeModule_properSubset(comparer, a, b) {\r\n if (SetTreeModule_forall((x) => SetTreeModule_mem(comparer, x, b), a)) {\r\n return SetTreeModule_exists((x_1) => (!SetTreeModule_mem(comparer, x_1, a)), b);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_filterAux(comparer_mut, f_mut, t_mut, acc_mut) {\r\n SetTreeModule_filterAux:\r\n while (true) {\r\n const comparer = comparer_mut, f = f_mut, t = t_mut, acc = acc_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n const acc_1 = f(SetTreeLeaf$1__get_Key(t2)) ? SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc) : acc;\r\n comparer_mut = comparer;\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n acc_mut = SetTreeModule_filterAux(comparer, f, SetTreeNode$1__get_Right(t2), acc_1);\r\n continue SetTreeModule_filterAux;\r\n }\r\n else if (f(SetTreeLeaf$1__get_Key(t2))) {\r\n return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc);\r\n }\r\n else {\r\n return acc;\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_filter(comparer, f, s) {\r\n return SetTreeModule_filterAux(comparer, f, s, SetTreeModule_empty());\r\n}\r\n\r\nexport function SetTreeModule_diffAux(comparer_mut, t_mut, acc_mut) {\r\n SetTreeModule_diffAux:\r\n while (true) {\r\n const comparer = comparer_mut, t = t_mut, acc = acc_mut;\r\n if (acc == null) {\r\n return acc;\r\n }\r\n else if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n acc_mut = SetTreeModule_diffAux(comparer, SetTreeNode$1__get_Right(t2), SetTreeModule_remove(comparer, SetTreeLeaf$1__get_Key(t2), acc));\r\n continue SetTreeModule_diffAux;\r\n }\r\n else {\r\n return SetTreeModule_remove(comparer, SetTreeLeaf$1__get_Key(t2), acc);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_diff(comparer, a, b) {\r\n return SetTreeModule_diffAux(comparer, b, a);\r\n}\r\n\r\nexport function SetTreeModule_union(comparer, t1, t2) {\r\n if (t1 != null) {\r\n const t1$0027 = t1;\r\n if (t2 != null) {\r\n const t2$0027 = t2;\r\n if (t1$0027 instanceof SetTreeNode$1) {\r\n if (t2$0027 instanceof SetTreeNode$1) {\r\n if (SetTreeNode$1__get_Height(t1$0027) > SetTreeNode$1__get_Height(t2$0027)) {\r\n const patternInput = SetTreeModule_split(comparer, SetTreeLeaf$1__get_Key(t1$0027), t2);\r\n return SetTreeModule_balance(comparer, SetTreeModule_union(comparer, SetTreeNode$1__get_Left(t1$0027), patternInput[0]), SetTreeLeaf$1__get_Key(t1$0027), SetTreeModule_union(comparer, SetTreeNode$1__get_Right(t1$0027), patternInput[2]));\r\n }\r\n else {\r\n const patternInput_1 = SetTreeModule_split(comparer, SetTreeLeaf$1__get_Key(t2$0027), t1);\r\n return SetTreeModule_balance(comparer, SetTreeModule_union(comparer, SetTreeNode$1__get_Left(t2$0027), patternInput_1[0]), SetTreeLeaf$1__get_Key(t2$0027), SetTreeModule_union(comparer, SetTreeNode$1__get_Right(t2$0027), patternInput_1[2]));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2$0027), t1);\r\n }\r\n }\r\n else {\r\n return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t1$0027), t2);\r\n }\r\n }\r\n else {\r\n return t1;\r\n }\r\n }\r\n else {\r\n return t2;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_intersectionAux(comparer_mut, b_mut, t_mut, acc_mut) {\r\n SetTreeModule_intersectionAux:\r\n while (true) {\r\n const comparer = comparer_mut, b = b_mut, t = t_mut, acc = acc_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n const acc_1 = SetTreeModule_intersectionAux(comparer, b, SetTreeNode$1__get_Right(t2), acc);\r\n const acc_2 = SetTreeModule_mem(comparer, SetTreeLeaf$1__get_Key(t2), b) ? SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc_1) : acc_1;\r\n comparer_mut = comparer;\r\n b_mut = b;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n acc_mut = acc_2;\r\n continue SetTreeModule_intersectionAux;\r\n }\r\n else if (SetTreeModule_mem(comparer, SetTreeLeaf$1__get_Key(t2), b)) {\r\n return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc);\r\n }\r\n else {\r\n return acc;\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_intersection(comparer, a, b) {\r\n return SetTreeModule_intersectionAux(comparer, b, a, SetTreeModule_empty());\r\n}\r\n\r\nexport function SetTreeModule_partition1(comparer, f, k, acc1, acc2) {\r\n if (f(k)) {\r\n return [SetTreeModule_add(comparer, k, acc1), acc2];\r\n }\r\n else {\r\n return [acc1, SetTreeModule_add(comparer, k, acc2)];\r\n }\r\n}\r\n\r\nexport function SetTreeModule_partitionAux(comparer_mut, f_mut, t_mut, acc__mut, acc__1_mut) {\r\n SetTreeModule_partitionAux:\r\n while (true) {\r\n const comparer = comparer_mut, f = f_mut, t = t_mut, acc_ = acc__mut, acc__1 = acc__1_mut;\r\n const acc = [acc_, acc__1];\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n const acc_1 = SetTreeModule_partitionAux(comparer, f, SetTreeNode$1__get_Right(t2), acc[0], acc[1]);\r\n const acc_4 = SetTreeModule_partition1(comparer, f, SetTreeLeaf$1__get_Key(t2), acc_1[0], acc_1[1]);\r\n comparer_mut = comparer;\r\n f_mut = f;\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n acc__mut = acc_4[0];\r\n acc__1_mut = acc_4[1];\r\n continue SetTreeModule_partitionAux;\r\n }\r\n else {\r\n return SetTreeModule_partition1(comparer, f, SetTreeLeaf$1__get_Key(t2), acc[0], acc[1]);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_partition(comparer, f, s) {\r\n return SetTreeModule_partitionAux(comparer, f, s, SetTreeModule_empty(), SetTreeModule_empty());\r\n}\r\n\r\nexport function SetTreeModule_minimumElementAux(t_mut, n_mut) {\r\n SetTreeModule_minimumElementAux:\r\n while (true) {\r\n const t = t_mut, n = n_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n t_mut = SetTreeNode$1__get_Left(t2);\r\n n_mut = SetTreeLeaf$1__get_Key(t2);\r\n continue SetTreeModule_minimumElementAux;\r\n }\r\n else {\r\n return SetTreeLeaf$1__get_Key(t2);\r\n }\r\n }\r\n else {\r\n return n;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_minimumElementOpt(t) {\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n return some(SetTreeModule_minimumElementAux(SetTreeNode$1__get_Left(t2), SetTreeLeaf$1__get_Key(t2)));\r\n }\r\n else {\r\n return some(SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_maximumElementAux(t_mut, n_mut) {\r\n SetTreeModule_maximumElementAux:\r\n while (true) {\r\n const t = t_mut, n = n_mut;\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n t_mut = SetTreeNode$1__get_Right(t2);\r\n n_mut = SetTreeLeaf$1__get_Key(t2);\r\n continue SetTreeModule_maximumElementAux;\r\n }\r\n else {\r\n return SetTreeLeaf$1__get_Key(t2);\r\n }\r\n }\r\n else {\r\n return n;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_maximumElementOpt(t) {\r\n if (t != null) {\r\n const t2 = t;\r\n if (t2 instanceof SetTreeNode$1) {\r\n return some(SetTreeModule_maximumElementAux(SetTreeNode$1__get_Right(t2), SetTreeLeaf$1__get_Key(t2)));\r\n }\r\n else {\r\n return some(SetTreeLeaf$1__get_Key(t2));\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_minimumElement(s) {\r\n const matchValue = SetTreeModule_minimumElementOpt(s);\r\n if (matchValue == null) {\r\n throw (new Error(\"Set contains no elements\"));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_maximumElement(s) {\r\n const matchValue = SetTreeModule_maximumElementOpt(s);\r\n if (matchValue == null) {\r\n throw (new Error(\"Set contains no elements\"));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport class SetTreeModule_SetIterator$1 extends Record {\r\n constructor(stack, started) {\r\n super();\r\n this.stack = stack;\r\n this.started = started;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_SetIterator$1$reflection(gen0) {\r\n return record_type(\"Set.SetTreeModule.SetIterator`1\", [gen0], SetTreeModule_SetIterator$1, () => [[\"stack\", list_type(option_type(SetTreeLeaf$1$reflection(gen0)))], [\"started\", bool_type]]);\r\n}\r\n\r\nexport function SetTreeModule_collapseLHS(stack_mut) {\r\n SetTreeModule_collapseLHS:\r\n while (true) {\r\n const stack = stack_mut;\r\n if (!isEmpty_1(stack)) {\r\n const x = head(stack);\r\n const rest = tail(stack);\r\n if (x != null) {\r\n const x2 = x;\r\n if (x2 instanceof SetTreeNode$1) {\r\n stack_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2)), SetTreeNode$1__get_Right(x2)], rest);\r\n continue SetTreeModule_collapseLHS;\r\n }\r\n else {\r\n return stack;\r\n }\r\n }\r\n else {\r\n stack_mut = rest;\r\n continue SetTreeModule_collapseLHS;\r\n }\r\n }\r\n else {\r\n return empty_1();\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_mkIterator(s) {\r\n return new SetTreeModule_SetIterator$1(SetTreeModule_collapseLHS(singleton_1(s)), false);\r\n}\r\n\r\nexport function SetTreeModule_notStarted() {\r\n throw (new Error(\"Enumeration not started\"));\r\n}\r\n\r\nexport function SetTreeModule_alreadyFinished() {\r\n throw (new Error(\"Enumeration already started\"));\r\n}\r\n\r\nexport function SetTreeModule_current(i) {\r\n if (i.started) {\r\n const matchValue = i.stack;\r\n if (isEmpty_1(matchValue)) {\r\n return SetTreeModule_alreadyFinished();\r\n }\r\n else if (head(matchValue) != null) {\r\n const t = head(matchValue);\r\n return SetTreeLeaf$1__get_Key(t);\r\n }\r\n else {\r\n throw (new Error(\"Please report error: Set iterator, unexpected stack for current\"));\r\n }\r\n }\r\n else {\r\n return SetTreeModule_notStarted();\r\n }\r\n}\r\n\r\nexport function SetTreeModule_moveNext(i) {\r\n if (i.started) {\r\n const matchValue = i.stack;\r\n if (!isEmpty_1(matchValue)) {\r\n if (head(matchValue) != null) {\r\n const t = head(matchValue);\r\n if (t instanceof SetTreeNode$1) {\r\n throw (new Error(\"Please report error: Set iterator, unexpected stack for moveNext\"));\r\n }\r\n else {\r\n i.stack = SetTreeModule_collapseLHS(tail(matchValue));\r\n return !isEmpty_1(i.stack);\r\n }\r\n }\r\n else {\r\n throw (new Error(\"Please report error: Set iterator, unexpected stack for moveNext\"));\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n i.started = true;\r\n return !isEmpty_1(i.stack);\r\n }\r\n}\r\n\r\nexport function SetTreeModule_mkIEnumerator(s) {\r\n let i = SetTreeModule_mkIterator(s);\r\n return {\r\n [\"System.Collections.Generic.IEnumerator`1.get_Current\"]() {\r\n return SetTreeModule_current(i);\r\n },\r\n [\"System.Collections.IEnumerator.get_Current\"]() {\r\n return SetTreeModule_current(i);\r\n },\r\n [\"System.Collections.IEnumerator.MoveNext\"]() {\r\n return SetTreeModule_moveNext(i);\r\n },\r\n [\"System.Collections.IEnumerator.Reset\"]() {\r\n i = SetTreeModule_mkIterator(s);\r\n },\r\n Dispose() {\r\n },\r\n };\r\n}\r\n\r\nexport function SetTreeModule_compareStacks(comparer_mut, l1_mut, l2_mut) {\r\n SetTreeModule_compareStacks:\r\n while (true) {\r\n const comparer = comparer_mut, l1 = l1_mut, l2 = l2_mut;\r\n const matchValue = [l1, l2];\r\n if (!isEmpty_1(matchValue[0])) {\r\n if (!isEmpty_1(matchValue[1])) {\r\n if (head(matchValue[1]) != null) {\r\n if (head(matchValue[0]) != null) {\r\n const x1_3 = head(matchValue[0]);\r\n const x2_3 = head(matchValue[1]);\r\n if (x1_3 instanceof SetTreeNode$1) {\r\n if (SetTreeNode$1__get_Left(x1_3) == null) {\r\n if (x2_3 instanceof SetTreeNode$1) {\r\n if (SetTreeNode$1__get_Left(x2_3) == null) {\r\n const c = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2_3)) | 0;\r\n if (c !== 0) {\r\n return c | 0;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = cons(SetTreeNode$1__get_Right(x1_3), tail(matchValue[0]));\r\n l2_mut = cons(SetTreeNode$1__get_Right(x2_3), tail(matchValue[1]));\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n else {\r\n const matchValue_3 = [l1, l2];\r\n let pattern_matching_result, t1_6, x1_4, t2_6, x2_4;\r\n if (!isEmpty_1(matchValue_3[0])) {\r\n if (head(matchValue_3[0]) != null) {\r\n pattern_matching_result = 0;\r\n t1_6 = tail(matchValue_3[0]);\r\n x1_4 = head(matchValue_3[0]);\r\n }\r\n else if (!isEmpty_1(matchValue_3[1])) {\r\n if (head(matchValue_3[1]) != null) {\r\n pattern_matching_result = 1;\r\n t2_6 = tail(matchValue_3[1]);\r\n x2_4 = head(matchValue_3[1]);\r\n }\r\n else {\r\n pattern_matching_result = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 2;\r\n }\r\n }\r\n else if (!isEmpty_1(matchValue_3[1])) {\r\n if (head(matchValue_3[1]) != null) {\r\n pattern_matching_result = 1;\r\n t2_6 = tail(matchValue_3[1]);\r\n x2_4 = head(matchValue_3[1]);\r\n }\r\n else {\r\n pattern_matching_result = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 2;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n if (x1_4 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x1_4), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x1_4), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1_4), 0)], t1_6);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_4))], t1_6);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 1: {\r\n if (x2_4 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2_4), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x2_4), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2_4), 0)], t2_6);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_4))], t2_6);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error(\"unexpected state in SetTree.compareStacks\"));\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n const c_1 = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2_3)) | 0;\r\n if (c_1 !== 0) {\r\n return c_1 | 0;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = cons(SetTreeNode$1__get_Right(x1_3), tail(matchValue[0]));\r\n l2_mut = cons(SetTreeModule_empty(), tail(matchValue[1]));\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n }\r\n else {\r\n const matchValue_4 = [l1, l2];\r\n let pattern_matching_result_1, t1_7, x1_5, t2_7, x2_5;\r\n if (!isEmpty_1(matchValue_4[0])) {\r\n if (head(matchValue_4[0]) != null) {\r\n pattern_matching_result_1 = 0;\r\n t1_7 = tail(matchValue_4[0]);\r\n x1_5 = head(matchValue_4[0]);\r\n }\r\n else if (!isEmpty_1(matchValue_4[1])) {\r\n if (head(matchValue_4[1]) != null) {\r\n pattern_matching_result_1 = 1;\r\n t2_7 = tail(matchValue_4[1]);\r\n x2_5 = head(matchValue_4[1]);\r\n }\r\n else {\r\n pattern_matching_result_1 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_1 = 2;\r\n }\r\n }\r\n else if (!isEmpty_1(matchValue_4[1])) {\r\n if (head(matchValue_4[1]) != null) {\r\n pattern_matching_result_1 = 1;\r\n t2_7 = tail(matchValue_4[1]);\r\n x2_5 = head(matchValue_4[1]);\r\n }\r\n else {\r\n pattern_matching_result_1 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_1 = 2;\r\n }\r\n switch (pattern_matching_result_1) {\r\n case 0: {\r\n if (x1_5 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x1_5), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x1_5), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1_5), 0)], t1_7);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_5))], t1_7);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 1: {\r\n if (x2_5 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2_5), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x2_5), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2_5), 0)], t2_7);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_5))], t2_7);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error(\"unexpected state in SetTree.compareStacks\"));\r\n }\r\n }\r\n }\r\n }\r\n else if (x2_3 instanceof SetTreeNode$1) {\r\n if (SetTreeNode$1__get_Left(x2_3) == null) {\r\n const c_2 = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2_3)) | 0;\r\n if (c_2 !== 0) {\r\n return c_2 | 0;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = cons(SetTreeModule_empty(), tail(matchValue[0]));\r\n l2_mut = cons(SetTreeNode$1__get_Right(x2_3), tail(matchValue[1]));\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n else {\r\n const matchValue_5 = [l1, l2];\r\n let pattern_matching_result_2, t1_8, x1_6, t2_8, x2_6;\r\n if (!isEmpty_1(matchValue_5[0])) {\r\n if (head(matchValue_5[0]) != null) {\r\n pattern_matching_result_2 = 0;\r\n t1_8 = tail(matchValue_5[0]);\r\n x1_6 = head(matchValue_5[0]);\r\n }\r\n else if (!isEmpty_1(matchValue_5[1])) {\r\n if (head(matchValue_5[1]) != null) {\r\n pattern_matching_result_2 = 1;\r\n t2_8 = tail(matchValue_5[1]);\r\n x2_6 = head(matchValue_5[1]);\r\n }\r\n else {\r\n pattern_matching_result_2 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_2 = 2;\r\n }\r\n }\r\n else if (!isEmpty_1(matchValue_5[1])) {\r\n if (head(matchValue_5[1]) != null) {\r\n pattern_matching_result_2 = 1;\r\n t2_8 = tail(matchValue_5[1]);\r\n x2_6 = head(matchValue_5[1]);\r\n }\r\n else {\r\n pattern_matching_result_2 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_2 = 2;\r\n }\r\n switch (pattern_matching_result_2) {\r\n case 0: {\r\n if (x1_6 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x1_6), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x1_6), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1_6), 0)], t1_8);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_6))], t1_8);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 1: {\r\n if (x2_6 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2_6), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x2_6), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2_6), 0)], t2_8);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_6))], t2_8);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error(\"unexpected state in SetTree.compareStacks\"));\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n const c_3 = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2_3)) | 0;\r\n if (c_3 !== 0) {\r\n return c_3 | 0;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = tail(matchValue[0]);\r\n l2_mut = tail(matchValue[1]);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n }\r\n else {\r\n const x2 = head(matchValue[1]);\r\n const matchValue_1 = [l1, l2];\r\n let pattern_matching_result_3, t1_2, x1, t2_2, x2_1;\r\n if (!isEmpty_1(matchValue_1[0])) {\r\n if (head(matchValue_1[0]) != null) {\r\n pattern_matching_result_3 = 0;\r\n t1_2 = tail(matchValue_1[0]);\r\n x1 = head(matchValue_1[0]);\r\n }\r\n else if (!isEmpty_1(matchValue_1[1])) {\r\n if (head(matchValue_1[1]) != null) {\r\n pattern_matching_result_3 = 1;\r\n t2_2 = tail(matchValue_1[1]);\r\n x2_1 = head(matchValue_1[1]);\r\n }\r\n else {\r\n pattern_matching_result_3 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_3 = 2;\r\n }\r\n }\r\n else if (!isEmpty_1(matchValue_1[1])) {\r\n if (head(matchValue_1[1]) != null) {\r\n pattern_matching_result_3 = 1;\r\n t2_2 = tail(matchValue_1[1]);\r\n x2_1 = head(matchValue_1[1]);\r\n }\r\n else {\r\n pattern_matching_result_3 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_3 = 2;\r\n }\r\n switch (pattern_matching_result_3) {\r\n case 0: {\r\n if (x1 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x1), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x1), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1), 0)], t1_2);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1))], t1_2);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 1: {\r\n if (x2_1 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2_1), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x2_1), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2_1), 0)], t2_2);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_1))], t2_2);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error(\"unexpected state in SetTree.compareStacks\"));\r\n }\r\n }\r\n }\r\n }\r\n else if (head(matchValue[0]) != null) {\r\n const x1_1 = head(matchValue[0]);\r\n const matchValue_2 = [l1, l2];\r\n let pattern_matching_result_4, t1_4, x1_2, t2_4, x2_2;\r\n if (!isEmpty_1(matchValue_2[0])) {\r\n if (head(matchValue_2[0]) != null) {\r\n pattern_matching_result_4 = 0;\r\n t1_4 = tail(matchValue_2[0]);\r\n x1_2 = head(matchValue_2[0]);\r\n }\r\n else if (!isEmpty_1(matchValue_2[1])) {\r\n if (head(matchValue_2[1]) != null) {\r\n pattern_matching_result_4 = 1;\r\n t2_4 = tail(matchValue_2[1]);\r\n x2_2 = head(matchValue_2[1]);\r\n }\r\n else {\r\n pattern_matching_result_4 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_4 = 2;\r\n }\r\n }\r\n else if (!isEmpty_1(matchValue_2[1])) {\r\n if (head(matchValue_2[1]) != null) {\r\n pattern_matching_result_4 = 1;\r\n t2_4 = tail(matchValue_2[1]);\r\n x2_2 = head(matchValue_2[1]);\r\n }\r\n else {\r\n pattern_matching_result_4 = 2;\r\n }\r\n }\r\n else {\r\n pattern_matching_result_4 = 2;\r\n }\r\n switch (pattern_matching_result_4) {\r\n case 0: {\r\n if (x1_2 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x1_2), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x1_2), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1_2), 0)], t1_4);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_2))], t1_4);\r\n l2_mut = l2;\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 1: {\r\n if (x2_2 instanceof SetTreeNode$1) {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeNode$1__get_Left(x2_2), SetTreeNode$1_$ctor_Z6E7BE5F7(SetTreeLeaf$1__get_Key(x2_2), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2_2), 0)], t2_4);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = l1;\r\n l2_mut = ofArrayWithTail([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_2))], t2_4);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error(\"unexpected state in SetTree.compareStacks\"));\r\n }\r\n }\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n l1_mut = tail(matchValue[0]);\r\n l2_mut = tail(matchValue[1]);\r\n continue SetTreeModule_compareStacks;\r\n }\r\n }\r\n else {\r\n return 1;\r\n }\r\n }\r\n else if (isEmpty_1(matchValue[1])) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_compare(comparer, t1, t2) {\r\n if (t1 == null) {\r\n if (t2 == null) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n else if (t2 == null) {\r\n return 1;\r\n }\r\n else {\r\n return SetTreeModule_compareStacks(comparer, singleton_1(t1), singleton_1(t2)) | 0;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_choose(s) {\r\n return SetTreeModule_minimumElement(s);\r\n}\r\n\r\nexport function SetTreeModule_toList(t) {\r\n const loop = (t$0027_mut, acc_mut) => {\r\n loop:\r\n while (true) {\r\n const t$0027 = t$0027_mut, acc = acc_mut;\r\n if (t$0027 != null) {\r\n const t2 = t$0027;\r\n if (t2 instanceof SetTreeNode$1) {\r\n t$0027_mut = SetTreeNode$1__get_Left(t2);\r\n acc_mut = cons(SetTreeLeaf$1__get_Key(t2), loop(SetTreeNode$1__get_Right(t2), acc));\r\n continue loop;\r\n }\r\n else {\r\n return cons(SetTreeLeaf$1__get_Key(t2), acc);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(t, empty_1());\r\n}\r\n\r\nexport function SetTreeModule_copyToArray(s, arr, i) {\r\n let j = i;\r\n SetTreeModule_iter((x) => {\r\n arr[j] = x;\r\n j = ((j + 1) | 0);\r\n }, s);\r\n}\r\n\r\nexport function SetTreeModule_toArray(s) {\r\n const n = SetTreeModule_count(s) | 0;\r\n const res = fill(new Array(n), 0, n, null);\r\n SetTreeModule_copyToArray(s, res, 0);\r\n return res;\r\n}\r\n\r\nexport function SetTreeModule_mkFromEnumerator(comparer_mut, acc_mut, e_mut) {\r\n SetTreeModule_mkFromEnumerator:\r\n while (true) {\r\n const comparer = comparer_mut, acc = acc_mut, e = e_mut;\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n comparer_mut = comparer;\r\n acc_mut = SetTreeModule_add(comparer, e[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), acc);\r\n e_mut = e;\r\n continue SetTreeModule_mkFromEnumerator;\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function SetTreeModule_ofArray(comparer, l) {\r\n return fold_1((acc, k) => SetTreeModule_add(comparer, k, acc), SetTreeModule_empty(), l);\r\n}\r\n\r\nexport function SetTreeModule_ofList(comparer, l) {\r\n return fold_2((acc, k) => SetTreeModule_add(comparer, k, acc), SetTreeModule_empty(), l);\r\n}\r\n\r\nexport function SetTreeModule_ofSeq(comparer, c) {\r\n if (isArrayLike(c)) {\r\n return SetTreeModule_ofArray(comparer, c);\r\n }\r\n else if (c instanceof FSharpList) {\r\n return SetTreeModule_ofList(comparer, c);\r\n }\r\n else {\r\n const ie = getEnumerator(c);\r\n try {\r\n return SetTreeModule_mkFromEnumerator(comparer, SetTreeModule_empty(), ie);\r\n }\r\n finally {\r\n disposeSafe(ie);\r\n }\r\n }\r\n}\r\n\r\nexport class FSharpSet {\r\n constructor(comparer, tree) {\r\n this.comparer = comparer;\r\n this.tree = tree;\r\n }\r\n GetHashCode() {\r\n const this$ = this;\r\n return FSharpSet__ComputeHashCode(this$) | 0;\r\n }\r\n Equals(that) {\r\n const this$ = this;\r\n return (that instanceof FSharpSet) && (SetTreeModule_compare(FSharpSet__get_Comparer(this$), FSharpSet__get_Tree(this$), FSharpSet__get_Tree(that)) === 0);\r\n }\r\n toString() {\r\n const this$ = this;\r\n return (\"set [\" + join(\"; \", map_1((x) => {\r\n let copyOfStruct = x;\r\n return toString(copyOfStruct);\r\n }, this$))) + \"]\";\r\n }\r\n get [Symbol.toStringTag]() {\r\n return \"FSharpSet\";\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return Array.from(this$);\r\n }\r\n CompareTo(that) {\r\n const s = this;\r\n return SetTreeModule_compare(FSharpSet__get_Comparer(s), FSharpSet__get_Tree(s), FSharpSet__get_Tree(that)) | 0;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Add2B595\"](x) {\r\n throw (new Error(\"ReadOnlyCollection\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Clear\"]() {\r\n throw (new Error(\"ReadOnlyCollection\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Remove2B595\"](x) {\r\n throw (new Error(\"ReadOnlyCollection\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Contains2B595\"](x) {\r\n const s = this;\r\n return SetTreeModule_mem(FSharpSet__get_Comparer(s), x, FSharpSet__get_Tree(s));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.CopyToZ2E171D71\"](arr, i) {\r\n const s = this;\r\n SetTreeModule_copyToArray(FSharpSet__get_Tree(s), arr, i);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_IsReadOnly\"]() {\r\n return true;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_Count\"]() {\r\n const s = this;\r\n return FSharpSet__get_Count(s) | 0;\r\n }\r\n [\"System.Collections.Generic.IReadOnlyCollection`1.get_Count\"]() {\r\n const s = this;\r\n return FSharpSet__get_Count(s) | 0;\r\n }\r\n GetEnumerator() {\r\n const s = this;\r\n return SetTreeModule_mkIEnumerator(FSharpSet__get_Tree(s));\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const s = this;\r\n return SetTreeModule_mkIEnumerator(FSharpSet__get_Tree(s));\r\n }\r\n get size() {\r\n const s = this;\r\n return FSharpSet__get_Count(s) | 0;\r\n }\r\n add(k) {\r\n const s = this;\r\n throw (new Error(\"Set cannot be mutated\"));\r\n return s;\r\n }\r\n clear() {\r\n throw (new Error(\"Set cannot be mutated\"));\r\n }\r\n delete(k) {\r\n throw (new Error(\"Set cannot be mutated\"));\r\n return false;\r\n }\r\n has(k) {\r\n const s = this;\r\n return FSharpSet__Contains(s, k);\r\n }\r\n keys() {\r\n const s = this;\r\n return map_1((x) => x, s);\r\n }\r\n values() {\r\n const s = this;\r\n return map_1((x) => x, s);\r\n }\r\n entries() {\r\n const s = this;\r\n return map_1((v) => [v, v], s);\r\n }\r\n forEach(f, thisArg) {\r\n const s = this;\r\n iterate_1((x) => {\r\n f(x, x, s);\r\n }, s);\r\n }\r\n}\r\n\r\nexport function FSharpSet$reflection(gen0) {\r\n return class_type(\"Set.FSharpSet\", [gen0], FSharpSet);\r\n}\r\n\r\nexport function FSharpSet_$ctor(comparer, tree) {\r\n return new FSharpSet(comparer, tree);\r\n}\r\n\r\nexport function FSharpSet__get_Comparer(set$) {\r\n return set$.comparer;\r\n}\r\n\r\nexport function FSharpSet__get_Tree(set$) {\r\n return set$.tree;\r\n}\r\n\r\nexport function FSharpSet_Empty(comparer) {\r\n return FSharpSet_$ctor(comparer, SetTreeModule_empty());\r\n}\r\n\r\nexport function FSharpSet__Add(s, value) {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_add(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s)));\r\n}\r\n\r\nexport function FSharpSet__Remove(s, value) {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_remove(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s)));\r\n}\r\n\r\nexport function FSharpSet__get_Count(s) {\r\n return SetTreeModule_count(FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet__Contains(s, value) {\r\n return SetTreeModule_mem(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet__Iterate(s, x) {\r\n SetTreeModule_iter(x, FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet__Fold(s, f, z) {\r\n const f_1 = f;\r\n return SetTreeModule_fold((x, z_1) => f_1(z_1, x), z, FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet__get_IsEmpty(s) {\r\n return FSharpSet__get_Tree(s) == null;\r\n}\r\n\r\nexport function FSharpSet__Partition(s, f) {\r\n if (FSharpSet__get_Tree(s) == null) {\r\n return [s, s];\r\n }\r\n else {\r\n const patternInput = SetTreeModule_partition(FSharpSet__get_Comparer(s), f, FSharpSet__get_Tree(s));\r\n return [FSharpSet_$ctor(FSharpSet__get_Comparer(s), patternInput[0]), FSharpSet_$ctor(FSharpSet__get_Comparer(s), patternInput[1])];\r\n }\r\n}\r\n\r\nexport function FSharpSet__Filter(s, f) {\r\n if (FSharpSet__get_Tree(s) == null) {\r\n return s;\r\n }\r\n else {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_filter(FSharpSet__get_Comparer(s), f, FSharpSet__get_Tree(s)));\r\n }\r\n}\r\n\r\nexport function FSharpSet__Map(s, f, comparer) {\r\n return FSharpSet_$ctor(comparer, SetTreeModule_fold((acc, k) => SetTreeModule_add(comparer, f(k), acc), SetTreeModule_empty(), FSharpSet__get_Tree(s)));\r\n}\r\n\r\nexport function FSharpSet__Exists(s, f) {\r\n return SetTreeModule_exists(f, FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet__ForAll(s, f) {\r\n return SetTreeModule_forall(f, FSharpSet__get_Tree(s));\r\n}\r\n\r\nexport function FSharpSet_op_Subtraction(set1, set2) {\r\n if (FSharpSet__get_Tree(set1) == null) {\r\n return set1;\r\n }\r\n else if (FSharpSet__get_Tree(set2) == null) {\r\n return set1;\r\n }\r\n else {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(set1), SetTreeModule_diff(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2)));\r\n }\r\n}\r\n\r\nexport function FSharpSet_op_Addition(set1, set2) {\r\n if (FSharpSet__get_Tree(set2) == null) {\r\n return set1;\r\n }\r\n else if (FSharpSet__get_Tree(set1) == null) {\r\n return set2;\r\n }\r\n else {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(set1), SetTreeModule_union(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2)));\r\n }\r\n}\r\n\r\nexport function FSharpSet_Intersection(a, b) {\r\n if (FSharpSet__get_Tree(b) == null) {\r\n return b;\r\n }\r\n else if (FSharpSet__get_Tree(a) == null) {\r\n return a;\r\n }\r\n else {\r\n return FSharpSet_$ctor(FSharpSet__get_Comparer(a), SetTreeModule_intersection(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b)));\r\n }\r\n}\r\n\r\nexport function FSharpSet_IntersectionMany(sets) {\r\n return reduce(FSharpSet_Intersection, sets);\r\n}\r\n\r\nexport function FSharpSet_Equality(a, b) {\r\n return SetTreeModule_compare(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b)) === 0;\r\n}\r\n\r\nexport function FSharpSet_Compare(a, b) {\r\n return SetTreeModule_compare(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b));\r\n}\r\n\r\nexport function FSharpSet__get_Choose(x) {\r\n return SetTreeModule_choose(FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__get_MinimumElement(x) {\r\n return SetTreeModule_minimumElement(FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__get_MaximumElement(x) {\r\n return SetTreeModule_maximumElement(FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__IsSubsetOf(x, otherSet) {\r\n return SetTreeModule_subset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(x), FSharpSet__get_Tree(otherSet));\r\n}\r\n\r\nexport function FSharpSet__IsSupersetOf(x, otherSet) {\r\n return SetTreeModule_subset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(otherSet), FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__IsProperSubsetOf(x, otherSet) {\r\n return SetTreeModule_properSubset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(x), FSharpSet__get_Tree(otherSet));\r\n}\r\n\r\nexport function FSharpSet__IsProperSupersetOf(x, otherSet) {\r\n return SetTreeModule_properSubset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(otherSet), FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__ToList(x) {\r\n return SetTreeModule_toList(FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__ToArray(x) {\r\n return SetTreeModule_toArray(FSharpSet__get_Tree(x));\r\n}\r\n\r\nexport function FSharpSet__ComputeHashCode(this$) {\r\n let y;\r\n let res = 0;\r\n const enumerator = getEnumerator(this$);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const x_1 = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n res = (((y = (structuralHash(x_1) | 0), ((res << 1) + y) + 631)) | 0);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n return Math.abs(res) | 0;\r\n}\r\n\r\nexport function isEmpty(set$) {\r\n return FSharpSet__get_IsEmpty(set$);\r\n}\r\n\r\nexport function contains(element, set$) {\r\n return FSharpSet__Contains(set$, element);\r\n}\r\n\r\nexport function add(value, set$) {\r\n return FSharpSet__Add(set$, value);\r\n}\r\n\r\nexport function singleton(value, comparer) {\r\n return FSharpSet__Add(FSharpSet_Empty(comparer), value);\r\n}\r\n\r\nexport function remove(value, set$) {\r\n return FSharpSet__Remove(set$, value);\r\n}\r\n\r\nexport function union(set1, set2) {\r\n return FSharpSet_op_Addition(set1, set2);\r\n}\r\n\r\nexport function unionMany(sets, comparer) {\r\n return fold_3(FSharpSet_op_Addition, FSharpSet_Empty(comparer), sets);\r\n}\r\n\r\nexport function intersect(set1, set2) {\r\n return FSharpSet_Intersection(set1, set2);\r\n}\r\n\r\nexport function intersectMany(sets) {\r\n return FSharpSet_IntersectionMany(sets);\r\n}\r\n\r\nexport function iterate(action, set$) {\r\n FSharpSet__Iterate(set$, action);\r\n}\r\n\r\nexport function empty(comparer) {\r\n return FSharpSet_Empty(comparer);\r\n}\r\n\r\nexport function forAll(predicate, set$) {\r\n return FSharpSet__ForAll(set$, predicate);\r\n}\r\n\r\nexport function exists(predicate, set$) {\r\n return FSharpSet__Exists(set$, predicate);\r\n}\r\n\r\nexport function filter(predicate, set$) {\r\n return FSharpSet__Filter(set$, predicate);\r\n}\r\n\r\nexport function partition(predicate, set$) {\r\n return FSharpSet__Partition(set$, predicate);\r\n}\r\n\r\nexport function fold(folder, state, set$) {\r\n return SetTreeModule_fold(folder, state, FSharpSet__get_Tree(set$));\r\n}\r\n\r\nexport function foldBack(folder, set$, state) {\r\n return SetTreeModule_foldBack(folder, FSharpSet__get_Tree(set$), state);\r\n}\r\n\r\nexport function map(mapping, set$, comparer) {\r\n return FSharpSet__Map(set$, mapping, comparer);\r\n}\r\n\r\nexport function count(set$) {\r\n return FSharpSet__get_Count(set$);\r\n}\r\n\r\nexport function ofList(elements, comparer) {\r\n return FSharpSet_$ctor(comparer, SetTreeModule_ofSeq(comparer, elements));\r\n}\r\n\r\nexport function ofArray(array, comparer) {\r\n return FSharpSet_$ctor(comparer, SetTreeModule_ofArray(comparer, array));\r\n}\r\n\r\nexport function toList(set$) {\r\n return FSharpSet__ToList(set$);\r\n}\r\n\r\nexport function toArray(set$) {\r\n return FSharpSet__ToArray(set$);\r\n}\r\n\r\nexport function toSeq(set$) {\r\n return map_1((x) => x, set$);\r\n}\r\n\r\nexport function ofSeq(elements, comparer) {\r\n return FSharpSet_$ctor(comparer, SetTreeModule_ofSeq(comparer, elements));\r\n}\r\n\r\nexport function difference(set1, set2) {\r\n return FSharpSet_op_Subtraction(set1, set2);\r\n}\r\n\r\nexport function isSubset(set1, set2) {\r\n return SetTreeModule_subset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2));\r\n}\r\n\r\nexport function isSuperset(set1, set2) {\r\n return SetTreeModule_subset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set2), FSharpSet__get_Tree(set1));\r\n}\r\n\r\nexport function isProperSubset(set1, set2) {\r\n return SetTreeModule_properSubset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2));\r\n}\r\n\r\nexport function isProperSuperset(set1, set2) {\r\n return SetTreeModule_properSubset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set2), FSharpSet__get_Tree(set1));\r\n}\r\n\r\nexport function minElement(set$) {\r\n return FSharpSet__get_MinimumElement(set$);\r\n}\r\n\r\nexport function maxElement(set$) {\r\n return FSharpSet__get_MaximumElement(set$);\r\n}\r\n\r\nexport function unionWith(s1, s2) {\r\n return fold_3((acc, x) => acc.add(x), s1, s2);\r\n}\r\n\r\nexport function newMutableSetWith(s1, s2) {\r\n if (s1 instanceof HashSet) {\r\n return HashSet_$ctor_Z6150332D(s2, HashSet__get_Comparer(s1));\r\n }\r\n else {\r\n return new Set(s2);\r\n }\r\n}\r\n\r\nexport function intersectWith(s1, s2) {\r\n const s2_1 = newMutableSetWith(s1, s2);\r\n iterate_1((x) => {\r\n if (!s2_1.has(x)) {\r\n s1.delete(x);\r\n }\r\n }, s1.values());\r\n}\r\n\r\nexport function exceptWith(s1, s2) {\r\n iterate_1((x) => {\r\n s1.delete(x);\r\n }, s2);\r\n}\r\n\r\nexport function isSubsetOf(s1, s2) {\r\n const s2_1 = newMutableSetWith(s1, s2);\r\n return forAll_1((arg) => s2_1.has(arg), s1.values());\r\n}\r\n\r\nexport function isSupersetOf(s1, s2) {\r\n return forAll_1((arg) => s1.has(arg), s2);\r\n}\r\n\r\nexport function isProperSubsetOf(s1, s2) {\r\n const s2_1 = newMutableSetWith(s1, s2);\r\n if (s2_1.size > s1.size) {\r\n return forAll_1((arg) => s2_1.has(arg), s1.values());\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function isProperSupersetOf(s1, s2) {\r\n const s2_1 = cache(s2);\r\n if (exists_1((arg_1) => (!s1.has(arg_1)), s2_1)) {\r\n return forAll_1((arg_2) => s1.has(arg_2), s2_1);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n","import { Union } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport amber from \"@material-ui/core/colors/amber\";\nimport green from \"@material-ui/core/colors/green\";\nimport grey from \"@material-ui/core/colors/grey\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Chip from \"@material-ui/core/Chip\";\nimport { Compensation_compensation, Quote_statusSyndic, Quote_status, Dossier_status } from \"../shared/Format.fs.js\";\nimport { singleton as singleton_1, empty, ofArray, filter, map } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { NumberFieldDecimal, OptionFieldDisabled, OptionField } from \"./DesignSystem.fs.js\";\nimport { contains } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Set.js\";\nimport { Decimal, Compensation, AsbestInventory } from \"../shared/Domain.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../Components/UtilComponents.fs.js\";\nimport { empty as empty_1, singleton, append, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { center, fullWidth, PaddingLeft, Gap } from \"../Styles/Utils.fs.js\";\nimport { fromParts } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableBody from \"@material-ui/core/TableBody\";\n\nexport class DossierCreatePageSource extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Backoffice\", \"PartnerPortal\", \"CibForm\"];\n }\n}\n\nexport function DossierCreatePageSource$reflection() {\n return union_type(\"DossierUtils.DossierCreatePageSource\", [], DossierCreatePageSource, () => [[], [], []]);\n}\n\nexport function dossierStatusColor(dossierStatus) {\n switch (dossierStatus.tag) {\n case 1: {\n return amber[\"800\"];\n }\n case 2: {\n return green[\"100\"];\n }\n case 3: {\n return green[\"200\"];\n }\n case 4: {\n return green[\"300\"];\n }\n case 5: {\n return green.A100;\n }\n case 6: {\n return green.A400;\n }\n case 7: {\n return green.A700;\n }\n case 8: {\n return grey[\"400\"];\n }\n default: {\n return grey[\"300\"];\n }\n }\n}\n\nexport function quoteStatusColor(quoteStatus) {\n if (quoteStatus.tag === 1) {\n return green[\"100\"];\n }\n else {\n return grey[\"300\"];\n }\n}\n\nexport function DossierStatusChip(dossierStatusChipInputProps) {\n const status = dossierStatusChipInputProps.status;\n return MuiHelpers_createElement(Chip, [[\"style\", {\n backgroundColor: dossierStatusColor(status),\n }], [\"label\", Dossier_status(status)]]);\n}\n\nexport function QuoteStatusChip(quoteStatusChipInputProps) {\n const status = quoteStatusChipInputProps.status;\n return MuiHelpers_createElement(Chip, [[\"style\", {\n backgroundColor: quoteStatusColor(status),\n }], [\"label\", Quote_status(status)]]);\n}\n\nexport function QuoteStatusChipSyndic(quoteStatusChipSyndicInputProps) {\n const status = quoteStatusChipSyndicInputProps.status;\n return MuiHelpers_createElement(Chip, [[\"style\", {\n backgroundColor: quoteStatusColor(status),\n }], [\"label\", Quote_statusSyndic(status)]]);\n}\n\nexport function AsbestInventoryDataOptions(formField, profile) {\n return map((tupledArg_1) => OptionField(formField, tupledArg_1[0], tupledArg_1[1], \"\", false), filter((tupledArg) => contains(tupledArg[0], profile.Allowed), ofArray([[new AsbestInventory(0), \"Overdracht\"], [new AsbestInventory(9), \"Gemene delen\"], [new AsbestInventory(1), \"Werken\"], [new AsbestInventory(2), \"Actualisatie asbestinventaris-attest\"], [new AsbestInventory(3), \"Sloop zonder SOP\"], [new AsbestInventory(4), \"Sloop met SOP\"], [new AsbestInventory(5), \"Werkgever\"], [new AsbestInventory(6), \"Overdracht met vrijwillig, aanvullend onderzoek\"], [new AsbestInventory(7), \"Generiek\"], [new AsbestInventory(8), \"Generiek met vrijwillig, aanvullend onderzoek\"]])));\n}\n\nexport class Step extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Create\", \"Contacts\", \"Review\"];\n }\n}\n\nexport function Step$reflection() {\n return union_type(\"DossierUtils.Step\", [], Step, () => [[], [], []]);\n}\n\nexport function stepString(step) {\n switch (step.tag) {\n case 1: {\n return \"Communicatie en facturatie\";\n }\n case 2: {\n return \"Overzicht\";\n }\n default: {\n return \"aanmaken\";\n }\n }\n}\n\nexport const steps = ofArray([new Step(0), new Step(1), new Step(2)]);\n\nexport class QuoteStep extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"QuoteCreate\", \"QuoteContacts\", \"QuoteDocuments\", \"QuoteReview\"];\n }\n}\n\nexport function QuoteStep$reflection() {\n return union_type(\"DossierUtils.QuoteStep\", [], QuoteStep, () => [[], [], [], []]);\n}\n\nexport function quoteStepString(step) {\n switch (step.tag) {\n case 1: {\n return \"Communicatie en facturatie\";\n }\n case 2: {\n return \"Documenten\";\n }\n case 3: {\n return \"Overzicht\";\n }\n default: {\n return \"aanmaken\";\n }\n }\n}\n\nexport const quoteSteps = ofArray([new QuoteStep(0), new QuoteStep(1), new QuoteStep(2), new QuoteStep(3)]);\n\nexport function CompensationOptions(compensationOptionsInputProps) {\n const showHeader = compensationOptionsInputProps.showHeader;\n const compensationCustom = compensationOptionsInputProps.compensationCustom;\n const compensationData = compensationOptionsInputProps.compensationData;\n const xs = [createElement(Col, {\n classes: empty(),\n children: toList(delay(() => append(showHeader ? singleton(createElement(\"h2\", {\n children: [\"Vergoedingen\"],\n })) : empty_1(), delay(() => {\n let elements;\n return singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [createElement(Row, {\n classes: singleton_1(Gap.L),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: ofArray([OptionFieldDisabled(compensationData, new Compensation(0), Compensation_compensation(new Compensation(0)), \"\", false, false), OptionFieldDisabled(compensationData, new Compensation(1), Compensation_compensation(new Compensation(1)), \"\", false, false), OptionFieldDisabled(compensationData, new Compensation(2), `${Compensation_compensation(new Compensation(2))} (Standaard vergoeding)`, \"\", false, false), OptionFieldDisabled(compensationData, new Compensation(3), Compensation_compensation(new Compensation(3)), \"\", false, false), OptionFieldDisabled(compensationData, new Compensation(4), Compensation_compensation(new Compensation(4)), \"\", false, false), OptionFieldDisabled(compensationData, new Compensation(5), Compensation_compensation(new Compensation(5)), \"\", false, false)]),\n }), createElement(Col, {\n classes: empty(),\n children: toList(delay(() => append(singleton(OptionFieldDisabled(compensationData, new Compensation(6), Compensation_compensation(new Compensation(6)), \"\", false, false)), delay(() => append(singleton(OptionFieldDisabled(compensationData, new Compensation(7), Compensation_compensation(new Compensation(7)), \"\", false, false)), delay(() => append(singleton(OptionFieldDisabled(compensationData, new Compensation(8), Compensation_compensation(new Compensation(8)), \"\", false, false)), delay(() => append(singleton(OptionFieldDisabled(compensationData, new Compensation(9), Compensation_compensation(new Compensation(9)), \"\", false, false)), delay(() => append(singleton(OptionFieldDisabled(compensationData, new Compensation(10), Compensation_compensation(new Compensation(10)), \"\", false, false)), delay(() => {\n let matchValue, v;\n return append(singleton(OptionFieldDisabled(compensationData, (matchValue = compensationData.FieldValue, (matchValue != null) ? ((matchValue.tag === 11) ? ((v = matchValue.fields[0], new Compensation(11, v))) : (new Compensation(11, new Decimal(fromParts(0, 0, 0, false, 0))))) : (new Compensation(11, new Decimal(fromParts(0, 0, 0, false, 0))))), \"Andere\", \"\", false, false)), delay(() => {\n let matchValue_1;\n return (!((matchValue_1 = compensationData.FieldValue, (matchValue_1 != null) ? (!(matchValue_1.tag === 11)) : true))) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(NumberFieldDecimal(compensationCustom, \"\", \"\", true)),\n })) : empty_1();\n }));\n })))))))))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]));\n })))),\n })];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function noContentMessage(colSpan, msg) {\n let elems_1, elems;\n const children = singleton_1(MuiHelpers_createElement(TableRow, [(elems_1 = [MuiHelpers_createElement(TableCell, [[\"colSpan\", colSpan], (elems = [createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: ofArray([fullWidth, center]),\n children: singleton_1(createElement(\"h3\", {\n children: [msg],\n })),\n })),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])]));\n return MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\n","import { join, printf, toText } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { VatNumber___UnsafeUnwrap_18C04ACB, PhoneNumber___UnsafeUnwrap_23E45174, Email___UnsafeUnwrap_Z27D11339, NonEmptyString___UnsafeUnwrap_Z73AD07C, ContactOwnerModule_string, ContactOwner, CustomerCompanyData, CustomerPersonData, DossierOwnerPerson, DossierOwnerCompany, VatNumber_get_Create, PhoneNumber_get_Create, Email_get_Create, NonEmptyString_get_Create, CustomerCode, Email as Email_1, AssignmentDocumentModule_string, AssignmentDocument, HomeVisitContact, HomeVisitContactModule_string } from \"../shared/Domain.fs.js\";\nimport { empty as empty_1, singleton, append, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { EmailFieldDisabled, MultiEmailField, OptionField, TextFieldDisabled, TextField, OptionFieldDisabled } from \"./DesignSystem.fs.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { Row, Col } from \"../Components/UtilComponents.fs.js\";\nimport { MarginBottom, Padding, modal, Boldness, TextSize, MarginTop, error, PaddingLeft, vCenter, MarginLeft, alignCenter, Gap } from \"../Styles/Utils.fs.js\";\nimport { empty, ofArray, singleton as singleton_1 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport Badge from \"@material-ui/core/Badge\";\nimport { Record, Union } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { record_type, string_type, union_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { createObj, equals } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport Button from \"@material-ui/core/Button\";\nimport Modal from \"@material-ui/core/Modal\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport TextField_1 from \"@material-ui/core/TextField\";\nimport Add from \"@material-ui/icons/Add\";\nimport { CreateAddressFormSmallHeader, useAddressForm, addressFields } from \"./AddressHook.fs.js\";\nimport { useForm, useFormValidator, FormValidator$1_map, useFormField } from \"../CustomHooks/ComposedForm.fs.js\";\nimport { map, defaultArg, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { useToggle } from \"../CustomHooks/CustomHooks.fs.js\";\nimport { DossierCreatePageSource } from \"./DossierUtils.fs.js\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\n\nexport function ChooseContact(chooseContactInputProps) {\n const homeVisitContactPhoneNo = chooseContactInputProps.homeVisitContactPhoneNo;\n const homeVisitContactName = chooseContactInputProps.homeVisitContactName;\n const isPartnerSelected = chooseContactInputProps.isPartnerSelected;\n const partnerName = chooseContactInputProps.partnerName;\n const contactOption = chooseContactInputProps.contactOption;\n const partner = toText(printf(\"%s / %s\"))(partnerName)(\"Afspraak maken voor locatie\");\n let pickupKey;\n const arg_3 = HomeVisitContactModule_string(new HomeVisitContact(4));\n pickupKey = toText(printf(\"%s / %s\"))(partnerName)(arg_3);\n const xs = toList(delay(() => append(singleton(createElement(\"h2\", {\n children: [\"Wie kunnen we contacteren om een huisbezoek in te plannen?\"],\n })), delay(() => {\n let elements;\n return append(singleton(MuiHelpers_createElement(RadioGroup, [(elements = [OptionFieldDisabled(contactOption, new HomeVisitContact(1), partner, \"\", true, !isPartnerSelected), OptionFieldDisabled(contactOption, new HomeVisitContact(4), pickupKey, \"\", true, !isPartnerSelected), OptionFieldDisabled(contactOption, new HomeVisitContact(0), HomeVisitContactModule_string(new HomeVisitContact(0)), \"\", true, false), OptionFieldDisabled(contactOption, new HomeVisitContact(2), HomeVisitContactModule_string(new HomeVisitContact(2)), \"\", true, false), OptionFieldDisabled(contactOption, new HomeVisitContact(3), HomeVisitContactModule_string(new HomeVisitContact(3)), \"\", true, false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])), delay(() => {\n const matchValue = contactOption.FieldValue;\n let pattern_matching_result;\n if (matchValue != null) {\n if (matchValue.tag === 3) {\n pattern_matching_result = 0;\n }\n else if (matchValue.tag === 2) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(createElement(Col, {\n classes: singleton_1(Gap.S),\n children: ofArray([TextField(homeVisitContactName, \"Naam\", \"\", true), TextField(homeVisitContactPhoneNo, \"Telefoon\", \"\", true)]),\n }));\n }\n case 1: {\n return singleton(null);\n }\n }\n }));\n }))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function ChooseContactQuote(chooseContactQuoteInputProps) {\n const isOptional = chooseContactQuoteInputProps.isOptional;\n const homeVisitContactPhoneNo = chooseContactQuoteInputProps.homeVisitContactPhoneNo;\n const homeVisitContactName = chooseContactQuoteInputProps.homeVisitContactName;\n const isPartnerSelected = chooseContactQuoteInputProps.isPartnerSelected;\n const partnerName = chooseContactQuoteInputProps.partnerName;\n const contactOption = chooseContactQuoteInputProps.contactOption;\n const partner = toText(printf(\"%s / %s\"))(partnerName)(\"Afspraak maken voor locatie\");\n let pickupKey;\n const arg_3 = HomeVisitContactModule_string(new HomeVisitContact(4));\n pickupKey = toText(printf(\"%s / %s\"))(partnerName)(arg_3);\n const xs = toList(delay(() => append(isOptional ? singleton(createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(\"h3\", {\n children: [\"Wie kunnen we contacteren om een huisbezoek in te plannen?\"],\n })),\n }), createElement(Col, {\n classes: ofArray([alignCenter, MarginLeft.L]),\n children: singleton_1(MuiHelpers_createElement(Badge, [[\"className\", join(\" \", [MarginLeft.S, vCenter])], [\"badgeContent\", \"Optioneel\"], [\"color\", \"secondary\"], [\"variant\", \"standard\"]])),\n })]),\n })) : singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(\"h3\", {\n children: [\"Wie kunnen we contacteren om een afspraak te maken?\"],\n })),\n })),\n })), delay(() => {\n let elements;\n return append(singleton(MuiHelpers_createElement(RadioGroup, [(elements = [OptionFieldDisabled(contactOption, new HomeVisitContact(1), partner, \"\", true, !isPartnerSelected), OptionFieldDisabled(contactOption, new HomeVisitContact(4), pickupKey, \"\", true, !isPartnerSelected), OptionFieldDisabled(contactOption, new HomeVisitContact(0), HomeVisitContactModule_string(new HomeVisitContact(0)), \"\", true, false), OptionFieldDisabled(contactOption, new HomeVisitContact(2), HomeVisitContactModule_string(new HomeVisitContact(2)), \"\", true, false), OptionFieldDisabled(contactOption, new HomeVisitContact(3), HomeVisitContactModule_string(new HomeVisitContact(3)), \"\", true, false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])), delay(() => {\n const matchValue = contactOption.FieldValue;\n let pattern_matching_result;\n if (matchValue != null) {\n if (matchValue.tag === 3) {\n pattern_matching_result = 0;\n }\n else if (matchValue.tag === 2) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(createElement(Col, {\n classes: singleton_1(Gap.S),\n children: ofArray([TextField(homeVisitContactName, \"Naam\", \"\", true), TextField(homeVisitContactPhoneNo, \"Telefoon\", \"\", true)]),\n }));\n }\n case 1: {\n return singleton(null);\n }\n }\n }));\n }))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport class Invoiced extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partner\", \"Person\", \"Company\"];\n }\n}\n\nexport function Invoiced$reflection() {\n return union_type(\"Contacts.Invoiced\", [], Invoiced, () => [[], [], []]);\n}\n\nexport function InvoicedModule_string(invoiced) {\n switch (invoiced.tag) {\n case 1: {\n return \"Natuurlijk persoon\";\n }\n case 2: {\n return \"Vennootschap\";\n }\n default: {\n return \"Partner\";\n }\n }\n}\n\nexport function ChooseAssignmentDocumentContact(chooseAssignmentDocumentContactInputProps) {\n let elements;\n const isPartnerSelected = chooseAssignmentDocumentContactInputProps.isPartnerSelected;\n const other = chooseAssignmentDocumentContactInputProps.other;\n const syndicEmail = chooseAssignmentDocumentContactInputProps.syndicEmail;\n const legalRepEmail = chooseAssignmentDocumentContactInputProps.legalRepEmail;\n const partnerName = chooseAssignmentDocumentContactInputProps.partnerName;\n const assignmentDocumentOption = chooseAssignmentDocumentContactInputProps.assignmentDocumentOption;\n let showEmail;\n const matchValue = assignmentDocumentOption.FieldValue;\n let pattern_matching_result;\n if (matchValue != null) {\n if (matchValue.tag === 2) {\n pattern_matching_result = 0;\n }\n else if (matchValue.tag === 3) {\n pattern_matching_result = 1;\n }\n else if (matchValue.tag === 4) {\n pattern_matching_result = 2;\n }\n else {\n pattern_matching_result = 3;\n }\n }\n else {\n pattern_matching_result = 3;\n }\n switch (pattern_matching_result) {\n case 0: {\n showEmail = createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(legalRepEmail, \"\", \"\", true, false)),\n });\n break;\n }\n case 1: {\n showEmail = createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(syndicEmail, \"\", \"\", true, false)),\n });\n break;\n }\n case 2: {\n showEmail = createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(other, \"\", \"\", true, false)),\n });\n break;\n }\n case 3: {\n showEmail = null;\n break;\n }\n }\n const xs = [createElement(\"h2\", {\n children: [\"Wie zal het opdrachtformulier ondertekenen?\"],\n }), MuiHelpers_createElement(RadioGroup, [(elements = toList(delay(() => append(singleton(OptionFieldDisabled(assignmentDocumentOption, new AssignmentDocument(1), partnerName, \"\", true, !isPartnerSelected)), delay(() => append(singleton(OptionField(assignmentDocumentOption, new AssignmentDocument(0), AssignmentDocumentModule_string(new AssignmentDocument(0)), \"\", true)), delay(() => append(singleton(OptionField(assignmentDocumentOption, new AssignmentDocument(2, new Email_1(legalRepEmail.FieldValue)), AssignmentDocumentModule_string(new AssignmentDocument(2, new Email_1(\"\"))), \"\", true)), delay(() => {\n let matchValue_1;\n return append((matchValue_1 = assignmentDocumentOption.FieldValue, (matchValue_1 != null) ? ((matchValue_1.tag === 2) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(legalRepEmail, \"Email\", \"\", true, false)),\n })) : singleton(null)) : singleton(null)), delay(() => {\n let matchValue_2;\n return append((matchValue_2 = assignmentDocumentOption.FieldValue, (matchValue_2 != null) ? ((matchValue_2.tag === 3) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(syndicEmail, \"Email\", \"\", true, false)),\n })) : singleton(null)) : singleton(null)), delay(() => append(singleton(OptionField(assignmentDocumentOption, new AssignmentDocument(4, new Email_1(other.FieldValue)), \"Andere\", \"\", true)), delay(() => {\n const matchValue_3 = assignmentDocumentOption.FieldValue;\n let pattern_matching_result_1;\n if (matchValue_3 != null) {\n if (matchValue_3.tag === 4) {\n pattern_matching_result_1 = 0;\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n return singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(other, \"Email\", \"\", true, false)),\n }));\n }\n case 1: {\n return singleton(null);\n }\n }\n }))));\n }));\n })))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function ChooseCertificateContact(chooseCertificateContactInputProps) {\n const isPartnerSelected = chooseCertificateContactInputProps.isPartnerSelected;\n const emailsError = chooseCertificateContactInputProps.emailsError;\n const emails = chooseCertificateContactInputProps.emails;\n const partnerName = chooseCertificateContactInputProps.partnerName;\n const emailToggle = chooseCertificateContactInputProps.emailToggle;\n const customerToggle = chooseCertificateContactInputProps.customerToggle;\n const partnerToggle = chooseCertificateContactInputProps.partnerToggle;\n const xs = toList(delay(() => append(singleton(createElement(Col, {\n classes: toList(delay(() => (emailsError ? singleton(error) : empty_1()))),\n children: singleton_1(createElement(\"h2\", {\n children: [\"Naar wie mogen we het asbest attest versturen?\"],\n })),\n })), delay(() => {\n const partnerSelVal = isPartnerSelected && partnerToggle.State;\n return singleton(createElement(Col, {\n classes: empty(),\n children: toList(delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"disabled\", !isPartnerSelected], [\"label\", partnerName], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", partnerSelVal]])], [\"onChange\", (e) => {\n const _arg = Browser_Types_Event__Event_get_Checked(e);\n partnerToggle.Toggle();\n }]])), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Klant\"], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", customerToggle.State]])], [\"onChange\", (e_1) => {\n const _arg_1 = Browser_Types_Event__Event_get_Checked(e_1);\n customerToggle.Toggle();\n }]])), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Emails\"], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", emailToggle.State]])], [\"onChange\", (e_2) => {\n const _arg_2 = Browser_Types_Event__Event_get_Checked(e_2);\n emailToggle.Toggle();\n }]])), delay(() => (emailToggle.State ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(MultiEmailField(emails, \"Email\", \"\", true)),\n })) : empty_1()))))))))),\n }));\n }))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport class CustomerOption extends Record {\n constructor(Label, Code) {\n super();\n this.Label = Label;\n this.Code = Code;\n }\n}\n\nexport function CustomerOption$reflection() {\n return record_type(\"Contacts.CustomerOption\", [], CustomerOption, () => [[\"Label\", string_type], [\"Code\", string_type]]);\n}\n\nexport function CustomerOption_get_none() {\n return new CustomerOption(\"Geen\", \"0\");\n}\n\nexport function CustomerOption_get_create() {\n return new CustomerOption(\"Klant aanmaken\", \"-1\");\n}\n\nexport function FindCustomer(findCustomerInputProps) {\n let elems_5, elems_4;\n const setFoundCustomer = findCustomerInputProps.setFoundCustomer;\n const reset = findCustomerInputProps.reset;\n const setShowCustomerForm = findCustomerInputProps.setShowCustomerForm;\n const getCustomer = findCustomerInputProps.getCustomer;\n const setCustomerOption = findCustomerInputProps.setCustomerOption;\n const customerOption = findCustomerInputProps.customerOption;\n const options = findCustomerInputProps.options;\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setShowModal = patternInput[1];\n const xs_4 = [createElement(Row, {\n classes: singleton_1(Gap.S),\n children: toList(delay(() => {\n let elems;\n return append((!equals(customerOption, CustomerOption_get_none())) ? singleton(createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginTop.Xs])], (elems = [createElement(\"span\", {\n className: join(\" \", [TextSize.S, Boldness.b600]),\n children: customerOption.Label,\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])))) : empty_1(), delay(() => {\n let elems_1;\n return append(equals(customerOption, CustomerOption_get_none()) ? singleton(MuiHelpers_createElement(Button, [[\"size\", \"small\"], [\"color\", \"secondary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n setShowModal(true);\n }], (elems_1 = [equals(customerOption, CustomerOption_get_none()) ? \"Selecteer bestaande klant\" : customerOption.Label], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])) : singleton(MuiHelpers_createElement(Button, [[\"size\", \"small\"], [\"color\", \"secondary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_1) => {\n setShowModal(true);\n }], [\"children\", Interop_reactApi.Children.toArray([\"Selecteer een andere klant\"])]])), delay(() => ((!equals(customerOption, CustomerOption_get_none())) ? singleton(MuiHelpers_createElement(Button, [[\"size\", \"small\"], [\"color\", \"secondary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_2) => {\n reset();\n setCustomerOption(CustomerOption_get_none());\n setFoundCustomer(false);\n }], [\"children\", Interop_reactApi.Children.toArray([\"Wissen\"])]])) : empty_1())));\n }));\n })),\n }), MuiHelpers_createElement(Modal, [[\"open\", patternInput[0]], [\"onClose\", (_arg_4, v) => {\n setShowModal(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"style\", {\n width: 100 + \"%\",\n height: 100 + \"%\",\n }], [\"className\", join(\" \", [modal, Padding.Xl])], (elems_5 = [MuiHelpers_createElement(FormControl, [[\"fullWidth\", true], (elems_4 = [MuiHelpers_createElement(Autocomplete, [[\"id\", \"customer-combo-box-label\"], [\"options\", Array.from(options)], [\"value\", customerOption], [\"getOptionSelected\", (delegateArg, delegateArg_1) => (delegateArg.Code === delegateArg_1.Code)], [\"onChange\", (_arg_5, v_1, _arg_1_1) => {\n const customer = v_1;\n if (!(customer == null)) {\n setCustomerOption(customer);\n getCustomer(new CustomerCode(customer.Code));\n setShowModal(false);\n setFoundCustomer(true);\n if (equals(customer, CustomerOption_get_none())) {\n reset();\n setFoundCustomer(false);\n }\n if (equals(customer, CustomerOption_get_create())) {\n setShowCustomerForm(true);\n }\n }\n }], [\"renderInput\", (params$0027) => MuiHelpers_createElement(TextField_1, toList(delay(() => append(singleton([\"variant\", \"outlined\"]), delay(() => append(singleton([\"label\", \"Klant\"]), delay(() => (Object.entries(params$0027)))))))))], [\"renderOption\", (delegateArg_2, delegateArg_1_1) => {\n const customerOption_1 = delegateArg_2;\n const xs_2 = toList(delay(() => {\n let props_7;\n return equals(customerOption_1, CustomerOption_get_none()) ? singleton(createElement(\"em\", {\n children: Interop_reactApi.Children.toArray([customerOption_1.Label]),\n })) : (equals(customerOption_1, CustomerOption_get_create()) ? singleton(MuiHelpers_createElement(Button, [[\"fullWidth\", true], [\"size\", \"large\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props_7 = {}, react.createElement(Add, props_7))], [\"children\", customerOption_1.Label]])) : singleton(createElement(\"span\", {\n children: [customerOption_1.Label],\n })));\n }));\n return react.createElement(react.Fragment, {}, ...xs_2);\n }], [\"getOptionLabel\", (customer_1) => customer_1.Label]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_5))])])))]])];\n return react.createElement(react.Fragment, {}, ...xs_4);\n}\n\nexport function VmeSocialToggles(vmeSocialTogglesInputProps) {\n const companyTypeField = vmeSocialTogglesInputProps.companyTypeField;\n const disabled = vmeSocialTogglesInputProps.disabled;\n const social = vmeSocialTogglesInputProps.social;\n const vme = vmeSocialTogglesInputProps.vme;\n const xs = [MuiHelpers_createElement(FormControlLabel, [[\"label\", \"VME\"], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", vme.State], [\"disabled\", disabled]])], [\"onChange\", (e) => {\n if (Browser_Types_Event__Event_get_Checked(e)) {\n vme.On();\n companyTypeField.SetFieldValue(\"VME\");\n social.Off();\n }\n else {\n companyTypeField.SetFieldValue(\"\");\n vme.Off();\n }\n }]]), MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Sociale huisvestigingsmaatschappij\"], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", social.State], [\"disabled\", disabled]])], [\"onChange\", (e_1) => {\n if (Browser_Types_Event__Event_get_Checked(e_1)) {\n social.On();\n vme.Off();\n companyTypeField.SetFieldValue(\"\");\n }\n else {\n social.Off();\n }\n }]])];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function CreateDossierOwnerCompanyForm(createDossierOwnerCompanyFormInputProps) {\n const disabled = createDossierOwnerCompanyFormInputProps.disabled;\n const form = createDossierOwnerCompanyFormInputProps.form;\n const xs = toList(delay(() => append(singleton(createElement(VmeSocialToggles, {\n vme: form.Vme,\n social: form.Social,\n disabled: disabled,\n companyTypeField: form.CompanyTypeField,\n })), delay(() => append(singleton(TextField(form.EmailField, \"Emailadres\", \"\", true)), delay(() => append(singleton(TextField(form.VatNumberField, \"BTW\", \"\", true)), delay(() => append(singleton(TextField(form.CompanyNameField, \"Bedrijfsnaam\", \"\", true)), delay(() => append(form.Vme.State ? singleton(TextFieldDisabled(form.CompanyTypeField, \"Bedrijfstype\", \"\", false, true)) : singleton(TextFieldDisabled(form.CompanyTypeField, \"Bedrijfstype\", \"\", false, false)), delay(() => append(singleton(TextField(form.TelephoneField, \"Telefoon\", \"\", false)), delay(() => append(singleton(TextField(form.FirstName, \"Voornaam\", \"\", false)), delay(() => append(singleton(TextField(form.LastName, \"Naam\", \"\", false)), delay(() => singleton(addressFields(form.AddressField, disabled))))))))))))))))))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function useCreateDossierOwnerCompanyForm(companyName, companyType, email, phoneNumber, vatNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity, vmeToggle, socialToggle, firstName, lastName) {\n let f1, f1_1, f1_2, f1_3;\n const companyName_1 = useFormField(companyName, NonEmptyString_get_Create());\n const email_1 = useFormField(email, Email_get_Create());\n const phoneNumber_1 = useFormField(phoneNumber, (f1 = PhoneNumber_get_Create(), (arg_1) => some(f1(arg_1))));\n const vatNumber_1 = useFormField(vatNumber, VatNumber_get_Create());\n const address = useAddressForm(addressStreet, addressNumber, addressBus, addressPostalCode, addressCity);\n const vmeToggle_1 = useToggle(vmeToggle);\n const socialToggle_1 = useToggle(socialToggle);\n const companyType_1 = useFormField(companyType, (f1_1 = NonEmptyString_get_Create(), (arg_3) => some(f1_1(arg_3))));\n const firstName_1 = useFormField(firstName, (f1_2 = NonEmptyString_get_Create(), (arg_5) => some(f1_2(arg_5))));\n const lastName_1 = useFormField(lastName, (f1_3 = NonEmptyString_get_Create(), (arg_7) => some(f1_3(arg_7))));\n return {\n AddressField: address,\n CompanyNameField: companyName_1,\n CompanyTypeField: companyType_1,\n EmailField: email_1,\n FirstName: firstName_1,\n LastName: lastName_1,\n Social: socialToggle_1,\n TelephoneField: phoneNumber_1,\n Validator: FormValidator$1_map((x_7) => (new DossierOwnerCompany(x_7.CompanyName, x_7.CompanyType, x_7.Address, x_7.PhoneNumber, x_7.VatNumber, x_7.Email, vmeToggle_1.State, socialToggle_1.State, x_7.CompanyFirstName, x_7.CompanyLastName)), useFormValidator(lastName_1.Validator, (r_6, x_6) => ({\n Address: r_6.Address,\n CompanyFirstName: r_6.CompanyFirstName,\n CompanyLastName: x_6,\n CompanyName: r_6.CompanyName,\n CompanyType: r_6.CompanyType,\n Email: r_6.Email,\n PhoneNumber: r_6.PhoneNumber,\n VatNumber: r_6.VatNumber,\n }), useFormValidator(firstName_1.Validator, (r_5, x_5) => ({\n Address: r_5.Address,\n CompanyFirstName: x_5,\n CompanyName: r_5.CompanyName,\n CompanyType: r_5.CompanyType,\n Email: r_5.Email,\n PhoneNumber: r_5.PhoneNumber,\n VatNumber: r_5.VatNumber,\n }), useFormValidator(vatNumber_1.Validator, (r_4, x_4) => ({\n Address: r_4.Address,\n CompanyName: r_4.CompanyName,\n CompanyType: r_4.CompanyType,\n Email: r_4.Email,\n PhoneNumber: r_4.PhoneNumber,\n VatNumber: x_4,\n }), useFormValidator(address.Validator, (r_3, x_3) => ({\n Address: x_3,\n CompanyName: r_3.CompanyName,\n CompanyType: r_3.CompanyType,\n Email: r_3.Email,\n PhoneNumber: r_3.PhoneNumber,\n }), useFormValidator(phoneNumber_1.Validator, (r_2, x_2) => ({\n CompanyName: r_2.CompanyName,\n CompanyType: r_2.CompanyType,\n Email: r_2.Email,\n PhoneNumber: x_2,\n }), useFormValidator(email_1.Validator, (r_1, x_1) => ({\n CompanyName: r_1.CompanyName,\n CompanyType: r_1.CompanyType,\n Email: x_1,\n }), useFormValidator(companyType_1.Validator, (r, x) => ({\n CompanyName: r.CompanyName,\n CompanyType: x,\n }), useFormValidator(companyName_1.Validator, (unitVar, y) => ({\n CompanyName: y,\n }), useForm()))))))))),\n VatNumberField: vatNumber_1,\n Vme: vmeToggle_1,\n };\n}\n\nexport function CreateDossierOwnerPersonForm(createDossierOwnerPersonFormInputProps) {\n const disabled = createDossierOwnerPersonFormInputProps.disabled;\n const form = createDossierOwnerPersonFormInputProps.form;\n const xs = [TextField(form.FirstNameField, \"Voornaam\", \"\", true), TextField(form.LastNameField, \"Naam\", \"\", true), TextField(form.EmailField, \"Emailadres\", \"\", true), TextField(form.TelephoneField, \"Telefoon\", \"\", false), addressFields(form.AddressField, disabled)];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function useCreateDossierOwnerPersonForm(firstName, lastName, email, phoneNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity) {\n let f1;\n const firstName_1 = useFormField(firstName, NonEmptyString_get_Create());\n const lastName_1 = useFormField(lastName, NonEmptyString_get_Create());\n const email_1 = useFormField(email, Email_get_Create());\n const phoneNumber_1 = useFormField(phoneNumber, (f1 = PhoneNumber_get_Create(), (arg_1) => some(f1(arg_1))));\n const address = useAddressForm(addressStreet, addressNumber, addressBus, addressPostalCode, addressCity);\n return {\n AddressField: address,\n EmailField: email_1,\n FirstNameField: firstName_1,\n LastNameField: lastName_1,\n TelephoneField: phoneNumber_1,\n Validator: FormValidator$1_map((x_5) => (new DossierOwnerPerson(x_5.FirstName, x_5.LastName, x_5.Address, x_5.PhoneNumber, x_5.Email)), useFormValidator(address.Validator, (r_3, x_4) => ({\n Address: x_4,\n Email: r_3.Email,\n FirstName: r_3.FirstName,\n LastName: r_3.LastName,\n PhoneNumber: r_3.PhoneNumber,\n }), useFormValidator(phoneNumber_1.Validator, (r_2, x_3) => ({\n Email: r_2.Email,\n FirstName: r_2.FirstName,\n LastName: r_2.LastName,\n PhoneNumber: x_3,\n }), useFormValidator(email_1.Validator, (r_1, x_2) => ({\n Email: x_2,\n FirstName: r_1.FirstName,\n LastName: r_1.LastName,\n }), useFormValidator(lastName_1.Validator, (r, x_1) => ({\n FirstName: r.FirstName,\n LastName: x_1,\n }), useFormValidator(firstName_1.Validator, (unitVar, x) => ({\n FirstName: x,\n }), useForm())))))),\n };\n}\n\nexport function CreateCustomerPersonForm(createCustomerPersonFormInputProps) {\n const disabled = createCustomerPersonFormInputProps.disabled;\n const form = createCustomerPersonFormInputProps.form;\n const xs = [createElement(Row, {\n classes: singleton_1(MarginTop.S),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: ofArray([TextFieldDisabled(form.FirstNameField, \"Voornaam\", \"\", true, disabled), TextFieldDisabled(form.LastNameField, \"Naam\", \"\", true, disabled), EmailFieldDisabled(form.EmailField, \"Email adres\", \"\", true, disabled), TextFieldDisabled(form.TelephoneField, \"Telefoon\", \"\", false, disabled), createElement(CreateAddressFormSmallHeader, {\n addressForm: form.AddressField,\n heading: \"Adres\",\n disabled: disabled,\n })]),\n })),\n })];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function useCreateCustomerPersonForm(firstName, lastName, email, phoneNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity) {\n let f1;\n const firstName_1 = useFormField(firstName, NonEmptyString_get_Create());\n const lastName_1 = useFormField(lastName, NonEmptyString_get_Create());\n const email_1 = useFormField(email, Email_get_Create());\n const phoneNumber_1 = useFormField(phoneNumber, (f1 = PhoneNumber_get_Create(), (arg_1) => some(f1(arg_1))));\n const address = useAddressForm(addressStreet, addressNumber, addressBus, addressPostalCode, addressCity);\n const isCibCustomerField = useToggle(false);\n return {\n AddressField: address,\n EmailField: email_1,\n FirstNameField: firstName_1,\n LastNameField: lastName_1,\n TelephoneField: phoneNumber_1,\n Validator: FormValidator$1_map((x_5) => (new CustomerPersonData(x_5.LastName, x_5.FirstName, x_5.Address, x_5.Email, x_5.PhoneNumber, isCibCustomerField.State)), useFormValidator(address.Validator, (r_3, x_4) => ({\n Address: x_4,\n Email: r_3.Email,\n FirstName: r_3.FirstName,\n LastName: r_3.LastName,\n PhoneNumber: r_3.PhoneNumber,\n }), useFormValidator(phoneNumber_1.Validator, (r_2, x_3) => ({\n Email: r_2.Email,\n FirstName: r_2.FirstName,\n LastName: r_2.LastName,\n PhoneNumber: x_3,\n }), useFormValidator(email_1.Validator, (r_1, x_2) => ({\n Email: x_2,\n FirstName: r_1.FirstName,\n LastName: r_1.LastName,\n }), useFormValidator(lastName_1.Validator, (r, x_1) => ({\n FirstName: r.FirstName,\n LastName: x_1,\n }), useFormValidator(firstName_1.Validator, (unitVar, x) => ({\n FirstName: x,\n }), useForm())))))),\n };\n}\n\nexport function CreateCustomerCompanyForm(createCustomerCompanyFormInputProps) {\n const disabled = createCustomerCompanyFormInputProps.disabled;\n const form = createCustomerCompanyFormInputProps.form;\n const xs = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(VmeSocialToggles, {\n vme: form.IsVMEField,\n social: form.IsSocialHousingCompanyField,\n disabled: disabled,\n companyTypeField: form.CompanyTypeField,\n }), TextFieldDisabled(form.CompanyNameField, \"Bedrijfsnaam\", \"\", true, disabled), TextFieldDisabled(form.CompanyTypeField, \"Bedrijfstype\", \"\", false, disabled), EmailFieldDisabled(form.EmailField, \"Email adres\", \"\", true, disabled), TextFieldDisabled(form.TelephoneField, \"Telefoon\", \"\", false, disabled), TextFieldDisabled(form.VatNumberField, \"BTW\", \"\", true, disabled), TextFieldDisabled(form.FirstName, \"Voornaam\", \"\", false, disabled), TextFieldDisabled(form.LastName, \"Naam\", \"\", false, disabled)]),\n }), createElement(CreateAddressFormSmallHeader, {\n addressForm: form.AddressField,\n heading: \"Adres\",\n disabled: disabled,\n })];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function useCreateCustomerCompanyForm(companyName, companyType, email, phoneNumber, vatNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity, isVme, isSocialHousingCompany, firstName, lastName) {\n let f1, f1_1, f1_2, f1_3;\n const companyName_1 = useFormField(companyName, NonEmptyString_get_Create());\n const companyType_1 = useFormField(companyType, (f1 = NonEmptyString_get_Create(), (arg_1) => some(f1(arg_1))));\n const email_1 = useFormField(email, Email_get_Create());\n const phoneNumber_1 = useFormField(phoneNumber, (f1_1 = PhoneNumber_get_Create(), (arg_3) => some(f1_1(arg_3))));\n const vatNumber_1 = useFormField(vatNumber, VatNumber_get_Create());\n const address = useAddressForm(addressStreet, addressNumber, addressBus, addressPostalCode, addressCity);\n const isVme_1 = useToggle(isVme);\n const isSocialHousingCompanyField = useToggle(isSocialHousingCompany);\n const isCibCustomerField = useToggle(false);\n const firstName_1 = useFormField(firstName, (f1_2 = NonEmptyString_get_Create(), (arg_5) => some(f1_2(arg_5))));\n const lastName_1 = useFormField(lastName, (f1_3 = NonEmptyString_get_Create(), (arg_7) => some(f1_3(arg_7))));\n return {\n AddressField: address,\n CompanyNameField: companyName_1,\n CompanyTypeField: companyType_1,\n EmailField: email_1,\n FirstName: firstName_1,\n IsCibCustomerField: isCibCustomerField,\n IsSocialHousingCompanyField: isSocialHousingCompanyField,\n IsVMEField: isVme_1,\n LastName: lastName_1,\n TelephoneField: phoneNumber_1,\n Validator: FormValidator$1_map((x_8) => (new CustomerCompanyData(x_8.CompanyName, x_8.CompanyType, x_8.Address, x_8.Email, x_8.PhoneNumber, x_8.VatNumber, isCibCustomerField.State, isVme_1.State, isCibCustomerField.State, x_8.CompanyLastName, x_8.CompanyFirstName)), useFormValidator(lastName_1.Validator, (r_6, x_7) => ({\n Address: r_6.Address,\n CompanyFirstName: r_6.CompanyFirstName,\n CompanyLastName: x_7,\n CompanyName: r_6.CompanyName,\n CompanyType: r_6.CompanyType,\n Email: r_6.Email,\n PhoneNumber: r_6.PhoneNumber,\n VatNumber: r_6.VatNumber,\n }), useFormValidator(firstName_1.Validator, (r_5, x_6) => ({\n Address: r_5.Address,\n CompanyFirstName: x_6,\n CompanyName: r_5.CompanyName,\n CompanyType: r_5.CompanyType,\n Email: r_5.Email,\n PhoneNumber: r_5.PhoneNumber,\n VatNumber: r_5.VatNumber,\n }), useFormValidator(address.Validator, (r_4, x_5) => ({\n Address: x_5,\n CompanyName: r_4.CompanyName,\n CompanyType: r_4.CompanyType,\n Email: r_4.Email,\n PhoneNumber: r_4.PhoneNumber,\n VatNumber: r_4.VatNumber,\n }), useFormValidator(phoneNumber_1.Validator, (r_3, x_4) => ({\n CompanyName: r_3.CompanyName,\n CompanyType: r_3.CompanyType,\n Email: r_3.Email,\n PhoneNumber: x_4,\n VatNumber: r_3.VatNumber,\n }), useFormValidator(vatNumber_1.Validator, (r_2, x_3) => ({\n CompanyName: r_2.CompanyName,\n CompanyType: r_2.CompanyType,\n Email: r_2.Email,\n VatNumber: x_3,\n }), useFormValidator(email_1.Validator, (r_1, x_2) => ({\n CompanyName: r_1.CompanyName,\n CompanyType: r_1.CompanyType,\n Email: x_2,\n }), useFormValidator(companyType_1.Validator, (r, x_1) => ({\n CompanyName: r.CompanyName,\n CompanyType: x_1,\n }), useFormValidator(companyName_1.Validator, (unitVar, x) => ({\n CompanyName: x,\n }), useForm()))))))))),\n VatNumberField: vatNumber_1,\n };\n}\n\nexport function ChooseOwner(chooseOwnerInputProps) {\n let elements;\n const ownerPersonForm = chooseOwnerInputProps.ownerPersonForm;\n const ownerCompanyForm = chooseOwnerInputProps.ownerCompanyForm;\n const ownerOption = chooseOwnerInputProps.ownerOption;\n const xs = [createElement(\"h2\", {\n children: [\"Eigenaar\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [OptionField(ownerOption, new ContactOwner(0), ContactOwnerModule_string(new ContactOwner(0)), \"\", true), OptionField(ownerOption, new ContactOwner(1), ContactOwnerModule_string(new ContactOwner(1)), \"\", true)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]), createElement(Col, {\n classes: singleton_1(MarginTop.S),\n children: toList(delay(() => {\n const matchValue = ownerOption.FieldValue;\n return (matchValue != null) ? ((matchValue.tag === 1) ? singleton(createElement(CreateDossierOwnerCompanyForm, {\n form: ownerCompanyForm,\n disabled: false,\n })) : singleton(createElement(CreateDossierOwnerPersonForm, {\n form: ownerPersonForm,\n disabled: false,\n }))) : singleton(null);\n })),\n })];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function ChoosePricing(invoicePricing) {\n return createElement(Col, {\n classes: singleton_1(MarginBottom.M),\n children: singleton_1(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Particuliere prijzen hanteren\"], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", invoicePricing.State]])], [\"onChange\", (e) => {\n const _arg = Browser_Types_Event__Event_get_Checked(e);\n invoicePricing.Toggle();\n }]])),\n });\n}\n\nexport function ChooseInvoicing(chooseInvoicingInputProps) {\n const invoicePricing = chooseInvoicingInputProps.invoicePricing;\n const dossierCreatePageSource = chooseInvoicingInputProps.dossierCreatePageSource;\n const foundCustomer = chooseInvoicingInputProps.foundCustomer;\n const isPartnerInvoicingAvailable = chooseInvoicingInputProps.isPartnerInvoicingAvailable;\n const customerCompany = chooseInvoicingInputProps.customerCompany;\n const customerPerson = chooseInvoicingInputProps.customerPerson;\n const contactOwner = chooseInvoicingInputProps.contactOwner;\n const setInvoicedValue = chooseInvoicingInputProps.setInvoicedValue;\n const invoicingPartySameAsOwner = chooseInvoicingInputProps.invoicingPartySameAsOwner;\n const customerControl = chooseInvoicingInputProps.customerControl;\n const partnerName = chooseInvoicingInputProps.partnerName;\n const invoiceOption = chooseInvoicingInputProps.invoiceOption;\n const xs = toList(delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(MarginTop.S),\n children: singleton_1(createElement(\"h2\", {\n children: [\"Prijzen\"],\n })),\n })), delay(() => {\n let matchValue;\n return append(equals(dossierCreatePageSource, new DossierCreatePageSource(0)) ? ((matchValue = invoicePricing, (matchValue == null) ? singleton(null) : singleton(createElement(ChoosePricing, matchValue)))) : empty_1(), delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(MarginTop.S),\n children: singleton_1(createElement(\"h2\", {\n children: [\"Facturatiegegevens\"],\n })),\n })), delay(() => {\n let matchValue_1, customerControl_1;\n return append((matchValue_1 = customerControl, (matchValue_1 == null) ? singleton(null) : ((customerControl_1 = matchValue_1, (invoicingPartySameAsOwner.State !== true) ? singleton(createElement(Col, {\n classes: singleton_1(MarginBottom.M),\n children: singleton_1(customerControl_1),\n })) : singleton(null)))), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Zelfde als Eigenaar\"], [\"control\", MuiHelpers_createElement(Checkbox, [[\"disabled\", foundCustomer], [\"checked\", invoicingPartySameAsOwner.State], [\"onChange\", (_arg) => {\n invoicingPartySameAsOwner.Toggle();\n if (contactOwner.tag === 1) {\n const company = contactOwner.fields[0];\n setInvoicedValue(new Invoiced(2));\n customerCompany.CompanyNameField.SetFieldValue(NonEmptyString___UnsafeUnwrap_Z73AD07C(company.CompanyName));\n customerCompany.CompanyTypeField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.CompanyType), \"\"));\n customerCompany.FirstName.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.FirstName), \"\"));\n customerCompany.LastName.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.LastName), \"\"));\n customerCompany.EmailField.SetFieldValue(Email___UnsafeUnwrap_Z27D11339(company.Email));\n customerCompany.TelephoneField.SetFieldValue(defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, company.PhoneNumber), \"\"));\n customerCompany.VatNumberField.SetFieldValue(VatNumber___UnsafeUnwrap_18C04ACB(company.VatNumber));\n customerCompany.AddressField.StreetField.SetFieldValue(company.Address.Street.Value);\n customerCompany.AddressField.NumberField.SetFieldValue(company.Address.Number.Value);\n customerCompany.AddressField.BusField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.Address.Bus), \"\"));\n customerCompany.AddressField.PostalCodeField.SetFieldValue(company.Address.PostalCode.Value);\n customerCompany.AddressField.City.SetFieldValue(company.Address.City.Value);\n customerPerson.FirstNameField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.FirstName), \"\"));\n customerPerson.LastNameField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.LastName), \"\"));\n if (company.IsVME) {\n customerCompany.IsVMEField.On();\n }\n if (company.IsSocialHousingCompany) {\n customerCompany.IsSocialHousingCompanyField.On();\n }\n }\n else {\n const person = contactOwner.fields[0];\n setInvoicedValue(new Invoiced(1));\n customerPerson.FirstNameField.SetFieldValue(NonEmptyString___UnsafeUnwrap_Z73AD07C(person.FirstName));\n customerPerson.LastNameField.SetFieldValue(NonEmptyString___UnsafeUnwrap_Z73AD07C(person.LastName));\n customerPerson.EmailField.SetFieldValue(Email___UnsafeUnwrap_Z27D11339(person.Email));\n customerPerson.TelephoneField.SetFieldValue(defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, person.PhoneNumber), \"\"));\n customerPerson.AddressField.StreetField.SetFieldValue(person.Address.Street.Value);\n customerPerson.AddressField.NumberField.SetFieldValue(person.Address.Number.Value);\n customerPerson.AddressField.BusField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, person.Address.Bus), \"\"));\n customerPerson.AddressField.PostalCodeField.SetFieldValue(person.Address.PostalCode.Value);\n customerPerson.AddressField.City.SetFieldValue(person.Address.City.Value);\n }\n }]])]])), delay(() => {\n let elements;\n return append(singleton(MuiHelpers_createElement(RadioGroup, [(elements = [OptionFieldDisabled(invoiceOption, new Invoiced(0), partnerName, \"\", true, (invoicingPartySameAsOwner.State ? true : (!isPartnerInvoicingAvailable)) ? true : foundCustomer), OptionFieldDisabled(invoiceOption, new Invoiced(1), InvoicedModule_string(new Invoiced(1)), \"\", true, invoicingPartySameAsOwner.State ? true : foundCustomer), OptionFieldDisabled(invoiceOption, new Invoiced(2), InvoicedModule_string(new Invoiced(2)), \"\", true, invoicingPartySameAsOwner.State ? true : foundCustomer)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])), delay(() => {\n if (invoicingPartySameAsOwner.State) {\n const matchValue_2 = invoiceOption.FieldValue;\n return (matchValue_2 == null) ? singleton(null) : ((matchValue_2.tag === 1) ? singleton(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(CreateCustomerPersonForm, {\n form: customerPerson,\n disabled: true,\n })),\n })) : ((matchValue_2.tag === 2) ? singleton(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(CreateCustomerCompanyForm, {\n form: customerCompany,\n disabled: true,\n })),\n })) : singleton(null)));\n }\n else {\n const matchValue_3 = invoiceOption.FieldValue;\n let pattern_matching_result;\n if (matchValue_3 != null) {\n if (matchValue_3.tag === 1) {\n if (foundCustomer !== true) {\n pattern_matching_result = 1;\n }\n else {\n pattern_matching_result = 3;\n }\n }\n else if (matchValue_3.tag === 2) {\n if (foundCustomer !== true) {\n pattern_matching_result = 2;\n }\n else {\n pattern_matching_result = 3;\n }\n }\n else {\n pattern_matching_result = 0;\n }\n }\n else {\n pattern_matching_result = 3;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(null);\n }\n case 1: {\n return singleton(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(CreateCustomerPersonForm, {\n form: customerPerson,\n disabled: false,\n })),\n }));\n }\n case 2: {\n return singleton(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(CreateCustomerCompanyForm, {\n form: customerCompany,\n disabled: false,\n })),\n }));\n }\n case 3: {\n return singleton(null);\n }\n }\n }\n }));\n }))));\n }))));\n }))));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\n","import { isNullOrWhiteSpace } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\n\nexport function toOption(str) {\n if (isNullOrWhiteSpace(str)) {\n return void 0;\n }\n else {\n return str;\n }\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { value as value_3, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { createElement } from \"react\";\nimport { Progress } from \"./DesignSystem.fs.js\";\nimport { empty } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../Notistack/Notistack.fs.js\";\n\nexport const defaultErrorMessage = \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\";\n\nexport function DisplayDeferred(displayDeferredInputProps) {\n const view = displayDeferredInputProps.view;\n const data = displayDeferredInputProps.data;\n const snackbar = useSnackbar();\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const cached = patternInput[0];\n const value_1 = useReact_useEffect_Z101E1A95(() => {\n let pattern_matching_result, value;\n if (data.tag === 2) {\n if (data.fields[0].tag === 0) {\n pattern_matching_result = 0;\n value = data.fields[0].fields[0];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n patternInput[1](some(value));\n break;\n }\n case 1: {\n break;\n }\n }\n }, [data]);\n if (data.tag === 1) {\n if (cached != null) {\n return view(value_3(cached));\n }\n else {\n return createElement(Progress, {\n classes: empty(),\n });\n }\n }\n else if (data.tag === 2) {\n if (data.fields[0].tag === 1) {\n console.log(data.fields[0].fields[0]);\n return ProviderContext__enqueueSnackbar_Z1776A768(snackbar, data.fields[0].fields[0], SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n }\n else {\n return view(data.fields[0].fields[0]);\n }\n }\n else if (data.tag === 3) {\n console.log(data.fields[0]);\n return ProviderContext__enqueueSnackbar_Z1776A768(snackbar, defaultErrorMessage, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n }\n else {\n return null;\n }\n}\n\n","import { useForm, useFormValidator, useFormField } from \"../CustomHooks/ComposedForm.fs.js\";\nimport { Customer2__get_CustomerOrCompanyName, CustomerCode as CustomerCode_2, CustomerCode$reflection, Customer2__get_Code, Customer2__get_Id, Customer2__get_Address, VatNumber___UnsafeUnwrap_18C04ACB, Customer2__get_PhoneNumber, PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_Email, Email___UnsafeUnwrap_Z27D11339, NonEmptyString___UnsafeUnwrap_Z73AD07C, CustomerCompanyData, CustomerData2, CustomerPersonData, TypeOfCustomerModule_string, TypeOfCustomer as TypeOfCustomer_2, KboNumber___UnsafeCreate_Z721C83C5, VatNumber___UnsafeCreate_Z721C83C5, NonEmptyString___UnsafeCreate_Z721C83C5, SelectOptionData$1_Create_Z510A3DC0, KboNumber_get_Create, VatNumber_get_Create, PhoneNumber_get_Create, Email_get_Create, NonEmptyString_get_Create } from \"../shared/Domain.fs.js\";\nimport { toArray, map, defaultArg, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { CreateAddressForm, useAddressForm } from \"./AddressHook.fs.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useToggle } from \"../CustomHooks/CustomHooks.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../Components/UtilComponents.fs.js\";\nimport { alignEnd, cursorPointer, TableHeaderCell, flexExpand, MarginTop, Padding, TextSize, Gap } from \"../Styles/Utils.fs.js\";\nimport { empty, ofArray, singleton } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { map as map_1, iterate, singleton as singleton_1, append, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { printf, toConsole, isNullOrWhiteSpace, join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { TableHeader, FilterField, CheckBox, DisplayData, PartnerChip, EmailField, TextField, OptionField } from \"./DesignSystem.fs.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { VmeSocialToggles } from \"./Contacts.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { RouterModule_nav } from \"../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { px } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { MaxWidth } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { Union, Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type, record_type, int32_type, option_type, string_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { CustomerSearchTerms } from \"../shared/DomainHelpers.fs.js\";\nimport { toOption } from \"./String.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"./DisplayDeferred.fs.js\";\nimport { Email_email, Address_address } from \"../shared/Format.fs.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\n\nexport function CreateCustomerForm(createCustomerFormInputProps) {\n let f1, f1_1, f1_2, f1_3, f1_4;\n const onBack = createCustomerFormInputProps.onBack;\n const isCibCustomer = createCustomerFormInputProps.isCibCustomer;\n const backButtonText = createCustomerFormInputProps.backButtonText;\n const saveButtonText = createCustomerFormInputProps.saveButtonText;\n const onCreateCustomer = createCustomerFormInputProps.onCreateCustomer;\n const companyName = useFormField(\"\", NonEmptyString_get_Create());\n const companyType = useFormField(\"\", (f1 = NonEmptyString_get_Create(), (arg_1) => some(f1(arg_1))));\n const firstName = useFormField(\"\", NonEmptyString_get_Create());\n const lastName = useFormField(\"\", NonEmptyString_get_Create());\n const companyFirstname = useFormField(\"\", (f1_1 = NonEmptyString_get_Create(), (arg_3) => some(f1_1(arg_3))));\n const companyLastname = useFormField(\"\", (f1_2 = NonEmptyString_get_Create(), (arg_5) => some(f1_2(arg_5))));\n const email = useFormField(\"\", Email_get_Create());\n const phoneNumber = useFormField(\"\", (f1_3 = PhoneNumber_get_Create(), (arg_7) => some(f1_3(arg_7))));\n const vatNumber = useFormField(\"\", VatNumber_get_Create());\n const kboNumber = useFormField(\"\", (f1_4 = KboNumber_get_Create(), (arg_9) => some(f1_4(arg_9))));\n const address = useAddressForm(\"\", \"\", \"\", \"\", \"\");\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const saveButtonText_1 = defaultArg(saveButtonText, \"Bewaren\");\n const backButtonText_1 = defaultArg(backButtonText, \"Annuleren\");\n const isVme = useToggle(false);\n const isSocialHousingCompany = useToggle(false);\n const typeOfCustomer = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const personForm = useFormValidator(phoneNumber.Validator, (r_4, x_5) => ({\n Address: r_4.Address,\n CompanyFirstName: r_4.CompanyFirstName,\n CompanyLastName: r_4.CompanyLastName,\n CompanyName: r_4.CompanyName,\n Email: r_4.Email,\n FirstName: r_4.FirstName,\n IsSocialHousingCompany: r_4.IsSocialHousingCompany,\n IsVme: r_4.IsVme,\n KboNumber: r_4.KboNumber,\n LastName: r_4.LastName,\n PhoneNumber: x_5,\n TypeOfCustomer: r_4.TypeOfCustomer,\n VatNumber: r_4.VatNumber,\n }), useFormValidator(email.Validator, (r_3, x_4) => ({\n Address: r_3.Address,\n CompanyFirstName: r_3.CompanyFirstName,\n CompanyLastName: r_3.CompanyLastName,\n CompanyName: r_3.CompanyName,\n Email: x_4,\n FirstName: r_3.FirstName,\n IsSocialHousingCompany: r_3.IsSocialHousingCompany,\n IsVme: r_3.IsVme,\n KboNumber: r_3.KboNumber,\n LastName: r_3.LastName,\n TypeOfCustomer: r_3.TypeOfCustomer,\n VatNumber: r_3.VatNumber,\n }), useFormValidator(address.Validator, (r_2, x_3) => ({\n Address: x_3,\n CompanyFirstName: r_2.CompanyFirstName,\n CompanyLastName: r_2.CompanyLastName,\n CompanyName: r_2.CompanyName,\n FirstName: r_2.FirstName,\n IsSocialHousingCompany: r_2.IsSocialHousingCompany,\n IsVme: r_2.IsVme,\n KboNumber: r_2.KboNumber,\n LastName: r_2.LastName,\n TypeOfCustomer: r_2.TypeOfCustomer,\n VatNumber: r_2.VatNumber,\n }), useFormValidator(lastName.Validator, (r_1, x_2) => ({\n CompanyFirstName: r_1.CompanyFirstName,\n CompanyLastName: r_1.CompanyLastName,\n CompanyName: r_1.CompanyName,\n FirstName: r_1.FirstName,\n IsSocialHousingCompany: r_1.IsSocialHousingCompany,\n IsVme: r_1.IsVme,\n KboNumber: r_1.KboNumber,\n LastName: x_2,\n TypeOfCustomer: r_1.TypeOfCustomer,\n VatNumber: r_1.VatNumber,\n }), useFormValidator(firstName.Validator, (r, x_1) => ({\n CompanyFirstName: r.CompanyFirstName,\n CompanyLastName: r.CompanyLastName,\n CompanyName: r.CompanyName,\n FirstName: x_1,\n IsSocialHousingCompany: r.IsSocialHousingCompany,\n IsVme: r.IsVme,\n KboNumber: r.KboNumber,\n TypeOfCustomer: r.TypeOfCustomer,\n VatNumber: r.VatNumber,\n }), useFormValidator(address.Validator, (unitVar, x) => {\n const CompanyName = NonEmptyString___UnsafeCreate_Z721C83C5(\"\");\n const VatNumber = VatNumber___UnsafeCreate_Z721C83C5(\"\");\n return {\n CompanyFirstName: void 0,\n CompanyLastName: void 0,\n CompanyName: CompanyName,\n IsSocialHousingCompany: false,\n IsVme: false,\n KboNumber: KboNumber___UnsafeCreate_Z721C83C5(\"\"),\n TypeOfCustomer: new TypeOfCustomer_2(0),\n VatNumber: VatNumber,\n };\n }, useForm()))))));\n const companyForm = useFormValidator(companyLastname.Validator, (r_12, x_14) => ({\n Address: r_12.Address,\n CompanyFirstName: r_12.CompanyFirstName,\n CompanyLastName: x_14,\n CompanyName: r_12.CompanyName,\n Email: r_12.Email,\n FirstName: r_12.FirstName,\n IsSocialHousingCompany: r_12.IsSocialHousingCompany,\n IsVme: r_12.IsVme,\n KboNumber: r_12.KboNumber,\n LastName: r_12.LastName,\n PhoneNumber: r_12.PhoneNumber,\n TypeOfCustomer: r_12.TypeOfCustomer,\n VatNumber: r_12.VatNumber,\n }), useFormValidator(companyFirstname.Validator, (r_11, x_13) => ({\n Address: r_11.Address,\n CompanyFirstName: x_13,\n CompanyName: r_11.CompanyName,\n Email: r_11.Email,\n FirstName: r_11.FirstName,\n IsSocialHousingCompany: r_11.IsSocialHousingCompany,\n IsVme: r_11.IsVme,\n KboNumber: r_11.KboNumber,\n LastName: r_11.LastName,\n PhoneNumber: r_11.PhoneNumber,\n TypeOfCustomer: r_11.TypeOfCustomer,\n VatNumber: r_11.VatNumber,\n }), useFormValidator(kboNumber.Validator, (r_10, x_12) => ({\n Address: r_10.Address,\n CompanyName: r_10.CompanyName,\n Email: r_10.Email,\n FirstName: r_10.FirstName,\n IsSocialHousingCompany: r_10.IsSocialHousingCompany,\n IsVme: r_10.IsVme,\n KboNumber: x_12,\n LastName: r_10.LastName,\n PhoneNumber: r_10.PhoneNumber,\n TypeOfCustomer: r_10.TypeOfCustomer,\n VatNumber: r_10.VatNumber,\n }), useFormValidator(vatNumber.Validator, (r_9, x_11) => ({\n Address: r_9.Address,\n CompanyName: r_9.CompanyName,\n Email: r_9.Email,\n FirstName: r_9.FirstName,\n IsSocialHousingCompany: r_9.IsSocialHousingCompany,\n IsVme: r_9.IsVme,\n LastName: r_9.LastName,\n PhoneNumber: r_9.PhoneNumber,\n TypeOfCustomer: r_9.TypeOfCustomer,\n VatNumber: x_11,\n }), useFormValidator(phoneNumber.Validator, (r_8, x_10) => ({\n Address: r_8.Address,\n CompanyName: r_8.CompanyName,\n Email: r_8.Email,\n FirstName: r_8.FirstName,\n IsSocialHousingCompany: r_8.IsSocialHousingCompany,\n IsVme: r_8.IsVme,\n LastName: r_8.LastName,\n PhoneNumber: x_10,\n TypeOfCustomer: r_8.TypeOfCustomer,\n }), useFormValidator(email.Validator, (r_7, x_9) => ({\n Address: r_7.Address,\n CompanyName: r_7.CompanyName,\n Email: x_9,\n FirstName: r_7.FirstName,\n IsSocialHousingCompany: r_7.IsSocialHousingCompany,\n IsVme: r_7.IsVme,\n LastName: r_7.LastName,\n TypeOfCustomer: r_7.TypeOfCustomer,\n }), useFormValidator(address.Validator, (r_6, x_8) => ({\n Address: x_8,\n CompanyName: r_6.CompanyName,\n FirstName: r_6.FirstName,\n IsSocialHousingCompany: r_6.IsSocialHousingCompany,\n IsVme: r_6.IsVme,\n LastName: r_6.LastName,\n TypeOfCustomer: r_6.TypeOfCustomer,\n }), useFormValidator(companyName.Validator, (r_5, x_7) => ({\n CompanyName: x_7,\n FirstName: r_5.FirstName,\n IsSocialHousingCompany: isSocialHousingCompany.State,\n IsVme: isVme.State,\n LastName: r_5.LastName,\n TypeOfCustomer: r_5.TypeOfCustomer,\n }), useFormValidator(address.Validator, (unitVar_1, x_6) => ({\n FirstName: NonEmptyString___UnsafeCreate_Z721C83C5(\"\"),\n LastName: NonEmptyString___UnsafeCreate_Z721C83C5(\"\"),\n TypeOfCustomer: new TypeOfCustomer_2(1),\n }), useForm())))))))));\n const form = useFormValidator(typeOfCustomer.Validator, (unitVar_2, x_15) => {\n if (x_15.Value.tag === 1) {\n return map((n_1) => n_1, companyForm.Validate());\n }\n else {\n return map((n) => n, personForm.Validate());\n }\n }, useForm());\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(false);\n const setDisable = patternInput_1[1];\n const disable = patternInput_1[0];\n return createElement(Col, {\n classes: singleton(Gap.M),\n children: toList(delay(() => append(singleton_1(createElement(\"div\", {\n className: join(\" \", [TextSize.M, Padding.Xxs]),\n children: \"Klant aanmaken\",\n })), delay(() => {\n let elements;\n return append(singleton_1(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [OptionField(typeOfCustomer, new TypeOfCustomer_2(0), TypeOfCustomerModule_string(new TypeOfCustomer_2(0)), \"\", true), OptionField(typeOfCustomer, new TypeOfCustomer_2(1), TypeOfCustomerModule_string(new TypeOfCustomer_2(1)), \"\", true)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])), delay(() => {\n let matchValue_2, typeOfCustomer_1;\n return append((matchValue_2 = typeOfCustomer.FieldValue, (matchValue_2 == null) ? singleton_1(null) : ((typeOfCustomer_1 = matchValue_2, (typeOfCustomer_1.tag === 1) ? append(singleton_1(createElement(VmeSocialToggles, {\n vme: isVme,\n social: isSocialHousingCompany,\n disabled: false,\n companyTypeField: companyType,\n })), delay(() => append(singleton_1(TextField(vatNumber, \"BTW\", \"\", false)), delay(() => append(singleton_1(TextField(companyName, \"Bedrijfsnaam\", \"\", true)), delay(() => append(singleton_1(TextField(companyType, \"Bedrijfstype\", \"\", false)), delay(() => append(singleton_1(EmailField(email, \"Email adres\", \"\", true)), delay(() => singleton_1(TextField(phoneNumber, \"Telefoon\", \"\", false)))))))))))) : append(singleton_1(TextField(firstName, \"Voornaam\", \"\", true)), delay(() => append(singleton_1(TextField(lastName, \"Naam\", \"\", true)), delay(() => append(singleton_1(EmailField(email, \"Email adres\", \"\", true)), delay(() => singleton_1(TextField(phoneNumber, \"Telefoon\", \"\", false))))))))))), delay(() => append(singleton_1(createElement(CreateAddressForm, {\n addressForm: address,\n heading: void 0,\n disabled: false,\n })), delay(() => singleton_1(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: ofArray([MuiHelpers_createElement(Button, [[\"disabled\", disable], [\"color\", \"default\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_1) => {\n onBack();\n }], [\"children\", Interop_reactApi.Children.toArray([backButtonText_1])]]), MuiHelpers_createElement(Button, [[\"disabled\", disable], [\"color\", \"primary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n iterate((data) => {\n iterate((data_1) => {\n const customerData = (data_1.TypeOfCustomer.tag === 0) ? (new CustomerData2(0, new CustomerPersonData(data_1.LastName, data_1.FirstName, data_1.Address, data_1.Email, data_1.PhoneNumber, isCibCustomer))) : (new CustomerData2(1, new CustomerCompanyData(data_1.CompanyName, void 0, data_1.Address, data_1.Email, data_1.PhoneNumber, data_1.VatNumber, isCibCustomer, data_1.IsVme, data_1.IsSocialHousingCompany, data_1.CompanyLastName, data_1.CompanyFirstName)));\n console.log(data_1);\n setDisable(true);\n onCreateCustomer(customerData)(() => {\n setDisable(false);\n });\n }, toArray(data));\n }, toArray(form.Validate()));\n }], [\"children\", Interop_reactApi.Children.toArray([saveButtonText_1])]])]),\n }))))));\n }));\n })))),\n });\n}\n\nexport function EditCustomerForm(editCustomerFormInputProps) {\n let f1, f1_1, f1_2, f1_3, f1_4, f1_5;\n const url = editCustomerFormInputProps.url;\n const onEditCustomer = editCustomerFormInputProps.onEditCustomer;\n const customer = editCustomerFormInputProps.customer;\n const companyName = useFormField((customer.tag === 1) ? customer.fields[0].CompanyName.Value : \"\", NonEmptyString_get_Create());\n const companyType = useFormField((customer.tag === 1) ? defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, customer.fields[0].CompanyType), \"\") : \"\", (f1 = NonEmptyString_get_Create(), (arg_2) => some(f1(arg_2))));\n const firstName = useFormField((customer.tag === 1) ? \"\" : customer.fields[0].FirstName.Value, NonEmptyString_get_Create());\n const lastName = useFormField((customer.tag === 1) ? \"\" : customer.fields[0].LastName.Value, NonEmptyString_get_Create());\n const email = useFormField(Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer)), Email_get_Create());\n const phoneNumber = useFormField(defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer)), \"\"), (f1_1 = PhoneNumber_get_Create(), (arg_6) => some(f1_1(arg_6))));\n const companyFirstname = useFormField(\"\", (f1_2 = NonEmptyString_get_Create(), (arg_8) => some(f1_2(arg_8))));\n const companyLastname = useFormField(\"\", (f1_3 = NonEmptyString_get_Create(), (arg_10) => some(f1_3(arg_10))));\n let patternInput_1;\n let patternInput;\n if (customer.tag === 1) {\n const company_2 = customer.fields[0];\n patternInput = [VatNumber___UnsafeUnwrap_18C04ACB(company_2.VatNumber), defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company_2.FirstName), \"\"), defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company_2.LastName), \"\")];\n }\n else {\n patternInput = [\"\", \"\", \"\"];\n }\n patternInput_1 = [useFormField(patternInput[0], VatNumber_get_Create()), useFormField(patternInput[1], (f1_4 = NonEmptyString_get_Create(), (arg_15) => some(f1_4(arg_15)))), useFormField(patternInput[2], (f1_5 = NonEmptyString_get_Create(), (arg_17) => some(f1_5(arg_17))))];\n const vatNumber = patternInput_1[0];\n const isVme = useToggle((customer.tag === 1) && customer.fields[0].IsVME);\n const isSocialHousingCompany = useToggle((customer.tag === 1) && customer.fields[0].IsSocialHousingCompany);\n let bus_1;\n const matchValue = Customer2__get_Address(customer).Bus;\n bus_1 = ((matchValue == null) ? \"\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue));\n const address = useAddressForm(NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).Street), NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).Number), bus_1, NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).PostalCode), NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).City));\n const typeOfCustomer = useFormField((customer.tag === 1) ? (new TypeOfCustomer_2(1)) : (new TypeOfCustomer_2(0)), SelectOptionData$1_Create_Z510A3DC0);\n const personForm = useFormValidator(phoneNumber.Validator, (r_4, x_5) => ({\n Address: r_4.Address,\n CompanyFirstName: r_4.CompanyFirstName,\n CompanyLastName: r_4.CompanyLastName,\n CompanyName: r_4.CompanyName,\n CompanyType: r_4.CompanyType,\n Email: r_4.Email,\n FirstName: r_4.FirstName,\n IsSocialHousingCompany: r_4.IsSocialHousingCompany,\n IsVme: r_4.IsVme,\n LastName: r_4.LastName,\n PhoneNumber: x_5,\n TypeOfCustomer: r_4.TypeOfCustomer,\n VatNumber: r_4.VatNumber,\n }), useFormValidator(email.Validator, (r_3, x_4) => ({\n Address: r_3.Address,\n CompanyFirstName: r_3.CompanyFirstName,\n CompanyLastName: r_3.CompanyLastName,\n CompanyName: r_3.CompanyName,\n CompanyType: r_3.CompanyType,\n Email: x_4,\n FirstName: r_3.FirstName,\n IsSocialHousingCompany: r_3.IsSocialHousingCompany,\n IsVme: r_3.IsVme,\n LastName: r_3.LastName,\n TypeOfCustomer: r_3.TypeOfCustomer,\n VatNumber: r_3.VatNumber,\n }), useFormValidator(address.Validator, (r_2, x_3) => ({\n Address: x_3,\n CompanyFirstName: r_2.CompanyFirstName,\n CompanyLastName: r_2.CompanyLastName,\n CompanyName: r_2.CompanyName,\n CompanyType: r_2.CompanyType,\n FirstName: r_2.FirstName,\n IsSocialHousingCompany: r_2.IsSocialHousingCompany,\n IsVme: r_2.IsVme,\n LastName: r_2.LastName,\n TypeOfCustomer: r_2.TypeOfCustomer,\n VatNumber: r_2.VatNumber,\n }), useFormValidator(lastName.Validator, (r_1, x_2) => ({\n CompanyFirstName: r_1.CompanyFirstName,\n CompanyLastName: r_1.CompanyLastName,\n CompanyName: r_1.CompanyName,\n CompanyType: r_1.CompanyType,\n FirstName: r_1.FirstName,\n IsSocialHousingCompany: r_1.IsSocialHousingCompany,\n IsVme: r_1.IsVme,\n LastName: x_2,\n TypeOfCustomer: r_1.TypeOfCustomer,\n VatNumber: r_1.VatNumber,\n }), useFormValidator(firstName.Validator, (r, x_1) => ({\n CompanyFirstName: r.CompanyFirstName,\n CompanyLastName: r.CompanyLastName,\n CompanyName: r.CompanyName,\n CompanyType: r.CompanyType,\n FirstName: x_1,\n IsSocialHousingCompany: r.IsSocialHousingCompany,\n IsVme: r.IsVme,\n TypeOfCustomer: r.TypeOfCustomer,\n VatNumber: r.VatNumber,\n }), useFormValidator(address.Validator, (unitVar, x) => ({\n CompanyFirstName: void 0,\n CompanyLastName: void 0,\n CompanyName: NonEmptyString___UnsafeCreate_Z721C83C5(\"\"),\n CompanyType: void 0,\n IsSocialHousingCompany: false,\n IsVme: false,\n TypeOfCustomer: new TypeOfCustomer_2(0),\n VatNumber: VatNumber___UnsafeCreate_Z721C83C5(\"\"),\n }), useForm()))))));\n const companyForm = useFormValidator(patternInput_1[2].Validator, (r_12, x_14) => ({\n Address: r_12.Address,\n CompanyFirstName: r_12.CompanyFirstName,\n CompanyLastName: x_14,\n CompanyName: r_12.CompanyName,\n CompanyType: r_12.CompanyType,\n Email: r_12.Email,\n FirstName: r_12.FirstName,\n IsSocialHousingCompany: r_12.IsSocialHousingCompany,\n IsVme: r_12.IsVme,\n LastName: r_12.LastName,\n PhoneNumber: r_12.PhoneNumber,\n TypeOfCustomer: r_12.TypeOfCustomer,\n VatNumber: r_12.VatNumber,\n }), useFormValidator(patternInput_1[1].Validator, (r_11, x_13) => ({\n Address: r_11.Address,\n CompanyFirstName: x_13,\n CompanyName: r_11.CompanyName,\n CompanyType: r_11.CompanyType,\n Email: r_11.Email,\n FirstName: r_11.FirstName,\n IsSocialHousingCompany: r_11.IsSocialHousingCompany,\n IsVme: r_11.IsVme,\n LastName: r_11.LastName,\n PhoneNumber: r_11.PhoneNumber,\n TypeOfCustomer: r_11.TypeOfCustomer,\n VatNumber: r_11.VatNumber,\n }), useFormValidator(vatNumber.Validator, (r_10, x_12) => ({\n Address: r_10.Address,\n CompanyName: r_10.CompanyName,\n CompanyType: r_10.CompanyType,\n Email: r_10.Email,\n FirstName: r_10.FirstName,\n IsSocialHousingCompany: r_10.IsSocialHousingCompany,\n IsVme: r_10.IsVme,\n LastName: r_10.LastName,\n PhoneNumber: r_10.PhoneNumber,\n TypeOfCustomer: r_10.TypeOfCustomer,\n VatNumber: x_12,\n }), useFormValidator(phoneNumber.Validator, (r_9, x_11) => ({\n Address: r_9.Address,\n CompanyName: r_9.CompanyName,\n CompanyType: r_9.CompanyType,\n Email: r_9.Email,\n FirstName: r_9.FirstName,\n IsSocialHousingCompany: r_9.IsSocialHousingCompany,\n IsVme: r_9.IsVme,\n LastName: r_9.LastName,\n PhoneNumber: x_11,\n TypeOfCustomer: r_9.TypeOfCustomer,\n }), useFormValidator(email.Validator, (r_8, x_10) => ({\n Address: r_8.Address,\n CompanyName: r_8.CompanyName,\n CompanyType: r_8.CompanyType,\n Email: x_10,\n FirstName: r_8.FirstName,\n IsSocialHousingCompany: r_8.IsSocialHousingCompany,\n IsVme: r_8.IsVme,\n LastName: r_8.LastName,\n TypeOfCustomer: r_8.TypeOfCustomer,\n }), useFormValidator(address.Validator, (r_7, x_9) => ({\n Address: x_9,\n CompanyName: r_7.CompanyName,\n CompanyType: r_7.CompanyType,\n FirstName: r_7.FirstName,\n IsSocialHousingCompany: r_7.IsSocialHousingCompany,\n IsVme: r_7.IsVme,\n LastName: r_7.LastName,\n TypeOfCustomer: r_7.TypeOfCustomer,\n }), useFormValidator(companyType.Validator, (r_6, x_8) => ({\n CompanyName: r_6.CompanyName,\n CompanyType: x_8,\n FirstName: r_6.FirstName,\n IsSocialHousingCompany: r_6.IsSocialHousingCompany,\n IsVme: r_6.IsVme,\n LastName: r_6.LastName,\n TypeOfCustomer: r_6.TypeOfCustomer,\n }), useFormValidator(companyName.Validator, (r_5, x_7) => ({\n CompanyName: x_7,\n FirstName: r_5.FirstName,\n IsSocialHousingCompany: isSocialHousingCompany.State,\n IsVme: isVme.State,\n LastName: r_5.LastName,\n TypeOfCustomer: r_5.TypeOfCustomer,\n }), useFormValidator(address.Validator, (unitVar_1, x_6) => ({\n FirstName: NonEmptyString___UnsafeCreate_Z721C83C5(\"\"),\n LastName: NonEmptyString___UnsafeCreate_Z721C83C5(\"\"),\n TypeOfCustomer: new TypeOfCustomer_2(1),\n }), useForm())))))))));\n const form = useFormValidator(typeOfCustomer.Validator, (unitVar_2, x_15) => {\n if (x_15.Value.tag === 1) {\n return map((n_1) => n_1, companyForm.Validate());\n }\n else {\n return map((n) => n, personForm.Validate());\n }\n }, useForm());\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(false);\n const setDisable = patternInput_2[1];\n const disable = patternInput_2[0];\n return createElement(Col, {\n classes: singleton(Gap.M),\n children: toList(delay(() => {\n let elements;\n return append(singleton_1(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [OptionField(typeOfCustomer, new TypeOfCustomer_2(0), TypeOfCustomerModule_string(new TypeOfCustomer_2(0)), \"\", true), OptionField(typeOfCustomer, new TypeOfCustomer_2(1), TypeOfCustomerModule_string(new TypeOfCustomer_2(1)), \"\", true)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])), delay(() => {\n let matchValue_3, typeOfCustomer_1;\n return append((matchValue_3 = typeOfCustomer.FieldValue, (matchValue_3 == null) ? singleton_1(null) : ((typeOfCustomer_1 = matchValue_3, (typeOfCustomer_1.tag === 1) ? append(singleton_1(createElement(VmeSocialToggles, {\n vme: isVme,\n social: isSocialHousingCompany,\n disabled: false,\n companyTypeField: companyType,\n })), delay(() => append(singleton_1(TextField(vatNumber, \"BTW\", \"\", false)), delay(() => append(singleton_1(TextField(companyName, \"Bedrijfsnaam\", \"\", true)), delay(() => append(singleton_1(TextField(companyType, \"Bedrijfstype\", \"\", false)), delay(() => append(singleton_1(EmailField(email, \"Email adres\", \"\", true)), delay(() => singleton_1(TextField(phoneNumber, \"Telefoon\", \"\", false)))))))))))) : append(singleton_1(TextField(firstName, \"Voornaam\", \"\", true)), delay(() => append(singleton_1(TextField(lastName, \"Naam\", \"\", true)), delay(() => append(singleton_1(EmailField(email, \"Email adres\", \"\", true)), delay(() => singleton_1(TextField(phoneNumber, \"Telefoon\", \"\", false))))))))))), delay(() => append(singleton_1(createElement(CreateAddressForm, {\n addressForm: address,\n heading: void 0,\n disabled: false,\n })), delay(() => singleton_1(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: ofArray([MuiHelpers_createElement(Button, [[\"disabled\", disable], [\"color\", \"default\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_1) => {\n RouterModule_nav(ofArray(url), 1, 1);\n }], [\"children\", Interop_reactApi.Children.toArray([\"Annuleren\"])]]), MuiHelpers_createElement(Button, [[\"disabled\", disable], [\"color\", \"primary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n iterate((data) => {\n iterate((data_1) => {\n setDisable(true);\n console.log(data_1);\n const customerData = (data_1.TypeOfCustomer.tag === 0) ? (new CustomerData2(0, new CustomerPersonData(data_1.LastName, data_1.FirstName, data_1.Address, data_1.Email, data_1.PhoneNumber, false))) : (new CustomerData2(1, new CustomerCompanyData(data_1.CompanyName, data_1.CompanyType, data_1.Address, data_1.Email, data_1.PhoneNumber, data_1.VatNumber, false, data_1.IsVme, data_1.IsSocialHousingCompany, data_1.CompanyLastName, data_1.CompanyFirstName)));\n onEditCustomer(() => {\n setDisable(false);\n })(Customer2__get_Id(customer))(customerData);\n }, toArray(data));\n }, toArray(form.Validate()));\n }], [\"children\", Interop_reactApi.Children.toArray([\"Bewaren\"])]])]),\n }))))));\n }));\n })),\n });\n}\n\nexport function DisplayCustomerInfo(displayCustomerInfoInputProps) {\n const onPartnerClick = displayCustomerInfoInputProps.onPartnerClick;\n const partner = displayCustomerInfoInputProps.partner;\n const customer = displayCustomerInfoInputProps.customer;\n const xs = toList(delay(() => {\n let matchValue, partner_1;\n return append((matchValue = partner, (matchValue == null) ? singleton_1(null) : ((partner_1 = matchValue, append(singleton_1(createElement(PartnerChip, {\n partner: partner_1,\n onClick: onPartnerClick,\n })), delay(() => singleton_1(createElement(Row, {\n classes: singleton(MarginTop.M),\n children: empty(),\n }))))))), delay(() => {\n let elems;\n return singleton_1(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MaxWidth, px(900)))), (elems = [createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: singleton(flexExpand),\n children: singleton(createElement(DisplayData, {\n data: toList(delay(() => append(singleton_1([\"Klant nummer\", Customer2__get_Code(customer).Value]), delay(() => {\n const matchValue_1 = customer;\n if (matchValue_1.tag === 1) {\n const company = matchValue_1.fields[0];\n return append(singleton_1([\"Klant type\", \"Rechtspersoon\"]), delay(() => append(singleton_1([\"BTW\", VatNumber___UnsafeUnwrap_18C04ACB(company.VatNumber)]), delay(() => append(singleton_1([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company.CompanyName)]), delay(() => append(singleton_1([\"Bedrijfstype\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.CompanyType), \"--\")]), delay(() => append(singleton_1([\"Email\", Email___UnsafeUnwrap_Z27D11339(company.Email)]), delay(() => append(singleton_1([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, company.PhoneNumber), \"--\")]), delay(() => append(singleton_1([\"VME\", CheckBox(company.IsVME)]), delay(() => singleton_1([\"Sociale huisvestigingsmaatschappij\", CheckBox(company.IsSocialHousingCompany)])))))))))))))));\n }\n else {\n const person = matchValue_1.fields[0];\n return append(singleton_1([\"Klant type\", \"Natuurlijk persoon\"]), delay(() => append(singleton_1([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.FirstName)]), delay(() => append(singleton_1([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.LastName)]), delay(() => append(singleton_1([\"Email\", Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer))]), delay(() => singleton_1([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer)), \"--\")])))))))));\n }\n })))),\n })),\n }), createElement(Col, {\n classes: singleton(flexExpand),\n children: singleton(createElement(DisplayData, {\n data: ofArray([[\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, Customer2__get_Address(customer).Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(Customer2__get_Address(customer).City)]]),\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]));\n }));\n }));\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function CopyCustomerAddress(copyCustomerAddressInputProps) {\n const label = copyCustomerAddressInputProps.label;\n const setIsSameAddress = copyCustomerAddressInputProps.setIsSameAddress;\n const isSameAddress = copyCustomerAddressInputProps.isSameAddress;\n const target = copyCustomerAddressInputProps.target;\n const source = copyCustomerAddressInputProps.source;\n return MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", isSameAddress]])], [\"onChange\", (e) => {\n const s = Browser_Types_Event__Event_get_Checked(e);\n setIsSameAddress(s);\n if (s === true) {\n target.StreetField.SetFieldValue(source.Street.Value);\n target.NumberField.SetFieldValue(source.Number.Value);\n target.BusField.SetFieldValue(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, source.Bus), \"\"));\n target.PostalCodeField.SetFieldValue(source.PostalCode.Value);\n target.City.SetFieldValue(source.City.Value);\n }\n else {\n target.StreetField.SetFieldValue(\"\");\n target.NumberField.SetFieldValue(\"\");\n target.BusField.SetFieldValue(\"\");\n target.PostalCodeField.SetFieldValue(\"\");\n target.City.SetFieldValue(\"\");\n }\n }]]);\n}\n\nexport class CustomerFilter_State extends Record {\n constructor(Name, Address, PhoneNumber, Email, CustomerCode, PageNumber, PageSize) {\n super();\n this.Name = Name;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n this.CustomerCode = CustomerCode;\n this.PageNumber = (PageNumber | 0);\n this.PageSize = (PageSize | 0);\n }\n}\n\nexport function CustomerFilter_State$reflection() {\n return record_type(\"CustomerForms.CustomerFilter.State\", [], CustomerFilter_State, () => [[\"Name\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Email\", option_type(string_type)], [\"CustomerCode\", option_type(CustomerCode$reflection())], [\"PageNumber\", int32_type], [\"PageSize\", int32_type]]);\n}\n\nexport function CustomerFilter_searchTerms(state) {\n return new CustomerSearchTerms(state.CustomerCode, state.Name, state.Address, state.PhoneNumber, state.Email);\n}\n\nexport class CustomerFilter_Msg extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SetName\", \"SetCustomerCode\", \"SetAddress\", \"SetPhoneNumber\", \"SetEmail\", \"SetPageNumber\"];\n }\n}\n\nexport function CustomerFilter_Msg$reflection() {\n return union_type(\"CustomerForms.CustomerFilter.Msg\", [], CustomerFilter_Msg, () => [[[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", int32_type]]]);\n}\n\nexport const CustomerFilter_initialState = new CustomerFilter_State(void 0, void 0, void 0, void 0, void 0, 0, 25);\n\nexport function CustomerFilter_update(state, _arg) {\n switch (_arg.tag) {\n case 1: {\n const customerCode = _arg.fields[0];\n if (isNullOrWhiteSpace(customerCode)) {\n return new CustomerFilter_State(state.Name, state.Address, state.PhoneNumber, state.Email, void 0, state.PageNumber, state.PageSize);\n }\n else {\n return new CustomerFilter_State(state.Name, state.Address, state.PhoneNumber, state.Email, new CustomerCode_2(customerCode), state.PageNumber, state.PageSize);\n }\n }\n case 2: {\n return new CustomerFilter_State(state.Name, toOption(_arg.fields[0]), state.PhoneNumber, state.Email, state.CustomerCode, state.PageNumber, state.PageSize);\n }\n case 3: {\n return new CustomerFilter_State(state.Name, state.Address, toOption(_arg.fields[0]), state.Email, state.CustomerCode, state.PageNumber, state.PageSize);\n }\n case 4: {\n return new CustomerFilter_State(state.Name, state.Address, state.PhoneNumber, toOption(_arg.fields[0]), state.CustomerCode, state.PageNumber, state.PageSize);\n }\n case 5: {\n return new CustomerFilter_State(state.Name, state.Address, state.PhoneNumber, state.Email, state.CustomerCode, _arg.fields[0], state.PageSize);\n }\n default: {\n return new CustomerFilter_State(toOption(_arg.fields[0]), state.Address, state.PhoneNumber, state.Email, state.CustomerCode, state.PageNumber, state.PageSize);\n }\n }\n}\n\nexport function CustomersData(customersDataInputProps) {\n let elems_15, elems_14, children_6, children_5, children, children_1, children_2, children_3, children_4, children_13;\n const url = customersDataInputProps.url;\n const dispatch = customersDataInputProps.dispatch;\n const state = customersDataInputProps.state;\n const data = customersDataInputProps.data;\n const xs_2 = [MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_15 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_14 = [(children_6 = singleton((children_5 = ofArray([(children = singleton(createElement(Col, {\n classes: singleton(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_1) => {\n dispatch(new CustomerFilter_Msg(1, arg_1));\n }, defaultArg(map((d) => d.Value, state.CustomerCode), \"\")), createElement(TableHeader, {\n text: \"Klant code\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]])), (children_1 = singleton(createElement(Col, {\n classes: singleton(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_3) => {\n dispatch(new CustomerFilter_Msg(0, arg_3));\n }, defaultArg(state.Name, \"\")), createElement(TableHeader, {\n text: \"Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])), (children_2 = singleton(createElement(Col, {\n classes: singleton(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_5) => {\n dispatch(new CustomerFilter_Msg(2, arg_5));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Adres\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]])), (children_3 = singleton(createElement(Col, {\n classes: singleton(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_7) => {\n dispatch(new CustomerFilter_Msg(3, arg_7));\n }, defaultArg(state.PhoneNumber, \"\")), createElement(TableHeader, {\n text: \"Tel\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]])), (children_4 = singleton(createElement(Col, {\n classes: singleton(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_9) => {\n dispatch(new CustomerFilter_Msg(4, arg_9));\n }, defaultArg(state.Email, \"\")), createElement(TableHeader, {\n text: \"Email\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))]), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]])), (children_13 = singleton(createElement(DisplayDeferred, {\n data: data,\n view: (customers) => {\n const xs_1 = toList(delay(() => map_1((customer) => {\n let elems_12, children_7, children_8, children_9, children_10, children_11;\n return MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg) => {\n const arg_10 = Customer2__get_Code(customer);\n toConsole(printf(\"customer code %A\"))(arg_10);\n RouterModule_nav(ofArray(url(Customer2__get_Code(customer))), 1, 1);\n }], [\"key\", Customer2__get_Id(customer).Value], (elems_12 = [(children_7 = singleton(Customer2__get_Code(customer).Value), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]])), (children_8 = singleton(Customer2__get_CustomerOrCompanyName(customer)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]])), (children_9 = singleton(Address_address(Customer2__get_Address(customer))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]])), (children_10 = toList(delay(() => {\n const matchValue = Customer2__get_PhoneNumber(customer);\n return (matchValue == null) ? singleton_1(\"-\") : singleton_1(PhoneNumber___UnsafeUnwrap_23E45174(matchValue));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]])), (children_11 = singleton(Email_email(Customer2__get_Email(customer))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_11))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_12))])]);\n }, customers.Data)));\n return react.createElement(react.Fragment, {}, ...xs_1);\n },\n })), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_13))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_14))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_15))])]), createElement(Col, {\n classes: empty(),\n children: singleton(createElement(DisplayDeferred, {\n data: data,\n view: (customers_1) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", customers_1.TotalPages], [\"onChangePage\", (_arg_1, v) => {\n dispatch(new CustomerFilter_Msg(5, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_45) => {\n }]]);\n },\n })),\n })];\n return react.createElement(react.Fragment, {}, ...xs_2);\n}\n\n","import { Union } from \"../fable-library.3.7.17/Types.js\";\nimport { union_type, class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { useReact_useCallback_93353E, React_useStateWithUpdater_1505, useReact_useCallbackRef_7C4B0DD6, React_createDisposable_3A5B6456 as React_createDisposable_3A5B6456_1, useReact_useEffectOnce_Z5ECA432F as useReact_useEffectOnce_Z5ECA432F_1, useReact_useRef_1505 as useReact_useRef_1505_1, useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../Feliz.1.68.0/React.fs.js\";\nimport { React_createDisposable_3A5B6456, useReact_useEffectOnce_Z5ECA432F, useReact_useRef_1505 } from \"../Feliz.1.68.0/./React.fs.js\";\nimport { parallel, ignore, isCancellationRequested, startImmediate, cancel, createCancellationToken } from \"../fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable-library.3.7.17/AsyncBuilder.js\";\nimport { toList as toList_1, add, empty } from \"../fable-library.3.7.17/Map.js\";\nimport { singleton as singleton_1, collect, delay, toList } from \"../fable-library.3.7.17/Seq.js\";\n\nexport class Deferred$1 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"HasNotStartedYet\", \"InProgress\", \"Resolved\", \"Failed\"];\n }\n}\n\nexport function Deferred$1$reflection(gen0) {\n return union_type(\"Feliz.UseDeferred.Deferred`1\", [gen0], Deferred$1, () => [[], [], [[\"Item\", gen0]], [[\"Item\", class_type(\"System.Exception\")]]]);\n}\n\nexport function Deferred_hasNotStartedYet(_arg) {\n if (_arg.tag === 0) {\n return true;\n }\n else {\n return false;\n }\n}\n\nexport function Deferred_resolved(_arg) {\n if (_arg.tag === 2) {\n return true;\n }\n else {\n return false;\n }\n}\n\nexport function Deferred_inProgress(_arg) {\n if (_arg.tag === 1) {\n return true;\n }\n else {\n return false;\n }\n}\n\nexport function Deferred_map(transform, deferred) {\n switch (deferred.tag) {\n case 1: {\n return new Deferred$1(1);\n }\n case 3: {\n return new Deferred$1(3, deferred.fields[0]);\n }\n case 2: {\n try {\n return new Deferred$1(2, transform(deferred.fields[0]));\n }\n catch (error_1) {\n return new Deferred$1(3, error_1);\n }\n }\n default: {\n return new Deferred$1(0);\n }\n }\n}\n\nexport function Deferred_iter(perform, deferred) {\n if (deferred.tag === 2) {\n perform(deferred.fields[0]);\n }\n}\n\nexport function Deferred_exists(predicate, _arg) {\n if (_arg.tag === 2) {\n return predicate(_arg.fields[0]);\n }\n else {\n return false;\n }\n}\n\nexport function Deferred_bind(transform, deferred) {\n switch (deferred.tag) {\n case 1: {\n return new Deferred$1(1);\n }\n case 3: {\n return new Deferred$1(3, deferred.fields[0]);\n }\n case 2: {\n try {\n return transform(deferred.fields[0]);\n }\n catch (error_1) {\n return new Deferred$1(3, error_1);\n }\n }\n default: {\n return new Deferred$1(0);\n }\n }\n}\n\nexport function useFeliz_React__React_useDeferred_Static_2344FC52(operation, dependencies) {\n const patternInput = useFeliz_React__React_useState_Static_1505(new Deferred$1(0));\n const setDeferred = patternInput[1];\n let token_1;\n const cts = useReact_useRef_1505(createCancellationToken());\n const token = useReact_useRef_1505(cts.current);\n useReact_useEffectOnce_Z5ECA432F(() => React_createDisposable_3A5B6456(() => {\n cancel(cts.current);\n }));\n token_1 = token;\n const executeOperation = singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n setDeferred(new Deferred$1(1));\n return singleton.Bind(operation, (_arg) => {\n setDeferred(new Deferred$1(2, _arg));\n return singleton.Zero();\n });\n }), (_arg_1) => {\n setDeferred(new Deferred$1(3, _arg_1));\n return singleton.Zero();\n }));\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(executeOperation, token_1.current);\n }, dependencies);\n return patternInput[0];\n}\n\nexport function useFeliz_React__React_useDeferredCallback_Static_7088D81D(operation, setDeferred) {\n const cancellationToken = useReact_useRef_1505_1(createCancellationToken());\n useReact_useEffectOnce_Z5ECA432F_1(() => React_createDisposable_3A5B6456_1(() => {\n cancel(cancellationToken.current);\n }));\n return useReact_useCallbackRef_7C4B0DD6((arg_1) => {\n if (!isCancellationRequested(cancellationToken.current)) {\n startImmediate(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n setDeferred(new Deferred$1(1));\n return singleton.Bind(operation(arg_1), (_arg) => {\n setDeferred(new Deferred$1(2, _arg));\n return singleton.Zero();\n });\n }), (_arg_1) => {\n setDeferred(new Deferred$1(3, _arg_1));\n return singleton.Zero();\n })), cancellationToken.current);\n }\n });\n}\n\nexport function useFeliz_React__React_useDeferredParallel_Static_Z7E3F34D2(deferred, map) {\n const patternInput = React_useStateWithUpdater_1505(empty());\n const addData = useReact_useCallbackRef_7C4B0DD6((tupledArg) => {\n patternInput[1]((prev) => add(tupledArg[0], tupledArg[1], prev));\n });\n let token_1;\n const cts = useReact_useRef_1505(createCancellationToken());\n const token = useReact_useRef_1505(cts.current);\n useReact_useEffectOnce_Z5ECA432F(() => React_createDisposable_3A5B6456(() => {\n cancel(cts.current);\n }));\n token_1 = token;\n const start = useReact_useCallback_93353E((operations_1) => {\n setTimeout(() => {\n startImmediate(ignore(parallel(toList(delay(() => collect((matchValue) => {\n const key_1 = matchValue[0];\n return singleton_1(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n addData([key_1, new Deferred$1(1)]);\n return singleton.Bind(matchValue[1], (_arg) => {\n addData([key_1, new Deferred$1(2, _arg)]);\n return singleton.Zero();\n });\n }), (_arg_1) => {\n addData([key_1, new Deferred$1(3, _arg_1)]);\n return singleton.Zero();\n })));\n }, operations_1))))), token_1.current);\n }, 0);\n });\n useReact_useEffect_Z101E1A95(() => {\n Deferred_iter((data_1) => {\n start(map(data_1));\n }, deferred);\n }, [deferred]);\n return toList_1(patternInput[0]);\n}\n\n","import { createElement } from \"react\";\nimport { Col, Row } from \"../../../Components/UtilComponents.fs.js\";\nimport { singleton as singleton_1, ofArray, empty } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { append, singleton, delay, toList } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { RenderBreadcrumbs } from \"../../../DesignSystems/DesignSystem.fs.js\";\nimport { RouterModule_encodeParts } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossiers, quotes, customers } from \"../AppRoutes.fs.js\";\nimport { alignStart, TextColor, MarginTop, spaceBetween, MarginBottom, PaddingTop, fullWidth, PaddingRight, PaddingLeft } from \"../../../Styles/Utils.fs.js\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { defaultArg } from \"../fable_modules/fable-library.3.7.17/Option.js\";\n\nexport function Breadcrumbs(breadcrumbsInputProps) {\n const currentPage = breadcrumbsInputProps.currentPage;\n return createElement(Row, {\n classes: empty(),\n children: toList(delay(() => ((currentPage.tag === 4) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Klant\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(customers)), 1)]],\n current: \"Aanmaken\",\n })) : ((currentPage.tag === 3) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Klant\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(customers)), 1)]],\n current: \"Bewerken\",\n })) : ((currentPage.tag === 2) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Klanten\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(customers)), 1)]],\n current: \"Detail\",\n })) : ((currentPage.tag === 5) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Dossiers\",\n })) : ((currentPage.tag === 13) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Offertes\",\n })) : ((currentPage.tag === 12) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Offertes\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(quotes)), 1)]],\n current: \"Detail\",\n })) : ((currentPage.tag === 8) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Dossiers\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(dossiers)), 1)]],\n current: \"Aanmaken\",\n })) : ((currentPage.tag === 7) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Dossiers\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(dossiers)), 1)]],\n current: \"Bewerken\",\n })) : ((currentPage.tag === 6) ? singleton(createElement(RenderBreadcrumbs, {\n links: [[\"Dossiers\", RouterModule_encodeParts(ofArray(Page$2__toUrl_2B594(dossiers)), 1)]],\n current: \"Detail\",\n })) : ((currentPage.tag === 0) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Login\",\n })) : ((currentPage.tag === 9) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Public CIB Form\",\n })) : ((currentPage.tag === 10) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"\",\n })) : ((currentPage.tag === 11) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Vergoedingen\",\n })) : ((currentPage.tag === 14) ? singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Settings\",\n })) : singleton(createElement(RenderBreadcrumbs, {\n links: [],\n current: \"Klanten\",\n })))))))))))))))))),\n });\n}\n\nexport function Page(pageInputProps) {\n const children = pageInputProps.children;\n const actions = pageInputProps.actions;\n const title = pageInputProps.title;\n const currentPage = pageInputProps.currentPage;\n return createElement(Col, {\n classes: ofArray([PaddingLeft.L, PaddingRight.L, fullWidth, PaddingTop.L, MarginBottom.L]),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(spaceBetween),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(Breadcrumbs, {\n currentPage: currentPage,\n }), createElement(\"h1\", {\n children: title,\n className: join(\" \", [MarginBottom.L, MarginTop.S, TextColor.Primary]),\n })]),\n }), createElement(Row, {\n classes: singleton_1(alignStart),\n children: toList(delay(() => actions)),\n })]),\n })), delay(() => children)))),\n });\n}\n\nexport function PageCib(pageCibInputProps) {\n const children = pageCibInputProps.children;\n const className = pageCibInputProps.className;\n const actions = pageCibInputProps.actions;\n const title = pageCibInputProps.title;\n return createElement(Col, {\n classes: ofArray([PaddingLeft.L, PaddingRight.L, fullWidth, PaddingTop.L, defaultArg(className, \"\")]),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(spaceBetween),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(\"h1\", {\n children: title,\n className: join(\" \", [MarginBottom.L, MarginTop.S, TextColor.Primary]),\n })),\n }), createElement(Row, {\n classes: singleton_1(alignStart),\n children: toList(delay(() => actions)),\n })]),\n })), delay(() => children)))),\n });\n}\n\n","import { useReact_useMemo_CF4EA67, useReact_useReducer_2B9E6EA0 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { CustomersData, CustomerFilter_searchTerms, CustomerFilter_initialState, CustomerFilter_update } from \"../../../DesignSystems/CustomerForms.fs.js\";\nimport { useDebouncedValue } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { singleton, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { customerDetail, customerCreate } from \"../AppRoutes.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport Add from \"@material-ui/icons/Add\";\nimport { Page } from \"../components/Page.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\n\nexport function List(listInputProps) {\n let props, children_1;\n const api = listInputProps.api;\n const currentPage = listInputProps.currentPage;\n const patternInput = useReact_useReducer_2B9E6EA0(CustomerFilter_update, CustomerFilter_initialState);\n const state_1 = patternInput[0];\n const search = useDebouncedValue(500, useReact_useMemo_CF4EA67(() => CustomerFilter_searchTerms(state_1), [state_1]));\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCustomers(new PagingQuery(state_1.PageNumber, state_1.PageSize), search), [state_1.PageNumber, state_1.PageSize, search]);\n const addNewCustomerButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg_1) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(customerCreate)), 1, 1);\n }], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Add, props))], [\"children\", \"Klant aanmaken\"]]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Klanten\",\n actions: [addNewCustomerButton],\n children: [(children_1 = singleton(createElement(CustomersData, {\n data: data,\n state: state_1,\n dispatch: patternInput[1],\n url: (customerId) => Page$2__toUrl_2B594(customerDetail, customerId.Value),\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))],\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { createElement } from \"react\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { CreateCustomerForm } from \"../../../DesignSystems/CustomerForms.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { CustomerData2__get_Email } from \"../../../shared/Domain.fs.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { iterate } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { toArray } from \"../fable_modules/fable-library.3.7.17/Option.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { customers, customerDetail } from \"../AppRoutes.fs.js\";\n\nexport function Create(createInputProps) {\n const api = createInputProps.api;\n const currentPage = createInputProps.currentPage;\n const snackbar = useSnackbar();\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Nieuwe klant aanmaken\",\n actions: [],\n children: [createElement(CreateCustomerForm, {\n onCreateCustomer: (customerData) => ((onCompleted) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.VerifyEmail(CustomerData2__get_Email(customerData)), (_arg) => {\n const verifyEmail = _arg;\n if (verifyEmail.tag === 0) {\n const verResponse = verifyEmail.fields[0];\n if (verResponse.tag === 1) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `E-mailadres: ${verResponse.fields[0]}`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n iterate((additionalInfo) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `E-mailadres: ${additionalInfo}`, SnackbarProp_Variant_Z609E1E86(\"warning\"), new EnqueueSnackbarOption(1, false));\n }, toArray(verResponse.fields[0]));\n return singleton.Bind(api.CreateCustomer(customerData), (_arg_1) => {\n const result = _arg_1;\n if (result.tag === 0) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een nieuwe klant is aangemaakt\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(customerDetail, result.fields[0].Code.Value)), 1, 1);\n return singleton.Zero();\n }\n else {\n const err_1 = result.fields[0];\n console.error(err_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_1}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n });\n }\n }\n else {\n const err = verifyEmail.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren.[${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n })), (_arg_2) => {\n const e = _arg_2;\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(e);\n return singleton.Zero();\n })), () => {\n onCompleted();\n })));\n }),\n saveButtonText: void 0,\n backButtonText: void 0,\n isCibCustomer: false,\n onBack: () => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(customers)), 1, 1);\n },\n })],\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { Customer2__get_Code, CustomerCode } from \"../../../shared/Domain.fs.js\";\nimport { createElement } from \"react\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { EditCustomerForm } from \"../../../DesignSystems/CustomerForms.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { customerDetail } from \"../AppRoutes.fs.js\";\n\nexport function Edit(editInputProps) {\n const customerCode = editInputProps.customerCode;\n const api = editInputProps.api;\n const currentPage = editInputProps.currentPage;\n const snackbar = useSnackbar();\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCustomer(new CustomerCode(customerCode)), []);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Klantenfiche\",\n actions: [],\n children: [createElement(DisplayDeferred, {\n data: data,\n view: (customer) => {\n if (customer == null) {\n return `No customer found with code ${customerCode}`;\n }\n else {\n const customer_1 = customer;\n return createElement(EditCustomerForm, {\n customer: customer_1,\n onEditCustomer: (onCompleted) => ((id) => ((customerData) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n return singleton.Bind(api.EditCustomer(id, customerData), (_arg) => {\n const result = _arg;\n if (result.tag === 0) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"De klant is aangepast\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(customerDetail, customerCode)), 1, 1);\n return singleton.Zero();\n }\n else {\n const err = result.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n });\n }), (_arg_1) => {\n const e = _arg_1;\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(e);\n return singleton.Zero();\n })), () => {\n onCompleted();\n })));\n })),\n url: Page$2__toUrl_2B594(customerDetail, Customer2__get_Code(customer_1).Value),\n });\n }\n },\n })],\n });\n}\n\n","/**\n * DateTimeOffset functions.\n *\n * Note: DateOffset instances are always DateObjects in local\n * timezone (because JS dates are all kinds of messed up).\n * A local date returns UTC epoc when `.getTime()` is called.\n *\n * However, this means that in order to construct an UTC date\n * from a DateOffset with offset of +5 hours, you first need\n * to subtract those 5 hours, than add the \"local\" offset.\n * As said, all kinds of messed up.\n *\n * Basically; invariant: date.getTime() always return UTC time.\n */\nimport { create as createDate, dateOffsetToString, daysInMonth, parseRaw } from \"./Date.js\";\nimport { fromValue, ticksToUnixEpochMilliseconds, unixEpochMillisecondsToTicks } from \"./Long.js\";\nimport { compareDates, padWithZeros } from \"./Util.js\";\nexport default function DateTimeOffset(value, offset) {\n checkOffsetInRange(offset);\n const d = new Date(value);\n d.offset = offset != null ? offset : new Date().getTimezoneOffset() * -60000;\n return d;\n}\nfunction checkOffsetInRange(offset) {\n if (offset != null && offset !== 0) {\n if (offset % 60000 !== 0) {\n throw new Error(\"Offset must be specified in whole minutes.\");\n }\n if (Math.abs(offset / 3600000) > 14) {\n throw new Error(\"Offset must be within plus or minus 14 hours.\");\n }\n }\n}\nexport function fromDate(date, offset) {\n let offset2 = 0;\n switch (date.kind) {\n case 1 /* UTC */:\n if (offset != null && offset !== 0) {\n throw new Error(\"The UTC Offset for Utc DateTime instances must be 0.\");\n }\n offset2 = 0;\n break;\n case 2 /* Local */:\n offset2 = date.getTimezoneOffset() * -60000;\n if (offset != null && offset !== offset2) {\n throw new Error(\"The UTC Offset of the local dateTime parameter does not match the offset argument.\");\n }\n break;\n case 0 /* Unspecified */:\n default:\n if (offset == null) {\n offset2 = date.getTimezoneOffset() * -60000;\n }\n else {\n offset2 = offset;\n }\n break;\n }\n return DateTimeOffset(date.getTime(), offset2);\n}\nexport function fromTicks(ticks, offset) {\n ticks = fromValue(ticks);\n const epoc = ticksToUnixEpochMilliseconds(ticks) - offset;\n return DateTimeOffset(epoc, offset);\n}\nexport function getUtcTicks(date) {\n return unixEpochMillisecondsToTicks(date.getTime(), 0);\n}\nexport function minValue() {\n // This is \"0001-01-01T00:00:00.000Z\", actual JS min value is -8640000000000000\n return DateTimeOffset(-62135596800000, 0);\n}\nexport function maxValue() {\n // This is \"9999-12-31T23:59:59.999Z\", actual JS max value is 8640000000000000\n return DateTimeOffset(253402300799999, 0);\n}\nexport function parse(str) {\n const [date, offsetMatch] = parseRaw(str);\n const offset = offsetMatch == null\n ? date.getTimezoneOffset() * -60000\n : (offsetMatch === \"Z\" ? 0 : offsetMatch * 60000);\n return DateTimeOffset(date.getTime(), offset);\n}\nexport function tryParse(v, defValue) {\n try {\n defValue.contents = parse(v);\n return true;\n }\n catch (_err) {\n return false;\n }\n}\nexport function create(year, month, day, h, m, s, ms, offset) {\n if (offset == null) {\n offset = ms;\n ms = 0;\n }\n checkOffsetInRange(offset);\n let date;\n if (offset === 0) {\n date = new Date(Date.UTC(year, month - 1, day, h, m, s, ms));\n if (year <= 99) {\n date.setFullYear(year, month - 1, day);\n }\n }\n else {\n const str = padWithZeros(year, 4) + \"-\" +\n padWithZeros(month, 2) + \"-\" +\n padWithZeros(day, 2) + \"T\" +\n padWithZeros(h, 2) + \":\" +\n padWithZeros(m, 2) + \":\" +\n padWithZeros(s, 2) + \".\" +\n padWithZeros(ms, 3) +\n dateOffsetToString(offset);\n date = new Date(str);\n }\n const dateValue = date.getTime();\n if (isNaN(dateValue)) {\n throw new Error(\"The parameters describe an unrepresentable Date\");\n }\n return DateTimeOffset(dateValue, offset);\n}\nexport function now() {\n const date = new Date();\n const offset = date.getTimezoneOffset() * -60000;\n return DateTimeOffset(date.getTime(), offset);\n}\nexport function utcNow() {\n const date = now();\n return DateTimeOffset(date.getTime(), 0);\n}\nexport function toUniversalTime(date) {\n return DateTimeOffset(date.getTime(), 0);\n}\nexport function toLocalTime(date) {\n return DateTimeOffset(date.getTime(), date.getTimezoneOffset() * -60000);\n}\nexport function timeOfDay(d) {\n var _a;\n const d2 = new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n return d2.getUTCHours() * 3600000\n + d2.getUTCMinutes() * 60000\n + d2.getUTCSeconds() * 1000\n + d2.getUTCMilliseconds();\n}\nexport function date(d) {\n var _a;\n const d2 = new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n return createDate(d2.getUTCFullYear(), d2.getUTCMonth() + 1, d2.getUTCDate(), 0, 0, 0, 0);\n}\nexport function day(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCDate();\n}\nexport function hour(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCHours();\n}\nexport function millisecond(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCMilliseconds();\n}\nexport function minute(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCMinutes();\n}\nexport function month(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCMonth() + 1;\n}\nexport function second(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCSeconds();\n}\nexport function year(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCFullYear();\n}\nexport function dayOfWeek(d) {\n var _a;\n return new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0)).getUTCDay();\n}\nexport function dayOfYear(d) {\n var _a;\n const d2 = new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n const _year = d2.getUTCFullYear();\n const _month = d2.getUTCMonth() + 1;\n let _day = d2.getUTCDate();\n for (let i = 1; i < _month; i++) {\n _day += daysInMonth(_year, i);\n }\n return _day;\n}\nexport function add(d, ts) {\n var _a;\n return DateTimeOffset(d.getTime() + ts, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addDays(d, v) {\n var _a;\n return DateTimeOffset(d.getTime() + v * 86400000, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addHours(d, v) {\n var _a;\n return DateTimeOffset(d.getTime() + v * 3600000, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addMinutes(d, v) {\n var _a;\n return DateTimeOffset(d.getTime() + v * 60000, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addSeconds(d, v) {\n var _a;\n return DateTimeOffset(d.getTime() + v * 1000, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addMilliseconds(d, v) {\n var _a;\n return DateTimeOffset(d.getTime() + v, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addYears(d, v) {\n var _a;\n const newMonth = d.getUTCMonth() + 1;\n const newYear = d.getUTCFullYear() + v;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, d.getUTCDate());\n return create(newYear, newMonth, newDay, d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds(), ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n}\nexport function addMonths(d, v) {\n var _a, _b;\n const d2 = new Date(d.getTime() + ((_a = d.offset) !== null && _a !== void 0 ? _a : 0));\n let newMonth = d2.getUTCMonth() + 1 + v;\n let newMonth_ = 0;\n let yearOffset = 0;\n if (newMonth > 12) {\n newMonth_ = newMonth % 12;\n yearOffset = Math.floor(newMonth / 12);\n newMonth = newMonth_;\n }\n else if (newMonth < 1) {\n newMonth_ = 12 + newMonth % 12;\n yearOffset = Math.floor(newMonth / 12) + (newMonth_ === 12 ? -1 : 0);\n newMonth = newMonth_;\n }\n const newYear = d2.getUTCFullYear() + yearOffset;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, d2.getUTCDate());\n return create(newYear, newMonth, newDay, d2.getUTCHours(), d2.getUTCMinutes(), d2.getUTCSeconds(), d2.getUTCMilliseconds(), ((_b = d.offset) !== null && _b !== void 0 ? _b : 0));\n}\nexport function subtract(d, that) {\n var _a;\n return typeof that === \"number\"\n ? DateTimeOffset(d.getTime() - that, ((_a = d.offset) !== null && _a !== void 0 ? _a : 0))\n : d.getTime() - that.getTime();\n}\nexport function equals(d1, d2) {\n return d1.getTime() === d2.getTime();\n}\nexport function equalsExact(d1, d2) {\n return d1.getTime() === d2.getTime() && d1.offset === d2.offset;\n}\nexport function compare(d1, d2) {\n return compareDates(d1, d2);\n}\nexport const compareTo = compare;\nexport function op_Addition(x, y) {\n return add(x, y);\n}\nexport function op_Subtraction(x, y) {\n return subtract(x, y);\n}\nexport function toOffset(d, offset) {\n return DateTimeOffset(d.getTime(), offset);\n}\n","// tslint:disable:max-line-length\nimport { fromNumber as Long_fromNumber, op_Division as Long_op_Division, op_Multiply as Long_op_Multiply, toNumber as Long_toNumber } from \"./Long.js\";\nimport { comparePrimitives, padLeftAndRightWithZeros, padWithZeros } from \"./Util.js\";\n// TimeSpan in runtime just becomes a number representing milliseconds\n/**\n * Calls:\n * - `Math.ceil` if the `value` is **negative**\n * - `Math.floor` if the `value` is **positive**\n * @param value Value to round\n */\nfunction signedRound(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n}\nexport function create(d = 0, h = 0, m = 0, s = 0, ms = 0) {\n switch (arguments.length) {\n case 1:\n // ticks\n return fromTicks(arguments[0]);\n case 3:\n // h,m,s\n d = 0, h = arguments[0], m = arguments[1], s = arguments[2], ms = 0;\n break;\n default:\n // d,h,m,s,ms\n break;\n }\n return d * 86400000 + h * 3600000 + m * 60000 + s * 1000 + ms;\n}\nexport function fromTicks(ticks) {\n return Long_toNumber(Long_op_Division(ticks, 10000));\n}\nexport function fromDays(d) {\n return create(d, 0, 0, 0);\n}\nexport function fromHours(h) {\n return create(h, 0, 0);\n}\nexport function fromMinutes(m) {\n return create(0, m, 0);\n}\nexport function fromSeconds(s) {\n return create(0, 0, s);\n}\nexport function days(ts) {\n return signedRound(ts / 86400000);\n}\nexport function hours(ts) {\n return signedRound(ts % 86400000 / 3600000);\n}\nexport function minutes(ts) {\n return signedRound(ts % 3600000 / 60000);\n}\nexport function seconds(ts) {\n return signedRound(ts % 60000 / 1000);\n}\nexport function milliseconds(ts) {\n return signedRound(ts % 1000);\n}\nexport function ticks(ts) {\n return Long_op_Multiply(Long_fromNumber(ts), 10000);\n}\nexport function totalDays(ts) {\n return ts / 86400000;\n}\nexport function totalHours(ts) {\n return ts / 3600000;\n}\nexport function totalMinutes(ts) {\n return ts / 60000;\n}\nexport function totalSeconds(ts) {\n return ts / 1000;\n}\nexport function negate(ts) {\n return ts * -1;\n}\nexport function add(ts1, ts2) {\n return ts1 + ts2;\n}\nexport function subtract(ts1, ts2) {\n return ts1 - ts2;\n}\nexport function multiply(ts, factor) {\n return ts * factor;\n}\nexport function divide(ts, b) {\n return ts / b;\n}\nexport const op_Addition = add;\nexport const op_Subtraction = subtract;\nexport const op_Multiply = multiply;\nexport const op_Division = divide;\nexport const compare = comparePrimitives;\nexport const compareTo = comparePrimitives;\nexport function duration(x) {\n return Math.abs(x);\n}\nexport function toString(ts, format = \"c\", _provider) {\n if ([\"c\", \"g\", \"G\"].indexOf(format) === -1) {\n throw new Error(\"Custom formats are not supported\");\n }\n const d = Math.abs(days(ts));\n const h = Math.abs(hours(ts));\n const m = Math.abs(minutes(ts));\n const s = Math.abs(seconds(ts));\n const ms = Math.abs(milliseconds(ts));\n const sign = ts < 0 ? \"-\" : \"\";\n return `${sign}${d === 0 && (format === \"c\" || format === \"g\") ? \"\" : format === \"c\" ? d + \".\" : d + \":\"}${format === \"g\" ? h : padWithZeros(h, 2)}:${padWithZeros(m, 2)}:${padWithZeros(s, 2)}${ms === 0 && (format === \"c\" || format === \"g\") ? \"\" : format === \"g\" ? \".\" + padWithZeros(ms, 3) : \".\" + padLeftAndRightWithZeros(ms, 3, 7)}`;\n}\nexport function parse(str) {\n const firstDot = str.search(\"\\\\.\");\n const firstColon = str.search(\"\\\\:\");\n if (firstDot === -1 && firstColon === -1) { // There is only a day ex: 4\n const d = parseInt(str, 0);\n if (isNaN(d)) {\n throw new Error(`String '${str}' was not recognized as a valid TimeSpan.`);\n }\n else {\n return create(d, 0, 0, 0, 0);\n }\n }\n if (firstColon > 0) { // process time part\n // WIP: (-?)(((\\d+)\\.)?([0-9]|0[0-9]|1[0-9]|2[0-3]):(\\d+)(:\\d+(\\.\\d{1,7})?)?|\\d+(?:(?!\\.)))\n const r = /^(-?)((\\d+)\\.)?(?:0*)([0-9]|0[0-9]|1[0-9]|2[0-3]):(?:0*)([0-5][0-9]|[0-9])(:(?:0*)([0-5][0-9]|[0-9]))?\\.?(\\d+)?$/.exec(str);\n if (r != null && r[4] != null && r[5] != null) {\n let d = 0;\n let ms = 0;\n let s = 0;\n const sign = r[1] != null && r[1] === \"-\" ? -1 : 1;\n const h = +r[4];\n const m = +r[5];\n if (r[3] != null) {\n d = +r[3];\n }\n if (r[7] != null) {\n s = +r[7];\n }\n if (r[8] != null) {\n // Depending on the number of decimals passed, we need to adapt the numbers\n switch (r[8].length) {\n case 1:\n ms = +r[8] * 100;\n break;\n case 2:\n ms = +r[8] * 10;\n break;\n case 3:\n ms = +r[8];\n break;\n case 4:\n ms = +r[8] / 10;\n break;\n case 5:\n ms = +r[8] / 100;\n break;\n case 6:\n ms = +r[8] / 1000;\n break;\n case 7:\n ms = +r[8] / 10000;\n break;\n default:\n throw new Error(`String '${str}' was not recognized as a valid TimeSpan.`);\n }\n }\n return sign * create(d, h, m, s, ms);\n }\n }\n throw new Error(`String '${str}' was not recognized as a valid TimeSpan.`);\n}\nexport function tryParse(v, defValue) {\n try {\n defValue.contents = parse(v);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n","import { iterate } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { toArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { addDays, date as date_1, utcNow, day, month, year, dayOfWeek } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { date as date_2, create } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { fromTicks } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/TimeSpan.js\";\nimport { fromInteger } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Long.js\";\n\nexport function debounce(callback, wait) {\n let timeoutId = void 0;\n return (x) => {\n iterate((arg) => {\n window.clearTimeout(arg);\n }, toArray(timeoutId));\n timeoutId = window.setTimeout(() => callback(x), wait);\n };\n}\n\nexport function getDaysSinceStartOfWeek(date) {\n const matchValue = dayOfWeek(date) | 0;\n switch (matchValue) {\n case 0: {\n return 0;\n }\n case 1: {\n return 1;\n }\n case 2: {\n return 2;\n }\n case 3: {\n return 3;\n }\n case 4: {\n return 4;\n }\n case 5: {\n return 5;\n }\n case 6: {\n return 6;\n }\n default: {\n return 0;\n }\n }\n}\n\nexport function getDayStart(date) {\n return create(year(date), month(date), day(date), 0, 0, 0, fromTicks(fromInteger(0, false, 2)));\n}\n\nexport function getDayEnd(date) {\n return create(year(date), month(date), day(date), 23, 59, 59, fromTicks(fromInteger(0, false, 2)));\n}\n\nexport const weekStartDate = getDayStart((() => {\n let copyOfStruct_2;\n let copyOfStruct_1;\n let copyOfStruct = utcNow();\n copyOfStruct_1 = date_1(copyOfStruct);\n return addDays(copyOfStruct_1, 0 - getDaysSinceStartOfWeek((copyOfStruct_2 = utcNow(), date_1(copyOfStruct_2))));\n})());\n\nexport const weekEndDate = getDayEnd((() => {\n let copyOfStruct_1;\n let copyOfStruct = weekStartDate;\n copyOfStruct_1 = date_2(copyOfStruct);\n return addDays(copyOfStruct_1, 6);\n})());\n\nexport function SafeNotNullCheck(selectOption, callback) {\n if (!(selectOption == null)) {\n callback(selectOption);\n }\n}\n\n","\nexport function hsl(hue, saturation, lightness) {\n return (((((\"hsl(\" + hue) + \",\") + saturation) + \"%,\") + lightness) + \"%)\";\n}\n\nexport function rgb(r, g, b) {\n return (((((\"rgb(\" + r) + \",\") + g) + \",\") + b) + \")\";\n}\n\nexport function rgba(r, g, b, a) {\n return (((((((\"rgba(\" + r) + \",\") + g) + \",\") + b) + \",\") + a) + \")\";\n}\n\n","import { Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { record_type, class_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { useToggle } from \"../CustomHooks/CustomHooks.fs.js\";\nimport { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { addDays as addDays_1, month, year, today, create, addMonths, fromDateTimeOffset, utcNow, toString, date } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { createElement } from \"react\";\nimport { join, printf, toConsole } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { createObj } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Popover from \"@material-ui/core/Popover\";\nimport { PaddingTop, MarginTop, fullWidth, Gap, Padding } from \"../Styles/Utils.fs.js\";\nimport { Col, Row } from \"../Components/UtilComponents.fs.js\";\nimport { ofArray, empty, singleton } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { iterate } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { toArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { Interop_reactApi, DateParsing_parse } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { GeneralFormats_dateTime } from \"../shared/Format.fs.js\";\nimport { weekEndDate, getDayStart } from \"./Utils.fs.js\";\nimport { addDays } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport FormGroup from \"@material-ui/core/FormGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { rgba } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/Colors.fs.js\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\nimport ToggleButton from \"@material-ui/lab/ToggleButton\";\n\nexport class DateRange extends Record {\n constructor(Date1, Date2) {\n super();\n this.Date1 = Date1;\n this.Date2 = Date2;\n }\n}\n\nexport function DateRange$reflection() {\n return record_type(\"FilterUtils.DateRange\", [], DateRange, () => [[\"Date1\", class_type(\"System.DateTime\")], [\"Date2\", class_type(\"System.DateTime\")]]);\n}\n\nexport function FilterFieldDateRange(label, onChange, v) {\n let elems_1, elements, dt, dt_1;\n let patternInput;\n if (v == null) {\n patternInput = [void 0, void 0];\n }\n else {\n const d = v;\n patternInput = [d.Date1, d.Date2];\n }\n const dropDownOpen = useToggle(false);\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(patternInput[0]);\n const setDate1 = patternInput_1[1];\n const date1 = patternInput_1[0];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(patternInput[1]);\n const setDate2 = patternInput_2[1];\n const date2 = patternInput_2[0];\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(\"\");\n const setDateRangeText = patternInput_3[1];\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(void 0);\n const setAnchorEl = patternInput_4[1];\n const anchorEl = patternInput_4[0];\n useReact_useEffect_Z101E1A95(() => {\n const matchValue = [date1, date2];\n let pattern_matching_result, date1_1, date2_1;\n if (matchValue[0] != null) {\n if (matchValue[1] != null) {\n pattern_matching_result = 0;\n date1_1 = matchValue[0];\n date2_1 = matchValue[1];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n onChange(new DateRange(date1_1, date2_1));\n let s;\n let copyOfStruct = date(date1_1);\n s = toString(copyOfStruct, \"dd/MM/yyyy\");\n let e;\n let copyOfStruct_1 = date(date2_1);\n e = toString(copyOfStruct_1, \"dd/MM/yyyy\");\n setDateRangeText(`${s}-${e}`);\n break;\n }\n case 1: {\n onChange(void 0);\n setDateRangeText(\"\");\n break;\n }\n }\n }, [date1, date2]);\n const htmlBtn = createElement(\"button\", {\n children: \"Select\",\n onClick: (e_1) => {\n },\n });\n const openPopover = (e_2) => {\n const el = e_2.currentTarget;\n dropDownOpen.Toggle();\n toConsole(printf(\"%A\"))(el);\n setAnchorEl(el);\n };\n const btn = MuiHelpers_createElement(Button, [[\"onClick\", (e_3) => {\n openPopover(e_3);\n }], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"children\", \"Select\"]]);\n const hidePopover = () => {\n setAnchorEl(void 0);\n };\n return createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [])], (elems_1 = [MuiHelpers_createElement(TextField, [[\"label\", label], [\"type\", \"text\"], [\"readOnly\", true], [\"value\", patternInput_3[0]], [\"onClick\", (e_4) => {\n openPopover(e_4);\n }]]), MuiHelpers_createElement(Popover, [[\"classes.paper\", Padding.M], [\"anchorOrigin\", {\n vertical: \"bottom\",\n horizontal: \"left\",\n }], [\"anchorEl\", anchorEl], [\"open\", anchorEl != null], [\"onClose\", (_arg_1, v_1) => {\n hidePopover();\n }], (elements = [createElement(Row, {\n classes: singleton(Gap.M),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: ofArray([\"Date From\", createElement(\"input\", {\n type: \"date\",\n onChange: (ev) => {\n iterate((n) => {\n setDate1(n);\n }, toArray(DateParsing_parse(ev.target.value)));\n },\n className: join(\" \", [fullWidth]),\n value: (date1 == null) ? \"\" : ((dt = date1, (toConsole(printf(\"date1 %A\"))(dt), GeneralFormats_dateTime(dt)))),\n })]),\n }), createElement(Col, {\n classes: empty(),\n children: ofArray([\"Date To\", createElement(\"input\", {\n type: \"date\",\n onChange: (ev_1) => {\n iterate((n_1) => {\n setDate2(n_1);\n setAnchorEl(void 0);\n }, toArray(DateParsing_parse(ev_1.target.value)));\n },\n className: join(\" \", [fullWidth]),\n value: (date2 == null) ? \"\" : ((dt_1 = date2, (toConsole(printf(\"date2 %A\"))(dt_1), GeneralFormats_dateTime(dt_1)))),\n })]),\n })]),\n }), createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.M]),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: singleton(MuiHelpers_createElement(Button, [[\"onClick\", (e_5) => {\n let copyOfStruct_3, copyOfStruct_2, copyOfStruct_5, copyOfStruct_4;\n setDate1((copyOfStruct_3 = getDayStart((copyOfStruct_2 = utcNow(), date(copyOfStruct_2))), fromDateTimeOffset(copyOfStruct_3, 0)));\n setDate2((copyOfStruct_5 = ((copyOfStruct_4 = weekEndDate, addDays(copyOfStruct_4, 1))), fromDateTimeOffset(copyOfStruct_5, 0)));\n hidePopover();\n }], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"size\", \"small\"], [\"children\", \"Deze week\"]])),\n }), createElement(Col, {\n classes: empty(),\n children: singleton(MuiHelpers_createElement(Button, [[\"onClick\", (e_6) => {\n let copyOfStruct_6, copyOfStruct_7, copyOfStruct_10, copyOfStruct_9;\n let monthEnd;\n let copyOfStruct_8 = addMonths(create((copyOfStruct_6 = today(), year(copyOfStruct_6)), (copyOfStruct_7 = today(), month(copyOfStruct_7)), 1), 1);\n monthEnd = addDays_1(copyOfStruct_8, -1);\n setDate1((copyOfStruct_10 = getDayStart((copyOfStruct_9 = utcNow(), date(copyOfStruct_9))), fromDateTimeOffset(copyOfStruct_10, 0)));\n setDate2(monthEnd);\n hidePopover();\n }], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"size\", \"small\"], [\"children\", \"Deze maand\"]])),\n }), createElement(Col, {\n classes: empty(),\n children: singleton(MuiHelpers_createElement(Button, [[\"onClick\", (e_7) => {\n setDate1(void 0);\n setDate2(void 0);\n hidePopover();\n }], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"size\", \"small\"], [\"children\", \"Alles\"]])),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])));\n}\n\nexport function CheckboxFilter(checkboxFilterInputProps) {\n let elements;\n const onChange = checkboxFilterInputProps.onChange;\n const checked$0027 = checkboxFilterInputProps[\"checked\\u0027\"];\n const label = checkboxFilterInputProps.label;\n const checkbox = MuiHelpers_createElement(Checkbox, [[\"checked\", checked$0027], [\"onChange\", (e) => {\n onChange(Browser_Types_Event__Event_get_Checked(e));\n }]]);\n return MuiHelpers_createElement(FormGroup, [(elements = [MuiHelpers_createElement(FormControlLabel, [[\"className\", PaddingTop.M], [\"style\", {\n whiteSpace: \"nowrap\",\n marginLeft: 0,\n color: rgba(0, 0, 0, 0.54),\n }], [\"label\", [createElement(\"div\", {\n children: Interop_reactApi.Children.toArray([label]),\n })]], [\"control\", checkbox], [\"labelPlacement\", \"start\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n}\n\nexport function ToggleFilter(toggleFilterInputProps) {\n let elements_2, elements_3;\n const valueRight = toggleFilterInputProps.valueRight;\n const labelRight = toggleFilterInputProps.labelRight;\n const valueLeft = toggleFilterInputProps.valueLeft;\n const labelLeft = toggleFilterInputProps.labelLeft;\n const onChange = toggleFilterInputProps.onChange;\n const value = toggleFilterInputProps.value;\n const label = toggleFilterInputProps.label;\n const toggle = MuiHelpers_createElement(ToggleButtonGroup, [[\"size\", \"small\"], [\"value\", value], [\"exclusive\", true], [\"onChange\", (_arg, v) => {\n onChange(v);\n }], (elements_2 = [MuiHelpers_createElement(ToggleButton, [[\"value\", valueLeft], [\"children\", Interop_reactApi.Children.toArray([labelLeft])]]), MuiHelpers_createElement(ToggleButton, [[\"value\", valueRight], [\"children\", Interop_reactApi.Children.toArray([labelRight])]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])]);\n return MuiHelpers_createElement(FormGroup, [(elements_3 = [MuiHelpers_createElement(FormControlLabel, [[\"className\", PaddingTop.M], [\"style\", {\n whiteSpace: \"nowrap\",\n marginLeft: 0,\n color: rgba(0, 0, 0, 0.54),\n }], [\"label\", [createElement(\"div\", {\n children: Interop_reactApi.Children.toArray([label]),\n })]], [\"control\", toggle], [\"labelPlacement\", \"start\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])]);\n}\n\n","import { Union, Record } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { DossierCode as DossierCode_1, PartnerId$reflection, CustomerCode$reflection, DossierCode$reflection } from \"../../shared/Domain.fs.js\";\nimport { union_type, record_type, bool_type, int32_type, array_type, string_type, option_type } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { DateRange$reflection } from \"../FilterUtils.fs.js\";\nimport { ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { map, choose } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport { Dossier_parseStatus } from \"../../shared/Format.fs.js\";\nimport { map as map_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { fromDate } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { DossierSearchTerms } from \"../../shared/DomainHelpers.fs.js\";\nimport { toOption } from \"../String.fs.js\";\nimport { isNullOrWhiteSpace } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\n\nexport class State extends Record {\n constructor(DossierCode, AdiName, PartnerName, CustomerName, CustomerCode, Address, PhoneNumber, DateRange, PartnerId, Status, PageNumber, PageSize, CibFilter, PartnerPortal, Urgent) {\n super();\n this.DossierCode = DossierCode;\n this.AdiName = AdiName;\n this.PartnerName = PartnerName;\n this.CustomerName = CustomerName;\n this.CustomerCode = CustomerCode;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.DateRange = DateRange;\n this.PartnerId = PartnerId;\n this.Status = Status;\n this.PageNumber = (PageNumber | 0);\n this.PageSize = (PageSize | 0);\n this.CibFilter = CibFilter;\n this.PartnerPortal = PartnerPortal;\n this.Urgent = Urgent;\n }\n}\n\nexport function State$reflection() {\n return record_type(\"DossierFilter.State\", [], State, () => [[\"DossierCode\", option_type(DossierCode$reflection())], [\"AdiName\", option_type(string_type)], [\"PartnerName\", option_type(string_type)], [\"CustomerName\", option_type(string_type)], [\"CustomerCode\", option_type(CustomerCode$reflection())], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"DateRange\", option_type(DateRange$reflection())], [\"PartnerId\", option_type(PartnerId$reflection())], [\"Status\", array_type(string_type)], [\"PageNumber\", int32_type], [\"PageSize\", int32_type], [\"CibFilter\", option_type(bool_type)], [\"PartnerPortal\", option_type(bool_type)], [\"Urgent\", option_type(bool_type)]]);\n}\n\nexport function searchTerms(state) {\n return new DossierSearchTerms(state.DossierCode, state.PartnerName, state.AdiName, state.CustomerName, state.Address, state.PhoneNumber, ofArray(choose((x) => x, map(Dossier_parseStatus, state.Status))), map_1((x_1) => fromDate(x_1.Date1), state.DateRange), map_1((x_2) => fromDate(x_2.Date2), state.DateRange), false, state.CibFilter, state.CustomerCode, state.PartnerPortal, state.Urgent, state.PartnerId, void 0);\n}\n\nexport class Msg extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SetDossierId\", \"SetAdiName\", \"SetPartnerName\", \"SetCustomerName\", \"SetAddress\", \"SetPhoneNumber\", \"SetStatus\", \"SetPageNumber\", \"SetDateRange\", \"SetCibFilter\", \"SetPartnerPortal\", \"SetUrgent\"];\n }\n}\n\nexport function Msg$reflection() {\n return union_type(\"DossierFilter.Msg\", [], Msg, () => [[[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", array_type(string_type)]], [[\"Item\", int32_type]], [[\"Item\", option_type(DateRange$reflection())]], [[\"Item\", option_type(bool_type)]], [[\"Item\", option_type(bool_type)]], [[\"Item\", option_type(bool_type)]]]);\n}\n\nexport const initialState = new State(void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, [], 0, 25, void 0, void 0, void 0);\n\nexport function update(state, _arg) {\n switch (_arg.tag) {\n case 2: {\n return new State(state.DossierCode, state.AdiName, toOption(_arg.fields[0]), state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 3: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, toOption(_arg.fields[0]), state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 0: {\n const dossierNumber = _arg.fields[0];\n if (isNullOrWhiteSpace(dossierNumber)) {\n return new State(void 0, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n else {\n return new State(new DossierCode_1(dossierNumber), state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n }\n case 4: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, toOption(_arg.fields[0]), state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 5: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, toOption(_arg.fields[0]), state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 8: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, _arg.fields[0], state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 6: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, _arg.fields[0], state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 7: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, _arg.fields[0], state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n case 9: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, _arg.fields[0], state.PartnerPortal, state.Urgent);\n }\n case 10: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, _arg.fields[0], state.Urgent);\n }\n case 11: {\n return new State(state.DossierCode, state.AdiName, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, _arg.fields[0]);\n }\n default: {\n return new State(state.DossierCode, toOption(_arg.fields[0]), state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.CibFilter, state.PartnerPortal, state.Urgent);\n }\n }\n}\n\n","import { Record, Union } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { record_type, string_type, array_type, union_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { PartnerId$reflection, AdiId$reflection } from \"./Domain.fs.js\";\nimport { contains } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport { safeHash, equals } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\n\nexport class Auth0UserPrivileges extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Admin\", \"Adi\", \"NotSet\"];\n }\n}\n\nexport function Auth0UserPrivileges$reflection() {\n return union_type(\"Auth0Constants.Auth0UserPrivileges\", [], Auth0UserPrivileges, () => [[], [], []]);\n}\n\nexport class Auth0UserClaims extends Record {\n constructor(Privilege, AdiId, Username) {\n super();\n this.Privilege = Privilege;\n this.AdiId = AdiId;\n this.Username = Username;\n }\n}\n\nexport function Auth0UserClaims$reflection() {\n return record_type(\"Auth0Constants.Auth0UserClaims\", [], Auth0UserClaims, () => [[\"Privilege\", array_type(Auth0UserPrivileges$reflection())], [\"AdiId\", AdiId$reflection()], [\"Username\", string_type]]);\n}\n\nexport function Auth0UserClaims__HasPrivilege_6B2F319B(this$, privilege) {\n return contains(privilege, this$.Privilege, {\n Equals: equals,\n GetHashCode: safeHash,\n });\n}\n\nexport class Auth0PartnerUserPrivileges extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partner\", \"Syndic\", \"NotSet\"];\n }\n}\n\nexport function Auth0PartnerUserPrivileges$reflection() {\n return union_type(\"Auth0Constants.Auth0PartnerUserPrivileges\", [], Auth0PartnerUserPrivileges, () => [[], [], []]);\n}\n\nexport class Auth0PartnerUserClaims extends Record {\n constructor(Privilege, PartnerId, Username) {\n super();\n this.Privilege = Privilege;\n this.PartnerId = PartnerId;\n this.Username = Username;\n }\n}\n\nexport function Auth0PartnerUserClaims$reflection() {\n return record_type(\"Auth0Constants.Auth0PartnerUserClaims\", [], Auth0PartnerUserClaims, () => [[\"Privilege\", array_type(Auth0PartnerUserPrivileges$reflection())], [\"PartnerId\", PartnerId$reflection()], [\"Username\", string_type]]);\n}\n\nexport function Auth0PartnerUserClaims__HasPrivilege_567ADD95(this$, privilege) {\n return contains(privilege, this$.Privilege, {\n Equals: equals,\n GetHashCode: safeHash,\n });\n}\n\n","import { format } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { op_Addition, op_Multiply, round, op_Subtraction, fromParts } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { Customer2__get_CustomerOrCompanyName, NonEmptyString___UnsafeUnwrap_Z73AD07C, Customer2__get_Address } from \"../../shared/Domain.fs.js\";\nimport { createElement } from \"react\";\nimport { Col, Row } from \"../../Components/UtilComponents.fs.js\";\nimport { ofArray, singleton, empty } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport { DisplayDataWide, DisplayData, InfoTitle } from \"../DesignSystem.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { flexExpand } from \"../../Styles/Utils.fs.js\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../../partnerportal/src/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\n\nexport function QuoteInvoice(quoteDetails) {\n let elems;\n const toString = (amt) => (\"€ \" + format('{0:' + \"C2\" + '}', amt));\n const feeDue = fromParts(50, 0, 0, false, 0);\n const feeString = toString(feeDue);\n let actualPrice;\n const matchValue = quoteDetails.Quote.CustomPrice;\n actualPrice = ((matchValue == null) ? fromParts(0, 0, 0, false, 0) : matchValue.Value);\n const linePrice = op_Subtraction(actualPrice, feeDue);\n const vatAmount = round(op_Multiply(linePrice, fromParts(21, 0, 0, false, 2)), 2);\n const netAmount = op_Addition(actualPrice, vatAmount);\n const address = Customer2__get_Address(quoteDetails.Customer);\n let bus_1;\n const matchValue_1 = address.Bus;\n if (matchValue_1 == null) {\n bus_1 = \"\";\n }\n else {\n const bus = matchValue_1;\n bus_1 = (`, ${NonEmptyString___UnsafeUnwrap_Z73AD07C(bus)}`);\n }\n let vatNo;\n const matchValue_2 = quoteDetails.Customer;\n vatNo = ((matchValue_2.tag === 0) ? \"\" : matchValue_2.fields[0].VatNumber.Value);\n return createElement(Row, {\n classes: empty(),\n children: singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Facturatiegegevens\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: singleton(flexExpand),\n children: singleton(createElement(DisplayData, {\n data: ofArray([[\"Offerte nummer\", quoteDetails.Quote.Code.Value], [\"Klant\", Customer2__get_CustomerOrCompanyName(quoteDetails.Customer)], [\"Klant Adres\", `${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.Street)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.Number)} ${bus_1} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.PostalCode)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(address.City)}`], [\"BTW\", vatNo]]),\n })),\n }), createElement(Col, {\n classes: singleton(flexExpand),\n children: singleton(createElement(DisplayDataWide, {\n data: ofArray([[\"Asbestattest Gemene Delen\", toString(linePrice)], [\"Retributie OVAM\", feeString], [\"Bijkomende stalen\", \"€ 0,00\"], [\"Opmaken plannen indien nog niet aanwezig\", \"€ 0,00\"], [\"Subtotaal\", toString(actualPrice)], [\"BTW 21%\", toString(vatAmount)], [\"Totaal incl. BTW\", toString(netAmount)]]),\n })),\n })]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])),\n });\n}\n\nexport function QuoteInvoiceDetailsFromDossierCode(quoteInvoiceDetailsFromDossierCodeInputProps) {\n const dossierCode = quoteInvoiceDetailsFromDossierCodeInputProps.dossierCode;\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(quoteInvoiceDetailsFromDossierCodeInputProps.api.GetQuoteDetailsByDossierCode(dossierCode), []);\n return createElement(DisplayDeferred, {\n data: data,\n view: (quoteDetails) => ((quoteDetails == null) ? null : QuoteInvoice(quoteDetails)),\n });\n}\n\n","import { list_type, union_type, class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { equals, toIterator, compare as compare_1, disposeSafe, getEnumerator, sign } from \"../fable-library.3.7.17/Util.js\";\nimport { fromZero, op_Multiply, fromOne, pow, fromInt32, op_Subtraction, abs, compare, op_Division, op_Addition, op_RightShift, toInt32 } from \"../fable-library.3.7.17/BigInt.js\";\nimport { FSharpResult$2 } from \"../fable-library.3.7.17/Choice.js\";\nimport { FSharpException, Record, Union } from \"../fable-library.3.7.17/Types.js\";\nimport { fill, singleton } from \"../fable-library.3.7.17/Array.js\";\nimport { Operators_NullArg } from \"../fable-library.3.7.17/FSharp.Core.js\";\nimport { rangeDouble } from \"../fable-library.3.7.17/Range.js\";\nimport { empty as empty_1, compareWith } from \"../fable-library.3.7.17/Seq.js\";\nimport { length as length_1, append, isEmpty, tail, head, reverse, cons, empty } from \"../fable-library.3.7.17/List.js\";\nimport { value as value_1, some } from \"../fable-library.3.7.17/Option.js\";\n\nexport class Default6 {\n constructor() {\n }\n}\n\nexport function Default6$reflection() {\n return class_type(\"FSharpPlus.Internals.Default6\", void 0, Default6);\n}\n\nexport class Default5 {\n constructor() {\n }\n}\n\nexport function Default5$reflection() {\n return class_type(\"FSharpPlus.Internals.Default5\", void 0, Default5, Default6$reflection());\n}\n\nexport class Default4 {\n constructor() {\n }\n}\n\nexport function Default4$reflection() {\n return class_type(\"FSharpPlus.Internals.Default4\", void 0, Default4, Default5$reflection());\n}\n\nexport class Default3 {\n constructor() {\n }\n}\n\nexport function Default3$reflection() {\n return class_type(\"FSharpPlus.Internals.Default3\", void 0, Default3, Default4$reflection());\n}\n\nexport class Default2 {\n constructor() {\n }\n}\n\nexport function Default2$reflection() {\n return class_type(\"FSharpPlus.Internals.Default2\", void 0, Default2, Default3$reflection());\n}\n\nexport class Default1 {\n constructor() {\n }\n}\n\nexport function Default1$reflection() {\n return class_type(\"FSharpPlus.Internals.Default1\", void 0, Default1, Default2$reflection());\n}\n\nexport const Errors_exnDivByZero = new Error();\n\nexport const Errors_exnNoDivision = new Error(\"These numbers are not divisible in this domain.\");\n\nexport const Errors_exnSqrtOfNegative = new Error(\"Cannot calculate square root of a negative number\");\n\nexport const Errors_exnNoSqrt = new Error(\"No square root defined for this value in this domain.\");\n\nexport const Errors_exnNoSubtraction = new Error(\"No subtraction defined for these values in this domain.\");\n\nexport const Errors_exnUnreachable = new Error(\"This execution path is unreachable.\");\n\nexport function BigInteger_trySqrtRem(x) {\n if (sign(toInt32(x)) === -1) {\n return new FSharpResult$2(1, Errors_exnSqrtOfNegative);\n }\n else {\n const loop = (previous_mut) => {\n loop:\n while (true) {\n const previous = previous_mut;\n const current = op_RightShift(op_Addition(previous, op_Division(x, previous)), 1);\n if (compare(abs(op_Subtraction(previous, current)), fromInt32(2)) < 0) {\n return current;\n }\n else {\n previous_mut = current;\n continue loop;\n }\n break;\n }\n };\n const r = loop(pow(fromInt32(10), (toInt32(op_Addition(x, fromOne())) + 1) >> 1));\n const r2 = op_Multiply(r, r);\n const matchValue = compare(r2, x) | 0;\n switch (matchValue) {\n case 0: {\n return new FSharpResult$2(0, [r, fromZero()]);\n }\n case 1: {\n const root = op_Subtraction(r, fromOne());\n return new FSharpResult$2(0, [root, op_Subtraction(x, op_Multiply(root, root))]);\n }\n default: {\n return new FSharpResult$2(0, [r, op_Subtraction(x, r2)]);\n }\n }\n }\n}\n\nexport class Id$1 {\n constructor(v) {\n this.value = v;\n }\n}\n\nexport function Id$1$reflection(gen0) {\n return class_type(\"FSharpPlus.Internals.Id`1\", [gen0], Id$1);\n}\n\nexport function Id$1_$ctor_2B595(v) {\n return new Id$1(v);\n}\n\nexport function Id$1__get_getValue(_) {\n return _.value;\n}\n\nexport function Id_run(x) {\n return Id$1__get_getValue(x);\n}\n\nexport function Id_map(f, x) {\n return Id$1_$ctor_2B595(f(Id$1__get_getValue(x)));\n}\n\nexport function Id_create(x) {\n return Id$1_$ctor_2B595(x);\n}\n\nexport class Id0 {\n constructor(v) {\n this.value = v;\n }\n}\n\nexport function Id0$reflection() {\n return class_type(\"FSharpPlus.Internals.Id0\", void 0, Id0);\n}\n\nexport function Id0_$ctor_Z721C83C5(v) {\n return new Id0(v);\n}\n\nexport function Id0__get_getValue(_) {\n return _.value;\n}\n\nexport class Either$2 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Left\", \"Right\"];\n }\n}\n\nexport function Either$2$reflection(gen0, gen1) {\n return union_type(\"FSharpPlus.Internals.Either`2\", [gen0, gen1], Either$2, () => [[[\"Item\", gen0]], [[\"Item\", gen1]]]);\n}\n\nexport class DmStruct extends Record {\n constructor() {\n super();\n }\n}\n\nexport function DmStruct$reflection() {\n return class_type(\"FSharpPlus.Internals.DmStruct\", void 0, DmStruct, class_type(\"System.ValueType\"));\n}\n\nexport class Set2$1 {\n constructor() {\n }\n}\n\nexport function Set2$1$reflection(gen0) {\n return class_type(\"FSharpPlus.Internals.Set2`1\", [gen0], Set2$1);\n}\n\nexport function Set2$1_$ctor() {\n return new Set2$1();\n}\n\nexport class BitConverter {\n constructor() {\n }\n}\n\nexport function BitConverter$reflection() {\n return class_type(\"FSharpPlus.Internals.BitConverter\", void 0, BitConverter);\n}\n\nexport function BitConverter_GetBytes_Z1FBCCD16(value) {\n return singleton(value ? 1 : 0, Uint8Array);\n}\n\nfunction BitConverter_GetHexValue_Z524259A4(i) {\n if (i < 10) {\n return String.fromCharCode(String.fromCharCode(i).charCodeAt(0) + 48);\n }\n else {\n return String.fromCharCode(String.fromCharCode(i - 10).charCodeAt(0) + 65);\n }\n}\n\nexport function BitConverter_ToString_1D3E19A2(value, startIndex, length) {\n if (value == null) {\n Operators_NullArg(\"value\");\n }\n const arrayLen = value.length | 0;\n if (startIndex >= value.length) {\n const exn = new Error(\"startIndex\", \"ArgumentOutOfRange_StartIndex\");\n throw exn;\n }\n const realLength = length | 0;\n if (realLength < 0) {\n const exn_1 = new Error(\"length\", \"ArgumentOutOfRange_GenericPositive\");\n throw exn_1;\n }\n if (startIndex > (arrayLen - realLength)) {\n const exn_2 = new Error(\"Arg_ArrayPlusOffTooSmall\");\n throw exn_2;\n }\n if (realLength === 0) {\n return \"\";\n }\n else {\n const chArray = fill(new Array(realLength * 3), 0, realLength * 3, \"\");\n let index = startIndex;\n const enumerator = getEnumerator(rangeDouble(0, 3, (3 * realLength) - 1));\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const i = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]() | 0;\n const b = (~(~value[index])) | 0;\n index = ((index + 1) | 0);\n chArray[i] = BitConverter_GetHexValue_Z524259A4(~(~(b / 16)));\n chArray[i + 1] = BitConverter_GetHexValue_Z524259A4(b % 16);\n chArray[i + 2] = \"-\";\n }\n }\n finally {\n disposeSafe(enumerator);\n }\n return chArray.join('').substr(0, (chArray.length - 1));\n }\n}\n\nexport function BitConverter_ToString_6C95DA22(value) {\n if (value == null) {\n Operators_NullArg(\"value\");\n }\n return BitConverter_ToString_1D3E19A2(value, 0, value.length);\n}\n\nexport function BitConverter_ToString_52ECB83E(value, startIndex) {\n if (value == null) {\n Operators_NullArg(\"value\");\n }\n return BitConverter_ToString_1D3E19A2(value, startIndex, value.length - startIndex);\n}\n\nexport function FindSliceIndex_sequenceEqual(a, b) {\n return compareWith(compare_1, a, b) === 0;\n}\n\nexport class FindSliceIndex_Q_queue$1 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Queue\"];\n }\n}\n\nexport function FindSliceIndex_Q_queue$1$reflection(gen0) {\n return union_type(\"FSharpPlus.Internals.FindSliceIndex.Q.queue`1\", [gen0], FindSliceIndex_Q_queue$1, () => [[[\"Item1\", list_type(gen0)], [\"Item2\", list_type(gen0)]]]);\n}\n\nexport function FindSliceIndex_Q_empty() {\n return new FindSliceIndex_Q_queue$1(0, empty(), empty());\n}\n\nexport function FindSliceIndex_Q_enqueue(q, e) {\n return new FindSliceIndex_Q_queue$1(0, cons(e, q.fields[0]), q.fields[1]);\n}\n\nexport function FindSliceIndex_Q_dequeue(_arg) {\n let pattern_matching_result, b, bs, fs;\n if (isEmpty(_arg.fields[0])) {\n if (!isEmpty(_arg.fields[1])) {\n pattern_matching_result = 1;\n b = head(_arg.fields[1]);\n bs = tail(_arg.fields[1]);\n fs = _arg.fields[0];\n }\n else {\n pattern_matching_result = 0;\n }\n }\n else if (isEmpty(_arg.fields[1])) {\n pattern_matching_result = 2;\n }\n else {\n pattern_matching_result = 1;\n b = head(_arg.fields[1]);\n bs = tail(_arg.fields[1]);\n fs = _arg.fields[0];\n }\n switch (pattern_matching_result) {\n case 0: {\n return [void 0, _arg];\n }\n case 1: {\n return [some(b), new FindSliceIndex_Q_queue$1(0, fs, bs)];\n }\n case 2: {\n const bs_1 = reverse(_arg.fields[0]);\n return [some(head(bs_1)), new FindSliceIndex_Q_queue$1(0, empty(), tail(bs_1))];\n }\n }\n}\n\nexport function FindSliceIndex_Q_toSeq(_arg) {\n let pattern_matching_result, bs, fs;\n if (isEmpty(_arg.fields[0])) {\n if (isEmpty(_arg.fields[1])) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n bs = _arg.fields[1];\n fs = _arg.fields[0];\n }\n }\n else {\n pattern_matching_result = 1;\n bs = _arg.fields[1];\n fs = _arg.fields[0];\n }\n switch (pattern_matching_result) {\n case 0: {\n return empty_1();\n }\n case 1: {\n return append(bs, reverse(fs));\n }\n }\n}\n\nexport function FindSliceIndex_Q_length(_arg) {\n let pattern_matching_result, bs, fs;\n if (isEmpty(_arg.fields[0])) {\n if (isEmpty(_arg.fields[1])) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n bs = _arg.fields[1];\n fs = _arg.fields[0];\n }\n }\n else {\n pattern_matching_result = 1;\n bs = _arg.fields[1];\n fs = _arg.fields[0];\n }\n switch (pattern_matching_result) {\n case 0: {\n return 0;\n }\n case 1: {\n return (length_1(bs) + length_1(fs)) | 0;\n }\n }\n}\n\nexport class FindSliceIndex_Queue$1 {\n constructor() {\n this.q = FindSliceIndex_Q_empty();\n }\n GetEnumerator() {\n const _ = this;\n return getEnumerator(FindSliceIndex_Q_toSeq(_.q));\n }\n [Symbol.iterator]() {\n return toIterator(this.GetEnumerator());\n }\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\n const _ = this;\n return getEnumerator(FindSliceIndex_Q_toSeq(_.q));\n }\n}\n\nexport function FindSliceIndex_Queue$1$reflection(gen0) {\n return class_type(\"FSharpPlus.Internals.FindSliceIndex.Queue`1\", [gen0], FindSliceIndex_Queue$1);\n}\n\nexport function FindSliceIndex_Queue$1_$ctor() {\n return new FindSliceIndex_Queue$1();\n}\n\nexport function FindSliceIndex_Queue$1__Enqueue_2B595(_, v) {\n _.q = FindSliceIndex_Q_enqueue(_.q, v);\n}\n\nexport function FindSliceIndex_Queue$1__Dequeue(_) {\n const patternInput = FindSliceIndex_Q_dequeue(_.q);\n const dequeued = patternInput[0];\n _.q = patternInput[1];\n if (dequeued == null) {\n throw (new Error(\"Empty queue!\"));\n }\n else {\n return value_1(dequeued);\n }\n}\n\nexport function FindSliceIndex_Queue$1__get_Count(_) {\n return FindSliceIndex_Q_length(_.q);\n}\n\nexport function FindSliceIndex_listImpl(slice, source) {\n const cache = FindSliceIndex_Queue$1_$ctor();\n const sliceLength = length_1(slice) | 0;\n const go = (index_mut, source_1_mut) => {\n go:\n while (true) {\n const index = index_mut, source_1 = source_1_mut;\n if (isEmpty(source_1)) {\n return -1;\n }\n else {\n const t = tail(source_1);\n FindSliceIndex_Queue$1__Enqueue_2B595(cache, head(source_1));\n if (FindSliceIndex_Queue$1__get_Count(cache) === sliceLength) {\n if (FindSliceIndex_sequenceEqual(cache, slice)) {\n return ((index - sliceLength) + 1) | 0;\n }\n else {\n FindSliceIndex_Queue$1__Dequeue(cache);\n index_mut = (index + 1);\n source_1_mut = t;\n continue go;\n }\n }\n else {\n index_mut = (index + 1);\n source_1_mut = t;\n continue go;\n }\n }\n break;\n }\n };\n return go(0, source) | 0;\n}\n\nexport function FindSliceIndex_arrayImpl(slice, source) {\n const cache = FindSliceIndex_Queue$1_$ctor();\n const go = (index_mut) => {\n go:\n while (true) {\n const index = index_mut;\n if (index < source.length) {\n FindSliceIndex_Queue$1__Enqueue_2B595(cache, source[index]);\n if (FindSliceIndex_Queue$1__get_Count(cache) === slice.length) {\n if (FindSliceIndex_sequenceEqual(cache, slice)) {\n return ((index - slice.length) + 1) | 0;\n }\n else {\n FindSliceIndex_Queue$1__Dequeue(cache);\n index_mut = (index + 1);\n continue go;\n }\n }\n else {\n index_mut = (index + 1);\n continue go;\n }\n }\n else {\n return -1;\n }\n break;\n }\n };\n return go(0) | 0;\n}\n\nexport class AggregateException extends FSharpException {\n constructor(Data0) {\n super();\n this.Data0 = Data0;\n }\n}\n\nexport function AggregateException$reflection() {\n return class_type(\"FSharpPlus.Internals.AggregateException\", void 0, AggregateException, class_type(\"System.Exception\"));\n}\n\nfunction AggregateException__Equals_229D3F39(this$, obj) {\n if (!equals(this$, null)) {\n if (!equals(obj, null)) {\n if (obj instanceof AggregateException) {\n return equals(this$.Data0, obj.Data0);\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n }\n else if (!equals(obj, null)) {\n return false;\n }\n else {\n return true;\n }\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { createObj } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { toConsole, printf, toText, join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { Boldness, MarginTop, hideInPrint, cursorPointer, vCenter, MarginLeft, MarginBottom, PaddingRight, PaddingLeft, PaddingBottom, PaddingTop, modal } from \"../Styles/Utils.fs.js\";\nimport { empty as empty_1, append, singleton, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { sortByDescending, empty, map, singleton as singleton_1, isEmpty, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../Notistack/Notistack.fs.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport { Col, Row } from \"../Components/UtilComponents.fs.js\";\nimport { rgba } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/Colors.fs.js\";\nimport { Dossier_Comment_comment } from \"../shared/Format.fs.js\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport { compare } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { intersperse } from \"../partnerportal/src/fable_modules/FSharpPlus.1.4.0/Extensions/List.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport List from \"@material-ui/core/List\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { CommentType, CommentType__get_toString, CommentSource } from \"../shared/Domain.fs.js\";\nimport { Card } from \"./DesignSystem.fs.js\";\nimport TextField from \"@material-ui/core/TextField\";\nimport { Browser_Types_Event__Event_get_Value } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport TabPanel from \"@material-ui/lab/TabPanel\";\nimport TabContext from \"@material-ui/lab/TabContext\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Tab from \"@material-ui/core/Tab\";\n\nexport function DeleteCommentModal(deleteCommentModalInputProps) {\n let elems_1, elems;\n const onDeleteComment = deleteCommentModalInputProps.onDeleteComment;\n const setShowDeletionModal = deleteCommentModalInputProps.setShowDeletionModal;\n const showDeleteModal = deleteCommentModalInputProps.showDeleteModal;\n const comment = deleteCommentModalInputProps.comment;\n const snackbar = useSnackbar();\n return MuiHelpers_createElement(Modal, [[\"open\", showDeleteModal], [\"onClose\", (_arg_1, v) => {\n setShowDeletionModal(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.L, PaddingBottom.L, PaddingLeft.Xxl, PaddingRight.Xxl])], (elems_1 = [createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginBottom.M])], (elems = toList(delay(() => {\n if (comment == null) {\n return singleton(null);\n }\n else {\n const comment_1 = comment;\n return singleton(`Verwijder opmerking: ${comment_1.Comment}`);\n }\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]))), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_2) => {\n if (comment == null) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Geen opmerking geselecteerd.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(\"Geen opmerking geselecteerd\");\n setShowDeletionModal(false);\n }\n else {\n onDeleteComment(comment);\n setShowDeletionModal(false);\n }\n }], [\"className\", join(\" \", [])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Ja\"]]), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_3) => {\n setShowDeletionModal(false);\n }], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Nee\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))]]);\n}\n\nexport function CommentList(commentListInputProps) {\n let children_5, children_4;\n const onDeleteComment = commentListInputProps.onDeleteComment;\n const comments = commentListInputProps.comments;\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setShowDeletionModal = patternInput[1];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(void 0);\n const children_6 = ofArray([createElement(DeleteCommentModal, {\n comment: patternInput_1[0],\n showDeleteModal: patternInput[0],\n setShowDeletionModal: setShowDeletionModal,\n onDeleteComment: (comment) => {\n if (onDeleteComment == null) {\n }\n else {\n onDeleteComment(comment);\n }\n },\n }), (children_5 = singleton_1((children_4 = toList(delay(() => {\n let children, xs_4, source;\n return isEmpty(comments) ? singleton((children = singleton_1(MuiHelpers_createElement(ListItemText, [[\"secondary\", \"Geen Opmerkingen\"], [\"primary\", \"\"]])), MuiHelpers_createElement(ListItem, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))) : singleton((xs_4 = ((source = map((comment_2) => {\n let elements_1;\n const xs_3 = [MuiHelpers_createElement(ListItem, [(elements_1 = [createElement(Row, {\n classes: empty(),\n children: toList(delay(() => {\n let elems_1, value_9;\n return append(singleton(createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(\"div\", {\n children: comment_2.Comment,\n }), createElement(\"div\", createObj(ofArray([[\"style\", {\n color: rgba(0, 0, 0, 0.54),\n }], (elems_1 = [createElement(Col, {\n classes: empty(),\n children: singleton_1((value_9 = Dossier_Comment_comment(comment_2), createElement(\"div\", {\n children: [value_9],\n }))),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))]),\n })), delay(() => {\n let elems_2, props_4;\n return (onDeleteComment == null) ? singleton(null) : singleton(createElement(Row, {\n classes: ofArray([MarginLeft.Xxl, vCenter]),\n children: singleton_1(createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [cursorPointer])], (elems_2 = [(props_4 = {}, react.createElement(Delete, props_4))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))]), [\"onClick\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n patternInput_1[1](comment_2);\n setShowDeletionModal(true);\n }]])))),\n }));\n }));\n })),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])])];\n return react.createElement(react.Fragment, {}, ...xs_3);\n }, sortByDescending((comment_1) => comment_1.UpdatedOn, comments, {\n Compare: compare,\n })), intersperse(MuiHelpers_createElement(Divider, [[\"component\", \"li\"]]), source))), react.createElement(react.Fragment, {}, ...xs_4)));\n })), MuiHelpers_createElement(List, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))]);\n return createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_6)),\n });\n}\n\nexport function CommentSource_toNumber(source) {\n switch (source.tag) {\n case 1: {\n return 1;\n }\n case 2: {\n return 2;\n }\n case 3: {\n return 3;\n }\n case 4: {\n return 4;\n }\n default: {\n return -1;\n }\n }\n}\n\nexport function CommentSource_fromNumber(n) {\n switch (n) {\n case 1: {\n return new CommentSource(1);\n }\n case 2: {\n return new CommentSource(2);\n }\n case 3: {\n return new CommentSource(3);\n }\n case 4: {\n return new CommentSource(4);\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport const CommentSource_defaultCommentSources = ofArray([new CommentSource(1), new CommentSource(2), new CommentSource(3), new CommentSource(4)]);\n\nexport function CommentEditor(commentEditorInputProps) {\n let elems;\n const commentType = commentEditorInputProps.commentType;\n const setComment = commentEditorInputProps.setComment;\n const comment = commentEditorInputProps.comment;\n return createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [hideInPrint])], (elems = [Card([createElement(Row, {\n classes: empty(),\n children: ofArray([MuiHelpers_createElement(TextField, [[\"label\", `${CommentType__get_toString(commentType)} Opmerking`], [\"placeholder\", `${CommentType__get_toString(commentType)} Opmerking`], [\"multiline\", true], [\"rows\", 4], [\"variant\", \"standard\"], [\"value\", comment], [\"onChange\", (e) => {\n setComment(Browser_Types_Event__Event_get_Value(e));\n }], [\"fullWidth\", true]]), createElement(\"div\", {\n className: join(\" \", [MarginTop.M, Boldness.b500]),\n placeholder: \"Naam\",\n children: \"\",\n readOnly: true,\n })]),\n })])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])));\n}\n\nexport function DossierCommentEditor(dossierCommentEditorInputProps) {\n let commentType_1, xs_1, elements_2, elements_1;\n const setCommentType = dossierCommentEditorInputProps.setCommentType;\n const commentType = dossierCommentEditorInputProps.commentType;\n const setComment = dossierCommentEditorInputProps.setComment;\n const comment = dossierCommentEditorInputProps.comment;\n const tabPanel = (index, description, comment_1, setComment_1) => {\n let elements;\n return MuiHelpers_createElement(TabPanel, [[\"value\", index], (elements = [MuiHelpers_createElement(TextField, [[\"label\", description], [\"placeholder\", description], [\"multiline\", true], [\"rows\", 4], [\"variant\", \"standard\"], [\"value\", comment_1], [\"onChange\", (e) => {\n setComment_1(Browser_Types_Event__Event_get_Value(e));\n }], [\"fullWidth\", true]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n };\n const patternInput = useFeliz_React__React_useState_Static_1505((commentType_1 = commentType, (commentType_1.tag === 0) ? 1 : ((commentType_1.tag === 1) ? 2 : 0)));\n const tabValue = patternInput[0] | 0;\n return Card([(xs_1 = [MuiHelpers_createElement(TabContext, [[\"value\", toText(printf(\"%i\"))(tabValue)], (elements_2 = [MuiHelpers_createElement(Tabs, [[\"value\", tabValue], [\"onChange\", (_arg, v) => {\n let n;\n const a = v | 0;\n toConsole(printf(\"tab %i\"))(a);\n patternInput[1](a);\n setCommentType((n = (a | 0), (n === 0) ? (new CommentType(2)) : ((n === 1) ? (new CommentType(0)) : ((n === 2) ? (new CommentType(1)) : ((console.error(\"tab index error\"), (() => {\n throw (new Error(\"tab index error\"));\n })()))))));\n }], (elements_1 = [MuiHelpers_createElement(Tab, [[\"value\", 0], [\"label\", \"INTERNAL\"]]), MuiHelpers_createElement(Tab, [[\"value\", 1], [\"label\", \"ADI\"]]), MuiHelpers_createElement(Tab, [[\"value\", 2], [\"label\", \"PARTNER\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]), tabPanel(\"0\", \"Opmerking Internal\", comment, setComment), tabPanel(\"1\", \"Opmerking Adi\", comment, setComment), tabPanel(\"2\", \"Opmerking Partner\", comment, setComment)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])]), createElement(\"div\", {\n className: join(\" \", [MarginTop.M, Boldness.b500]),\n placeholder: \"Naam\",\n children: \"\",\n readOnly: true,\n })], react.createElement(react.Fragment, {}, ...xs_1))]);\n}\n\nexport function CommentTypeTabs(commentTypeTabsInputProps) {\n let commentType_1, elements_2, elements_1;\n const showPartner = commentTypeTabsInputProps.showPartner;\n const showAdi = commentTypeTabsInputProps.showAdi;\n const showInternal = commentTypeTabsInputProps.showInternal;\n const content = commentTypeTabsInputProps.content;\n const setCommentType = commentTypeTabsInputProps.setCommentType;\n const tabPanel = (index) => MuiHelpers_createElement(TabPanel, [[\"style\", {\n width: 100 + \"%\",\n paddingLeft: 0,\n paddingTop: 0,\n paddingRight: 0,\n }], [\"value\", index], [\"children\", Interop_reactApi.Children.toArray([content])]]);\n const patternInput = useFeliz_React__React_useState_Static_1505((commentType_1 = commentTypeTabsInputProps.commentType, (commentType_1.tag === 0) ? 1 : ((commentType_1.tag === 1) ? 2 : 0)));\n const tabValue = patternInput[0] | 0;\n const xs_1 = [createElement(\"h2\", {\n children: [\"Opmerkingen\"],\n }), MuiHelpers_createElement(TabContext, [[\"value\", toText(printf(\"%i\"))(tabValue)], (elements_2 = [MuiHelpers_createElement(Tabs, [[\"value\", tabValue], [\"onChange\", (_arg, v) => {\n let n;\n const a = v | 0;\n toConsole(printf(\"tab %i\"))(a);\n patternInput[1](a);\n setCommentType((n = (a | 0), (n === 0) ? (new CommentType(2)) : ((n === 1) ? (new CommentType(0)) : ((n === 2) ? (new CommentType(1)) : ((console.error(\"tab index error\"), (() => {\n throw (new Error(\"tab index error\"));\n })()))))));\n }], (elements_1 = toList(delay(() => append(showInternal ? singleton(MuiHelpers_createElement(Tab, [[\"value\", 0], [\"label\", \"INTERNAL\"]])) : empty_1(), delay(() => append(showAdi ? singleton(MuiHelpers_createElement(Tab, [[\"value\", 1], [\"label\", \"ADI\"]])) : empty_1(), delay(() => (showPartner ? singleton(MuiHelpers_createElement(Tab, [[\"value\", 2], [\"label\", \"PARTNER\"]])) : empty_1()))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]), tabPanel(\"0\"), tabPanel(\"1\"), tabPanel(\"2\")], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])]), createElement(\"div\", {\n className: join(\" \", [MarginTop.M, Boldness.b500]),\n placeholder: \"Naam\",\n children: \"\",\n readOnly: true,\n })];\n return react.createElement(react.Fragment, {}, ...xs_1);\n}\n\n","import { getSlice, append, choose, reverse, head, item, length, skip as skip_1, take as take_1, empty, tail, isEmpty, allPairs, map, collect, cons as cons_1, singleton as singleton_1 } from \"../../fable-library.3.7.17/List.js\";\nimport { map as map_1, toList } from \"../../fable-library.3.7.17/Seq.js\";\nimport { replace as replace_1, split as split_1, intersperse as intersperse_1, intercalate as intercalate_1 } from \"./Seq.fs.js\";\nimport { toIterator, getEnumerator } from \"../../fable-library.3.7.17/Util.js\";\nimport { FindSliceIndex_listImpl } from \"../Internals.fs.js\";\nimport { FSharpRef } from \"../../fable-library.3.7.17/Types.js\";\n\nexport function singleton(value) {\n return singleton_1(value);\n}\n\nexport function cons(value, list) {\n return cons_1(value, list);\n}\n\nexport function apply(f, x) {\n return collect((f_1) => map(f_1, x), f);\n}\n\nexport function lift2(f, x1, x2) {\n return map((tupledArg) => f(tupledArg[0], tupledArg[1]), allPairs(x1, x2));\n}\n\nexport function lift3(f, x1, x2, x3) {\n return map((tupledArg) => f(tupledArg[0], tupledArg[1], tupledArg[2]), map((x) => [x[1][0], x[1][1], x[0]], allPairs(x1, allPairs(x2, x3))));\n}\n\nexport function tails(list) {\n const loop = (_arg) => {\n if (!isEmpty(_arg)) {\n return cons_1(_arg, loop(tail(_arg)));\n }\n else {\n return empty();\n }\n };\n return loop(list);\n}\n\nexport function take(count, list) {\n return take_1(count, list);\n}\n\nexport function skip(count, list) {\n return skip_1(count, list);\n}\n\nexport function drop(count, source) {\n const loop = (i_mut, lst_mut) => {\n loop:\n while (true) {\n const i = i_mut, lst = lst_mut;\n const matchValue = [lst, i];\n let pattern_matching_result, x;\n if (isEmpty(matchValue[0])) {\n pattern_matching_result = 0;\n x = matchValue[0];\n }\n else if (matchValue[1] === 0) {\n pattern_matching_result = 0;\n x = matchValue[0];\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return x;\n }\n case 1: {\n i_mut = (matchValue[1] - 1);\n lst_mut = tail(matchValue[0]);\n continue loop;\n }\n }\n break;\n }\n };\n if (count > 0) {\n return loop(count, source);\n }\n else {\n return source;\n }\n}\n\nexport function intercalate(separator, source) {\n return toList(intercalate_1(separator, source));\n}\n\nexport function intersperse(separator, source) {\n return toList(intersperse_1(separator, source));\n}\n\nexport function split(separators, source) {\n return map_1(toList, split_1(separators, source));\n}\n\nexport function replace(oldValue, newValue, source) {\n return toList(replace_1(oldValue, newValue, source));\n}\n\nexport function toIReadOnlyList(source) {\n return {\n [\"System.Collections.Generic.IReadOnlyCollection`1.get_Count\"]() {\n return length(source);\n },\n [\"System.Collections.Generic.IReadOnlyList`1.get_ItemZ524259A4\"](index) {\n return item(index, source);\n },\n GetEnumerator() {\n return getEnumerator(source);\n },\n [Symbol.iterator]() {\n return toIterator(this.GetEnumerator());\n },\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\n return getEnumerator(source);\n },\n };\n}\n\nexport function findSliceIndex(slice, source) {\n const index = FindSliceIndex_listImpl(slice, source) | 0;\n if (index === -1) {\n const exn = new Error(\"The specified slice was not found in the sequence.\");\n throw exn;\n }\n else {\n return index | 0;\n }\n}\n\nexport function tryFindSliceIndex(slice, source) {\n const index = FindSliceIndex_listImpl(slice, source) | 0;\n if (index === -1) {\n return void 0;\n }\n else {\n return index;\n }\n}\n\nexport function partitionMap(mapping, source) {\n const loop = (acc) => {\n const acc_1 = acc;\n const acc2 = acc_1[1];\n const acc1 = acc_1[0];\n return (_arg) => {\n if (!isEmpty(_arg)) {\n const xs = tail(_arg);\n const matchValue = mapping(head(_arg));\n return (matchValue.tag === 1) ? loop([acc1, cons_1(matchValue.fields[0], acc2)])(xs) : loop([cons_1(matchValue.fields[0], acc1), acc2])(xs);\n }\n else {\n return acc_1;\n }\n };\n };\n return loop([empty(), empty()])(reverse(source));\n}\n\nexport function map2Shortest(mapping, list1, list2) {\n const loop = (acc_mut, _arg_mut) => {\n loop:\n while (true) {\n const acc = acc_mut, _arg = _arg_mut;\n let pattern_matching_result, l, ls, r, rs;\n if (!isEmpty(_arg[0])) {\n if (!isEmpty(_arg[1])) {\n pattern_matching_result = 0;\n l = head(_arg[0]);\n ls = tail(_arg[0]);\n r = head(_arg[1]);\n rs = tail(_arg[1]);\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n acc_mut = cons_1(mapping(l, r), acc);\n _arg_mut = [ls, rs];\n continue loop;\n }\n case 1: {\n return acc;\n }\n }\n break;\n }\n };\n return reverse(loop(empty(), [list1, list2]));\n}\n\nexport function zipShortest(list1, list2) {\n const loop = (acc_mut, _arg_mut) => {\n loop:\n while (true) {\n const acc = acc_mut, _arg = _arg_mut;\n let pattern_matching_result, l, ls, r, rs;\n if (!isEmpty(_arg[0])) {\n if (!isEmpty(_arg[1])) {\n pattern_matching_result = 0;\n l = head(_arg[0]);\n ls = tail(_arg[0]);\n r = head(_arg[1]);\n rs = tail(_arg[1]);\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n acc_mut = cons_1([l, r], acc);\n _arg_mut = [ls, rs];\n continue loop;\n }\n case 1: {\n return acc;\n }\n }\n break;\n }\n };\n return reverse(loop(empty(), [list1, list2]));\n}\n\nexport function choosei(mapping, source) {\n let i = new FSharpRef(-1);\n return choose((x) => {\n i.contents = ((i.contents + 1) | 0);\n return mapping(i.contents, x);\n }, source);\n}\n\nexport function deleteAt(i, lst) {\n if (length(lst) > i) {\n return append(getSlice(0, i - 1, lst), getSlice(i + 1, void 0, lst));\n }\n else {\n return lst;\n }\n}\n\nexport function removeAt(i, lst) {\n return deleteAt(i, lst);\n}\n\nexport function setAt(i, x, lst) {\n if ((length(lst) > i) && (i >= 0)) {\n return append(getSlice(0, i - 1, lst), cons_1(x, getSlice(i + 1, void 0, lst)));\n }\n else {\n return lst;\n }\n}\n\n","import { indexed, choose, toList, singleton, empty, enumerateWhile, append, enumerateUsing, delay, toArray, allPairs, map, collect } from \"../../fable-library.3.7.17/Seq.js\";\nimport { addRangeInPlace, foldBack as foldBack_1 } from \"../../fable-library.3.7.17/Array.js\";\nimport { clear, comparePrimitives, equals, getEnumerator } from \"../../fable-library.3.7.17/Util.js\";\nimport { exists, item as item_1, filter, length, map as map_1, max, isEmpty } from \"../../fable-library.3.7.17/List.js\";\nimport { FindSliceIndex_arrayImpl } from \"../Internals.fs.js\";\n\nexport function bind(mapping, source) {\n return collect(mapping, source);\n}\n\nexport function apply(f, x) {\n return bind((f_1) => map(f_1, x), f);\n}\n\nexport function lift2(f, x1, x2) {\n return map((tupledArg) => f(tupledArg[0], tupledArg[1]), allPairs(x1, x2));\n}\n\nexport function lift3(f, x1, x2, x3) {\n return map((tupledArg) => f(tupledArg[0], tupledArg[1], tupledArg[2]), map((x) => [x[1][0], x[1][1], x[0]], allPairs(x1, allPairs(x2, x3))));\n}\n\nexport function foldBack(folder, source, state) {\n return foldBack_1(folder, toArray(source), state);\n}\n\nexport function chunkBy(projection, source) {\n return delay(() => enumerateUsing(getEnumerator(source), (e) => {\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\n let g = projection(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\n let members = [];\n void (members.push(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()));\n return append(enumerateWhile(() => e[\"System.Collections.IEnumerator.MoveNext\"](), delay(() => {\n const key = projection(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\n if (equals(g, key)) {\n void (members.push(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()));\n return empty();\n }\n else {\n return append(singleton([g, members]), delay(() => {\n g = key;\n members = [];\n void (members.push(e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]()));\n return empty();\n }));\n }\n })), delay(() => singleton([g, members])));\n }\n else {\n return empty();\n }\n }));\n}\n\nexport function intersperse(sep, list) {\n return delay(() => {\n let notFirst = false;\n return collect((element) => append(notFirst ? singleton(sep) : empty(), delay(() => append(singleton(element), delay(() => {\n notFirst = true;\n return empty();\n })))), list);\n });\n}\n\nexport function intercalate(separator, source) {\n return delay(() => {\n let notFirst = false;\n return collect((element) => append(notFirst ? separator : empty(), delay(() => append(element, delay(() => {\n notFirst = true;\n return empty();\n })))), source);\n });\n}\n\nexport function split(separators, source) {\n const options = 0;\n return delay(() => {\n const matchValue = toList(map(toList, separators));\n if (isEmpty(matchValue)) {\n return singleton(source);\n }\n else {\n const separators_1 = matchValue;\n const buffer = [];\n let candidate;\n const arg = max(map_1(length, separators_1), {\n Compare: comparePrimitives,\n }) | 0;\n candidate = [];\n let i = 0;\n return append(collect((item) => {\n void (candidate.push(item));\n const matchValue_1 = filter((sep) => {\n if (length(sep) > i) {\n return equals(item, item_1(i, sep));\n }\n else {\n return false;\n }\n }, separators_1);\n if (isEmpty(matchValue_1)) {\n i = 0;\n addRangeInPlace(candidate, buffer);\n clear(candidate);\n return empty();\n }\n else if (exists((sep_1) => (length(sep_1) === (i + 1)), matchValue_1)) {\n i = 0;\n return append(((options === 0) ? true : (buffer.length > 0)) ? singleton(buffer.slice()) : empty(), delay(() => {\n clear(buffer);\n clear(candidate);\n return empty();\n }));\n }\n else {\n i = ((i + 1) | 0);\n return empty();\n }\n }, source), delay(() => append((candidate.length > 0) ? ((addRangeInPlace(candidate, buffer), empty())) : empty(), delay(() => (((options === 0) ? true : (buffer.length > 0)) ? singleton(buffer) : empty())))));\n }\n });\n}\n\nexport function replace(oldValue, newValue, source) {\n return delay(() => {\n const old = toList(oldValue);\n if (length(old) === 0) {\n return source;\n }\n else {\n const candidate = [];\n let sindex = 0;\n return append(collect((item) => {\n void (candidate.push(item));\n if (equals(item, item_1(sindex, old))) {\n sindex = ((sindex + 1) | 0);\n if (sindex >= length(old)) {\n sindex = 0;\n return append(newValue, delay(() => {\n clear(candidate);\n return empty();\n }));\n }\n else {\n return empty();\n }\n }\n else {\n sindex = 0;\n return append(candidate, delay(() => {\n clear(candidate);\n return empty();\n }));\n }\n }, source), delay(() => candidate));\n }\n });\n}\n\nexport function drop(count, source) {\n return delay(() => {\n let i = count;\n return collect((x) => {\n if (i > 0) {\n i = ((i - 1) | 0);\n return empty();\n }\n else {\n return singleton(x);\n }\n }, source);\n });\n}\n\nexport function findSliceIndex(slice, source) {\n const index = FindSliceIndex_arrayImpl(toArray(slice), toArray(source)) | 0;\n if (index === -1) {\n const exn = new Error(\"The specified slice was not found in the sequence.\");\n throw exn;\n }\n else {\n return index | 0;\n }\n}\n\nexport function tryFindSliceIndex(slice, source) {\n const index = FindSliceIndex_arrayImpl(toArray(slice), toArray(source)) | 0;\n if (index === -1) {\n return void 0;\n }\n else {\n return index;\n }\n}\n\nexport function choosei(mapping, source) {\n return choose((tupledArg) => mapping(tupledArg[0], tupledArg[1]), indexed(source));\n}\n\n","import { collect, empty, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../../Components/UtilComponents.fs.js\";\nimport { alignStart, hideInPrint, flexExpand, hideShadowInPrint, Gap, cursorPointer, TableHeaderCell, alignEnd, MarginBottom, MarginTop, MarginRight } from \"../../Styles/Utils.fs.js\";\nimport { empty as empty_1, sortByDescending, length, map as map_1, toArray, singleton as singleton_1, ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { isNullOrWhiteSpace, printf, toConsole, join } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { PagingQuery } from \"../../shared/Paging.fs.js\";\nimport { Msg, searchTerms } from \"./DossierFilter.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport { DisplayDiscount, CheckBox, DisplayData, InfoTitle, UrgentChip, CibFormChip, PartnerChip, DownloadLink, Link, CheckIcon, MultiSelect, TableHeader, FilterField } from \"../DesignSystem.fs.js\";\nimport { map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { FilterFieldDateRange, ToggleFilter } from \"../FilterUtils.fs.js\";\nimport { InspectionLocation_extra, InspectionLocation_type$0027, Compensation_compensation, GeneralFormats_dateTimeStampShort, Address_address, Customer2_name, GeneralFormats_dateTimeStamp, Dossier_status } from \"../../shared/Format.fs.js\";\nimport { CommentSource as CommentSource_1, InspectionLocationExtra, OwnerStatus__get_toString, KboNumber___UnsafeUnwrap_146F846E, PhoneNumber___UnsafeUnwrap_23E45174, Email___UnsafeUnwrap_Z27D11339, Customer2__get_Code, HomeVisitContactModule_string, InvoicePricingModule_string, NonEmptyString___UnsafeUnwrap_Z73AD07C, DossierStatus_get_list } from \"../../shared/Domain.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\nimport { DossierStatusChip, noContentMessage } from \"../DossierUtils.fs.js\";\nimport { RouterModule_nav, RouterModule_encodeParts } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { year, fromDateTimeOffset } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { Dossier_contact, Dossier_contactPhoneNumber } from \"../../shared/DomainHelpers.fs.js\";\nimport { comparePrimitives } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useToggle } from \"../../CustomHooks/CustomHooks.fs.js\";\nimport { Auth0UserPrivileges, Auth0UserClaims__HasPrivilege_6B2F319B } from \"../../shared/Auth0Constants.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { date as date_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { QuoteInvoice } from \"../quote/QuoteInvoiceDetails.fs.js\";\nimport { CommentTypeTabs, CommentEditor, CommentList } from \"../CommentEditor.fs.js\";\nimport { CommentData } from \"../../shared/Api.fs.js\";\nimport Save from \"@material-ui/icons/Save\";\n\nexport function DossiersData(dossiersDataInputProps) {\n const klantNameHeader = dossiersDataInputProps.klantNameHeader;\n const isBackOffice = dossiersDataInputProps.isBackOffice;\n const showCibFilter = dossiersDataInputProps.showCibFilter;\n const optionalExportCsvFunction = dossiersDataInputProps.optionalExportCsvFunction;\n const showPartnerName = dossiersDataInputProps.showPartnerName;\n const url = dossiersDataInputProps.url;\n const dispatch = dossiersDataInputProps.dispatch;\n const state = dossiersDataInputProps.state;\n const data = dossiersDataInputProps.data;\n const klantNameHeader_1 = (klantNameHeader == null) ? \"Klant Naam\" : klantNameHeader;\n const xs_3 = toList(delay(() => {\n let matchValue, exportCsvFunction;\n return append((matchValue = optionalExportCsvFunction, (matchValue == null) ? singleton(null) : ((exportCsvFunction = matchValue, singleton(createElement(Col, {\n classes: ofArray([MarginRight.S, MarginTop.S, MarginBottom.M]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignEnd])], [\"target\", \"_blank\"], [\"href\", \"#\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"onClick\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n exportCsvFunction(new PagingQuery(state.PageNumber, state.PageSize))(searchTerms(state));\n }], [\"children\", \"Exporteren naar csv-bestand\"]])),\n }))))), delay(() => {\n let elems_29, elems_28, children_13, children_12;\n return append(singleton(MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_29 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_28 = [(children_13 = singleton_1((children_12 = toList(delay(() => {\n let children;\n return append(singleton((children = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_2) => {\n dispatch(new Msg(0, arg_2));\n }, defaultArg(map((d) => d.Value, state.DossierCode), \"\")), createElement(TableHeader, {\n text: \"Dossier nummer\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))), delay(() => {\n let children_1;\n return append(singleton((children_1 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.Urgent,\n onChange: (arg_4) => {\n dispatch(new Msg(11, arg_4));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"Dringend\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))), delay(() => {\n let children_2;\n return append(singleton((children_2 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterFieldDateRange(\"Filter\", (arg_6) => {\n dispatch(new Msg(8, arg_6));\n }, state.DateRange), createElement(TableHeader, {\n text: \"Datum en tijd\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))), delay(() => {\n let children_3;\n return append(singleton((children_3 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(MultiSelect, {\n label: \"Filter\",\n items: toArray(map_1(Dossier_status, DossierStatus_get_list())),\n v: state.Status,\n onChange: (arg_8) => {\n dispatch(new Msg(6, arg_8));\n },\n }), createElement(TableHeader, {\n text: \"Status\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]]))), delay(() => {\n let children_4;\n return append(showCibFilter ? singleton((children_4 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.CibFilter,\n onChange: (arg_10) => {\n dispatch(new Msg(9, arg_10));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"CIB\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))) : empty(), delay(() => {\n let children_5;\n return append(showPartnerName ? singleton((children_5 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_12) => {\n dispatch(new Msg(2, arg_12));\n }, defaultArg(state.PartnerName, \"\")), createElement(TableHeader, {\n text: \"Partner Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))) : empty(), delay(() => {\n let children_6;\n return append(isBackOffice ? singleton((children_6 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.PartnerPortal,\n onChange: (arg_14) => {\n dispatch(new Msg(10, arg_14));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"Partner Portaal\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]]))) : empty(), delay(() => {\n let children_7;\n return append(singleton((children_7 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_16) => {\n dispatch(new Msg(1, arg_16));\n }, defaultArg(state.AdiName, \"\")), createElement(TableHeader, {\n text: \"Adi Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]]))), delay(() => {\n let children_8;\n return append(singleton((children_8 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_18) => {\n dispatch(new Msg(3, arg_18));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: klantNameHeader_1,\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]]))), delay(() => {\n let children_9;\n return append(singleton((children_9 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_20) => {\n dispatch(new Msg(4, arg_20));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Inspectielocatie\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]]))), delay(() => {\n let children_10;\n return append(singleton((children_10 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_22) => {\n dispatch(new Msg(5, arg_22));\n }, defaultArg(state.PhoneNumber, \"\")), createElement(TableHeader, {\n text: \"Tel contactpersoon\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]]))), delay(() => {\n let children_11;\n return isBackOffice ? singleton((children_11 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(\"div\", {}), createElement(TableHeader, {\n text: \"Particuliere Prijzen\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_11))]]))) : empty();\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_12))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_13))]])), createElement(DisplayDeferred, {\n data: data,\n view: (dossierDetails) => {\n const xs_2 = toList(delay(() => {\n let children_26;\n return (length(dossierDetails.Data) === 0) ? singleton(noContentMessage(12, \"Er zijn nog geen dossiers\")) : singleton((children_26 = toList(delay(() => collect((detail) => {\n let elems_26;\n let adiName;\n const matchValue_1 = [detail.AdiFirstName, detail.AdiLastName];\n let pattern_matching_result, firstName, lastName;\n if (matchValue_1[0] != null) {\n if (matchValue_1[1] != null) {\n pattern_matching_result = 0;\n firstName = matchValue_1[0];\n lastName = matchValue_1[1];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n const firstName_1 = NonEmptyString___UnsafeUnwrap_Z73AD07C(firstName);\n const lastName_1 = NonEmptyString___UnsafeUnwrap_Z73AD07C(lastName);\n adiName = (`${firstName_1} ${lastName_1}`);\n break;\n }\n case 1: {\n adiName = (void 0);\n break;\n }\n }\n return singleton(MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg) => {\n window.open(RouterModule_encodeParts(ofArray(url(detail.Dossier.Code)), 1), \"_blank\");\n }], [\"key\", detail.Dossier.Id.Value], (elems_26 = toList(delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([detail.Dossier.Code.Value])]])), delay(() => {\n let children_15;\n return append(singleton((children_15 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsUrgent,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_15))]]))), delay(() => {\n let children_16;\n return append(singleton((children_16 = toList(delay(() => {\n const matchValue_2 = detail.DossierCreationDate;\n return (matchValue_2 == null) ? singleton(\" - \") : singleton(GeneralFormats_dateTimeStamp(fromDateTimeOffset(matchValue_2, 0)));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_16))]]))), delay(() => {\n let children_17;\n return append(singleton((children_17 = singleton_1(createElement(DossierStatusChip, {\n status: detail.Dossier.Status,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_17))]]))), delay(() => {\n let children_18;\n return append(showCibFilter ? singleton((children_18 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsCibDossier,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_18))]]))) : empty(), delay(() => {\n let children_19;\n return append(showPartnerName ? singleton((children_19 = toList(delay(() => {\n const matchValue_3 = detail.Partner;\n return (matchValue_3 == null) ? singleton(\"-\") : singleton(NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_3.CompanyName));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_19))]]))) : empty(), delay(() => {\n let children_20;\n return append(isBackOffice ? singleton((children_20 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsPartnerPortalDossier,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_20))]]))) : empty(), delay(() => {\n let children_21;\n return append(singleton((children_21 = toList(delay(() => ((adiName == null) ? singleton(\"-\") : singleton(adiName)))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_21))]]))), delay(() => {\n let children_22;\n return append(singleton((children_22 = singleton_1(Customer2_name(detail.Customer)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_22))]]))), delay(() => {\n let children_23;\n return append(singleton((children_23 = singleton_1(Address_address(detail.Dossier.Address)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_23))]]))), delay(() => {\n let children_24;\n return append(singleton((children_24 = singleton_1(Dossier_contactPhoneNumber(detail.Dossier, detail.Partner)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_24))]]))), delay(() => {\n let children_25, value_63;\n return isBackOffice ? singleton((children_25 = singleton_1((value_63 = (detail.Dossier.InvoicePricing.tag === 0), createElement(CheckIcon, {\n props: [],\n value: value_63,\n }))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_25))]]))) : empty();\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_26))])]));\n }, sortByDescending((s) => s.Dossier.Id.Value, dossierDetails.Data, {\n Compare: comparePrimitives,\n })))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_26))]])));\n }));\n return react.createElement(react.Fragment, {}, ...xs_2);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_28))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_29))])])), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(DisplayDeferred, {\n data: data,\n view: (dossiers) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", dossiers.TotalPages], [\"onChangePage\", (_arg_1, v) => {\n dispatch(new Msg(7, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_78) => {\n }]]);\n },\n })),\n }))));\n }));\n }));\n return react.createElement(react.Fragment, {}, ...xs_3);\n}\n\nexport function DisplayDossierInfo(displayDossierInfoInputProps) {\n let appointment_2, appartmentUrl_1, appointment_1;\n const quoteDetails = displayDossierInfoInputProps.quoteDetails;\n const signatureink = displayDossierInfoInputProps.signatureink;\n const onSaveComment = displayDossierInfoInputProps.onSaveComment;\n const isPartner = displayDossierInfoInputProps.isPartner;\n const appartmentUrl = displayDossierInfoInputProps.appartmentUrl;\n const partnerUrl = displayDossierInfoInputProps.partnerUrl;\n const customerUrl = displayDossierInfoInputProps.customerUrl;\n const setCommentType = displayDossierInfoInputProps.setCommentType;\n const commentType = displayDossierInfoInputProps.commentType;\n const comments = displayDossierInfoInputProps.comments;\n const downloadFile = displayDossierInfoInputProps.downloadFile;\n const sampledUploaded = displayDossierInfoInputProps.sampledUploaded;\n const auth0User = displayDossierInfoInputProps.auth0User;\n const dossierDetails = displayDossierInfoInputProps.dossierDetails;\n const patternInput = useFeliz_React__React_useState_Static_1505(\"\");\n const setComment = patternInput[1];\n const comment = patternInput[0];\n const commentButtonDisabled = useToggle(false);\n const appointmentId = map((appointment) => appointment.Id, dossierDetails.Appointment);\n let appointmentLink;\n const matchValue = [dossierDetails.Appointment, appartmentUrl];\n appointmentLink = ((matchValue[0] != null) ? ((matchValue[1] == null) ? ((appointment_2 = matchValue[0], `${GeneralFormats_dateTimeStamp(fromDateTimeOffset(appointment_2.StartTime, 0))}`)) : ((appartmentUrl_1 = matchValue[1], (appointment_1 = matchValue[0], createElement(Link, {\n text: `${GeneralFormats_dateTimeStamp(fromDateTimeOffset(appointment_1.StartTime, 0))}`,\n url: appartmentUrl_1(appointment_1.Id),\n }))))) : \"-\");\n let assignmentDocumentLink;\n const matchValue_1 = dossierDetails.Dossier.AssignmentConfirmationPhysicallySigned;\n if (matchValue_1 == null) {\n const matchValue_2 = dossierDetails.Dossier.AssigmentConfirmation;\n if (matchValue_2 == null) {\n assignmentDocumentLink = null;\n }\n else {\n const assignmentConfirmation = matchValue_2;\n assignmentDocumentLink = createElement(DownloadLink, {\n text: \"Verzonden (niet getekend)\",\n onDownload: () => {\n downloadFile(assignmentConfirmation);\n },\n });\n }\n }\n else {\n const assignmentDocumentSigned = matchValue_1;\n assignmentDocumentLink = createElement(DownloadLink, {\n text: \"Verzonden (digitaal getekend)\",\n onDownload: () => {\n downloadFile(assignmentDocumentSigned);\n },\n });\n }\n const isAdmin = (auth0User == null) ? false : Auth0UserClaims__HasPrivilege_6B2F319B(auth0User, new Auth0UserPrivileges(0));\n return createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.S),\n children: toList(delay(() => {\n let matchValue_3, partner, url;\n return append((matchValue_3 = [isPartner, dossierDetails.Partner, partnerUrl], matchValue_3[0] ? singleton(null) : ((matchValue_3[1] != null) ? ((matchValue_3[2] != null) ? ((partner = matchValue_3[1], (url = matchValue_3[2], append(singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(PartnerChip, {\n partner: partner,\n onClick: () => {\n RouterModule_nav(ofArray(url(partner.Id)), 1, 1);\n },\n })),\n })), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(CibFormChip, {\n isCibDossier: dossierDetails.Dossier.IsCibDossier,\n onClick: void 0,\n })),\n }))))))) : singleton(null)) : singleton(null))), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(UrgentChip, {\n isUrgent: dossierDetails.Dossier.IsUrgent,\n })),\n }))));\n })),\n })), delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), [\"className\", join(\" \", [hideShadowInPrint])], (elems = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Asbestattest\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Status\", createElement(DossierStatusChip, {\n status: dossierDetails.Dossier.Status,\n })]), delay(() => {\n let invoicePaymentReceivedDate, status, dateStr;\n return append(singleton([\"Factuur\", (invoicePaymentReceivedDate = dossierDetails.InvoicePaymentReceivedDate, (status = dossierDetails.Dossier.Status, (status.tag === 5) ? \"Verzonden\" : ((status.tag === 6) ? ((invoicePaymentReceivedDate == null) ? \"Betaald\" : ((dateStr = GeneralFormats_dateTimeStampShort(date_1(invoicePaymentReceivedDate)), `Betaald (${dateStr})`))) : ((status.tag === 7) ? ((invoicePaymentReceivedDate == null) ? \"Betaald\" : ((dateStr = GeneralFormats_dateTimeStampShort(date_1(invoicePaymentReceivedDate)), `Betaald (${dateStr})`))) : \"-\"))))]), delay(() => append(singleton([\"Afspraak\", appointmentLink]), delay(() => {\n let matchValue_4, ai;\n return append((matchValue_4 = dossierDetails.Dossier.TypeOfDossier, (matchValue_4.tag === 1) ? ((empty())) : singleton([\"Aanleiding asbestinventaris\", (ai = matchValue_4.fields[0], (ai.tag === 1) ? \"Werken\" : ((ai.tag === 2) ? \"Actualisatie asbestinventaris-attest\" : ((ai.tag === 3) ? \"Sloop zonder SOP\" : ((ai.tag === 4) ? \"Sloop met SOP\" : ((ai.tag === 5) ? \"Werkgever\" : ((ai.tag === 6) ? \"Overdracht met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 7) ? \"Generiek\" : ((ai.tag === 8) ? \"Generiek met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 9) ? \"Gemene delen\" : \"Overdracht\")))))))))])), delay(() => {\n let matchValue_6;\n return append((dossierDetails.Dossier.Status.tag === 8) ? append((matchValue_6 = dossierDetails.Dossier.InBehandelingUsername, (matchValue_6 == null) ? ((empty())) : singleton([\"In behandeling door\", matchValue_6])), delay(() => {\n if (dossierDetails.Dossier.InBehandelingAdiId == null) {\n return empty();\n }\n else {\n const adiFirstName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.InBehandelingAdiFirstName), \"\");\n const adiLastName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.InBehandelingAdiLastName), \"\");\n return singleton([\"In behandeling Adi\", `${adiFirstName} ${adiLastName}`]);\n }\n })) : ((empty())), delay(() => {\n let matchValue_9;\n return append((dossierDetails.Dossier.PartnerId == null) ? ((empty())) : singleton([\"Partner Vergoedingen\", (matchValue_9 = dossierDetails.Dossier.CompensationAmount, (matchValue_9 == null) ? \"Geen Vergoedingen\" : Compensation_compensation(matchValue_9))]), delay(() => append(singleton([\"Tarieven van prijzen\", InvoicePricingModule_string(dossierDetails.Dossier.InvoicePricing)]), delay(() => append(singleton([\"Huisbezoek\", HomeVisitContactModule_string(dossierDetails.Dossier.HomeVisitContact)]), delay(() => append((dossierDetails.Dossier.HomeVisitContact.tag === 3) ? append(singleton([\"Huisbezoek Naam\", defaultArg(map((n) => n, dossierDetails.Dossier.HomeVisitContactName), \"\")]), delay(() => singleton([\"Huisbezoek Telefoon\", defaultArg(map((n_1) => n_1, dossierDetails.Dossier.HomeVisitContactEmail), \"\")]))) : ((empty())), delay(() => {\n let copyOfStruct;\n const matchValue_11 = dossierDetails.Dossier.QuoteApprovalMeetingDate;\n let pattern_matching_result, meetingDate_1;\n if (matchValue_11 != null) {\n if (((copyOfStruct = date_1(matchValue_11), year(copyOfStruct))) > 2000) {\n pattern_matching_result = 0;\n meetingDate_1 = matchValue_11;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton([\"Goedkeuring algemene vergadering\", GeneralFormats_dateTimeStampShort(fromDateTimeOffset(meetingDate_1, 0))]);\n }\n case 1: {\n return empty();\n }\n }\n }))))))));\n }));\n }));\n }))));\n })))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), [\"className\", join(\" \", [hideShadowInPrint])], (elems_1 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Algemeen\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Dossier nummer\", dossierDetails.Dossier.Code.Value]), delay(() => append(singleton([\"Klant\", createElement(Link, {\n text: Customer2_name(dossierDetails.Customer),\n url: customerUrl(Customer2__get_Code(dossierDetails.Customer)),\n })]), delay(() => {\n let client;\n return append(singleton([\"Opdrachtgever\", (client = dossierDetails.Dossier.Client, (client.tag === 1) ? \"Gevolmachtigde\" : ((client.tag === 2) ? \"Vereniging van mede-eigenaars\" : \"Eigenaar\"))]), delay(() => append((!isPartner) ? singleton([\"Geen standaard dossier\", CheckBox(dossierDetails.Dossier.ManualInvoice)]) : empty(), delay(() => (isAdmin ? singleton([\"Korting\", DisplayDiscount(dossierDetails.Dossier.Discount)]) : empty())))));\n })))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n let vme;\n const matchValue_12 = dossierDetails.Dossier.VME_OrganizationName;\n if (matchValue_12 == null) {\n vme = [\"\", null];\n }\n else {\n const organizationName = matchValue_12;\n vme = [\"\", \"\"];\n }\n const otherOwnerStatus = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.OwnerStatusOther), \"\");\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), [\"className\", join(\" \", [hideShadowInPrint])], (elems_2 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Eigenaar\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_13;\n return append((matchValue_13 = dossierDetails.Dossier.Owner_CompanyName, (matchValue_13 == null) ? ((empty())) : singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13)])), delay(() => {\n const ownerFirstname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.Owner_FirstName), \"\");\n const ownerLastname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.Owner_LastName), \"\");\n return append(singleton([dossierDetails.Dossier.Owner_IsVME ? \"Beheerder\" : \"Beheerder\", `${ownerFirstname} ${ownerLastname}`]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(dossierDetails.Dossier.Owner_Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, dossierDetails.Dossier.Owner_PhoneNumber), \"-\")]), delay(() => append(singleton([\"Adres\", Address_address(dossierDetails.Dossier.Owner_Address)]), delay(() => append((!isPartner) ? singleton([\"VME KBO nummer\", defaultArg(map(KboNumber___UnsafeUnwrap_146F846E, dossierDetails.Dossier.VME_KboNumber), \"-\")]) : empty(), delay(() => {\n let matchValue_14;\n return append((matchValue_14 = [isPartner, dossierDetails.Dossier.VME_OrganizationName], (matchValue_14[1] == null) ? (matchValue_14[0] ? singleton([\"\", null]) : singleton([\"VME Organisatie Naam\", \"-\"])) : singleton([\"VME Organisatie Naam\", matchValue_14[1].Value])), delay(() => singleton([\"Statuut\", (OwnerStatus__get_toString(dossierDetails.Dossier.OwnerStatus) + \" \") + otherOwnerStatus])));\n }))))))))));\n }));\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n }));\n }));\n })),\n })), delay(() => {\n let elems_4;\n return append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: ofArray([MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), [\"className\", join(\" \", [hideShadowInPrint])], (elems_4 = toList(delay(() => append(singleton(createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: singleton_1(Gap.S),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(dossierDetails.Dossier.InspectionLocation)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.City)]]),\n })),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Contact afspraak\", Dossier_contact(dossierDetails.Dossier, dossierDetails.Partner)]), delay(() => append(singleton([\"Telefoon contactpersoon\", Dossier_contactPhoneNumber(dossierDetails.Dossier, dossierDetails.Partner)]), delay(() => {\n let matchValue_15;\n return append((matchValue_15 = dossierDetails.Dossier.InspectionLocation, (matchValue_15.tag === 14) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialGaragebox), \"0\")]))) : ((matchValue_15.tag === 16) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialGaragebox), \"0\")]))) : ((matchValue_15.tag === 15) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.ResidentialGaragebox), \"0\")]))) : ((empty()))))), delay(() => {\n let matchValue_16;\n return append(singleton([\"Gebouwdeel/Vleugel/Blok\", (matchValue_16 = dossierDetails.Dossier.BuildingDetail, (matchValue_16 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_16))]), delay(() => {\n let matchValue_17;\n return append(singleton([\"Wooneenheden\", (matchValue_17 = dossierDetails.Dossier.HousingUnit, (matchValue_17 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_17))]), delay(() => {\n let matchValue_18;\n return append(singleton([\"Jaar van constructie\", (matchValue_18 = dossierDetails.Dossier.YearsOfConstruction, (matchValue_18 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_18))]), delay(() => {\n let matchValue_19;\n return append(singleton([\"Jaar van renovatie\", (matchValue_19 = dossierDetails.Dossier.YearsOfRenovation, (matchValue_19 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_19))]), delay(() => {\n let matchValue_20;\n return append(singleton([\"Aantal ingangen in het gebouw\", (matchValue_20 = dossierDetails.Dossier.NumberOfEntrances, (matchValue_20 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_20))]), delay(() => {\n let matchValue_21;\n return append(singleton([\"Leidingisolatie (lopende meter)\", (matchValue_21 = dossierDetails.Dossier.PipeIsolationMeters, (matchValue_21 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_21))]), delay(() => {\n let matchValue_22;\n return append(singleton([\"Gangen per verdiep\", (matchValue_22 = dossierDetails.Dossier.HallwaysPerLevel, (matchValue_22 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_22))]), delay(() => {\n let value_55;\n return append(singleton([\"Stooklokaal\", (value_55 = defaultArg(dossierDetails.Dossier.BoilerRoom, false), createElement(CheckIcon, {\n props: [],\n value: value_55,\n }))]), delay(() => {\n let matchValue_23;\n return append((matchValue_23 = dossierDetails.Dossier.SharedAreaOption1, (matchValue_23 == null) ? ((empty())) : singleton([\"Tellerlokalen\", matchValue_23.Value])), delay(() => {\n let matchValue_24;\n return append((matchValue_24 = dossierDetails.Dossier.SharedAreaOption2, (matchValue_24 == null) ? ((empty())) : singleton([\"Vuilnislokaal\", matchValue_24.Value])), delay(() => {\n let matchValue_25;\n return append((matchValue_25 = dossierDetails.Dossier.SharedAreaOption2, (matchValue_25 == null) ? ((empty())) : singleton([\"Fietsberging\", matchValue_25.Value])), delay(() => {\n const matchValue_26 = dossierDetails.Dossier.SharedAreaOption2;\n if (matchValue_26 == null) {\n return empty();\n }\n else {\n return singleton([\"Gemene Delen Option 4\", matchValue_26.Value]);\n }\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })))))),\n })),\n })]),\n })]),\n })), delay(() => {\n const readOnlyCheckboxField = (label, checkedR) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"disabled\", true], [\"checked\", checkedR]])]]);\n return append(singleton(createElement(Row, {\n classes: singleton_1(hideInPrint),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: toList(delay(() => {\n let elements, matchValue_28, matchValue_29, matchValue_30;\n const matchValue_27 = dossierDetails.Dossier.InspectionLocation;\n switch (matchValue_27.tag) {\n case 14:\n case 16:\n case 15: {\n let insData;\n const xs_1 = [MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), (matchValue_28 = dossierDetails.Dossier.InspectionLocationBerging, (matchValue_28 == null) ? false : matchValue_28)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), (matchValue_29 = dossierDetails.Dossier.InspectionLocationStaanplaats, (matchValue_29 == null) ? false : matchValue_29)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), (matchValue_30 = dossierDetails.Dossier.InspectionLocationGaragebox, (matchValue_30 == null) ? false : matchValue_30))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])];\n insData = react.createElement(react.Fragment, {}, ...xs_1);\n return singleton(createElement(DisplayData, {\n data: singleton_1([\"Extra ruimtes aanwezig\", insData]),\n }));\n }\n default: {\n return singleton(null);\n }\n }\n })),\n })),\n })), delay(() => append(singleton(createElement(InfoTitle, {\n text: \"Eigendom\",\n })), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => {\n let matchValue_31, file, matchValue_32, file_1, matchValue_33, file_2;\n return singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Kadastrale legger\", (matchValue_31 = dossierDetails.Dossier.CadastralRecords, (matchValue_31 == null) ? \"-\" : ((file = matchValue_31, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file);\n },\n }))))], [\"Grondplan\", (matchValue_32 = dossierDetails.Dossier.Floorplan, (matchValue_32 == null) ? \"-\" : ((file_1 = matchValue_32, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file_1);\n },\n }))))], [\"Andere\", (matchValue_33 = dossierDetails.Dossier.PropertyOther, (matchValue_33 == null) ? \"-\" : ((file_2 = matchValue_33, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file_2);\n },\n }))))]]),\n })),\n })),\n }));\n }))))));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])]), createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let copyOfStruct_1, elems_5;\n let signedDate;\n const matchValue_34 = dossierDetails.Dossier.AssignmentConfirmationDigitalSignature;\n if (matchValue_34 == null) {\n signedDate = \"-\";\n }\n else {\n const matchValue_35 = matchValue_34.SignedAt;\n let pattern_matching_result_1, a_2;\n if (matchValue_35 != null) {\n if (((copyOfStruct_1 = fromDateTimeOffset(matchValue_35, 0), year(copyOfStruct_1))) > 1) {\n pattern_matching_result_1 = 0;\n a_2 = matchValue_35;\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n const arg_25 = fromDateTimeOffset(a_2, 0);\n toConsole(printf(\"signed date %A\"))(arg_25);\n signedDate = GeneralFormats_dateTimeStamp(fromDateTimeOffset(a_2, 0));\n break;\n }\n case 1: {\n signedDate = \"-\";\n break;\n }\n }\n }\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), [\"className\", join(\" \", [hideShadowInPrint])], (elems_5 = [createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => append(singleton(createElement(InfoTitle, {\n text: \"Opdracht\",\n })), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => singleton(createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Opdrachtformulier\", assignmentDocumentLink]), delay(() => append(singleton([\"Signed Date\", signedDate]), delay(() => {\n let matchValue_36, c;\n return append((matchValue_36 = dossierDetails.Dossier.Conclusion, (matchValue_36 == null) ? singleton([\"Conclusie asbest\", \"-\"]) : singleton([\"Conclusie asbest\", (c = matchValue_36, (c.tag === 1) ? \"Onveilig\" : \"Veilig\")])), delay(() => {\n let matchValue_37, file_3;\n return append(singleton([\"Attest\", (matchValue_37 = dossierDetails.Dossier.Certificate, (matchValue_37 == null) ? \"-\" : ((file_3 = matchValue_37, createElement(DownloadLink, {\n text: \"Download\",\n onDownload: () => {\n downloadFile(file_3);\n },\n }))))]), delay(() => {\n const matchValue_38 = signatureink;\n if (matchValue_38 == null) {\n return empty();\n }\n else {\n return singleton([\"Tekenen Link\", matchValue_38]);\n }\n }));\n }));\n })))))),\n })))))))),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_5))])])), delay(() => {\n let elems_6, matchValue_39, file_4;\n return (!isPartner) ? singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), [\"className\", join(\" \", [hideShadowInPrint])], (elems_6 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Labo\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: ofArray([[\"Labo\", (matchValue_39 = dossierDetails.Dossier.Lab, (matchValue_39 == null) ? \"-\" : ((file_4 = matchValue_39, createElement(DownloadLink, {\n text: \"Download\",\n onDownload: () => {\n downloadFile(file_4);\n },\n }))))], [\"Monsters opgeladen\", CheckBox(sampledUploaded)]]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_6))])])) : empty();\n }));\n })),\n })]),\n })), delay(() => {\n let matchValue_40, appointConfirmation, children_1;\n return append((matchValue_40 = dossierDetails.AppointmentConfirmation, (matchValue_40 == null) ? ((empty())) : ((appointConfirmation = matchValue_40, singleton((children_1 = singleton_1(createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Afspraak bevestiging - Extra Monsters\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: ofArray([[\"Puntmonster\", `${appointConfirmation.PointSampleCount.Value}`], [\"Mengmonster\", `${appointConfirmation.MixedSampleCount.Value}`], [\"Mengmonster leidingisolatie\", `${appointConfirmation.MixedSamplePipeInsulationCount.Value}`]]),\n })]),\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])))))), delay(() => {\n const matchValue_41 = quoteDetails;\n return (matchValue_41 == null) ? singleton(null) : singleton(QuoteInvoice(matchValue_41));\n }));\n }));\n })))))),\n })), delay(() => {\n const showPartnerComments = !(dossierDetails.Partner == null);\n const username_1 = (auth0User == null) ? (void 0) : auth0User.Username;\n return singleton(createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let props_19;\n const commentElement = createElement(Col, {\n classes: singleton_1(Gap.S),\n children: ofArray([createElement(CommentList, {\n comments: comments,\n onDeleteComment: void 0,\n }), createElement(CommentEditor, {\n comment: comment,\n setComment: setComment,\n commentType: commentType,\n }), createElement(Col, {\n classes: ofArray([MarginTop.S, MarginBottom.M, hideInPrint]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignStart])], [\"onClick\", (_arg) => {\n if (isNullOrWhiteSpace(comment)) {\n }\n else {\n const commentData = new CommentData(comment, username_1, isPartner ? (new CommentSource_1(4)) : (new CommentSource_1(1)), commentType);\n commentButtonDisabled.On();\n onSaveComment(commentData)(() => {\n commentButtonDisabled.Off();\n setComment(\"\");\n });\n }\n }], [\"disabled\", commentButtonDisabled.State], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"size\", \"small\"], [\"startIcon\", (props_19 = {}, react.createElement(Save, props_19))], [\"children\", \"Save Comment\"]])),\n })]),\n });\n const showInternalComments = (auth0User == null) ? false : Auth0UserClaims__HasPrivilege_6B2F319B(auth0User, new Auth0UserPrivileges(0));\n return singleton(createElement(CommentTypeTabs, {\n commentType: commentType,\n setCommentType: setCommentType,\n content: commentElement,\n showInternal: showInternalComments,\n showAdi: !isPartner,\n showPartner: showPartnerComments,\n }));\n })),\n }));\n })))),\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useReact_useMemo_CF4EA67, useReact_useReducer_2B9E6EA0 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { State, searchTerms, initialState, update } from \"../../../DesignSystems/dossier/DossierFilter.fs.js\";\nimport { useDebouncedValue } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { CustomerCode as CustomerCode_2 } from \"../../../shared/Domain.fs.js\";\nimport { DossierSearchTerms } from \"../../../shared/DomainHelpers.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { singleton, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossierDetail, customerEdit } from \"../AppRoutes.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { DisplayCustomerInfo } from \"../../../DesignSystems/CustomerForms.fs.js\";\nimport { createObj } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { PaddingTop } from \"../../../Styles/Utils.fs.js\";\nimport { DossiersData } from \"../../../DesignSystems/dossier/DossierDetails.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\n\nexport function Detail(detailInputProps) {\n let props;\n const customerCode = detailInputProps.customerCode;\n const api = detailInputProps.api;\n const currentPage = detailInputProps.currentPage;\n const snackbar = useSnackbar();\n const patternInput = useReact_useReducer_2B9E6EA0(update, initialState);\n const state_1 = patternInput[0];\n const search = useDebouncedValue(500, useReact_useMemo_CF4EA67(() => searchTerms(state_1), [state_1]));\n const datas = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetDossiers(new PagingQuery(state_1.PageNumber, state_1.PageSize), new DossierSearchTerms(search.DossierCode, search.PartnerName, search.AdiName, search.CustomerName, search.Address, search.PhoneNumber, search.Status, search.StartDate, search.EndDate, search.FilterOutDossiersWithoutPartners, search.CibFilter, new CustomerCode_2(customerCode), search.PartnerPortal, search.Urgent, search.PartnerId, search.PartnerIdList)), [state_1.PageNumber, state_1.PageSize, search]);\n const editCustomerButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg_1) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(customerEdit, customerCode)), 1, 1);\n }], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Edit, props))], [\"children\", \"Klant bewerken\"]]);\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCustomer(new CustomerCode_2(customerCode)), []);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Klantenfiche\",\n actions: [editCustomerButton],\n children: [createElement(DisplayDeferred, {\n data: data,\n view: (customer) => {\n let elems_1, children_1;\n if (customer == null) {\n return null;\n }\n else {\n const customer_1 = customer;\n const children_2 = ofArray([createElement(DisplayCustomerInfo, {\n customer: customer_1,\n partner: void 0,\n onPartnerClick: void 0,\n }), createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [PaddingTop.M])], (elems_1 = [createElement(\"h2\", {\n children: [\"Gekoppelde dossiers\"],\n }), (children_1 = singleton(createElement(DossiersData, {\n data: datas,\n state: new State(state_1.DossierCode, state_1.AdiName, state_1.PartnerName, state_1.CustomerName, new CustomerCode_2(customerCode), state_1.Address, state_1.PhoneNumber, state_1.DateRange, state_1.PartnerId, state_1.Status, state_1.PageNumber, state_1.PageSize, state_1.CibFilter, state_1.PartnerPortal, state_1.Urgent),\n dispatch: patternInput[1],\n url: (dossierId) => Page$2__toUrl_2B594(dossierDetail, dossierId.Value),\n showPartnerName: false,\n optionalExportCsvFunction: void 0,\n showCibFilter: true,\n isBackOffice: false,\n klantNameHeader: void 0,\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))]);\n return createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_2)),\n });\n }\n },\n })],\n });\n}\n\n","import { singleton } from \"./fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { toString } from \"./fable_modules/fable-library.3.7.17/Date.js\";\nimport { printf, toText } from \"./fable_modules/fable-library.3.7.17/String.js\";\nimport { FSharpResult$2 } from \"./fable_modules/fable-library.3.7.17/Choice.js\";\n\nexport function downloadFile_CSV(api, query, searchTerms) {\n return singleton.Delay(() => singleton.Bind(api.ExportSelection_CSV(query, searchTerms), (_arg) => {\n const fileContents = _arg;\n let fileName;\n if (searchTerms == null) {\n fileName = \"dossiers lijst\";\n }\n else {\n const searchTerms_1 = searchTerms;\n const matchValue = [searchTerms_1.StartDate, searchTerms_1.EndDate];\n if (matchValue[0] == null) {\n if (matchValue[1] == null) {\n fileName = \"dossiers lijst\";\n }\n else {\n const endDate_1 = matchValue[1];\n const endString_1 = toString(endDate_1, \"dd-MM-yyyy\");\n fileName = (`dossierlijst_vóór_${endString_1}`);\n }\n }\n else if (matchValue[1] == null) {\n const startDate_1 = matchValue[0];\n const startString_1 = toString(startDate_1, \"dd-MM-yyyy\");\n fileName = (`dossierlijst_na_${startString_1}`);\n }\n else {\n const endDate = matchValue[1];\n const startDate = matchValue[0];\n const startString = toString(startDate, \"dd-MM-yyyy\");\n const endString = toString(endDate, \"dd-MM-yyyy\");\n fileName = (`dossiers_lijst_${startString}_${endString}`);\n }\n }\n if (fileContents.tag === 1) {\n throw (new Error(fileContents.fields[0]));\n return singleton.Zero();\n }\n else {\n const blob = new Blob([fileContents.fields[0].buffer], { 'type': \"text/csv\" });\n const dataUrl = window.URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.style = \"display: none\";\n anchor.href = dataUrl;\n anchor.download = toText(printf(\"%s.csv\"))(fileName);\n anchor.click();\n anchor.remove();\n return singleton.Zero();\n }\n }));\n}\n\nexport function downloadFile(fileContents, filePath) {\n return singleton.Delay(() => {\n const blob = new Blob([fileContents.buffer], { 'type': \"\" });\n const dataUrl = window.URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.style = \"display: none\";\n anchor.href = dataUrl;\n anchor.download = toText(printf(\"%s\"))(filePath.Value);\n anchor.click();\n anchor.remove();\n return singleton.Zero();\n });\n}\n\nexport function getImage(getDoc, filePath) {\n return singleton.Delay(() => singleton.Bind(getDoc(filePath), (_arg) => {\n const fileContents = _arg;\n if (fileContents.tag === 1) {\n throw (new Error(fileContents.fields[0]));\n return singleton.Return(new FSharpResult$2(1, \"error fetching document\"));\n }\n else {\n const blob = new Blob([fileContents.fields[0].buffer], { 'type': \"image/jpeg\" });\n const dataUrl = window.URL.createObjectURL(blob);\n return singleton.Return(new FSharpResult$2(0, dataUrl));\n }\n }));\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useReact_useMemo_CF4EA67, useReact_useReducer_2B9E6EA0 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { searchTerms as searchTerms_1, initialState, update } from \"../../../DesignSystems/dossier/DossierFilter.fs.js\";\nimport { useDebouncedValue } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { singleton as singleton_1, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossierDetail, dossierCreate } from \"../AppRoutes.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport Add from \"@material-ui/icons/Add\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DossiersData } from \"../../../DesignSystems/dossier/DossierDetails.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { downloadFile_CSV } from \"../DownloadFile.fs.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\n\nexport function List(listInputProps) {\n let props, children_1;\n const api = listInputProps.api;\n const currentPage = listInputProps.currentPage;\n const snackbar = useSnackbar();\n const patternInput = useReact_useReducer_2B9E6EA0(update, initialState);\n const state_1 = patternInput[0];\n const search = useDebouncedValue(500, useReact_useMemo_CF4EA67(() => searchTerms_1(state_1), [state_1]));\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetDossiers(new PagingQuery(state_1.PageNumber, state_1.PageSize), search), [state_1.PageNumber, state_1.PageSize, search]);\n const addNewDossierButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg_1) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierCreate)), 1, 1);\n }], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Add, props))], [\"children\", \"Dossier aanmaken\"]]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Dossiers\",\n actions: [],\n children: [(children_1 = singleton_1(createElement(DossiersData, {\n data: data,\n state: state_1,\n dispatch: patternInput[1],\n url: (dossierId) => Page$2__toUrl_2B594(dossierDetail, dossierId.Value),\n showPartnerName: false,\n optionalExportCsvFunction: (query) => ((searchTerms) => {\n startImmediate(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n startImmediate(downloadFile_CSV(api, query, searchTerms));\n return singleton.Zero();\n }), (_arg_2) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${_arg_2.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n })));\n }),\n showCibFilter: false,\n isBackOffice: false,\n klantNameHeader: \"Syndic Naam\",\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))],\n });\n}\n\n","import { fromContinuations } from \"../fable-library.3.7.17/Async.js\";\nimport { class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { isNullOrWhiteSpace } from \"../fable-library.3.7.17/String.js\";\n\nexport function InternalUtilities_toUInt8Array(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else {\n return new Uint8Array(data);\n }\n}\n\nexport function Browser_Types_File__File_ReadAsByteArray(instance) {\n return fromContinuations((tupledArg) => {\n const reader = new FileReader();\n reader.onload = ((_arg_2) => {\n if (reader.readyState === 2) {\n tupledArg[0](new Uint8Array(reader.result));\n }\n });\n reader.readAsArrayBuffer(instance);\n });\n}\n\nexport function Browser_Types_File__File_ReadAsDataUrl(instance) {\n return fromContinuations((tupledArg) => {\n const reader = new FileReader();\n reader.onload = ((_arg_2) => {\n if (reader.readyState === 2) {\n tupledArg[0](reader.result);\n }\n });\n reader.readAsDataURL(instance);\n });\n}\n\nexport function Browser_Types_File__File_ReadAsText(instance) {\n return fromContinuations((tupledArg) => {\n const reader = new FileReader();\n reader.onload = ((_arg_2) => {\n if (reader.readyState === 2) {\n tupledArg[0](reader.result);\n }\n });\n reader.readAsText(instance);\n });\n}\n\nexport class ByteArrayExtensions {\n constructor() {\n }\n}\n\nexport function ByteArrayExtensions$reflection() {\n return class_type(\"Fable.Remoting.Client.ByteArrayExtensions\", void 0, ByteArrayExtensions);\n}\n\nexport function ByteArrayExtensions_SaveFileAs_72B26259(content, fileName) {\n if (isNullOrWhiteSpace(fileName)) {\n }\n else {\n const binaryData = InternalUtilities_toUInt8Array(content);\n const blob = new Blob([binaryData.buffer], { type: \"application/octet-stream\" });\n const dataUrl = window.URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.style = \"display: none\";\n anchor.href = dataUrl;\n anchor.download = fileName;\n anchor.rel = \"noopener\";\n anchor.click();\n anchor.remove();\n window.setTimeout(() => {\n URL.revokeObjectURL(dataUrl);\n }, 40 * 1000);\n }\n}\n\nexport function ByteArrayExtensions_SaveFileAs_451DD142(content, fileName, mimeType) {\n if (isNullOrWhiteSpace(fileName)) {\n }\n else {\n const binaryData = InternalUtilities_toUInt8Array(content);\n const blob = new Blob([binaryData.buffer], { type: mimeType });\n const dataUrl = window.URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.style = \"display: none\";\n anchor.href = dataUrl;\n anchor.download = fileName;\n anchor.rel = \"noopener\";\n anchor.click();\n anchor.remove();\n window.setTimeout(() => {\n URL.revokeObjectURL(dataUrl);\n }, 40 * 1000);\n }\n}\n\nexport function ByteArrayExtensions_AsDataUrl_6C95DA22(content) {\n const binaryData = InternalUtilities_toUInt8Array(content);\n const blob = new Blob([binaryData.buffer], { type: \"application/octet-stream\" });\n return window.URL.createObjectURL(blob);\n}\n\nexport function ByteArrayExtensions_AsDataUrl_72B26259(content, mimeType) {\n const binaryData = InternalUtilities_toUInt8Array(content);\n const blob = new Blob([binaryData.buffer], { type: mimeType });\n return window.URL.createObjectURL(blob);\n}\n\n","import { map, flatten } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { Validation_parseFloat, Validation_nonNegativeFloat } from \"./Domain.fs.js\";\n\nexport const ParseNonNegative = (arg_1) => flatten(map(Validation_nonNegativeFloat, Validation_parseFloat(arg_1)));\n\n","import { Union, Record } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type, record_type, option_type, bool_type, int32_type, string_type } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { PartnerId$reflection, Partner$reflection, PartnerType as PartnerType_1, Compensation$reflection, PartnerType$reflection as PartnerType$reflection_1 } from \"../../shared/Domain.fs.js\";\nimport { PagingResult$1$reflection } from \"../../shared/Paging.fs.js\";\nimport { FSharpResult$2 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Choice.js\";\nimport { Deferred$1$reflection } from \"../../partnerportal/src/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { tryFind } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { equals } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { join } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { empty, singleton, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { cursorDefault } from \"../../Styles/Utils.fs.js\";\nimport { remove, add, contains } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Set.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\n\nexport class PartnerOption extends Record {\n constructor(Label, Id, IsCibPartner, PartnerType, CompensationAmount) {\n super();\n this.Label = Label;\n this.Id = (Id | 0);\n this.IsCibPartner = IsCibPartner;\n this.PartnerType = PartnerType;\n this.CompensationAmount = CompensationAmount;\n }\n}\n\nexport function PartnerOption$reflection() {\n return record_type(\"PartnerUtils.PartnerOption\", [], PartnerOption, () => [[\"Label\", string_type], [\"Id\", int32_type], [\"IsCibPartner\", bool_type], [\"PartnerType\", PartnerType$reflection_1()], [\"CompensationAmount\", option_type(Compensation$reflection())]]);\n}\n\nexport function PartnerOption_get_empty() {\n return new PartnerOption(\"Leeg\", -1, false, new PartnerType_1(0), void 0);\n}\n\nexport function PartnerOption_get_none() {\n return new PartnerOption(\"Geen\", 0, false, new PartnerType_1(0), void 0);\n}\n\nexport class PartnerType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partners\", \"PartnerId\"];\n }\n}\n\nexport function PartnerType$reflection() {\n return union_type(\"PartnerUtils.PartnerType\", [], PartnerType, () => [[[\"Item\", Deferred$1$reflection(union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Partner$reflection())]], [[\"ErrorValue\", string_type]]]))]], [[\"Item\", PartnerId$reflection()]]]);\n}\n\nexport function filterPartnerOptions(opts, searchTerm) {\n return opts.filter((a) => {\n const label = a.IsCibPartner ? (`CIB ${a.Label}`) : a.Label;\n if (label.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) >= 0) {\n return true;\n }\n else {\n return false;\n }\n });\n}\n\nexport function getPartnerType(partnerId, partnersList) {\n if (partnersList == null) {\n return \"\";\n }\n else {\n const partner = tryFind((p) => equals(p.Id, partnerId), partnersList);\n if (partner == null) {\n return \"\";\n }\n else {\n const partner_1 = partner;\n if (partner_1.PartnerType.tag === 1) {\n return \" (Syndicus) \";\n }\n else {\n return \" (Makelaar) \";\n }\n }\n }\n}\n\nexport function AdiCheckbox(adiCheckboxInputProps) {\n const disabled = adiCheckboxInputProps.disabled;\n const setAdis = adiCheckboxInputProps.setAdis;\n const values = adiCheckboxInputProps.values;\n const adiValue = adiCheckboxInputProps.adiValue;\n const label = adiCheckboxInputProps.label;\n const radi = MuiHelpers_createElement(Checkbox, [[\"className\", join(\" \", toList(delay(() => (disabled ? singleton(cursorDefault) : empty()))))], [\"checked\", (adiValue == null) ? false : (contains(adiValue, values))]]);\n return MuiHelpers_createElement(FormControlLabel, [[\"className\", join(\" \", toList(delay(() => (disabled ? singleton(cursorDefault) : empty()))))], [\"label\", label], [\"control\", radi], [\"onChange\", (e) => {\n const s = Browser_Types_Event__Event_get_Checked(e);\n if (!disabled) {\n if (adiValue == null) {\n }\n else {\n const r = adiValue;\n if (s) {\n setAdis(add(r, values));\n }\n else {\n setAdis(remove(r, values));\n }\n }\n }\n }]]);\n}\n\n","import { Union } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { useFormField } from \"../CustomHooks/ComposedForm.fs.js\";\nimport { NonEmptyString, InspectionLocation, SelectOptionData$1_Create_Z510A3DC0 } from \"../shared/Domain.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { TextField, TextFieldDisabled, OptionField } from \"./DesignSystem.fs.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { empty, append, singleton, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { InspectionLocation_type$0027 } from \"../shared/Format.fs.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { ofArray, empty as empty_1, filter, singleton as singleton_1, append as append_1, contains } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { safeHash, equals } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { MarginTop, Gap, PaddingLeft, PaddingTop, MarginBottom, TextSize, DossierInspectionLocation, error as error_1 } from \"../Styles/Utils.fs.js\";\nimport { Col, Row } from \"../Components/UtilComponents.fs.js\";\nimport { join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { useToggle } from \"../CustomHooks/CustomHooks.fs.js\";\nimport { AssignmentConfirmationInspectionLocation } from \"../Styles/ClientPageStyles.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport Collapse from \"@material-ui/core/Collapse\";\n\nexport class InspectionLocationType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Residential\", \"NonResidential\", \"Community\", \"Public\"];\n }\n}\n\nexport function InspectionLocationType$reflection() {\n return union_type(\"InspectionLocation.InspectionLocationType\", [], InspectionLocationType, () => [[], [], [], []]);\n}\n\nexport function ChooseInspectionLocationForm(chooseInspectionLocationFormInputProps) {\n let elements, elements_1;\n const residentialGaragebox = chooseInspectionLocationFormInputProps.residentialGaragebox;\n const residentialBerging = chooseInspectionLocationFormInputProps.residentialBerging;\n const publicOther = chooseInspectionLocationFormInputProps.publicOther;\n const inSocialUseOther = chooseInspectionLocationFormInputProps.inSocialUseOther;\n const nonResidentialOther = chooseInspectionLocationFormInputProps.nonResidentialOther;\n const residentialOther = chooseInspectionLocationFormInputProps.residentialOther;\n const inspectionLocationData = chooseInspectionLocationFormInputProps.inspectionLocationData;\n const inspectionLocationType = useFormField(new InspectionLocationType(0), SelectOptionData$1_Create_Z510A3DC0);\n const xs = [createElement(\"h2\", {\n children: [\"Inspectielocatie\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [OptionField(inspectionLocationType, new InspectionLocationType(0), \"Residentieel\", \"\", false), OptionField(inspectionLocationType, new InspectionLocationType(1), \"Niet-residentieel\", \"\", false), OptionField(inspectionLocationType, new InspectionLocationType(2), \"Maatschappelijk\", \"\", false), OptionField(inspectionLocationType, new InspectionLocationType(3), \"Openbaar\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]), MuiHelpers_createElement(Divider, []), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_1 = toList(delay(() => {\n const matchValue = inspectionLocationType.FieldValue;\n if (matchValue == null) {\n return singleton(null);\n }\n else {\n const matchValue_1 = matchValue;\n switch (matchValue_1.tag) {\n case 1: {\n return append(singleton(OptionField(inspectionLocationData, new InspectionLocation(4), InspectionLocation_type$0027(new InspectionLocation(4)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(5), InspectionLocation_type$0027(new InspectionLocation(5)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(6), InspectionLocation_type$0027(new InspectionLocation(6)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(7), InspectionLocation_type$0027(new InspectionLocation(7)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(8), InspectionLocation_type$0027(new InspectionLocation(8)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(9), InspectionLocation_type$0027(new InspectionLocation(9)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(10), InspectionLocation_type$0027(new InspectionLocation(10)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(11), InspectionLocation_type$0027(new InspectionLocation(11)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(12, new NonEmptyString(residentialOther.FieldValue)), \"Andere\", \"\", false)), delay(() => {\n let matchValue_4;\n return singleton(TextFieldDisabled(nonResidentialOther, \"\", \"\", true, (matchValue_4 = inspectionLocationData.FieldValue, (matchValue_4 != null) ? (!(matchValue_4.tag === 12)) : true)));\n }))))))))))))))))));\n }\n case 2: {\n return append(singleton(OptionField(inspectionLocationData, new InspectionLocation(29), InspectionLocation_type$0027(new InspectionLocation(29)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(24), InspectionLocation_type$0027(new InspectionLocation(24)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(25), InspectionLocation_type$0027(new InspectionLocation(25)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(26), InspectionLocation_type$0027(new InspectionLocation(26)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(27), InspectionLocation_type$0027(new InspectionLocation(27)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(28), InspectionLocation_type$0027(new InspectionLocation(28)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(30, new NonEmptyString(inSocialUseOther.FieldValue)), \"Andere\", \"\", false)), delay(() => {\n let matchValue_5;\n return singleton(TextFieldDisabled(inSocialUseOther, \"\", \"\", true, (matchValue_5 = inspectionLocationData.FieldValue, (matchValue_5 != null) ? (!(matchValue_5.tag === 30)) : true)));\n }))))))))))))));\n }\n case 3: {\n return append(singleton(OptionField(inspectionLocationData, new InspectionLocation(0), InspectionLocation_type$0027(new InspectionLocation(0)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(1), InspectionLocation_type$0027(new InspectionLocation(1)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(2), InspectionLocation_type$0027(new InspectionLocation(2)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(3, new NonEmptyString(publicOther.FieldValue)), \"Andere\", \"\", false)), delay(() => {\n let matchValue_6;\n return singleton(TextFieldDisabled(publicOther, \"\", \"\", true, (matchValue_6 = inspectionLocationData.FieldValue, (matchValue_6 != null) ? (!(matchValue_6.tag === 3)) : true)));\n }))))))));\n }\n default: {\n return append(singleton(OptionField(inspectionLocationData, new InspectionLocation(13), InspectionLocation_type$0027(new InspectionLocation(13)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(14), InspectionLocation_type$0027(new InspectionLocation(14)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(15), InspectionLocation_type$0027(new InspectionLocation(15)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(16), InspectionLocation_type$0027(new InspectionLocation(16)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(19), InspectionLocation_type$0027(new InspectionLocation(19)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(21), InspectionLocation_type$0027(new InspectionLocation(21)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(23, new NonEmptyString(residentialOther.FieldValue)), \"Andere\", \"\", false)), delay(() => {\n let matchValue_2;\n return append(singleton(TextFieldDisabled(residentialOther, \"\", \"\", true, (matchValue_2 = inspectionLocationData.FieldValue, (matchValue_2 != null) ? (!(matchValue_2.tag === 23)) : true))), delay(() => {\n const matchValue_3 = inspectionLocationData.FieldValue;\n let pattern_matching_result;\n if (matchValue_3 != null) {\n if (matchValue_3.tag === 14) {\n pattern_matching_result = 0;\n }\n else if (matchValue_3.tag === 15) {\n pattern_matching_result = 0;\n }\n else if (matchValue_3.tag === 16) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return append(singleton(TextField(residentialBerging, \"\", \"\", true)), delay(() => singleton(TextField(residentialGaragebox, \"\", \"\", true))));\n }\n case 1: {\n return empty();\n }\n }\n }));\n }))))))))))))));\n }\n }\n }\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])])];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\nexport function ChooseInspectionLocationFormCheckbox(chooseInspectionLocationFormCheckboxInputProps) {\n const residentialGaragebox = chooseInspectionLocationFormCheckboxInputProps.residentialGaragebox;\n const residentialBerging = chooseInspectionLocationFormCheckboxInputProps.residentialBerging;\n const hideGroupSelection = chooseInspectionLocationFormCheckboxInputProps.hideGroupSelection;\n const selectedLocationGroups = chooseInspectionLocationFormCheckboxInputProps.selectedLocationGroups;\n const publicOther = chooseInspectionLocationFormCheckboxInputProps.publicOther;\n const inSocialUseOther = chooseInspectionLocationFormCheckboxInputProps.inSocialUseOther;\n const nonResidentialOther = chooseInspectionLocationFormCheckboxInputProps.nonResidentialOther;\n const residentialOther = chooseInspectionLocationFormCheckboxInputProps.residentialOther;\n const inspectionLocationData = chooseInspectionLocationFormCheckboxInputProps.inspectionLocationData;\n const inspectionLocationType = useFormField(new InspectionLocationType(0), SelectOptionData$1_Create_Z510A3DC0);\n const patternInput = useFeliz_React__React_useState_Static_1505(selectedLocationGroups);\n const setSelectedLocationGroups = patternInput[1];\n const selectedLocationGroups_1 = patternInput[0];\n const CheckboxField = (formFieldHook, trueValue, label, error, required) => {\n const radi = MuiHelpers_createElement(Checkbox, [[\"checked\", contains(trueValue, selectedLocationGroups_1, {\n Equals: equals,\n GetHashCode: safeHash,\n })]]);\n return MuiHelpers_createElement(FormControlLabel, toList(delay(() => append(singleton([\"label\", label]), delay(() => append(singleton([\"control\", radi]), delay(() => append(singleton([\"onChange\", (e) => {\n if (Browser_Types_Event__Event_get_Checked(e)) {\n if (!contains(trueValue, selectedLocationGroups_1, {\n Equals: equals,\n GetHashCode: safeHash,\n })) {\n setSelectedLocationGroups(append_1(selectedLocationGroups_1, singleton_1(trueValue)));\n }\n }\n else {\n setSelectedLocationGroups(filter((s_1) => (!equals(s_1, trueValue)), selectedLocationGroups_1));\n }\n }]), delay(() => (formFieldHook.Error ? singleton([\"classes.label\", error_1]) : singleton([\"classes.label\", \"\"])))))))))));\n };\n const isGroupSelected = (group) => contains(group, selectedLocationGroups_1, {\n Equals: equals,\n GetHashCode: safeHash,\n });\n const xs_4 = [createElement(\"h2\", {\n children: [\"Inspectielocatie\"],\n }), createElement(Row, {\n classes: singleton_1(DossierInspectionLocation),\n children: ofArray([createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements;\n return hideGroupSelection ? singleton(createElement(\"div\", {\n className: join(\" \", [TextSize.M, MarginBottom.S]),\n children: Interop_reactApi.Children.toArray([\"Residentieel\"]),\n })) : singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [CheckboxField(inspectionLocationType, new InspectionLocationType(0), \"Residentieel\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]));\n })),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements_1;\n return hideGroupSelection ? singleton(createElement(\"div\", {\n className: join(\" \", [TextSize.M, MarginBottom.S]),\n children: Interop_reactApi.Children.toArray([\"Niet-residentieel\"]),\n })) : singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements_1 = [CheckboxField(inspectionLocationType, new InspectionLocationType(1), \"Niet-residentieel\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]));\n })),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements_2;\n return hideGroupSelection ? singleton(createElement(\"div\", {\n className: join(\" \", [TextSize.M, MarginBottom.S]),\n children: Interop_reactApi.Children.toArray([\"Maatschappelijk\"]),\n })) : singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements_2 = [CheckboxField(inspectionLocationType, new InspectionLocationType(2), \"Maatschappelijk\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])]));\n })),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements_3;\n return hideGroupSelection ? singleton(createElement(\"div\", {\n className: join(\" \", [TextSize.M, MarginBottom.S]),\n children: Interop_reactApi.Children.toArray([\"Openbaar\"]),\n })) : singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements_3 = [CheckboxField(inspectionLocationType, new InspectionLocationType(3), \"Openbaar\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])]));\n })),\n })]),\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: ofArray([DossierInspectionLocation, PaddingTop.S]),\n children: ofArray([createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements_4;\n return isGroupSelected(new InspectionLocationType(0)) ? singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = toList(delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(13), InspectionLocation_type$0027(new InspectionLocation(13)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(14), InspectionLocation_type$0027(new InspectionLocation(14)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(15), InspectionLocation_type$0027(new InspectionLocation(15)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(16), InspectionLocation_type$0027(new InspectionLocation(16)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(17), InspectionLocation_type$0027(new InspectionLocation(17)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(19), InspectionLocation_type$0027(new InspectionLocation(19)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(21), InspectionLocation_type$0027(new InspectionLocation(21)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(22), InspectionLocation_type$0027(new InspectionLocation(22)), \"\", false)), delay(() => {\n let matchValue, v;\n return append(singleton(OptionField(inspectionLocationData, (matchValue = inspectionLocationData.FieldValue, (matchValue != null) ? ((matchValue.tag === 23) ? ((v = matchValue.fields[0], new InspectionLocation(23, v))) : (new InspectionLocation(23, new NonEmptyString(\"\")))) : (new InspectionLocation(23, new NonEmptyString(\"\")))), \"Andere\", \"\", false)), delay(() => {\n let residentialOtherDisabled;\n const matchValue_1 = inspectionLocationData.FieldValue;\n let pattern_matching_result_2;\n if (matchValue_1 != null) {\n if (matchValue_1.tag === 23) {\n pattern_matching_result_2 = 0;\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n residentialOtherDisabled = false;\n break;\n }\n case 1: {\n residentialOtherDisabled = true;\n break;\n }\n }\n return append((!residentialOtherDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(residentialOther, \"\", \"\", true, residentialOtherDisabled)),\n })) : empty(), delay(() => {\n const matchValue_2 = inspectionLocationData.FieldValue;\n let pattern_matching_result_3;\n if (matchValue_2 != null) {\n if (matchValue_2.tag === 14) {\n pattern_matching_result_3 = 0;\n }\n else if (matchValue_2.tag === 15) {\n pattern_matching_result_3 = 0;\n }\n else if (matchValue_2.tag === 16) {\n pattern_matching_result_3 = 0;\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n switch (pattern_matching_result_3) {\n case 0: {\n return singleton(createElement(Col, {\n classes: ofArray([PaddingTop.M, Gap.M]),\n children: ofArray([TextField(residentialBerging, \"Berging\", \"\", false), TextField(residentialGaragebox, \"Garagebox\", \"\", false)]),\n }));\n }\n case 1: {\n return empty();\n }\n }\n }));\n }));\n })))))))))))))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])) : empty();\n })),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let elements_5;\n return isGroupSelected(new InspectionLocationType(1)) ? singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_5 = toList(delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(4), InspectionLocation_type$0027(new InspectionLocation(4)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(5), InspectionLocation_type$0027(new InspectionLocation(5)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(6), InspectionLocation_type$0027(new InspectionLocation(6)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(7), InspectionLocation_type$0027(new InspectionLocation(7)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(8), InspectionLocation_type$0027(new InspectionLocation(8)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(9), InspectionLocation_type$0027(new InspectionLocation(9)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(10), InspectionLocation_type$0027(new InspectionLocation(10)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(11), InspectionLocation_type$0027(new InspectionLocation(11)), \"\", false)), delay(() => {\n let matchValue_3, v_1;\n return append(singleton(OptionField(inspectionLocationData, (matchValue_3 = inspectionLocationData.FieldValue, (matchValue_3 != null) ? ((matchValue_3.tag === 12) ? ((v_1 = matchValue_3.fields[0], new InspectionLocation(12, v_1))) : (new InspectionLocation(12, new NonEmptyString(\"\")))) : (new InspectionLocation(12, new NonEmptyString(\"\")))), \"Andere\", \"\", false)), delay(() => {\n let nonResidentialOtherDisabled;\n const matchValue_4 = inspectionLocationData.FieldValue;\n let pattern_matching_result_4;\n if (matchValue_4 != null) {\n if (matchValue_4.tag === 12) {\n pattern_matching_result_4 = 0;\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n switch (pattern_matching_result_4) {\n case 0: {\n nonResidentialOtherDisabled = false;\n break;\n }\n case 1: {\n nonResidentialOtherDisabled = true;\n break;\n }\n }\n return (!nonResidentialOtherDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(nonResidentialOther, \"\", \"\", true, nonResidentialOtherDisabled)),\n })) : empty();\n }));\n })))))))))))))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])])) : empty();\n })),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => (isGroupSelected(new InspectionLocationType(2)) ? append(singleton(OptionField(inspectionLocationData, new InspectionLocation(29), InspectionLocation_type$0027(new InspectionLocation(29)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(24), InspectionLocation_type$0027(new InspectionLocation(24)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(25), InspectionLocation_type$0027(new InspectionLocation(25)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(26), InspectionLocation_type$0027(new InspectionLocation(26)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(27), InspectionLocation_type$0027(new InspectionLocation(27)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(28), InspectionLocation_type$0027(new InspectionLocation(28)), \"\", false)), delay(() => {\n let matchValue_5, v_2;\n return append(singleton(OptionField(inspectionLocationData, (matchValue_5 = inspectionLocationData.FieldValue, (matchValue_5 != null) ? ((matchValue_5.tag === 30) ? ((v_2 = matchValue_5.fields[0], new InspectionLocation(30, v_2))) : (new InspectionLocation(30, new NonEmptyString(\"\")))) : (new InspectionLocation(30, new NonEmptyString(\"\")))), \"Andere\", \"\", false)), delay(() => {\n let inSocialUseOtherDisabled;\n const matchValue_6 = inspectionLocationData.FieldValue;\n let pattern_matching_result_5;\n if (matchValue_6 != null) {\n if (matchValue_6.tag === 30) {\n pattern_matching_result_5 = 0;\n }\n else {\n pattern_matching_result_5 = 1;\n }\n }\n else {\n pattern_matching_result_5 = 1;\n }\n switch (pattern_matching_result_5) {\n case 0: {\n inSocialUseOtherDisabled = false;\n break;\n }\n case 1: {\n inSocialUseOtherDisabled = true;\n break;\n }\n }\n return (!inSocialUseOtherDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(inSocialUseOther, \"\", \"\", true, inSocialUseOtherDisabled)),\n })) : empty();\n }));\n })))))))))))) : empty()))),\n }), createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => (isGroupSelected(new InspectionLocationType(3)) ? append(singleton(OptionField(inspectionLocationData, new InspectionLocation(0), InspectionLocation_type$0027(new InspectionLocation(0)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(1), InspectionLocation_type$0027(new InspectionLocation(1)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(2), InspectionLocation_type$0027(new InspectionLocation(2)), \"\", false)), delay(() => {\n let matchValue_7, v_3;\n return append(singleton(OptionField(inspectionLocationData, (matchValue_7 = inspectionLocationData.FieldValue, (matchValue_7 != null) ? ((matchValue_7.tag === 3) ? ((v_3 = matchValue_7.fields[0], new InspectionLocation(3, v_3))) : (new InspectionLocation(3, new NonEmptyString(\"\")))) : (new InspectionLocation(3, new NonEmptyString(\"\")))), \"Andere\", \"\", false)), delay(() => {\n let publicOtherDisabled;\n const matchValue_8 = inspectionLocationData.FieldValue;\n let pattern_matching_result_6;\n if (matchValue_8 != null) {\n if (matchValue_8.tag === 3) {\n pattern_matching_result_6 = 0;\n }\n else {\n pattern_matching_result_6 = 1;\n }\n }\n else {\n pattern_matching_result_6 = 1;\n }\n switch (pattern_matching_result_6) {\n case 0: {\n publicOtherDisabled = false;\n break;\n }\n case 1: {\n publicOtherDisabled = true;\n break;\n }\n }\n return (!publicOtherDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(publicOther, \"\", \"\", true, publicOtherDisabled)),\n })) : empty();\n }));\n })))))) : empty()))),\n })]),\n })];\n return react.createElement(react.Fragment, {}, ...xs_4);\n}\n\nexport function ChooseInspectionLocationAppointmentConfirmationForm(chooseInspectionLocationAppointmentConfirmationFormInputProps) {\n let matchValue, x, elements, elements_1, props_4, props_5, elements_2;\n const otherField = chooseInspectionLocationAppointmentConfirmationFormInputProps.otherField;\n const inspectionLocationData = chooseInspectionLocationAppointmentConfirmationFormInputProps.inspectionLocationData;\n const panelState = useToggle((matchValue = inspectionLocationData.FieldValue, (matchValue == null) ? false : ((x = matchValue, (x.tag === 17) ? true : ((x.tag === 18) ? true : ((x.tag === 29) ? true : ((x.tag === 24) ? true : ((x.tag === 25) ? true : ((x.tag === 26) ? true : ((x.tag === 27) ? true : ((x.tag === 28) ? true : ((x.tag === 0) ? true : ((x.tag === 1) ? true : ((x.tag === 2) ? true : (x.tag === 23)))))))))))))));\n const inspectionLocationType = useFormField(new InspectionLocationType(0), SelectOptionData$1_Create_Z510A3DC0);\n const patternInput = useFeliz_React__React_useState_Static_1505(ofArray([new InspectionLocationType(0), new InspectionLocationType(1)]));\n const xs = [createElement(\"h2\", {\n children: [\"Inspectielocatie\"],\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: ofArray([AssignmentConfirmationInspectionLocation, PaddingTop.M]),\n children: ofArray([createElement(Col, {\n classes: empty_1(),\n children: singleton_1(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [OptionField(inspectionLocationData, new InspectionLocation(13), InspectionLocation_type$0027(new InspectionLocation(13)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(14), InspectionLocation_type$0027(new InspectionLocation(14)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(15), InspectionLocation_type$0027(new InspectionLocation(15)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(16), InspectionLocation_type$0027(new InspectionLocation(16)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(19), InspectionLocation_type$0027(new InspectionLocation(19)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(20), InspectionLocation_type$0027(new InspectionLocation(20)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(21), InspectionLocation_type$0027(new InspectionLocation(21)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(22), InspectionLocation_type$0027(new InspectionLocation(22)), \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])),\n }), createElement(Col, {\n classes: empty_1(),\n children: singleton_1(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_1 = [OptionField(inspectionLocationData, new InspectionLocation(4), InspectionLocation_type$0027(new InspectionLocation(4)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(5), InspectionLocation_type$0027(new InspectionLocation(5)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(6), InspectionLocation_type$0027(new InspectionLocation(6)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(7), InspectionLocation_type$0027(new InspectionLocation(7)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(8), InspectionLocation_type$0027(new InspectionLocation(8)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(9), InspectionLocation_type$0027(new InspectionLocation(9)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(10), InspectionLocation_type$0027(new InspectionLocation(10)), \"\", false), OptionField(inspectionLocationData, new InspectionLocation(11), InspectionLocation_type$0027(new InspectionLocation(11)), \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])])),\n })]),\n }), createElement(Row, {\n classes: ofArray([AssignmentConfirmationInspectionLocation, MarginBottom.L, MarginTop.L]),\n children: singleton_1(createElement(Col, {\n classes: empty_1(),\n children: ofArray([MuiHelpers_createElement(Button, [[\"onClick\", (_arg) => {\n panelState.Toggle();\n }], [\"className\", join(\" \", [])], [\"variant\", \"outlined\"], [\"color\", \"default\"], [\"startIcon\", panelState.State ? ((props_4 = {}, react.createElement(ExpandLess, props_4))) : ((props_5 = {}, react.createElement(ExpandMore, props_5)))], [\"children\", \"Meer inspectie locaties\"]]), MuiHelpers_createElement(Collapse, [[\"in\", panelState.State], [\"collapsedHeight\", 0], (elements_2 = [createElement(Col, {\n classes: singleton_1(MarginTop.L),\n children: toList(delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(17), InspectionLocation_type$0027(new InspectionLocation(17)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(29), InspectionLocation_type$0027(new InspectionLocation(29)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(24), InspectionLocation_type$0027(new InspectionLocation(24)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(25), InspectionLocation_type$0027(new InspectionLocation(25)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(26), InspectionLocation_type$0027(new InspectionLocation(26)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(27), InspectionLocation_type$0027(new InspectionLocation(27)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(28), InspectionLocation_type$0027(new InspectionLocation(28)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(0), InspectionLocation_type$0027(new InspectionLocation(0)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(1), InspectionLocation_type$0027(new InspectionLocation(1)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(2), InspectionLocation_type$0027(new InspectionLocation(2)), \"\", false)), delay(() => append(singleton(OptionField(inspectionLocationData, new InspectionLocation(23, new NonEmptyString(otherField.FieldValue)), \"Andere\", \"\", false)), delay(() => {\n let residentialOtherDisabled;\n const matchValue_1 = inspectionLocationData.FieldValue;\n let pattern_matching_result;\n if (matchValue_1 != null) {\n if (matchValue_1.tag === 23) {\n pattern_matching_result = 0;\n }\n else if (matchValue_1.tag === 30) {\n pattern_matching_result = 0;\n }\n else if (matchValue_1.tag === 12) {\n pattern_matching_result = 0;\n }\n else if (matchValue_1.tag === 3) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n residentialOtherDisabled = false;\n break;\n }\n case 1: {\n residentialOtherDisabled = true;\n break;\n }\n }\n return (!residentialOtherDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(otherField, \"\", \"\", true, residentialOtherDisabled)),\n })) : empty();\n })))))))))))))))))))))))),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])]),\n })),\n })];\n return react.createElement(react.Fragment, {}, ...xs);\n}\n\n","import { iterate, toArray, empty as empty_1, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { NumberFieldFloat, DiscountOption__get_Label, FileField, TextField, TextFieldDisabled, OptionField, DiscountOption, CheckBox, CheckIcon, DisplayData, Info, InfoTitle } from \"../DesignSystem.fs.js\";\nimport { Col, Row } from \"../../Components/UtilComponents.fs.js\";\nimport { alignEnd, Padding, modal, MarginLeft, Boldness, MarginTop, MarginRight, error, PaddingLeft, MarginBottom, flexExpand, Gap } from \"../../Styles/Utils.fs.js\";\nimport { length, item, map as map_1, toArray as toArray_1, ofArray, empty, singleton as singleton_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { CustomerCompanyData, CustomerData2, CustomerPersonData, DossierCustomerSelection, DossierCustomer, CreateDossierDataContact, InvoicePricing, CreateDossierData2, Customer2__get_Code, Customer2__get_CustomerOrCompanyName, PhoneNumber_get_Create, CommentSource as CommentSource_1, CreateDossierData, TypeOfDiscount, PartnerId as PartnerId_1, DossierStatus, DossierOwner__get_Address, InspectionLocationExtra, CommentType, TypeOfDossierData___UnsafeCreate_Z1D754B91, NonEmptyString, DossierOwner as DossierOwner_4, Compensation as Compensation_3, Decimal___UnsafeCreate_32C73145, OwnerStatus as OwnerStatus_2, Decimal_get_Create, Compensation_get_DefaultCompensation, DossierClient, AsbestInventoryData_Create_7B10C0C6, TypeOfDossierData_Create_Z6219B46, TypeOfDossier as TypeOfDossier_1, AsbestInventory, EmptyString_get_Create, NonEmptyString_get_Create, SelectOptionData$1_Create_Z510A3DC0, InvoicePricingModule_string, AssignmentDocumentModule_string, HomeVisitContactModule_string, CustomerData2__get_Address, CustomerData2__get_PhoneNumber, CustomerData2__get_Email, Customer2__get_Address, Customer2__get_PhoneNumber, PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_Email, Email___UnsafeUnwrap_Z27D11339, NonEmptyString___UnsafeUnwrap_Z73AD07C } from \"../../shared/Domain.fs.js\";\nimport { toArray as toArray_2, some, map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { InspectionLocation_extra, Compensation_compensation, InspectionLocation_type$0027, Address_address } from \"../../shared/Format.fs.js\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport List from \"@material-ui/core/List\";\nimport { useForm, useFormValidator, useFormField } from \"../../CustomHooks/ComposedForm.fs.js\";\nimport { ofSeq } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Set.js\";\nimport { createObj, equals, compare } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { Compensation_fromDomain, AsbestInventoryProfile_get_defaultInventory, AsbestInventoryProfile } from \"../../shared/DomainHelpers.fs.js\";\nimport { useUsername, useToggle } from \"../../CustomHooks/CustomHooks.fs.js\";\nimport { ParseNonNegative } from \"../../shared/Validators.fs.js\";\nimport { CreateAddressFormWithReset, useAddressForm } from \"../AddressHook.fs.js\";\nimport { useReact_useElementRef, useReact_useButtonRef, useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { ChooseAssignmentDocumentContact, ChooseCertificateContact, ChooseInvoicing, ChooseContact, FindCustomer, CustomerOption, Invoiced, useCreateCustomerCompanyForm, useCreateCustomerPersonForm, CustomerOption_get_none, ChooseOwner, useCreateDossierOwnerPersonForm, useCreateDossierOwnerCompanyForm } from \"../Contacts.fs.js\";\nimport { getPartnerType, filterPartnerOptions, PartnerOption, PartnerOption_get_empty, PartnerOption_get_none } from \"../partner/PartnerUtils.fs.js\";\nimport { fromParts, compare as compare_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { isNullOrWhiteSpace, join, printf, toConsole, isNullOrEmpty } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { Step as Step_1, stepString, steps, CompensationOptions, DossierCreatePageSource, AsbestInventoryDataOptions } from \"../DossierUtils.fs.js\";\nimport { InspectionLocationType, ChooseInspectionLocationFormCheckbox } from \"../InspectionLocation.fs.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport TextField_1 from \"@material-ui/core/TextField\";\nimport Chip from \"@material-ui/core/Chip\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { SafeNotNullCheck } from \"../Utils.fs.js\";\nimport { CommentEditor, CommentTypeTabs } from \"../CommentEditor.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { RouterModule_nav } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { CommentData } from \"../../shared/Api.fs.js\";\nimport { mapIndexed } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { CreateCustomerForm } from \"../CustomerForms.fs.js\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\n\nexport function Review(reviewInputProps) {\n const isPartnerSelected = reviewInputProps.isPartnerSelected;\n const partnerName = reviewInputProps.partnerName;\n const dossierDataContact = reviewInputProps.dossierDataContact;\n const dossierData = reviewInputProps.dossierData;\n const children = toList(delay(() => append(singleton(createElement(InfoTitle, {\n text: \"Factuur\",\n })), delay(() => append(singleton(createElement(Info, {\n secondary: \"Verantwoordelijkheid\",\n primary: \"Klant wordt direct gefactureerd\",\n })), delay(() => singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Klant\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_4, person_2, company_2, matchValue_3, person_1, company_1, matchValue_1, person, company;\n const matchValue = dossierDataContact.InvoicingParty;\n switch (matchValue.tag) {\n case 1: {\n const matchValue_2 = matchValue.fields[0];\n if (matchValue_2.tag === 0) {\n const customer_3 = matchValue_2.fields[0];\n return append((matchValue_4 = customer_3, (matchValue_4.tag === 0) ? ((person_2 = matchValue_4.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_2.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_2.LastName)]))))) : ((company_2 = matchValue_4.fields[0], append(singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company_2.CompanyName)]), delay(() => singleton([\"Bedrijfstype\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company_2.CompanyType), \"-\")])))))), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer_3))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer_3)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(Customer2__get_Address(customer_3))])))))));\n }\n else {\n const customer_2 = matchValue_2.fields[0];\n return append((matchValue_3 = customer_2, (matchValue_3.tag === 0) ? ((person_1 = matchValue_3.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_1.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_1.LastName)]))))) : ((company_1 = matchValue_3.fields[0], append(singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company_1.CompanyName)]), delay(() => singleton([\"Bedrijfstype\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company_1.CompanyType), \"-\")])))))), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(CustomerData2__get_Email(customer_2))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, CustomerData2__get_PhoneNumber(customer_2)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(CustomerData2__get_Address(customer_2))])))))));\n }\n }\n case 2: {\n return empty_1();\n }\n default: {\n const customer = matchValue.fields[0];\n return append((matchValue_1 = customer, (matchValue_1.tag === 0) ? ((person = matchValue_1.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.LastName)]))))) : ((company = matchValue_1.fields[0], append(singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company.CompanyName)]), delay(() => singleton([\"Bedrijfstype\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.CompanyType), \"-\")])))))), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(Customer2__get_Address(customer))])))))));\n }\n }\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_1 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Eigenaar\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n const matchValue_5 = dossierData.DossierOwner;\n if (matchValue_5.tag === 0) {\n const person_3 = matchValue_5.fields[0];\n return append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_3.FirstName)]), delay(() => append(singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_3.LastName)]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(person_3.Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, person_3.PhoneNumber), \"-\")]), delay(() => singleton([\"Adres\", Address_address(person_3.Address)])))))))));\n }\n else {\n const company_3 = matchValue_5.fields[0];\n return append(singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company_3.CompanyName)]), delay(() => append(singleton([\"Bedrijfstype\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company_3.CompanyType), \"-\")]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(company_3.Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, company_3.PhoneNumber), \"-\")]), delay(() => singleton([\"Adres\", Address_address(company_3.Address)])))))))));\n }\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_2 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(dossierData.InspectionLocation.Value)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.City)]]),\n })),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_6;\n return append((matchValue_6 = dossierData.InspectionLocation.Value, (matchValue_6.tag === 14) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((matchValue_6.tag === 16) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((matchValue_6.tag === 15) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((empty_1()))))), delay(() => {\n let matchValue_7;\n return append(singleton([\"Gebouwdeel/Vleugel/Blok\", (matchValue_7 = dossierData.BuildingDetail, (matchValue_7 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_7))]), delay(() => {\n let matchValue_8;\n return append(singleton([\"Wooneenheden\", (matchValue_8 = dossierData.HousingUnit, (matchValue_8 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_8))]), delay(() => {\n let matchValue_9;\n return append(singleton([\"Jaar van constructie\", (matchValue_9 = dossierData.YearsOfConstruction, (matchValue_9 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_9))]), delay(() => {\n let matchValue_10;\n return append(singleton([\"Jaar van renovatie\", (matchValue_10 = dossierData.YearsOfRenovation, (matchValue_10 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_10))]), delay(() => {\n let matchValue_11;\n return append(singleton([\"Aantal ingangen in het gebouw\", (matchValue_11 = dossierData.NumberOfEntrances, (matchValue_11 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_11))]), delay(() => {\n let matchValue_12;\n return append(singleton([\"Leidingisolatie (lopende meter)\", (matchValue_12 = dossierData.PipeIsolationMeters, (matchValue_12 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_12))]), delay(() => {\n let matchValue_13;\n return append(singleton([\"Gangen per verdiep\", (matchValue_13 = dossierData.HallwaysPerLevel, (matchValue_13 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13))]), delay(() => singleton([\"Stooklokaal\", createElement(CheckIcon, {\n props: [],\n value: dossierData.BoilerRoom,\n })])));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })),\n })),\n })]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])])), delay(() => {\n let elems_3;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_3 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Communicatie en facturatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: ofArray([createElement(DisplayData, {\n data: ofArray([[\"Contact afspraak\", HomeVisitContactModule_string(dossierDataContact.HomeVisitContact)], [\"Wie tekent het opdrachtforumlier?\", AssignmentDocumentModule_string(dossierDataContact.AssignmentDocumentContact)]]),\n }), MuiHelpers_createElement(Divider, []), createElement(InfoTitle, {\n text: \"We versturen het asbestattest naar\",\n }), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([partnerName, CheckBox(dossierDataContact.CertificateEmailPartner)]), delay(() => append(singleton([\"Klant\", CheckBox(dossierDataContact.CertificateEmailClient)]), delay(() => {\n const matchValue_14 = dossierDataContact.CertificateCustomEmails;\n if (matchValue_14 != null) {\n return singleton([\"Extra Emails\", matchValue_14.Value]);\n }\n else {\n return empty_1();\n }\n })))))),\n }), createElement(DisplayData, {\n data: singleton_1([\"Tarieven van prijzen\", InvoicePricingModule_string(dossierDataContact.InvoicePricing)]),\n })]),\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_3))])])), delay(() => {\n let elems_4;\n if (isPartnerSelected) {\n const matchValue_15 = dossierData.CompensationAmount;\n if (matchValue_15 == null) {\n return singleton(null);\n }\n else {\n const p = matchValue_15;\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_4 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Partner\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: singleton_1([\"Vergoedingen\", defaultArg(map(Compensation_compensation, dossierData.CompensationAmount), \"-\")]),\n })),\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])]));\n }\n }\n else {\n return singleton(null);\n }\n }));\n }));\n }));\n }));\n })),\n }))))))));\n return MuiHelpers_createElement(List, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function CreateDossierForm(createDossierFormInputProps) {\n let f1, f1_1, f1_2, f1_3, f1_4, f1_5, f1_6, f1_7, f1_8;\n const compensation = createDossierFormInputProps.compensation;\n const dossierCreatePageSource = createDossierFormInputProps.dossierCreatePageSource;\n const buttonRef = createDossierFormInputProps.buttonRef;\n const isCibDossier = createDossierFormInputProps.isCibDossier;\n const onCreateDossier = createDossierFormInputProps.onCreateDossier;\n const partners = createDossierFormInputProps.partners;\n const backUrl = createDossierFormInputProps.backUrl;\n const customerUrl = createDossierFormInputProps.customerUrl;\n const isPartner = (dossierCreatePageSource.tag === 2) ? true : (!(dossierCreatePageSource.tag === 0));\n const ownerStatusData = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const ownerStatusOther = useFormField(\"\", NonEmptyString_get_Create());\n const buildingDetail = useFormField(\"\", EmptyString_get_Create());\n const dossierTypeData = useFormField(isPartner ? (new TypeOfDossier_1(0, new AsbestInventory(0))) : (void 0), TypeOfDossierData_Create_Z6219B46);\n const asbestInventoryData = useFormField(isPartner ? (new AsbestInventory(0)) : (void 0), AsbestInventoryData_Create_7B10C0C6);\n const profile = isPartner ? (new AsbestInventoryProfile(ofSeq([new AsbestInventory(0)], {\n Compare: compare,\n }))) : (new AsbestInventoryProfile(ofSeq(AsbestInventoryProfile_get_defaultInventory(), {\n Compare: compare,\n })));\n const inspectionLocationData = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const residentialOther = useFormField(\"\", NonEmptyString_get_Create());\n const nonResidentialOther = useFormField(\"\", NonEmptyString_get_Create());\n const inSocialUseOther = useFormField(\"\", NonEmptyString_get_Create());\n const publicOther = useFormField(\"\", NonEmptyString_get_Create());\n const residentialBerging = useFormField(\"0\", NonEmptyString_get_Create());\n const residentialGaragebox = useFormField(\"0\", NonEmptyString_get_Create());\n const sharedAreaOption1 = useFormField(\"\", (f1 = NonEmptyString_get_Create(), (arg_5) => some(f1(arg_5))));\n const sharedAreaOption2 = useFormField(\"\", (f1_1 = NonEmptyString_get_Create(), (arg_7) => some(f1_1(arg_7))));\n const sharedAreaOption3 = useFormField(\"\", (f1_2 = NonEmptyString_get_Create(), (arg_9) => some(f1_2(arg_9))));\n const sharedAreaOption4 = useFormField(\"\", (f1_3 = NonEmptyString_get_Create(), (arg_11) => some(f1_3(arg_11))));\n const dossierClientData = useFormField(new DossierClient(0), SelectOptionData$1_Create_Z510A3DC0);\n const isUserOwnerOfArea = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const yearOfConstruction = useFormField(\"\", (f1_4 = NonEmptyString_get_Create(), (arg_15) => some(f1_4(arg_15))));\n const yearOfRenovation = useFormField(\"\", (f1_5 = NonEmptyString_get_Create(), (arg_17) => some(f1_5(arg_17))));\n const numberOfEntrances = useFormField(\"\", (f1_6 = NonEmptyString_get_Create(), (arg_19) => some(f1_6(arg_19))));\n const boilerRoom = useToggle(false);\n const pipleIsolationMeters = useFormField(\"\", (f1_7 = NonEmptyString_get_Create(), (arg_21) => some(f1_7(arg_21))));\n const hallwaysPerLevel = useFormField(\"\", (f1_8 = NonEmptyString_get_Create(), (arg_23) => some(f1_8(arg_23))));\n const discount = useFormField(\"0\", ParseNonNegative);\n const addressCase = useAddressForm(\"\", \"\", \"\", \"\", \"\");\n const sendMailToPartner = useToggle(true);\n const manualInvoice = useToggle(true);\n const yearOfConstructionRequiredError = useFeliz_React__React_useState_Static_1505(false)[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(false);\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(isCibDossier);\n const ownerOption = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const ownerCompany = useCreateDossierOwnerCompanyForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", false, false, \"\", \"\");\n const ownerPerson = useCreateDossierOwnerPersonForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\");\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(void 0);\n const inspectionLocationBerging = useToggle(false);\n const inspectionLocationStaanplaats = useToggle(false);\n const inspectionLocationGaragebox = useToggle(false);\n const compensationData = useFormField(compensation, SelectOptionData$1_Create_Z510A3DC0);\n let compensationCustomAmt;\n const matchValue = compensationData.FieldValue;\n if (matchValue == null) {\n compensationCustomAmt = Compensation_fromDomain(Compensation_get_DefaultCompensation());\n }\n else {\n const c = matchValue;\n compensationCustomAmt = ((c.tag === 11) ? c.fields[0].Value : Compensation_fromDomain(Compensation_get_DefaultCompensation()));\n }\n const compensationCustom = useFormField(compensationCustomAmt, Decimal_get_Create());\n const compensationCustom_1 = useFormField(compensationCustomAmt, Decimal_get_Create());\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(false);\n const isSameAddress = patternInput_4[0];\n const patternInput_5 = useFeliz_React__React_useState_Static_1505(false);\n const setDisable = patternInput_5[1];\n const disable = patternInput_5[0];\n const patternInput_6 = useFeliz_React__React_useState_Static_1505((partners == null) ? PartnerOption_get_none() : PartnerOption_get_empty());\n const partnerOption = patternInput_6[0];\n const patternInput_7 = useFeliz_React__React_useState_Static_1505(false);\n const setSelectPartnerError = patternInput_7[1];\n const selectPartnerError = patternInput_7[0];\n useReact_useEffect_Z101E1A95(() => {\n const matchValue_1 = ownerOption.FieldValue;\n if (matchValue_1 != null) {\n if (matchValue_1.tag === 1) {\n if (ownerCompany.Social.State) {\n ownerStatusData.SetFieldValue(new OwnerStatus_2(1));\n }\n else {\n ownerStatusData.SetFieldValue(new OwnerStatus_2(6));\n }\n }\n else {\n ownerStatusData.SetFieldValue(new OwnerStatus_2(0));\n }\n }\n }, [ownerOption.FieldValue, ownerCompany.Social.State]);\n useReact_useEffect_Z101E1A95(() => {\n if (equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none())) {\n }\n else {\n let compensationAmt;\n const matchValue_2 = partnerOption.CompensationAmount;\n compensationAmt = ((matchValue_2 == null) ? Compensation_get_DefaultCompensation() : matchValue_2);\n let compensationCustomAmt_1;\n const matchValue_3 = partnerOption.CompensationAmount;\n if (matchValue_3 == null) {\n compensationCustomAmt_1 = Compensation_fromDomain(Compensation_get_DefaultCompensation());\n }\n else {\n const c_2 = matchValue_3;\n compensationCustomAmt_1 = ((c_2.tag === 11) ? c_2.fields[0].Value : Compensation_fromDomain(Compensation_get_DefaultCompensation()));\n }\n compensationData.SetFieldValue(compensationAmt);\n compensationCustom_1.SetFieldValue(compensationCustomAmt_1);\n }\n }, [partnerOption]);\n const validateOther = (r, otherFormField) => {\n const matchValue_4 = useFormValidator(otherFormField.Validator, (unitVar_2, y_2) => ({\n Other: y_2,\n }), useForm()).Validate();\n if (matchValue_4 == null) {\n return void 0;\n }\n else {\n return matchValue_4.Other;\n }\n };\n const form = useFormValidator(compensationData.Validator, (r_19, x_21) => {\n if (x_21.Value.tag === 11) {\n if (compare_1(compensationCustom_1.FieldValue, fromParts(0, 0, 0, false, 0)) > 0) {\n return {\n Address: r_19.Address,\n BuildingDetail: r_19.BuildingDetail,\n Compensation: new Compensation_3(11, Decimal___UnsafeCreate_32C73145(compensationCustom_1.FieldValue)),\n Discount: r_19.Discount,\n DossierClient: r_19.DossierClient,\n DossierOwner: r_19.DossierOwner,\n DossierType: r_19.DossierType,\n HallwaysPerLevel: r_19.HallwaysPerLevel,\n InspectionLocation: r_19.InspectionLocation,\n InspectionLocationBerging: r_19.InspectionLocationBerging,\n InspectionLocationGaragebox: r_19.InspectionLocationGaragebox,\n InspectionLocationOther: r_19.InspectionLocationOther,\n InspectionLocationStaanplaats: r_19.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_19.IsUserOwnerOfArea,\n NumberOfEntrances: r_19.NumberOfEntrances,\n OwnerStatus: r_19.OwnerStatus,\n OwnerStatusOther: r_19.OwnerStatusOther,\n PipeIsolationMeters: r_19.PipeIsolationMeters,\n ResidentialBerging: r_19.ResidentialBerging,\n ResidentialGarageBox: r_19.ResidentialGarageBox,\n SharedAreaOption1: r_19.SharedAreaOption1,\n SharedAreaOption2: r_19.SharedAreaOption2,\n SharedAreaOption3: r_19.SharedAreaOption3,\n SharedAreaOption4: r_19.SharedAreaOption4,\n YearOfRenovation: r_19.YearOfRenovation,\n YearsOfConstruction: r_19.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_19.Address,\n BuildingDetail: r_19.BuildingDetail,\n Compensation: void 0,\n Discount: r_19.Discount,\n DossierClient: r_19.DossierClient,\n DossierOwner: r_19.DossierOwner,\n DossierType: r_19.DossierType,\n HallwaysPerLevel: r_19.HallwaysPerLevel,\n InspectionLocation: r_19.InspectionLocation,\n InspectionLocationBerging: r_19.InspectionLocationBerging,\n InspectionLocationGaragebox: r_19.InspectionLocationGaragebox,\n InspectionLocationOther: r_19.InspectionLocationOther,\n InspectionLocationStaanplaats: r_19.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_19.IsUserOwnerOfArea,\n NumberOfEntrances: r_19.NumberOfEntrances,\n OwnerStatus: r_19.OwnerStatus,\n OwnerStatusOther: r_19.OwnerStatusOther,\n PipeIsolationMeters: r_19.PipeIsolationMeters,\n ResidentialBerging: r_19.ResidentialBerging,\n ResidentialGarageBox: r_19.ResidentialGarageBox,\n SharedAreaOption1: r_19.SharedAreaOption1,\n SharedAreaOption2: r_19.SharedAreaOption2,\n SharedAreaOption3: r_19.SharedAreaOption3,\n SharedAreaOption4: r_19.SharedAreaOption4,\n YearOfRenovation: r_19.YearOfRenovation,\n YearsOfConstruction: r_19.YearsOfConstruction,\n };\n }\n }\n else {\n return {\n Address: r_19.Address,\n BuildingDetail: r_19.BuildingDetail,\n Compensation: x_21.Value,\n Discount: r_19.Discount,\n DossierClient: r_19.DossierClient,\n DossierOwner: r_19.DossierOwner,\n DossierType: r_19.DossierType,\n HallwaysPerLevel: r_19.HallwaysPerLevel,\n InspectionLocation: r_19.InspectionLocation,\n InspectionLocationBerging: r_19.InspectionLocationBerging,\n InspectionLocationGaragebox: r_19.InspectionLocationGaragebox,\n InspectionLocationOther: r_19.InspectionLocationOther,\n InspectionLocationStaanplaats: r_19.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_19.IsUserOwnerOfArea,\n NumberOfEntrances: r_19.NumberOfEntrances,\n OwnerStatus: r_19.OwnerStatus,\n OwnerStatusOther: r_19.OwnerStatusOther,\n PipeIsolationMeters: r_19.PipeIsolationMeters,\n ResidentialBerging: r_19.ResidentialBerging,\n ResidentialGarageBox: r_19.ResidentialGarageBox,\n SharedAreaOption1: r_19.SharedAreaOption1,\n SharedAreaOption2: r_19.SharedAreaOption2,\n SharedAreaOption3: r_19.SharedAreaOption3,\n SharedAreaOption4: r_19.SharedAreaOption4,\n YearOfRenovation: r_19.YearOfRenovation,\n YearsOfConstruction: r_19.YearsOfConstruction,\n };\n }\n }, useFormValidator(ownerStatusData.Validator, (r_18, x_20) => {\n if (x_20.Value.tag === 8) {\n const matchValue_12 = useFormValidator(ownerStatusOther.Validator, (unitVar_8, y_6) => ({\n OwnerStatusOther: y_6,\n }), useForm()).Validate();\n if (matchValue_12 == null) {\n return {\n Address: r_18.Address,\n BuildingDetail: r_18.BuildingDetail,\n Discount: r_18.Discount,\n DossierClient: r_18.DossierClient,\n DossierOwner: r_18.DossierOwner,\n DossierType: r_18.DossierType,\n HallwaysPerLevel: r_18.HallwaysPerLevel,\n InspectionLocation: r_18.InspectionLocation,\n InspectionLocationBerging: r_18.InspectionLocationBerging,\n InspectionLocationGaragebox: r_18.InspectionLocationGaragebox,\n InspectionLocationOther: r_18.InspectionLocationOther,\n InspectionLocationStaanplaats: r_18.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_18.IsUserOwnerOfArea,\n NumberOfEntrances: r_18.NumberOfEntrances,\n OwnerStatus: x_20,\n OwnerStatusOther: void 0,\n PipeIsolationMeters: r_18.PipeIsolationMeters,\n ResidentialBerging: r_18.ResidentialBerging,\n ResidentialGarageBox: r_18.ResidentialGarageBox,\n SharedAreaOption1: r_18.SharedAreaOption1,\n SharedAreaOption2: r_18.SharedAreaOption2,\n SharedAreaOption3: r_18.SharedAreaOption3,\n SharedAreaOption4: r_18.SharedAreaOption4,\n YearOfRenovation: r_18.YearOfRenovation,\n YearsOfConstruction: r_18.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_18.Address,\n BuildingDetail: r_18.BuildingDetail,\n Discount: r_18.Discount,\n DossierClient: r_18.DossierClient,\n DossierOwner: r_18.DossierOwner,\n DossierType: r_18.DossierType,\n HallwaysPerLevel: r_18.HallwaysPerLevel,\n InspectionLocation: r_18.InspectionLocation,\n InspectionLocationBerging: r_18.InspectionLocationBerging,\n InspectionLocationGaragebox: r_18.InspectionLocationGaragebox,\n InspectionLocationOther: r_18.InspectionLocationOther,\n InspectionLocationStaanplaats: r_18.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_18.IsUserOwnerOfArea,\n NumberOfEntrances: r_18.NumberOfEntrances,\n OwnerStatus: x_20,\n OwnerStatusOther: matchValue_12.OwnerStatusOther,\n PipeIsolationMeters: r_18.PipeIsolationMeters,\n ResidentialBerging: r_18.ResidentialBerging,\n ResidentialGarageBox: r_18.ResidentialGarageBox,\n SharedAreaOption1: r_18.SharedAreaOption1,\n SharedAreaOption2: r_18.SharedAreaOption2,\n SharedAreaOption3: r_18.SharedAreaOption3,\n SharedAreaOption4: r_18.SharedAreaOption4,\n YearOfRenovation: r_18.YearOfRenovation,\n YearsOfConstruction: r_18.YearsOfConstruction,\n };\n }\n }\n else {\n return {\n Address: r_18.Address,\n BuildingDetail: r_18.BuildingDetail,\n Discount: r_18.Discount,\n DossierClient: r_18.DossierClient,\n DossierOwner: r_18.DossierOwner,\n DossierType: r_18.DossierType,\n HallwaysPerLevel: r_18.HallwaysPerLevel,\n InspectionLocation: r_18.InspectionLocation,\n InspectionLocationBerging: r_18.InspectionLocationBerging,\n InspectionLocationGaragebox: r_18.InspectionLocationGaragebox,\n InspectionLocationOther: r_18.InspectionLocationOther,\n InspectionLocationStaanplaats: r_18.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_18.IsUserOwnerOfArea,\n NumberOfEntrances: r_18.NumberOfEntrances,\n OwnerStatus: x_20,\n OwnerStatusOther: void 0,\n PipeIsolationMeters: r_18.PipeIsolationMeters,\n ResidentialBerging: r_18.ResidentialBerging,\n ResidentialGarageBox: r_18.ResidentialGarageBox,\n SharedAreaOption1: r_18.SharedAreaOption1,\n SharedAreaOption2: r_18.SharedAreaOption2,\n SharedAreaOption3: r_18.SharedAreaOption3,\n SharedAreaOption4: r_18.SharedAreaOption4,\n YearOfRenovation: r_18.YearOfRenovation,\n YearsOfConstruction: r_18.YearsOfConstruction,\n };\n }\n }, useFormValidator(ownerOption.Validator, (r_17, x_19) => {\n if (x_19.Value.tag === 0) {\n const matchValue_10 = useFormValidator(ownerPerson.Validator, (unitVar_7, y_5) => ({\n DossierOwner: new DossierOwner_4(0, y_5),\n }), useForm()).Validate();\n if (matchValue_10 == null) {\n return {\n Address: r_17.Address,\n BuildingDetail: r_17.BuildingDetail,\n Discount: r_17.Discount,\n DossierClient: r_17.DossierClient,\n DossierOwner: void 0,\n DossierType: r_17.DossierType,\n HallwaysPerLevel: r_17.HallwaysPerLevel,\n InspectionLocation: r_17.InspectionLocation,\n InspectionLocationBerging: r_17.InspectionLocationBerging,\n InspectionLocationGaragebox: r_17.InspectionLocationGaragebox,\n InspectionLocationOther: r_17.InspectionLocationOther,\n InspectionLocationStaanplaats: r_17.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_17.IsUserOwnerOfArea,\n NumberOfEntrances: r_17.NumberOfEntrances,\n OwnerStatus: r_17.OwnerStatus,\n PipeIsolationMeters: r_17.PipeIsolationMeters,\n ResidentialBerging: r_17.ResidentialBerging,\n ResidentialGarageBox: r_17.ResidentialGarageBox,\n SharedAreaOption1: r_17.SharedAreaOption1,\n SharedAreaOption2: r_17.SharedAreaOption2,\n SharedAreaOption3: r_17.SharedAreaOption3,\n SharedAreaOption4: r_17.SharedAreaOption4,\n YearOfRenovation: r_17.YearOfRenovation,\n YearsOfConstruction: r_17.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_17.Address,\n BuildingDetail: r_17.BuildingDetail,\n Discount: r_17.Discount,\n DossierClient: r_17.DossierClient,\n DossierOwner: matchValue_10.DossierOwner,\n DossierType: r_17.DossierType,\n HallwaysPerLevel: r_17.HallwaysPerLevel,\n InspectionLocation: r_17.InspectionLocation,\n InspectionLocationBerging: r_17.InspectionLocationBerging,\n InspectionLocationGaragebox: r_17.InspectionLocationGaragebox,\n InspectionLocationOther: r_17.InspectionLocationOther,\n InspectionLocationStaanplaats: r_17.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_17.IsUserOwnerOfArea,\n NumberOfEntrances: r_17.NumberOfEntrances,\n OwnerStatus: r_17.OwnerStatus,\n PipeIsolationMeters: r_17.PipeIsolationMeters,\n ResidentialBerging: r_17.ResidentialBerging,\n ResidentialGarageBox: r_17.ResidentialGarageBox,\n SharedAreaOption1: r_17.SharedAreaOption1,\n SharedAreaOption2: r_17.SharedAreaOption2,\n SharedAreaOption3: r_17.SharedAreaOption3,\n SharedAreaOption4: r_17.SharedAreaOption4,\n YearOfRenovation: r_17.YearOfRenovation,\n YearsOfConstruction: r_17.YearsOfConstruction,\n };\n }\n }\n else {\n const matchValue_9 = useFormValidator(ownerCompany.Validator, (unitVar_6, y_4) => ({\n DossierOwner: new DossierOwner_4(1, y_4),\n }), useForm()).Validate();\n if (matchValue_9 == null) {\n return {\n Address: r_17.Address,\n BuildingDetail: r_17.BuildingDetail,\n Discount: r_17.Discount,\n DossierClient: r_17.DossierClient,\n DossierOwner: void 0,\n DossierType: r_17.DossierType,\n HallwaysPerLevel: r_17.HallwaysPerLevel,\n InspectionLocation: r_17.InspectionLocation,\n InspectionLocationBerging: r_17.InspectionLocationBerging,\n InspectionLocationGaragebox: r_17.InspectionLocationGaragebox,\n InspectionLocationOther: r_17.InspectionLocationOther,\n InspectionLocationStaanplaats: r_17.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_17.IsUserOwnerOfArea,\n NumberOfEntrances: r_17.NumberOfEntrances,\n OwnerStatus: r_17.OwnerStatus,\n PipeIsolationMeters: r_17.PipeIsolationMeters,\n ResidentialBerging: r_17.ResidentialBerging,\n ResidentialGarageBox: r_17.ResidentialGarageBox,\n SharedAreaOption1: r_17.SharedAreaOption1,\n SharedAreaOption2: r_17.SharedAreaOption2,\n SharedAreaOption3: r_17.SharedAreaOption3,\n SharedAreaOption4: r_17.SharedAreaOption4,\n YearOfRenovation: r_17.YearOfRenovation,\n YearsOfConstruction: r_17.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_17.Address,\n BuildingDetail: r_17.BuildingDetail,\n Discount: r_17.Discount,\n DossierClient: r_17.DossierClient,\n DossierOwner: matchValue_9.DossierOwner,\n DossierType: r_17.DossierType,\n HallwaysPerLevel: r_17.HallwaysPerLevel,\n InspectionLocation: r_17.InspectionLocation,\n InspectionLocationBerging: r_17.InspectionLocationBerging,\n InspectionLocationGaragebox: r_17.InspectionLocationGaragebox,\n InspectionLocationOther: r_17.InspectionLocationOther,\n InspectionLocationStaanplaats: r_17.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_17.IsUserOwnerOfArea,\n NumberOfEntrances: r_17.NumberOfEntrances,\n OwnerStatus: r_17.OwnerStatus,\n PipeIsolationMeters: r_17.PipeIsolationMeters,\n ResidentialBerging: r_17.ResidentialBerging,\n ResidentialGarageBox: r_17.ResidentialGarageBox,\n SharedAreaOption1: r_17.SharedAreaOption1,\n SharedAreaOption2: r_17.SharedAreaOption2,\n SharedAreaOption3: r_17.SharedAreaOption3,\n SharedAreaOption4: r_17.SharedAreaOption4,\n YearOfRenovation: r_17.YearOfRenovation,\n YearsOfConstruction: r_17.YearsOfConstruction,\n };\n }\n }\n }, useFormValidator(sharedAreaOption4.Validator, (r_16, x_18) => ({\n Address: r_16.Address,\n BuildingDetail: r_16.BuildingDetail,\n Discount: r_16.Discount,\n DossierClient: r_16.DossierClient,\n DossierType: r_16.DossierType,\n HallwaysPerLevel: r_16.HallwaysPerLevel,\n InspectionLocation: r_16.InspectionLocation,\n InspectionLocationBerging: r_16.InspectionLocationBerging,\n InspectionLocationGaragebox: r_16.InspectionLocationGaragebox,\n InspectionLocationOther: r_16.InspectionLocationOther,\n InspectionLocationStaanplaats: r_16.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_16.IsUserOwnerOfArea,\n NumberOfEntrances: r_16.NumberOfEntrances,\n OwnerStatus: r_16.OwnerStatus,\n PipeIsolationMeters: r_16.PipeIsolationMeters,\n ResidentialBerging: r_16.ResidentialBerging,\n ResidentialGarageBox: r_16.ResidentialGarageBox,\n SharedAreaOption1: r_16.SharedAreaOption1,\n SharedAreaOption2: r_16.SharedAreaOption2,\n SharedAreaOption3: r_16.SharedAreaOption3,\n SharedAreaOption4: x_18,\n YearOfRenovation: r_16.YearOfRenovation,\n YearsOfConstruction: r_16.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption3.Validator, (r_15, x_17) => ({\n Address: r_15.Address,\n BuildingDetail: r_15.BuildingDetail,\n Discount: r_15.Discount,\n DossierClient: r_15.DossierClient,\n DossierType: r_15.DossierType,\n HallwaysPerLevel: r_15.HallwaysPerLevel,\n InspectionLocation: r_15.InspectionLocation,\n InspectionLocationBerging: r_15.InspectionLocationBerging,\n InspectionLocationGaragebox: r_15.InspectionLocationGaragebox,\n InspectionLocationOther: r_15.InspectionLocationOther,\n InspectionLocationStaanplaats: r_15.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_15.IsUserOwnerOfArea,\n NumberOfEntrances: r_15.NumberOfEntrances,\n OwnerStatus: r_15.OwnerStatus,\n PipeIsolationMeters: r_15.PipeIsolationMeters,\n ResidentialBerging: r_15.ResidentialBerging,\n ResidentialGarageBox: r_15.ResidentialGarageBox,\n SharedAreaOption1: r_15.SharedAreaOption1,\n SharedAreaOption2: r_15.SharedAreaOption2,\n SharedAreaOption3: x_17,\n YearOfRenovation: r_15.YearOfRenovation,\n YearsOfConstruction: r_15.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption2.Validator, (r_14, x_16) => ({\n Address: r_14.Address,\n BuildingDetail: r_14.BuildingDetail,\n Discount: r_14.Discount,\n DossierClient: r_14.DossierClient,\n DossierType: r_14.DossierType,\n HallwaysPerLevel: r_14.HallwaysPerLevel,\n InspectionLocation: r_14.InspectionLocation,\n InspectionLocationBerging: r_14.InspectionLocationBerging,\n InspectionLocationGaragebox: r_14.InspectionLocationGaragebox,\n InspectionLocationOther: r_14.InspectionLocationOther,\n InspectionLocationStaanplaats: r_14.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_14.IsUserOwnerOfArea,\n NumberOfEntrances: r_14.NumberOfEntrances,\n OwnerStatus: r_14.OwnerStatus,\n PipeIsolationMeters: r_14.PipeIsolationMeters,\n ResidentialBerging: r_14.ResidentialBerging,\n ResidentialGarageBox: r_14.ResidentialGarageBox,\n SharedAreaOption1: r_14.SharedAreaOption1,\n SharedAreaOption2: x_16,\n YearOfRenovation: r_14.YearOfRenovation,\n YearsOfConstruction: r_14.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption1.Validator, (r_13, x_15) => ({\n Address: r_13.Address,\n BuildingDetail: r_13.BuildingDetail,\n Discount: r_13.Discount,\n DossierClient: r_13.DossierClient,\n DossierType: r_13.DossierType,\n HallwaysPerLevel: r_13.HallwaysPerLevel,\n InspectionLocation: r_13.InspectionLocation,\n InspectionLocationBerging: r_13.InspectionLocationBerging,\n InspectionLocationGaragebox: r_13.InspectionLocationGaragebox,\n InspectionLocationOther: r_13.InspectionLocationOther,\n InspectionLocationStaanplaats: r_13.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_13.IsUserOwnerOfArea,\n NumberOfEntrances: r_13.NumberOfEntrances,\n OwnerStatus: r_13.OwnerStatus,\n PipeIsolationMeters: r_13.PipeIsolationMeters,\n ResidentialBerging: r_13.ResidentialBerging,\n ResidentialGarageBox: r_13.ResidentialGarageBox,\n SharedAreaOption1: x_15,\n YearOfRenovation: r_13.YearOfRenovation,\n YearsOfConstruction: r_13.YearsOfConstruction,\n }), useFormValidator(discount.Validator, (r_12, x_14) => ({\n Address: r_12.Address,\n BuildingDetail: r_12.BuildingDetail,\n Discount: x_14,\n DossierClient: r_12.DossierClient,\n DossierType: r_12.DossierType,\n HallwaysPerLevel: r_12.HallwaysPerLevel,\n InspectionLocation: r_12.InspectionLocation,\n InspectionLocationBerging: r_12.InspectionLocationBerging,\n InspectionLocationGaragebox: r_12.InspectionLocationGaragebox,\n InspectionLocationOther: r_12.InspectionLocationOther,\n InspectionLocationStaanplaats: r_12.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_12.IsUserOwnerOfArea,\n NumberOfEntrances: r_12.NumberOfEntrances,\n OwnerStatus: r_12.OwnerStatus,\n PipeIsolationMeters: r_12.PipeIsolationMeters,\n ResidentialBerging: r_12.ResidentialBerging,\n ResidentialGarageBox: r_12.ResidentialGarageBox,\n YearOfRenovation: r_12.YearOfRenovation,\n YearsOfConstruction: r_12.YearsOfConstruction,\n }), useFormValidator(hallwaysPerLevel.Validator, (r_11, x_13) => ({\n Address: r_11.Address,\n BuildingDetail: r_11.BuildingDetail,\n DossierClient: r_11.DossierClient,\n DossierType: r_11.DossierType,\n HallwaysPerLevel: x_13,\n InspectionLocation: r_11.InspectionLocation,\n InspectionLocationBerging: r_11.InspectionLocationBerging,\n InspectionLocationGaragebox: r_11.InspectionLocationGaragebox,\n InspectionLocationOther: r_11.InspectionLocationOther,\n InspectionLocationStaanplaats: r_11.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_11.IsUserOwnerOfArea,\n NumberOfEntrances: r_11.NumberOfEntrances,\n OwnerStatus: r_11.OwnerStatus,\n PipeIsolationMeters: r_11.PipeIsolationMeters,\n ResidentialBerging: r_11.ResidentialBerging,\n ResidentialGarageBox: r_11.ResidentialGarageBox,\n YearOfRenovation: r_11.YearOfRenovation,\n YearsOfConstruction: r_11.YearsOfConstruction,\n }), useFormValidator(pipleIsolationMeters.Validator, (r_10, x_12) => ({\n Address: r_10.Address,\n BuildingDetail: r_10.BuildingDetail,\n DossierClient: r_10.DossierClient,\n DossierType: r_10.DossierType,\n InspectionLocation: r_10.InspectionLocation,\n InspectionLocationBerging: r_10.InspectionLocationBerging,\n InspectionLocationGaragebox: r_10.InspectionLocationGaragebox,\n InspectionLocationOther: r_10.InspectionLocationOther,\n InspectionLocationStaanplaats: r_10.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_10.IsUserOwnerOfArea,\n NumberOfEntrances: r_10.NumberOfEntrances,\n OwnerStatus: r_10.OwnerStatus,\n PipeIsolationMeters: x_12,\n ResidentialBerging: r_10.ResidentialBerging,\n ResidentialGarageBox: r_10.ResidentialGarageBox,\n YearOfRenovation: r_10.YearOfRenovation,\n YearsOfConstruction: r_10.YearsOfConstruction,\n }), useFormValidator(numberOfEntrances.Validator, (r_9, x_11) => ({\n Address: r_9.Address,\n BuildingDetail: r_9.BuildingDetail,\n DossierClient: r_9.DossierClient,\n DossierType: r_9.DossierType,\n InspectionLocation: r_9.InspectionLocation,\n InspectionLocationBerging: r_9.InspectionLocationBerging,\n InspectionLocationGaragebox: r_9.InspectionLocationGaragebox,\n InspectionLocationOther: r_9.InspectionLocationOther,\n InspectionLocationStaanplaats: r_9.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_9.IsUserOwnerOfArea,\n NumberOfEntrances: x_11,\n OwnerStatus: r_9.OwnerStatus,\n ResidentialBerging: r_9.ResidentialBerging,\n ResidentialGarageBox: r_9.ResidentialGarageBox,\n YearOfRenovation: r_9.YearOfRenovation,\n YearsOfConstruction: r_9.YearsOfConstruction,\n }), useFormValidator(yearOfRenovation.Validator, (r_8, x_10) => ({\n Address: r_8.Address,\n BuildingDetail: r_8.BuildingDetail,\n DossierClient: r_8.DossierClient,\n DossierType: r_8.DossierType,\n InspectionLocation: r_8.InspectionLocation,\n InspectionLocationBerging: r_8.InspectionLocationBerging,\n InspectionLocationGaragebox: r_8.InspectionLocationGaragebox,\n InspectionLocationOther: r_8.InspectionLocationOther,\n InspectionLocationStaanplaats: r_8.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_8.IsUserOwnerOfArea,\n OwnerStatus: r_8.OwnerStatus,\n ResidentialBerging: r_8.ResidentialBerging,\n ResidentialGarageBox: r_8.ResidentialGarageBox,\n YearOfRenovation: x_10,\n YearsOfConstruction: r_8.YearsOfConstruction,\n }), useFormValidator(yearOfConstruction.Validator, (r_7, x_9) => ({\n Address: r_7.Address,\n BuildingDetail: r_7.BuildingDetail,\n DossierClient: r_7.DossierClient,\n DossierType: r_7.DossierType,\n InspectionLocation: r_7.InspectionLocation,\n InspectionLocationBerging: r_7.InspectionLocationBerging,\n InspectionLocationGaragebox: r_7.InspectionLocationGaragebox,\n InspectionLocationOther: r_7.InspectionLocationOther,\n InspectionLocationStaanplaats: r_7.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_7.IsUserOwnerOfArea,\n OwnerStatus: r_7.OwnerStatus,\n ResidentialBerging: r_7.ResidentialBerging,\n ResidentialGarageBox: r_7.ResidentialGarageBox,\n YearsOfConstruction: x_9,\n }), useFormValidator(isUserOwnerOfArea.Validator, (r_6, x_8) => ({\n Address: r_6.Address,\n BuildingDetail: r_6.BuildingDetail,\n DossierClient: r_6.DossierClient,\n DossierType: r_6.DossierType,\n InspectionLocation: r_6.InspectionLocation,\n InspectionLocationBerging: r_6.InspectionLocationBerging,\n InspectionLocationGaragebox: r_6.InspectionLocationGaragebox,\n InspectionLocationOther: r_6.InspectionLocationOther,\n InspectionLocationStaanplaats: r_6.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: x_8,\n OwnerStatus: r_6.OwnerStatus,\n ResidentialBerging: r_6.ResidentialBerging,\n ResidentialGarageBox: r_6.ResidentialGarageBox,\n }), useFormValidator(addressCase.Validator, (r_5, x_7) => ({\n Address: x_7,\n BuildingDetail: r_5.BuildingDetail,\n DossierClient: r_5.DossierClient,\n DossierType: r_5.DossierType,\n InspectionLocation: r_5.InspectionLocation,\n InspectionLocationBerging: r_5.InspectionLocationBerging,\n InspectionLocationGaragebox: r_5.InspectionLocationGaragebox,\n InspectionLocationOther: r_5.InspectionLocationOther,\n InspectionLocationStaanplaats: r_5.InspectionLocationStaanplaats,\n OwnerStatus: r_5.OwnerStatus,\n ResidentialBerging: r_5.ResidentialBerging,\n ResidentialGarageBox: r_5.ResidentialGarageBox,\n }), useFormValidator(buildingDetail.Validator, (r_4, x_6) => ({\n BuildingDetail: isNullOrEmpty(x_6.Value) ? (void 0) : (new NonEmptyString(x_6.Value)),\n DossierClient: r_4.DossierClient,\n DossierType: r_4.DossierType,\n InspectionLocation: r_4.InspectionLocation,\n InspectionLocationBerging: r_4.InspectionLocationBerging,\n InspectionLocationGaragebox: r_4.InspectionLocationGaragebox,\n InspectionLocationOther: r_4.InspectionLocationOther,\n InspectionLocationStaanplaats: r_4.InspectionLocationStaanplaats,\n OwnerStatus: r_4.OwnerStatus,\n ResidentialBerging: r_4.ResidentialBerging,\n ResidentialGarageBox: r_4.ResidentialGarageBox,\n }), useFormValidator(dossierClientData.Validator, (r_3, x_5) => ({\n DossierClient: x_5,\n DossierType: r_3.DossierType,\n InspectionLocation: r_3.InspectionLocation,\n InspectionLocationBerging: r_3.InspectionLocationBerging,\n InspectionLocationGaragebox: r_3.InspectionLocationGaragebox,\n InspectionLocationOther: r_3.InspectionLocationOther,\n InspectionLocationStaanplaats: r_3.InspectionLocationStaanplaats,\n OwnerStatus: new OwnerStatus_2(8),\n ResidentialBerging: r_3.ResidentialBerging,\n ResidentialGarageBox: r_3.ResidentialGarageBox,\n }), useFormValidator(inspectionLocationData.Validator, (r_2, x_4) => {\n const matchValue_7 = x_4.Value;\n switch (matchValue_7.tag) {\n case 14:\n case 16:\n case 15: {\n toConsole(printf(\"berging %A garage %A\"))(residentialBerging.Value)(residentialGaragebox.Value);\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: inspectionLocationBerging.State,\n InspectionLocationGaragebox: inspectionLocationGaragebox.State,\n InspectionLocationOther: void 0,\n InspectionLocationStaanplaats: inspectionLocationStaanplaats.State,\n ResidentialBerging: validateOther(r_2, residentialBerging),\n ResidentialGarageBox: validateOther(r_2, residentialGaragebox),\n };\n }\n case 23: {\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_2, residentialOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 12: {\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_2, nonResidentialOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 3: {\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_2, publicOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 30: {\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_2, inSocialUseOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n default: {\n return {\n DossierType: r_2.DossierType,\n InspectionLocation: x_4,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: void 0,\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n }\n }, useFormValidator(dossierTypeData.Validator, (unitVar_4, x_2) => {\n if (x_2.Value.tag === 1) {\n return {\n DossierType: x_2,\n };\n }\n else {\n const s = useFormValidator(asbestInventoryData.Validator, (unitVar_5, x_3) => ({\n AsbestInventoryData: x_3,\n Value: x_3.Value,\n }), useForm()).Validate();\n if (s == null) {\n return {\n DossierType: x_2,\n };\n }\n else {\n return {\n DossierType: TypeOfDossierData___UnsafeCreate_Z1D754B91(new TypeOfDossier_1(0, s.Value)),\n };\n }\n }\n }, useForm())))))))))))))))))));\n const patternInput_8 = useFeliz_React__React_useState_Static_1505(\"\");\n const comment = patternInput_8[0];\n const patternInput_9 = useFeliz_React__React_useState_Static_1505(true);\n const setDisableDiscountTextInput = patternInput_9[1];\n const patternInput_10 = useFeliz_React__React_useState_Static_1505(new DiscountOption(0));\n const discountOption = patternInput_10[0];\n const isUrgent = useToggle(false);\n const floorplan = useFormField(void 0, some);\n const cadastralRecords = useFormField(void 0, some);\n const otherPropertyDocument = useFormField(void 0, some);\n const patternInput_11 = useFeliz_React__React_useState_Static_1505(isPartner ? (new CommentType(1)) : (new CommentType(0)));\n const commentType = patternInput_11[0];\n return createElement(Col, {\n classes: singleton_1(Gap.M),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(ChooseOwner, {\n ownerOption: ownerOption,\n ownerCompanyForm: ownerCompany,\n ownerPersonForm: ownerPerson,\n })),\n })),\n })), delay(() => append((!isPartner) ? append(singleton(createElement(\"h2\", {\n children: [\"Type\"],\n })), delay(() => {\n let elements;\n return singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [OptionField(dossierTypeData, new TypeOfDossier_1(0, new AsbestInventory(0)), \"Asbestinventaris\", \"\", false), OptionField(dossierTypeData, new TypeOfDossier_1(1), \"Monstername\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]));\n })) : empty_1(), delay(() => {\n let matchValue_18;\n return append((matchValue_18 = dossierTypeData.FieldValue, (matchValue_18 == null) ? singleton(null) : ((matchValue_18.tag === 1) ? singleton(null) : append(singleton(createElement(\"h2\", {\n children: [\"Aanleiding van de asbestinventaris\"],\n })), delay(() => {\n let elements_1;\n return singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_1 = AsbestInventoryDataOptions(asbestInventoryData, profile), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]));\n })))), delay(() => {\n let elems_3, elements_2;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", true], (elems_3 = [createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(\"h2\", {\n children: [\"Opdrachtgever\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_2 = [OptionField(dossierClientData, new DossierClient(0), \"Eigenaar\", \"\", false), OptionField(dossierClientData, new DossierClient(1), \"Gevolmachtigde\", \"\", false), OptionField(dossierClientData, new DossierClient(2), \"Vereniging van mede-eigenaars\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])]),\n })),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_3))])])))), delay(() => append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(MarginBottom.L),\n children: singleton_1(createElement(ChooseInspectionLocationFormCheckbox, {\n inspectionLocationData: inspectionLocationData,\n residentialOther: residentialOther,\n nonResidentialOther: nonResidentialOther,\n inSocialUseOther: inSocialUseOther,\n publicOther: publicOther,\n selectedLocationGroups: toList(delay(() => append(singleton(new InspectionLocationType(0)), delay(() => append(singleton(new InspectionLocationType(1)), delay(() => (isPartner ? append(singleton(new InspectionLocationType(2)), delay(() => singleton(new InspectionLocationType(3)))) : empty_1()))))))),\n hideGroupSelection: isPartner,\n residentialBerging: residentialBerging,\n residentialGaragebox: residentialGaragebox,\n })),\n })),\n })), delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(Gap.M),\n children: toList(delay(() => append(singleton(createElement(\"h2\", {\n children: [\"Statuut eigenaar\"],\n })), delay(() => {\n let elements_3;\n return append(singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_3 = toList(delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(0), \"Particulier\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(6), \"Onderneming\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(7), \"VME (vereniging van medeeigneaars)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(1), \"Sociale huisvestingsmaatschappij\", \"\", false)), delay(() => {\n let matchValue_20;\n return append((dossierCreatePageSource.tag === 0) ? ((matchValue_20 = inspectionLocationData.FieldValue, (matchValue_20 != null) ? ((matchValue_20.tag === 0) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_20.tag === 1) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_20.tag === 2) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_20.tag === 3) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : singleton(null))))) : singleton(null))) : singleton(null), delay(() => ((dossierCreatePageSource.tag === 0) ? singleton(OptionField(ownerStatusData, new OwnerStatus_2(8), \"Andere\", \"\", false)) : singleton(null))));\n })))))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])])), delay(() => {\n let otherfieldDisabled;\n const matchValue_22 = ownerStatusData.FieldValue;\n let pattern_matching_result;\n if (matchValue_22 != null) {\n if (matchValue_22.tag === 8) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n otherfieldDisabled = false;\n break;\n }\n case 1: {\n otherfieldDisabled = true;\n break;\n }\n }\n return (!otherfieldDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(ownerStatusOther, \"\", \"\", true, otherfieldDisabled)),\n })) : empty_1();\n }));\n })))),\n })), delay(() => {\n let matchValue_23, xs_1, elements_4;\n const checkboxField = (label, toggleHook) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", toggleHook.State], [\"onChange\", (n) => {\n toggleHook.Toggle();\n }]])]]);\n return append((matchValue_23 = inspectionLocationData.FieldValue, (matchValue_23 != null) ? ((matchValue_23.tag === 14) ? singleton((xs_1 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_1))) : ((matchValue_23.tag === 16) ? singleton((xs_1 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_1))) : ((matchValue_23.tag === 15) ? singleton((xs_1 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_1))) : singleton(null)))) : singleton(null)), delay(() => {\n let matchValue_24;\n return append((matchValue_24 = inspectionLocationData.FieldValue, (matchValue_24 != null) ? ((matchValue_24.tag === 14) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_24.tag === 16) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_24.tag === 15) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_24.tag === 17) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : singleton(null))))) : singleton(null)), delay(() => append(singleton(TextField(yearOfConstruction, \"Jaar van constructie\", \"\", false)), delay(() => append(yearOfConstructionRequiredError ? singleton(createElement(\"div\", {\n className: join(\" \", [error]),\n children: \"Vereist.\",\n })) : empty_1(), delay(() => append(singleton(TextField(yearOfRenovation, \"Jaar van renovatie\", \"\", false)), delay(() => append(yearOfConstructionRequiredError ? singleton(createElement(\"div\", {\n className: join(\" \", [error]),\n children: \"Vereist.\",\n })) : empty_1(), delay(() => append(singleton(TextField(numberOfEntrances, \"Aantal ingangen in het gebouw\", \"\", false)), delay(() => append(singleton(TextField(pipleIsolationMeters, \"Leidingisolatie (lopende meter)\", \"\", false)), delay(() => append(singleton(TextField(hallwaysPerLevel, \"Gangen per verdiep\", \"\", false)), delay(() => {\n let matchValue_25;\n return append((matchValue_25 = inspectionLocationData.FieldValue, (matchValue_25 != null) ? ((matchValue_25.tag === 22) ? append(singleton(TextField(sharedAreaOption1, \"Tellerlokalen\", \"\", false)), delay(() => append(singleton(TextField(sharedAreaOption2, \"Vuilnislokaal\", \"\", false)), delay(() => append(singleton(TextField(sharedAreaOption3, \"Fietsberging\", \"\", false)), delay(() => singleton(TextField(sharedAreaOption4, \"Gemene Delen Option 4\", \"\", false)))))))) : singleton(null)) : singleton(null)), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", [\"Stooklokaal\"]], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", boilerRoom.State]])], [\"onChange\", (e) => {\n const s_1 = Browser_Types_Event__Event_get_Checked(e);\n boilerRoom.Toggle();\n }]])), delay(() => {\n let elements_5;\n return append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(MarginRight.Xl),\n children: ofArray([createElement(\"h2\", {\n children: [\"Eigenaar gebruiker van het inspectiegebied\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_5 = [OptionField(isUserOwnerOfArea, true, \"Ja: bv. u woont of werk er\", \"\", false), OptionField(isUserOwnerOfArea, false, \"Nee: bv. u verhuurt de eigendom\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])])]),\n })),\n })), delay(() => {\n let matchValue_26;\n const inspectionLocationAddressLabel = (dossierCreatePageSource.tag === 2) ? \"Zelfde als eigenaar\" : ((dossierCreatePageSource.tag === 0) ? \"Zelfde als klant\" : \"Zelfde als eigenaar\");\n const sameAsCustomerAddress = ((matchValue_26 = ownerOption.FieldValue, (matchValue_26 == null) ? false : ((matchValue_26.tag === 0) ? ((((!isNullOrEmpty(ownerPerson.AddressField.StreetField.FieldValue)) && (!isNullOrEmpty(ownerPerson.AddressField.City.FieldValue))) && (!isNullOrEmpty(ownerPerson.AddressField.NumberField.FieldValue))) && (!isNullOrEmpty(ownerPerson.AddressField.PostalCodeField.FieldValue))) : ((((!isNullOrEmpty(ownerCompany.AddressField.StreetField.FieldValue)) && (!isNullOrEmpty(ownerCompany.AddressField.City.FieldValue))) && (!isNullOrEmpty(ownerCompany.AddressField.NumberField.FieldValue))) && (!isNullOrEmpty(ownerCompany.AddressField.PostalCodeField.FieldValue)))))) ? MuiHelpers_createElement(FormControlLabel, [[\"label\", inspectionLocationAddressLabel], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", isSameAddress]])], [\"onChange\", (e_1) => {\n const s_2 = Browser_Types_Event__Event_get_Checked(e_1);\n patternInput_4[1](s_2);\n if (s_2) {\n const matchValue_27 = ownerOption.FieldValue;\n if (matchValue_27 == null) {\n }\n else if (matchValue_27.tag === 0) {\n addressCase.StreetField.SetFieldValue(ownerPerson.AddressField.StreetField.FieldValue);\n addressCase.BusField.SetFieldValue(ownerPerson.AddressField.BusField.FieldValue);\n addressCase.City.SetFieldValue(ownerPerson.AddressField.City.FieldValue);\n addressCase.NumberField.SetFieldValue(ownerPerson.AddressField.NumberField.FieldValue);\n addressCase.PostalCodeField.SetFieldValue(ownerPerson.AddressField.PostalCodeField.FieldValue);\n }\n else {\n addressCase.StreetField.SetFieldValue(ownerCompany.AddressField.StreetField.FieldValue);\n addressCase.BusField.SetFieldValue(ownerCompany.AddressField.BusField.FieldValue);\n addressCase.City.SetFieldValue(ownerCompany.AddressField.City.FieldValue);\n addressCase.NumberField.SetFieldValue(ownerCompany.AddressField.NumberField.FieldValue);\n addressCase.PostalCodeField.SetFieldValue(ownerCompany.AddressField.PostalCodeField.FieldValue);\n }\n }\n else {\n addressCase.StreetField.SetFieldValue(\"\");\n addressCase.BusField.SetFieldValue(\"\");\n addressCase.City.SetFieldValue(\"\");\n addressCase.NumberField.SetFieldValue(\"\");\n addressCase.PostalCodeField.SetFieldValue(\"\");\n }\n }]]) : null;\n return append(singleton(createElement(CreateAddressFormWithReset, {\n addressForm: addressCase,\n resetOption: sameAsCustomerAddress,\n heading: \"Adres Inspectielocatie\",\n isSameAddress: isSameAddress,\n })), delay(() => append(isPartner ? append(singleton(createElement(\"h2\", {\n children: [\"Eigendom\"],\n })), delay(() => append(singleton(FileField(cadastralRecords, \"Upload Kadastrale legger\", \"\", false)), delay(() => append(singleton(FileField(floorplan, \"Upload Grondplan\", \"\", false)), delay(() => singleton(FileField(otherPropertyDocument, \"Upload Andere\", \"\", false)))))))) : empty_1(), delay(() => append(singleton(createElement(Col, {\n classes: empty(),\n children: toList(delay(() => {\n let matchValue_28, partners_1;\n return append((matchValue_28 = partners, (matchValue_28 == null) ? singleton(null) : ((partners_1 = matchValue_28, append(singleton(createElement(\"h2\", {\n children: [\"Partner\"],\n })), delay(() => {\n let elems_7;\n const options = toArray(delay(() => append(singleton(PartnerOption_get_empty()), delay(() => append(singleton(PartnerOption_get_none()), delay(() => toArray_1(map_1((partner) => (new PartnerOption(NonEmptyString___UnsafeUnwrap_Z73AD07C(partner.CompanyName), partner.Id.Value, partner.IsCibPartner, partner.PartnerType, partner.CompensationAmount)), partners_1))))))));\n return append(singleton(MuiHelpers_createElement(FormControl, [[\"error\", selectPartnerError], (elems_7 = [MuiHelpers_createElement(Autocomplete, [[\"id\", \"partner-combo-box-label\"], [\"options\", Array.from(options)], [\"value\", partnerOption], [\"getOptionSelected\", (delegateArg, delegateArg_1) => (delegateArg.Id === delegateArg_1.Id)], [\"onChange\", (_arg_1, v_3, _arg_1_1) => {\n const partner_1 = v_3;\n if (!(partner_1 == null)) {\n patternInput_6[1](partner_1);\n patternInput_2[1](partner_1.IsCibPartner);\n if (partner_1.Id !== PartnerOption_get_empty().Id) {\n setSelectPartnerError(false);\n }\n if ((partner_1.Id === PartnerOption_get_empty().Id) ? true : (partner_1.Id === PartnerOption_get_none().Id)) {\n manualInvoice.On();\n }\n else {\n manualInvoice.Off();\n }\n }\n }], [\"renderInput\", (params$0027) => MuiHelpers_createElement(TextField_1, toList(delay(() => append(singleton([\"variant\", \"outlined\"]), delay(() => append(singleton([\"label\", \"Partner\"]), delay(() => (Object.entries(params$0027)))))))))], [\"renderOption\", (delegateArg_2, delegateArg_1_1) => {\n const partnerOption_1 = delegateArg_2;\n const xs_4 = toList(delay(() => {\n let children_3, children_1;\n return (partnerOption_1.PartnerType.tag === 1) ? singleton((children_3 = ofArray([MuiHelpers_createElement(Chip, [[\"label\", \"Syndic\"], [\"className\", MarginRight.Xs]]), createElement(\"span\", {\n children: [partnerOption_1.Label],\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_3)),\n }))) : (partnerOption_1.IsCibPartner ? singleton((children_1 = ofArray([MuiHelpers_createElement(Chip, [[\"label\", \"CIB\"], [\"className\", MarginRight.Xs]]), createElement(\"span\", {\n children: [partnerOption_1.Label],\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_1)),\n }))) : singleton(createElement(\"span\", {\n children: [partnerOption_1.Label],\n })));\n }));\n return react.createElement(react.Fragment, {}, ...xs_4);\n }], [\"filterOptions\", (opts_1, s_3) => Array.from(filterPartnerOptions(opts_1, s_3.inputValue))], [\"getOptionLabel\", (partner_2) => partner_2.Label]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_7))])])), delay(() => (selectPartnerError ? singleton(createElement(Row, {\n classes: ofArray([MarginTop.M, error]),\n children: singleton_1(\"Selecteer een partner of geen\"),\n })) : empty_1())));\n }))))), delay(() => ((equals(dossierCreatePageSource, new DossierCreatePageSource(0)) && (equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none()))) ? singleton(null) : singleton(createElement(CompensationOptions, {\n compensationData: compensationData,\n compensationCustom: compensationCustom_1,\n showHeader: true,\n })))));\n })),\n })), delay(() => append((!isPartner) ? append(singleton(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.S]),\n children: toList(delay(() => {\n let elems_8;\n const buttonDisabled = partnerOption.Id === -1;\n return singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", [createElement(\"div\", createObj(singleton_1((elems_8 = [createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: singleton_1(\"Automatisch mail verzenden naar \"),\n }), createElement(Col, {\n classes: ofArray([Boldness.b700, MarginLeft.Xs, MarginRight.Xs]),\n children: singleton_1(\"partner\"),\n }), createElement(Col, {\n classes: empty(),\n children: singleton_1(\"(opening dossier en vraag om digitaal het opdrachtformulier te ondertekenen)\"),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_8))]))))]], [\"disabled\", buttonDisabled], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", (partnerOption.Id > 0) && sendMailToPartner.State]])], [\"onChange\", (e_2) => {\n const s_4 = Browser_Types_Event__Event_get_Checked(e_2);\n sendMailToPartner.Toggle();\n }]]));\n })),\n })), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Geen standaard dossier\"], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", manualInvoice.State], [\"onChange\", (e_3) => {\n const _arg_2 = Browser_Types_Event__Event_get_Checked(e_3);\n manualInvoice.Toggle();\n }]])]])), delay(() => {\n let elements_8;\n return singleton(MuiHelpers_createElement(Grid, [[\"spacing\", 2], [\"container\", true], (elements_8 = toList(delay(() => {\n let elements_6, elems_9;\n return append(singleton(MuiHelpers_createElement(Grid, [[\"item\", true], [\"xs\", 2], (elements_6 = [MuiHelpers_createElement(FormControl, [[\"fullWidth\", true], (elems_9 = toList(delay(() => {\n const discountOptions = [new DiscountOption(0), new DiscountOption(2), new DiscountOption(1)];\n return singleton(MuiHelpers_createElement(Autocomplete, [[\"id\", \"discount-combo-box-label\"], [\"options\", Array.from(discountOptions)], [\"value\", discountOption], [\"getOptionSelected\", equals], [\"onChange\", (_arg_3, v_4, _arg_1_2) => {\n SafeNotNullCheck(v_4, (discOption) => {\n patternInput_10[1](discOption);\n switch (discOption.tag) {\n case 1:\n case 2: {\n manualInvoice.On();\n setDisableDiscountTextInput(false);\n break;\n }\n default: {\n setDisableDiscountTextInput(true);\n }\n }\n });\n }], [\"renderInput\", (params$0027_1) => MuiHelpers_createElement(TextField_1, toList(delay(() => append(singleton([\"variant\", \"outlined\"]), delay(() => append(singleton([\"label\", \"Soort korting\"]), delay(() => (Object.entries(params$0027_1)))))))))], [\"getOptionLabel\", DiscountOption__get_Label]]));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_9))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_6))])])), delay(() => {\n let elements_7;\n return singleton(MuiHelpers_createElement(Grid, [[\"item\", true], [\"xs\", 4], (elements_7 = [NumberFieldFloat(discount, \"Korting\", \"\", false, patternInput_9[0], (discountOption.tag === 1) ? \"€\" : ((discountOption.tag === 2) ? \"%\" : \"\"))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_7))])]));\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_8))])]));\n })))) : empty_1(), delay(() => {\n const showPartnerComments = !(equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none()));\n return append(singleton(createElement(CommentTypeTabs, {\n commentType: commentType,\n setCommentType: patternInput_11[1],\n content: createElement(CommentEditor, {\n comment: comment,\n setComment: patternInput_8[1],\n commentType: commentType,\n }),\n showInternal: !isPartner,\n showAdi: equals(dossierCreatePageSource, new DossierCreatePageSource(0)),\n showPartner: showPartnerComments,\n })), delay(() => append(equals(dossierCreatePageSource, new DossierCreatePageSource(1)) ? singleton(MuiHelpers_createElement(FormControlLabel, [[\"className\", error], [\"label\", \"Dringend\"], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", isUrgent.State], [\"onChange\", (n_1) => {\n isUrgent.Toggle();\n }]])]])) : empty_1(), delay(() => singleton(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: toList(delay(() => {\n let matchValue_30, url;\n return append((matchValue_30 = backUrl, (matchValue_30 == null) ? singleton(null) : ((url = matchValue_30, singleton(MuiHelpers_createElement(Button, [[\"disabled\", disable], [\"color\", \"default\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_4) => {\n RouterModule_nav(ofArray(url), 1, 1);\n }], [\"children\", Interop_reactApi.Children.toArray([\"Annuleren\"])]]))))), delay(() => {\n let elems_15;\n return singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", true], (elems_15 = [MuiHelpers_createElement(Button, [[\"id\", \"dossier-create-button\"], [\"ref\", buttonRef], [\"disabled\", disable], [\"color\", \"primary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n if ((partnerOption.Id === PartnerOption_get_empty().Id) ? ((setSelectPartnerError(true), false)) : true) {\n iterate((data) => {\n let matchValue_15, matchValue_16;\n if (((data.OwnerStatus.Value.tag === 8) ? (data.OwnerStatusOther != null) : true) && ((matchValue_15 = data.InspectionLocation.Value, (matchValue_15.tag === 3) ? ((matchValue_16 = data.InspectionLocationOther, (matchValue_16 == null) ? false : (!isNullOrWhiteSpace(matchValue_16.Value)))) : ((matchValue_15.tag === 30) ? ((matchValue_16 = data.InspectionLocationOther, (matchValue_16 == null) ? false : (!isNullOrWhiteSpace(matchValue_16.Value)))) : ((matchValue_15.tag === 12) ? ((matchValue_16 = data.InspectionLocationOther, (matchValue_16 == null) ? false : (!isNullOrWhiteSpace(matchValue_16.Value)))) : ((matchValue_15.tag === 23) ? ((matchValue_16 = data.InspectionLocationOther, (matchValue_16 == null) ? false : (!isNullOrWhiteSpace(matchValue_16.Value)))) : true)))))) {\n iterate((owner) => {\n const inspectionLocationAddress = (dossierCreatePageSource.tag === 0) ? data.Address : ((dossierCreatePageSource.tag === 2) ? (isSameAddress ? DossierOwner__get_Address(owner) : data.Address) : data.Address);\n setDisable(true);\n const dossier = new CreateDossierData(data.DossierType, data.InspectionLocation, data.InspectionLocationOther, data.ResidentialBerging, data.ResidentialGarageBox, data.DossierClient, data.BuildingDetail, void 0, data.YearsOfConstruction, data.YearOfRenovation, void 0, data.IsUserOwnerOfArea.Value, inspectionLocationAddress, false, new DossierStatus(0), (partnerOption.Id === 0) ? (void 0) : (new PartnerId_1(partnerOption.Id)), void 0, owner, manualInvoice.State, false, void 0, void 0, data.OwnerStatus, data.OwnerStatusOther, (discountOption.tag === 1) ? (new TypeOfDiscount(1, data.Discount)) : ((discountOption.tag === 2) ? (new TypeOfDiscount(2, data.Discount)) : (new TypeOfDiscount(0))), patternInput_2[0], data.InspectionLocationBerging, data.InspectionLocationStaanplaats, data.InspectionLocationGaragebox, isUrgent.State, data.Compensation, false, void 0, data.NumberOfEntrances, data.HallwaysPerLevel, data.PipeIsolationMeters, boilerRoom.State, data.SharedAreaOption1, data.SharedAreaOption2, data.SharedAreaOption3, data.SharedAreaOption4);\n const comment_1 = (comment.length > 0) ? (new CommentData(comment, \"\", new CommentSource_1(1), commentType)) : (void 0);\n toConsole(printf(\"dossier %A\"))(dossier);\n onCreateDossier(dossier)(comment_1)(floorplan.FieldValue)(cadastralRecords.FieldValue)(otherPropertyDocument.FieldValue)(sendMailToPartner.State)(() => {\n setDisable(false);\n });\n }, toArray_2(data.DossierOwner));\n }\n }, toArray_2(form.Validate()));\n }\n }], [\"children\", Interop_reactApi.Children.toArray([\"Bewaren\"])]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_15))])]))));\n }));\n })),\n }))))));\n }))))))));\n }));\n }))));\n }))))))))))))))));\n }));\n }))))));\n }));\n })))))),\n });\n}\n\nexport function CreateDossierStepperPage(createDossierStepperPageInputProps) {\n let children_2;\n const compensation = createDossierStepperPageInputProps.compensation;\n const dossierCreatePageSource = createDossierStepperPageInputProps.dossierCreatePageSource;\n const setPartnerId = createDossierStepperPageInputProps.setPartnerId;\n const partnersList = createDossierStepperPageInputProps.partnersList;\n const setCustomer = createDossierStepperPageInputProps.setCustomer;\n const customer = createDossierStepperPageInputProps.customer;\n const onCreateCustomer = createDossierStepperPageInputProps.onCreateCustomer;\n const onCreateDossier = createDossierStepperPageInputProps.onCreateDossier;\n const customers = createDossierStepperPageInputProps.customers;\n const getCustomer = createDossierStepperPageInputProps.getCustomer;\n const customerUrl = createDossierStepperPageInputProps.customerUrl;\n const patternInput = useFeliz_React__React_useState_Static_1505(0);\n const setActiveStep = patternInput[1];\n const activeStep = patternInput[0] | 0;\n const patternInput_1 = useFeliz_React__React_useState_Static_1505([false, false, false]);\n const stepsCompleted = patternInput_1[0];\n const setStepsCompleted = patternInput_1[1];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(void 0);\n const dossierData = patternInput_2[0];\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(void 0);\n const dossierDataContact = patternInput_3[0];\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_5 = useFeliz_React__React_useState_Static_1505(CustomerOption_get_none());\n const patternInput_6 = useFeliz_React__React_useState_Static_1505(false);\n const setShowCustomerForm = patternInput_6[1];\n const dossierCreateButtonRef = useReact_useButtonRef();\n const username = useUsername();\n const patternInput_7 = useFeliz_React__React_useState_Static_1505(false);\n const setCreatingDossier = patternInput_7[1];\n const creatingDossier = patternInput_7[0];\n const topRef = useReact_useElementRef();\n const contact = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const contactEmail = useFormField(\"\", PhoneNumber_get_Create());\n const contactName = useFormField(\"\", NonEmptyString_get_Create());\n const invoice = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const invoiceCustomerPerson = useCreateCustomerPersonForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\");\n const invoiceCustomerCompany = useCreateCustomerCompanyForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", false, false, \"\", \"\");\n const invoicingPartySameAsOwner = useToggle(false);\n const invoicePricing = useToggle(false);\n const assignmentDocumentContact = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const assignmentDocumentOther = useFormField(\"\", NonEmptyString_get_Create());\n const assignmentDocumentLegalRepEmail = useFormField(\"\", NonEmptyString_get_Create());\n const assignmentDocumentSyndicEmail = useFormField(\"\", NonEmptyString_get_Create());\n const isPartnerSelected = useToggle(true);\n const patternInput_8 = useFeliz_React__React_useState_Static_1505(username);\n const setPartnerName = patternInput_8[1];\n const partnerName = patternInput_8[0];\n const partnerToggle = useToggle(isPartnerSelected.State);\n const customerToggle = useToggle(true);\n const emailToggle = useToggle(false);\n const emails = useFormField(\"\", NonEmptyString_get_Create());\n const emailsError = useToggle(false);\n const patternInput_9 = useFeliz_React__React_useState_Static_1505(false);\n const foundCustomer = patternInput_9[0];\n const patternInput_10 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_11 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_12 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_13 = useFeliz_React__React_useState_Static_1505(false);\n const patternInput_14 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_15 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_16 = useFeliz_React__React_useState_Static_1505(void 0);\n useReact_useEffect_Z101E1A95(() => {\n let customer_1;\n let pattern_matching_result, customer_2;\n if (customer != null) {\n if ((customer_1 = customer, foundCustomer)) {\n pattern_matching_result = 0;\n customer_2 = customer;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n invoice.SetFieldValue((customer_2.tag === 1) ? (new Invoiced(2)) : (new Invoiced(1)));\n break;\n }\n case 1: {\n break;\n }\n }\n }, [foundCustomer, customer]);\n const updateStepCompletion = (idx, value, array) => mapIndexed((i, v) => {\n if (i === idx) {\n return value;\n }\n else {\n return v;\n }\n }, array);\n useReact_useEffect_Z101E1A95(() => {\n if (item(activeStep, steps).tag === 0) {\n if (dossierData == null) {\n }\n else {\n const dossierData_2 = dossierData;\n switch (dossierCreatePageSource.tag) {\n case 2: {\n setPartnerName(username);\n isPartnerSelected.On();\n break;\n }\n case 0: {\n const matchValue_11 = dossierData_2.PartnerId;\n if (matchValue_11 == null) {\n setPartnerName(\"Partner\");\n isPartnerSelected.Off();\n }\n else {\n const partnerId = matchValue_11;\n setPartnerName(\"Partner\" + getPartnerType(partnerId, partnersList));\n isPartnerSelected.On();\n patternInput_4[1](partnerId);\n iterate((n) => {\n n(partnerId);\n }, toArray_2(setPartnerId));\n }\n break;\n }\n default: {\n setPartnerName(username);\n isPartnerSelected.On();\n }\n }\n setStepsCompleted(updateStepCompletion(activeStep, true, stepsCompleted));\n setActiveStep(activeStep + 1);\n }\n }\n }, [dossierData]);\n const xs_7 = [(children_2 = toList(delay(() => append(singleton(createElement(\"span\", {\n ref: topRef,\n })), delay(() => {\n let elements_6, elements_1, elements, elements_3, elements_2, elements_5, elements_4;\n return append(singleton(MuiHelpers_createElement(Stepper, [[\"activeStep\", activeStep], (elements_6 = [MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[0]], (elements_1 = [MuiHelpers_createElement(StepLabel, [(elements = [\"Dossier \" + stepString(new Step_1(0))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]), MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[1]], [\"className\", join(\" \", [Boldness.b700])], (elements_3 = [MuiHelpers_createElement(StepLabel, [(elements_2 = [stepString(new Step_1(1))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])]), MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[2]], (elements_5 = [MuiHelpers_createElement(StepLabel, [(elements_4 = [stepString(new Step_1(2))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_6))])])), delay(() => {\n let elems_7, value_23;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 0], (elems_7 = [(value_23 = (\"Dossier \" + stepString(new Step_1(0))), createElement(\"h1\", {\n children: [value_23],\n })), createElement(CreateDossierForm, {\n customerUrl: (customerId) => customerUrl(customerId.Value),\n backUrl: void 0,\n partners: partnersList,\n onCreateDossier: (dossierData_3) => ((comment_1) => ((floorplan_1) => ((cadastralRecords_1) => ((propertyOther_1) => ((sendEmailToPartner_1) => ((onCompleted) => {\n patternInput_2[1](dossierData_3);\n patternInput_10[1](comment_1);\n patternInput_14[1](floorplan_1);\n patternInput_15[1](cadastralRecords_1);\n patternInput_16[1](propertyOther_1);\n patternInput_13[1](sendEmailToPartner_1);\n onCompleted();\n })))))),\n isCibDossier: false,\n buttonRef: dossierCreateButtonRef,\n dossierCreatePageSource: dossierCreatePageSource,\n compensation: compensation,\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_7))])])))), delay(() => {\n let elems_8;\n return append(singleton(MuiHelpers_createElement(Modal, [[\"open\", patternInput_6[0]], [\"onClose\", (_arg_1, v_1) => {\n setShowCustomerForm(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"style\", {\n width: 100 + \"%\",\n height: 100 + \"%\",\n }], [\"className\", join(\" \", [modal, Padding.Xl])], (elems_8 = [createElement(CreateCustomerForm, {\n onCreateCustomer: onCreateCustomer,\n saveButtonText: void 0,\n backButtonText: void 0,\n isCibCustomer: false,\n onBack: () => {\n setShowCustomerForm(false);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_8))])])))]])), delay(() => {\n let elems_9;\n const findCustomer = createElement(DisplayDeferred, {\n data: customers,\n view: (customers_1) => {\n const options = toArray(delay(() => append(singleton(CustomerOption_get_none()), delay(() => toArray_1(map_1((customer_5) => (new CustomerOption(Customer2__get_CustomerOrCompanyName(customer_5), Customer2__get_Code(customer_5).Value)), customers_1.Data))))));\n return createElement(FindCustomer, {\n options: options,\n customerOption: patternInput_5[0],\n setCustomerOption: patternInput_5[1],\n getCustomer: getCustomer,\n setShowCustomerForm: setShowCustomerForm,\n reset: () => {\n setCustomer(void 0);\n },\n setFoundCustomer: patternInput_9[1],\n });\n },\n });\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 1], (elems_9 = toList(delay(() => {\n let value_41;\n return append(singleton((value_41 = stepString(new Step_1(1)), createElement(\"h1\", {\n children: [value_41],\n }))), delay(() => {\n let children;\n const matchValue_13 = dossierData;\n if (matchValue_13 == null) {\n return singleton(null);\n }\n else {\n const dossierData_4 = matchValue_13;\n return singleton((children = ofArray([createElement(ChooseContact, {\n contactOption: contact,\n partnerName: partnerName,\n isPartnerSelected: isPartnerSelected.State,\n homeVisitContactName: contactName,\n homeVisitContactPhoneNo: contactEmail,\n }), createElement(ChooseInvoicing, {\n invoiceOption: invoice,\n partnerName: partnerName,\n customerControl: findCustomer,\n invoicingPartySameAsOwner: invoicingPartySameAsOwner,\n setInvoicedValue: invoice.SetFieldValue,\n contactOwner: dossierData_4.DossierOwner,\n customerPerson: invoiceCustomerPerson,\n customerCompany: invoiceCustomerCompany,\n isPartnerInvoicingAvailable: isPartnerSelected.State,\n foundCustomer: foundCustomer,\n dossierCreatePageSource: dossierCreatePageSource,\n invoicePricing: invoicePricing,\n }), createElement(ChooseCertificateContact, {\n partnerToggle: partnerToggle,\n customerToggle: customerToggle,\n emailToggle: emailToggle,\n partnerName: partnerName,\n emails: emails,\n emailsError: emailsError.State,\n isPartnerSelected: isPartnerSelected.State,\n }), createElement(ChooseAssignmentDocumentContact, {\n assignmentDocumentOption: assignmentDocumentContact,\n partnerName: partnerName,\n legalRepEmail: assignmentDocumentLegalRepEmail,\n syndicEmail: assignmentDocumentSyndicEmail,\n other: assignmentDocumentOther,\n isPartnerSelected: isPartnerSelected.State,\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n })));\n }\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_9))])])))), delay(() => {\n let elems_10;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 2], (elems_10 = toList(delay(() => {\n let value_45;\n return append(singleton((value_45 = stepString(new Step_1(2)), createElement(\"h1\", {\n children: [value_45],\n }))), delay(() => {\n const matchValue_14 = [dossierData, dossierDataContact];\n let pattern_matching_result_1, dossierData_5, dossierDataContact_2;\n if (matchValue_14[0] != null) {\n if (matchValue_14[1] != null) {\n pattern_matching_result_1 = 0;\n dossierData_5 = matchValue_14[0];\n dossierDataContact_2 = matchValue_14[1];\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n return singleton(createElement(Review, {\n dossierData: dossierData_5,\n dossierDataContact: dossierDataContact_2,\n partnerName: partnerName,\n isPartnerSelected: isPartnerSelected.State,\n }));\n }\n case 1: {\n return singleton(null);\n }\n }\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_10))])])))), delay(() => singleton(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: toList(delay(() => {\n let elems_11;\n const hidden = activeStep === 0;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"className\", alignEnd], [\"hidden\", hidden], (elems_11 = [MuiHelpers_createElement(Button, [[\"color\", \"default\"], [\"variant\", \"contained\"], [\"disabled\", hidden ? true : creatingDossier], [\"children\", \"Terug\"], [\"onClick\", (_arg_3) => {\n const matchValue_12 = topRef.current;\n if (matchValue_12 == null) {\n }\n else {\n const topRef_2 = matchValue_12;\n topRef_2.scrollIntoView(true);\n }\n setActiveStep(activeStep - 1);\n }]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_11))])])))), delay(() => {\n let elems_12;\n return singleton(createElement(\"div\", createObj(ofArray([[\"className\", alignEnd], (elems_12 = [MuiHelpers_createElement(Button, toList(delay(() => {\n let matchValue_15;\n return append(singleton([\"disabled\", (matchValue_15 = item(activeStep, steps), (matchValue_15.tag === 0) ? false : ((matchValue_15.tag === 2) && creatingDossier))]), delay(() => append((activeStep === (length(steps) - 1)) ? singleton([\"color\", \"secondary\"]) : singleton([\"color\", \"primary\"]), delay(() => append(singleton([\"variant\", \"contained\"]), delay(() => append(singleton([\"children\", (activeStep === (length(steps) - 1)) ? \"Bevestigen\" : \"Volgende stap\"]), delay(() => singleton([\"onClick\", (_arg_4) => {\n const matchValue_7 = topRef.current;\n if (matchValue_7 == null) {\n }\n else {\n const topRef_1 = matchValue_7;\n topRef_1.scrollIntoView(true);\n }\n const matchValue_8 = item(activeStep, steps);\n switch (matchValue_8.tag) {\n case 0: {\n iterate((buttonElement) => {\n buttonElement.click();\n }, toArray_2(dossierCreateButtonRef.current));\n break;\n }\n case 2: {\n const matchValue_9 = [dossierData, dossierDataContact];\n let pattern_matching_result_2, dossierData_1, dossierDataContact_1;\n if (matchValue_9[0] != null) {\n if (matchValue_9[1] != null) {\n pattern_matching_result_2 = 0;\n dossierData_1 = matchValue_9[0];\n dossierDataContact_1 = matchValue_9[1];\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n setCreatingDossier(true);\n onCreateDossier(new CreateDossierData2(dossierData_1, dossierDataContact_1))(patternInput_10[0])(patternInput_14[0])(patternInput_15[0])(patternInput_16[0])(patternInput_13[0])(() => {\n setCreatingDossier(false);\n });\n break;\n }\n case 1: {\n break;\n }\n }\n break;\n }\n default: {\n iterate((data) => {\n let homeVisitContact, matchValue_5, name_1, emails_1, customEmail, e_2, assignmentDocContact;\n if (data.InvoicingParty.tag === 2) {\n }\n else if ((((homeVisitContact = data.Contact.Value, (emailsError.Off(), (homeVisitContact.tag === 2) ? ((matchValue_5 = [data.ContactName, data.ContactEmail], (matchValue_5[0] != null) && ((name_1 = matchValue_5[0], true)))) : ((homeVisitContact.tag === 3) ? ((matchValue_5 = [data.ContactName, data.ContactEmail], (matchValue_5[0] != null) && ((name_1 = matchValue_5[0], true)))) : true)))) && ((emails_1 = data.CertificateCustomEmails, (customEmail = data.CertificateEmailCustom, (emailsError.Off(), (((!data.CertificateEmailPartner) && (!customEmail)) && (!data.CertificateEmailClient)) ? ((emailsError.On(), false)) : (customEmail ? ((emails_1 == null) ? false : ((e_2 = emails_1, true))) : true)))))) && ((assignmentDocContact = data.AssignmentDocumentContact.Value, (assignmentDocContact.tag === 2) ? (data.AssignmentContactEmail != null) : ((assignmentDocContact.tag === 3) ? (data.AssignmentContactEmail != null) : ((assignmentDocContact.tag === 4) ? (data.AssignmentContactEmail != null) : true))))) {\n patternInput_3[1](new CreateDossierDataContact(data.AssignmentContactEmail, data.AssignmentDocumentContact.Value, data.CertificateCustomEmails, data.CertificateEmailClient, data.CertificateEmailCustom, data.CertificateEmailPartner, data.Contact.Value, data.ContactName, data.ContactEmail, data.InvoicingParty, invoicePricing.State ? (new InvoicePricing(0)) : (new InvoicePricing(1))));\n setStepsCompleted(updateStepCompletion(activeStep, true, stepsCompleted));\n setActiveStep(activeStep + 1);\n }\n }, toArray_2(useFormValidator(assignmentDocumentContact.Validator, (r_3, x_8) => {\n let assignVal;\n const matchValue_4 = x_8.Value;\n switch (matchValue_4.tag) {\n case 2: {\n assignVal = useFormValidator(assignmentDocumentLegalRepEmail.Validator, (unitVar_8, x_9) => ({\n AssignmentDocumentContactEmail: x_9,\n }), useForm()).Validate();\n break;\n }\n case 3: {\n assignVal = useFormValidator(assignmentDocumentSyndicEmail.Validator, (unitVar_9, x_10) => ({\n AssignmentDocumentContactEmail: x_10,\n }), useForm()).Validate();\n break;\n }\n case 4: {\n assignVal = useFormValidator(assignmentDocumentOther.Validator, (unitVar_10, x_11) => ({\n AssignmentDocumentContactEmail: x_11,\n }), useForm()).Validate();\n break;\n }\n default: {\n assignVal = (void 0);\n }\n }\n if (assignVal == null) {\n return {\n AssignmentContactEmail: void 0,\n AssignmentDocumentContact: x_8,\n CertificateCustomEmails: r_3.CertificateCustomEmails,\n CertificateEmailClient: r_3.CertificateEmailClient,\n CertificateEmailCustom: r_3.CertificateEmailCustom,\n CertificateEmailPartner: r_3.CertificateEmailPartner,\n Contact: r_3.Contact,\n ContactEmail: r_3.ContactEmail,\n ContactName: r_3.ContactName,\n InvoicingParty: r_3.InvoicingParty,\n };\n }\n else {\n return {\n AssignmentContactEmail: assignVal.AssignmentDocumentContactEmail,\n AssignmentDocumentContact: x_8,\n CertificateCustomEmails: r_3.CertificateCustomEmails,\n CertificateEmailClient: r_3.CertificateEmailClient,\n CertificateEmailCustom: r_3.CertificateEmailCustom,\n CertificateEmailPartner: r_3.CertificateEmailPartner,\n Contact: r_3.Contact,\n ContactEmail: r_3.ContactEmail,\n ContactName: r_3.ContactName,\n InvoicingParty: r_3.InvoicingParty,\n };\n }\n }, useFormValidator(invoice.Validator, (r_2, x_5) => {\n if (foundCustomer) {\n if (customer == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(0, customer)),\n };\n }\n }\n else {\n const matchValue_1 = x_5.Value;\n switch (matchValue_1.tag) {\n case 1: {\n const matchValue_2 = useFormValidator(invoiceCustomerPerson.Validator, (unitVar_6, x_6) => ({\n CustomerPersonData: x_6,\n }), useForm()).Validate();\n if (matchValue_2 == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n const c_2 = matchValue_2.CustomerPersonData;\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(1, new CustomerData2(0, new CustomerPersonData(c_2.LastName, c_2.FirstName, c_2.Address, c_2.Email, c_2.PhoneNumber, false)))),\n };\n }\n }\n case 2: {\n const matchValue_3 = useFormValidator(invoiceCustomerCompany.Validator, (unitVar_7, x_7) => ({\n CustomerCompanyData: x_7,\n }), useForm()).Validate();\n if (matchValue_3 == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n const c_4 = matchValue_3.CustomerCompanyData;\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(1, new CustomerData2(1, new CustomerCompanyData(c_4.CompanyName, c_4.CompanyType, c_4.Address, c_4.Email, c_4.PhoneNumber, c_4.VatNumber, false, c_4.IsVME, c_4.IsSocialHousingCompany, c_4.LastName, c_4.FirstName)))),\n };\n }\n }\n default: {\n if (customer == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(0, customer),\n };\n }\n }\n }\n }\n }, useFormValidator(contact.Validator, (r_1, x_3) => {\n const partnerEmail = isPartnerSelected.State && partnerToggle.State;\n if (emailToggle.State) {\n const emailsVal_1 = useFormValidator(emails.Validator, (unitVar_5, x_4) => ({\n CertificateCustomEmails: x_4,\n }), useForm()).Validate();\n if (emailsVal_1 == null) {\n return {\n CertificateCustomEmails: void 0,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n else {\n return {\n CertificateCustomEmails: emailsVal_1.CertificateCustomEmails,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n }\n else {\n return {\n CertificateCustomEmails: void 0,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n }, useFormValidator(contact.Validator, (unitVar_3, x) => {\n const matchValue = x.Value;\n switch (matchValue.tag) {\n case 2:\n case 3: {\n const emailsVal = useFormValidator(contactEmail.Validator, (r, x_2) => ({\n ContactEmail: x_2,\n ContactName: r.ContactName,\n }), useFormValidator(contactName.Validator, (unitVar_4, x_1) => ({\n ContactName: x_1,\n }), useForm())).Validate();\n if (emailsVal == null) {\n return {\n Contact: x,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const e = emailsVal;\n return {\n Contact: x,\n ContactEmail: e.ContactEmail,\n ContactName: e.ContactName,\n };\n }\n }\n default: {\n return {\n Contact: x,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n }\n }, useForm())))).Validate()));\n }\n }\n }])))))))));\n })))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_12))])]))));\n }));\n })),\n }))));\n }));\n }));\n }));\n }));\n })))), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_2)),\n }))];\n return react.createElement(react.Fragment, {}, ...xs_7);\n}\n\n","import { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { useSnackbar } from \"notistack\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { Browser_Types_File__File_ReadAsByteArray } from \"../fable_modules/Fable.Remoting.Client.7.25.0/Extensions.fs.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { createElement } from \"react\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { Compensation_get_DefaultCompensation } from \"../../../shared/Domain.fs.js\";\nimport { CreateDossierStepperPage } from \"../../../DesignSystems/dossier/DossierCreate.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossierDetail, customerDetail } from \"../AppRoutes.fs.js\";\nimport { curry } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { DossierCreatePageSource } from \"../../../DesignSystems/DossierUtils.fs.js\";\n\nexport function Create(createInputProps) {\n const api = createInputProps.api;\n const currentPage = createInputProps.currentPage;\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const customers = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCustomers(new PagingQuery(0, 2147483647), void 0), [patternInput[0]]);\n const snackbar = useSnackbar();\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(void 0);\n const setCustomer = patternInput_1[1];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(void 0);\n const compensationAmount = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCompensationAmount(), []);\n const uploadFile = (dossierCode, file, endpoint) => singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(Browser_Types_File__File_ReadAsByteArray(file), (_arg) => singleton.Bind(endpoint(dossierCode)(_arg)(file.name), (_arg_1) => {\n const output = _arg_1;\n if (output.tag === 1) {\n const err = output.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Bestand opgeladen\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n return singleton.Return();\n }\n }))), (_arg_2) => {\n const e = _arg_2;\n console.error(e);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }));\n const getCustomer = (customerCode) => {\n startImmediate(singleton.Delay(() => singleton.Bind(api.GetCustomer(customerCode), (_arg_8) => {\n const customer_1 = _arg_8;\n if (customer_1.tag === 1) {\n const err_2 = customer_1.fields[0];\n console.error(err_2);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_2}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n setCustomer(customer_1.fields[0]);\n return singleton.Zero();\n }\n })));\n };\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton.Delay(() => singleton.Bind(api.GetCustomerOfPartner(), (_arg_11) => {\n const customer_3 = _arg_11;\n if (customer_3.tag === 1) {\n const err_4 = customer_3.fields[0];\n console.error(err_4);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_4}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n const customer_4 = customer_3.fields[0];\n patternInput_2[1](customer_4);\n setCustomer(customer_4);\n return singleton.Zero();\n }\n })));\n }, []);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Nieuw dossier aanmaken\",\n actions: [],\n children: [createElement(DisplayDeferred, {\n data: compensationAmount,\n view: (compensationAmt) => {\n const compAmt = (compensationAmt == null) ? Compensation_get_DefaultCompensation() : compensationAmt;\n return createElement(CreateDossierStepperPage, {\n customerUrl: (arg_5) => Page$2__toUrl_2B594(customerDetail, arg_5),\n getCustomer: getCustomer,\n customers: customers,\n onCreateDossier: (dossierData) => ((comment) => ((floorplan) => ((cadastralRecords) => ((propertyOtrher) => ((sendMailToPartner) => ((onCompleted) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.CreateDossier(dossierData, comment), (_arg_3) => {\n let floorplan_1;\n const result = _arg_3;\n if (result.tag === 0) {\n const dossierCode_1 = result.fields[0];\n return singleton.Combine((floorplan == null) ? ((singleton.Zero())) : ((floorplan_1 = floorplan, singleton.Bind(uploadFile(dossierCode_1, floorplan_1, curry(3, api.UploadFloorplan)), () => singleton.Return()))), singleton.Delay(() => {\n let cadastralRecords_1;\n return singleton.Combine((cadastralRecords == null) ? ((singleton.Zero())) : ((cadastralRecords_1 = cadastralRecords, singleton.Bind(uploadFile(dossierCode_1, cadastralRecords_1, curry(3, api.UploadCadastralRecords)), () => singleton.Return()))), singleton.Delay(() => {\n let propertyOtrher_1;\n return singleton.Combine((propertyOtrher == null) ? ((singleton.Zero())) : ((propertyOtrher_1 = propertyOtrher, singleton.Bind(uploadFile(dossierCode_1, propertyOtrher_1, curry(3, api.UploadPropertyOther)), () => singleton.Return()))), singleton.Delay(() => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een nieuw dossier is aangemaakt\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierDetail, dossierCode_1.Value)), 1, 1);\n return singleton.Zero();\n }));\n }));\n }));\n }\n else {\n const err_1 = result.fields[0];\n console.error(err_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_1}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, true));\n return singleton.Zero();\n }\n })), (_arg_7) => {\n const e_1 = _arg_7;\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e_1.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, true));\n console.error(e_1);\n return singleton.Zero();\n })), () => {\n onCompleted();\n })));\n })))))),\n onCreateCustomer: (customerData) => ((onCompleted_1) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.CreateCustomer(customerData), (_arg_9) => {\n const result_1 = _arg_9;\n if (result_1.tag === 0) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een nieuwe klant is aangemaakt\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n getCustomer(result_1.fields[0].Code);\n return singleton.Zero();\n }\n else {\n const err_3 = result_1.fields[0];\n console.error(err_3);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_3}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n })), (_arg_10) => {\n const e_2 = _arg_10;\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e_2.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(e_2);\n return singleton.Zero();\n })), () => {\n onCompleted_1();\n })));\n }),\n customer: patternInput_1[0],\n setCustomer: setCustomer,\n partnersList: void 0,\n setPartnerId: void 0,\n dossierCreatePageSource: new DossierCreatePageSource(1),\n compensation: compAmt,\n });\n },\n })],\n });\n}\n\n","import { iterate, toArray, empty as empty_1, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { NumberFieldFloat, DiscountOption__get_Label, TextField, TextFieldDisabled, OptionField, DiscountOption, CheckBox, CheckIcon, DisplayData, Info, InfoTitle } from \"../DesignSystem.fs.js\";\nimport { Col, Row } from \"../../Components/UtilComponents.fs.js\";\nimport { alignEnd, Padding, modal, Boldness, MarginTop, MarginRight, error, PaddingLeft, MarginBottom, flexExpand, Gap } from \"../../Styles/Utils.fs.js\";\nimport { item, length, map as map_1, toArray as toArray_1, ofArray, empty, singleton as singleton_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { CustomerCompanyData, CustomerData2, CustomerPersonData, DossierCustomerSelection, DossierCustomer, CreateDossierDataContact, InvoicePricing, CreateDossierData2, Customer2__get_CustomerOrCompanyName, EmailList_fromList, CommentSource as CommentSource_1, CreateDossierData, TypeOfDiscount, PartnerId as PartnerId_1, DossierStatus, DossierOwner__get_Address, InspectionLocationExtra, DossierClient, Customer2__get_Code, Decimal___UnsafeCreate_32C73145, TypeOfDossierData___UnsafeCreate_Z1D754B91, OwnerStatus as OwnerStatus_2, NonEmptyString, DossierOwner as DossierOwner_4, Compensation, Decimal_get_Create, Compensation_get_DefaultCompensation, VatNumber___UnsafeUnwrap_18C04ACB, ContactOwner, AsbestInventoryData_Create_7B10C0C6, TypeOfDossierData_Create_Z6219B46, AsbestInventory, TypeOfDossier as TypeOfDossier_1, PhoneNumber_get_Create, Email_get_Create, EmptyString_get_Create, NonEmptyString_get_Create, SelectOptionData$1_Create_Z510A3DC0, InvoicePricingModule_string, AssignmentDocumentModule_string, HomeVisitContactModule_string, CustomerData2__get_Address, CustomerData2__get_PhoneNumber, CustomerData2__get_Email, Customer2__get_Address, Customer2__get_PhoneNumber, PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_Email, Email___UnsafeUnwrap_Z27D11339, NonEmptyString___UnsafeUnwrap_Z73AD07C } from \"../../shared/Domain.fs.js\";\nimport { toArray as toArray_2, some, map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { InspectionLocation_extra, Customer2_name, Compensation_compensation, InspectionLocation_type$0027, Address_address } from \"../../shared/Format.fs.js\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport List from \"@material-ui/core/List\";\nimport { useForm, useFormValidator, useFormField } from \"../../CustomHooks/ComposedForm.fs.js\";\nimport { useReact_useElementRef, useReact_useButtonRef, useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { CreateAddressFormWithReset, useAddressForm } from \"../AddressHook.fs.js\";\nimport { ParseNonNegative } from \"../../shared/Validators.fs.js\";\nimport { useUsername, useToggle } from \"../../CustomHooks/CustomHooks.fs.js\";\nimport { getPartnerType, filterPartnerOptions, PartnerOption_get_empty, PartnerOption, PartnerOption_get_none } from \"../partner/PartnerUtils.fs.js\";\nimport { ofSeq } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Set.js\";\nimport { createObj, equals, compare } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { Compensation_fromDomain, AsbestInventoryProfile_get_defaultInventory, AsbestInventoryProfile } from \"../../shared/DomainHelpers.fs.js\";\nimport { ChooseAssignmentDocumentContact, ChooseCertificateContact, ChooseInvoicing, ChooseContact, FindCustomer, CustomerOption, useCreateCustomerCompanyForm, useCreateCustomerPersonForm, Invoiced, CustomerOption_get_none, ChooseOwner, useCreateDossierOwnerPersonForm, useCreateDossierOwnerCompanyForm } from \"../Contacts.fs.js\";\nimport { printf, toConsole, isNullOrWhiteSpace, join, isNullOrEmpty } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { fromParts, compare as compare_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { RouterModule_nav } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { Step as Step_1, stepString, steps, CompensationOptions, DossierCreatePageSource, AsbestInventoryDataOptions } from \"../DossierUtils.fs.js\";\nimport { InspectionLocationType, ChooseInspectionLocationFormCheckbox } from \"../InspectionLocation.fs.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { CreateCustomerForm, CopyCustomerAddress } from \"../CustomerForms.fs.js\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport TextField_1 from \"@material-ui/core/TextField\";\nimport Chip from \"@material-ui/core/Chip\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { SafeNotNullCheck } from \"../Utils.fs.js\";\nimport { CommentTypeTabs, CommentEditor, CommentList } from \"../CommentEditor.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { CommentData } from \"../../shared/Api.fs.js\";\nimport { mapIndexed } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\n\nexport function Review(reviewInputProps) {\n const partnerName = reviewInputProps.partnerName;\n const dossierDataContact = reviewInputProps.dossierDataContact;\n const dossierData = reviewInputProps.dossierData;\n const children = toList(delay(() => append(singleton(createElement(InfoTitle, {\n text: \"Factuur\",\n })), delay(() => append(singleton(createElement(Info, {\n secondary: \"Verantwoordelijkheid\",\n primary: \"Facturatiegegevens\",\n })), delay(() => singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Klant\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_4, person_2, matchValue_3, person_1, matchValue_1, person;\n const matchValue = dossierDataContact.InvoicingParty;\n switch (matchValue.tag) {\n case 1: {\n const matchValue_2 = matchValue.fields[0];\n if (matchValue_2.tag === 0) {\n const customer_3 = matchValue_2.fields[0];\n return append((matchValue_4 = customer_3, (matchValue_4.tag === 0) ? ((person_2 = matchValue_4.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_2.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_2.LastName)]))))) : singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_4.fields[0].CompanyName)])), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer_3))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer_3)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(Customer2__get_Address(customer_3))])))))));\n }\n else {\n const customer_2 = matchValue_2.fields[0];\n return append((matchValue_3 = customer_2, (matchValue_3.tag === 0) ? ((person_1 = matchValue_3.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_1.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_1.LastName)]))))) : singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_3.fields[0].CompanyName)])), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(CustomerData2__get_Email(customer_2))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, CustomerData2__get_PhoneNumber(customer_2)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(CustomerData2__get_Address(customer_2))])))))));\n }\n }\n case 2: {\n return empty_1();\n }\n default: {\n const customer = matchValue.fields[0];\n return append((matchValue_1 = customer, (matchValue_1.tag === 0) ? ((person = matchValue_1.fields[0], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.FirstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person.LastName)]))))) : singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_1.fields[0].CompanyName)])), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(Customer2__get_Email(customer))]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_PhoneNumber(customer)), \"-\")]), delay(() => singleton([\"Adres\", Address_address(Customer2__get_Address(customer))])))))));\n }\n }\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_1 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Eigenaar\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n const matchValue_5 = dossierData.DossierOwner;\n if (matchValue_5.tag === 0) {\n const person_3 = matchValue_5.fields[0];\n return append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_3.FirstName)]), delay(() => append(singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(person_3.LastName)]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(person_3.Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, person_3.PhoneNumber), \"-\")]), delay(() => singleton([\"Adres\", Address_address(person_3.Address)])))))))));\n }\n else {\n const company_3 = matchValue_5.fields[0];\n return append(singleton([\"Bedrijfsnaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(company_3.CompanyName)]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(company_3.Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, company_3.PhoneNumber), \"-\")]), delay(() => singleton([\"Adres\", Address_address(company_3.Address)])))))));\n }\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_2 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(dossierData.InspectionLocation.Value)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierData.Address.City)]]),\n })),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_6;\n return append((matchValue_6 = dossierData.InspectionLocation.Value, (matchValue_6.tag === 14) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((matchValue_6.tag === 16) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((matchValue_6.tag === 15) ? append(singleton([\"Berging\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialBerging), \"0\")]), delay(() => singleton([\"Garagebox\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierData.ResidentialGaragebox), \"0\")]))) : ((empty_1()))))), delay(() => {\n let matchValue_7;\n return append(singleton([\"Gebouwdeel/Vleugel/Blok\", (matchValue_7 = dossierData.BuildingDetail, (matchValue_7 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_7))]), delay(() => {\n let matchValue_8;\n return append(singleton([\"Wooneenheden\", (matchValue_8 = dossierData.HousingUnit, (matchValue_8 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_8))]), delay(() => {\n let matchValue_9;\n return append(singleton([\"Jaar van constructie\", (matchValue_9 = dossierData.YearsOfConstruction, (matchValue_9 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_9))]), delay(() => {\n let matchValue_10;\n return append(singleton([\"Jaar van renovatie\", (matchValue_10 = dossierData.YearsOfRenovation, (matchValue_10 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_10))]), delay(() => {\n let matchValue_11;\n return append(singleton([\"Aantal ingangen in het gebouw\", (matchValue_11 = dossierData.NumberOfEntrances, (matchValue_11 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_11))]), delay(() => {\n let matchValue_12;\n return append(singleton([\"Leidingisolatie (lopende meter)\", (matchValue_12 = dossierData.PipeIsolationMeters, (matchValue_12 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_12))]), delay(() => {\n let matchValue_13;\n return append(singleton([\"Gangen per verdiep\", (matchValue_13 = dossierData.HallwaysPerLevel, (matchValue_13 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13))]), delay(() => singleton([\"Stooklokaal\", createElement(CheckIcon, {\n props: [],\n value: dossierData.BoilerRoom,\n })])));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })),\n })),\n })]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])])), delay(() => {\n let elems_3;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_3 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Communicatie en facturatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: ofArray([createElement(DisplayData, {\n data: ofArray([[\"Contact afspraak\", HomeVisitContactModule_string(dossierDataContact.HomeVisitContact)], [\"Wie tekent het opdrachtforumlier?\", AssignmentDocumentModule_string(dossierDataContact.AssignmentDocumentContact)]]),\n }), MuiHelpers_createElement(Divider, []), createElement(InfoTitle, {\n text: \"We versturen het asbestattest naar\",\n }), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([partnerName, CheckBox(dossierDataContact.CertificateEmailPartner)]), delay(() => append(singleton([\"Klant\", CheckBox(dossierDataContact.CertificateEmailClient)]), delay(() => {\n const matchValue_14 = dossierDataContact.CertificateCustomEmails;\n if (matchValue_14 != null) {\n return singleton([\"Extra Emails\", matchValue_14.Value]);\n }\n else {\n return empty_1();\n }\n })))))),\n }), createElement(DisplayData, {\n data: singleton_1([\"Tarieven van prijzen\", InvoicePricingModule_string(dossierDataContact.InvoicePricing)]),\n })]),\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_3))])])), delay(() => {\n let elems_4;\n const matchValue_15 = dossierData.PartnerId;\n if (matchValue_15 == null) {\n return singleton(null);\n }\n else {\n const p = matchValue_15;\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_4 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Partner\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: singleton_1([\"Vergoedingen\", defaultArg(map(Compensation_compensation, dossierData.CompensationAmount), \"-\")]),\n })),\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])]));\n }\n }));\n }));\n }));\n }));\n })),\n }))))))));\n return MuiHelpers_createElement(List, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]);\n}\n\nexport function EditDossierForm(editDossierFormInputProps) {\n let matchValue_1, matchValue_2, matchValue_3, matchValue_4, f1, f1_1, matchValue_8, f1_2, f1_3, f1_4, f1_5, f1_6, f1_7, f1_8, f1_9, f1_10, f1_11, matchValue_9, partner, matchValue_10, matchValue_11, matchValue_13, matchValue_15, c;\n const dossierCreatePageSource = editDossierFormInputProps.dossierCreatePageSource;\n const buttonRef = editDossierFormInputProps.buttonRef;\n const onEditDossier = editDossierFormInputProps.onEditDossier;\n const partners = editDossierFormInputProps.partners;\n const dossierUrl = editDossierFormInputProps.dossierUrl;\n const customerUrl = editDossierFormInputProps.customerUrl;\n const showInternalComments = editDossierFormInputProps.showInternalComments;\n const setCommentType = editDossierFormInputProps.setCommentType;\n const commentType = editDossierFormInputProps.commentType;\n const comments = editDossierFormInputProps.comments;\n const dossierDetails = editDossierFormInputProps.dossierDetails;\n const dossier = dossierDetails.Dossier;\n const inspectionLocationData = useFormField(dossier.InspectionLocation, SelectOptionData$1_Create_Z510A3DC0);\n const yearOfConstructionRequiredError = useFeliz_React__React_useState_Static_1505(false)[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(false);\n let otherData;\n const matchValue = dossier.InspectionLocationOther;\n otherData = ((matchValue == null) ? \"\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue));\n const residentialOther = useFormField((matchValue_1 = dossier.InspectionLocation, (matchValue_1.tag === 23) ? matchValue_1.fields[0].Value : \"\"), NonEmptyString_get_Create());\n const nonResidentialOther = useFormField((matchValue_2 = dossier.InspectionLocation, (matchValue_2.tag === 12) ? matchValue_2.fields[0].Value : \"\"), NonEmptyString_get_Create());\n const inSocialUseOther = useFormField((matchValue_3 = dossier.InspectionLocation, (matchValue_3.tag === 30) ? matchValue_3.fields[0].Value : \"\"), NonEmptyString_get_Create());\n let rBerging;\n const matchValue_5 = dossier.ResidentialBerging;\n rBerging = ((matchValue_5 != null) ? matchValue_5.Value : \"0\");\n let rGaragebox;\n const matchValue_6 = dossier.ResidentialGaragebox;\n rGaragebox = ((matchValue_6 != null) ? matchValue_6.Value : \"0\");\n const publicOther = useFormField((matchValue_4 = dossier.InspectionLocation, (matchValue_4.tag === 3) ? matchValue_4.fields[0].Value : \"\"), NonEmptyString_get_Create());\n const residentialBerging = useFormField(rBerging, NonEmptyString_get_Create());\n const residentialGaragebox = useFormField(rGaragebox, NonEmptyString_get_Create());\n const dossierClientData = useFormField(dossier.Client, SelectOptionData$1_Create_Z510A3DC0);\n const buildingDetail = useFormField(\"\", EmptyString_get_Create());\n const isUserOwnerOfArea = useFormField(dossier.IsUserOwnerOfInspectionArea, SelectOptionData$1_Create_Z510A3DC0);\n let bus_1;\n const matchValue_7 = dossier.Address.Bus;\n bus_1 = ((matchValue_7 == null) ? \"\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_7));\n const addressCase = useAddressForm(NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.Street), NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.Number), bus_1, NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.PostalCode), NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.City));\n const yearOfConstruction = useFormField(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.YearsOfConstruction), \"\"), (f1 = NonEmptyString_get_Create(), (arg_14) => some(f1(arg_14))));\n const yearOfRenovation = useFormField(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.YearsOfRenovation), \"\"), (f1_1 = NonEmptyString_get_Create(), (arg_17) => some(f1_1(arg_17))));\n const discount = useFormField((matchValue_8 = dossier.Discount, (matchValue_8.tag === 1) ? (`${matchValue_8.fields[0]}`) : ((matchValue_8.tag === 2) ? (`${matchValue_8.fields[0]}`) : \"0\")), ParseNonNegative);\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(dossier.IsCibDossier);\n const ownerFirstName = useFormField(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_FirstName), \"\"), (f1_2 = NonEmptyString_get_Create(), (arg_20) => some(f1_2(arg_20))));\n const ownerLastName = useFormField(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_LastName), \"\"), (f1_3 = NonEmptyString_get_Create(), (arg_23) => some(f1_3(arg_23))));\n const ownerEmail = useFormField(Email___UnsafeUnwrap_Z27D11339(dossier.Owner_Email), Email_get_Create());\n const ownerPhoneNumber = useFormField(defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, dossier.Owner_PhoneNumber), \"\"), (f1_4 = PhoneNumber_get_Create(), (arg_27) => some(f1_4(arg_27))));\n let ownerAddress;\n const street = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.Street);\n const number = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.Number);\n const postalCode = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.PostalCode);\n const city = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.City);\n ownerAddress = useAddressForm(street, number, defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_Address.Bus), \"\"), postalCode, city);\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(false);\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(\"\");\n const comment = patternInput_4[0];\n const inspectionLocationBerging = useToggle(defaultArg(dossier.InspectionLocationBerging, false));\n const inspectionLocationStaanplaats = useToggle(defaultArg(dossier.InspectionLocationStaanplaats, false));\n const inspectionLocationGaragebox = useToggle(defaultArg(dossier.InspectionLocationGaragebox, false));\n const numberOfEntrances = useFormField(defaultArg(map((f) => f.Value, dossier.NumberOfEntrances), \"\"), (f1_5 = NonEmptyString_get_Create(), (arg_34) => some(f1_5(arg_34))));\n const boilerRoom = useToggle(defaultArg(map((f_1) => f_1, dossier.BoilerRoom), false));\n const pipleIsolationMeters = useFormField(defaultArg(map((f_2) => f_2.Value, dossier.PipeIsolationMeters), \"\"), (f1_6 = NonEmptyString_get_Create(), (arg_36) => some(f1_6(arg_36))));\n const hallwaysPerLevel = useFormField(defaultArg(map((f_3) => f_3.Value, dossier.HallwaysPerLevel), \"\"), (f1_7 = NonEmptyString_get_Create(), (arg_38) => some(f1_7(arg_38))));\n const sharedAreaOption1 = useFormField(defaultArg(map((f_4) => f_4.Value, dossier.SharedAreaOption1), \"\"), (f1_8 = NonEmptyString_get_Create(), (arg_40) => some(f1_8(arg_40))));\n const sharedAreaOption2 = useFormField(defaultArg(map((f_5) => f_5.Value, dossier.SharedAreaOption2), \"\"), (f1_9 = NonEmptyString_get_Create(), (arg_42) => some(f1_9(arg_42))));\n const sharedAreaOption3 = useFormField(defaultArg(map((f_6) => f_6.Value, dossier.SharedAreaOption3), \"\"), (f1_10 = NonEmptyString_get_Create(), (arg_44) => some(f1_10(arg_44))));\n const sharedAreaOption4 = useFormField(defaultArg(map((f_7) => f_7.Value, dossier.SharedAreaOption4), \"\"), (f1_11 = NonEmptyString_get_Create(), (arg_46) => some(f1_11(arg_46))));\n const ownerForm = useFormValidator(ownerAddress.Validator, (r_4, x_4) => ({\n Address: x_4,\n Email: r_4.Email,\n FirstName: r_4.FirstName,\n LastName: r_4.LastName,\n PhoneNumber: r_4.PhoneNumber,\n }), useFormValidator(ownerPhoneNumber.Validator, (r_3, x_3) => ({\n Email: r_3.Email,\n FirstName: r_3.FirstName,\n LastName: r_3.LastName,\n PhoneNumber: x_3,\n }), useFormValidator(ownerEmail.Validator, (r_2, x_2) => ({\n Email: x_2,\n FirstName: r_2.FirstName,\n LastName: r_2.LastName,\n }), useFormValidator(ownerLastName.Validator, (r_1, x_1) => ({\n FirstName: r_1.FirstName,\n LastName: x_1,\n }), useFormValidator(ownerFirstName.Validator, (r, x) => ({\n FirstName: x,\n }), useForm())))));\n const patternInput_5 = useFeliz_React__React_useState_Static_1505(false);\n const patternInput_6 = useFeliz_React__React_useState_Static_1505(false);\n const patternInput_7 = useFeliz_React__React_useState_Static_1505((matchValue_9 = dossierDetails.Partner, (matchValue_9 == null) ? PartnerOption_get_none() : ((partner = matchValue_9, new PartnerOption(partner.CompanyName.Value, partner.Id.Value, partner.IsCibPartner, partner.PartnerType, dossier.CompensationAmount)))));\n const partnerOption = patternInput_7[0];\n const patternInput_8 = useFeliz_React__React_useState_Static_1505(false);\n const manualInvoice = useToggle(dossier.ManualInvoice);\n const patternInput_9 = useFeliz_React__React_useState_Static_1505((matchValue_10 = dossier.Discount, (matchValue_10.tag === 1) ? (new DiscountOption(1)) : ((matchValue_10.tag === 2) ? (new DiscountOption(2)) : (new DiscountOption(0)))));\n const discountOption = patternInput_9[0];\n const patternInput_10 = useFeliz_React__React_useState_Static_1505((matchValue_11 = dossier.Discount, (matchValue_11.tag === 1) ? false : (!(matchValue_11.tag === 2))));\n const setDisableDiscountTextInput = patternInput_10[1];\n const isPartner = (dossierCreatePageSource.tag === 2) ? true : (!(dossierCreatePageSource.tag === 0));\n const dossierTypeData = useFormField((dossier.TypeOfDossier.tag === 1) ? (new TypeOfDossier_1(1)) : (new TypeOfDossier_1(0, new AsbestInventory(0))), TypeOfDossierData_Create_Z6219B46);\n const asbestInventoryData_1 = useFormField(isPartner ? (new AsbestInventory(0)) : ((matchValue_13 = dossier.TypeOfDossier, (matchValue_13.tag === 1) ? (void 0) : matchValue_13.fields[0])), AsbestInventoryData_Create_7B10C0C6);\n const profile = isPartner ? (new AsbestInventoryProfile(ofSeq([new AsbestInventory(0), new AsbestInventory(9)], {\n Compare: compare,\n }))) : (new AsbestInventoryProfile(ofSeq(AsbestInventoryProfile_get_defaultInventory(), {\n Compare: compare,\n })));\n let patternInput_11;\n const matchValue_14 = dossier.Owner_CompanyName;\n patternInput_11 = ((matchValue_14 == null) ? [\"\", new ContactOwner(0)] : [NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_14), new ContactOwner(1)]);\n const companyOption = patternInput_11[1];\n const companyType = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_CompanyType), \"\");\n const firstName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_FirstName), \"\");\n const lastName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Owner_LastName), \"\");\n const email = Email___UnsafeUnwrap_Z27D11339(dossier.Owner_Email);\n const vatNumber = defaultArg(map(VatNumber___UnsafeUnwrap_18C04ACB, dossier.Owner_VatNumber), \"\");\n const phoneNumber = defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, dossier.Owner_PhoneNumber), \"\");\n const addressStreet = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.Street);\n const addressNumber = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Owner_Address.Number);\n const addressBus = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.Address.Bus), \"\");\n const addressPostalCode = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.PostalCode);\n const addressCity = NonEmptyString___UnsafeUnwrap_Z73AD07C(dossier.Address.City);\n const vmeOrgName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.VME_OrganizationName), \"\");\n const ownerOption = useFormField(companyOption, SelectOptionData$1_Create_Z510A3DC0);\n const ownerCompany = (companyOption.tag === 0) ? useCreateDossierOwnerCompanyForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", false, false, \"\", \"\") : useCreateDossierOwnerCompanyForm(patternInput_11[0], companyType, email, phoneNumber, vatNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity, dossier.Owner_IsVME, dossier.Owner_IsSocialHousingCompany, firstName, lastName);\n const ownerPerson = (companyOption.tag === 1) ? useCreateDossierOwnerPersonForm(\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\") : useCreateDossierOwnerPersonForm(firstName, lastName, email, phoneNumber, addressStreet, addressNumber, addressBus, addressPostalCode, addressCity);\n const patternInput_12 = useFeliz_React__React_useState_Static_1505(false);\n const isSameAddress_1 = patternInput_12[0];\n const patternInput_13 = useFeliz_React__React_useState_Static_1505(false);\n const setDisable_1 = patternInput_13[1];\n const patternInput_14 = useFeliz_React__React_useState_Static_1505(false);\n const ownerStatusData = useFormField(dossier.OwnerStatus, SelectOptionData$1_Create_Z510A3DC0);\n const ownerStatusOther = useFormField(defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossier.OwnerStatusOther), \"\"), NonEmptyString_get_Create());\n const compensationData = useFormField(dossierDetails.Dossier.CompensationAmount, SelectOptionData$1_Create_Z510A3DC0);\n const compensationCustom = useFormField((matchValue_15 = compensationData.FieldValue, (matchValue_15 == null) ? Compensation_fromDomain(Compensation_get_DefaultCompensation()) : ((c = matchValue_15, (c.tag === 11) ? c.fields[0].Value : Compensation_fromDomain(Compensation_get_DefaultCompensation())))), Decimal_get_Create());\n useReact_useEffect_Z101E1A95(() => {\n if (equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none())) {\n }\n else {\n let compensationAmt;\n const matchValue_16 = partnerOption.CompensationAmount;\n compensationAmt = ((matchValue_16 == null) ? (new Compensation(0)) : matchValue_16);\n let compensationCustomAmt_1;\n const matchValue_17 = partnerOption.CompensationAmount;\n if (matchValue_17 == null) {\n compensationCustomAmt_1 = Compensation_fromDomain(Compensation_get_DefaultCompensation());\n }\n else {\n const c_2 = matchValue_17;\n compensationCustomAmt_1 = ((c_2.tag === 11) ? c_2.fields[0].Value : Compensation_fromDomain(Compensation_get_DefaultCompensation()));\n }\n compensationData.SetFieldValue(compensationAmt);\n compensationCustom.SetFieldValue(compensationCustomAmt_1);\n }\n }, [partnerOption]);\n const isUrgent = useToggle(dossier.IsUrgent);\n const validateOther = (r_5, otherFormField) => {\n const matchValue_18 = useFormValidator(otherFormField.Validator, (unitVar_1, y_2) => ({\n Other: y_2,\n }), useForm()).Validate();\n if (matchValue_18 == null) {\n return void 0;\n }\n else {\n return matchValue_18.Other;\n }\n };\n const form = useFormValidator(ownerStatusData.Validator, (r_22, x_25) => {\n if (x_25.Value.tag === 8) {\n const matchValue_25 = useFormValidator(ownerStatusOther.Validator, (unitVar_6, y_5) => ({\n OwnerStatusOther: y_5,\n }), useForm()).Validate();\n if (matchValue_25 == null) {\n return {\n Address: r_22.Address,\n BuildingDetail: r_22.BuildingDetail,\n Discount: r_22.Discount,\n DossierClient: r_22.DossierClient,\n DossierOwner: r_22.DossierOwner,\n DossierType: r_22.DossierType,\n HallwaysPerLevel: r_22.HallwaysPerLevel,\n InspectionLocation: r_22.InspectionLocation,\n InspectionLocationBerging: r_22.InspectionLocationBerging,\n InspectionLocationGaragebox: r_22.InspectionLocationGaragebox,\n InspectionLocationOther: r_22.InspectionLocationOther,\n InspectionLocationStaanplaats: r_22.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_22.IsUserOwnerOfArea,\n NumberOfEntrances: r_22.NumberOfEntrances,\n OwnerStatus: x_25,\n OwnerStatusOther: void 0,\n PipeIsolationMeters: r_22.PipeIsolationMeters,\n ResidentialBerging: r_22.ResidentialBerging,\n ResidentialGarageBox: r_22.ResidentialGarageBox,\n SharedAreaOption1: r_22.SharedAreaOption1,\n SharedAreaOption2: r_22.SharedAreaOption2,\n SharedAreaOption3: r_22.SharedAreaOption3,\n SharedAreaOption4: r_22.SharedAreaOption4,\n YearOfRenovation: r_22.YearOfRenovation,\n YearsOfConstruction: r_22.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_22.Address,\n BuildingDetail: r_22.BuildingDetail,\n Discount: r_22.Discount,\n DossierClient: r_22.DossierClient,\n DossierOwner: r_22.DossierOwner,\n DossierType: r_22.DossierType,\n HallwaysPerLevel: r_22.HallwaysPerLevel,\n InspectionLocation: r_22.InspectionLocation,\n InspectionLocationBerging: r_22.InspectionLocationBerging,\n InspectionLocationGaragebox: r_22.InspectionLocationGaragebox,\n InspectionLocationOther: r_22.InspectionLocationOther,\n InspectionLocationStaanplaats: r_22.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_22.IsUserOwnerOfArea,\n NumberOfEntrances: r_22.NumberOfEntrances,\n OwnerStatus: x_25,\n OwnerStatusOther: matchValue_25.OwnerStatusOther,\n PipeIsolationMeters: r_22.PipeIsolationMeters,\n ResidentialBerging: r_22.ResidentialBerging,\n ResidentialGarageBox: r_22.ResidentialGarageBox,\n SharedAreaOption1: r_22.SharedAreaOption1,\n SharedAreaOption2: r_22.SharedAreaOption2,\n SharedAreaOption3: r_22.SharedAreaOption3,\n SharedAreaOption4: r_22.SharedAreaOption4,\n YearOfRenovation: r_22.YearOfRenovation,\n YearsOfConstruction: r_22.YearsOfConstruction,\n };\n }\n }\n else {\n return {\n Address: r_22.Address,\n BuildingDetail: r_22.BuildingDetail,\n Discount: r_22.Discount,\n DossierClient: r_22.DossierClient,\n DossierOwner: r_22.DossierOwner,\n DossierType: r_22.DossierType,\n HallwaysPerLevel: r_22.HallwaysPerLevel,\n InspectionLocation: r_22.InspectionLocation,\n InspectionLocationBerging: r_22.InspectionLocationBerging,\n InspectionLocationGaragebox: r_22.InspectionLocationGaragebox,\n InspectionLocationOther: r_22.InspectionLocationOther,\n InspectionLocationStaanplaats: r_22.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_22.IsUserOwnerOfArea,\n NumberOfEntrances: r_22.NumberOfEntrances,\n OwnerStatus: x_25,\n OwnerStatusOther: void 0,\n PipeIsolationMeters: r_22.PipeIsolationMeters,\n ResidentialBerging: r_22.ResidentialBerging,\n ResidentialGarageBox: r_22.ResidentialGarageBox,\n SharedAreaOption1: r_22.SharedAreaOption1,\n SharedAreaOption2: r_22.SharedAreaOption2,\n SharedAreaOption3: r_22.SharedAreaOption3,\n SharedAreaOption4: r_22.SharedAreaOption4,\n YearOfRenovation: r_22.YearOfRenovation,\n YearsOfConstruction: r_22.YearsOfConstruction,\n };\n }\n }, useFormValidator(ownerOption.Validator, (r_21, x_24) => {\n if (x_24.Value.tag === 0) {\n const matchValue_23 = useFormValidator(ownerPerson.Validator, (unitVar_5, y_4) => ({\n DossierOwner: new DossierOwner_4(0, y_4),\n }), useForm()).Validate();\n if (matchValue_23 == null) {\n return {\n Address: r_21.Address,\n BuildingDetail: r_21.BuildingDetail,\n Discount: r_21.Discount,\n DossierClient: r_21.DossierClient,\n DossierOwner: void 0,\n DossierType: r_21.DossierType,\n HallwaysPerLevel: r_21.HallwaysPerLevel,\n InspectionLocation: r_21.InspectionLocation,\n InspectionLocationBerging: r_21.InspectionLocationBerging,\n InspectionLocationGaragebox: r_21.InspectionLocationGaragebox,\n InspectionLocationOther: r_21.InspectionLocationOther,\n InspectionLocationStaanplaats: r_21.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_21.IsUserOwnerOfArea,\n NumberOfEntrances: r_21.NumberOfEntrances,\n OwnerStatus: r_21.OwnerStatus,\n PipeIsolationMeters: r_21.PipeIsolationMeters,\n ResidentialBerging: r_21.ResidentialBerging,\n ResidentialGarageBox: r_21.ResidentialGarageBox,\n SharedAreaOption1: r_21.SharedAreaOption1,\n SharedAreaOption2: r_21.SharedAreaOption2,\n SharedAreaOption3: r_21.SharedAreaOption3,\n SharedAreaOption4: r_21.SharedAreaOption4,\n YearOfRenovation: r_21.YearOfRenovation,\n YearsOfConstruction: r_21.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_21.Address,\n BuildingDetail: r_21.BuildingDetail,\n Discount: r_21.Discount,\n DossierClient: r_21.DossierClient,\n DossierOwner: matchValue_23.DossierOwner,\n DossierType: r_21.DossierType,\n HallwaysPerLevel: r_21.HallwaysPerLevel,\n InspectionLocation: r_21.InspectionLocation,\n InspectionLocationBerging: r_21.InspectionLocationBerging,\n InspectionLocationGaragebox: r_21.InspectionLocationGaragebox,\n InspectionLocationOther: r_21.InspectionLocationOther,\n InspectionLocationStaanplaats: r_21.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_21.IsUserOwnerOfArea,\n NumberOfEntrances: r_21.NumberOfEntrances,\n OwnerStatus: r_21.OwnerStatus,\n PipeIsolationMeters: r_21.PipeIsolationMeters,\n ResidentialBerging: r_21.ResidentialBerging,\n ResidentialGarageBox: r_21.ResidentialGarageBox,\n SharedAreaOption1: r_21.SharedAreaOption1,\n SharedAreaOption2: r_21.SharedAreaOption2,\n SharedAreaOption3: r_21.SharedAreaOption3,\n SharedAreaOption4: r_21.SharedAreaOption4,\n YearOfRenovation: r_21.YearOfRenovation,\n YearsOfConstruction: r_21.YearsOfConstruction,\n };\n }\n }\n else {\n const matchValue_22 = useFormValidator(ownerCompany.Validator, (unitVar_4, y_3) => ({\n DossierOwner: new DossierOwner_4(1, y_3),\n }), useForm()).Validate();\n if (matchValue_22 == null) {\n return {\n Address: r_21.Address,\n BuildingDetail: r_21.BuildingDetail,\n Discount: r_21.Discount,\n DossierClient: r_21.DossierClient,\n DossierOwner: void 0,\n DossierType: r_21.DossierType,\n HallwaysPerLevel: r_21.HallwaysPerLevel,\n InspectionLocation: r_21.InspectionLocation,\n InspectionLocationBerging: r_21.InspectionLocationBerging,\n InspectionLocationGaragebox: r_21.InspectionLocationGaragebox,\n InspectionLocationOther: r_21.InspectionLocationOther,\n InspectionLocationStaanplaats: r_21.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_21.IsUserOwnerOfArea,\n NumberOfEntrances: r_21.NumberOfEntrances,\n OwnerStatus: r_21.OwnerStatus,\n PipeIsolationMeters: r_21.PipeIsolationMeters,\n ResidentialBerging: r_21.ResidentialBerging,\n ResidentialGarageBox: r_21.ResidentialGarageBox,\n SharedAreaOption1: r_21.SharedAreaOption1,\n SharedAreaOption2: r_21.SharedAreaOption2,\n SharedAreaOption3: r_21.SharedAreaOption3,\n SharedAreaOption4: r_21.SharedAreaOption4,\n YearOfRenovation: r_21.YearOfRenovation,\n YearsOfConstruction: r_21.YearsOfConstruction,\n };\n }\n else {\n return {\n Address: r_21.Address,\n BuildingDetail: r_21.BuildingDetail,\n Discount: r_21.Discount,\n DossierClient: r_21.DossierClient,\n DossierOwner: matchValue_22.DossierOwner,\n DossierType: r_21.DossierType,\n HallwaysPerLevel: r_21.HallwaysPerLevel,\n InspectionLocation: r_21.InspectionLocation,\n InspectionLocationBerging: r_21.InspectionLocationBerging,\n InspectionLocationGaragebox: r_21.InspectionLocationGaragebox,\n InspectionLocationOther: r_21.InspectionLocationOther,\n InspectionLocationStaanplaats: r_21.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_21.IsUserOwnerOfArea,\n NumberOfEntrances: r_21.NumberOfEntrances,\n OwnerStatus: r_21.OwnerStatus,\n PipeIsolationMeters: r_21.PipeIsolationMeters,\n ResidentialBerging: r_21.ResidentialBerging,\n ResidentialGarageBox: r_21.ResidentialGarageBox,\n SharedAreaOption1: r_21.SharedAreaOption1,\n SharedAreaOption2: r_21.SharedAreaOption2,\n SharedAreaOption3: r_21.SharedAreaOption3,\n SharedAreaOption4: r_21.SharedAreaOption4,\n YearOfRenovation: r_21.YearOfRenovation,\n YearsOfConstruction: r_21.YearsOfConstruction,\n };\n }\n }\n }, useFormValidator(sharedAreaOption4.Validator, (r_20, x_23) => ({\n Address: r_20.Address,\n BuildingDetail: r_20.BuildingDetail,\n Discount: r_20.Discount,\n DossierClient: r_20.DossierClient,\n DossierType: r_20.DossierType,\n HallwaysPerLevel: r_20.HallwaysPerLevel,\n InspectionLocation: r_20.InspectionLocation,\n InspectionLocationBerging: r_20.InspectionLocationBerging,\n InspectionLocationGaragebox: r_20.InspectionLocationGaragebox,\n InspectionLocationOther: r_20.InspectionLocationOther,\n InspectionLocationStaanplaats: r_20.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_20.IsUserOwnerOfArea,\n NumberOfEntrances: r_20.NumberOfEntrances,\n OwnerStatus: r_20.OwnerStatus,\n PipeIsolationMeters: r_20.PipeIsolationMeters,\n ResidentialBerging: r_20.ResidentialBerging,\n ResidentialGarageBox: r_20.ResidentialGarageBox,\n SharedAreaOption1: r_20.SharedAreaOption1,\n SharedAreaOption2: r_20.SharedAreaOption2,\n SharedAreaOption3: r_20.SharedAreaOption3,\n SharedAreaOption4: x_23,\n YearOfRenovation: r_20.YearOfRenovation,\n YearsOfConstruction: r_20.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption3.Validator, (r_19, x_22) => ({\n Address: r_19.Address,\n BuildingDetail: r_19.BuildingDetail,\n Discount: r_19.Discount,\n DossierClient: r_19.DossierClient,\n DossierType: r_19.DossierType,\n HallwaysPerLevel: r_19.HallwaysPerLevel,\n InspectionLocation: r_19.InspectionLocation,\n InspectionLocationBerging: r_19.InspectionLocationBerging,\n InspectionLocationGaragebox: r_19.InspectionLocationGaragebox,\n InspectionLocationOther: r_19.InspectionLocationOther,\n InspectionLocationStaanplaats: r_19.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_19.IsUserOwnerOfArea,\n NumberOfEntrances: r_19.NumberOfEntrances,\n OwnerStatus: r_19.OwnerStatus,\n PipeIsolationMeters: r_19.PipeIsolationMeters,\n ResidentialBerging: r_19.ResidentialBerging,\n ResidentialGarageBox: r_19.ResidentialGarageBox,\n SharedAreaOption1: r_19.SharedAreaOption1,\n SharedAreaOption2: r_19.SharedAreaOption2,\n SharedAreaOption3: x_22,\n YearOfRenovation: r_19.YearOfRenovation,\n YearsOfConstruction: r_19.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption2.Validator, (r_18, x_21) => ({\n Address: r_18.Address,\n BuildingDetail: r_18.BuildingDetail,\n Discount: r_18.Discount,\n DossierClient: r_18.DossierClient,\n DossierType: r_18.DossierType,\n HallwaysPerLevel: r_18.HallwaysPerLevel,\n InspectionLocation: r_18.InspectionLocation,\n InspectionLocationBerging: r_18.InspectionLocationBerging,\n InspectionLocationGaragebox: r_18.InspectionLocationGaragebox,\n InspectionLocationOther: r_18.InspectionLocationOther,\n InspectionLocationStaanplaats: r_18.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_18.IsUserOwnerOfArea,\n NumberOfEntrances: r_18.NumberOfEntrances,\n OwnerStatus: r_18.OwnerStatus,\n PipeIsolationMeters: r_18.PipeIsolationMeters,\n ResidentialBerging: r_18.ResidentialBerging,\n ResidentialGarageBox: r_18.ResidentialGarageBox,\n SharedAreaOption1: r_18.SharedAreaOption1,\n SharedAreaOption2: x_21,\n YearOfRenovation: r_18.YearOfRenovation,\n YearsOfConstruction: r_18.YearsOfConstruction,\n }), useFormValidator(sharedAreaOption1.Validator, (r_17, x_20) => ({\n Address: r_17.Address,\n BuildingDetail: r_17.BuildingDetail,\n Discount: r_17.Discount,\n DossierClient: r_17.DossierClient,\n DossierType: r_17.DossierType,\n HallwaysPerLevel: r_17.HallwaysPerLevel,\n InspectionLocation: r_17.InspectionLocation,\n InspectionLocationBerging: r_17.InspectionLocationBerging,\n InspectionLocationGaragebox: r_17.InspectionLocationGaragebox,\n InspectionLocationOther: r_17.InspectionLocationOther,\n InspectionLocationStaanplaats: r_17.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_17.IsUserOwnerOfArea,\n NumberOfEntrances: r_17.NumberOfEntrances,\n OwnerStatus: r_17.OwnerStatus,\n PipeIsolationMeters: r_17.PipeIsolationMeters,\n ResidentialBerging: r_17.ResidentialBerging,\n ResidentialGarageBox: r_17.ResidentialGarageBox,\n SharedAreaOption1: x_20,\n YearOfRenovation: r_17.YearOfRenovation,\n YearsOfConstruction: r_17.YearsOfConstruction,\n }), useFormValidator(discount.Validator, (r_16, x_19) => ({\n Address: r_16.Address,\n BuildingDetail: r_16.BuildingDetail,\n Discount: x_19,\n DossierClient: r_16.DossierClient,\n DossierType: r_16.DossierType,\n HallwaysPerLevel: r_16.HallwaysPerLevel,\n InspectionLocation: r_16.InspectionLocation,\n InspectionLocationBerging: r_16.InspectionLocationBerging,\n InspectionLocationGaragebox: r_16.InspectionLocationGaragebox,\n InspectionLocationOther: r_16.InspectionLocationOther,\n InspectionLocationStaanplaats: r_16.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_16.IsUserOwnerOfArea,\n NumberOfEntrances: r_16.NumberOfEntrances,\n OwnerStatus: r_16.OwnerStatus,\n PipeIsolationMeters: r_16.PipeIsolationMeters,\n ResidentialBerging: r_16.ResidentialBerging,\n ResidentialGarageBox: r_16.ResidentialGarageBox,\n YearOfRenovation: r_16.YearOfRenovation,\n YearsOfConstruction: r_16.YearsOfConstruction,\n }), useFormValidator(hallwaysPerLevel.Validator, (r_15, x_18) => ({\n Address: r_15.Address,\n BuildingDetail: r_15.BuildingDetail,\n DossierClient: r_15.DossierClient,\n DossierType: r_15.DossierType,\n HallwaysPerLevel: x_18,\n InspectionLocation: r_15.InspectionLocation,\n InspectionLocationBerging: r_15.InspectionLocationBerging,\n InspectionLocationGaragebox: r_15.InspectionLocationGaragebox,\n InspectionLocationOther: r_15.InspectionLocationOther,\n InspectionLocationStaanplaats: r_15.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_15.IsUserOwnerOfArea,\n NumberOfEntrances: r_15.NumberOfEntrances,\n OwnerStatus: r_15.OwnerStatus,\n PipeIsolationMeters: r_15.PipeIsolationMeters,\n ResidentialBerging: r_15.ResidentialBerging,\n ResidentialGarageBox: r_15.ResidentialGarageBox,\n YearOfRenovation: r_15.YearOfRenovation,\n YearsOfConstruction: r_15.YearsOfConstruction,\n }), useFormValidator(pipleIsolationMeters.Validator, (r_14, x_17) => ({\n Address: r_14.Address,\n BuildingDetail: r_14.BuildingDetail,\n DossierClient: r_14.DossierClient,\n DossierType: r_14.DossierType,\n InspectionLocation: r_14.InspectionLocation,\n InspectionLocationBerging: r_14.InspectionLocationBerging,\n InspectionLocationGaragebox: r_14.InspectionLocationGaragebox,\n InspectionLocationOther: r_14.InspectionLocationOther,\n InspectionLocationStaanplaats: r_14.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_14.IsUserOwnerOfArea,\n NumberOfEntrances: r_14.NumberOfEntrances,\n OwnerStatus: r_14.OwnerStatus,\n PipeIsolationMeters: x_17,\n ResidentialBerging: r_14.ResidentialBerging,\n ResidentialGarageBox: r_14.ResidentialGarageBox,\n YearOfRenovation: r_14.YearOfRenovation,\n YearsOfConstruction: r_14.YearsOfConstruction,\n }), useFormValidator(numberOfEntrances.Validator, (r_13, x_16) => ({\n Address: r_13.Address,\n BuildingDetail: r_13.BuildingDetail,\n DossierClient: r_13.DossierClient,\n DossierType: r_13.DossierType,\n InspectionLocation: r_13.InspectionLocation,\n InspectionLocationBerging: r_13.InspectionLocationBerging,\n InspectionLocationGaragebox: r_13.InspectionLocationGaragebox,\n InspectionLocationOther: r_13.InspectionLocationOther,\n InspectionLocationStaanplaats: r_13.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_13.IsUserOwnerOfArea,\n NumberOfEntrances: x_16,\n OwnerStatus: r_13.OwnerStatus,\n ResidentialBerging: r_13.ResidentialBerging,\n ResidentialGarageBox: r_13.ResidentialGarageBox,\n YearOfRenovation: r_13.YearOfRenovation,\n YearsOfConstruction: r_13.YearsOfConstruction,\n }), useFormValidator(yearOfRenovation.Validator, (r_12, x_15) => ({\n Address: r_12.Address,\n BuildingDetail: r_12.BuildingDetail,\n DossierClient: r_12.DossierClient,\n DossierType: r_12.DossierType,\n InspectionLocation: r_12.InspectionLocation,\n InspectionLocationBerging: r_12.InspectionLocationBerging,\n InspectionLocationGaragebox: r_12.InspectionLocationGaragebox,\n InspectionLocationOther: r_12.InspectionLocationOther,\n InspectionLocationStaanplaats: r_12.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_12.IsUserOwnerOfArea,\n OwnerStatus: r_12.OwnerStatus,\n ResidentialBerging: r_12.ResidentialBerging,\n ResidentialGarageBox: r_12.ResidentialGarageBox,\n YearOfRenovation: x_15,\n YearsOfConstruction: r_12.YearsOfConstruction,\n }), useFormValidator(yearOfConstruction.Validator, (r_11, x_14) => ({\n Address: r_11.Address,\n BuildingDetail: r_11.BuildingDetail,\n DossierClient: r_11.DossierClient,\n DossierType: r_11.DossierType,\n InspectionLocation: r_11.InspectionLocation,\n InspectionLocationBerging: r_11.InspectionLocationBerging,\n InspectionLocationGaragebox: r_11.InspectionLocationGaragebox,\n InspectionLocationOther: r_11.InspectionLocationOther,\n InspectionLocationStaanplaats: r_11.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: r_11.IsUserOwnerOfArea,\n OwnerStatus: r_11.OwnerStatus,\n ResidentialBerging: r_11.ResidentialBerging,\n ResidentialGarageBox: r_11.ResidentialGarageBox,\n YearsOfConstruction: x_14,\n }), useFormValidator(isUserOwnerOfArea.Validator, (r_10, x_13) => ({\n Address: r_10.Address,\n BuildingDetail: r_10.BuildingDetail,\n DossierClient: r_10.DossierClient,\n DossierType: r_10.DossierType,\n InspectionLocation: r_10.InspectionLocation,\n InspectionLocationBerging: r_10.InspectionLocationBerging,\n InspectionLocationGaragebox: r_10.InspectionLocationGaragebox,\n InspectionLocationOther: r_10.InspectionLocationOther,\n InspectionLocationStaanplaats: r_10.InspectionLocationStaanplaats,\n IsUserOwnerOfArea: x_13,\n OwnerStatus: r_10.OwnerStatus,\n ResidentialBerging: r_10.ResidentialBerging,\n ResidentialGarageBox: r_10.ResidentialGarageBox,\n }), useFormValidator(addressCase.Validator, (r_9, x_12) => ({\n Address: x_12,\n BuildingDetail: r_9.BuildingDetail,\n DossierClient: r_9.DossierClient,\n DossierType: r_9.DossierType,\n InspectionLocation: r_9.InspectionLocation,\n InspectionLocationBerging: r_9.InspectionLocationBerging,\n InspectionLocationGaragebox: r_9.InspectionLocationGaragebox,\n InspectionLocationOther: r_9.InspectionLocationOther,\n InspectionLocationStaanplaats: r_9.InspectionLocationStaanplaats,\n OwnerStatus: r_9.OwnerStatus,\n ResidentialBerging: r_9.ResidentialBerging,\n ResidentialGarageBox: r_9.ResidentialGarageBox,\n }), useFormValidator(buildingDetail.Validator, (r_8, x_11) => ({\n BuildingDetail: isNullOrEmpty(x_11.Value) ? (void 0) : (new NonEmptyString(x_11.Value)),\n DossierClient: r_8.DossierClient,\n DossierType: r_8.DossierType,\n InspectionLocation: r_8.InspectionLocation,\n InspectionLocationBerging: r_8.InspectionLocationBerging,\n InspectionLocationGaragebox: r_8.InspectionLocationGaragebox,\n InspectionLocationOther: r_8.InspectionLocationOther,\n InspectionLocationStaanplaats: r_8.InspectionLocationStaanplaats,\n OwnerStatus: r_8.OwnerStatus,\n ResidentialBerging: r_8.ResidentialBerging,\n ResidentialGarageBox: r_8.ResidentialGarageBox,\n }), useFormValidator(dossierClientData.Validator, (r_7, x_10) => ({\n DossierClient: x_10,\n DossierType: r_7.DossierType,\n InspectionLocation: r_7.InspectionLocation,\n InspectionLocationBerging: r_7.InspectionLocationBerging,\n InspectionLocationGaragebox: r_7.InspectionLocationGaragebox,\n InspectionLocationOther: r_7.InspectionLocationOther,\n InspectionLocationStaanplaats: r_7.InspectionLocationStaanplaats,\n OwnerStatus: new OwnerStatus_2(8),\n ResidentialBerging: r_7.ResidentialBerging,\n ResidentialGarageBox: r_7.ResidentialGarageBox,\n }), useFormValidator(inspectionLocationData.Validator, (r_6, x_9) => {\n const matchValue_20 = x_9.Value;\n switch (matchValue_20.tag) {\n case 14:\n case 16:\n case 15: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: inspectionLocationBerging.State,\n InspectionLocationGaragebox: inspectionLocationGaragebox.State,\n InspectionLocationOther: void 0,\n InspectionLocationStaanplaats: inspectionLocationStaanplaats.State,\n ResidentialBerging: validateOther(r_6, residentialBerging),\n ResidentialGarageBox: validateOther(r_6, residentialGaragebox),\n };\n }\n case 23: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_6, residentialOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 12: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_6, nonResidentialOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 3: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_6, publicOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n case 30: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: validateOther(r_6, inSocialUseOther),\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n default: {\n return {\n DossierType: r_6.DossierType,\n InspectionLocation: x_9,\n InspectionLocationBerging: void 0,\n InspectionLocationGaragebox: void 0,\n InspectionLocationOther: void 0,\n InspectionLocationStaanplaats: void 0,\n ResidentialBerging: void 0,\n ResidentialGarageBox: void 0,\n };\n }\n }\n }, useFormValidator(dossierTypeData.Validator, (unitVar_2, x_7) => {\n if (x_7.Value.tag === 1) {\n return {\n DossierType: x_7,\n };\n }\n else {\n const s = useFormValidator(asbestInventoryData_1.Validator, (unitVar_3, x_8) => ({\n AsbestInventoryData: x_8,\n Value: x_8.Value,\n }), useForm()).Validate();\n if (s == null) {\n return {\n DossierType: x_7,\n };\n }\n else {\n return {\n DossierType: TypeOfDossierData___UnsafeCreate_Z1D754B91(new TypeOfDossier_1(0, s.Value)),\n };\n }\n }\n }, useForm()))))))))))))))))));\n const compForm = useFormValidator(compensationData.Validator, (unitVar_7, x_26) => {\n if (x_26.Value.tag === 11) {\n if (compare_1(compensationCustom.FieldValue, fromParts(0, 0, 0, false, 0)) > 0) {\n return {\n Compensation: new Compensation(11, Decimal___UnsafeCreate_32C73145(compensationCustom.FieldValue)),\n };\n }\n else {\n return {\n Compensation: void 0,\n };\n }\n }\n else {\n return {\n Compensation: x_26.Value,\n };\n }\n }, useForm());\n return createElement(Col, {\n classes: singleton_1(Gap.M),\n children: toList(delay(() => {\n let elems_1;\n return append(singleton(createElement(Row, {\n classes: singleton_1(Gap.M),\n children: ofArray([createElement(\"div\", {\n children: Interop_reactApi.Children.toArray([\"Klant\"]),\n }), createElement(\"div\", createObj(singleton_1((elems_1 = [createElement(\"a\", {\n href: \"#\",\n onClick: (e) => {\n e.preventDefault();\n RouterModule_nav(ofArray(customerUrl(Customer2__get_Code(dossierDetails.Customer))), 1, 1);\n },\n children: `${Customer2_name(dossierDetails.Customer)}`,\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))]))))]),\n })), delay(() => append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: singleton_1(createElement(ChooseOwner, {\n ownerOption: ownerOption,\n ownerCompanyForm: ownerCompany,\n ownerPersonForm: ownerPerson,\n })),\n })),\n })), delay(() => append((!isPartner) ? append(singleton(createElement(\"h2\", {\n children: [\"Type\"],\n })), delay(() => {\n let elements;\n return singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = toList(delay(() => {\n let trueVal;\n const matchValue_35 = dossierTypeData.FieldValue;\n trueVal = ((matchValue_35 == null) ? (new TypeOfDossier_1(0, new AsbestInventory(0))) : ((matchValue_35.tag === 1) ? (new TypeOfDossier_1(1)) : (new TypeOfDossier_1(0, new AsbestInventory(0)))));\n return append(singleton(OptionField(dossierTypeData, new TypeOfDossier_1(0, new AsbestInventory(0)), \"Asbestinventaris\", \"\", false)), delay(() => singleton(OptionField(dossierTypeData, new TypeOfDossier_1(1), \"Monstername\", \"\", false))));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]));\n })) : empty_1(), delay(() => {\n let matchValue_36;\n return append((matchValue_36 = dossierTypeData.FieldValue, (matchValue_36 == null) ? singleton(null) : ((matchValue_36.tag === 1) ? singleton(null) : append(singleton(createElement(\"h2\", {\n children: [\"Aanleiding van de asbestinventaris\"],\n })), delay(() => {\n let elements_1;\n return singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_1 = AsbestInventoryDataOptions(asbestInventoryData_1, profile), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]));\n })))), delay(() => {\n let elems_5, elements_2;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", true], (elems_5 = [createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(\"h2\", {\n children: [\"Opdrachtgever\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_2 = [OptionField(dossierClientData, new DossierClient(0), \"Eigenaar\", \"\", false), OptionField(dossierClientData, new DossierClient(1), \"Gevolmachtigde\", \"\", false), OptionField(dossierClientData, new DossierClient(2), \"Vereniging van mede-eigenaars\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])]),\n })),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_5))])])))), delay(() => append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(MarginBottom.L),\n children: singleton_1(createElement(ChooseInspectionLocationFormCheckbox, {\n inspectionLocationData: inspectionLocationData,\n residentialOther: residentialOther,\n nonResidentialOther: nonResidentialOther,\n inSocialUseOther: inSocialUseOther,\n publicOther: publicOther,\n selectedLocationGroups: toList(delay(() => append(singleton(new InspectionLocationType(0)), delay(() => append(singleton(new InspectionLocationType(1)), delay(() => (isPartner ? append(singleton(new InspectionLocationType(2)), delay(() => singleton(new InspectionLocationType(3)))) : empty_1()))))))),\n hideGroupSelection: isPartner,\n residentialBerging: residentialBerging,\n residentialGaragebox: residentialGaragebox,\n })),\n })),\n })), delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(Gap.M),\n children: toList(delay(() => append(singleton(createElement(\"h2\", {\n children: [\"Statuut eigenaar\"],\n })), delay(() => {\n let elements_3;\n return append(singleton(MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_3 = toList(delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(0), \"Particulier\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(6), \"Onderneming\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(7), \"VME (vereniging van medeeigneaars)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(1), \"Sociale huisvestingsmaatschappij\", \"\", false)), delay(() => {\n let matchValue_38;\n return append((dossierCreatePageSource.tag === 0) ? ((matchValue_38 = inspectionLocationData.FieldValue, (matchValue_38 != null) ? ((matchValue_38.tag === 0) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_38.tag === 1) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_38.tag === 2) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : ((matchValue_38.tag === 3) ? append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(3), \"Overheid/Parastatale (Vlaams gewest)\", \"\", false)), delay(() => append(singleton(OptionField(ownerStatusData, new OwnerStatus_2(4), \"Overheid/Parastatale (Lokaal/Regionaal)\", \"\", false)), delay(() => singleton(OptionField(ownerStatusData, new OwnerStatus_2(5), \"Overheid/Parastatale (Federaal)\", \"\", false)))))) : singleton(null))))) : singleton(null))) : singleton(null), delay(() => ((dossierCreatePageSource.tag === 0) ? singleton(OptionField(ownerStatusData, new OwnerStatus_2(8), \"Andere\", \"\", false)) : singleton(null))));\n })))))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])])), delay(() => {\n let otherfieldDisabled;\n const matchValue_40 = ownerStatusData.FieldValue;\n let pattern_matching_result;\n if (matchValue_40 != null) {\n if (matchValue_40.tag === 8) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n otherfieldDisabled = false;\n break;\n }\n case 1: {\n otherfieldDisabled = true;\n break;\n }\n }\n return (!otherfieldDisabled) ? singleton(createElement(Col, {\n classes: singleton_1(PaddingLeft.L),\n children: singleton_1(TextFieldDisabled(ownerStatusOther, \"\", \"\", true, otherfieldDisabled)),\n })) : empty_1();\n }));\n })))),\n })), delay(() => {\n let matchValue_41, xs_5, elements_4;\n const checkboxField = (label, toggleHook) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", toggleHook.State], [\"onChange\", (n) => {\n toggleHook.Toggle();\n }]])]]);\n return append((matchValue_41 = inspectionLocationData.FieldValue, (matchValue_41 != null) ? ((matchValue_41.tag === 14) ? singleton((xs_5 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_5))) : ((matchValue_41.tag === 16) ? singleton((xs_5 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_5))) : ((matchValue_41.tag === 15) ? singleton((xs_5 = [createElement(\"h2\", {\n children: [\"Zijn er een of meerdere van de volgende extra ruimtes aanwezig\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_4 = [checkboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), inspectionLocationBerging), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), inspectionLocationStaanplaats), checkboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), inspectionLocationGaragebox)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], react.createElement(react.Fragment, {}, ...xs_5))) : singleton(null)))) : singleton(null)), delay(() => {\n let matchValue_42;\n return append((matchValue_42 = inspectionLocationData.FieldValue, (matchValue_42 != null) ? ((matchValue_42.tag === 14) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_42.tag === 16) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_42.tag === 15) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : ((matchValue_42.tag === 17) ? singleton(TextField(buildingDetail, \"Gebouwdeel, vleugel, blok\", \"\", false)) : singleton(null))))) : singleton(null)), delay(() => append(singleton(TextField(yearOfConstruction, \"Jaar van constructie\", \"\", false)), delay(() => append(yearOfConstructionRequiredError ? singleton(createElement(\"div\", {\n className: join(\" \", [error]),\n children: \"Vereist.\",\n })) : empty_1(), delay(() => append(singleton(TextField(yearOfRenovation, \"Jaar van renovatie\", \"\", false)), delay(() => append(yearOfConstructionRequiredError ? singleton(createElement(\"div\", {\n className: join(\" \", [error]),\n children: \"Vereist.\",\n })) : empty_1(), delay(() => append(singleton(TextField(numberOfEntrances, \"Aantal ingangen in het gebouw\", \"\", false)), delay(() => append(singleton(TextField(pipleIsolationMeters, \"Leidingisolatie (lopende meter)\", \"\", false)), delay(() => append(singleton(TextField(hallwaysPerLevel, \"Gangen per verdiep\", \"\", false)), delay(() => {\n let matchValue_43;\n return append((matchValue_43 = inspectionLocationData.FieldValue, (matchValue_43 != null) ? ((matchValue_43.tag === 22) ? append(singleton(TextField(sharedAreaOption1, \"Tellerlokalen\", \"\", false)), delay(() => append(singleton(TextField(sharedAreaOption2, \"Vuilnislokaal\", \"\", false)), delay(() => append(singleton(TextField(sharedAreaOption3, \"Fietsberging\", \"\", false)), delay(() => singleton(TextField(sharedAreaOption4, \"Gemene Delen Option 4\", \"\", false)))))))) : singleton(null)) : singleton(null)), delay(() => append(singleton(MuiHelpers_createElement(FormControlLabel, [[\"label\", [\"Stooklokaal\"]], [\"control\", MuiHelpers_createElement(Switch, [[\"checked\", boilerRoom.State]])], [\"onChange\", (e_1) => {\n const s_1 = Browser_Types_Event__Event_get_Checked(e_1);\n boilerRoom.Toggle();\n }]])), delay(() => {\n let elements_5;\n return append(singleton(createElement(Row, {\n classes: empty(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(MarginRight.Xl),\n children: ofArray([createElement(\"h2\", {\n children: [\"Eigenaar gebruiker van het inspectiegebied\"],\n }), MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements_5 = [OptionField(isUserOwnerOfArea, true, \"Ja: bv. u woont of werk er\", \"\", false), OptionField(isUserOwnerOfArea, false, \"Nee: bv. u verhuurt de eigendom\", \"\", false)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])])]),\n })),\n })), delay(() => {\n const inspectionLocationAddressLabel = (dossierCreatePageSource.tag === 2) ? \"Zelfde als eigenaar\" : ((dossierCreatePageSource.tag === 0) ? \"Zelfde als klant\" : \"Zelfde als eigenaar\");\n const sameAsCustomerAddress = createElement(CopyCustomerAddress, {\n source: Customer2__get_Address(dossierDetails.Customer),\n target: addressCase,\n isSameAddress: isSameAddress_1,\n setIsSameAddress: patternInput_12[1],\n label: inspectionLocationAddressLabel,\n });\n return append(singleton(createElement(CreateAddressFormWithReset, {\n addressForm: addressCase,\n resetOption: sameAsCustomerAddress,\n heading: \"Adres\",\n isSameAddress: isSameAddress_1,\n })), delay(() => append(singleton(createElement(Col, {\n classes: empty(),\n children: toList(delay(() => {\n let matchValue_44, partners_1;\n return append((matchValue_44 = partners, (matchValue_44 == null) ? singleton(null) : ((partners_1 = matchValue_44, append(singleton(createElement(\"h2\", {\n children: [\"Partner\"],\n })), delay(() => {\n let elems_9;\n const options = toArray(delay(() => append(singleton(PartnerOption_get_none()), delay(() => toArray_1(map_1((partner_1) => (new PartnerOption(NonEmptyString___UnsafeUnwrap_Z73AD07C(partner_1.CompanyName), partner_1.Id.Value, partner_1.IsCibPartner, partner_1.PartnerType, partner_1.CompensationAmount)), partners_1))))));\n return singleton(MuiHelpers_createElement(FormControl, [[\"error\", patternInput_14[0]], (elems_9 = [MuiHelpers_createElement(Autocomplete, [[\"id\", \"partner-combo-box-label\"], [\"options\", Array.from(options)], [\"value\", partnerOption], [\"getOptionSelected\", (delegateArg, delegateArg_1) => (delegateArg.Id === delegateArg_1.Id)], [\"onChange\", (_arg_1, v_5, _arg_1_1) => {\n const partner_2 = v_5;\n patternInput_2[1](partner_2.IsCibPartner);\n patternInput_7[1](partner_2);\n if ((partner_2.Id === PartnerOption_get_empty().Id) ? true : (partner_2.Id === PartnerOption_get_none().Id)) {\n manualInvoice.On();\n }\n else {\n manualInvoice.Off();\n }\n }], [\"renderInput\", (params$0027) => MuiHelpers_createElement(TextField_1, toList(delay(() => append(singleton([\"variant\", \"outlined\"]), delay(() => append(singleton([\"label\", \"Partner\"]), delay(() => (Object.entries(params$0027)))))))))], [\"renderOption\", (delegateArg_2, delegateArg_1_1) => {\n const partnerOption_1 = delegateArg_2;\n const xs_8 = toList(delay(() => {\n let children_3, children_1;\n return (partnerOption_1.PartnerType.tag === 1) ? singleton((children_3 = ofArray([MuiHelpers_createElement(Chip, [[\"label\", \"Syndic\"], [\"className\", MarginRight.Xs]]), createElement(\"span\", {\n children: [partnerOption_1.Label],\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_3)),\n }))) : (partnerOption_1.IsCibPartner ? singleton((children_1 = ofArray([MuiHelpers_createElement(Chip, [[\"label\", \"CIB\"], [\"className\", MarginRight.Xs]]), createElement(\"span\", {\n children: [partnerOption_1.Label],\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_1)),\n }))) : singleton(createElement(\"span\", {\n children: [partnerOption_1.Label],\n })));\n }));\n return react.createElement(react.Fragment, {}, ...xs_8);\n }], [\"filterOptions\", (opts_1, s_2) => Array.from(filterPartnerOptions(opts_1, s_2.inputValue))], [\"getOptionLabel\", (partner_3) => partner_3.Label]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_9))])]));\n }))))), delay(() => ((equals(dossierCreatePageSource, new DossierCreatePageSource(0)) && (equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none()))) ? singleton(null) : singleton(createElement(CompensationOptions, {\n compensationData: compensationData,\n compensationCustom: compensationCustom,\n showHeader: true,\n })))));\n })),\n })), delay(() => append(equals(dossierCreatePageSource, new DossierCreatePageSource(0)) ? append(singleton(createElement(Col, {\n classes: empty(),\n children: singleton_1(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Geen standaard dossier\"], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", manualInvoice.State], [\"onChange\", (e_2) => {\n const _arg_2 = Browser_Types_Event__Event_get_Checked(e_2);\n manualInvoice.Toggle();\n }]])]])),\n })), delay(() => {\n let elements_8;\n return singleton(MuiHelpers_createElement(Grid, [[\"spacing\", 2], [\"container\", true], (elements_8 = toList(delay(() => {\n let elements_6, elems_10;\n return append(singleton(MuiHelpers_createElement(Grid, [[\"item\", true], [\"xs\", 2], (elements_6 = [MuiHelpers_createElement(FormControl, [[\"fullWidth\", true], (elems_10 = toList(delay(() => {\n const discountOptions = [new DiscountOption(0), new DiscountOption(2), new DiscountOption(1)];\n return singleton(MuiHelpers_createElement(Autocomplete, [[\"id\", \"discount-combo-box-label\"], [\"options\", Array.from(discountOptions)], [\"value\", discountOption], [\"getOptionSelected\", equals], [\"onChange\", (_arg_3, v_6, _arg_1_2) => {\n SafeNotNullCheck(v_6, (discOption) => {\n patternInput_9[1](discOption);\n switch (discOption.tag) {\n case 1:\n case 2: {\n setDisableDiscountTextInput(false);\n break;\n }\n default: {\n setDisableDiscountTextInput(true);\n }\n }\n });\n }], [\"renderInput\", (params$0027_1) => MuiHelpers_createElement(TextField_1, toList(delay(() => append(singleton([\"variant\", \"outlined\"]), delay(() => append(singleton([\"label\", \"Soort korting\"]), delay(() => (Object.entries(params$0027_1)))))))))], [\"getOptionLabel\", DiscountOption__get_Label]]));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_10))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_6))])])), delay(() => {\n let elements_7;\n return singleton(MuiHelpers_createElement(Grid, [[\"item\", true], [\"xs\", 4], (elements_7 = [NumberFieldFloat(discount, \"Korting\", \"\", false, patternInput_10[0], (discountOption.tag === 1) ? \"€\" : ((discountOption.tag === 2) ? \"%\" : \"\"))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_7))])]));\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_8))])]));\n })) : empty_1(), delay(() => {\n const commentElement = createElement(Col, {\n classes: singleton_1(Gap.S),\n children: ofArray([createElement(CommentList, {\n comments: comments,\n onDeleteComment: void 0,\n }), createElement(CommentEditor, {\n comment: comment,\n setComment: patternInput_4[1],\n commentType: commentType,\n })]),\n });\n const showPartnerComments = !(equals(partnerOption, PartnerOption_get_empty()) ? true : equals(partnerOption, PartnerOption_get_none()));\n return append(singleton(createElement(CommentTypeTabs, {\n commentType: commentType,\n setCommentType: setCommentType,\n content: commentElement,\n showInternal: showInternalComments,\n showAdi: equals(dossierCreatePageSource, new DossierCreatePageSource(0)),\n showPartner: showPartnerComments,\n })), delay(() => append(equals(dossierCreatePageSource, new DossierCreatePageSource(1)) ? singleton(MuiHelpers_createElement(FormControlLabel, [[\"className\", error], [\"label\", \"Dringend\"], [\"control\", MuiHelpers_createElement(Checkbox, [[\"checked\", isUrgent.State], [\"onChange\", (n_1) => {\n isUrgent.Toggle();\n }]])]])) : empty_1(), delay(() => {\n let elems_15;\n return singleton(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: singleton_1(createElement(\"div\", createObj(ofArray([[\"hidden\", true], (elems_15 = [MuiHelpers_createElement(Button, [[\"id\", \"dossier-edit-button\"], [\"ref\", buttonRef], [\"disabled\", patternInput_13[0]], [\"color\", \"primary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n let Email, PhoneNumber;\n const owner = ownerForm.Validate();\n let owner_2;\n if (!patternInput_3[0]) {\n const matchValue_27 = ownerForm.Validate();\n owner_2 = ((matchValue_27 == null) ? (void 0) : matchValue_27);\n }\n else {\n const matchValue_28 = dossierDetails.Customer;\n if (matchValue_28.tag === 1) {\n owner_2 = (void 0);\n }\n else {\n const person = matchValue_28.fields[0];\n owner_2 = ((Email = Customer2__get_Email(dossierDetails.Customer), (PhoneNumber = Customer2__get_PhoneNumber(dossierDetails.Customer), {\n Address: Customer2__get_Address(dossierDetails.Customer),\n Email: Email,\n FirstName: person.FirstName,\n LastName: person.LastName,\n PhoneNumber: PhoneNumber,\n })));\n }\n }\n let compensationForm;\n if (partnerOption.Id === 0) {\n compensationForm = (void 0);\n }\n else {\n const matchValue_30 = compForm.Validate();\n compensationForm = ((matchValue_30 == null) ? (void 0) : matchValue_30);\n }\n iterate((data) => {\n let matchValue_32, matchValue_33;\n if (((data.OwnerStatus.Value.tag === 8) ? (data.OwnerStatusOther != null) : true) && ((matchValue_32 = data.InspectionLocation.Value, (matchValue_32.tag === 3) ? ((matchValue_33 = data.InspectionLocationOther, (matchValue_33 == null) ? false : (!isNullOrWhiteSpace(matchValue_33.Value)))) : ((matchValue_32.tag === 30) ? ((matchValue_33 = data.InspectionLocationOther, (matchValue_33 == null) ? false : (!isNullOrWhiteSpace(matchValue_33.Value)))) : ((matchValue_32.tag === 12) ? ((matchValue_33 = data.InspectionLocationOther, (matchValue_33 == null) ? false : (!isNullOrWhiteSpace(matchValue_33.Value)))) : ((matchValue_32.tag === 23) ? ((matchValue_33 = data.InspectionLocationOther, (matchValue_33 == null) ? false : (!isNullOrWhiteSpace(matchValue_33.Value)))) : true)))))) {\n iterate((owner_3) => {\n setDisable_1(true);\n onEditDossier(new CreateDossierData(data.DossierType, data.InspectionLocation, data.InspectionLocationOther, data.ResidentialBerging, data.ResidentialGarageBox, data.DossierClient, data.BuildingDetail, void 0, data.YearsOfConstruction, data.YearOfRenovation, void 0, data.IsUserOwnerOfArea.Value, (dossierCreatePageSource.tag === 2) ? (isSameAddress_1 ? DossierOwner__get_Address(owner_3) : data.Address) : ((dossierCreatePageSource.tag === 0) ? data.Address : (isSameAddress_1 ? DossierOwner__get_Address(owner_3) : data.Address)), false, new DossierStatus(0), (partnerOption.Id === 0) ? (void 0) : (new PartnerId_1(partnerOption.Id)), void 0, owner_3, manualInvoice.State, false, void 0, void 0, data.OwnerStatus, data.OwnerStatusOther, (discountOption.tag === 1) ? (new TypeOfDiscount(1, data.Discount)) : ((discountOption.tag === 2) ? (new TypeOfDiscount(2, data.Discount)) : (new TypeOfDiscount(0))), patternInput_2[0], data.InspectionLocationBerging, data.InspectionLocationStaanplaats, data.InspectionLocationGaragebox, isUrgent.State, (compensationForm == null) ? (void 0) : compensationForm.Compensation, false, void 0, data.NumberOfEntrances, data.HallwaysPerLevel, data.PipeIsolationMeters, boilerRoom.State, data.SharedAreaOption1, data.SharedAreaOption2, data.SharedAreaOption3, data.SharedAreaOption4))((comment.length > 0) ? (new CommentData(comment, \"\", new CommentSource_1(1), commentType)) : (void 0))(() => {\n setDisable_1(false);\n });\n }, toArray_2(data.DossierOwner));\n }\n }, toArray_2(form.Validate()));\n }], [\"children\", Interop_reactApi.Children.toArray([\"Bewaren\"])]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_15))])])))),\n }));\n }))));\n }))))));\n }));\n }))));\n }))))))))))))))));\n }));\n }))))));\n }));\n }))))));\n })),\n });\n}\n\nexport function EditDossierStepperPage(editDossierStepperPageInputProps) {\n let children_2;\n const dossierCreatePageSource = editDossierStepperPageInputProps.dossierCreatePageSource;\n const setPartnerId = editDossierStepperPageInputProps.setPartnerId;\n const partnersList = editDossierStepperPageInputProps.partnersList;\n const customerOfPartner = editDossierStepperPageInputProps.customerOfPartner;\n const customer = editDossierStepperPageInputProps.customer;\n const onCreateCustomer = editDossierStepperPageInputProps.onCreateCustomer;\n const onEditDossier = editDossierStepperPageInputProps.onEditDossier;\n const customers = editDossierStepperPageInputProps.customers;\n const getCustomer = editDossierStepperPageInputProps.getCustomer;\n const dossierUrl = editDossierStepperPageInputProps.dossierUrl;\n const customerUrl = editDossierStepperPageInputProps.customerUrl;\n const showInternalComments = editDossierStepperPageInputProps.showInternalComments;\n const setCommentType = editDossierStepperPageInputProps.setCommentType;\n const commentType = editDossierStepperPageInputProps.commentType;\n const comments = editDossierStepperPageInputProps.comments;\n const dossierDetails = editDossierStepperPageInputProps.dossierDetails;\n const dossier = dossierDetails.Dossier;\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(0);\n const setActiveStep = patternInput_1[1];\n const activeStep = patternInput_1[0] | 0;\n const patternInput_2 = useFeliz_React__React_useState_Static_1505([false, false, false]);\n const stepsCompleted = patternInput_2[0];\n const setStepsCompleted = patternInput_2[1];\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(void 0);\n const dossierData = patternInput_3[0];\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(void 0);\n const dossierDataContact = patternInput_4[0];\n const patternInput_5 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_6 = useFeliz_React__React_useState_Static_1505(CustomerOption_get_none());\n const patternInput_7 = useFeliz_React__React_useState_Static_1505(false);\n const setShowCustomerForm = patternInput_7[1];\n const dossierCreateButtonRef = useReact_useButtonRef();\n const username = useUsername();\n const patternInput_8 = useFeliz_React__React_useState_Static_1505(false);\n const setCreatingDossier = patternInput_8[1];\n const creatingDossier = patternInput_8[0];\n const topRef = useReact_useElementRef();\n let patternInput_9;\n if (customer == null) {\n patternInput_9 = [\"\", \"\", \"\", \"\", \"\", void 0, \"\", \"\", \"\", \"\", \"\", void 0, \"\", \"\", false, false];\n }\n else {\n const customer_1 = customer;\n if (customer_1.tag === 1) {\n const company = customer_1.fields[0];\n patternInput_9 = [company.CompanyName.Value, defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, company.CompanyType), \"\"), \"\", \"\", company.Email.Value, company.PhoneNumber, company.VatNumber.Value, \"\", \"\", company.Address.Street.Value, company.Address.Number.Value, company.Address.Bus, company.Address.PostalCode.Value, company.Address.City.Value, company.IsVME, company.IsSocialHousingCompany];\n }\n else {\n const person = customer_1.fields[0];\n patternInput_9 = [\"\", \"\", person.FirstName.Value, person.LastName.Value, person.Email.Value, person.PhoneNumber, \"\", \"\", \"\", person.Address.Street.Value, person.Address.Number.Value, person.Address.Bus, person.Address.PostalCode.Value, person.Address.City.Value, false, false];\n }\n }\n const phoneNumber = patternInput_9[5];\n const lastName = patternInput_9[3];\n const firstName = patternInput_9[2];\n const email = patternInput_9[4];\n const addressStreet = patternInput_9[9];\n const addressPostalCode = patternInput_9[12];\n const addressNumber = patternInput_9[10];\n const addressCity = patternInput_9[13];\n const addressBus = patternInput_9[11];\n const phoneNumber_1 = (phoneNumber == null) ? \"\" : phoneNumber.Value;\n const addressBus_1 = (addressBus == null) ? \"\" : addressBus.Value;\n const contact = useFormField(dossier.HomeVisitContact, SelectOptionData$1_Create_Z510A3DC0);\n const contactPhoneNo = useFormField(defaultArg(dossier.HomeVisitContactEmail, \"\"), PhoneNumber_get_Create());\n const contactName = useFormField(defaultArg(dossier.HomeVisitContactName, \"\"), NonEmptyString_get_Create());\n const invoice = useFormField((dossierDetails.Customer.tag === 0) ? (new Invoiced(1)) : (new Invoiced(2)), SelectOptionData$1_Create_Z510A3DC0);\n const invoiceCustomerPerson = useCreateCustomerPersonForm(firstName, lastName, email, phoneNumber_1, addressStreet, addressNumber, addressBus_1, addressPostalCode, addressCity);\n const invoiceCustomerCompany = useCreateCustomerCompanyForm(patternInput_9[0], patternInput_9[1], email, phoneNumber_1, patternInput_9[6], addressStreet, addressNumber, addressBus_1, addressPostalCode, addressCity, patternInput_9[14], patternInput_9[15], firstName, lastName);\n const invoicingPartySameAsOwner = useToggle(false);\n let patternInput_10;\n const matchValue_1 = dossier.AssignmentDocumentContact;\n switch (matchValue_1.tag) {\n case 2: {\n patternInput_10 = [defaultArg(EmailList_fromList(dossier.AssignmentDocumentContactEmail), \"\"), \"\", \"\"];\n break;\n }\n case 3: {\n patternInput_10 = [\"\", defaultArg(EmailList_fromList(dossier.AssignmentDocumentContactEmail), \"\"), \"\"];\n break;\n }\n case 4: {\n patternInput_10 = [\"\", \"\", defaultArg(EmailList_fromList(dossier.AssignmentDocumentContactEmail), \"\")];\n break;\n }\n default: {\n patternInput_10 = [\"\", \"\", \"\"];\n }\n }\n const invoicePricing = useToggle(dossier.InvoicePricing.tag === 0);\n const assignmentDocumentContact = useFormField(dossier.AssignmentDocumentContact, SelectOptionData$1_Create_Z510A3DC0);\n const assignmentDocumentOther = useFormField(patternInput_10[2], NonEmptyString_get_Create());\n const assignmentDocumentLegalRepEmail_1 = useFormField(patternInput_10[0], NonEmptyString_get_Create());\n const assignmentDocumentSyndicEmail_1 = useFormField(patternInput_10[1], NonEmptyString_get_Create());\n const isPartnerSelected = useToggle(dossier.EmailPartnerCertificate);\n const patternInput_11 = useFeliz_React__React_useState_Static_1505(username);\n const setPartnerName = patternInput_11[1];\n const partnerName = patternInput_11[0];\n const partnerToggle = useToggle(isPartnerSelected.State);\n const customerToggle = useToggle(dossier.EmailCustomerCertificate);\n const emailToggle = useToggle(length(dossier.EmailsToSendCertificate) > 0);\n const emails_4 = useFormField(defaultArg(EmailList_fromList(dossier.EmailsToSendCertificate), \"\"), NonEmptyString_get_Create());\n const emailsError = useToggle(false);\n const patternInput_12 = useFeliz_React__React_useState_Static_1505(false);\n const foundCustomer = patternInput_12[0];\n const updateStepCompletion = (idx, value_3, array) => mapIndexed((i, v_1) => {\n if (i === idx) {\n return value_3;\n }\n else {\n return v_1;\n }\n }, array);\n useReact_useEffect_Z101E1A95(() => {\n if (item(activeStep, steps).tag === 0) {\n if (dossierData == null) {\n }\n else {\n const dossierData_2 = dossierData;\n switch (dossierCreatePageSource.tag) {\n case 2: {\n setPartnerName(username);\n isPartnerSelected.On();\n break;\n }\n case 0: {\n const matchValue_14 = dossierData_2.PartnerId;\n if (matchValue_14 == null) {\n setPartnerName(\"Partner\");\n isPartnerSelected.Off();\n }\n else {\n const partnerId = matchValue_14;\n setPartnerName(\"Partner\" + getPartnerType(partnerId, partnersList));\n isPartnerSelected.On();\n patternInput_5[1](partnerId);\n iterate((n) => {\n n(partnerId);\n }, toArray_2(setPartnerId));\n }\n break;\n }\n default: {\n setPartnerName(username);\n isPartnerSelected.On();\n }\n }\n setStepsCompleted(updateStepCompletion(activeStep, true, stepsCompleted));\n setActiveStep(activeStep + 1);\n }\n }\n }, [dossierData]);\n const xs_7 = [(children_2 = toList(delay(() => append(singleton(createElement(\"span\", {\n ref: topRef,\n })), delay(() => {\n let elements_6, elements_1, elements, elements_3, elements_2, elements_5, elements_4;\n return append(singleton(MuiHelpers_createElement(Stepper, [[\"activeStep\", activeStep], (elements_6 = [MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[0]], (elements_1 = [MuiHelpers_createElement(StepLabel, [(elements = [\"Dossier \" + stepString(new Step_1(0))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]), MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[1]], [\"className\", join(\" \", [Boldness.b700])], (elements_3 = [MuiHelpers_createElement(StepLabel, [(elements_2 = [stepString(new Step_1(1))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])]), MuiHelpers_createElement(Step, [[\"completed\", stepsCompleted[2]], (elements_5 = [MuiHelpers_createElement(StepLabel, [(elements_4 = [stepString(new Step_1(2))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_6))])])), delay(() => {\n let elems_7, value_26;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 0], (elems_7 = [(value_26 = (\"Dossier \" + stepString(new Step_1(0))), createElement(\"h1\", {\n children: [value_26],\n })), createElement(EditDossierForm, {\n dossierDetails: dossierDetails,\n comments: comments,\n commentType: commentType,\n setCommentType: setCommentType,\n showInternalComments: showInternalComments,\n customerUrl: (customerId) => customerUrl(customerId.Value),\n dossierUrl: dossierUrl,\n partners: partnersList,\n onEditDossier: (dossierData_3) => ((comment_1) => ((onCompleted) => {\n patternInput_3[1](dossierData_3);\n patternInput[1](comment_1);\n onCompleted();\n })),\n buttonRef: dossierCreateButtonRef,\n dossierCreatePageSource: dossierCreatePageSource,\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_7))])])))), delay(() => {\n let elems_8;\n return append(singleton(MuiHelpers_createElement(Modal, [[\"open\", patternInput_7[0]], [\"onClose\", (_arg_1, v_2) => {\n setShowCustomerForm(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"style\", {\n width: 100 + \"%\",\n height: 100 + \"%\",\n }], [\"className\", join(\" \", [modal, Padding.Xl])], (elems_8 = [createElement(CreateCustomerForm, {\n onCreateCustomer: onCreateCustomer,\n saveButtonText: void 0,\n backButtonText: void 0,\n isCibCustomer: false,\n onBack: () => {\n setShowCustomerForm(false);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_8))])])))]])), delay(() => {\n let elems_9;\n const findCustomer = createElement(DisplayDeferred, {\n data: customers,\n view: (customers_1) => {\n const options = toArray(delay(() => append(singleton(CustomerOption_get_none()), delay(() => toArray_1(map_1((customer_4) => (new CustomerOption(Customer2__get_CustomerOrCompanyName(customer_4), Customer2__get_Code(customer_4).Value)), customers_1.Data))))));\n return createElement(FindCustomer, {\n options: options,\n customerOption: patternInput_6[0],\n setCustomerOption: patternInput_6[1],\n getCustomer: getCustomer,\n setShowCustomerForm: setShowCustomerForm,\n reset: () => {\n },\n setFoundCustomer: patternInput_12[1],\n });\n },\n });\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 1], (elems_9 = toList(delay(() => {\n let value_45;\n return append(singleton((value_45 = stepString(new Step_1(1)), createElement(\"h1\", {\n children: [value_45],\n }))), delay(() => {\n let children;\n const matchValue_16 = dossierData;\n if (matchValue_16 == null) {\n return singleton(null);\n }\n else {\n const dossierData_4 = matchValue_16;\n return singleton((children = ofArray([createElement(ChooseContact, {\n contactOption: contact,\n partnerName: partnerName,\n isPartnerSelected: isPartnerSelected.State,\n homeVisitContactName: contactName,\n homeVisitContactPhoneNo: contactPhoneNo,\n }), createElement(ChooseInvoicing, {\n invoiceOption: invoice,\n partnerName: partnerName,\n customerControl: findCustomer,\n invoicingPartySameAsOwner: invoicingPartySameAsOwner,\n setInvoicedValue: invoice.SetFieldValue,\n contactOwner: dossierData_4.DossierOwner,\n customerPerson: invoiceCustomerPerson,\n customerCompany: invoiceCustomerCompany,\n isPartnerInvoicingAvailable: isPartnerSelected.State,\n foundCustomer: foundCustomer,\n dossierCreatePageSource: dossierCreatePageSource,\n invoicePricing: invoicePricing,\n }), createElement(ChooseCertificateContact, {\n partnerToggle: partnerToggle,\n customerToggle: customerToggle,\n emailToggle: emailToggle,\n partnerName: partnerName,\n emails: emails_4,\n emailsError: emailsError.State,\n isPartnerSelected: isPartnerSelected.State,\n }), createElement(ChooseAssignmentDocumentContact, {\n assignmentDocumentOption: assignmentDocumentContact,\n partnerName: partnerName,\n legalRepEmail: assignmentDocumentLegalRepEmail_1,\n syndicEmail: assignmentDocumentSyndicEmail_1,\n other: assignmentDocumentOther,\n isPartnerSelected: isPartnerSelected.State,\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n })));\n }\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_9))])])))), delay(() => {\n let elems_10;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"hidden\", activeStep !== 2], (elems_10 = toList(delay(() => {\n let value_49;\n return append(singleton((value_49 = stepString(new Step_1(2)), createElement(\"h1\", {\n children: [value_49],\n }))), delay(() => {\n const matchValue_17 = [dossierData, dossierDataContact];\n let pattern_matching_result, dossierData_5, dossierDataContact_2;\n if (matchValue_17[0] != null) {\n if (matchValue_17[1] != null) {\n pattern_matching_result = 0;\n dossierData_5 = matchValue_17[0];\n dossierDataContact_2 = matchValue_17[1];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(createElement(Review, {\n dossierData: dossierData_5,\n dossierDataContact: dossierDataContact_2,\n partnerName: partnerName,\n }));\n }\n case 1: {\n return singleton(null);\n }\n }\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_10))])])))), delay(() => singleton(createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: toList(delay(() => {\n let elems_11;\n const hidden = activeStep === 0;\n return append(singleton(createElement(\"div\", createObj(ofArray([[\"className\", alignEnd], [\"hidden\", hidden], (elems_11 = [MuiHelpers_createElement(Button, [[\"color\", \"default\"], [\"variant\", \"contained\"], [\"disabled\", hidden ? true : creatingDossier], [\"children\", \"Terug\"], [\"onClick\", (_arg_3) => {\n const matchValue_15 = topRef.current;\n if (matchValue_15 == null) {\n }\n else {\n const topRef_2 = matchValue_15;\n topRef_2.scrollIntoView(true);\n }\n setActiveStep(activeStep - 1);\n }]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_11))])])))), delay(() => {\n let elems_12;\n return singleton(createElement(\"div\", createObj(ofArray([[\"className\", alignEnd], (elems_12 = [MuiHelpers_createElement(Button, toList(delay(() => {\n let matchValue_18;\n return append(singleton([\"disabled\", (matchValue_18 = item(activeStep, steps), (matchValue_18.tag === 0) ? false : ((matchValue_18.tag === 2) && creatingDossier))]), delay(() => append((activeStep === (length(steps) - 1)) ? singleton([\"color\", \"secondary\"]) : singleton([\"color\", \"primary\"]), delay(() => append(singleton([\"variant\", \"contained\"]), delay(() => append(singleton([\"children\", (activeStep === (length(steps) - 1)) ? \"Bevestigen\" : \"Volgende stap\"]), delay(() => singleton([\"onClick\", (_arg_4) => {\n const matchValue_10 = topRef.current;\n if (matchValue_10 == null) {\n }\n else {\n const topRef_1 = matchValue_10;\n topRef_1.scrollIntoView(true);\n }\n const matchValue_11 = item(activeStep, steps);\n switch (matchValue_11.tag) {\n case 0: {\n iterate((buttonElement) => {\n buttonElement.click();\n }, toArray_2(dossierCreateButtonRef.current));\n break;\n }\n case 2: {\n const matchValue_12 = [dossierData, dossierDataContact];\n let pattern_matching_result_1, dossierData_1, dossierDataContact_1;\n if (matchValue_12[0] != null) {\n if (matchValue_12[1] != null) {\n pattern_matching_result_1 = 0;\n dossierData_1 = matchValue_12[0];\n dossierDataContact_1 = matchValue_12[1];\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n setCreatingDossier(true);\n onEditDossier(new CreateDossierData2(dossierData_1, dossierDataContact_1))(patternInput[0])(false)(() => {\n setCreatingDossier(false);\n });\n break;\n }\n case 1: {\n break;\n }\n }\n break;\n }\n default: {\n iterate((data) => {\n let homeVisitContact, matchValue_8, name_1, emails_5, customEmail, e_2, assignmentDocContact;\n toConsole(printf(\"data %A\"))(data.InvoicingParty);\n if (data.InvoicingParty.tag === 2) {\n }\n else if ((((homeVisitContact = data.Contact.Value, (emailsError.Off(), (homeVisitContact.tag === 2) ? ((matchValue_8 = [data.ContactName, data.ContactEmail], (matchValue_8[0] != null) && ((name_1 = matchValue_8[0], true)))) : ((homeVisitContact.tag === 3) ? ((matchValue_8 = [data.ContactName, data.ContactEmail], (matchValue_8[0] != null) && ((name_1 = matchValue_8[0], true)))) : true)))) && ((emails_5 = data.CertificateCustomEmails, (customEmail = data.CertificateEmailCustom, (emailsError.Off(), (((!data.CertificateEmailPartner) && (!customEmail)) && (!data.CertificateEmailClient)) ? ((emailsError.On(), false)) : (customEmail ? ((emails_5 == null) ? false : ((e_2 = emails_5, true))) : true)))))) && ((assignmentDocContact = data.AssignmentDocumentContact.Value, (assignmentDocContact.tag === 2) ? (data.AssignmentContactEmail != null) : ((assignmentDocContact.tag === 3) ? (data.AssignmentContactEmail != null) : ((assignmentDocContact.tag === 4) ? (data.AssignmentContactEmail != null) : true))))) {\n patternInput_4[1](new CreateDossierDataContact(data.AssignmentContactEmail, data.AssignmentDocumentContact.Value, data.CertificateCustomEmails, data.CertificateEmailClient, data.CertificateEmailCustom, data.CertificateEmailPartner, data.Contact.Value, data.ContactName, data.ContactEmail, data.InvoicingParty, invoicePricing.State ? (new InvoicePricing(0)) : (new InvoicePricing(1))));\n setStepsCompleted(updateStepCompletion(activeStep, true, stepsCompleted));\n setActiveStep(activeStep + 1);\n }\n }, toArray_2(useFormValidator(assignmentDocumentContact.Validator, (r_3, x_8) => {\n let assignVal;\n const matchValue_7 = x_8.Value;\n switch (matchValue_7.tag) {\n case 2: {\n assignVal = useFormValidator(assignmentDocumentLegalRepEmail_1.Validator, (unitVar_7, x_9) => ({\n AssignmentDocumentContactEmail: x_9,\n }), useForm()).Validate();\n break;\n }\n case 3: {\n assignVal = useFormValidator(assignmentDocumentSyndicEmail_1.Validator, (unitVar_8, x_10) => ({\n AssignmentDocumentContactEmail: x_10,\n }), useForm()).Validate();\n break;\n }\n case 4: {\n assignVal = useFormValidator(assignmentDocumentOther.Validator, (unitVar_9, x_11) => ({\n AssignmentDocumentContactEmail: x_11,\n }), useForm()).Validate();\n break;\n }\n default: {\n assignVal = (void 0);\n }\n }\n if (assignVal == null) {\n return {\n AssignmentContactEmail: void 0,\n AssignmentDocumentContact: x_8,\n CertificateCustomEmails: r_3.CertificateCustomEmails,\n CertificateEmailClient: r_3.CertificateEmailClient,\n CertificateEmailCustom: r_3.CertificateEmailCustom,\n CertificateEmailPartner: r_3.CertificateEmailPartner,\n Contact: r_3.Contact,\n ContactEmail: r_3.ContactEmail,\n ContactName: r_3.ContactName,\n InvoicingParty: r_3.InvoicingParty,\n };\n }\n else {\n return {\n AssignmentContactEmail: assignVal.AssignmentDocumentContactEmail,\n AssignmentDocumentContact: x_8,\n CertificateCustomEmails: r_3.CertificateCustomEmails,\n CertificateEmailClient: r_3.CertificateEmailClient,\n CertificateEmailCustom: r_3.CertificateEmailCustom,\n CertificateEmailPartner: r_3.CertificateEmailPartner,\n Contact: r_3.Contact,\n ContactEmail: r_3.ContactEmail,\n ContactName: r_3.ContactName,\n InvoicingParty: r_3.InvoicingParty,\n };\n }\n }, useFormValidator(invoice.Validator, (r_2, x_5) => {\n if (foundCustomer) {\n if (customer == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(0, customer)),\n };\n }\n }\n else {\n const matchValue_4 = x_5.Value;\n switch (matchValue_4.tag) {\n case 1: {\n const matchValue_5 = useFormValidator(invoiceCustomerPerson.Validator, (unitVar_5, x_6) => ({\n CustomerPersonData: x_6,\n }), useForm()).Validate();\n if (matchValue_5 == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n const c_1 = matchValue_5.CustomerPersonData;\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(1, new CustomerData2(0, new CustomerPersonData(c_1.LastName, c_1.FirstName, c_1.Address, c_1.Email, c_1.PhoneNumber, false)))),\n };\n }\n }\n case 2: {\n const matchValue_6 = useFormValidator(invoiceCustomerCompany.Validator, (unitVar_6, x_7) => ({\n CustomerCompanyData: x_7,\n }), useForm()).Validate();\n if (matchValue_6 == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n const c_3 = matchValue_6.CustomerCompanyData;\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(1, new DossierCustomerSelection(1, new CustomerData2(1, new CustomerCompanyData(c_3.CompanyName, c_3.CompanyType, c_3.Address, c_3.Email, c_3.PhoneNumber, c_3.VatNumber, false, c_3.IsVME, false, c_3.LastName, c_3.FirstName)))),\n };\n }\n }\n default: {\n if (customer == null) {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(2),\n };\n }\n else {\n return {\n CertificateCustomEmails: r_2.CertificateCustomEmails,\n CertificateEmailClient: r_2.CertificateEmailClient,\n CertificateEmailCustom: r_2.CertificateEmailCustom,\n CertificateEmailPartner: r_2.CertificateEmailPartner,\n Contact: r_2.Contact,\n ContactEmail: r_2.ContactEmail,\n ContactName: r_2.ContactName,\n InvoicingParty: new DossierCustomer(0, customer),\n };\n }\n }\n }\n }\n }, useFormValidator(contact.Validator, (r_1, x_3) => {\n const partnerEmail = isPartnerSelected.State && partnerToggle.State;\n if (emailToggle.State) {\n const emailsVal_1 = useFormValidator(emails_4.Validator, (unitVar_4, x_4) => ({\n CertificateCustomEmails: x_4,\n }), useForm()).Validate();\n if (emailsVal_1 == null) {\n return {\n CertificateCustomEmails: void 0,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n else {\n return {\n CertificateCustomEmails: emailsVal_1.CertificateCustomEmails,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n }\n else {\n return {\n CertificateCustomEmails: void 0,\n CertificateEmailClient: customerToggle.State,\n CertificateEmailCustom: emailToggle.State,\n CertificateEmailPartner: partnerEmail,\n Contact: r_1.Contact,\n ContactEmail: r_1.ContactEmail,\n ContactName: r_1.ContactName,\n };\n }\n }, useFormValidator(contact.Validator, (unitVar_2, x) => {\n const matchValue_3 = x.Value;\n switch (matchValue_3.tag) {\n case 2:\n case 3: {\n const emailsVal = useFormValidator(contactPhoneNo.Validator, (r, x_2) => ({\n ContactEmail: x_2,\n ContactName: r.ContactName,\n }), useFormValidator(contactName.Validator, (unitVar_3, x_1) => ({\n ContactName: x_1,\n }), useForm())).Validate();\n if (emailsVal == null) {\n return {\n Contact: x,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const e = emailsVal;\n return {\n Contact: x,\n ContactEmail: e.ContactEmail,\n ContactName: e.ContactName,\n };\n }\n }\n default: {\n return {\n Contact: x,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n }\n }, useForm())))).Validate()));\n }\n }\n }])))))))));\n })))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_12))])]))));\n }));\n })),\n }))));\n }));\n }));\n }));\n }));\n })))), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children_2)),\n }))];\n return react.createElement(react.Fragment, {}, ...xs_7);\n}\n\n","import { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useSnackbar } from \"notistack\";\nimport { ofArray, empty } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { CommentType, DossierCode, PartnerId } from \"../../../shared/Domain.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { createElement } from \"react\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { ErrorText, Card } from \"../../../DesignSystems/DesignSystem.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { EditDossierStepperPage } from \"../../../DesignSystems/dossier/DossierEdit.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossierDetail, customerDetail } from \"../AppRoutes.fs.js\";\nimport { printf, toConsole } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { DossierCreatePageSource } from \"../../../DesignSystems/DossierUtils.fs.js\";\n\nexport function Edit(editInputProps) {\n const dossierCode = editInputProps.dossierCode;\n const api = editInputProps.api;\n const currentPage = editInputProps.currentPage;\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const customer = patternInput[0];\n const snackbar = useSnackbar();\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(empty());\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(void 0);\n const partnerId = new PartnerId(0);\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetDossierDetails(new DossierCode(dossierCode)), []);\n const customers = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCustomers(new PagingQuery(0, 2147483647), void 0), []);\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(new CommentType(1));\n const commentType = patternInput_4[0];\n const dossierCode_1 = new DossierCode(dossierCode);\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton.Delay(() => singleton.Bind(api.GetDossierComments(dossierCode_1, new PagingQuery(0, 2147483647), commentType), (_arg_5) => {\n const comments_1 = _arg_5;\n if (comments_1.tag === 0) {\n patternInput_1[1](comments_1.fields[0].Data);\n return singleton.Zero();\n }\n else {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n })));\n }, [commentType]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Dossier bewerken\",\n actions: [],\n children: [Card([createElement(DisplayDeferred, {\n data: data,\n view: (dossier) => {\n if (dossier == null) {\n return createElement(ErrorText, {\n text: `Geen Dossiers gevonden met code ${dossierCode_1}`,\n });\n }\n else {\n const dossier_1 = dossier;\n let customer_3;\n if (customer == null) {\n customer_3 = dossier_1.Customer;\n }\n else {\n const c = customer;\n customer_3 = customer;\n }\n return createElement(EditDossierStepperPage, {\n dossierDetails: dossier_1,\n comments: patternInput_1[0],\n commentType: commentType,\n setCommentType: patternInput_4[1],\n showInternalComments: false,\n customerUrl: (arg_7) => Page$2__toUrl_2B594(customerDetail, arg_7),\n dossierUrl: Page$2__toUrl_2B594(dossierDetail, dossier_1.Dossier.Code.Value),\n getCustomer: (customerCode) => {\n startImmediate(singleton.Delay(() => singleton.Bind(api.GetCustomer(customerCode), (_arg) => {\n const customer_1 = _arg;\n if (customer_1.tag === 1) {\n const err = customer_1.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n patternInput[1](customer_1.fields[0]);\n return singleton.Zero();\n }\n })));\n },\n customers: customers,\n onEditDossier: (dossierData) => ((comment) => ((sendMailToPartner) => ((onCompleted) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n toConsole(printf(\"%A\"))(dossierData);\n return singleton.Bind(api.EditDossier(dossierCode_1, dossierData, comment), (_arg_1) => {\n let matchValue;\n const result = _arg_1;\n if (result.tag === 0) {\n return singleton.Combine((matchValue = result.fields[0].AssignmentConfirmationResult, (matchValue.tag === 1) ? ((ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een nieuw dossier is aangemaakt. ${matchValue.fields[0]}`, SnackbarProp_Variant_Z609E1E86(\"warning\"), new EnqueueSnackbarOption(1, false)), singleton.Zero())) : ((ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een nieuw dossier is aangemaakt. ${matchValue.fields[0]}`, SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false)), singleton.Zero()))), singleton.Delay(() => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierDetail, dossierCode_1.Value)), 1, 1);\n return singleton.Zero();\n }));\n }\n else {\n const err_1 = result.fields[0];\n console.error(err_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_1}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n });\n }), (_arg_2) => {\n const e = _arg_2;\n console.error(e);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n })), () => {\n onCompleted();\n })));\n }))),\n onCreateCustomer: (customerData) => ((onCompleted_1) => {\n startImmediate(singleton.Delay(() => singleton.TryFinally(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.CreateCustomer(customerData), (_arg_3) => {\n const result_1 = _arg_3;\n if (result_1.tag === 0) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een nieuwe klant is aangemaakt\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n const err_2 = result_1.fields[0];\n console.error(err_2);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_2}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n })), (_arg_4) => {\n const e_1 = _arg_4;\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e_1.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(e_1);\n return singleton.Zero();\n })), () => {\n onCompleted_1();\n })));\n }),\n customer: customer_3,\n customerOfPartner: void 0,\n partnersList: patternInput_2[0],\n setPartnerId: patternInput_3[1],\n dossierCreatePageSource: new DossierCreatePageSource(1),\n });\n }\n },\n })])],\n });\n}\n\n","import { collect, empty, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../../Components/UtilComponents.fs.js\";\nimport { alignStart, hideInPrint, flexExpand, Gap, cursorPointer, TableHeaderCell, alignEnd, MarginBottom, MarginTop, MarginRight } from \"../../Styles/Utils.fs.js\";\nimport { empty as empty_1, sortByDescending, length, map as map_1, toArray, singleton as singleton_1, ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { isNullOrWhiteSpace, printf, toConsole, join } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { PagingQuery } from \"../../shared/Paging.fs.js\";\nimport { Msg, searchTerms } from \"./DossierFilter.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport { DisplayDiscount, CheckBox, DisplayData, InfoTitle, UrgentChip, CibFormChip, PartnerChip, DownloadLink, Link, CheckIcon, MultiSelect, TableHeader, FilterField } from \"../DesignSystem.fs.js\";\nimport { map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { FilterFieldDateRange, ToggleFilter } from \"../FilterUtils.fs.js\";\nimport { InspectionLocation_extra, InspectionLocation_type$0027, Compensation_compensation, GeneralFormats_dateTimeStampShort, Address_address, Customer2_name, GeneralFormats_dateTimeStamp, Dossier_status } from \"../../shared/Format.fs.js\";\nimport { CommentSource as CommentSource_1, InspectionLocationExtra, VatNumber___UnsafeUnwrap_18C04ACB, Email___UnsafeUnwrap_Z27D11339, PhoneNumber___UnsafeUnwrap_23E45174, Customer2__get_Code, HomeVisitContactModule_string, InvoicePricingModule_string, NonEmptyString___UnsafeUnwrap_Z73AD07C, DossierStatus_get_list } from \"../../shared/Domain.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\nimport { DossierStatusChip, noContentMessage } from \"../DossierUtils.fs.js\";\nimport { RouterModule_nav, RouterModule_encodeParts } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { year, fromDateTimeOffset } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { Dossier_contact, Dossier_contactPhoneNumber } from \"../../shared/DomainHelpers.fs.js\";\nimport { comparePrimitives } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useToggle } from \"../../CustomHooks/CustomHooks.fs.js\";\nimport { Auth0UserPrivileges, Auth0UserClaims__HasPrivilege_6B2F319B } from \"../../shared/Auth0Constants.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { date as date_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { QuoteInvoice } from \"../quote/QuoteInvoiceDetails.fs.js\";\nimport { CommentTypeTabs, CommentEditor, CommentList } from \"../CommentEditor.fs.js\";\nimport { CommentData } from \"../../shared/Api.fs.js\";\nimport Save from \"@material-ui/icons/Save\";\n\nexport function DossiersDataSyndic(dossiersDataSyndicInputProps) {\n const isBackOffice = dossiersDataSyndicInputProps.isBackOffice;\n const showCibFilter = dossiersDataSyndicInputProps.showCibFilter;\n const optionalExportCsvFunction = dossiersDataSyndicInputProps.optionalExportCsvFunction;\n const showPartnerName = dossiersDataSyndicInputProps.showPartnerName;\n const url = dossiersDataSyndicInputProps.url;\n const dispatch = dossiersDataSyndicInputProps.dispatch;\n const state = dossiersDataSyndicInputProps.state;\n const data = dossiersDataSyndicInputProps.data;\n const xs_3 = toList(delay(() => {\n let matchValue, exportCsvFunction;\n return append((matchValue = optionalExportCsvFunction, (matchValue == null) ? singleton(null) : ((exportCsvFunction = matchValue, singleton(createElement(Col, {\n classes: ofArray([MarginRight.S, MarginTop.S, MarginBottom.M]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignEnd])], [\"target\", \"_blank\"], [\"href\", \"#\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"onClick\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n exportCsvFunction(new PagingQuery(state.PageNumber, state.PageSize))(searchTerms(state));\n }], [\"children\", \"Exporteren naar csv-bestand\"]])),\n }))))), delay(() => {\n let elems_29, elems_28, children_13, children_12;\n return append(singleton(MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_29 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_28 = [(children_13 = singleton_1((children_12 = toList(delay(() => {\n let children;\n return append(singleton((children = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_2) => {\n dispatch(new Msg(0, arg_2));\n }, defaultArg(map((d) => d.Value, state.DossierCode), \"\")), createElement(TableHeader, {\n text: \"Dossier nummer\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))), delay(() => {\n let children_1;\n return append(singleton((children_1 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.Urgent,\n onChange: (arg_4) => {\n dispatch(new Msg(11, arg_4));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"Dringend\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))), delay(() => {\n let children_2;\n return append(singleton((children_2 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterFieldDateRange(\"Filter\", (arg_6) => {\n dispatch(new Msg(8, arg_6));\n }, state.DateRange), createElement(TableHeader, {\n text: \"Datum en tijd\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))), delay(() => {\n let children_3;\n return append(singleton((children_3 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(MultiSelect, {\n label: \"Filter\",\n items: toArray(map_1(Dossier_status, DossierStatus_get_list())),\n v: state.Status,\n onChange: (arg_8) => {\n dispatch(new Msg(6, arg_8));\n },\n }), createElement(TableHeader, {\n text: \"Status\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]]))), delay(() => {\n let children_4;\n return append(showCibFilter ? singleton((children_4 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.CibFilter,\n onChange: (arg_10) => {\n dispatch(new Msg(9, arg_10));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"CIB\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))) : empty(), delay(() => {\n let children_5;\n return append(showPartnerName ? singleton((children_5 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_12) => {\n dispatch(new Msg(2, arg_12));\n }, defaultArg(state.PartnerName, \"\")), createElement(TableHeader, {\n text: \"Partner Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))) : empty(), delay(() => {\n let children_6;\n return append(isBackOffice ? singleton((children_6 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(ToggleFilter, {\n label: \"\",\n value: state.PartnerPortal,\n onChange: (arg_14) => {\n dispatch(new Msg(10, arg_14));\n },\n labelLeft: \"Ja\",\n valueLeft: true,\n labelRight: \"Nee\",\n valueRight: false,\n }), createElement(TableHeader, {\n text: \"Partner Portaal\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]]))) : empty(), delay(() => {\n let children_7;\n return append(singleton((children_7 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_16) => {\n dispatch(new Msg(1, arg_16));\n }, defaultArg(state.AdiName, \"\")), createElement(TableHeader, {\n text: \"Adi Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]]))), delay(() => {\n let children_8;\n return append(singleton((children_8 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_18) => {\n dispatch(new Msg(3, arg_18));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"Klant Naam\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]]))), delay(() => {\n let children_9;\n return append(singleton((children_9 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_20) => {\n dispatch(new Msg(4, arg_20));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Inspectielocatie\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]]))), delay(() => {\n let children_10;\n return append(singleton((children_10 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_22) => {\n dispatch(new Msg(5, arg_22));\n }, defaultArg(state.PhoneNumber, \"\")), createElement(TableHeader, {\n text: \"Tel contactpersoon\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]]))), delay(() => {\n let children_11;\n return isBackOffice ? singleton((children_11 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(\"div\", {}), createElement(TableHeader, {\n text: \"Particuliere Prijzen\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_11))]]))) : empty();\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_12))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_13))]])), createElement(DisplayDeferred, {\n data: data,\n view: (dossierDetails) => {\n const xs_2 = toList(delay(() => {\n let children_26;\n return (length(dossierDetails.Data) === 0) ? singleton(noContentMessage(12, \"Er zijn nog geen dossiers\")) : singleton((children_26 = toList(delay(() => collect((detail) => {\n let elems_26;\n let adiName;\n const matchValue_1 = [detail.AdiFirstName, detail.AdiLastName];\n let pattern_matching_result, firstName, lastName;\n if (matchValue_1[0] != null) {\n if (matchValue_1[1] != null) {\n pattern_matching_result = 0;\n firstName = matchValue_1[0];\n lastName = matchValue_1[1];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n const firstName_1 = NonEmptyString___UnsafeUnwrap_Z73AD07C(firstName);\n const lastName_1 = NonEmptyString___UnsafeUnwrap_Z73AD07C(lastName);\n adiName = (`${firstName_1} ${lastName_1}`);\n break;\n }\n case 1: {\n adiName = (void 0);\n break;\n }\n }\n return singleton(MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg) => {\n window.open(RouterModule_encodeParts(ofArray(url(detail.Dossier.Code)), 1), \"_blank\");\n }], [\"key\", detail.Dossier.Id.Value], (elems_26 = toList(delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([detail.Dossier.Code.Value])]])), delay(() => {\n let children_15;\n return append(singleton((children_15 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsUrgent,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_15))]]))), delay(() => {\n let children_16;\n return append(singleton((children_16 = toList(delay(() => {\n const matchValue_2 = detail.DossierCreationDate;\n return (matchValue_2 == null) ? singleton(\" - \") : singleton(GeneralFormats_dateTimeStamp(fromDateTimeOffset(matchValue_2, 0)));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_16))]]))), delay(() => {\n let children_17;\n return append(singleton((children_17 = singleton_1(createElement(DossierStatusChip, {\n status: detail.Dossier.Status,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_17))]]))), delay(() => {\n let children_18;\n return append(showCibFilter ? singleton((children_18 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsCibDossier,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_18))]]))) : empty(), delay(() => {\n let children_19;\n return append(showPartnerName ? singleton((children_19 = toList(delay(() => {\n const matchValue_3 = detail.Partner;\n return (matchValue_3 == null) ? singleton(\"-\") : singleton(NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_3.CompanyName));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_19))]]))) : empty(), delay(() => {\n let children_20;\n return append(isBackOffice ? singleton((children_20 = singleton_1(createElement(CheckIcon, {\n props: [],\n value: detail.Dossier.IsPartnerPortalDossier,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_20))]]))) : empty(), delay(() => {\n let children_21;\n return append(singleton((children_21 = toList(delay(() => ((adiName == null) ? singleton(\"-\") : singleton(adiName)))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_21))]]))), delay(() => {\n let children_22;\n return append(singleton((children_22 = singleton_1(Customer2_name(detail.Customer)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_22))]]))), delay(() => {\n let children_23;\n return append(singleton((children_23 = singleton_1(Address_address(detail.Dossier.Address)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_23))]]))), delay(() => {\n let children_24;\n return append(singleton((children_24 = singleton_1(Dossier_contactPhoneNumber(detail.Dossier, detail.Partner)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_24))]]))), delay(() => {\n let children_25, value_63;\n return isBackOffice ? singleton((children_25 = singleton_1((value_63 = (detail.Dossier.InvoicePricing.tag === 0), createElement(CheckIcon, {\n props: [],\n value: value_63,\n }))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_25))]]))) : empty();\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_26))])]));\n }, sortByDescending((s) => s.Dossier.Id.Value, dossierDetails.Data, {\n Compare: comparePrimitives,\n })))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_26))]])));\n }));\n return react.createElement(react.Fragment, {}, ...xs_2);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_28))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_29))])])), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(DisplayDeferred, {\n data: data,\n view: (dossiers) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", dossiers.TotalPages], [\"onChangePage\", (_arg_1, v) => {\n dispatch(new Msg(7, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_78) => {\n }]]);\n },\n })),\n }))));\n }));\n }));\n return react.createElement(react.Fragment, {}, ...xs_3);\n}\n\nexport function DisplayDossierInfoSyndic(displayDossierInfoSyndicInputProps) {\n let appointment_2, appartmentUrl_1, appointment_1;\n const quoteDetails = displayDossierInfoSyndicInputProps.quoteDetails;\n const signatureink = displayDossierInfoSyndicInputProps.signatureink;\n const onSaveComment = displayDossierInfoSyndicInputProps.onSaveComment;\n const isPartner = displayDossierInfoSyndicInputProps.isPartner;\n const appartmentUrl = displayDossierInfoSyndicInputProps.appartmentUrl;\n const partnerUrl = displayDossierInfoSyndicInputProps.partnerUrl;\n const customerUrl = displayDossierInfoSyndicInputProps.customerUrl;\n const setCommentType = displayDossierInfoSyndicInputProps.setCommentType;\n const commentType = displayDossierInfoSyndicInputProps.commentType;\n const comments = displayDossierInfoSyndicInputProps.comments;\n const downloadFile = displayDossierInfoSyndicInputProps.downloadFile;\n const sampledUploaded = displayDossierInfoSyndicInputProps.sampledUploaded;\n const auth0User = displayDossierInfoSyndicInputProps.auth0User;\n const dossierDetails = displayDossierInfoSyndicInputProps.dossierDetails;\n const patternInput = useFeliz_React__React_useState_Static_1505(\"\");\n const setComment = patternInput[1];\n const comment = patternInput[0];\n const commentButtonDisabled = useToggle(false);\n const appointmentId = map((appointment) => appointment.Id, dossierDetails.Appointment);\n let appointmentLink;\n const matchValue = [dossierDetails.Appointment, appartmentUrl];\n appointmentLink = ((matchValue[0] != null) ? ((matchValue[1] == null) ? ((appointment_2 = matchValue[0], `${GeneralFormats_dateTimeStamp(fromDateTimeOffset(appointment_2.StartTime, 0))}`)) : ((appartmentUrl_1 = matchValue[1], (appointment_1 = matchValue[0], createElement(Link, {\n text: `${GeneralFormats_dateTimeStamp(fromDateTimeOffset(appointment_1.StartTime, 0))}`,\n url: appartmentUrl_1(appointment_1.Id),\n }))))) : \"-\");\n let assignmentDocumentLink;\n const matchValue_1 = dossierDetails.Dossier.AssignmentConfirmationPhysicallySigned;\n if (matchValue_1 == null) {\n const matchValue_2 = dossierDetails.Dossier.AssigmentConfirmation;\n if (matchValue_2 == null) {\n assignmentDocumentLink = null;\n }\n else {\n const assignmentConfirmation = matchValue_2;\n assignmentDocumentLink = createElement(DownloadLink, {\n text: \"Verzonden (niet getekend)\",\n onDownload: () => {\n downloadFile(assignmentConfirmation);\n },\n });\n }\n }\n else {\n const assignmentDocumentSigned = matchValue_1;\n assignmentDocumentLink = createElement(DownloadLink, {\n text: \"Verzonden (digitaal getekend)\",\n onDownload: () => {\n downloadFile(assignmentDocumentSigned);\n },\n });\n }\n const isAdmin = (auth0User == null) ? false : Auth0UserClaims__HasPrivilege_6B2F319B(auth0User, new Auth0UserPrivileges(0));\n return createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.S),\n children: toList(delay(() => {\n let matchValue_3, partner, url;\n return append((matchValue_3 = [isPartner, dossierDetails.Partner, partnerUrl], matchValue_3[0] ? singleton(null) : ((matchValue_3[1] != null) ? ((matchValue_3[2] != null) ? ((partner = matchValue_3[1], (url = matchValue_3[2], append(singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(PartnerChip, {\n partner: partner,\n onClick: () => {\n RouterModule_nav(ofArray(url(partner.Id)), 1, 1);\n },\n })),\n })), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(CibFormChip, {\n isCibDossier: dossierDetails.Dossier.IsCibDossier,\n onClick: void 0,\n })),\n }))))))) : singleton(null)) : singleton(null))), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(UrgentChip, {\n isUrgent: dossierDetails.Dossier.IsUrgent,\n })),\n }))));\n })),\n })), delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Asbestattest\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Status\", createElement(DossierStatusChip, {\n status: dossierDetails.Dossier.Status,\n })]), delay(() => {\n let invoicePaymentReceivedDate, status, dateStr;\n return append(singleton([\"Factuur\", (invoicePaymentReceivedDate = dossierDetails.InvoicePaymentReceivedDate, (status = dossierDetails.Dossier.Status, (status.tag === 5) ? \"Verzonden\" : ((status.tag === 6) ? ((invoicePaymentReceivedDate == null) ? \"Betaald\" : ((dateStr = GeneralFormats_dateTimeStampShort(date_1(invoicePaymentReceivedDate)), `Betaald (${dateStr})`))) : ((status.tag === 7) ? ((invoicePaymentReceivedDate == null) ? \"Betaald\" : ((dateStr = GeneralFormats_dateTimeStampShort(date_1(invoicePaymentReceivedDate)), `Betaald (${dateStr})`))) : \"-\"))))]), delay(() => append(singleton([\"Afspraak\", appointmentLink]), delay(() => {\n let matchValue_4, ai;\n return append((matchValue_4 = dossierDetails.Dossier.TypeOfDossier, (matchValue_4.tag === 1) ? ((empty())) : singleton([\"Aanleiding asbestinventaris\", (ai = matchValue_4.fields[0], (ai.tag === 1) ? \"Werken\" : ((ai.tag === 2) ? \"Actualisatie asbestinventaris-attest\" : ((ai.tag === 3) ? \"Sloop zonder SOP\" : ((ai.tag === 4) ? \"Sloop met SOP\" : ((ai.tag === 5) ? \"Werkgever\" : ((ai.tag === 6) ? \"Overdracht met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 7) ? \"Generiek\" : ((ai.tag === 8) ? \"Generiek met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 9) ? \"Gemene delen\" : \"Overdracht\")))))))))])), delay(() => {\n let matchValue_6;\n return append((dossierDetails.Dossier.Status.tag === 8) ? append((matchValue_6 = dossierDetails.Dossier.InBehandelingUsername, (matchValue_6 == null) ? ((empty())) : singleton([\"In behandeling door\", matchValue_6])), delay(() => {\n if (dossierDetails.Dossier.InBehandelingAdiId == null) {\n return empty();\n }\n else {\n const adiFirstName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.InBehandelingAdiFirstName), \"\");\n const adiLastName = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.InBehandelingAdiLastName), \"\");\n return singleton([\"In behandeling Adi\", `${adiFirstName} ${adiLastName}`]);\n }\n })) : ((empty())), delay(() => {\n let matchValue_9;\n return append((dossierDetails.Dossier.PartnerId == null) ? ((empty())) : singleton([\"Partner Vergoedingen\", (matchValue_9 = dossierDetails.Dossier.CompensationAmount, (matchValue_9 == null) ? \"Geen Vergoedingen\" : Compensation_compensation(matchValue_9))]), delay(() => append(singleton([\"Tarieven van prijzen\", InvoicePricingModule_string(dossierDetails.Dossier.InvoicePricing)]), delay(() => append(singleton([\"Afspraak Plaatsbezoek\", HomeVisitContactModule_string(dossierDetails.Dossier.HomeVisitContact)]), delay(() => append((dossierDetails.Dossier.HomeVisitContact.tag === 3) ? append(singleton([\"Afspraak Plaatsbezoek Naam\", defaultArg(map((n) => n, dossierDetails.Dossier.HomeVisitContactName), \"\")]), delay(() => singleton([\"Afspraak Plaatsbezoek Telefoon\", defaultArg(map((n_1) => n_1, dossierDetails.Dossier.HomeVisitContactEmail), \"\")]))) : ((empty())), delay(() => {\n let copyOfStruct;\n const matchValue_11 = dossierDetails.Dossier.QuoteApprovalMeetingDate;\n let pattern_matching_result, meetingDate_1;\n if (matchValue_11 != null) {\n if (((copyOfStruct = date_1(matchValue_11), year(copyOfStruct))) > 2000) {\n pattern_matching_result = 0;\n meetingDate_1 = matchValue_11;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton([\"Goedkeuring algemene vergadering\", GeneralFormats_dateTimeStampShort(fromDateTimeOffset(meetingDate_1, 0))]);\n }\n case 1: {\n return empty();\n }\n }\n }))))))));\n }));\n }));\n }))));\n })))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems_1 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Algemeen\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Dossier nummer\", dossierDetails.Dossier.Code.Value]), delay(() => append(singleton([\"Syndic\", createElement(Link, {\n text: Customer2_name(dossierDetails.Customer),\n url: customerUrl(Customer2__get_Code(dossierDetails.Customer)),\n })]), delay(() => {\n let client;\n return append(singleton([\"VME\", (client = dossierDetails.Dossier.Client, (client.tag === 1) ? \"Gevolmachtigde\" : ((client.tag === 2) ? \"Vereniging van mede-eigenaars\" : \"Eigenaar\"))]), delay(() => append((!isPartner) ? singleton([\"Geen standaard dossier\", CheckBox(dossierDetails.Dossier.ManualInvoice)]) : empty(), delay(() => (isAdmin ? singleton([\"Korting\", DisplayDiscount(dossierDetails.Dossier.Discount)]) : empty())))));\n })))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n let vme;\n const matchValue_12 = dossierDetails.Dossier.VME_OrganizationName;\n if (matchValue_12 == null) {\n vme = [\"\", null];\n }\n else {\n const organizationName = matchValue_12;\n vme = [\"\", \"\"];\n }\n const otherOwnerStatus = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.OwnerStatusOther), \"\");\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_2 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"VME\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_13;\n return append((matchValue_13 = dossierDetails.Dossier.Owner_CompanyName, (matchValue_13 == null) ? ((empty())) : singleton([\"Gebouw\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13)])), delay(() => append(singleton([\"Adres\", Address_address(dossierDetails.Dossier.Owner_Address)]), delay(() => {\n let matchValue_14, firstName, lastName;\n return append((matchValue_14 = [dossierDetails.Dossier.Owner_FirstName, dossierDetails.Dossier.Owner_LastName], (matchValue_14[0] != null) ? ((matchValue_14[1] != null) ? ((firstName = matchValue_14[0], (lastName = matchValue_14[1], append(singleton([\"Voornaam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(firstName)]), delay(() => singleton([\"Naam\", NonEmptyString___UnsafeUnwrap_Z73AD07C(lastName)])))))) : ((empty()))) : ((empty()))), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, dossierDetails.Dossier.Owner_PhoneNumber), \"-\")]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(dossierDetails.Dossier.Owner_Email)]), delay(() => append(singleton([\"KBO nummer\", defaultArg(map(VatNumber___UnsafeUnwrap_18C04ACB, dossierDetails.Dossier.Owner_VatNumber), \"-\")]), delay(() => {\n const matchValue_15 = [isPartner, dossierDetails.Dossier.VME_OrganizationName];\n return (matchValue_15[1] == null) ? (matchValue_15[0] ? singleton([\"\", null]) : singleton([\"VME Organisatie Naam\", \"-\"])) : singleton([\"VME Organisatie Naam\", matchValue_15[1].Value]);\n }))))))));\n }))));\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n }));\n }));\n })),\n })), delay(() => {\n let elems_4;\n return append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: ofArray([MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_4 = toList(delay(() => {\n let matchValue_16, matchValue_17, matchValue_18, matchValue_19, matchValue_20, matchValue_21, matchValue_22, value_47;\n return append(singleton(createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty_1(),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(dossierDetails.Dossier.InspectionLocation)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, dossierDetails.Dossier.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(dossierDetails.Dossier.Address.City)]]),\n })),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Contact afspraak\", Dossier_contact(dossierDetails.Dossier, dossierDetails.Partner)], [\"Telefoon contactpersoon\", Dossier_contactPhoneNumber(dossierDetails.Dossier, dossierDetails.Partner)], [\"Gebouwdeel/Vleugel/Blok\", (matchValue_16 = dossierDetails.Dossier.BuildingDetail, (matchValue_16 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_16))], [\"Wooneenheden\", (matchValue_17 = dossierDetails.Dossier.HousingUnit, (matchValue_17 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_17))], [\"Jaar van constructie\", (matchValue_18 = dossierDetails.Dossier.YearsOfConstruction, (matchValue_18 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_18))], [\"Jaar van renovatie\", (matchValue_19 = dossierDetails.Dossier.YearsOfRenovation, (matchValue_19 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_19))], [\"Aantal ingangen in het gebouw\", (matchValue_20 = dossierDetails.Dossier.NumberOfEntrances, (matchValue_20 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_20))], [\"Leidingisolatie (lopende meter)\", (matchValue_21 = dossierDetails.Dossier.PipeIsolationMeters, (matchValue_21 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_21))], [\"Gangen per verdiep\", (matchValue_22 = dossierDetails.Dossier.HallwaysPerLevel, (matchValue_22 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_22))], [\"Stooklokaal\", (value_47 = defaultArg(dossierDetails.Dossier.BoilerRoom, false), createElement(CheckIcon, {\n props: [],\n value: value_47,\n }))]]),\n })),\n })]),\n })]),\n })), delay(() => {\n const readOnlyCheckboxField = (label, checkedR) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"disabled\", true], [\"checked\", checkedR]])]]);\n return append(singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: toList(delay(() => {\n let elements, matchValue_24, matchValue_25, matchValue_26;\n const matchValue_23 = dossierDetails.Dossier.InspectionLocation;\n switch (matchValue_23.tag) {\n case 14:\n case 16:\n case 15: {\n let insData;\n const xs_1 = [MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), (matchValue_24 = dossierDetails.Dossier.InspectionLocationBerging, (matchValue_24 == null) ? false : matchValue_24)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), (matchValue_25 = dossierDetails.Dossier.InspectionLocationStaanplaats, (matchValue_25 == null) ? false : matchValue_25)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), (matchValue_26 = dossierDetails.Dossier.InspectionLocationGaragebox, (matchValue_26 == null) ? false : matchValue_26))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])];\n insData = react.createElement(react.Fragment, {}, ...xs_1);\n return singleton(createElement(DisplayData, {\n data: singleton_1([\"Extra ruimtes aanwezig\", insData]),\n }));\n }\n default: {\n return singleton(null);\n }\n }\n })),\n })),\n })), delay(() => append(singleton(createElement(InfoTitle, {\n text: \"Eigendom\",\n })), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => {\n let matchValue_27, file, matchValue_28, file_1, matchValue_29, file_2;\n return singleton(createElement(Row, {\n classes: empty_1(),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Kadastrale legger\", (matchValue_27 = dossierDetails.Dossier.CadastralRecords, (matchValue_27 == null) ? \"-\" : ((file = matchValue_27, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file);\n },\n }))))], [\"Grondplan\", (matchValue_28 = dossierDetails.Dossier.Floorplan, (matchValue_28 == null) ? \"-\" : ((file_1 = matchValue_28, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file_1);\n },\n }))))], [\"Andere\", (matchValue_29 = dossierDetails.Dossier.PropertyOther, (matchValue_29 == null) ? \"-\" : ((file_2 = matchValue_29, createElement(DownloadLink, {\n text: \"Verzonden\",\n onDownload: () => {\n downloadFile(file_2);\n },\n }))))]]),\n })),\n })),\n }));\n }))))));\n }));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])]), createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let copyOfStruct_1, elems_5;\n let signedDate;\n const matchValue_30 = dossierDetails.Dossier.AssignmentConfirmationDigitalSignature;\n if (matchValue_30 == null) {\n signedDate = \"-\";\n }\n else {\n const matchValue_31 = matchValue_30.SignedAt;\n let pattern_matching_result_1, a_2;\n if (matchValue_31 != null) {\n if (((copyOfStruct_1 = fromDateTimeOffset(matchValue_31, 0), year(copyOfStruct_1))) > 1) {\n pattern_matching_result_1 = 0;\n a_2 = matchValue_31;\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n const arg_23 = fromDateTimeOffset(a_2, 0);\n toConsole(printf(\"signed date %A\"))(arg_23);\n signedDate = GeneralFormats_dateTimeStamp(fromDateTimeOffset(a_2, 0));\n break;\n }\n case 1: {\n signedDate = \"-\";\n break;\n }\n }\n }\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems_5 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Opdracht\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Opdrachtformulier\", assignmentDocumentLink]), delay(() => append(singleton([\"Signed Date\", signedDate]), delay(() => {\n let matchValue_32, file_3;\n return append(singleton([\"Attest\", (matchValue_32 = dossierDetails.Dossier.Certificate, (matchValue_32 == null) ? \"-\" : ((file_3 = matchValue_32, createElement(DownloadLink, {\n text: \"Download\",\n onDownload: () => {\n downloadFile(file_3);\n },\n }))))]), delay(() => {\n const matchValue_33 = signatureink;\n if (matchValue_33 == null) {\n return empty();\n }\n else {\n return singleton([\"Tekenen Link\", matchValue_33]);\n }\n }));\n })))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_5))])])), delay(() => {\n let elems_6, matchValue_34, file_4;\n return (!isPartner) ? singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems_6 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Labo\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: ofArray([[\"Labo\", (matchValue_34 = dossierDetails.Dossier.Lab, (matchValue_34 == null) ? \"-\" : ((file_4 = matchValue_34, createElement(DownloadLink, {\n text: \"Download\",\n onDownload: () => {\n downloadFile(file_4);\n },\n }))))], [\"Monsters opgeladen\", CheckBox(sampledUploaded)]]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_6))])])) : empty();\n }));\n })),\n })]),\n })), delay(() => {\n let matchValue_35, appointConfirmation, children_1;\n return append((matchValue_35 = dossierDetails.AppointmentConfirmation, (matchValue_35 == null) ? ((empty())) : ((appointConfirmation = matchValue_35, singleton((children_1 = singleton_1(createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Afspraak bevestiging - Extra Monsters\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: ofArray([[\"Puntmonster\", `${appointConfirmation.PointSampleCount.Value}`], [\"Mengmonster\", `${appointConfirmation.MixedSampleCount.Value}`], [\"Mengmonster leidingisolatie\", `${appointConfirmation.MixedSamplePipeInsulationCount.Value}`]]),\n })]),\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])))))), delay(() => {\n const matchValue_36 = quoteDetails;\n return (matchValue_36 == null) ? singleton(null) : singleton(QuoteInvoice(matchValue_36));\n }));\n }));\n })))))),\n })), delay(() => {\n const showPartnerComments = !(dossierDetails.Partner == null);\n const username_1 = (auth0User == null) ? (void 0) : auth0User.Username;\n return singleton(createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => {\n let props_19;\n const commentElement = createElement(Col, {\n classes: singleton_1(Gap.S),\n children: ofArray([createElement(CommentList, {\n comments: comments,\n onDeleteComment: void 0,\n }), createElement(CommentEditor, {\n comment: comment,\n setComment: setComment,\n commentType: commentType,\n }), createElement(Col, {\n classes: ofArray([MarginTop.S, MarginBottom.M, hideInPrint]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignStart])], [\"onClick\", (_arg) => {\n if (isNullOrWhiteSpace(comment)) {\n }\n else {\n const commentData = new CommentData(comment, username_1, isPartner ? (new CommentSource_1(4)) : (new CommentSource_1(1)), commentType);\n commentButtonDisabled.On();\n onSaveComment(commentData)(() => {\n commentButtonDisabled.Off();\n setComment(\"\");\n });\n }\n }], [\"disabled\", commentButtonDisabled.State], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"size\", \"small\"], [\"startIcon\", (props_19 = {}, react.createElement(Save, props_19))], [\"children\", \"Save Comment\"]])),\n })]),\n });\n const showInternalComments = (auth0User == null) ? false : Auth0UserClaims__HasPrivilege_6B2F319B(auth0User, new Auth0UserPrivileges(0));\n return singleton(createElement(CommentTypeTabs, {\n commentType: commentType,\n setCommentType: setCommentType,\n content: commentElement,\n showInternal: showInternalComments,\n showAdi: !isPartner,\n showPartner: showPartnerComments,\n }));\n })),\n }));\n })))),\n });\n}\n\n","import { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { curry, createObj } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { MarginRight, cancelDossierButton as cancelDossierButton_1, MarginLeft, MarginBottom, PaddingRight, PaddingLeft, PaddingBottom, PaddingTop, modal } from \"../../../Styles/Utils.fs.js\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { empty, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { CommentType, DossierCode } from \"../../../shared/Domain.fs.js\";\nimport { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useSnackbar } from \"notistack\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { downloadFile } from \"../DownloadFile.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport Close from \"@material-ui/icons/Close\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { dossiers, customerDetail, dossierEdit } from \"../AppRoutes.fs.js\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport { empty as empty_1, singleton as singleton_1, append, delay, toList } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { Auth0PartnerUserPrivileges, Auth0PartnerUserClaims__HasPrivilege_567ADD95 } from \"../../../shared/Auth0Constants.fs.js\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DisplayDossierInfoSyndic } from \"../../../DesignSystems/dossier/DossierDetailsSyndic.fs.js\";\nimport { DisplayDossierInfo } from \"../../../DesignSystems/dossier/DossierDetails.fs.js\";\n\nexport function CancellationModal(cancellationModalInputProps) {\n let elems_1;\n const isBusyCancelling = cancellationModalInputProps.isBusyCancelling;\n const onCancelDossier = cancellationModalInputProps.onCancelDossier;\n const setShowCancellationModal = cancellationModalInputProps.setShowCancellationModal;\n const showCancellationModal = cancellationModalInputProps.showCancellationModal;\n const dossierId = cancellationModalInputProps.dossierId;\n return MuiHelpers_createElement(Modal, [[\"open\", showCancellationModal], [\"onClose\", (_arg_1, v) => {\n setShowCancellationModal(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.L, PaddingBottom.L, PaddingLeft.Xxl, PaddingRight.Xxl])], (elems_1 = [createElement(\"div\", {\n className: join(\" \", [MarginBottom.M]),\n children: Interop_reactApi.Children.toArray([\"Dit dossier annuleren?\"]),\n }), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_2) => {\n onCancelDossier(dossierId);\n }], [\"className\", join(\" \", [])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Ja\"], [\"disabled\", isBusyCancelling]]), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_3) => {\n setShowCancellationModal(false);\n }], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Nee\"], [\"disabled\", isBusyCancelling]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))]]);\n}\n\nexport function Detail(detailInputProps) {\n const auth0User = detailInputProps.auth0User;\n const dossierCode = detailInputProps.dossierCode;\n const api = detailInputProps.api;\n const currentPage = detailInputProps.currentPage;\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetDossierDetails(new DossierCode(dossierCode)), []);\n const patternInput = useFeliz_React__React_useState_Static_1505(empty());\n const comments = patternInput[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(new CommentType(1));\n const setCommentType = patternInput_1[1];\n const commentType = patternInput_1[0];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(false);\n const samplesUploaded = patternInput_2[0];\n const snackbar = useSnackbar();\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(false);\n const setShowCancellationModal = patternInput_3[1];\n const patternInput_4 = useFeliz_React__React_useState_Static_1505(false);\n const setIsBusyCancelling = patternInput_4[1];\n const dossierCode_1 = new DossierCode(dossierCode);\n const patternInput_5 = useFeliz_React__React_useState_Static_1505(void 0);\n const quoteDetails = patternInput_5[0];\n const download = (filePath) => singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.GetDocument(filePath), (_arg_4) => {\n const file = _arg_4;\n if (file.tag === 1) {\n const err_2 = file.fields[0];\n console.error(err_2);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_2}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n return singleton.Bind(downloadFile(file.fields[0], filePath), () => singleton.Return());\n }\n })), (_arg_6) => {\n const ex_1 = _arg_6;\n console.error(ex_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${ex_1.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }));\n const getComments = () => singleton.Delay(() => singleton.Bind(api.GetDossierComments(dossierCode_1, new PagingQuery(0, 2147483647), commentType), (_arg_7) => {\n const comments_1 = _arg_7;\n if (comments_1.tag === 0) {\n patternInput[1](comments_1.fields[0].Data);\n return singleton.Zero();\n }\n else {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n }));\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.GetSamplesUploaded(dossierCode_1), (_arg_2) => {\n const result_1 = _arg_2;\n if (result_1.tag === 1) {\n const err_1 = result_1.fields[0];\n console.error(err_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err_1}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n patternInput_2[1](result_1.fields[0]);\n return singleton.Zero();\n }\n })), (_arg_3) => {\n const ex = _arg_3;\n console.error(ex);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${ex.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n })));\n }, []);\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(getComments());\n }, [commentType]);\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton.Delay(() => singleton.Bind(api.GetQuoteDetailsByDossierCode(dossierCode_1), (_arg_8) => {\n const quteDetails = _arg_8;\n if (quteDetails.tag === 0) {\n patternInput_5[1](quteDetails.fields[0]);\n return singleton.Zero();\n }\n else {\n return singleton.Zero();\n }\n })));\n }, []);\n const onSaveComments = (comment, onSaveComment) => {\n startImmediate(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.CreateDossierComment(dossierCode_1, comment), (_arg_9) => {\n const result_3 = _arg_9;\n if (result_3.tag === 0) {\n onSaveComment();\n startImmediate(getComments());\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Commet saved!\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n onSaveComment();\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${result_3.fields[0]}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n })), (_arg_10) => {\n const e_1 = _arg_10;\n console.error(e_1);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e_1.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n })));\n };\n return createElement(DisplayDeferred, {\n data: data,\n view: (dossierDetails) => {\n let props, props_2, xs_2;\n if (dossierDetails == null) {\n return null;\n }\n else {\n const dossierDetail = dossierDetails;\n let cancelDossierButton;\n let isCancelDisabled;\n const matchValue = dossierDetail.Dossier.Status;\n switch (matchValue.tag) {\n case 1:\n case 5:\n case 6:\n case 7: {\n isCancelDisabled = true;\n break;\n }\n default: {\n isCancelDisabled = false;\n }\n }\n cancelDossierButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg_11) => {\n setShowCancellationModal(true);\n }], [\"className\", join(\" \", [MarginLeft.Xs, cancelDossierButton_1])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Close, props))], [\"children\", \"Dossier Annuleren\"], [\"disabled\", isCancelDisabled]]);\n const editDossierButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg_12) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierEdit, dossierCode_1.Value)), 1, 1);\n }], [\"className\", join(\" \", [MarginRight.M])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props_2 = {}, react.createElement(Edit, props_2))], [\"children\", \"Dossier bewerken\"]]);\n const availableButtons = toList(delay(() => {\n if (!Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1))) {\n return append(singleton_1(editDossierButton), delay(() => singleton_1(cancelDossierButton)));\n }\n else {\n return empty_1();\n }\n }));\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Dossier detail\",\n actions: availableButtons,\n children: [(xs_2 = toList(delay(() => append(Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1)) ? singleton_1(createElement(DisplayDossierInfoSyndic, {\n dossierDetails: dossierDetail,\n auth0User: void 0,\n sampledUploaded: samplesUploaded,\n downloadFile: (filePath_1) => {\n startImmediate(download(filePath_1));\n },\n comments: comments,\n commentType: commentType,\n setCommentType: setCommentType,\n customerUrl: (customerId) => Page$2__toUrl_2B594(customerDetail, customerId.Value),\n partnerUrl: void 0,\n appartmentUrl: void 0,\n isPartner: true,\n onSaveComment: curry(2, onSaveComments),\n signatureink: void 0,\n quoteDetails: quoteDetails,\n })) : singleton_1(createElement(DisplayDossierInfo, {\n dossierDetails: dossierDetail,\n auth0User: void 0,\n sampledUploaded: samplesUploaded,\n downloadFile: (filePath_2) => {\n startImmediate(download(filePath_2));\n },\n comments: comments,\n commentType: commentType,\n setCommentType: setCommentType,\n customerUrl: (customerId_1) => Page$2__toUrl_2B594(customerDetail, customerId_1.Value),\n partnerUrl: void 0,\n appartmentUrl: void 0,\n isPartner: true,\n onSaveComment: curry(2, onSaveComments),\n signatureink: void 0,\n quoteDetails: quoteDetails,\n })), delay(() => singleton_1(createElement(CancellationModal, {\n dossierId: dossierDetail.Dossier.Id,\n showCancellationModal: patternInput_3[0],\n setShowCancellationModal: setShowCancellationModal,\n onCancelDossier: (dossierId) => {\n startImmediate(singleton.Delay(() => singleton.TryWith(singleton.Delay(() => {\n setIsBusyCancelling(true);\n return singleton.Bind(api.CancelDossier(dossierId), (_arg) => {\n const result = _arg;\n setIsBusyCancelling(false);\n setShowCancellationModal(false);\n if (result.tag === 0) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Dossier geannuleerd\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossiers)), 1, 1);\n return singleton.Zero();\n }\n else {\n const err = result.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren.[${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n });\n }), (_arg_1) => {\n const e = _arg_1;\n console.error(e);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren.[${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n })));\n },\n isBusyCancelling: patternInput_4[0],\n })))))), react.createElement(react.Fragment, {}, ...xs_2))],\n });\n }\n },\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useForm, useFormValidator, useFormField } from \"../../../CustomHooks/ComposedForm.fs.js\";\nimport { Integer_get_Create, Compensation_get_DefaultCompensation, Compensation, Decimal___UnsafeCreate_32C73145, Decimal_get_Create, SelectOptionData$1_Create_Z510A3DC0 } from \"../../../shared/Domain.fs.js\";\nimport { compare, fromParts } from \"../fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { Row, Col } from \"../../../Components/UtilComponents.fs.js\";\nimport { ofArray, singleton, empty } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { MarginRight, MarginTop, Gap, PaddingBottom } from \"../../../Styles/Utils.fs.js\";\nimport { CompensationOptions } from \"../../../DesignSystems/DossierUtils.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { iterate } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton as singleton_1 } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { compensationEdit, compensations } from \"../AppRoutes.fs.js\";\nimport { toArray } from \"../fable_modules/fable-library.3.7.17/Option.js\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport Edit from \"@material-ui/icons/Edit\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { Compensation_compensation } from \"../../../shared/Format.fs.js\";\n\nexport function CompensationEditForm(compensationEditFormInputProps) {\n const api = compensationEditFormInputProps.api;\n const compensation = compensationEditFormInputProps.compensation;\n const snackbar = useSnackbar();\n const compensationData = useFormField(compensation, SelectOptionData$1_Create_Z510A3DC0);\n const compensationCustom = useFormField((compensation.tag === 11) ? compensation.fields[0].Value : fromParts(0, 0, 0, false, 0), Decimal_get_Create());\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setDisableButtons = patternInput[1];\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCompensationAmount(), []);\n const form = useFormValidator(compensationData.Validator, (unitVar_1, x) => {\n if (x.Value.tag === 11) {\n if (compare(compensationCustom.FieldValue, fromParts(0, 0, 0, false, 0)) > 0) {\n return {\n Compensation: new Compensation(11, Decimal___UnsafeCreate_32C73145(compensationCustom.FieldValue)),\n };\n }\n else {\n return {\n Compensation: void 0,\n };\n }\n }\n else {\n return {\n Compensation: x.Value,\n };\n }\n }, useForm());\n return createElement(DisplayDeferred, {\n data: data,\n view: (compensation_2) => {\n const comp = (compensation_2 == null) ? Compensation_get_DefaultCompensation() : compensation_2;\n return createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(Row, {\n classes: singleton(PaddingBottom.M),\n children: singleton(\"De prijslijst bovenaan is gebasseerd op de standaard vergoeding. Een afwijkende prijslijst kan via de backoffice aangevraagd worden.\"),\n }), createElement(Row, {\n classes: singleton(PaddingBottom.S),\n children: singleton(\"Standaardprijzen zonder vergoeding (excl. btw):\"),\n }), createElement(Row, {\n classes: ofArray([Gap.M, PaddingBottom.M]),\n children: ofArray([createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(Row, {\n classes: empty(),\n children: singleton(\"Woonhuis\"),\n }), createElement(Row, {\n classes: empty(),\n children: singleton(\"Appartement\"),\n }), createElement(Row, {\n classes: empty(),\n children: singleton(\"Studio/éénslaapkamerappartement\"),\n })]),\n }), createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(Row, {\n classes: empty(),\n children: singleton(\"€ 470\"),\n }), createElement(Row, {\n classes: empty(),\n children: singleton(\"€ 400\"),\n }), createElement(Row, {\n classes: empty(),\n children: singleton(\"€ 375\"),\n })]),\n })]),\n }), createElement(CompensationOptions, {\n compensationData: compensationData,\n compensationCustom: compensationCustom,\n showHeader: false,\n }), createElement(Row, {\n classes: ofArray([Gap.M, MarginTop.L]),\n children: singleton(MuiHelpers_createElement(Button, [[\"disabled\", patternInput[0]], [\"color\", \"primary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_2) => {\n iterate((data_1) => {\n iterate((data_2) => {\n setDisableButtons(true);\n console.log(data_2);\n startImmediate(singleton_1.Delay(() => singleton_1.TryFinally(singleton_1.Delay(() => singleton_1.TryWith(singleton_1.Delay(() => singleton_1.Bind(api.UpdateCompensationAmount(data_2), (_arg) => {\n const result = _arg;\n if (result.tag === 0) {\n setDisableButtons(false);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Compensation updated\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(compensations)), 1, 1);\n return singleton_1.Zero();\n }\n else {\n const err = result.fields[0];\n setDisableButtons(false);\n console.log(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_1.Zero();\n }\n })), (_arg_1) => {\n const e = _arg_1;\n setDisableButtons(false);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.log(e);\n return singleton_1.Zero();\n })), () => {\n })));\n }, toArray(data_1.Compensation));\n }, toArray(form.Validate()));\n }], [\"children\", Interop_reactApi.Children.toArray([\"Bewaren\"])]])),\n })]),\n });\n },\n });\n}\n\nexport function Compensations(compensationsInputProps) {\n let props;\n const api = compensationsInputProps.api;\n const currentPage = compensationsInputProps.currentPage;\n const snackbar = useSnackbar();\n const compensationData = useFormField(void 0, SelectOptionData$1_Create_Z510A3DC0);\n const compensationCustom = useFormField(0, Integer_get_Create());\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCompensationAmount(), []);\n const editButton = MuiHelpers_createElement(Button, [[\"onClick\", (_arg) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(compensationEdit)), 1, 1);\n }], [\"className\", join(\" \", [MarginRight.M])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Edit, props))], [\"children\", \"Bewerken\"]]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"\",\n actions: [editButton],\n children: [createElement(DisplayDeferred, {\n data: data,\n view: (compensation) => {\n let value_7;\n if (compensation == null) {\n return \"No data!\";\n }\n else {\n const compensation_1 = compensation;\n return createElement(Col, {\n classes: empty(),\n children: singleton((value_7 = Compensation_compensation(compensation_1), createElement(\"h2\", {\n children: [value_7],\n }))),\n });\n }\n },\n })],\n });\n}\n\nexport function CompensationsEdit(compensationsEditInputProps) {\n const api = compensationsEditInputProps.api;\n const currentPage = compensationsEditInputProps.currentPage;\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCompensationAmount(), []);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Vergoedingen\",\n actions: [],\n children: [createElement(DisplayDeferred, {\n data: data,\n view: (compensation) => {\n const comp = (compensation == null) ? (new Compensation(2)) : compensation;\n return createElement(CompensationEditForm, {\n compensation: comp,\n api: api,\n });\n },\n })],\n });\n}\n\n","import { Union, Record } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { QuoteCode as QuoteCode_1, PartnerId$reflection, CustomerCode$reflection, QuoteCode$reflection } from \"../../shared/Domain.fs.js\";\nimport { union_type, record_type, bool_type, int32_type, array_type, string_type, option_type } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { DateRange$reflection } from \"../FilterUtils.fs.js\";\nimport { ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { map, choose } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport { Quote_parseStatus } from \"../../shared/Format.fs.js\";\nimport { map as map_1 } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { fromDate } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { QuoteSearchTerms } from \"../../shared/DomainHelpers.fs.js\";\nimport { toOption } from \"../String.fs.js\";\nimport { isNullOrWhiteSpace } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\n\nexport class State extends Record {\n constructor(QuoteCode, PartnerName, CustomerName, CustomerCode, Address, PhoneNumber, DateRange, PartnerId, Status, PageNumber, PageSize, PartnerPortal, Urgent) {\n super();\n this.QuoteCode = QuoteCode;\n this.PartnerName = PartnerName;\n this.CustomerName = CustomerName;\n this.CustomerCode = CustomerCode;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.DateRange = DateRange;\n this.PartnerId = PartnerId;\n this.Status = Status;\n this.PageNumber = (PageNumber | 0);\n this.PageSize = (PageSize | 0);\n this.PartnerPortal = PartnerPortal;\n this.Urgent = Urgent;\n }\n}\n\nexport function State$reflection() {\n return record_type(\"QuoteFilter.State\", [], State, () => [[\"QuoteCode\", option_type(QuoteCode$reflection())], [\"PartnerName\", option_type(string_type)], [\"CustomerName\", option_type(string_type)], [\"CustomerCode\", option_type(CustomerCode$reflection())], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"DateRange\", option_type(DateRange$reflection())], [\"PartnerId\", option_type(PartnerId$reflection())], [\"Status\", array_type(string_type)], [\"PageNumber\", int32_type], [\"PageSize\", int32_type], [\"PartnerPortal\", option_type(bool_type)], [\"Urgent\", option_type(bool_type)]]);\n}\n\nexport function searchTerms(state) {\n return new QuoteSearchTerms(state.QuoteCode, state.PartnerName, state.CustomerName, state.Address, state.PhoneNumber, ofArray(choose((x) => x, map(Quote_parseStatus, state.Status))), map_1((x_1) => fromDate(x_1.Date1), state.DateRange), map_1((x_2) => fromDate(x_2.Date2), state.DateRange), false, state.CustomerCode, state.PartnerPortal, state.Urgent, state.PartnerId);\n}\n\nexport class Msg extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SetDossierId\", \"SetPartnerName\", \"SetCustomerName\", \"SetAddress\", \"SetPhoneNumber\", \"SetStatus\", \"SetPageNumber\", \"SetDateRange\", \"SetPartnerPortal\", \"SetUrgent\"];\n }\n}\n\nexport function Msg$reflection() {\n return union_type(\"QuoteFilter.Msg\", [], Msg, () => [[[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", string_type]], [[\"Item\", array_type(string_type)]], [[\"Item\", int32_type]], [[\"Item\", option_type(DateRange$reflection())]], [[\"Item\", option_type(bool_type)]], [[\"Item\", option_type(bool_type)]]]);\n}\n\nexport const initialState = new State(void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, [], 0, 25, void 0, void 0);\n\nexport function update(state, _arg) {\n switch (_arg.tag) {\n case 2: {\n return new State(state.QuoteCode, state.PartnerName, toOption(_arg.fields[0]), state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 0: {\n const dossierNumber = _arg.fields[0];\n if (isNullOrWhiteSpace(dossierNumber)) {\n return new State(void 0, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n else {\n return new State(new QuoteCode_1(dossierNumber), state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n }\n case 3: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, toOption(_arg.fields[0]), state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 4: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, toOption(_arg.fields[0]), state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 7: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, _arg.fields[0], state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 5: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, _arg.fields[0], state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 6: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, _arg.fields[0], state.PageSize, state.PartnerPortal, state.Urgent);\n }\n case 8: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, _arg.fields[0], state.Urgent);\n }\n case 9: {\n return new State(state.QuoteCode, state.PartnerName, state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, _arg.fields[0]);\n }\n default: {\n return new State(state.QuoteCode, toOption(_arg.fields[0]), state.CustomerName, state.CustomerCode, state.Address, state.PhoneNumber, state.DateRange, state.PartnerId, state.Status, state.PageNumber, state.PageSize, state.PartnerPortal, state.Urgent);\n }\n }\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useDebouncedValue, useUsername, useToggle } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useForm, useFormValidator, useFormField } from \"../../../CustomHooks/ComposedForm.fs.js\";\nimport { QuoteStatus_get_list, QuoteStatus, NonEmptyString_get_Create, PhoneNumber_get_Create, SelectOptionData$1_Create_Z510A3DC0 } from \"../../../shared/Domain.fs.js\";\nimport { map, toArray, defaultArg, some } from \"../fable_modules/fable-library.3.7.17/Option.js\";\nimport { useReact_useMemo_CF4EA67, useReact_useReducer_2B9E6EA0, useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { map as map_2, empty as empty_1, singleton as singleton_1, append, delay, toList, iterate } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { RouterModule_encodeParts, RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { sortByDescending, length, map as map_1, toArray as toArray_1, empty, singleton as singleton_2, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { quoteDetail, dossierDetail } from \"../AppRoutes.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { comparePrimitives, equals, createObj } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { printf, toConsole, join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { alignEnd, TableHeaderCell, cursorPointer, MarginLeft, TextColor, fullWidth, MarginTop, MarginBottom, PaddingRight, PaddingLeft, PaddingBottom, PaddingTop, modal } from \"../../../Styles/Utils.fs.js\";\nimport { DateParsing_parse, Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { ChooseContactQuote } from \"../../../DesignSystems/Contacts.fs.js\";\nimport { Col, Row } from \"../../../Components/UtilComponents.fs.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { fromDate } from \"../fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { Quote_status, Address_address, GeneralFormats_dateTimeStamp, GeneralFormats_dateTimeOffset } from \"../../../shared/Format.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { fromDateTimeOffset } from \"../fable_modules/fable-library.3.7.17/Date.js\";\nimport { Auth0PartnerUserPrivileges, Auth0PartnerUserClaims__HasPrivilege_567ADD95 } from \"../../../shared/Auth0Constants.fs.js\";\nimport { noContentMessage, QuoteStatusChip, QuoteStatusChipSyndic } from \"../../../DesignSystems/DossierUtils.fs.js\";\nimport { downloadFile } from \"../DownloadFile.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport { MultiSelect, TableHeader, FilterField } from \"../../../DesignSystems/DesignSystem.fs.js\";\nimport { searchTerms, initialState, update, Msg } from \"../../../DesignSystems/quote/QuoteFilter.fs.js\";\nimport { FilterFieldDateRange } from \"../../../DesignSystems/FilterUtils.fs.js\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { PagingQuery } from \"../../../shared/Paging.fs.js\";\nimport { Page } from \"../components/Page.fs.js\";\nimport Paper from \"@material-ui/core/Paper\";\n\nexport function ConvertQuoteModal(convertQuoteModalInputProps) {\n let elems_2;\n const disableBtn = convertQuoteModalInputProps.disableBtn;\n const setStatus = convertQuoteModalInputProps.setStatus;\n const setShowModal = convertQuoteModalInputProps.setShowModal;\n const showModal = convertQuoteModalInputProps.showModal;\n const quoteDetails = convertQuoteModalInputProps.quoteDetails;\n const api = convertQuoteModalInputProps.api;\n const snackbar = useSnackbar();\n const buttonsDisabled = useToggle(false);\n const contact = useFormField(quoteDetails.Quote.HomeVisitContact, (arg_2) => some(SelectOptionData$1_Create_Z510A3DC0(arg_2)));\n const contactPhoneNo = useFormField(defaultArg(quoteDetails.Quote.HomeVisitContactEmail, \"\"), PhoneNumber_get_Create());\n const contactName = useFormField(defaultArg(quoteDetails.Quote.HomeVisitContactName, \"\"), NonEmptyString_get_Create());\n const username = useUsername();\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const approvalTicked = patternInput[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(void 0);\n const approvalMeetingDate = patternInput_1[0];\n const invalidDate = useToggle(false);\n const onConvertConfirmation = (code, approvalMeetingDate_1) => {\n iterate((data) => {\n const matchValue_1 = data.Contact;\n if (matchValue_1 == null) {\n contact.ShowErrorState();\n }\n else {\n const contactDet = matchValue_1;\n startImmediate(singleton.Delay(() => {\n disableBtn.On();\n return singleton.Bind(api.ConvertQuoteToDossier(code, contactDet, data.ContactName, data.ContactEmail, approvalMeetingDate_1), (_arg) => {\n let code_1;\n const dossierCode = _arg;\n return singleton.Combine((dossierCode.tag === 1) ? ((ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${dossierCode.fields[0]}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false)), singleton.Zero())) : ((code_1 = dossierCode.fields[0], (ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Successfully converted Quote to Dossier. Dossier code is ${code_1.Value}.`, SnackbarProp_Variant_Z609E1E86(\"info\"), new EnqueueSnackbarOption(1, false)), (RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierDetail, code_1.Value)), 1, 1), (setStatus(new QuoteStatus(1)), singleton.Zero()))))), singleton.Delay(() => {\n disableBtn.Off();\n setShowModal(false);\n return singleton.Zero();\n }));\n });\n }));\n }\n }, toArray(useFormValidator(contact.Validator, (unitVar_1, x) => {\n if (x == null) {\n return {\n Contact: void 0,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const x_1 = x;\n const matchValue = x_1.Value;\n switch (matchValue.tag) {\n case 2:\n case 3: {\n const emailsVal = useFormValidator(contactPhoneNo.Validator, (r, x_3) => ({\n ContactEmail: x_3,\n ContactName: r.ContactName,\n }), useFormValidator(contactName.Validator, (unitVar_2, x_2) => ({\n ContactName: x_2,\n }), useForm())).Validate();\n if (emailsVal == null) {\n return {\n Contact: x_1.Value,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const e = emailsVal;\n return {\n Contact: x_1.Value,\n ContactEmail: e.ContactEmail,\n ContactName: e.ContactName,\n };\n }\n }\n default: {\n return {\n Contact: x_1.Value,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n }\n }\n }, useForm()).Validate()));\n };\n return MuiHelpers_createElement(Modal, [[\"open\", showModal], [\"onClose\", (_arg_2, v) => {\n setShowModal(false);\n }], [\"onClick\", (e_2) => {\n e_2.stopPropagation();\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.M, PaddingBottom.L, PaddingLeft.L, PaddingRight.L])], [\"onClick\", (e_3) => {\n e_3.stopPropagation();\n }], (elems_2 = toList(delay(() => {\n let elems, value_9;\n return append(singleton_1(createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginBottom.M])], (elems = [(value_9 = (`Bent u zeker dat u de offerte ${quoteDetails.Quote.Code.Value} wilt omzetten naar een dossier?`), createElement(\"h2\", {\n children: [value_9],\n }))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])))), delay(() => append(singleton_1(createElement(ChooseContactQuote, {\n contactOption: contact,\n partnerName: username,\n isPartnerSelected: true,\n homeVisitContactName: contactName,\n homeVisitContactPhoneNo: contactPhoneNo,\n isOptional: false,\n })), delay(() => append(singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.L),\n children: singleton_2(createElement(Col, {\n classes: empty(),\n children: singleton_2(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Goedkeuring algemene vergadering\"], [\"control\", MuiHelpers_createElement(Switch, [[\"onChange\", (e_4) => {\n patternInput[1](Browser_Types_Event__Event_get_Checked(e_4));\n }]])]])),\n })),\n })), delay(() => append(approvalTicked ? singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.S),\n children: singleton_2(createElement(Col, {\n classes: empty(),\n children: toList(delay(() => append(singleton_1(createElement(\"b\", {\n children: [\"Datum\"],\n })), delay(() => {\n let dt;\n return append(singleton_1(createElement(\"input\", {\n type: \"date\",\n onChange: (ev) => {\n iterate((n) => {\n patternInput_1[1](fromDate(n));\n }, toArray(DateParsing_parse(ev.target.value)));\n },\n className: join(\" \", [fullWidth]),\n value: (approvalMeetingDate == null) ? \"\" : ((dt = approvalMeetingDate, (toConsole(printf(\"date1 %A\"))(dt), GeneralFormats_dateTimeOffset(dt)))),\n })), delay(() => (invalidDate.State ? singleton_1(createElement(\"div\", {\n className: join(\" \", [MarginTop.S, TextColor.Danger]),\n children: Interop_reactApi.Children.toArray([\"Please select a date\"]),\n })) : empty_1())));\n })))),\n })),\n })) : empty_1(), delay(() => singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.L),\n children: ofArray([MuiHelpers_createElement(Button, [[\"onClick\", (e_5) => {\n if (approvalTicked) {\n if (approvalMeetingDate == null) {\n invalidDate.On();\n }\n else {\n const dt_1 = approvalMeetingDate;\n invalidDate.Off();\n onConvertConfirmation(quoteDetails.Quote.Code, approvalMeetingDate);\n }\n }\n else {\n invalidDate.Off();\n onConvertConfirmation(quoteDetails.Quote.Code, approvalMeetingDate);\n }\n }], [\"className\", join(\" \", [])], [\"disabled\", disableBtn.State], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Ja\"]]), MuiHelpers_createElement(Button, [[\"onClick\", (e_6) => {\n setShowModal(false);\n }], [\"disabled\", disableBtn.State], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Annuleren\"]])]),\n }))))))))));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])])))]]);\n}\n\nexport function QuoteTableRow(quoteTableRowInputProps) {\n let elems_8;\n const auth0User = quoteTableRowInputProps.auth0User;\n const url = quoteTableRowInputProps.url;\n const detail = quoteTableRowInputProps.detail;\n const api = quoteTableRowInputProps.api;\n const snackbar = useSnackbar();\n const disableBtn = useToggle(false);\n const patternInput = useFeliz_React__React_useState_Static_1505(detail.Quote.Status);\n const status = patternInput[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(false);\n const setShowModal = patternInput_1[1];\n const xs_2 = [createElement(ConvertQuoteModal, {\n api: api,\n quoteDetails: detail,\n showModal: patternInput_1[0],\n setShowModal: setShowModal,\n setStatus: patternInput[1],\n disableBtn: disableBtn,\n }), MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg_3) => {\n window.open(RouterModule_encodeParts(ofArray(url(detail.Quote.Code)), 1), \"_blank\");\n }], [\"key\", detail.Quote.Id.Value], (elems_8 = toList(delay(() => append(singleton_1(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([detail.Quote.Code.Value])]])), delay(() => {\n let children_1;\n return append(singleton_1((children_1 = singleton_2(GeneralFormats_dateTimeStamp(fromDateTimeOffset(detail.Quote.CreatedOn, 0))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))), delay(() => {\n let children_2;\n return append(singleton_1((children_2 = toList(delay(() => (Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1)) ? singleton_1(createElement(QuoteStatusChipSyndic, {\n status: status,\n })) : singleton_1(createElement(QuoteStatusChip, {\n status: status,\n }))))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))), delay(() => {\n let vmeName;\n const matchValue = detail.Quote.Owner_CompanyName;\n vmeName = ((matchValue == null) ? \"\" : matchValue.Value);\n let ownerPersonName;\n let oFName;\n const matchValue_1 = detail.Quote.Owner_FirstName;\n oFName = ((matchValue_1 == null) ? \"\" : matchValue_1.Value);\n let oLName;\n const matchValue_2 = detail.Quote.Owner_LastName;\n oLName = ((matchValue_2 == null) ? \"\" : matchValue_2.Value);\n ownerPersonName = (`${oFName} ${oLName}`);\n return append(singleton_1(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([vmeName])]])), delay(() => append(singleton_1(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([ownerPersonName])]])), delay(() => {\n let children_5;\n return append(singleton_1((children_5 = singleton_2(Address_address(detail.Quote.Address)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))), delay(() => {\n let children_6;\n return append(singleton_1((children_6 = toList(delay(() => (equals(status, new QuoteStatus(1)) ? singleton_1(null) : singleton_1(MuiHelpers_createElement(Button, [[\"disabled\", disableBtn.State], [\"onClick\", (e_1) => {\n e_1.preventDefault();\n e_1.stopPropagation();\n setShowModal(true);\n }], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"children\", \"Omzetten naar dossier\"]]))))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]]))), delay(() => {\n let children_7, filePath_1, filePath_2;\n return singleton_1((children_7 = singleton_2((filePath_1 = detail.Quote.QuoteDocument, (filePath_1 == null) ? null : ((filePath_2 = filePath_1, createElement(\"a\", {\n target: \"_blank\",\n href: \"#\",\n onClick: (e) => {\n let filePath;\n e.preventDefault();\n e.stopPropagation();\n startImmediate((filePath = filePath_2, singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.GetDocument(filePath), (_arg) => {\n const file = _arg;\n if (file.tag === 1) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${file.fields[0]}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n return singleton.Bind(downloadFile(file.fields[0], filePath), () => singleton.Return());\n }\n })), (_arg_2) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${_arg_2.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }))));\n },\n children: \"Offerte PDF\",\n }))))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]])));\n }));\n }));\n }))));\n }));\n }));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_8))])])];\n return react.createElement(react.Fragment, {}, ...xs_2);\n}\n\nexport function QuotesDataPartnerPortal(quotesDataPartnerPortalInputProps) {\n let elems_12, elems_11, children_9, children_8, children, children_1, children_2, children_3, children_4, children_5, children_6, children_7;\n const auth0User = quotesDataPartnerPortalInputProps.auth0User;\n const url = quotesDataPartnerPortalInputProps.url;\n const dispatch = quotesDataPartnerPortalInputProps.dispatch;\n const state = quotesDataPartnerPortalInputProps.state;\n const data = quotesDataPartnerPortalInputProps.data;\n const api = quotesDataPartnerPortalInputProps.api;\n const xs_1 = [MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_12 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_11 = [(children_9 = singleton_2((children_8 = ofArray([(children = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_1) => {\n dispatch(new Msg(0, arg_1));\n }, defaultArg(map((d) => d.Value, state.QuoteCode), \"\")), createElement(TableHeader, {\n text: \"Offerte nummer\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]])), (children_1 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([FilterFieldDateRange(\"Filter\", (arg_3) => {\n dispatch(new Msg(7, arg_3));\n }, state.DateRange), createElement(TableHeader, {\n text: \"Datum en tijd\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]])), (children_2 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([createElement(MultiSelect, {\n label: \"Filter\",\n items: toArray_1(map_1(Quote_status, QuoteStatus_get_list())),\n v: state.Status,\n onChange: (arg_5) => {\n dispatch(new Msg(5, arg_5));\n },\n }), createElement(TableHeader, {\n text: \"Status\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]])), (children_3 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_7) => {\n dispatch(new Msg(2, arg_7));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"VME\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]])), (children_4 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_9) => {\n dispatch(new Msg(2, arg_9));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"Beheerder\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]])), (children_5 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_11) => {\n dispatch(new Msg(3, arg_11));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Inspectielocatie\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]])), (children_6 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: singleton_2(createElement(TableHeader, {\n text: \"\",\n })),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]])), (children_7 = singleton_2(createElement(Col, {\n classes: singleton_2(TableHeaderCell),\n children: singleton_2(createElement(TableHeader, {\n text: \"\",\n })),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]]))]), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]])), createElement(DisplayDeferred, {\n data: data,\n view: (quoteDetails) => {\n const xs = toList(delay(() => {\n let children_10;\n return (length(quoteDetails.Data) === 0) ? singleton_1(noContentMessage(8, \"Er zijn nog geen offertes\")) : singleton_1((children_10 = toList(delay(() => map_2((detail) => createElement(QuoteTableRow, {\n api: api,\n detail: detail,\n url: url,\n auth0User: auth0User,\n }), sortByDescending((s) => s.Quote.Id.Value, quoteDetails.Data, {\n Compare: comparePrimitives,\n })))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]])));\n }));\n return react.createElement(react.Fragment, {}, ...xs);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_11))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_12))])]), createElement(Col, {\n classes: empty(),\n children: singleton_2(createElement(DisplayDeferred, {\n data: data,\n view: (dossiers) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", dossiers.TotalPages], [\"onChangePage\", (_arg, v) => {\n dispatch(new Msg(6, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_29) => {\n }]]);\n },\n })),\n })];\n return react.createElement(react.Fragment, {}, ...xs_1);\n}\n\nexport function Quotes(quotesInputProps) {\n let children;\n const auth0User = quotesInputProps.auth0User;\n const api = quotesInputProps.api;\n const currentPage = quotesInputProps.currentPage;\n const patternInput = useReact_useReducer_2B9E6EA0(update, initialState);\n const state_1 = patternInput[0];\n const search = useDebouncedValue(500, useReact_useMemo_CF4EA67(() => searchTerms(state_1), [state_1]));\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetPartnerQuotesDetails(new PagingQuery(state_1.PageNumber, state_1.PageSize), search), [state_1.PageNumber, state_1.PageSize, search]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Offertes\",\n actions: [],\n children: [(children = singleton_2(createElement(QuotesDataPartnerPortal, {\n api: api,\n data: data,\n state: state_1,\n dispatch: patternInput[1],\n url: (code) => Page$2__toUrl_2B594(quoteDetail, code.Value),\n auth0User: auth0User,\n })), MuiHelpers_createElement(Paper, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))],\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { MuiHelpers_createElement } from \"../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { equals, createObj } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport { join } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { hEnd, cursorPointer, cancelDossierButton, hCenter, fullWidth, alignCenter, center, Padding, hideInPrint, Gap, MarginTop, MarginLeft, MarginBottom, PaddingRight, PaddingLeft, PaddingBottom, PaddingTop, modal } from \"../Styles/Utils.fs.js\";\nimport { collect, empty as empty_1, append, iterate, singleton, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { Interop_reactApi } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { map, length, filter, cons, singleton as singleton_1, empty, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../Notistack/Notistack.fs.js\";\nimport { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../partnerportal/src/fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { useToggle } from \"../CustomHooks/CustomHooks.fs.js\";\nimport { useForm, useFormValidator, useFormField } from \"../CustomHooks/ComposedForm.fs.js\";\nimport { toArray, some } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { QuoteFileType, QuoteDocumentType, SelectOptionData$1_Create_Z510A3DC0 } from \"../shared/Domain.fs.js\";\nimport { Col, Row } from \"../Components/UtilComponents.fs.js\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { InfoTitle, FileField, OptionField } from \"./DesignSystem.fs.js\";\nimport { parallel, startImmediate } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton as singleton_2 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { ByteArrayExtensions_SaveFileAs_72B26259, Browser_Types_File__File_ReadAsByteArray } from \"../partnerportal/src/fable_modules/Fable.Remoting.Client.7.25.0/Extensions.fs.js\";\nimport { choose } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Close from \"@material-ui/icons/Close\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableBody from \"@material-ui/core/TableBody\";\n\nexport function DeleteFileModal(deleteFileModalInputProps) {\n let elems_1, elems;\n const onDeleteFile = deleteFileModalInputProps.onDeleteFile;\n const setShowDeletionModal = deleteFileModalInputProps.setShowDeletionModal;\n const showDeleteModal = deleteFileModalInputProps.showDeleteModal;\n const fileName = deleteFileModalInputProps.fileName;\n const filePath = deleteFileModalInputProps.filePath;\n const snackbar = useSnackbar();\n return MuiHelpers_createElement(Modal, [[\"open\", showDeleteModal], [\"onClose\", (_arg_1, v) => {\n setShowDeletionModal(false);\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.L, PaddingBottom.L, PaddingLeft.Xxl, PaddingRight.Xxl])], (elems_1 = [createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginBottom.M])], (elems = toList(delay(() => {\n if (fileName == null) {\n return singleton(null);\n }\n else {\n const fileName_1 = fileName;\n return singleton(`Verwijder bestand ${fileName_1}`);\n }\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]))), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_2) => {\n if (filePath == null) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Geen bestand geselecteerd.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(\"Geen bestand geselecteerd\");\n setShowDeletionModal(false);\n }\n else {\n onDeleteFile(filePath);\n setShowDeletionModal(false);\n }\n }], [\"className\", join(\" \", [])], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Ja\"]]), MuiHelpers_createElement(Button, [[\"onClick\", (_arg_3) => {\n setShowDeletionModal(false);\n }], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Nee\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))]]);\n}\n\nexport function UploadDocumentModal(uploadDocumentModalInputProps) {\n let elems_2, elems, elements;\n const setFilesList = uploadDocumentModalInputProps.setFilesList;\n const filesList = uploadDocumentModalInputProps.filesList;\n const showUploadDocumentModal = uploadDocumentModalInputProps.showUploadDocumentModal;\n const api = uploadDocumentModalInputProps.api;\n const snackbar = useSnackbar();\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const buttonsDisabled = useToggle(false);\n const file = useFormField(void 0, some);\n const documentType = useFormField(void 0, (arg_3) => some(SelectOptionData$1_Create_Z510A3DC0(arg_3)));\n const form = useFormValidator(documentType.Validator, (r, x_1) => ({\n DocumentType: x_1,\n File: r.File,\n }), useFormValidator(file.Validator, (unitVar_1, x) => ({\n File: x,\n }), useForm()));\n return MuiHelpers_createElement(Modal, [[\"open\", showUploadDocumentModal.State], [\"onClose\", (_arg_5, v) => {\n showUploadDocumentModal.Off();\n }], [\"onClick\", (e_2) => {\n e_2.stopPropagation();\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.M, PaddingBottom.L, PaddingLeft.L, PaddingRight.L])], [\"onClick\", (e_3) => {\n e_3.stopPropagation();\n }], (elems_2 = [createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginBottom.M])], (elems = [createElement(\"h3\", {\n children: [\"Document Uploaden\"],\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]))), createElement(Row, {\n classes: empty(),\n children: singleton_1(MuiHelpers_createElement(RadioGroup, [[\"row\", true], (elements = [OptionField(documentType, new QuoteDocumentType(0), \"Intern\", \"\", true), OptionField(documentType, new QuoteDocumentType(1), \"Extern\", \"\", true)], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])),\n }), createElement(Row, {\n classes: singleton_1(MarginTop.M),\n children: singleton_1(FileField(file, \"Bestand selecteren\", \"\", true)),\n }), createElement(Row, {\n classes: singleton_1(MarginTop.L),\n children: ofArray([MuiHelpers_createElement(Button, [[\"onClick\", (e_4) => {\n e_4.stopPropagation();\n iterate((data) => {\n const matchValue = data.DocumentType;\n if (matchValue == null) {\n }\n else {\n const documentType_1 = matchValue.Value;\n const file_1 = data.File;\n startImmediate(singleton_2.Delay(() => singleton_2.TryWith(singleton_2.Delay(() => {\n let filename;\n if (file_1 == null) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Selecteer een bestand\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_2.Zero();\n }\n else {\n const file_2 = file_1;\n startImmediate((filename = file_2.name, singleton_2.Delay(() => singleton_2.TryWith(singleton_2.Delay(() => {\n buttonsDisabled.On();\n return singleton_2.Bind(Browser_Types_File__File_ReadAsByteArray(file_2), (_arg) => singleton_2.Bind(api.UploadQuoteDocument(_arg, filename, documentType_1), (_arg_1) => {\n const output = _arg_1;\n buttonsDisabled.Off();\n if (output.tag === 1) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${output.fields[0]}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_2.Zero();\n }\n else {\n setFilesList(cons(output.fields[0], filesList));\n file.SetFieldValue(void 0);\n documentType.SetFieldValue(void 0);\n showUploadDocumentModal.Off();\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Bestand opgeladen\", SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n return singleton_2.Zero();\n }\n }));\n }), (_arg_2) => {\n const e = _arg_2;\n buttonsDisabled.Off();\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `TEen onbekende fout is opgetreden. Gelieve support te contacteren. [${e.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.log(e);\n return singleton_2.Zero();\n }))));\n return singleton_2.Zero();\n }\n }), (_arg_3) => {\n const e_1 = _arg_3;\n showUploadDocumentModal.Off();\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden tijdens het bevestigen van de afspraak. Gelieve support te contacteren. [${e_1.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.log(e_1);\n return singleton_2.Zero();\n })));\n }\n }, toArray(form.Validate()));\n }], [\"className\", join(\" \", [])], [\"disabled\", buttonsDisabled.State ? true : (file.FieldValue == null)], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Uploaden\"]]), MuiHelpers_createElement(Button, [[\"onClick\", (e_5) => {\n e_5.stopPropagation();\n showUploadDocumentModal.Off();\n }], [\"disabled\", buttonsDisabled.State], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Cancel\"]])]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])])))]]);\n}\n\nexport function ImageList(imageListInputProps) {\n const deleteFile = imageListInputProps.deleteFile;\n const getImage = imageListInputProps.getImage;\n const getFile = imageListInputProps.getFile;\n const quoteDocuments = imageListInputProps.quoteDocuments;\n const snackbar = useSnackbar();\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(false);\n const setShowDeletionModal = patternInput_1[1];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_3 = useFeliz_React__React_useState_Static_1505(void 0);\n const isLoading = useToggle(false);\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton_2.Delay(() => singleton_2.TryWith(singleton_2.Delay(() => {\n const images = filter((d) => equals(d.DocumentFileType, new QuoteFileType(1)), quoteDocuments);\n return singleton_2.Combine((length(images) > 0) ? ((isLoading.On(), singleton_2.Zero())) : singleton_2.Zero(), singleton_2.Delay(() => {\n const results = map((d_1) => singleton_2.Delay(() => singleton_2.Bind(getImage(getFile)(d_1.DocumentFilePath), (_arg) => singleton_2.Return([_arg, d_1]))), images);\n return singleton_2.Bind(parallel(results), (_arg_1) => {\n const filesResult = choose((_arg_2) => {\n const copyOfStruct = _arg_2[0];\n if (copyOfStruct.tag === 1) {\n console.error(copyOfStruct.fields[0]);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return void 0;\n }\n else {\n return [copyOfStruct.fields[0], _arg_2[1]];\n }\n }, _arg_1);\n isLoading.Off();\n patternInput[1](ofArray(filesResult));\n return singleton_2.Zero();\n });\n }));\n }), (_arg_3) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(_arg_3);\n return singleton_2.Zero();\n })));\n }, [quoteDocuments]);\n return createElement(Row, {\n classes: ofArray([Gap.L, MarginTop.M, hideInPrint]),\n children: toList(delay(() => {\n let matchValue, deleteFile_1;\n return append((matchValue = deleteFile, (matchValue == null) ? singleton(null) : ((deleteFile_1 = matchValue, singleton(createElement(DeleteFileModal, {\n filePath: patternInput_2[0],\n fileName: patternInput_3[0],\n showDeleteModal: patternInput_1[0],\n setShowDeletionModal: setShowDeletionModal,\n onDeleteFile: deleteFile_1,\n }))))), delay(() => {\n let elems;\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 4))), (elems = [createElement(Col, {\n classes: singleton_1(Gap.M),\n children: ofArray([createElement(InfoTitle, {\n text: \"Afbeeldingen\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: ofArray([Gap.L, Padding.M]),\n children: toList(delay(() => append(isLoading.State ? singleton(MuiHelpers_createElement(CircularProgress, [[\"className\", join(\" \", [center, alignCenter, fullWidth, hCenter])], [\"variant\", \"indeterminate\"]])) : empty_1(), delay(() => {\n const matchValue_1 = patternInput[0];\n if (matchValue_1 == null) {\n return empty_1();\n }\n else {\n return collect((preview) => {\n const file_2 = preview[1];\n return singleton(createElement(Col, {\n classes: singleton_1(Gap.Xs),\n children: toList(delay(() => append(singleton(createElement(\"img\", {\n style: {\n objectFit: \"contain\",\n borderColor: \"#efefef\",\n borderWidth: 1,\n borderRadius: 8,\n borderStyle: \"solid\",\n },\n className: join(\" \", [Padding.Xs]),\n width: 300,\n height: 300,\n src: preview[0],\n })), delay(() => append(singleton(MuiHelpers_createElement(Button, [[\"onClick\", (_arg_6) => {\n let filePath;\n startImmediate((filePath = file_2.DocumentFilePath, singleton_2.Delay(() => singleton_2.TryWith(singleton_2.Delay(() => singleton_2.Bind(getFile(filePath), (_arg_4) => {\n const result_1 = _arg_4;\n if (result_1.tag === 1) {\n console.error(result_1.fields[0]);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_2.Zero();\n }\n else {\n ByteArrayExtensions_SaveFileAs_72B26259(result_1.fields[0], filePath.Value);\n return singleton_2.Zero();\n }\n })), (_arg_5) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(_arg_5);\n return singleton_2.Zero();\n }))));\n }], [\"className\", join(\" \", [])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"size\", \"small\"], [\"children\", \"Download\"]])), delay(() => {\n let props_4;\n return (deleteFile == null) ? singleton(null) : singleton(MuiHelpers_createElement(Button, [[\"className\", cancelDossierButton], [\"children\", \"Verwijderen\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props_4 = {}, react.createElement(Close, props_4))], [\"onClick\", (e_2) => {\n e_2.preventDefault();\n e_2.stopPropagation();\n patternInput_2[1](file_2.DocumentFilePath);\n patternInput_3[1](file_2.DocumentFileName);\n setShowDeletionModal(true);\n }]]));\n })))))),\n }));\n }, matchValue_1);\n }\n })))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]));\n }));\n })),\n });\n}\n\nexport function DocumentsList(documentsListInputProps) {\n const deleteFile = documentsListInputProps.deleteFile;\n const getFile = documentsListInputProps.getFile;\n const quoteDocuments = documentsListInputProps.quoteDocuments;\n const snackbar = useSnackbar();\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setShowDeletionModal = patternInput[1];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(void 0);\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(void 0);\n return createElement(Row, {\n classes: ofArray([Gap.L, hideInPrint]),\n children: toList(delay(() => {\n let matchValue, deleteFile_1;\n return append((matchValue = deleteFile, (matchValue == null) ? singleton(null) : ((deleteFile_1 = matchValue, singleton(createElement(DeleteFileModal, {\n filePath: patternInput_1[0],\n fileName: patternInput_2[0],\n showDeleteModal: patternInput[0],\n setShowDeletionModal: setShowDeletionModal,\n onDeleteFile: deleteFile_1,\n }))))), delay(() => {\n let elems_6, elems_5, elems_4, children_3;\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_6 = [createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Documenten\",\n }), MuiHelpers_createElement(Divider, []), MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], [\"className\", join(\" \", [MarginTop.M])], (elems_5 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_4 = [(children_3 = toList(delay(() => collect((file_1) => {\n let elems_2, children_2;\n const filename = file_1.DocumentFileName;\n return singleton(MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], (elems_2 = [MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([filename])]]), (children_2 = singleton_1(createElement(Row, {\n classes: ofArray([Gap.M, hEnd]),\n children: toList(delay(() => append(singleton(MuiHelpers_createElement(Button, [[\"children\", \"Downloaden\"], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"onClick\", (e_1) => {\n let filePath;\n e_1.preventDefault();\n e_1.stopPropagation();\n startImmediate((filePath = file_1.DocumentFilePath, singleton_2.Delay(() => singleton_2.TryWith(singleton_2.Delay(() => singleton_2.Bind(getFile(filePath), (_arg) => {\n const result = _arg;\n if (result.tag === 1) {\n console.error(result.fields[0]);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_2.Zero();\n }\n else {\n ByteArrayExtensions_SaveFileAs_72B26259(result.fields[0], filePath.Value);\n return singleton_2.Zero();\n }\n })), (_arg_1) => {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, \"Een onbekende fout is opgetreden. Gelieve support te contacteren.\", SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n console.error(_arg_1);\n return singleton_2.Zero();\n }))));\n }]])), delay(() => {\n let props_2;\n const matchValue_1 = deleteFile;\n if (matchValue_1 == null) {\n return singleton(null);\n }\n else {\n const deleteFile_2 = matchValue_1;\n return singleton(MuiHelpers_createElement(Button, [[\"className\", cancelDossierButton], [\"children\", \"Verwijderen\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props_2 = {}, react.createElement(Close, props_2))], [\"onClick\", (e_2) => {\n e_2.preventDefault();\n e_2.stopPropagation();\n patternInput_1[1](file_1.DocumentFilePath);\n patternInput_2[1](filename);\n setShowDeletionModal(true);\n }]]));\n }\n })))),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n }, filter((d) => equals(d.DocumentFileType, new QuoteFileType(0)), quoteDocuments)))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_5))])])]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_6))])]));\n }));\n })),\n });\n}\n\n","import { map as map_2, empty, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../../Components/UtilComponents.fs.js\";\nimport { flexExpand, Gap, cursorPointer, TableHeaderCell, alignEnd, MarginBottom, MarginTop, MarginRight } from \"../../Styles/Utils.fs.js\";\nimport { empty as empty_1, sortByDescending, length, map as map_1, toArray, singleton as singleton_1, ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { format, join } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { PagingQuery } from \"../../shared/Paging.fs.js\";\nimport { Msg, searchTerms } from \"./QuoteFilter.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport { CheckIcon, DisplayDiscount, CheckBox, Link, DisplayData, InfoTitle, MultiSelect, TableHeader, FilterField } from \"../DesignSystem.fs.js\";\nimport { map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { FilterFieldDateRange } from \"../FilterUtils.fs.js\";\nimport { InspectionLocation_extra, InspectionLocation_type$0027, Customer2_name, Address_address, GeneralFormats_dateTimeStamp, Quote_status } from \"../../shared/Format.fs.js\";\nimport { InspectionLocationExtra, VatNumber___UnsafeUnwrap_18C04ACB, PhoneNumber___UnsafeUnwrap_23E45174, Email___UnsafeUnwrap_Z27D11339, Customer2__get_Code, HomeVisitContactModule_string, NonEmptyString___UnsafeUnwrap_Z73AD07C, QuoteStatus_get_list } from \"../../shared/Domain.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\nimport { QuoteStatusChipSyndic, noContentMessage } from \"../DossierUtils.fs.js\";\nimport { RouterModule_encodeParts } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { fromDateTimeOffset } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { Quote_contact, Quote_contactPhoneNumber } from \"../../shared/DomainHelpers.fs.js\";\nimport { comparePrimitives } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\nimport { useSnackbar } from \"notistack\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { QuoteInvoice } from \"./QuoteInvoiceDetails.fs.js\";\nimport { ImageList, DocumentsList } from \"../QuoteFiles.fs.js\";\n\nexport function QuotesDataSyndic(quotesDataSyndicInputProps) {\n const downloadLink = quotesDataSyndicInputProps.downloadLink;\n const showPartnerPortal = quotesDataSyndicInputProps.showPartnerPortal;\n const showCibFilter = quotesDataSyndicInputProps.showCibFilter;\n const optionalExportCsvFunction = quotesDataSyndicInputProps.optionalExportCsvFunction;\n const showPartnerName = quotesDataSyndicInputProps.showPartnerName;\n const url = quotesDataSyndicInputProps.url;\n const dispatch = quotesDataSyndicInputProps.dispatch;\n const state = quotesDataSyndicInputProps.state;\n const data = quotesDataSyndicInputProps.data;\n const xs_3 = toList(delay(() => {\n let matchValue, exportCsvFunction;\n return append((matchValue = optionalExportCsvFunction, (matchValue == null) ? singleton(null) : ((exportCsvFunction = matchValue, singleton(createElement(Col, {\n classes: ofArray([MarginRight.S, MarginTop.S, MarginBottom.M]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignEnd])], [\"target\", \"_blank\"], [\"href\", \"#\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"onClick\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n exportCsvFunction(new PagingQuery(state.PageNumber, state.PageSize))(searchTerms(state));\n }], [\"children\", \"Exporteren naar csv-bestand\"]])),\n }))))), delay(() => {\n let elems_23, elems_22, children_10, children_9;\n return append(singleton(MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_23 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_22 = [(children_10 = singleton_1((children_9 = toList(delay(() => {\n let children;\n return append(singleton((children = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_2) => {\n dispatch(new Msg(0, arg_2));\n }, defaultArg(map((d) => d.Value, state.QuoteCode), \"\")), createElement(TableHeader, {\n text: \"Offerte nummer\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))), delay(() => {\n let children_1;\n return append(singleton((children_1 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterFieldDateRange(\"Filter\", (arg_4) => {\n dispatch(new Msg(7, arg_4));\n }, state.DateRange), createElement(TableHeader, {\n text: \"Datum en tijd\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))), delay(() => {\n let children_2;\n return append(singleton((children_2 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(MultiSelect, {\n label: \"Filter\",\n items: toArray(map_1(Quote_status, QuoteStatus_get_list())),\n v: state.Status,\n onChange: (arg_6) => {\n dispatch(new Msg(5, arg_6));\n },\n }), createElement(TableHeader, {\n text: \"Status\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))), delay(() => {\n let children_3;\n return append(showPartnerName ? singleton((children_3 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_8) => {\n dispatch(new Msg(1, arg_8));\n }, defaultArg(state.PartnerName, \"\")), createElement(TableHeader, {\n text: \"Syndic\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]]))) : empty(), delay(() => {\n let children_4;\n return append(singleton((children_4 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_10) => {\n dispatch(new Msg(4, arg_10));\n }, defaultArg(state.PhoneNumber, \"\")), createElement(TableHeader, {\n text: \"Tel dossierbeheerder\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))), delay(() => {\n let children_5;\n return append(singleton((children_5 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_12) => {\n dispatch(new Msg(2, arg_12));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"VME\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))), delay(() => {\n let children_6;\n return append(singleton((children_6 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_14) => {\n dispatch(new Msg(2, arg_14));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"Beheerder\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]]))), delay(() => {\n let children_7;\n return append(singleton((children_7 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_16) => {\n dispatch(new Msg(3, arg_16));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Inspectielocatie\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]]))), delay(() => {\n let children_8;\n return singleton((children_8 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(\"div\", {}), createElement(TableHeader, {\n text: \"Offerte PDF\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]])));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]])), createElement(DisplayDeferred, {\n data: data,\n view: (quoteDetails) => {\n const xs_2 = toList(delay(() => {\n let children_20;\n return (length(quoteDetails.Data) === 0) ? singleton(noContentMessage(8, \"Er zijn nog geen offertes\")) : singleton((children_20 = toList(delay(() => map_2((detail) => {\n let elems_20;\n return MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg) => {\n window.open(RouterModule_encodeParts(ofArray(url(detail.Quote.Code)), 1), \"_blank\");\n }], [\"key\", detail.Quote.Id.Value], (elems_20 = toList(delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([detail.Quote.Code.Value])]])), delay(() => {\n let children_12;\n return append(singleton((children_12 = singleton_1(GeneralFormats_dateTimeStamp(fromDateTimeOffset(detail.Quote.CreatedOn, 0))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_12))]]))), delay(() => {\n let children_13;\n return append(singleton((children_13 = singleton_1(createElement(QuoteStatusChipSyndic, {\n status: detail.Quote.Status,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_13))]]))), delay(() => {\n let children_14;\n return append(showPartnerName ? singleton((children_14 = toList(delay(() => {\n const matchValue_1 = detail.Partner;\n return (matchValue_1 == null) ? singleton(\"-\") : singleton(NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_1.CompanyName));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_14))]]))) : empty(), delay(() => {\n let children_15;\n let vmeName;\n const matchValue_2 = detail.Quote.Owner_CompanyName;\n vmeName = ((matchValue_2 == null) ? \"\" : matchValue_2.Value);\n let ownerPersonName;\n let oFName;\n const matchValue_3 = detail.Quote.Owner_FirstName;\n oFName = ((matchValue_3 == null) ? \"\" : matchValue_3.Value);\n let oLName;\n const matchValue_4 = detail.Quote.Owner_LastName;\n oLName = ((matchValue_4 == null) ? \"\" : matchValue_4.Value);\n ownerPersonName = (`${oFName} ${oLName}`);\n return append(singleton((children_15 = singleton_1(Quote_contactPhoneNumber(detail.Quote, detail.Partner)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_15))]]))), delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([vmeName])]])), delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([ownerPersonName])]])), delay(() => {\n let children_18;\n return append(singleton((children_18 = singleton_1(Address_address(detail.Quote.Address)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_18))]]))), delay(() => {\n let children_19;\n return singleton((children_19 = singleton_1(downloadLink(detail.Quote.QuoteDocument)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_19))]])));\n }));\n }))))));\n }));\n }));\n }));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_20))])]);\n }, sortByDescending((s) => s.Quote.Id.Value, quoteDetails.Data, {\n Compare: comparePrimitives,\n })))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_20))]])));\n }));\n return react.createElement(react.Fragment, {}, ...xs_2);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_22))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_23))])])), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(DisplayDeferred, {\n data: data,\n view: (dossiers) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", dossiers.TotalPages], [\"onChangePage\", (_arg_1, v) => {\n dispatch(new Msg(6, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_66) => {\n }]]);\n },\n })),\n }))));\n }));\n }));\n return react.createElement(react.Fragment, {}, ...xs_3);\n}\n\nexport function DisplayQuoteInfoSyndic(displayQuoteInfoSyndicInputProps) {\n const getImage = displayQuoteInfoSyndicInputProps.getImage;\n const getFile = displayQuoteInfoSyndicInputProps.getFile;\n const downloadLink = displayQuoteInfoSyndicInputProps.downloadLink;\n const isPartner = displayQuoteInfoSyndicInputProps.isPartner;\n const customerUrl = displayQuoteInfoSyndicInputProps.customerUrl;\n const quoteDetails = displayQuoteInfoSyndicInputProps.quoteDetails;\n const snackbar = useSnackbar();\n return createElement(Row, {\n classes: singleton_1(Gap.L),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Asbestattest\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Status\", createElement(QuoteStatusChipSyndic, {\n status: quoteDetails.Quote.Status,\n })]), delay(() => {\n let matchValue, ai;\n return append((matchValue = quoteDetails.Quote.TypeOfDossier, (matchValue.tag === 1) ? ((empty())) : singleton([\"Aanleiding asbestinventaris\", (ai = matchValue.fields[0], (ai.tag === 1) ? \"Werken\" : ((ai.tag === 2) ? \"Actualisatie asbestinventaris-attest\" : ((ai.tag === 3) ? \"Sloop zonder SOP\" : ((ai.tag === 4) ? \"Sloop met SOP\" : ((ai.tag === 5) ? \"Werkgever\" : ((ai.tag === 6) ? \"Overdracht met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 7) ? \"Generiek\" : ((ai.tag === 8) ? \"Generiek met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 9) ? \"Gemene delen\" : \"Overdracht\")))))))))])), delay(() => append(singleton([\"Afspraak Plaatsbezoek\", defaultArg(map(HomeVisitContactModule_string, quoteDetails.Quote.HomeVisitContact), \"\")]), delay(() => {\n let matchValue_1;\n return append((matchValue_1 = quoteDetails.Quote.HomeVisitContact, (matchValue_1 == null) ? ((empty())) : ((matchValue_1.tag === 3) ? append(singleton([\"Afspraak Plaatsbezoek Naam\", defaultArg(map((n) => n, quoteDetails.Quote.HomeVisitContactName), \"\")]), delay(() => singleton([\"Afspraak Plaatsbezoek Telefoon\", defaultArg(map((n_1) => n_1, quoteDetails.Quote.HomeVisitContactEmail), \"\")]))) : ((empty())))), delay(() => append(singleton([\"Offerte PDF\", downloadLink(quoteDetails.Quote.QuoteDocument)]), delay(() => singleton([\"Prijs Offerte\", defaultArg(map((n_2) => format('{0:' + \"0.00\" + '}', n_2.Value), quoteDetails.Quote.CustomPrice), \"\") + \" €\"])))));\n }))));\n })))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems_1 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Syndic\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Offerte nummer\", quoteDetails.Quote.Code.Value]), delay(() => append(singleton([\"Syndic\", createElement(Link, {\n text: Customer2_name(quoteDetails.Customer),\n url: customerUrl(Customer2__get_Code(quoteDetails.Customer)),\n })]), delay(() => {\n let client;\n return append(singleton([\"VME\", (client = quoteDetails.Quote.Client, (client.tag === 1) ? \"Gevolmachtigde\" : ((client.tag === 2) ? \"Vereniging van mede-eigenaars\" : \"VME\"))]), delay(() => append((!isPartner) ? singleton([\"Geen standaard dossier\", CheckBox(quoteDetails.Quote.ManualInvoice)]) : empty(), delay(() => ((!isPartner) ? singleton([\"Korting\", DisplayDiscount(quoteDetails.Quote.Discount)]) : empty())))));\n })))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n let vme;\n const matchValue_3 = quoteDetails.Quote.VME_OrganizationName;\n if (matchValue_3 == null) {\n vme = [\"\", null];\n }\n else {\n const organizationName = matchValue_3;\n vme = [\"\", \"\"];\n }\n const otherOwnerStatus = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.OwnerStatusOther), \"\");\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_2 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"VME\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_4;\n return append((matchValue_4 = quoteDetails.Quote.Owner_CompanyName, (matchValue_4 == null) ? ((empty())) : singleton([\"Gebouw\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_4)])), delay(() => {\n const ownerFirstname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Owner_FirstName), \"\");\n const ownerLastname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Owner_LastName), \"\");\n return append(singleton([quoteDetails.Quote.Owner_IsVME ? \"Beheerder\" : \"Beheerder\", `${ownerFirstname} ${ownerLastname}`]), delay(() => append(singleton([\"Adres\", Address_address(quoteDetails.Quote.Owner_Address)]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(quoteDetails.Quote.Owner_Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, quoteDetails.Quote.Owner_PhoneNumber), \"-\")]), delay(() => append(singleton([\"VME KBO nummer\", defaultArg(map(VatNumber___UnsafeUnwrap_18C04ACB, quoteDetails.Quote.Owner_VatNumber), \"-\")]), delay(() => {\n const matchValue_5 = [isPartner, quoteDetails.Quote.VME_OrganizationName];\n return (matchValue_5[1] == null) ? (matchValue_5[0] ? singleton([\"\", null]) : singleton([\"VME Organisatie Naam\", \"-\"])) : singleton([\"VME Organisatie Naam\", matchValue_5[1].Value]);\n }))))))))));\n }));\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n }));\n }));\n })),\n })), delay(() => {\n let elems_4, matchValue_10, matchValue_11, matchValue_12, matchValue_13, matchValue_14, matchValue_15, matchValue_16, value_50;\n const readOnlyCheckboxField = (label, checkedR) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"disabled\", true], [\"checked\", checkedR]])]]);\n return append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: singleton_1(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_4 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty_1(),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: toList(delay(() => append(singleton(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(quoteDetails.Quote.InspectionLocation)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.City)]]),\n })), delay(() => {\n let elements, matchValue_7, matchValue_8, matchValue_9;\n const matchValue_6 = quoteDetails.Quote.InspectionLocation;\n switch (matchValue_6.tag) {\n case 14:\n case 16:\n case 15: {\n let insData;\n const xs = [MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), (matchValue_7 = quoteDetails.Quote.InspectionLocationBerging, (matchValue_7 == null) ? false : matchValue_7)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), (matchValue_8 = quoteDetails.Quote.InspectionLocationStaanplaats, (matchValue_8 == null) ? false : matchValue_8)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), (matchValue_9 = quoteDetails.Quote.InspectionLocationGaragebox, (matchValue_9 == null) ? false : matchValue_9))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])];\n insData = react.createElement(react.Fragment, {}, ...xs);\n return singleton(createElement(DisplayData, {\n data: singleton_1([\"Extra ruimtes aanwezig\", insData]),\n }));\n }\n default: {\n return singleton(null);\n }\n }\n })))),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: ofArray([[\"Contact afspraak\", Quote_contact(quoteDetails.Quote, quoteDetails.Partner)], [\"Telefoon contactpersoon\", Quote_contactPhoneNumber(quoteDetails.Quote, quoteDetails.Partner)], [\"Gebouwdeel/Vleugel/Blok\", (matchValue_10 = quoteDetails.Quote.BuildingDetail, (matchValue_10 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_10))], [\"Wooneenheden\", (matchValue_11 = quoteDetails.Quote.HousingUnit, (matchValue_11 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_11))], [\"Jaar van constructie\", (matchValue_12 = quoteDetails.Quote.YearsOfConstruction, (matchValue_12 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_12))], [\"Jaar van renovatie\", (matchValue_13 = quoteDetails.Quote.YearsOfRenovation, (matchValue_13 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13))], [\"Aantal ingangen in het gebouw\", (matchValue_14 = quoteDetails.Quote.NumberOfEntrances, (matchValue_14 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_14))], [\"Leidingisolatie (lopende meter)\", (matchValue_15 = quoteDetails.Quote.PipeIsolationMeters, (matchValue_15 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_15))], [\"Gangen per verdiep\", (matchValue_16 = quoteDetails.Quote.HallwaysPerLevel, (matchValue_16 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_16))], [\"Stooklokaal\", (value_50 = defaultArg(quoteDetails.Quote.BoilerRoom, false), createElement(CheckIcon, {\n props: [],\n value: value_50,\n }))]]),\n })),\n })]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])])),\n })), delay(() => append(singleton(QuoteInvoice(quoteDetails)), delay(() => append(singleton(createElement(DocumentsList, {\n quoteDocuments: quoteDetails.QuoteDocuments,\n getFile: getFile,\n deleteFile: void 0,\n })), delay(() => singleton(createElement(ImageList, {\n quoteDocuments: quoteDetails.QuoteDocuments,\n getFile: getFile,\n getImage: getImage,\n deleteFile: void 0,\n }))))))));\n })))),\n })),\n });\n}\n\n","import { map as map_2, empty, singleton, append, delay, toList } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { Row, Col } from \"../../Components/UtilComponents.fs.js\";\nimport { flexExpand, Gap, cursorPointer, TableHeaderCell, alignEnd, MarginBottom, MarginTop, MarginRight } from \"../../Styles/Utils.fs.js\";\nimport { empty as empty_1, sortByDescending, length, map as map_1, toArray, singleton as singleton_1, ofArray } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../../partnerportal/src/fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { format, join } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { PagingQuery } from \"../../shared/Paging.fs.js\";\nimport { Msg, searchTerms } from \"./QuoteFilter.fs.js\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport Table from \"@material-ui/core/Table\";\nimport { CheckIcon, DisplayDiscount, CheckBox, Link, DisplayData, InfoTitle, MultiSelect, TableHeader, FilterField } from \"../DesignSystem.fs.js\";\nimport { map, defaultArg } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { Interop_reactApi } from \"../../partnerportal/src/fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { FilterFieldDateRange } from \"../FilterUtils.fs.js\";\nimport { InspectionLocation_extra, InspectionLocation_type$0027, Customer2_name, Address_address, GeneralFormats_dateTimeStamp, Quote_status } from \"../../shared/Format.fs.js\";\nimport { InspectionLocationExtra, OwnerStatus__get_toString, VatNumber___UnsafeUnwrap_18C04ACB, PhoneNumber___UnsafeUnwrap_23E45174, Email___UnsafeUnwrap_Z27D11339, Customer2__get_Code, HomeVisitContactModule_string, NonEmptyString___UnsafeUnwrap_Z73AD07C, QuoteStatus_get_list } from \"../../shared/Domain.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport { DisplayDeferred } from \"../DisplayDeferred.fs.js\";\nimport { QuoteStatusChipSyndic, QuoteStatusChip, noContentMessage } from \"../DossierUtils.fs.js\";\nimport { RouterModule_encodeParts } from \"../../partnerportal/src/fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { fromDateTimeOffset } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Date.js\";\nimport { Quote_contact, Quote_contactPhoneNumber } from \"../../shared/DomainHelpers.fs.js\";\nimport { comparePrimitives } from \"../../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TablePagination from \"@material-ui/core/TablePagination\";\nimport { useSnackbar } from \"notistack\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../../partnerportal/src/fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { FlexClasses_FlexShrinkGrow__value_5E38073B } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexGrow } from \"../../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport { QuoteInvoice } from \"./QuoteInvoiceDetails.fs.js\";\nimport { ImageList, DocumentsList } from \"../QuoteFiles.fs.js\";\n\nexport function QuotesData(quotesDataInputProps) {\n const downloadLink = quotesDataInputProps.downloadLink;\n const showPartnerPortal = quotesDataInputProps.showPartnerPortal;\n const showCibFilter = quotesDataInputProps.showCibFilter;\n const optionalExportCsvFunction = quotesDataInputProps.optionalExportCsvFunction;\n const showPartnerName = quotesDataInputProps.showPartnerName;\n const url = quotesDataInputProps.url;\n const dispatch = quotesDataInputProps.dispatch;\n const state = quotesDataInputProps.state;\n const data = quotesDataInputProps.data;\n const xs_3 = toList(delay(() => {\n let matchValue, exportCsvFunction;\n return append((matchValue = optionalExportCsvFunction, (matchValue == null) ? singleton(null) : ((exportCsvFunction = matchValue, singleton(createElement(Col, {\n classes: ofArray([MarginRight.S, MarginTop.S, MarginBottom.M]),\n children: singleton_1(MuiHelpers_createElement(Button, [[\"className\", join(\" \", [alignEnd])], [\"target\", \"_blank\"], [\"href\", \"#\"], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"onClick\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n exportCsvFunction(new PagingQuery(state.PageNumber, state.PageSize))(searchTerms(state));\n }], [\"children\", \"Exporteren naar csv-bestand\"]])),\n }))))), delay(() => {\n let elems_23, elems_22, children_10, children_9;\n return append(singleton(MuiHelpers_createElement(TableContainer, [[\"component\", \"table\"], (elems_23 = [MuiHelpers_createElement(Table, [[\"size\", \"small\"], (elems_22 = [(children_10 = singleton_1((children_9 = toList(delay(() => {\n let children;\n return append(singleton((children = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_2) => {\n dispatch(new Msg(0, arg_2));\n }, defaultArg(map((d) => d.Value, state.QuoteCode), \"\")), createElement(TableHeader, {\n text: \"Offerte nummer\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]]))), delay(() => {\n let children_1;\n return append(singleton((children_1 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterFieldDateRange(\"Filter\", (arg_4) => {\n dispatch(new Msg(7, arg_4));\n }, state.DateRange), createElement(TableHeader, {\n text: \"Datum en tijd\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))), delay(() => {\n let children_2;\n return append(singleton((children_2 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(MultiSelect, {\n label: \"Filter\",\n items: toArray(map_1(Quote_status, QuoteStatus_get_list())),\n v: state.Status,\n onChange: (arg_6) => {\n dispatch(new Msg(5, arg_6));\n },\n }), createElement(TableHeader, {\n text: \"Status\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_2))]]))), delay(() => {\n let children_3;\n return append(showPartnerName ? singleton((children_3 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_8) => {\n dispatch(new Msg(1, arg_8));\n }, defaultArg(state.PartnerName, \"\")), createElement(TableHeader, {\n text: \"Syndic\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_3))]]))) : empty(), delay(() => {\n let children_4;\n return append(singleton((children_4 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_10) => {\n dispatch(new Msg(4, arg_10));\n }, defaultArg(state.PhoneNumber, \"\")), createElement(TableHeader, {\n text: \"Tel dossierbeheerder\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_4))]]))), delay(() => {\n let children_5;\n return append(singleton((children_5 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_12) => {\n dispatch(new Msg(2, arg_12));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"VME\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_5))]]))), delay(() => {\n let children_6;\n return append(singleton((children_6 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_14) => {\n dispatch(new Msg(2, arg_14));\n }, defaultArg(state.CustomerName, \"\")), createElement(TableHeader, {\n text: \"Beheerder\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_6))]]))), delay(() => {\n let children_7;\n return append(singleton((children_7 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([FilterField(\"Filter\", (arg_16) => {\n dispatch(new Msg(3, arg_16));\n }, defaultArg(state.Address, \"\")), createElement(TableHeader, {\n text: \"Inspectielocatie\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_7))]]))), delay(() => {\n let children_8;\n return singleton((children_8 = singleton_1(createElement(Col, {\n classes: singleton_1(TableHeaderCell),\n children: ofArray([createElement(\"div\", {}), createElement(TableHeader, {\n text: \"Offerte PDF\",\n })]),\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_8))]])));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })), MuiHelpers_createElement(TableRow, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_9))]]))), MuiHelpers_createElement(TableHead, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_10))]])), createElement(DisplayDeferred, {\n data: data,\n view: (quoteDetails) => {\n const xs_2 = toList(delay(() => {\n let children_20;\n return (length(quoteDetails.Data) === 0) ? singleton(noContentMessage(8, \"Er zijn nog geen offertes\")) : singleton((children_20 = toList(delay(() => map_2((detail) => {\n let elems_20;\n return MuiHelpers_createElement(TableRow, [[\"className\", join(\" \", [cursorPointer])], [\"hover\", true], [\"onClick\", (_arg) => {\n window.open(RouterModule_encodeParts(ofArray(url(detail.Quote.Code)), 1), \"_blank\");\n }], [\"key\", detail.Quote.Id.Value], (elems_20 = toList(delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([detail.Quote.Code.Value])]])), delay(() => {\n let children_12;\n return append(singleton((children_12 = singleton_1(GeneralFormats_dateTimeStamp(fromDateTimeOffset(detail.Quote.CreatedOn, 0))), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_12))]]))), delay(() => {\n let children_13;\n return append(singleton((children_13 = singleton_1(createElement(QuoteStatusChip, {\n status: detail.Quote.Status,\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_13))]]))), delay(() => {\n let children_14;\n return append(showPartnerName ? singleton((children_14 = toList(delay(() => {\n const matchValue_1 = detail.Partner;\n return (matchValue_1 == null) ? singleton(\"-\") : singleton(NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_1.CompanyName));\n })), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_14))]]))) : empty(), delay(() => {\n let children_15;\n let vmeName;\n const matchValue_2 = detail.Quote.Owner_CompanyName;\n vmeName = ((matchValue_2 == null) ? \"\" : matchValue_2.Value);\n let ownerPersonName;\n let oFName;\n const matchValue_3 = detail.Quote.Owner_FirstName;\n oFName = ((matchValue_3 == null) ? \"\" : matchValue_3.Value);\n let oLName;\n const matchValue_4 = detail.Quote.Owner_LastName;\n oLName = ((matchValue_4 == null) ? \"\" : matchValue_4.Value);\n ownerPersonName = (`${oFName} ${oLName}`);\n return append(singleton((children_15 = singleton_1(Quote_contactPhoneNumber(detail.Quote, detail.Partner)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_15))]]))), delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([vmeName])]])), delay(() => append(singleton(MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray([ownerPersonName])]])), delay(() => {\n let children_18;\n return append(singleton((children_18 = singleton_1(Address_address(detail.Quote.Address)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_18))]]))), delay(() => {\n let children_19;\n return singleton((children_19 = singleton_1(downloadLink(detail.Quote.QuoteDocument)), MuiHelpers_createElement(TableCell, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_19))]])));\n }));\n }))))));\n }));\n }));\n }));\n })))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_20))])]);\n }, sortByDescending((s) => s.Quote.Id.Value, quoteDetails.Data, {\n Compare: comparePrimitives,\n })))), MuiHelpers_createElement(TableBody, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_20))]])));\n }));\n return react.createElement(react.Fragment, {}, ...xs_2);\n },\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_22))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_23))])])), delay(() => singleton(createElement(Col, {\n classes: empty_1(),\n children: singleton_1(createElement(DisplayDeferred, {\n data: data,\n view: (dossiers) => {\n let values;\n return MuiHelpers_createElement(TablePagination, [[\"className\", join(\" \", [alignEnd])], [\"rowsPerPage\", state.PageSize], [\"page\", state.PageNumber], [\"count\", dossiers.TotalPages], [\"onChangePage\", (_arg_1, v) => {\n dispatch(new Msg(6, v));\n }], (values = (new Int32Array([])), [\"rowsPerPageOptions\", Array.from(values)]), [\"onChangeRowsPerPage\", (value_66) => {\n }]]);\n },\n })),\n }))));\n }));\n }));\n return react.createElement(react.Fragment, {}, ...xs_3);\n}\n\nexport function DisplayQuoteInfo(displayQuoteInfoInputProps) {\n const getImage = displayQuoteInfoInputProps.getImage;\n const getFile = displayQuoteInfoInputProps.getFile;\n const downloadLink = displayQuoteInfoInputProps.downloadLink;\n const isPartner = displayQuoteInfoInputProps.isPartner;\n const customerUrl = displayQuoteInfoInputProps.customerUrl;\n const quoteDetails = displayQuoteInfoInputProps.quoteDetails;\n const snackbar = useSnackbar();\n return createElement(Row, {\n classes: singleton_1(Gap.L),\n children: singleton_1(createElement(Col, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: toList(delay(() => {\n let elems;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Asbestattest\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Status\", createElement(QuoteStatusChipSyndic, {\n status: quoteDetails.Quote.Status,\n })]), delay(() => {\n let matchValue, ai;\n return append((matchValue = quoteDetails.Quote.TypeOfDossier, (matchValue.tag === 1) ? ((empty())) : singleton([\"Aanleiding asbestinventaris\", (ai = matchValue.fields[0], (ai.tag === 1) ? \"Werken\" : ((ai.tag === 2) ? \"Actualisatie asbestinventaris-attest\" : ((ai.tag === 3) ? \"Sloop zonder SOP\" : ((ai.tag === 4) ? \"Sloop met SOP\" : ((ai.tag === 5) ? \"Werkgever\" : ((ai.tag === 6) ? \"Overdracht met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 7) ? \"Generiek\" : ((ai.tag === 8) ? \"Generiek met vrijwillig, aanvullend onderzoek\" : ((ai.tag === 9) ? \"Gemene delen\" : \"Overdracht\")))))))))])), delay(() => append(singleton([\"Afspraak plaatsbezoek\", defaultArg(map(HomeVisitContactModule_string, quoteDetails.Quote.HomeVisitContact), \"\")]), delay(() => {\n let matchValue_1;\n return append((matchValue_1 = quoteDetails.Quote.HomeVisitContact, (matchValue_1 == null) ? ((empty())) : ((matchValue_1.tag === 3) ? append(singleton([\"Afspraak Plaatsbezoek Naam\", defaultArg(map((n) => n, quoteDetails.Quote.HomeVisitContactName), \"\")]), delay(() => singleton([\"Afspraak Plaatsbezoek Telefoon\", defaultArg(map((n_1) => n_1, quoteDetails.Quote.HomeVisitContactEmail), \"\")]))) : ((empty())))), delay(() => append(singleton([\"Offerte PDF\", downloadLink(quoteDetails.Quote.QuoteDocument)]), delay(() => singleton([\"Prijs Offerte\", defaultArg(map((n_2) => format('{0:' + \"0.00\" + '}', n_2.Value), quoteDetails.Quote.CustomPrice), \"\") + \" €\"])))));\n }))));\n })))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), delay(() => {\n let elems_1;\n return append(singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 1))), (elems_1 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Syndic\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Offerte nummer\", quoteDetails.Quote.Code.Value]), delay(() => append(singleton([\"Gebouw\", createElement(Link, {\n text: Customer2_name(quoteDetails.Customer),\n url: customerUrl(Customer2__get_Code(quoteDetails.Customer)),\n })]), delay(() => {\n let client;\n return append(singleton([\"Opdrachtgever\", (client = quoteDetails.Quote.Client, (client.tag === 1) ? \"Gevolmachtigde\" : ((client.tag === 2) ? \"Vereniging van mede-eigenaars\" : \"VME\"))]), delay(() => append((!isPartner) ? singleton([\"Geen standaard dossier\", CheckBox(quoteDetails.Quote.ManualInvoice)]) : empty(), delay(() => ((!isPartner) ? singleton([\"Korting\", DisplayDiscount(quoteDetails.Quote.Discount)]) : empty())))));\n })))))),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])), delay(() => {\n let elems_2;\n let vme;\n const matchValue_3 = quoteDetails.Quote.VME_OrganizationName;\n if (matchValue_3 == null) {\n vme = [\"\", null];\n }\n else {\n const organizationName = matchValue_3;\n vme = [\"\", \"\"];\n }\n const otherOwnerStatus = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.OwnerStatusOther), \"\");\n return singleton(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 2))), (elems_2 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"VME\",\n }), MuiHelpers_createElement(Divider, []), createElement(DisplayData, {\n data: toList(delay(() => {\n let matchValue_4;\n return append((matchValue_4 = quoteDetails.Quote.Owner_CompanyName, (matchValue_4 == null) ? ((empty())) : singleton([\"Gebouw\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_4)])), delay(() => {\n const ownerFirstname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Owner_FirstName), \"\");\n const ownerLastname = defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Owner_LastName), \"\");\n return append(singleton([quoteDetails.Quote.Owner_IsVME ? \"Beheerder\" : \"Beheerder\", `${ownerFirstname} ${ownerLastname}`]), delay(() => append(singleton([\"Adres\", Address_address(quoteDetails.Quote.Owner_Address)]), delay(() => append(singleton([\"Emailadres\", Email___UnsafeUnwrap_Z27D11339(quoteDetails.Quote.Owner_Email)]), delay(() => append(singleton([\"Telefoon\", defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, quoteDetails.Quote.Owner_PhoneNumber), \"-\")]), delay(() => append(singleton([\"VME KBO nummer\", defaultArg(map(VatNumber___UnsafeUnwrap_18C04ACB, quoteDetails.Quote.Owner_VatNumber), \"-\")]), delay(() => {\n let matchValue_5;\n return append((matchValue_5 = [isPartner, quoteDetails.Quote.VME_OrganizationName], (matchValue_5[1] == null) ? (matchValue_5[0] ? singleton([\"\", null]) : singleton([\"VME Organisatie Naam\", \"-\"])) : singleton([\"VME Organisatie Naam\", matchValue_5[1].Value])), delay(() => singleton([\"Statuut\", (OwnerStatus__get_toString(quoteDetails.Quote.OwnerStatus) + \" \") + otherOwnerStatus])));\n }))))))))));\n }));\n })),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n }));\n }));\n })),\n })), delay(() => {\n let elems_4;\n const readOnlyCheckboxField = (label, checkedR) => MuiHelpers_createElement(FormControlLabel, [[\"label\", label], [\"control\", MuiHelpers_createElement(Checkbox, [[\"disabled\", true], [\"checked\", checkedR]])]]);\n return append(singleton(createElement(Row, {\n classes: singleton_1(Gap.L),\n children: singleton_1(MuiHelpers_createElement(Paper, [Feliz_prop__prop_fss_Static_72C268A9(singleton_1(FlexClasses_FlexShrinkGrow__value_5E38073B(FlexGrow, 3))), (elems_4 = [createElement(Col, {\n classes: empty_1(),\n children: ofArray([createElement(InfoTitle, {\n text: \"Inspectielocatie\",\n }), MuiHelpers_createElement(Divider, []), createElement(Row, {\n classes: empty_1(),\n children: ofArray([createElement(Col, {\n classes: singleton_1(flexExpand),\n children: toList(delay(() => append(singleton(createElement(DisplayData, {\n data: ofArray([[\"Type\", InspectionLocation_type$0027(quoteDetails.Quote.InspectionLocation)], [\"Straat\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.Street)], [\"Nummer\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.Number)], [\"Bus\", defaultArg(map(NonEmptyString___UnsafeUnwrap_Z73AD07C, quoteDetails.Quote.Address.Bus), \"--\")], [\"Postcode\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.PostalCode)], [\"Gemeente\", NonEmptyString___UnsafeUnwrap_Z73AD07C(quoteDetails.Quote.Address.City)]]),\n })), delay(() => {\n let elements, matchValue_7, matchValue_8, matchValue_9;\n const matchValue_6 = quoteDetails.Quote.InspectionLocation;\n switch (matchValue_6.tag) {\n case 14:\n case 16:\n case 15: {\n let insData;\n const xs = [MuiHelpers_createElement(RadioGroup, [[\"row\", false], (elements = [readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(0)), (matchValue_7 = quoteDetails.Quote.InspectionLocationBerging, (matchValue_7 == null) ? false : matchValue_7)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(1)), (matchValue_8 = quoteDetails.Quote.InspectionLocationStaanplaats, (matchValue_8 == null) ? false : matchValue_8)), readOnlyCheckboxField(InspectionLocation_extra(new InspectionLocationExtra(2)), (matchValue_9 = quoteDetails.Quote.InspectionLocationGaragebox, (matchValue_9 == null) ? false : matchValue_9))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])];\n insData = react.createElement(react.Fragment, {}, ...xs);\n return singleton(createElement(DisplayData, {\n data: singleton_1([\"Extra ruimtes aanwezig\", insData]),\n }));\n }\n default: {\n return singleton(null);\n }\n }\n })))),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: singleton_1(createElement(DisplayData, {\n data: toList(delay(() => append(singleton([\"Contact afspraak\", Quote_contact(quoteDetails.Quote, quoteDetails.Partner)]), delay(() => append(singleton([\"Telefoon contactpersoon\", Quote_contactPhoneNumber(quoteDetails.Quote, quoteDetails.Partner)]), delay(() => {\n let matchValue_10;\n return append((matchValue_10 = quoteDetails.Quote.BuildingDetail, (matchValue_10 == null) ? ((empty())) : singleton([\"Gebouwdeel/Vleugel/Blok\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_10)])), delay(() => {\n let matchValue_11;\n return append((matchValue_11 = quoteDetails.Quote.HousingUnit, (matchValue_11 == null) ? ((empty())) : singleton([\"Wooneenheden\", NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_11)])), delay(() => {\n let matchValue_12;\n return append(singleton([\"Jaar van constructie\", (matchValue_12 = quoteDetails.Quote.YearsOfConstruction, (matchValue_12 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_12))]), delay(() => {\n let matchValue_13;\n return append(singleton([\"Jaar van renovatie\", (matchValue_13 = quoteDetails.Quote.YearsOfRenovation, (matchValue_13 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_13))]), delay(() => {\n let matchValue_14;\n return append(singleton([\"Aantal ingangen in het gebouw\", (matchValue_14 = quoteDetails.Quote.NumberOfEntrances, (matchValue_14 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_14))]), delay(() => {\n let matchValue_15;\n return append(singleton([\"Leidingisolatie (lopende meter)\", (matchValue_15 = quoteDetails.Quote.PipeIsolationMeters, (matchValue_15 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_15))]), delay(() => {\n let matchValue_16;\n return append(singleton([\"Gangen per verdiep\", (matchValue_16 = quoteDetails.Quote.HallwaysPerLevel, (matchValue_16 == null) ? \"-\" : NonEmptyString___UnsafeUnwrap_Z73AD07C(matchValue_16))]), delay(() => {\n let value_51;\n return singleton([\"Stooklokaal\", (value_51 = defaultArg(quoteDetails.Quote.BoilerRoom, false), createElement(CheckIcon, {\n props: [],\n value: value_51,\n }))]);\n }));\n }));\n }));\n }));\n }));\n }));\n }));\n })))))),\n })),\n })]),\n })]),\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])])),\n })), delay(() => append(singleton(QuoteInvoice(quoteDetails)), delay(() => append(singleton(createElement(DocumentsList, {\n quoteDocuments: quoteDetails.QuoteDocuments,\n getFile: getFile,\n deleteFile: void 0,\n })), delay(() => singleton(createElement(ImageList, {\n quoteDocuments: quoteDetails.QuoteDocuments,\n getFile: getFile,\n getImage: getImage,\n deleteFile: void 0,\n }))))))));\n })))),\n })),\n });\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useUsername, useToggle } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useForm, useFormValidator, useFormField } from \"../../../CustomHooks/ComposedForm.fs.js\";\nimport { QuoteCode, QuoteStatus, NonEmptyString_get_Create, PhoneNumber_get_Create, SelectOptionData$1_Create_Z510A3DC0 } from \"../../../shared/Domain.fs.js\";\nimport { toArray, defaultArg, some } from \"../fable_modules/fable-library.3.7.17/Option.js\";\nimport { useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { empty as empty_1, singleton as singleton_1, append, delay, toList, iterate } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { join, printf, toConsole } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { empty, singleton as singleton_2, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { customerDetail, dossierDetail as dossierDetail_1 } from \"../AppRoutes.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createElement } from \"react\";\nimport { equals, createObj } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { MarginRight, MarginLeft, TextColor, fullWidth, MarginTop, MarginBottom, PaddingRight, PaddingLeft, PaddingBottom, PaddingTop, modal } from \"../../../Styles/Utils.fs.js\";\nimport { DateParsing_parse, Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { ChooseContactQuote } from \"../../../DesignSystems/Contacts.fs.js\";\nimport { Col, Row } from \"../../../Components/UtilComponents.fs.js\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { Browser_Types_Event__Event_get_Checked } from \"../fable_modules/Feliz.MaterialUI.1.2.6/../Fable.React.7.4.0/Fable.React.Extensions.fs.js\";\nimport { fromDate } from \"../fable_modules/fable-library.3.7.17/DateOffset.js\";\nimport { GeneralFormats_dateTimeOffset } from \"../../../shared/Format.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { getImage, downloadFile } from \"../DownloadFile.fs.js\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { Auth0PartnerUserPrivileges, Auth0PartnerUserClaims__HasPrivilege_567ADD95 } from \"../../../shared/Auth0Constants.fs.js\";\nimport { DisplayQuoteInfoSyndic } from \"../../../DesignSystems/quote/QuoteDetailsSyndic.fs.js\";\nimport { DisplayQuoteInfo } from \"../../../DesignSystems/quote/QuoteDetails.fs.js\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { ErrorText } from \"../../../DesignSystems/DesignSystem.fs.js\";\n\nexport function ConvertQuoteModal(convertQuoteModalInputProps) {\n let elems_2;\n const disableBtn = convertQuoteModalInputProps.disableBtn;\n const setStatus = convertQuoteModalInputProps.setStatus;\n const setShowModal = convertQuoteModalInputProps.setShowModal;\n const showModal = convertQuoteModalInputProps.showModal;\n const quoteDetails = convertQuoteModalInputProps.quoteDetails;\n const api = convertQuoteModalInputProps.api;\n const snackbar = useSnackbar();\n const buttonsDisabled = useToggle(false);\n const contact = useFormField(quoteDetails.Quote.HomeVisitContact, (arg_2) => some(SelectOptionData$1_Create_Z510A3DC0(arg_2)));\n const contactPhoneNo = useFormField(defaultArg(quoteDetails.Quote.HomeVisitContactEmail, \"\"), PhoneNumber_get_Create());\n const contactName = useFormField(defaultArg(quoteDetails.Quote.HomeVisitContactName, \"\"), NonEmptyString_get_Create());\n const username = useUsername();\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setApprovalTicked = patternInput[1];\n const approvalTicked = patternInput[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(void 0);\n const setApprovalMeetingDate = patternInput_1[1];\n const approvalMeetingDate = patternInput_1[0];\n const invalidDate = useToggle(false);\n const onConvertConfirmation = (code, approvalMeetingDate_1) => {\n iterate((data) => {\n const matchValue_1 = data.Contact;\n if (matchValue_1 == null) {\n contact.ShowErrorState();\n }\n else {\n const contactDet = matchValue_1;\n startImmediate(singleton.Delay(() => {\n disableBtn.On();\n toConsole(printf(\"approvalMeetingDate %A\"))(approvalMeetingDate_1);\n return singleton.Bind(api.ConvertQuoteToDossier(code, contactDet, data.ContactName, data.ContactEmail, approvalMeetingDate_1), (_arg) => {\n let code_1;\n const dossierCode = _arg;\n return singleton.Combine((dossierCode.tag === 1) ? ((ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${dossierCode.fields[0]}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false)), singleton.Zero())) : ((code_1 = dossierCode.fields[0], (ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Successfully converted Offerte to Dossier. Dossier code is ${code_1.Value}.`, SnackbarProp_Variant_Z609E1E86(\"info\"), new EnqueueSnackbarOption(1, false)), (RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierDetail_1, code_1.Value)), 1, 1), (setStatus(new QuoteStatus(1)), singleton.Zero()))))), singleton.Delay(() => {\n disableBtn.Off();\n setShowModal(false);\n return singleton.Zero();\n }));\n });\n }));\n }\n }, toArray(useFormValidator(contact.Validator, (unitVar_1, x) => {\n if (x == null) {\n return {\n Contact: void 0,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const x_1 = x;\n const matchValue = x_1.Value;\n switch (matchValue.tag) {\n case 2:\n case 3: {\n const emailsVal = useFormValidator(contactPhoneNo.Validator, (r, x_3) => ({\n ContactEmail: x_3,\n ContactName: r.ContactName,\n }), useFormValidator(contactName.Validator, (unitVar_2, x_2) => ({\n ContactName: x_2,\n }), useForm())).Validate();\n if (emailsVal == null) {\n return {\n Contact: x_1.Value,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n else {\n const e = emailsVal;\n return {\n Contact: x_1.Value,\n ContactEmail: e.ContactEmail,\n ContactName: e.ContactName,\n };\n }\n }\n default: {\n return {\n Contact: x_1.Value,\n ContactEmail: void 0,\n ContactName: void 0,\n };\n }\n }\n }\n }, useForm()).Validate()));\n };\n return MuiHelpers_createElement(Modal, [[\"open\", showModal], [\"onClose\", (_arg_2, v) => {\n setShowModal(false);\n }], [\"onClick\", (e_2) => {\n e_2.stopPropagation();\n }], [\"children\", createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [modal, PaddingTop.M, PaddingBottom.L, PaddingLeft.L, PaddingRight.L])], [\"onClick\", (e_3) => {\n e_3.stopPropagation();\n }], (elems_2 = toList(delay(() => {\n let elems, value_9;\n return append(singleton_1(createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [MarginBottom.M])], (elems = [(value_9 = (`Bent u zeker dat u de offerte ${quoteDetails.Quote.Code.Value} wilt omzetten naar een dossier?`), createElement(\"h2\", {\n children: [value_9],\n }))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])))), delay(() => append(singleton_1(createElement(ChooseContactQuote, {\n contactOption: contact,\n partnerName: username,\n isPartnerSelected: true,\n homeVisitContactName: contactName,\n homeVisitContactPhoneNo: contactPhoneNo,\n isOptional: false,\n })), delay(() => append(singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.L),\n children: singleton_2(createElement(Col, {\n classes: empty(),\n children: singleton_2(MuiHelpers_createElement(FormControlLabel, [[\"label\", \"Goedkeuring algemene vergadering\"], [\"control\", MuiHelpers_createElement(Switch, [[\"onChange\", (e_4) => {\n setApprovalTicked(Browser_Types_Event__Event_get_Checked(e_4));\n }]])]])),\n })),\n })), delay(() => append(approvalTicked ? singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.S),\n children: singleton_2(createElement(Col, {\n classes: empty(),\n children: toList(delay(() => append(singleton_1(createElement(\"b\", {\n children: [\"Datum\"],\n })), delay(() => {\n let dt;\n return append(singleton_1(createElement(\"input\", {\n type: \"date\",\n onChange: (ev) => {\n iterate((n) => {\n setApprovalMeetingDate(fromDate(n));\n }, toArray(DateParsing_parse(ev.target.value)));\n },\n className: join(\" \", [fullWidth]),\n value: (approvalMeetingDate == null) ? \"\" : ((dt = approvalMeetingDate, (toConsole(printf(\"date1 %A\"))(dt), GeneralFormats_dateTimeOffset(dt)))),\n })), delay(() => (invalidDate.State ? singleton_1(createElement(\"div\", {\n className: join(\" \", [MarginTop.S, TextColor.Danger]),\n children: Interop_reactApi.Children.toArray([\"Please select a date\"]),\n })) : empty_1())));\n })))),\n })),\n })) : empty_1(), delay(() => singleton_1(createElement(Row, {\n classes: singleton_2(MarginTop.L),\n children: ofArray([MuiHelpers_createElement(Button, [[\"onClick\", (e_5) => {\n if (approvalTicked) {\n if (approvalMeetingDate == null) {\n invalidDate.On();\n }\n else {\n const dt_1 = approvalMeetingDate;\n invalidDate.Off();\n onConvertConfirmation(quoteDetails.Quote.Code, approvalMeetingDate);\n }\n }\n else {\n invalidDate.Off();\n onConvertConfirmation(quoteDetails.Quote.Code, approvalMeetingDate);\n }\n }], [\"className\", join(\" \", [])], [\"disabled\", disableBtn.State], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"children\", \"Ja\"]]), MuiHelpers_createElement(Button, [[\"onClick\", (e_6) => {\n setShowModal(false);\n setApprovalMeetingDate(void 0);\n setApprovalTicked(false);\n }], [\"disabled\", disableBtn.State], [\"className\", join(\" \", [MarginLeft.S])], [\"variant\", \"contained\"], [\"color\", \"primary\"], [\"children\", \"Annuleren\"]])]),\n }))))))))));\n })), [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])])))]]);\n}\n\nexport function RenderQuoteDetail(renderQuoteDetailInputProps) {\n const auth0User = renderQuoteDetailInputProps.auth0User;\n const quoteDetail = renderQuoteDetailInputProps.quoteDetail;\n const dossierCode = renderQuoteDetailInputProps.dossierCode;\n const api = renderQuoteDetailInputProps.api;\n const currentPage = renderQuoteDetailInputProps.currentPage;\n const snackbar = useSnackbar();\n const disableBtn = useToggle(false);\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setShowModal = patternInput[1];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(quoteDetail.Quote.Status);\n const DownloadLink = (filePath_1) => {\n if (filePath_1 == null) {\n return null;\n }\n else {\n const filePath_2 = filePath_1;\n return createElement(\"a\", {\n target: \"_blank\",\n href: \"#\",\n onClick: (e) => {\n let filePath;\n e.preventDefault();\n e.stopPropagation();\n startImmediate((filePath = filePath_2, singleton.Delay(() => singleton.TryWith(singleton.Delay(() => singleton.Bind(api.GetDocument(filePath), (_arg) => {\n const file = _arg;\n if (file.tag === 1) {\n const err = file.fields[0];\n console.error(err);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${err}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }\n else {\n return singleton.Bind(downloadFile(file.fields[0], filePath), () => singleton.Return());\n }\n })), (_arg_2) => {\n const ex = _arg_2;\n console.error(ex);\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, `Een onbekende fout is opgetreden. Gelieve support te contacteren. [${ex.message}]`, SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton.Zero();\n }))));\n },\n children: \"Download\",\n });\n }\n };\n const convertBtn = equals(quoteDetail.Quote.Status, new QuoteStatus(1)) ? null : MuiHelpers_createElement(Button, [[\"disabled\", disableBtn.State], [\"onClick\", (e_1) => {\n e_1.preventDefault();\n e_1.stopPropagation();\n setShowModal(true);\n }], [\"className\", join(\" \", [MarginRight.S])], [\"variant\", \"contained\"], [\"color\", \"default\"], [\"children\", \"Omzetten naar dossier\"]]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"\",\n actions: [convertBtn],\n children: toList(delay(() => (Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1)) ? append(singleton_1(createElement(ConvertQuoteModal, {\n api: api,\n quoteDetails: quoteDetail,\n showModal: patternInput[0],\n setShowModal: setShowModal,\n setStatus: patternInput_1[1],\n disableBtn: disableBtn,\n })), delay(() => singleton_1(createElement(DisplayQuoteInfoSyndic, {\n quoteDetails: quoteDetail,\n customerUrl: (customerId) => Page$2__toUrl_2B594(customerDetail, customerId.Value),\n isPartner: true,\n downloadLink: DownloadLink,\n getFile: api.GetDocument,\n getImage: (getDoc) => ((filePath_3) => getImage(getDoc, filePath_3)),\n })))) : singleton_1(createElement(DisplayQuoteInfo, {\n quoteDetails: quoteDetail,\n customerUrl: (customerId_1) => Page$2__toUrl_2B594(customerDetail, customerId_1.Value),\n isPartner: true,\n downloadLink: DownloadLink,\n getFile: api.GetDocument,\n getImage: (getDoc_1) => ((filePath_4) => getImage(getDoc_1, filePath_4)),\n }))))),\n });\n}\n\nexport function QuoteDetail(quoteDetailInputProps) {\n const auth0User = quoteDetailInputProps.auth0User;\n const quoteCode = quoteDetailInputProps.quoteCode;\n const api = quoteDetailInputProps.api;\n const currentPage = quoteDetailInputProps.currentPage;\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetQuoteDetails(new QuoteCode(quoteCode)), []);\n return createElement(DisplayDeferred, {\n data: data,\n view: (dossierDetails) => {\n if (dossierDetails == null) {\n return createElement(Page, {\n currentPage: currentPage,\n title: \"\",\n actions: [],\n children: [createElement(ErrorText, {\n text: `Geen Quotes gevonden met code ${quoteCode}`,\n })],\n });\n }\n else {\n const dossierDetail = dossierDetails;\n return createElement(RenderQuoteDetail, {\n currentPage: currentPage,\n api: api,\n dossierCode: quoteCode,\n quoteDetail: dossierDetail,\n auth0User: auth0User,\n });\n }\n },\n });\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CssRuleWithNormal$reflection, CssRuleWithNormal, String$, MasterTypeHelpers_stringifyICssValue, CssRuleWithAuto$reflection, CssRuleWithAuto } from \"./MasterTypes.fs.js\";\n\nexport class Overflow_Overflow extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Visible\", \"Hidden\", \"Clip\", \"Scroll\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"hidden\";\n }\n case 2: {\n return \"clip\";\n }\n case 3: {\n return \"scroll\";\n }\n default: {\n return \"visible\";\n }\n }\n }\n}\n\nexport function Overflow_Overflow$reflection() {\n return union_type(\"Fss.Types.Overflow.Overflow\", [], Overflow_Overflow, () => [[], [], [], []]);\n}\n\nexport class Overflow_Wrap extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"BreakWord\", \"Anywhere\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"anywhere\" : \"break-word\";\n }\n}\n\nexport function Overflow_Wrap$reflection() {\n return union_type(\"Fss.Types.Overflow.Wrap\", [], Overflow_Wrap, () => [[], []]);\n}\n\nexport class OverflowClasses_OverflowClass extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function OverflowClasses_OverflowClass$reflection() {\n return class_type(\"Fss.Types.OverflowClasses.OverflowClass\", void 0, OverflowClasses_OverflowClass, CssRuleWithAuto$reflection());\n}\n\nexport function OverflowClasses_OverflowClass_$ctor_Z207A3CFB(property) {\n return new OverflowClasses_OverflowClass(property);\n}\n\nexport function OverflowClasses_OverflowClass__value_5BFAED40(this$, overflowX, overflowY) {\n const tupledArg = [this$.property_2, new String$(0, `${MasterTypeHelpers_stringifyICssValue(overflowX)} ${MasterTypeHelpers_stringifyICssValue(overflowY)}`)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function OverflowClasses_OverflowClass__get_visible(this$) {\n const tupledArg = [this$.property_2, new Overflow_Overflow(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function OverflowClasses_OverflowClass__get_hidden(this$) {\n const tupledArg = [this$.property_2, new Overflow_Overflow(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function OverflowClasses_OverflowClass__get_clip(this$) {\n const tupledArg = [this$.property_2, new Overflow_Overflow(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function OverflowClasses_OverflowClass__get_scroll(this$) {\n const tupledArg = [this$.property_2, new Overflow_Overflow(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class OverflowClasses_OverflowWrap extends CssRuleWithNormal {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function OverflowClasses_OverflowWrap$reflection() {\n return class_type(\"Fss.Types.OverflowClasses.OverflowWrap\", void 0, OverflowClasses_OverflowWrap, CssRuleWithNormal$reflection());\n}\n\nexport function OverflowClasses_OverflowWrap_$ctor_Z207A3CFB(property) {\n return new OverflowClasses_OverflowWrap(property);\n}\n\nexport function OverflowClasses_OverflowWrap__get_breakWord(this$) {\n const tupledArg = [this$.property_2, new Overflow_Wrap(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function OverflowClasses_OverflowWrap__get_anywhere(this$) {\n const tupledArg = [this$.property_2, new Overflow_Wrap(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { OverflowClasses_OverflowWrap_$ctor_Z207A3CFB, OverflowClasses_OverflowClass_$ctor_Z207A3CFB } from \"../Types/Overflow.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const OverflowX = OverflowClasses_OverflowClass_$ctor_Z207A3CFB(new Property_CssProperty(198));\n\nexport const OverflowY = OverflowClasses_OverflowClass_$ctor_Z207A3CFB(new Property_CssProperty(199));\n\nexport const OverflowWrap = OverflowClasses_OverflowWrap_$ctor_Z207A3CFB(new Property_CssProperty(197));\n\nexport const Overflow = OverflowClasses_OverflowClass_$ctor_Z207A3CFB(new Property_CssProperty(196));\n\n","import { toString, Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { Normal, CssRuleWithValueFunctions$1$reflection, CssRuleWithValueFunctions$1, Int, CssRuleWithAuto$reflection, CssRuleWithAuto, Float, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\n\nexport class Visibility_Visibility extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Visible\", \"Hidden\", \"Collapse\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"hidden\";\n }\n case 2: {\n return \"collapse\";\n }\n default: {\n return \"visible\";\n }\n }\n }\n}\n\nexport function Visibility_Visibility$reflection() {\n return union_type(\"Fss.Types.Visibility.Visibility\", [], Visibility_Visibility, () => [[], [], []]);\n}\n\nexport class Visibility_BackfaceVisibility extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Visible\", \"Hidden\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"hidden\" : \"visible\";\n }\n}\n\nexport function Visibility_BackfaceVisibility$reflection() {\n return union_type(\"Fss.Types.Visibility.BackfaceVisibility\", [], Visibility_BackfaceVisibility, () => [[], []]);\n}\n\nexport class VisibilityClasses_Visibility extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function VisibilityClasses_Visibility$reflection() {\n return class_type(\"Fss.Types.VisibilityClasses.Visibility\", void 0, VisibilityClasses_Visibility, CssRule$reflection());\n}\n\nexport function VisibilityClasses_Visibility_$ctor_Z207A3CFB(property) {\n return new VisibilityClasses_Visibility(property);\n}\n\nexport function VisibilityClasses_Visibility__get_visible(this$) {\n const tupledArg = [this$.property_1, new Visibility_Visibility(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function VisibilityClasses_Visibility__get_hidden(this$) {\n const tupledArg = [this$.property_1, new Visibility_Visibility(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function VisibilityClasses_Visibility__get_collapse(this$) {\n const tupledArg = [this$.property_1, new Visibility_Visibility(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class VisibilityClasses_Opacity extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function VisibilityClasses_Opacity$reflection() {\n return class_type(\"Fss.Types.VisibilityClasses.Opacity\", void 0, VisibilityClasses_Opacity, CssRule$reflection());\n}\n\nexport function VisibilityClasses_Opacity_$ctor_Z207A3CFB(property) {\n return new VisibilityClasses_Opacity(property);\n}\n\nexport function VisibilityClasses_Opacity__value_5E38073B(this$, opacity) {\n const tupledArg = [this$.property_1, new Float(0, (opacity > 1) ? 1 : ((opacity < 0) ? 0 : opacity))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function VisibilityClasses_Opacity__value_2D904CD3(this$, opacity) {\n const tupledArg = [this$.property_1, opacity];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class VisibilityClasses_ZIndex extends CssRuleWithAuto {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function VisibilityClasses_ZIndex$reflection() {\n return class_type(\"Fss.Types.VisibilityClasses.ZIndex\", void 0, VisibilityClasses_ZIndex, CssRuleWithAuto$reflection());\n}\n\nexport function VisibilityClasses_ZIndex_$ctor_Z207A3CFB(property) {\n return new VisibilityClasses_ZIndex(property);\n}\n\nexport function VisibilityClasses_ZIndex__value_Z524259A4(this$, zindex) {\n const tupledArg = [this$.property_2, new Int(0, zindex)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class PaintOrder_PaintOrder extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Stroke\", \"Markers\", \"Fill\"];\n }\n StringifyCss() {\n const this$ = this;\n return toString(this$).toLocaleLowerCase();\n }\n}\n\nexport function PaintOrder_PaintOrder$reflection() {\n return union_type(\"Fss.Types.PaintOrder.PaintOrder\", [], PaintOrder_PaintOrder, () => [[], [], []]);\n}\n\nexport class PaintOrderClasses_PaintOrderClass extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \" \");\n this.property_2 = property;\n }\n}\n\nexport function PaintOrderClasses_PaintOrderClass$reflection() {\n return class_type(\"Fss.Types.PaintOrderClasses.PaintOrderClass\", void 0, PaintOrderClasses_PaintOrderClass, CssRuleWithValueFunctions$1$reflection(PaintOrder_PaintOrder$reflection()));\n}\n\nexport function PaintOrderClasses_PaintOrderClass_$ctor_Z207A3CFB(property) {\n return new PaintOrderClasses_PaintOrderClass(property);\n}\n\nexport function PaintOrderClasses_PaintOrderClass__get_stroke(this$) {\n const tupledArg = [this$.property_2, new PaintOrder_PaintOrder(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PaintOrderClasses_PaintOrderClass__get_markers(this$) {\n const tupledArg = [this$.property_2, new PaintOrder_PaintOrder(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PaintOrderClasses_PaintOrderClass__get_fill(this$) {\n const tupledArg = [this$.property_2, new PaintOrder_PaintOrder(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function PaintOrderClasses_PaintOrderClass__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { VisibilityClasses_Visibility_$ctor_Z207A3CFB, VisibilityClasses_ZIndex_$ctor_Z207A3CFB, VisibilityClasses_Opacity_$ctor_Z207A3CFB, PaintOrderClasses_PaintOrderClass_$ctor_Z207A3CFB } from \"../Types/Visibility.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const PaintOrder = PaintOrderClasses_PaintOrderClass_$ctor_Z207A3CFB(new Property_CssProperty(215));\n\nexport const Opacity = VisibilityClasses_Opacity_$ctor_Z207A3CFB(new Property_CssProperty(188));\n\nexport const ZIndex = VisibilityClasses_ZIndex_$ctor_Z207A3CFB(new Property_CssProperty(314));\n\nexport const Visibility = VisibilityClasses_Visibility_$ctor_Z207A3CFB(new Property_CssProperty(296));\n\n","import { fss } from \"../partnerportal/src/fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { empty, singleton, append, delay, toList } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Seq.js\";\nimport { BorderClasses_BorderStyleParent__get_solid, BorderClasses_BorderWidthParent__get_thin } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Border.fs.js\";\nimport { BorderColor, BorderStyle, BorderWidth } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js\";\nimport { ColorClass_Color__hex_Z721C83C5, ColorClass_Color__get_black } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { BackgroundColor } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Background.fs.js\";\nimport { Var } from \"./Utils.fs.js\";\nimport { CssRuleWithNone__get_none, CssRuleWithAuto__get_auto } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/MasterTypes.fs.js\";\nimport { Margin, MarginTop } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Margin.fs.js\";\nimport { Label_Label } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Content.fs.js\";\nimport { unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { vh, px, pct } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { MinHeight, Width, Height } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport { PositionClasses_Position__get_fixed$0027, PositionClasses_Position__get_absolute, PositionClasses_Position__get_relative } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Position.fs.js\";\nimport { Right, Top, Position } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Position.fs.js\";\nimport { singleton as singleton_1, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { op_BangGreater } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Selector.fs.js\";\nimport { Html } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Html.fs.js\";\nimport { Margin__get_auto } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Margin.fs.js\";\nimport { DisplayClasses_DisplayClass__get_flex, DisplayClasses_DisplayClass__get_grid } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Display.fs.js\";\nimport { Display } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Display.fs.js\";\nimport { Custom } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Custom.fs.js\";\nimport { OverflowClasses_OverflowClass__get_scroll, OverflowClasses_OverflowClass__get_hidden } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Overflow.fs.js\";\nimport { Overflow, OverflowX } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Overflow.fs.js\";\nimport { Media_Feature, MediaClasses_Media__query } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Media.fs.js\";\nimport { Media } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Media.fs.js\";\nimport { FlexClasses_JustifyContent__get_spaceBetween, FlexClasses_JustifyContent__get_center, FlexClasses_AlignItems__get_center } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { JustifyContent, AlignItems } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport { VisibilityClasses_ZIndex__value_Z524259A4 } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/Types/Visibility.fs.js\";\nimport { ZIndex } from \"../partnerportal/src/fable_modules/Fss-lib.Core.1.0.4/css/Visibility.fs.js\";\n\nexport function SignatureBox(isSignatureValid) {\n return fss(toList(delay(() => append(singleton(BorderClasses_BorderWidthParent__get_thin(BorderWidth)), delay(() => append(singleton(BorderClasses_BorderStyleParent__get_solid(BorderStyle)), delay(() => append(singleton(ColorClass_Color__get_black(BorderColor)), delay(() => append(singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"fff\")), delay(() => ((!isSignatureValid) ? singleton(ColorClass_Color__hex_Z721C83C5(BorderColor, Var.Colors.Danger)) : empty()))))))))))));\n}\n\nexport const SignatureDocument = fss(ofArray([ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"eee\"), CssRuleWithAuto__get_auto(MarginTop), Label_Label(\"SignatureDocument\"), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, pct(100)), PositionClasses_Position__get_relative(Position), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Top, px(78))]));\n\nexport const SignatureSection = fss(singleton_1(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(500))));\n\nexport const SignaturePage = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MarginTop, px(10)), op_BangGreater(new Html(19), singleton_1(Margin__get_auto(Margin))), Label_Label(\"SignaturePage\")]));\n\nexport const PdfPage = fss(singleton_1(Label_Label(\"PdfPage\")));\n\nexport const PdfPageSplit = fss(singleton_1(Label_Label(\"PdfPageSplit\")));\n\nexport const PdfPageContainer = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100)), Label_Label(\"PdfPageContainer\"), DisplayClasses_DisplayClass__get_grid(Display), Custom(\"grid-template-rows\", \"auto auto\"), OverflowClasses_OverflowClass__get_hidden(OverflowX), ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"eee\"), (() => {\n const arg_1 = singleton_1(Custom(\"grid-template-rows\", \"auto auto\"));\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(700))), arg_1);\n})()]));\n\nexport const PartnerPortalSettingsPageContainer = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100)), Label_Label(\"PdfPageContainer\"), DisplayClasses_DisplayClass__get_grid(Display), Custom(\"grid-template-rows\", \"auto auto\"), OverflowClasses_OverflowClass__get_hidden(OverflowX), (() => {\n const arg_1 = singleton_1(Custom(\"grid-template-rows\", \"auto auto\"));\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(700))), arg_1);\n})()]));\n\nexport const PartnerPortalSettingsPageBox = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100)), Label_Label(\"PdfPageContainer\"), DisplayClasses_DisplayClass__get_grid(Display), Custom(\"grid-template-rows\", \"auto auto\"), OverflowClasses_OverflowClass__get_hidden(OverflowX), ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"fff\"), (() => {\n const arg_1 = singleton_1(Custom(\"grid-template-rows\", \"auto auto\"));\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(700))), arg_1);\n})()]));\n\nexport const SignaturePageMessage = fss(ofArray([Margin__get_auto(Margin), Custom(\"height\", \"calc(100vh - 200px)\"), FlexClasses_AlignItems__get_center(AlignItems), FlexClasses_JustifyContent__get_center(JustifyContent)]));\n\nexport const SignatureSlider = fss(ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(630)), PositionClasses_Position__get_absolute(Position), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Top, px(66)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MinHeight, vh(100)), VisibilityClasses_ZIndex__value_Z524259A4(ZIndex, 998), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Right, px(0)), ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"eee\"), Custom(\"box-shadow\", \"rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px\"), (() => {\n const arg_1 = ofArray([unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100)), PositionClasses_Position__get_relative(Position)]);\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(1200))), arg_1);\n})()]));\n\nexport const SigningBoxOpen = fss(ofArray([Custom(\"width\", \"calc(100% - 630px)\"), Label_Label(\"SigningBoxOpen\"), Custom(\"transition\", \"width 2s\"), (() => {\n const arg_1 = singleton_1(CssRuleWithNone__get_none(Display));\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(1200))), arg_1);\n})()]));\n\nexport const SigningBoxOpenAnimation = fss(ofArray([Label_Label(\"SigningBoxOpen\"), Custom(\"transition\", \"width 2s\")]));\n\nexport const PdfPageWrapper = fss(ofArray([PositionClasses_Position__get_relative(Position), OverflowClasses_OverflowClass__get_hidden(Overflow), (() => {\n const arg_1 = ofArray([OverflowClasses_OverflowClass__get_scroll(Overflow), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, vh(100))]);\n return MediaClasses_Media__query(Media, singleton_1(new Media_Feature(20, px(1200))), arg_1);\n})()]));\n\nexport const SignBoxCloseButton = fss(ofArray([PositionClasses_Position__get_absolute(Position), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Top, px(10)), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Right, px(10))]));\n\nexport const SignaturePageToolbar = fss(ofArray([Custom(\"border-bottom\", \"1px solid rgb(0,0,0, 10%)\"), DisplayClasses_DisplayClass__get_flex(Display), FlexClasses_JustifyContent__get_spaceBetween(JustifyContent), PositionClasses_Position__get_fixed$0027(Position), VisibilityClasses_ZIndex__value_Z524259A4(ZIndex, 999), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, pct(100)), ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"fff\")]));\n\nexport const SignAssignmentButton = fss(ofArray([FlexClasses_JustifyContent__get_center(JustifyContent), unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, pct(100))]));\n\n","import { Selector_descendant, Selector_child, Selector_generalSibling, Selector_adjacentSibling } from \"../Types/Selector.fs.js\";\n\nexport function op_BangPlus(html, rules) {\n return Selector_adjacentSibling(html, rules);\n}\n\nexport function op_BangTwiddle(html, rules) {\n return Selector_generalSibling(html, rules);\n}\n\nexport function op_BangGreater(html, rules) {\n return Selector_child(html, rules);\n}\n\nexport function op_Dereference(html, rules) {\n return Selector_descendant(html, rules);\n}\n\n","import { class_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { CombinatorMaster, Property_CssProperty } from \"./MasterTypes.fs.js\";\n\nexport class Selector {\n constructor() {\n }\n}\n\nexport function Selector$reflection() {\n return class_type(\"Fss.Types.SelectorClasses.Selector\", void 0, Selector);\n}\n\nexport function Selector_adjacentSibling(html, rules) {\n const tupledArg = [new Property_CssProperty(392, html), new CombinatorMaster(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function Selector_generalSibling(html, rules) {\n const tupledArg = [new Property_CssProperty(393, html), new CombinatorMaster(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function Selector_child(html, rules) {\n const tupledArg = [new Property_CssProperty(394, html), new CombinatorMaster(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function Selector_descendant(html, rules) {\n const tupledArg = [new Property_CssProperty(395, html), new CombinatorMaster(0, rules)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { keyValueList } from \"../fable_modules/fable-library.3.7.17/MapUtil.js\";\nimport { Union, Record } from \"../fable_modules/fable-library.3.7.17/Types.js\";\nimport { union_type, bool_type, record_type, string_type, int32_type } from \"../fable_modules/fable-library.3.7.17/Reflection.js\";\nimport * as react from \"react\";\nimport react_signature_canvas from \"react-signature-canvas\";\n\nfunction toObj(p) {\n return keyValueList(p, 1);\n}\n\nexport class CanvasProps extends Record {\n constructor(width, height, className) {\n super();\n this.width = (width | 0);\n this.height = (height | 0);\n this.className = className;\n }\n}\n\nexport function CanvasProps$reflection() {\n return record_type(\"SignatureCanvas.CanvasProps\", [], CanvasProps, () => [[\"width\", int32_type], [\"height\", int32_type], [\"className\", string_type]]);\n}\n\nexport class SignaturePadOptions extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CanvasProps\", \"ClearOnResize\", \"IsEmpty\"];\n }\n}\n\nexport function SignaturePadOptions$reflection() {\n return union_type(\"SignatureCanvas.SignaturePadOptions\", [], SignaturePadOptions, () => [[[\"Item\", CanvasProps$reflection()]], [[\"Item\", bool_type]], [[\"Item\", bool_type]]]);\n}\n\nexport function SignatureCanvas(props) {\n const props_1 = toObj(props);\n return react.createElement(react_signature_canvas, props_1);\n}\n\n","import { useSnackbar } from \"notistack\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { useToggle } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport { useReact_useRef_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { PartnerPortalSettingsPageContainer, SignatureBox } from \"../../../Styles/SignaturePageStyles.fs.js\";\nimport { SignaturePadOptions, SignatureCanvas, CanvasProps } from \"../bindings/SignatureCanvas.fs.js\";\nimport { createElement } from \"react\";\nimport { Row, Col } from \"../../../Components/UtilComponents.fs.js\";\nimport { singleton, ofArray, empty } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { MarginRight, MarginTop, fullWidth } from \"../../../Styles/Utils.fs.js\";\nimport { createObj } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { isNullOrWhiteSpace, printf, toConsole, join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { startImmediate } from \"../fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton as singleton_1 } from \"../fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { EnqueueSnackbarOption, SnackbarProp_Variant_Z609E1E86, ProviderContext__enqueueSnackbar_Z1776A768 } from \"../../../Notistack/Notistack.fs.js\";\nimport { Page } from \"../components/Page.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { singleton as singleton_2, delay, toList } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\n\nexport function PartnerSignaturePage(api) {\n let elems_1;\n const snackbar = useSnackbar();\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetPartnerSignature(), []);\n const isSaving = useToggle(false);\n const signatureCanvasRef = useReact_useRef_1505(void 0);\n const canvasProps = new CanvasProps(600, 500, SignatureBox(useToggle(true).State));\n return createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(Col, {\n classes: ofArray([fullWidth, PartnerPortalSettingsPageContainer]),\n children: ofArray([createElement(\"h4\", {\n children: [\"Signature Template\"],\n }), SignatureCanvas([[\"ref\", signatureCanvasRef], new SignaturePadOptions(0, canvasProps)])]),\n }), createElement(Col, {\n classes: singleton(MarginTop.M),\n children: singleton(createElement(\"div\", createObj(ofArray([[\"className\", join(\" \", [])], (elems_1 = [MuiHelpers_createElement(Button, [[\"className\", join(\" \", [MarginRight.M])], [\"color\", \"default\"], [\"variant\", \"contained\"], [\"onClick\", (_arg_1) => {\n window.location.reload();\n }], [\"children\", Interop_reactApi.Children.toArray([\"Annuleren\"])]]), MuiHelpers_createElement(Button, [[\"variant\", \"contained\"], [\"color\", \"primary\"], [\"size\", \"medium\"], [\"disabled\", isSaving.State], [\"children\", \"BEWAREN\"], [\"onClick\", (_arg_2) => {\n const matchValue = signatureCanvasRef.current;\n if (matchValue == null) {\n toConsole(printf(\"None\"));\n }\n else {\n const signatureCanvas = matchValue;\n isSaving.On();\n const signatureBase64 = signatureCanvas.getCanvas().toDataURL(\"image/png\");\n startImmediate(singleton_1.Delay(() => {\n toConsole(printf(\"save settings\"));\n return singleton_1.Bind(api.SaveSettings(signatureBase64), (_arg) => {\n const res = _arg;\n isSaving.Off();\n if (res.tag === 1) {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, res.fields[0], SnackbarProp_Variant_Z609E1E86(\"error\"), new EnqueueSnackbarOption(1, false));\n return singleton_1.Zero();\n }\n else {\n ProviderContext__enqueueSnackbar_Z1776A768(snackbar, res.fields[0], SnackbarProp_Variant_Z609E1E86(\"success\"), new EnqueueSnackbarOption(1, false));\n window.location.reload();\n return singleton_1.Zero();\n }\n });\n }));\n window.scrollTo(0, 0);\n }\n }]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])])))),\n })]),\n });\n}\n\nexport function SettingsForm(settingsFormInputProps) {\n const api = settingsFormInputProps.api;\n const currentPage = settingsFormInputProps.currentPage;\n const showSavePage = useToggle(false);\n const snackbar = useSnackbar();\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetPartnerSignature(), []);\n const editButton = MuiHelpers_createElement(Button, [[\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"size\", \"medium\"], [\"children\", \"Bewerken\"], [\"onClick\", (_arg) => {\n showSavePage.On();\n }]]);\n return createElement(Page, {\n currentPage: currentPage,\n title: \"Settings\",\n actions: [editButton],\n children: [createElement(DisplayDeferred, {\n data: data,\n view: (partnerSignatureImage) => createElement(Row, {\n classes: empty(),\n children: toList(delay(() => (isNullOrWhiteSpace(partnerSignatureImage) ? singleton_2(createElement(PartnerSignaturePage, api)) : (showSavePage.State ? singleton_2(createElement(PartnerSignaturePage, api)) : singleton_2(createElement(Col, {\n classes: empty(),\n children: ofArray([createElement(\"h4\", {\n children: [\"Signature Template\"],\n }), createElement(\"img\", {\n src: partnerSignatureImage,\n className: join(\" \", [SignatureBox(true)]),\n })]),\n })))))),\n }),\n })],\n });\n}\n\n","import { Exception, Record, Union } from \"../fable-library.3.7.17/Types.js\";\nimport { obj_type, class_type, lambda_type, option_type, int32_type, record_type, bool_type, list_type, tuple_type, array_type, uint8_type, string_type, union_type } from \"../fable-library.3.7.17/Reflection.js\";\n\nexport class HttpMethod extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"GET\", \"POST\"];\n }\n}\n\nexport function HttpMethod$reflection() {\n return union_type(\"Fable.Remoting.Client.HttpMethod\", [], HttpMethod, () => [[], []]);\n}\n\nexport class RequestBody extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Empty\", \"Json\", \"Binary\"];\n }\n}\n\nexport function RequestBody$reflection() {\n return union_type(\"Fable.Remoting.Client.RequestBody\", [], RequestBody, () => [[], [[\"Item\", string_type]], [[\"Item\", array_type(uint8_type)]]]);\n}\n\nexport class HttpRequest extends Record {\n constructor(HttpMethod, Url, Headers, RequestBody, WithCredentials) {\n super();\n this.HttpMethod = HttpMethod;\n this.Url = Url;\n this.Headers = Headers;\n this.RequestBody = RequestBody;\n this.WithCredentials = WithCredentials;\n }\n}\n\nexport function HttpRequest$reflection() {\n return record_type(\"Fable.Remoting.Client.HttpRequest\", [], HttpRequest, () => [[\"HttpMethod\", HttpMethod$reflection()], [\"Url\", string_type], [\"Headers\", list_type(tuple_type(string_type, string_type))], [\"RequestBody\", RequestBody$reflection()], [\"WithCredentials\", bool_type]]);\n}\n\nexport class HttpResponse extends Record {\n constructor(StatusCode, ResponseBody) {\n super();\n this.StatusCode = (StatusCode | 0);\n this.ResponseBody = ResponseBody;\n }\n}\n\nexport function HttpResponse$reflection() {\n return record_type(\"Fable.Remoting.Client.HttpResponse\", [], HttpResponse, () => [[\"StatusCode\", int32_type], [\"ResponseBody\", string_type]]);\n}\n\nexport class RemoteBuilderOptions extends Record {\n constructor(CustomHeaders, BaseUrl, Authorization, WithCredentials, RouteBuilder, CustomResponseSerialization) {\n super();\n this.CustomHeaders = CustomHeaders;\n this.BaseUrl = BaseUrl;\n this.Authorization = Authorization;\n this.WithCredentials = WithCredentials;\n this.RouteBuilder = RouteBuilder;\n this.CustomResponseSerialization = CustomResponseSerialization;\n }\n}\n\nexport function RemoteBuilderOptions$reflection() {\n return record_type(\"Fable.Remoting.Client.RemoteBuilderOptions\", [], RemoteBuilderOptions, () => [[\"CustomHeaders\", list_type(tuple_type(string_type, string_type))], [\"BaseUrl\", option_type(string_type)], [\"Authorization\", option_type(string_type)], [\"WithCredentials\", bool_type], [\"RouteBuilder\", lambda_type(string_type, lambda_type(string_type, string_type))], [\"CustomResponseSerialization\", option_type(lambda_type(array_type(uint8_type), lambda_type(class_type(\"System.Type\"), obj_type)))]]);\n}\n\nexport class ProxyRequestException extends Exception {\n constructor(response, errorMsg, reponseText) {\n super(errorMsg);\n this.response = response;\n this.reponseText = reponseText;\n }\n}\n\nexport function ProxyRequestException$reflection() {\n return class_type(\"Fable.Remoting.Client.ProxyRequestException\", void 0, ProxyRequestException, class_type(\"System.Exception\"));\n}\n\nexport function ProxyRequestException_$ctor_76BC5104(response, errorMsg, reponseText) {\n return new ProxyRequestException(response, errorMsg, reponseText);\n}\n\nexport function ProxyRequestException__get_Response(this$) {\n return this$.response;\n}\n\nexport function ProxyRequestException__get_StatusCode(this$) {\n return this$.response.StatusCode;\n}\n\nexport function ProxyRequestException__get_ResponseText(this$) {\n return this$.reponseText;\n}\n\n","import { Union, Record } from \"../fable-library.3.7.17/Types.js\";\nimport { union_type, tuple_type, lambda_type, unit_type, array_type, record_type, class_type, string_type } from \"../fable-library.3.7.17/Reflection.js\";\n\nexport class RecordField extends Record {\n constructor(FieldName, FieldType, PropertyInfo) {\n super();\n this.FieldName = FieldName;\n this.FieldType = FieldType;\n this.PropertyInfo = PropertyInfo;\n }\n}\n\nexport function RecordField$reflection() {\n return record_type(\"Fable.SimpleJson.RecordField\", [], RecordField, () => [[\"FieldName\", string_type], [\"FieldType\", TypeInfo$reflection()], [\"PropertyInfo\", class_type(\"System.Reflection.PropertyInfo\")]]);\n}\n\nexport class UnionCase extends Record {\n constructor(CaseName, CaseTypes, Info) {\n super();\n this.CaseName = CaseName;\n this.CaseTypes = CaseTypes;\n this.Info = Info;\n }\n}\n\nexport function UnionCase$reflection() {\n return record_type(\"Fable.SimpleJson.UnionCase\", [], UnionCase, () => [[\"CaseName\", string_type], [\"CaseTypes\", array_type(TypeInfo$reflection())], [\"Info\", class_type(\"Microsoft.FSharp.Reflection.UnionCaseInfo\")]]);\n}\n\nexport class TypeInfo extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Unit\", \"Char\", \"String\", \"UInt16\", \"UInt32\", \"UInt64\", \"Int32\", \"Bool\", \"Float32\", \"Float\", \"Decimal\", \"Short\", \"Long\", \"Byte\", \"SByte\", \"DateTime\", \"DateTimeOffset\", \"DateOnly\", \"TimeOnly\", \"BigInt\", \"TimeSpan\", \"Guid\", \"Uri\", \"Object\", \"Any\", \"Async\", \"Promise\", \"Option\", \"List\", \"Set\", \"Array\", \"Seq\", \"Tuple\", \"Map\", \"Dictionary\", \"ResizeArray\", \"HashSet\", \"Func\", \"Enum\", \"Record\", \"Union\"];\n }\n}\n\nexport function TypeInfo$reflection() {\n return union_type(\"Fable.SimpleJson.TypeInfo\", [], TypeInfo, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [[\"Item\", lambda_type(unit_type, class_type(\"System.Type\"))]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, array_type(TypeInfo$reflection()))]], [[\"Item\", lambda_type(unit_type, tuple_type(TypeInfo$reflection(), TypeInfo$reflection()))]], [[\"Item\", lambda_type(unit_type, tuple_type(TypeInfo$reflection(), TypeInfo$reflection(), class_type(\"System.Type\")))]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, TypeInfo$reflection())]], [[\"Item\", lambda_type(unit_type, array_type(TypeInfo$reflection()))]], [[\"Item\", lambda_type(unit_type, tuple_type(TypeInfo$reflection(), class_type(\"System.Type\")))]], [[\"Item\", lambda_type(unit_type, tuple_type(array_type(RecordField$reflection()), class_type(\"System.Type\")))]], [[\"Item\", lambda_type(unit_type, tuple_type(array_type(UnionCase$reflection()), class_type(\"System.Type\")))]]]);\n}\n\n","import { equals, getEnumUnderlyingType, isEnum, getTupleElements, isTuple, getElementType, isArray, getFunctionElements, isFunction, getUnionCases, getUnionCaseFields, isUnion, getGenerics, getRecordElements, name, isRecord, fullName } from \"../fable-library.3.7.17/Reflection.js\";\nimport { UnionCase, RecordField, TypeInfo } from \"./TypeInfo.fs.js\";\nimport { map } from \"../fable-library.3.7.17/Array.js\";\nimport { collect, singleton, append, delay, toArray } from \"../fable-library.3.7.17/Seq.js\";\nimport { structuralHash, Lazy } from \"../fable-library.3.7.17/Util.js\";\nimport { Dictionary } from \"../fable-library.3.7.17/MutableMap.js\";\nimport { tryGetValue } from \"../fable-library.3.7.17/MapUtil.js\";\nimport { FSharpRef } from \"../fable-library.3.7.17/Types.js\";\nimport { endsWith, isNullOrEmpty } from \"../fable-library.3.7.17/String.js\";\n\nexport function $007CPrimitiveType$007C_$007C(primType) {\n const matchValue = fullName(primType);\n switch (matchValue) {\n case \"System.String\": {\n return new TypeInfo(2);\n }\n case \"System.Char\": {\n return new TypeInfo(1);\n }\n case \"System.Int16\": {\n return new TypeInfo(11);\n }\n case \"System.Int32\": {\n return new TypeInfo(6);\n }\n case \"Microsoft.FSharp.Core.int64`1\":\n case \"System.Int64\": {\n return new TypeInfo(12);\n }\n case \"System.UInt16\": {\n return new TypeInfo(3);\n }\n case \"System.UInt32\": {\n return new TypeInfo(4);\n }\n case \"System.UInt64\": {\n return new TypeInfo(5);\n }\n case \"System.DateTime\": {\n return new TypeInfo(15);\n }\n case \"System.DateOnly\": {\n return new TypeInfo(17);\n }\n case \"System.TimeOnly\": {\n return new TypeInfo(18);\n }\n case \"System.TimeSpan\": {\n return new TypeInfo(20);\n }\n case \"System.DateTimeOffset\": {\n return new TypeInfo(16);\n }\n case \"System.Boolean\": {\n return new TypeInfo(7);\n }\n case \"System.Single\": {\n return new TypeInfo(8);\n }\n case \"System.Double\": {\n return new TypeInfo(9);\n }\n case \"Microsoft.FSharp.Core.decimal`1\":\n case \"System.Decimal\": {\n return new TypeInfo(10);\n }\n case \"System.Numerics.BigInteger\": {\n return new TypeInfo(19);\n }\n case \"Microsoft.FSharp.Core.Unit\": {\n return new TypeInfo(0);\n }\n case \"System.Guid\": {\n return new TypeInfo(21);\n }\n case \"System.Byte\": {\n return new TypeInfo(13);\n }\n case \"System.SByte\": {\n return new TypeInfo(14);\n }\n case \"System.Object\": {\n return new TypeInfo(23);\n }\n case \"System.Uri\": {\n return new TypeInfo(22);\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function $007CRecordType$007C_$007C(t) {\n if (isRecord(t)) {\n return map((field) => [field, name(field), field[1]], getRecordElements(t));\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CSetType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Microsoft.FSharp.Collections.FSharpSet`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNullable$007C_$007C(t) {\n if (fullName(t).indexOf(\"System.Nullable`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CUnionType$007C_$007C(t) {\n if (isUnion(t)) {\n return map((info) => [name(info), info, map((prop) => prop[1], getUnionCaseFields(info))], getUnionCases(t));\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CMapType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Microsoft.FSharp.Collections.FSharpMap`2\") === 0) {\n const genArgs = getGenerics(t);\n return [genArgs[0], genArgs[1]];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CListType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Microsoft.FSharp.Collections.FSharpList`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function flattenFuncTypes(typeDef) {\n return toArray(delay(() => {\n if (isFunction(typeDef)) {\n const patternInput = getFunctionElements(typeDef);\n return append(flattenFuncTypes(patternInput[0]), delay(() => flattenFuncTypes(patternInput[1])));\n }\n else {\n return singleton(typeDef);\n }\n }));\n}\n\nexport function $007CFuncType$007C_$007C(t) {\n if (isFunction(t)) {\n return flattenFuncTypes(t);\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CArrayType$007C_$007C(t) {\n if (isArray(t)) {\n return getElementType(t);\n }\n else {\n return void 0;\n }\n}\n\nexport function $007COptionType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Microsoft.FSharp.Core.FSharpOption`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CTupleType$007C_$007C(t) {\n if (isTuple(t)) {\n return getTupleElements(t);\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CSeqType$007C_$007C(t) {\n if (fullName(t).indexOf(\"System.Collections.Generic.IEnumerable`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CDictionaryType$007C_$007C(t) {\n if (fullName(t).indexOf(\"System.Collections.Generic.Dictionary\") === 0) {\n const genArgs = getGenerics(t);\n return [genArgs[0], genArgs[1]];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CResizeArrayType$007C_$007C(t) {\n if (fullName(t).indexOf(\"System.Collections.Generic.List\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CHashSetType$007C_$007C(t) {\n if (fullName(t).indexOf(\"System.Collections.Generic.HashSet\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CAsyncType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Microsoft.FSharp.Control.FSharpAsync`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CPromiseType$007C_$007C(t) {\n if (fullName(t).indexOf(\"Fable.Core.JS.Promise`1\") === 0) {\n return getGenerics(t)[0];\n }\n else {\n return void 0;\n }\n}\n\nfunction lazyToDelayed(l, unitVar) {\n return l.Value;\n}\n\nexport function $007CEnumType$007C_$007C(t) {\n if (isEnum(t)) {\n return getEnumUnderlyingType(t);\n }\n else {\n return void 0;\n }\n}\n\nfunction _createTypeInfo(resolvedType) {\n let l, l_3, l_4, l_5, l_6, l_7, l_8, l_9, l_10, l_11, l_12, l_13, l_14, l_15, l_16, l_17;\n const activePatternResult = $007CPrimitiveType$007C_$007C(resolvedType);\n if (activePatternResult != null) {\n const typeInfo = activePatternResult;\n return typeInfo;\n }\n else {\n const activePatternResult_1 = $007CFuncType$007C_$007C(resolvedType);\n if (activePatternResult_1 != null) {\n const types = activePatternResult_1;\n return new TypeInfo(37, (l = (new Lazy(() => map(createTypeInfo, types))), () => lazyToDelayed(l, void 0)));\n }\n else {\n const activePatternResult_2 = $007CRecordType$007C_$007C(resolvedType);\n if (activePatternResult_2 != null) {\n const fields = activePatternResult_2;\n const l_1 = new Lazy(() => [toArray(delay(() => collect((matchValue) => singleton(new RecordField(matchValue[1], createTypeInfo(matchValue[2]), matchValue[0])), fields))), resolvedType]);\n return new TypeInfo(39, () => lazyToDelayed(l_1, void 0));\n }\n else {\n const activePatternResult_3 = $007CUnionType$007C_$007C(resolvedType);\n if (activePatternResult_3 != null) {\n const cases = activePatternResult_3;\n const l_2 = new Lazy(() => [toArray(delay(() => collect((matchValue_1) => singleton(new UnionCase(matchValue_1[0], map(createTypeInfo, matchValue_1[2]), matchValue_1[1])), cases))), resolvedType]);\n return new TypeInfo(40, () => lazyToDelayed(l_2, void 0));\n }\n else {\n const activePatternResult_4 = $007CEnumType$007C_$007C(resolvedType);\n if (activePatternResult_4 != null) {\n const elemType = activePatternResult_4;\n return new TypeInfo(38, (l_3 = (new Lazy(() => [createTypeInfo(elemType), resolvedType])), () => lazyToDelayed(l_3, void 0)));\n }\n else {\n const activePatternResult_5 = $007CListType$007C_$007C(resolvedType);\n if (activePatternResult_5 != null) {\n const elemType_1 = activePatternResult_5;\n return new TypeInfo(28, (l_4 = (new Lazy(() => createTypeInfo(elemType_1))), () => lazyToDelayed(l_4, void 0)));\n }\n else {\n const activePatternResult_6 = $007CResizeArrayType$007C_$007C(resolvedType);\n if (activePatternResult_6 != null) {\n const elemType_2 = activePatternResult_6;\n return new TypeInfo(35, (l_5 = (new Lazy(() => createTypeInfo(elemType_2))), () => lazyToDelayed(l_5, void 0)));\n }\n else {\n const activePatternResult_7 = $007CHashSetType$007C_$007C(resolvedType);\n if (activePatternResult_7 != null) {\n const elemType_3 = activePatternResult_7;\n return new TypeInfo(36, (l_6 = (new Lazy(() => createTypeInfo(elemType_3))), () => lazyToDelayed(l_6, void 0)));\n }\n else {\n const activePatternResult_8 = $007CArrayType$007C_$007C(resolvedType);\n if (activePatternResult_8 != null) {\n const elemType_4 = activePatternResult_8;\n return new TypeInfo(30, (l_7 = (new Lazy(() => createTypeInfo(elemType_4))), () => lazyToDelayed(l_7, void 0)));\n }\n else {\n const activePatternResult_9 = $007CTupleType$007C_$007C(resolvedType);\n if (activePatternResult_9 != null) {\n const types_1 = activePatternResult_9;\n return new TypeInfo(32, (l_8 = (new Lazy(() => map(createTypeInfo, types_1))), () => lazyToDelayed(l_8, void 0)));\n }\n else {\n const activePatternResult_10 = $007COptionType$007C_$007C(resolvedType);\n if (activePatternResult_10 != null) {\n const elemType_5 = activePatternResult_10;\n return new TypeInfo(27, (l_9 = (new Lazy(() => createTypeInfo(elemType_5))), () => lazyToDelayed(l_9, void 0)));\n }\n else {\n const activePatternResult_11 = $007CNullable$007C_$007C(resolvedType);\n if (activePatternResult_11 != null) {\n const elemType_6 = activePatternResult_11;\n return new TypeInfo(27, (l_10 = (new Lazy(() => createTypeInfo(elemType_6))), () => lazyToDelayed(l_10, void 0)));\n }\n else {\n const activePatternResult_12 = $007CSetType$007C_$007C(resolvedType);\n if (activePatternResult_12 != null) {\n const elemType_7 = activePatternResult_12;\n return new TypeInfo(29, (l_11 = (new Lazy(() => createTypeInfo(elemType_7))), () => lazyToDelayed(l_11, void 0)));\n }\n else {\n const activePatternResult_13 = $007CMapType$007C_$007C(resolvedType);\n if (activePatternResult_13 != null) {\n const keyType = activePatternResult_13[0];\n const valueType = activePatternResult_13[1];\n return new TypeInfo(33, (l_12 = (new Lazy(() => [createTypeInfo(keyType), createTypeInfo(valueType)])), () => lazyToDelayed(l_12, void 0)));\n }\n else {\n const activePatternResult_14 = $007CDictionaryType$007C_$007C(resolvedType);\n if (activePatternResult_14 != null) {\n const keyType_1 = activePatternResult_14[0];\n const valueType_1 = activePatternResult_14[1];\n return new TypeInfo(34, (l_13 = (new Lazy(() => [createTypeInfo(keyType_1), createTypeInfo(valueType_1), valueType_1])), () => lazyToDelayed(l_13, void 0)));\n }\n else {\n const activePatternResult_15 = $007CSeqType$007C_$007C(resolvedType);\n if (activePatternResult_15 != null) {\n const elemType_8 = activePatternResult_15;\n return new TypeInfo(31, (l_14 = (new Lazy(() => createTypeInfo(elemType_8))), () => lazyToDelayed(l_14, void 0)));\n }\n else {\n const activePatternResult_16 = $007CAsyncType$007C_$007C(resolvedType);\n if (activePatternResult_16 != null) {\n const elemType_9 = activePatternResult_16;\n return new TypeInfo(25, (l_15 = (new Lazy(() => createTypeInfo(elemType_9))), () => lazyToDelayed(l_15, void 0)));\n }\n else {\n const activePatternResult_17 = $007CPromiseType$007C_$007C(resolvedType);\n if (activePatternResult_17 != null) {\n const elemType_10 = activePatternResult_17;\n return new TypeInfo(26, (l_16 = (new Lazy(() => createTypeInfo(elemType_10))), () => lazyToDelayed(l_16, void 0)));\n }\n else {\n return new TypeInfo(24, (l_17 = (new Lazy(() => resolvedType)), () => lazyToDelayed(l_17, void 0)));\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}\n\nconst typeInfoCache = new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n});\n\nexport function createTypeInfo(resolvedType) {\n let matchValue;\n let outArg = null;\n matchValue = [tryGetValue(typeInfoCache, resolvedType, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n const ti_1 = _createTypeInfo(resolvedType);\n if (((!isNullOrEmpty(fullName(resolvedType))) && (!endsWith(fullName(resolvedType), \"`1[]\"))) && (!endsWith(fullName(resolvedType), \"`2[]\"))) {\n typeInfoCache.set(resolvedType, ti_1);\n return ti_1;\n }\n else {\n return ti_1;\n }\n }\n}\n\nexport function isPrimitive(_arg) {\n switch (_arg.tag) {\n case 0:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 21:\n case 27: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nexport function enumUnion(_arg) {\n if (_arg.tag === 40) {\n const array = _arg.fields[0]()[0];\n return array.every((case$) => (case$.CaseTypes.length === 0));\n }\n else {\n return false;\n }\n}\n\n","import { HttpResponse, HttpRequest, RequestBody, HttpMethod as HttpMethod_1 } from \"./Types.fs.js\";\nimport { empty } from \"../fable-library.3.7.17/List.js\";\nimport { singleton } from \"../fable-library.3.7.17/AsyncBuilder.js\";\nimport { isCancellationRequested, fromContinuations, cancellationToken } from \"../fable-library.3.7.17/Async.js\";\nimport { disposeSafe, getEnumerator } from \"../fable-library.3.7.17/Util.js\";\nimport { some } from \"../fable-library.3.7.17/Option.js\";\nimport { InternalUtilities_toUInt8Array } from \"./Extensions.fs.js\";\n\nconst defaultRequestConfig = new HttpRequest(new HttpMethod_1(0), \"/\", empty(), new RequestBody(0), false);\n\nexport function get$(url) {\n return new HttpRequest(new HttpMethod_1(0), url, defaultRequestConfig.Headers, defaultRequestConfig.RequestBody, defaultRequestConfig.WithCredentials);\n}\n\nexport function post(url) {\n return new HttpRequest(new HttpMethod_1(1), url, defaultRequestConfig.Headers, defaultRequestConfig.RequestBody, defaultRequestConfig.WithCredentials);\n}\n\nexport function request(method, url) {\n return new HttpRequest(method, url, defaultRequestConfig.Headers, defaultRequestConfig.RequestBody, defaultRequestConfig.WithCredentials);\n}\n\nexport function withHeaders(headers, req) {\n return new HttpRequest(req.HttpMethod, req.Url, headers, req.RequestBody, req.WithCredentials);\n}\n\nexport function withCredentials(withCredentials_1, req) {\n return new HttpRequest(req.HttpMethod, req.Url, req.Headers, req.RequestBody, withCredentials_1);\n}\n\nexport function withBody(body, req) {\n return new HttpRequest(req.HttpMethod, req.Url, req.Headers, body, req.WithCredentials);\n}\n\nfunction sendAndRead(preparation, resultMapper, req) {\n return singleton.Delay(() => singleton.Bind(cancellationToken(), (_arg) => {\n const token = _arg;\n const request_1 = fromContinuations((tupledArg) => {\n const xhr = new XMLHttpRequest();\n if (req.HttpMethod.tag === 1) {\n xhr.open(\"POST\", req.Url);\n }\n else {\n xhr.open(\"GET\", req.Url);\n }\n if (preparation != null) {\n preparation(xhr);\n }\n token.register(() => {\n xhr.abort();\n tupledArg[2](new Error(token));\n });\n const enumerator = getEnumerator(req.Headers);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n xhr.setRequestHeader(forLoopVar[0], forLoopVar[1]);\n }\n }\n finally {\n disposeSafe(enumerator);\n }\n xhr.withCredentials = req.WithCredentials;\n xhr.onreadystatechange = (() => {\n const matchValue_1 = xhr.readyState | 0;\n let pattern_matching_result;\n if (matchValue_1 === 4) {\n if (!isCancellationRequested(token)) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n tupledArg[0](resultMapper(xhr));\n break;\n }\n case 1: {\n break;\n }\n }\n });\n const matchValue_2 = req.RequestBody;\n switch (matchValue_2.tag) {\n case 1: {\n xhr.send(some(matchValue_2.fields[0]));\n break;\n }\n case 2: {\n xhr.send(some(InternalUtilities_toUInt8Array(matchValue_2.fields[0])));\n break;\n }\n default: {\n xhr.send();\n }\n }\n });\n return singleton.ReturnFrom(request_1);\n }));\n}\n\nexport const send = (req) => sendAndRead(void 0, (xhr) => (new HttpResponse(xhr.status, xhr.responseText)), req);\n\nexport const sendAndReadBinary = (req) => sendAndRead((xhr) => {\n xhr.responseType = \"arraybuffer\";\n}, (xhr_1) => [new Uint8Array(xhr_1.response), xhr_1.status], req);\n\n","\"use strict\";\r\n\r\nexport function Parsimmon(action) {\r\n if (!(this instanceof Parsimmon)) {\r\n return new Parsimmon(action);\r\n }\r\n this._ = action;\r\n}\r\n\r\nvar _ = Parsimmon.prototype;\r\n\r\nexport function times(n, f) {\r\n var i = 0;\r\n for (i; i < n; i++) {\r\n f(i);\r\n }\r\n}\r\n\r\nexport function forEach(f, arr) {\r\n times(arr.length, function(i) {\r\n f(arr[i], i, arr);\r\n });\r\n}\r\n\r\nexport function reduce(f, seed, arr) {\r\n forEach(function(elem, i, arr) {\r\n seed = f(seed, elem, i, arr);\r\n }, arr);\r\n return seed;\r\n}\r\n\r\nexport function map(f, arr) {\r\n return reduce(\r\n function(acc, elem, i, a) {\r\n return acc.concat([f(elem, i, a)]);\r\n },\r\n [],\r\n arr\r\n );\r\n}\r\n\r\nexport function lshiftBuffer(input) {\r\n var asTwoBytes = reduce(\r\n function(a, v, i, b) {\r\n return a.concat(\r\n i === b.length - 1\r\n ? Buffer.from([v, 0]).readUInt16BE(0)\r\n : b.readUInt16BE(i)\r\n );\r\n },\r\n [],\r\n input\r\n );\r\n return Buffer.from(\r\n map(function(x) {\r\n return ((x << 1) & 0xffff) >> 8;\r\n }, asTwoBytes)\r\n );\r\n}\r\n\r\nfunction consumeBitsFromBuffer(n, input) {\r\n var state = { v: 0, buf: input };\r\n times(n, function() {\r\n state = {\r\n v: (state.v << 1) | bitPeekBuffer(state.buf),\r\n buf: lshiftBuffer(state.buf)\r\n };\r\n });\r\n return state;\r\n}\r\n\r\nfunction bitPeekBuffer(input) {\r\n return input[0] >> 7;\r\n}\r\n\r\nexport function sum(numArr) {\r\n return reduce(\r\n function(x, y) {\r\n return x + y;\r\n },\r\n 0,\r\n numArr\r\n );\r\n}\r\n\r\nexport function find(pred, arr) {\r\n return reduce(\r\n function(found, elem) {\r\n return found || (pred(elem) ? elem : found);\r\n },\r\n null,\r\n arr\r\n );\r\n}\r\n\r\nfunction bufferExists() {\r\n return typeof Buffer !== \"undefined\";\r\n}\r\n\r\nfunction ensureBuffer() {\r\n if (!bufferExists()) {\r\n throw new Error(\r\n \"Buffer global does not exist; please consider using https://github.com/feross/buffer if you are running Parsimmon in a browser.\"\r\n );\r\n }\r\n}\r\n\r\nfunction bitSeq(alignments) {\r\n ensureBuffer();\r\n var totalBits = sum(alignments);\r\n if (totalBits % 8 !== 0) {\r\n throw new Error(\r\n \"The bits [\" +\r\n alignments.join(\", \") +\r\n \"] add up to \" +\r\n totalBits +\r\n \" which is not an even number of bytes; the total should be divisible by 8\"\r\n );\r\n }\r\n var bytes = totalBits / 8;\r\n\r\n var tooBigRange = find(function(x) {\r\n return x > 48;\r\n }, alignments);\r\n if (tooBigRange) {\r\n throw new Error(\r\n tooBigRange + \" bit range requested exceeds 48 bit (6 byte) Number max.\"\r\n );\r\n }\r\n\r\n return new Parsimmon(function(input, i) {\r\n var newPos = bytes + i;\r\n if (newPos > input.length) {\r\n return makeFailure(i, bytes.toString() + \" bytes\");\r\n }\r\n return makeSuccess(\r\n newPos,\r\n reduce(\r\n function(acc, bits) {\r\n var state = consumeBitsFromBuffer(bits, acc.buf);\r\n return {\r\n coll: acc.coll.concat(state.v),\r\n buf: state.buf\r\n };\r\n },\r\n { coll: [], buf: input.slice(i, newPos) },\r\n alignments\r\n ).coll\r\n );\r\n });\r\n}\r\n\r\nfunction bitSeqObj(namedAlignments) {\r\n ensureBuffer();\r\n var seenKeys = {};\r\n var totalKeys = 0;\r\n var fullAlignments = map(function(item) {\r\n if (isArray(item)) {\r\n var pair = item;\r\n if (pair.length !== 2) {\r\n throw new Error(\r\n \"[\" +\r\n pair.join(\", \") +\r\n \"] should be length 2, got length \" +\r\n pair.length\r\n );\r\n }\r\n assertString(pair[0]);\r\n assertNumber(pair[1]);\r\n if (Object.prototype.hasOwnProperty.call(seenKeys, pair[0])) {\r\n throw new Error(\"duplicate key in bitSeqObj: \" + pair[0]);\r\n }\r\n seenKeys[pair[0]] = true;\r\n totalKeys++;\r\n return pair;\r\n } else {\r\n assertNumber(item);\r\n return [null, item];\r\n }\r\n }, namedAlignments);\r\n if (totalKeys < 1) {\r\n throw new Error(\r\n \"bitSeqObj expects at least one named pair, got [\" +\r\n namedAlignments.join(\", \") +\r\n \"]\"\r\n );\r\n }\r\n var namesOnly = map(function(pair) {\r\n return pair[0];\r\n }, fullAlignments);\r\n var alignmentsOnly = map(function(pair) {\r\n return pair[1];\r\n }, fullAlignments);\r\n\r\n return bitSeq(alignmentsOnly).map(function(parsed) {\r\n var namedParsed = map(function(name, i) {\r\n return [name, parsed[i]];\r\n }, namesOnly);\r\n\r\n return reduce(\r\n function(obj, kv) {\r\n if (kv[0] !== null) {\r\n obj[kv[0]] = kv[1];\r\n }\r\n return obj;\r\n },\r\n {},\r\n namedParsed\r\n );\r\n });\r\n}\r\n\r\nfunction parseBufferFor(other, length) {\r\n ensureBuffer();\r\n return new Parsimmon(function(input, i) {\r\n if (i + length > input.length) {\r\n return makeFailure(i, length + \" bytes for \" + other);\r\n }\r\n return makeSuccess(i + length, input.slice(i, i + length));\r\n });\r\n}\r\n\r\nfunction parseBuffer(length) {\r\n return parseBufferFor(\"buffer\", length).map(function(unsafe) {\r\n return Buffer.from(unsafe);\r\n });\r\n}\r\n\r\nfunction encodedString(encoding, length) {\r\n return parseBufferFor(\"string\", length).map(function(buff) {\r\n return buff.toString(encoding);\r\n });\r\n}\r\n\r\nfunction isInteger(value) {\r\n return typeof value === \"number\" && Math.floor(value) === value;\r\n}\r\n\r\nfunction assertValidIntegerByteLengthFor(who, length) {\r\n if (!isInteger(length) || length < 0 || length > 6) {\r\n throw new Error(who + \" requires integer length in range [0, 6].\");\r\n }\r\n}\r\n\r\nfunction uintBE(length) {\r\n assertValidIntegerByteLengthFor(\"uintBE\", length);\r\n return parseBufferFor(\"uintBE(\" + length + \")\", length).map(function(buff) {\r\n return buff.readUIntBE(0, length);\r\n });\r\n}\r\n\r\nfunction uintLE(length) {\r\n assertValidIntegerByteLengthFor(\"uintLE\", length);\r\n return parseBufferFor(\"uintLE(\" + length + \")\", length).map(function(buff) {\r\n return buff.readUIntLE(0, length);\r\n });\r\n}\r\n\r\nfunction intBE(length) {\r\n assertValidIntegerByteLengthFor(\"intBE\", length);\r\n return parseBufferFor(\"intBE(\" + length + \")\", length).map(function(buff) {\r\n return buff.readIntBE(0, length);\r\n });\r\n}\r\n\r\nfunction intLE(length) {\r\n assertValidIntegerByteLengthFor(\"intLE\", length);\r\n return parseBufferFor(\"intLE(\" + length + \")\", length).map(function(buff) {\r\n return buff.readIntLE(0, length);\r\n });\r\n}\r\n\r\nfunction floatBE() {\r\n return parseBufferFor(\"floatBE\", 4).map(function(buff) {\r\n return buff.readFloatBE(0);\r\n });\r\n}\r\n\r\nfunction floatLE() {\r\n return parseBufferFor(\"floatLE\", 4).map(function(buff) {\r\n return buff.readFloatLE(0);\r\n });\r\n}\r\n\r\nfunction doubleBE() {\r\n return parseBufferFor(\"doubleBE\", 8).map(function(buff) {\r\n return buff.readDoubleBE(0);\r\n });\r\n}\r\n\r\nfunction doubleLE() {\r\n return parseBufferFor(\"doubleLE\", 8).map(function(buff) {\r\n return buff.readDoubleLE(0);\r\n });\r\n}\r\n\r\nfunction toArray(arrLike) {\r\n return Array.prototype.slice.call(arrLike);\r\n}\r\n// -*- Helpers -*-\r\n\r\nfunction isParser(obj) {\r\n return obj instanceof Parsimmon;\r\n}\r\n\r\nfunction isArray(x) {\r\n return {}.toString.call(x) === \"[object Array]\";\r\n}\r\n\r\nfunction isBuffer(x) {\r\n /* global Buffer */\r\n return bufferExists() && Buffer.isBuffer(x);\r\n}\r\n\r\nexport function makeSuccess(index, value) {\r\n return {\r\n status: true,\r\n index: index,\r\n value: value,\r\n furthest: -1,\r\n expected: []\r\n };\r\n}\r\n\r\nexport function makeFailure(index, expected) {\r\n if (!isArray(expected)) {\r\n expected = [expected];\r\n }\r\n return {\r\n status: false,\r\n index: -1,\r\n value: null,\r\n furthest: index,\r\n expected: expected\r\n };\r\n}\r\n\r\nfunction mergeReplies(result, last) {\r\n if (!last) {\r\n return result;\r\n }\r\n if (result.furthest > last.furthest) {\r\n return result;\r\n }\r\n var expected =\r\n result.furthest === last.furthest\r\n ? union(result.expected, last.expected)\r\n : last.expected;\r\n return {\r\n status: result.status,\r\n index: result.index,\r\n value: result.value,\r\n furthest: last.furthest,\r\n expected: expected\r\n };\r\n}\r\n\r\nfunction makeLineColumnIndex(input, i) {\r\n if (isBuffer(input)) {\r\n return {\r\n offset: i,\r\n line: -1,\r\n column: -1\r\n };\r\n }\r\n var lines = input.slice(0, i).split(\"\\n\");\r\n // Note that unlike the character offset, the line and column offsets are\r\n // 1-based.\r\n var lineWeAreUpTo = lines.length;\r\n var columnWeAreUpTo = lines[lines.length - 1].length + 1;\r\n return {\r\n offset: i,\r\n line: lineWeAreUpTo,\r\n column: columnWeAreUpTo\r\n };\r\n}\r\n\r\n// Returns the sorted set union of two arrays of strings\r\nfunction union(xs, ys) {\r\n var obj = {};\r\n for (var i = 0; i < xs.length; i++) {\r\n obj[xs[i]] = true;\r\n }\r\n for (var j = 0; j < ys.length; j++) {\r\n obj[ys[j]] = true;\r\n }\r\n var keys = [];\r\n for (var k in obj) {\r\n if ({}.hasOwnProperty.call(obj, k)) {\r\n keys.push(k);\r\n }\r\n }\r\n keys.sort();\r\n return keys;\r\n}\r\n\r\nfunction assertParser(p) {\r\n if (!isParser(p)) {\r\n throw new Error(\"not a parser: \" + p);\r\n }\r\n}\r\n\r\nfunction get(input, i) {\r\n if (typeof input === \"string\") {\r\n return input.charAt(i);\r\n }\r\n return input[i];\r\n}\r\n\r\n// TODO[ES5]: Switch to Array.isArray eventually.\r\nfunction assertArray(x) {\r\n if (!isArray(x)) {\r\n throw new Error(\"not an array: \" + x);\r\n }\r\n}\r\n\r\nfunction assertNumber(x) {\r\n if (typeof x !== \"number\") {\r\n throw new Error(\"not a number: \" + x);\r\n }\r\n}\r\n\r\nfunction assertRegexp(x) {\r\n if (!(x instanceof RegExp)) {\r\n throw new Error(\"not a regexp: \" + x);\r\n }\r\n var f = flags(x);\r\n for (var i = 0; i < f.length; i++) {\r\n var c = f.charAt(i);\r\n // Only allow regexp flags [imu] for now, since [g] and [y] specifically\r\n // mess up Parsimmon. If more non-stateful regexp flags are added in the\r\n // future, this will need to be revisited.\r\n if (c !== \"i\" && c !== \"m\" && c !== \"u\") {\r\n throw new Error('unsupported regexp flag \"' + c + '\": ' + x);\r\n }\r\n }\r\n}\r\n\r\nfunction assertFunction(x) {\r\n if (typeof x !== \"function\") {\r\n throw new Error(\"not a function: \" + x);\r\n }\r\n}\r\n\r\nfunction assertString(x) {\r\n if (typeof x !== \"string\") {\r\n throw new Error(\"not a string: \" + x);\r\n }\r\n}\r\n\r\n// -*- Error Formatting -*-\r\n\r\nvar linesBeforeStringError = 2;\r\nvar linesAfterStringError = 3;\r\nvar bytesPerLine = 8;\r\nvar bytesBefore = bytesPerLine * 5;\r\nvar bytesAfter = bytesPerLine * 4;\r\nvar defaultLinePrefix = \" \";\r\n\r\nexport function repeat(string, amount) {\r\n return new Array(amount + 1).join(string);\r\n}\r\n\r\nexport function formatExpected(expected) {\r\n if (expected.length === 1) {\r\n return \"Expected:\\n\\n\" + expected[0];\r\n }\r\n return \"Expected one of the following: \\n\\n\" + expected.join(\", \");\r\n}\r\n\r\nexport function leftPad(str, pad, char) {\r\n var add = pad - str.length;\r\n if (add <= 0) {\r\n return str;\r\n }\r\n return repeat(char, add) + str;\r\n}\r\n\r\nfunction toChunks(arr, chunkSize) {\r\n var length = arr.length;\r\n var chunks = [];\r\n var chunkIndex = 0;\r\n\r\n if (length <= chunkSize) {\r\n return [arr.slice()];\r\n }\r\n\r\n for (var i = 0; i < length; i++) {\r\n if (!chunks[chunkIndex]) {\r\n chunks.push([]);\r\n }\r\n\r\n chunks[chunkIndex].push(arr[i]);\r\n\r\n if ((i + 1) % chunkSize === 0) {\r\n chunkIndex++;\r\n }\r\n }\r\n\r\n return chunks;\r\n}\r\n\r\n// Get a range of indexes including `i`-th element and `before` and `after` amount of elements from `arr`.\r\nexport function rangeFromIndexAndOffsets(i, before, after, length) {\r\n return {\r\n // Guard against the negative upper bound for lines included in the output.\r\n from: i - before > 0 ? i - before : 0,\r\n to: i + after > length ? length : i + after\r\n };\r\n}\r\n\r\nexport function byteRangeToRange(byteRange) {\r\n // Exception for inputs smaller than `bytesPerLine`\r\n if (byteRange.from === 0 && byteRange.to === 1) {\r\n return {\r\n from: byteRange.from,\r\n to: byteRange.to\r\n };\r\n }\r\n\r\n return {\r\n from: byteRange.from / bytesPerLine,\r\n // Round `to`, so we don't get float if the amount of bytes is not divisible by `bytesPerLine`\r\n to: Math.floor(byteRange.to / bytesPerLine)\r\n };\r\n}\r\n\r\nexport function formatGot(input, error) {\r\n var index = error.index;\r\n var i = index.offset;\r\n\r\n var verticalMarkerLength = 1;\r\n var column;\r\n var lineWithErrorIndex;\r\n var lines;\r\n var lineRange;\r\n var lastLineNumberLabelLength;\r\n\r\n if (i === input.length) {\r\n return \"Got the end of the input\";\r\n }\r\n\r\n if (isBuffer(input)) {\r\n var byteLineWithErrorIndex = i - (i % bytesPerLine);\r\n var columnByteIndex = i - byteLineWithErrorIndex;\r\n var byteRange = rangeFromIndexAndOffsets(\r\n byteLineWithErrorIndex,\r\n bytesBefore,\r\n bytesAfter + bytesPerLine,\r\n input.length\r\n );\r\n var bytes = input.slice(byteRange.from, byteRange.to);\r\n var bytesInChunks = toChunks(bytes.toJSON().data, bytesPerLine);\r\n\r\n var byteLines = map(function(byteRow) {\r\n return map(function(byteValue) {\r\n // Prefix byte values with a `0` if they are shorter than 2 characters.\r\n return leftPad(byteValue.toString(16), 2, \"0\");\r\n }, byteRow);\r\n }, bytesInChunks);\r\n\r\n lineRange = byteRangeToRange(byteRange);\r\n lineWithErrorIndex = byteLineWithErrorIndex / bytesPerLine;\r\n column = columnByteIndex * 3;\r\n\r\n // Account for an extra space.\r\n if (columnByteIndex >= 4) {\r\n column += 1;\r\n }\r\n\r\n verticalMarkerLength = 2;\r\n lines = map(function(byteLine) {\r\n return byteLine.length <= 4\r\n ? byteLine.join(\" \")\r\n : byteLine.slice(0, 4).join(\" \") + \" \" + byteLine.slice(4).join(\" \");\r\n }, byteLines);\r\n lastLineNumberLabelLength = (\r\n (lineRange.to > 0 ? lineRange.to - 1 : lineRange.to) * 8\r\n ).toString(16).length;\r\n\r\n if (lastLineNumberLabelLength < 2) {\r\n lastLineNumberLabelLength = 2;\r\n }\r\n } else {\r\n var inputLines = input.split(/\\r\\n|[\\n\\r\\u2028\\u2029]/);\r\n column = index.column - 1;\r\n lineWithErrorIndex = index.line - 1;\r\n lineRange = rangeFromIndexAndOffsets(\r\n lineWithErrorIndex,\r\n linesBeforeStringError,\r\n linesAfterStringError,\r\n inputLines.length\r\n );\r\n\r\n lines = inputLines.slice(lineRange.from, lineRange.to);\r\n lastLineNumberLabelLength = lineRange.to.toString().length;\r\n }\r\n\r\n var lineWithErrorCurrentIndex = lineWithErrorIndex - lineRange.from;\r\n\r\n if (isBuffer(input)) {\r\n lastLineNumberLabelLength = (\r\n (lineRange.to > 0 ? lineRange.to - 1 : lineRange.to) * 8\r\n ).toString(16).length;\r\n\r\n if (lastLineNumberLabelLength < 2) {\r\n lastLineNumberLabelLength = 2;\r\n }\r\n }\r\n\r\n var linesWithLineNumbers = reduce(\r\n function(acc, lineSource, index) {\r\n var isLineWithError = index === lineWithErrorCurrentIndex;\r\n var prefix = isLineWithError ? \"> \" : defaultLinePrefix;\r\n var lineNumberLabel;\r\n\r\n if (isBuffer(input)) {\r\n lineNumberLabel = leftPad(\r\n ((lineRange.from + index) * 8).toString(16),\r\n lastLineNumberLabelLength,\r\n \"0\"\r\n );\r\n } else {\r\n lineNumberLabel = leftPad(\r\n (lineRange.from + index + 1).toString(),\r\n lastLineNumberLabelLength,\r\n \" \"\r\n );\r\n }\r\n\r\n return [].concat(\r\n acc,\r\n [prefix + lineNumberLabel + \" | \" + lineSource],\r\n isLineWithError\r\n ? [\r\n defaultLinePrefix +\r\n repeat(\" \", lastLineNumberLabelLength) +\r\n \" | \" +\r\n leftPad(\"\", column, \" \") +\r\n repeat(\"^\", verticalMarkerLength)\r\n ]\r\n : []\r\n );\r\n },\r\n [],\r\n lines\r\n );\r\n\r\n return linesWithLineNumbers.join(\"\\n\");\r\n}\r\n\r\nexport function formatError(input, error) {\r\n return [\r\n \"\\n\",\r\n \"-- PARSING FAILED \" + repeat(\"-\", 50),\r\n \"\\n\\n\",\r\n formatGot(input, error),\r\n \"\\n\\n\",\r\n formatExpected(error.expected),\r\n \"\\n\"\r\n ].join(\"\");\r\n}\r\n\r\nexport function flags(re) {\r\n var s = \"\" + re;\r\n return s.slice(s.lastIndexOf(\"/\") + 1);\r\n}\r\n\r\nexport function anchoredRegexp(re) {\r\n return RegExp(\"^(?:\" + re.source + \")\", flags(re));\r\n}\r\n\r\n// -*- Combinators -*-\r\n\r\nexport function seq() {\r\n var parsers = [].slice.call(arguments);\r\n var numParsers = parsers.length;\r\n for (var j = 0; j < numParsers; j += 1) {\r\n assertParser(parsers[j]);\r\n }\r\n return Parsimmon(function(input, i) {\r\n var result;\r\n var accum = new Array(numParsers);\r\n for (var j = 0; j < numParsers; j += 1) {\r\n result = mergeReplies(parsers[j]._(input, i), result);\r\n if (!result.status) {\r\n return result;\r\n }\r\n accum[j] = result.value;\r\n i = result.index;\r\n }\r\n return mergeReplies(makeSuccess(i, accum), result);\r\n });\r\n}\r\n\r\nexport function seqObj() {\r\n var seenKeys = {};\r\n var totalKeys = 0;\r\n var parsers = toArray(arguments);\r\n var numParsers = parsers.length;\r\n for (var j = 0; j < numParsers; j += 1) {\r\n var p = parsers[j];\r\n if (isParser(p)) {\r\n continue;\r\n }\r\n if (isArray(p)) {\r\n var isWellFormed =\r\n p.length === 2 && typeof p[0] === \"string\" && isParser(p[1]);\r\n if (isWellFormed) {\r\n var key = p[0];\r\n if (Object.prototype.hasOwnProperty.call(seenKeys, key)) {\r\n throw new Error(\"seqObj: duplicate key \" + key);\r\n }\r\n seenKeys[key] = true;\r\n totalKeys++;\r\n continue;\r\n }\r\n }\r\n throw new Error(\r\n \"seqObj arguments must be parsers or [string, parser] array pairs.\"\r\n );\r\n }\r\n if (totalKeys === 0) {\r\n throw new Error(\"seqObj expects at least one named parser, found zero\");\r\n }\r\n return Parsimmon(function(input, i) {\r\n var result;\r\n var accum = {};\r\n for (var j = 0; j < numParsers; j += 1) {\r\n var name;\r\n var parser;\r\n if (isArray(parsers[j])) {\r\n name = parsers[j][0];\r\n parser = parsers[j][1];\r\n } else {\r\n name = null;\r\n parser = parsers[j];\r\n }\r\n result = mergeReplies(parser._(input, i), result);\r\n if (!result.status) {\r\n return result;\r\n }\r\n if (name) {\r\n accum[name] = result.value;\r\n }\r\n i = result.index;\r\n }\r\n return mergeReplies(makeSuccess(i, accum), result);\r\n });\r\n}\r\n\r\nexport function seqMap() {\r\n var args = [].slice.call(arguments);\r\n if (args.length === 0) {\r\n throw new Error(\"seqMap needs at least one argument\");\r\n }\r\n var mapper = args.pop();\r\n assertFunction(mapper);\r\n return seq.apply(null, args).map(function(results) {\r\n return mapper.apply(null, results);\r\n });\r\n}\r\n\r\n// TODO[ES5]: Revisit this with Object.keys and .bind.\r\nexport function createLanguage(parsers) {\r\n var language = {};\r\n for (var key in parsers) {\r\n if ({}.hasOwnProperty.call(parsers, key)) {\r\n (function(key) {\r\n var func = function() {\r\n return parsers[key](language);\r\n };\r\n language[key] = lazy(func);\r\n })(key);\r\n }\r\n }\r\n return language;\r\n}\r\n\r\nexport function alt() {\r\n var parsers = [].slice.call(arguments);\r\n var numParsers = parsers.length;\r\n if (numParsers === 0) {\r\n return fail(\"zero alternates\");\r\n }\r\n for (var j = 0; j < numParsers; j += 1) {\r\n assertParser(parsers[j]);\r\n }\r\n return Parsimmon(function(input, i) {\r\n var result;\r\n for (var j = 0; j < parsers.length; j += 1) {\r\n result = mergeReplies(parsers[j]._(input, i), result);\r\n if (result.status) {\r\n return result;\r\n }\r\n }\r\n return result;\r\n });\r\n}\r\n\r\nexport function sepBy(parser, separator) {\r\n // Argument asserted by sepBy1\r\n return sepBy1(parser, separator).or(succeed([]));\r\n}\r\n\r\nexport function sepBy1(parser, separator) {\r\n assertParser(parser);\r\n assertParser(separator);\r\n var pairs = separator.then(parser).many();\r\n return seqMap(parser, pairs, function(r, rs) {\r\n return [r].concat(rs);\r\n });\r\n}\r\n\r\n// -*- Core Parsing Methods -*-\r\n\r\n_.parse = function(input) {\r\n if (typeof input !== \"string\" && !isBuffer(input)) {\r\n throw new Error(\r\n \".parse must be called with a string or Buffer as its argument\"\r\n );\r\n }\r\n var result = this.skip(eof)._(input, 0);\r\n if (result.status) {\r\n return {\r\n status: true,\r\n value: result.value\r\n };\r\n }\r\n return {\r\n status: false,\r\n index: makeLineColumnIndex(input, result.furthest),\r\n expected: result.expected\r\n };\r\n};\r\n\r\n// -*- Other Methods -*-\r\n\r\n_.tryParse = function(str) {\r\n var result = this.parse(str);\r\n if (result.status) {\r\n return result.value;\r\n } else {\r\n var msg = formatError(str, result);\r\n var err = new Error(msg);\r\n err.type = \"ParsimmonError\";\r\n err.result = result;\r\n throw err;\r\n }\r\n};\r\n\r\n_.or = function(alternative) {\r\n return alt(this, alternative);\r\n};\r\n\r\n_.trim = function(parser) {\r\n return this.wrap(parser, parser);\r\n};\r\n\r\n_.wrap = function(leftParser, rightParser) {\r\n return seqMap(leftParser, this, rightParser, function(left, middle) {\r\n return middle;\r\n });\r\n};\r\n\r\n_.thru = function(wrapper) {\r\n return wrapper(this);\r\n};\r\n\r\n_.then = function(next) {\r\n assertParser(next);\r\n return seq(this, next).map(function(results) {\r\n return results[1];\r\n });\r\n};\r\n\r\n_.many = function() {\r\n var self = this;\r\n\r\n return Parsimmon(function(input, i) {\r\n var accum = [];\r\n var result = undefined;\r\n\r\n for (;;) {\r\n result = mergeReplies(self._(input, i), result);\r\n if (result.status) {\r\n if (i === result.index) {\r\n throw new Error(\r\n \"infinite loop detected in .many() parser --- calling .many() on \" +\r\n \"a parser which can accept zero characters is usually the cause\"\r\n );\r\n }\r\n i = result.index;\r\n accum.push(result.value);\r\n } else {\r\n return mergeReplies(makeSuccess(i, accum), result);\r\n }\r\n }\r\n });\r\n};\r\n\r\n_.tieWith = function(separator) {\r\n assertString(separator);\r\n return this.map(function(args) {\r\n assertArray(args);\r\n if (args.length) {\r\n assertString(args[0]);\r\n var s = args[0];\r\n for (var i = 1; i < args.length; i++) {\r\n assertString(args[i]);\r\n s += separator + args[i];\r\n }\r\n return s;\r\n } else {\r\n return \"\";\r\n }\r\n });\r\n};\r\n\r\n_.tie = function() {\r\n return this.tieWith(\"\");\r\n};\r\n\r\n_.times = function(min, max) {\r\n var self = this;\r\n if (arguments.length < 2) {\r\n max = min;\r\n }\r\n assertNumber(min);\r\n assertNumber(max);\r\n return Parsimmon(function(input, i) {\r\n var accum = [];\r\n var result = undefined;\r\n var prevResult = undefined;\r\n for (var times = 0; times < min; times += 1) {\r\n result = self._(input, i);\r\n prevResult = mergeReplies(result, prevResult);\r\n if (result.status) {\r\n i = result.index;\r\n accum.push(result.value);\r\n } else {\r\n return prevResult;\r\n }\r\n }\r\n for (; times < max; times += 1) {\r\n result = self._(input, i);\r\n prevResult = mergeReplies(result, prevResult);\r\n if (result.status) {\r\n i = result.index;\r\n accum.push(result.value);\r\n } else {\r\n break;\r\n }\r\n }\r\n return mergeReplies(makeSuccess(i, accum), prevResult);\r\n });\r\n};\r\n\r\n_.result = function(res) {\r\n return this.map(function() {\r\n return res;\r\n });\r\n};\r\n\r\n_.atMost = function(n) {\r\n return this.times(0, n);\r\n};\r\n\r\n_.atLeast = function(n) {\r\n return seqMap(this.times(n), this.many(), function(init, rest) {\r\n return init.concat(rest);\r\n });\r\n};\r\n\r\n_.map = function(fn) {\r\n assertFunction(fn);\r\n var self = this;\r\n return Parsimmon(function(input, i) {\r\n var result = self._(input, i);\r\n if (!result.status) {\r\n return result;\r\n }\r\n return mergeReplies(makeSuccess(result.index, fn(result.value)), result);\r\n });\r\n};\r\n\r\n_.contramap = function(fn) {\r\n assertFunction(fn);\r\n var self = this;\r\n return Parsimmon(function(input, i) {\r\n var result = self.parse(fn(input.slice(i)));\r\n if (!result.status) {\r\n return result;\r\n }\r\n return makeSuccess(i + input.length, result.value);\r\n });\r\n};\r\n\r\n_.promap = function(f, g) {\r\n assertFunction(f);\r\n assertFunction(g);\r\n return this.contramap(f).map(g);\r\n};\r\n\r\n_.skip = function(next) {\r\n return seq(this, next).map(function(results) {\r\n return results[0];\r\n });\r\n};\r\n\r\n_.mark = function() {\r\n return seqMap(index, this, index, function(start, value, end) {\r\n return {\r\n start: start,\r\n value: value,\r\n end: end\r\n };\r\n });\r\n};\r\n\r\n_.node = function(name) {\r\n return seqMap(index, this, index, function(start, value, end) {\r\n return {\r\n name: name,\r\n value: value,\r\n start: start,\r\n end: end\r\n };\r\n });\r\n};\r\n\r\n_.sepBy = function(separator) {\r\n return sepBy(this, separator);\r\n};\r\n\r\n_.sepBy1 = function(separator) {\r\n return sepBy1(this, separator);\r\n};\r\n\r\n_.lookahead = function(x) {\r\n return this.skip(lookahead(x));\r\n};\r\n\r\n_.notFollowedBy = function(x) {\r\n return this.skip(notFollowedBy(x));\r\n};\r\n\r\n_.desc = function(expected) {\r\n if (!isArray(expected)) {\r\n expected = [expected];\r\n }\r\n var self = this;\r\n return Parsimmon(function(input, i) {\r\n var reply = self._(input, i);\r\n if (!reply.status) {\r\n reply.expected = expected;\r\n }\r\n return reply;\r\n });\r\n};\r\n\r\n_.fallback = function(result) {\r\n return this.or(succeed(result));\r\n};\r\n\r\n_.ap = function(other) {\r\n return seqMap(other, this, function(f, x) {\r\n return f(x);\r\n });\r\n};\r\n\r\n_.chain = function(f) {\r\n var self = this;\r\n return Parsimmon(function(input, i) {\r\n var result = self._(input, i);\r\n if (!result.status) {\r\n return result;\r\n }\r\n var nextParser = f(result.value);\r\n return mergeReplies(nextParser._(input, result.index), result);\r\n });\r\n};\r\n\r\n// -*- Constructors -*-\r\n\r\nexport function string(str) {\r\n assertString(str);\r\n var expected = \"'\" + str + \"'\";\r\n return Parsimmon(function(input, i) {\r\n var j = i + str.length;\r\n var head = input.slice(i, j);\r\n if (head === str) {\r\n return makeSuccess(j, head);\r\n } else {\r\n return makeFailure(i, expected);\r\n }\r\n });\r\n}\r\n\r\nexport function byte(b) {\r\n ensureBuffer();\r\n assertNumber(b);\r\n if (b > 0xff) {\r\n throw new Error(\r\n \"Value specified to byte constructor (\" +\r\n b +\r\n \"=0x\" +\r\n b.toString(16) +\r\n \") is larger in value than a single byte.\"\r\n );\r\n }\r\n var expected = (b > 0xf ? \"0x\" : \"0x0\") + b.toString(16);\r\n return Parsimmon(function(input, i) {\r\n var head = get(input, i);\r\n if (head === b) {\r\n return makeSuccess(i + 1, head);\r\n } else {\r\n return makeFailure(i, expected);\r\n }\r\n });\r\n}\r\n\r\nexport function regexp(re, group) {\r\n assertRegexp(re);\r\n if (arguments.length >= 2) {\r\n assertNumber(group);\r\n } else {\r\n group = 0;\r\n }\r\n var anchored = anchoredRegexp(re);\r\n var expected = \"\" + re;\r\n return Parsimmon(function(input, i) {\r\n var match = anchored.exec(input.slice(i));\r\n if (match) {\r\n if (0 <= group && group <= match.length) {\r\n var fullMatch = match[0];\r\n var groupMatch = match[group];\r\n return makeSuccess(i + fullMatch.length, groupMatch);\r\n }\r\n var message =\r\n \"valid match group (0 to \" + match.length + \") in \" + expected;\r\n return makeFailure(i, message);\r\n }\r\n return makeFailure(i, expected);\r\n });\r\n}\r\n\r\nexport function succeed(value) {\r\n return Parsimmon(function(input, i) {\r\n return makeSuccess(i, value);\r\n });\r\n}\r\n\r\nexport function fail(expected) {\r\n return Parsimmon(function(input, i) {\r\n return makeFailure(i, expected);\r\n });\r\n}\r\n\r\nexport function lookahead(x) {\r\n if (isParser(x)) {\r\n return Parsimmon(function(input, i) {\r\n var result = x._(input, i);\r\n result.index = i;\r\n result.value = \"\";\r\n return result;\r\n });\r\n } else if (typeof x === \"string\") {\r\n return lookahead(string(x));\r\n } else if (x instanceof RegExp) {\r\n return lookahead(regexp(x));\r\n }\r\n throw new Error(\"not a string, regexp, or parser: \" + x);\r\n}\r\n\r\nexport function notFollowedBy(parser) {\r\n assertParser(parser);\r\n return Parsimmon(function(input, i) {\r\n var result = parser._(input, i);\r\n var text = input.slice(i, result.index);\r\n return result.status\r\n ? makeFailure(i, 'not \"' + text + '\"')\r\n : makeSuccess(i, null);\r\n });\r\n}\r\n\r\nexport function test(predicate) {\r\n assertFunction(predicate);\r\n return Parsimmon(function(input, i) {\r\n var char = get(input, i);\r\n if (i < input.length && predicate(char)) {\r\n return makeSuccess(i + 1, char);\r\n } else {\r\n return makeFailure(i, \"a character/byte matching \" + predicate);\r\n }\r\n });\r\n}\r\n\r\nexport function oneOf(str) {\r\n var expected = str.split(\"\");\r\n for (var idx = 0; idx < expected.length; idx++) {\r\n expected[idx] = \"'\" + expected[idx] + \"'\";\r\n }\r\n return test(function(ch) {\r\n return str.indexOf(ch) >= 0;\r\n }).desc(expected);\r\n}\r\n\r\nexport function noneOf(str) {\r\n return test(function(ch) {\r\n return str.indexOf(ch) < 0;\r\n }).desc(\"none of '\" + str + \"'\");\r\n}\r\n\r\nexport function custom(parsingFunction) {\r\n return Parsimmon(parsingFunction(makeSuccess, makeFailure));\r\n}\r\n\r\n// TODO[ES5]: Improve error message using JSON.stringify eventually.\r\nexport function range(begin, end) {\r\n return test(function(ch) {\r\n return begin <= ch && ch <= end;\r\n }).desc(begin + \"-\" + end);\r\n}\r\n\r\nexport function takeWhile(predicate) {\r\n assertFunction(predicate);\r\n\r\n return Parsimmon(function(input, i) {\r\n var j = i;\r\n while (j < input.length && predicate(get(input, j))) {\r\n j++;\r\n }\r\n return makeSuccess(j, input.slice(i, j));\r\n });\r\n}\r\n\r\nexport function lazy(desc, f) {\r\n if (arguments.length < 2) {\r\n f = desc;\r\n desc = undefined;\r\n }\r\n\r\n var parser = Parsimmon(function(input, i) {\r\n parser._ = f()._;\r\n return parser._(input, i);\r\n });\r\n\r\n if (desc) {\r\n return parser.desc(desc);\r\n } else {\r\n return parser;\r\n }\r\n}\r\n\r\n// -*- Fantasy Land Extras -*-\r\n\r\nfunction empty() {\r\n return fail(\"fantasy-land/empty\");\r\n}\r\n\r\n_.concat = _.or;\r\n_.empty = empty;\r\n_.of = succeed;\r\n_[\"fantasy-land/ap\"] = _.ap;\r\n_[\"fantasy-land/chain\"] = _.chain;\r\n_[\"fantasy-land/concat\"] = _.concat;\r\n_[\"fantasy-land/empty\"] = _.empty;\r\n_[\"fantasy-land/of\"] = _.of;\r\n_[\"fantasy-land/map\"] = _.map;\r\n\r\n// -*- Base Parsers -*-\r\n\r\nexport const index = Parsimmon(function(input, i) {\r\n return makeSuccess(i, makeLineColumnIndex(input, i));\r\n});\r\n\r\nexport const any = Parsimmon(function(input, i) {\r\n if (i >= input.length) {\r\n return makeFailure(i, \"any character/byte\");\r\n }\r\n return makeSuccess(i + 1, get(input, i));\r\n});\r\n\r\nexport const all = Parsimmon(function(input, i) {\r\n return makeSuccess(input.length, input.slice(i));\r\n});\r\n\r\nexport const eof = Parsimmon(function(input, i) {\r\n if (i < input.length) {\r\n return makeFailure(i, \"EOF\");\r\n }\r\n return makeSuccess(i, null);\r\n});\r\n\r\nexport const digit = regexp(/[0-9]/).desc(\"a digit\");\r\nexport const digits = regexp(/[0-9]*/).desc(\"optional digits\");\r\nexport const letter = regexp(/[a-z]/i).desc(\"a letter\");\r\nexport const letters = regexp(/[a-z]*/i).desc(\"optional letters\");\r\nexport const optWhitespace = regexp(/\\s*/).desc(\"optional whitespace\");\r\nexport const whitespace = regexp(/\\s+/).desc(\"whitespace\");\r\nexport const cr = string(\"\\r\");\r\nexport const lf = string(\"\\n\");\r\nexport const crlf = string(\"\\r\\n\");\r\nexport const newline = alt(crlf, lf, cr).desc(\"newline\");\r\nexport const end = alt(newline, eof);","import { Record } from \"../fable-library.3.7.17/Types.js\";\nimport { string_type, record_type, int32_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { some } from \"../fable-library.3.7.17/Option.js\";\nimport { seq, noneOf, optWhitespace, whitespace, oneOf, string, takeWhile, test, fail, all, any, digit, lookahead, succeed, eof, letters, letter, lazy, index } from \"./Parsimmon.js\";\nimport { join } from \"../fable-library.3.7.17/String.js\";\nimport { reduce } from \"../fable-library.3.7.17/List.js\";\n\nexport class TokenPosition extends Record {\n constructor(offset, line, column) {\n super();\n this.offset = (offset | 0);\n this.line = (line | 0);\n this.column = (column | 0);\n }\n}\n\nexport function TokenPosition$reflection() {\n return record_type(\"Fable.Parsimmon.TokenPosition\", [], TokenPosition, () => [[\"offset\", int32_type], [\"line\", int32_type], [\"column\", int32_type]]);\n}\n\nexport class NodeResult$1 extends Record {\n constructor(name, value, start, end) {\n super();\n this.name = name;\n this.value = value;\n this.start = start;\n this.end = end;\n }\n}\n\nexport function NodeResult$1$reflection(gen0) {\n return record_type(\"Fable.Parsimmon.NodeResult`1\", [gen0], NodeResult$1, () => [[\"name\", string_type], [\"value\", gen0], [\"start\", TokenPosition$reflection()], [\"end\", TokenPosition$reflection()]]);\n}\n\nexport function Parsimmon_parseRaw(input, parser) {\n return parser.parse(input);\n}\n\nexport function Parsimmon_parse(input, parser) {\n const result = parser.parse(input);\n if (result.status) {\n return some(result.value);\n }\n else {\n return void 0;\n }\n}\n\nexport const Parsimmon_index = index;\n\nexport function Parsimmon_orTry(otherParser, parser) {\n return parser.or(otherParser);\n}\n\nexport function Parsimmon_times(n, parser) {\n return parser.times(n);\n}\n\nexport function Parsimmon_atLeast(n, parser) {\n return parser.atLeast(n);\n}\n\nexport function Parsimmon_atMost(n, parser) {\n return parser.atMost(n);\n}\n\nexport function Parsimmon_skip(skipped, keep) {\n return keep.skip(skipped);\n}\n\nexport function Parsimmon_many(parser) {\n return parser.many();\n}\n\nexport const Parsimmon_ofLazy = lazy;\n\nexport function Parsimmon_seperateByAtLeastOne(seperator, parser) {\n return parser.sepBy1(seperator);\n}\n\nexport function Parsimmon_chain(after, before) {\n return before.then(after);\n}\n\nexport function Parsimmon_bind(f, p) {\n return p.chain(f);\n}\n\nexport const Parsimmon_letter = letter;\n\nexport function Parsimmon_timesBetween(min, max, parser) {\n return parser.times(min, max);\n}\n\nexport const Parsimmon_letters = letters;\n\nexport const Parsimmon_endOfFile = eof;\n\nexport function Parsimmon_notFollowedBy(p, before) {\n return before.notFollowedBy(p);\n}\n\nexport const Parsimmon_succeed = succeed;\n\nexport const Parsimmon_lookahead = lookahead;\n\nexport const Parsimmon_digit = digit;\n\nexport const Parsimmon_digits = Parsimmon_many(Parsimmon_digit);\n\nexport function Parsimmon_fallback(value, parser) {\n return parser.fallback(value);\n}\n\nexport function Parsimmon_seperateBy(content, others) {\n return others.sepBy(content);\n}\n\nexport function Parsimmon_between(left, right, middle) {\n return Parsimmon_skip(right, Parsimmon_chain(middle, left));\n}\n\nexport function Parsimmon_map(f, parser) {\n return parser.map(f);\n}\n\nexport function Parsimmon_tie(parser) {\n return Parsimmon_map((strings) => join(\"\", strings), parser);\n}\n\nexport const Parsimmon_any = any;\n\nexport function Parsimmon_choose(ps) {\n return reduce((acc, parser) => (acc.or(parser)), ps);\n}\n\nexport const Parsimmon_all = all;\n\nexport const Parsimmon_fail = fail;\n\nexport const Parsimmon_satisfy = test;\n\nexport const Parsimmon_takeWhile = takeWhile;\n\nexport const Parsimmon_str = string;\n\nexport const Parsimmon_oneOf = oneOf;\n\nexport const Parsimmon_whitespace = whitespace;\n\nexport const Parsimmon_optionalWhitespace = optWhitespace;\n\nexport function Parsimmon_atLeastOneOrMany(parser) {\n return Parsimmon_atLeast(1, parser);\n}\n\nexport function Parsimmon_stringReturn(input, value) {\n return Parsimmon_map((_arg) => value, Parsimmon_str(input));\n}\n\nexport const Parsimmon_noneOf = noneOf;\n\nexport const Parsimmon_seq2 = seq;\n\nexport function Parsimmon_trim(trimmed, p) {\n return p.trim(trimmed);\n}\n\nexport function Parsimmon_concat(parser) {\n return parser.map((strings) => join(\"\", strings));\n}\n\nexport const Parsimmon_seq3 = seq;\n\nexport const Parsimmon_seq4 = seq;\n\nexport const Parsimmon_seq5 = seq;\n\nexport function Parsimmon_node(description, p) {\n return p.node(description);\n}\n\n","import { Union } from \"../fable-library.3.7.17/Types.js\";\nimport { union_type, class_type, list_type, bool_type, string_type, float64_type } from \"../fable-library.3.7.17/Reflection.js\";\n\nexport class Json extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"JNumber\", \"JString\", \"JBool\", \"JNull\", \"JArray\", \"JObject\"];\n }\n}\n\nexport function Json$reflection() {\n return union_type(\"Fable.SimpleJson.Json\", [], Json, () => [[[\"Item\", float64_type]], [[\"Item\", string_type]], [[\"Item\", bool_type]], [], [[\"Item\", list_type(Json$reflection())]], [[\"Item\", class_type(\"Microsoft.FSharp.Collections.FSharpMap`2\", [string_type, Json$reflection()])]]]);\n}\n\n","import { record_type, bool_type, list_type, option_type, class_type } from \"./Reflection.js\";\r\nimport { some, value as value_1 } from \"./Option.js\";\r\nimport { singleton, ofArrayWithTail, head, tail, isEmpty as isEmpty_1, FSharpList, fold as fold_1, empty as empty_1, cons } from \"./List.js\";\r\nimport { map as map_2, fill } from \"./Array.js\";\r\nimport { structuralHash, compare, toIterator, equals, disposeSafe, getEnumerator, isArrayLike } from \"./Util.js\";\r\nimport { Record } from \"./Types.js\";\r\nimport { tryPick as tryPick_1, pick as pick_1, iterate as iterate_1, compareWith, map as map_1, unfold } from \"./Seq.js\";\r\nimport { format, join } from \"./String.js\";\r\nimport { LanguagePrimitives_FastGenericComparer } from \"./FSharp.Core.js\";\r\n\r\nexport class MapTreeLeaf$2 {\r\n constructor(k, v) {\r\n this.k = k;\r\n this.v = v;\r\n }\r\n}\r\n\r\nexport function MapTreeLeaf$2$reflection(gen0, gen1) {\r\n return class_type(\"Map.MapTreeLeaf`2\", [gen0, gen1], MapTreeLeaf$2);\r\n}\r\n\r\nexport function MapTreeLeaf$2_$ctor_5BDDA1(k, v) {\r\n return new MapTreeLeaf$2(k, v);\r\n}\r\n\r\nexport function MapTreeLeaf$2__get_Key(_) {\r\n return _.k;\r\n}\r\n\r\nexport function MapTreeLeaf$2__get_Value(_) {\r\n return _.v;\r\n}\r\n\r\nexport class MapTreeNode$2 extends MapTreeLeaf$2 {\r\n constructor(k, v, left, right, h) {\r\n super(k, v);\r\n this.left = left;\r\n this.right = right;\r\n this.h = (h | 0);\r\n }\r\n}\r\n\r\nexport function MapTreeNode$2$reflection(gen0, gen1) {\r\n return class_type(\"Map.MapTreeNode`2\", [gen0, gen1], MapTreeNode$2, MapTreeLeaf$2$reflection(gen0, gen1));\r\n}\r\n\r\nexport function MapTreeNode$2_$ctor_499A11FD(k, v, left, right, h) {\r\n return new MapTreeNode$2(k, v, left, right, h);\r\n}\r\n\r\nexport function MapTreeNode$2__get_Left(_) {\r\n return _.left;\r\n}\r\n\r\nexport function MapTreeNode$2__get_Right(_) {\r\n return _.right;\r\n}\r\n\r\nexport function MapTreeNode$2__get_Height(_) {\r\n return _.h;\r\n}\r\n\r\nexport function MapTreeModule_empty() {\r\n return void 0;\r\n}\r\n\r\nexport function MapTreeModule_sizeAux(acc_mut, m_mut) {\r\n MapTreeModule_sizeAux:\r\n while (true) {\r\n const acc = acc_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n acc_mut = MapTreeModule_sizeAux(acc + 1, MapTreeNode$2__get_Left(m2));\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_sizeAux;\r\n }\r\n else {\r\n return (acc + 1) | 0;\r\n }\r\n }\r\n else {\r\n return acc | 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_size(x) {\r\n return MapTreeModule_sizeAux(0, x);\r\n}\r\n\r\nexport function MapTreeModule_mk(l, k, v, r) {\r\n let hl;\r\n const m = l;\r\n if (m != null) {\r\n const m2 = m;\r\n hl = ((m2 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2) : 1);\r\n }\r\n else {\r\n hl = 0;\r\n }\r\n let hr;\r\n const m_1 = r;\r\n if (m_1 != null) {\r\n const m2_1 = m_1;\r\n hr = ((m2_1 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2_1) : 1);\r\n }\r\n else {\r\n hr = 0;\r\n }\r\n const m_2 = ((hl < hr) ? hr : hl) | 0;\r\n if (m_2 === 0) {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(k, v);\r\n }\r\n else {\r\n return MapTreeNode$2_$ctor_499A11FD(k, v, l, r, m_2 + 1);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_rebalance(t1, k, v, t2) {\r\n let m_2, m2_2, m_3, m2_3;\r\n let t1h;\r\n const m = t1;\r\n if (m != null) {\r\n const m2 = m;\r\n t1h = ((m2 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2) : 1);\r\n }\r\n else {\r\n t1h = 0;\r\n }\r\n let t2h;\r\n const m_1 = t2;\r\n if (m_1 != null) {\r\n const m2_1 = m_1;\r\n t2h = ((m2_1 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2_1) : 1);\r\n }\r\n else {\r\n t2h = 0;\r\n }\r\n if (t2h > (t1h + 2)) {\r\n const matchValue = value_1(t2);\r\n if (matchValue instanceof MapTreeNode$2) {\r\n if (((m_2 = MapTreeNode$2__get_Left(matchValue), (m_2 != null) ? ((m2_2 = m_2, (m2_2 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2_2) : 1)) : 0)) > (t1h + 1)) {\r\n const matchValue_1 = value_1(MapTreeNode$2__get_Left(matchValue));\r\n if (matchValue_1 instanceof MapTreeNode$2) {\r\n return MapTreeModule_mk(MapTreeModule_mk(t1, k, v, MapTreeNode$2__get_Left(matchValue_1)), MapTreeLeaf$2__get_Key(matchValue_1), MapTreeLeaf$2__get_Value(matchValue_1), MapTreeModule_mk(MapTreeNode$2__get_Right(matchValue_1), MapTreeLeaf$2__get_Key(matchValue), MapTreeLeaf$2__get_Value(matchValue), MapTreeNode$2__get_Right(matchValue)));\r\n }\r\n else {\r\n throw (new Error(\"internal error: Map.rebalance\"));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_mk(MapTreeModule_mk(t1, k, v, MapTreeNode$2__get_Left(matchValue)), MapTreeLeaf$2__get_Key(matchValue), MapTreeLeaf$2__get_Value(matchValue), MapTreeNode$2__get_Right(matchValue));\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Map.rebalance\"));\r\n }\r\n }\r\n else if (t1h > (t2h + 2)) {\r\n const matchValue_2 = value_1(t1);\r\n if (matchValue_2 instanceof MapTreeNode$2) {\r\n if (((m_3 = MapTreeNode$2__get_Right(matchValue_2), (m_3 != null) ? ((m2_3 = m_3, (m2_3 instanceof MapTreeNode$2) ? MapTreeNode$2__get_Height(m2_3) : 1)) : 0)) > (t2h + 1)) {\r\n const matchValue_3 = value_1(MapTreeNode$2__get_Right(matchValue_2));\r\n if (matchValue_3 instanceof MapTreeNode$2) {\r\n return MapTreeModule_mk(MapTreeModule_mk(MapTreeNode$2__get_Left(matchValue_2), MapTreeLeaf$2__get_Key(matchValue_2), MapTreeLeaf$2__get_Value(matchValue_2), MapTreeNode$2__get_Left(matchValue_3)), MapTreeLeaf$2__get_Key(matchValue_3), MapTreeLeaf$2__get_Value(matchValue_3), MapTreeModule_mk(MapTreeNode$2__get_Right(matchValue_3), k, v, t2));\r\n }\r\n else {\r\n throw (new Error(\"internal error: Map.rebalance\"));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_mk(MapTreeNode$2__get_Left(matchValue_2), MapTreeLeaf$2__get_Key(matchValue_2), MapTreeLeaf$2__get_Value(matchValue_2), MapTreeModule_mk(MapTreeNode$2__get_Right(matchValue_2), k, v, t2));\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Map.rebalance\"));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_mk(t1, k, v, t2);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_add(comparer, k, v, m) {\r\n if (m != null) {\r\n const m2 = m;\r\n const c = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (c < 0) {\r\n return MapTreeModule_rebalance(MapTreeModule_add(comparer, k, v, MapTreeNode$2__get_Left(m2)), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeNode$2__get_Right(m2));\r\n }\r\n else if (c === 0) {\r\n return MapTreeNode$2_$ctor_499A11FD(k, v, MapTreeNode$2__get_Left(m2), MapTreeNode$2__get_Right(m2), MapTreeNode$2__get_Height(m2));\r\n }\r\n else {\r\n return MapTreeModule_rebalance(MapTreeNode$2__get_Left(m2), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeModule_add(comparer, k, v, MapTreeNode$2__get_Right(m2)));\r\n }\r\n }\r\n else if (c < 0) {\r\n return MapTreeNode$2_$ctor_499A11FD(k, v, MapTreeModule_empty(), m, 2);\r\n }\r\n else if (c === 0) {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(k, v);\r\n }\r\n else {\r\n return MapTreeNode$2_$ctor_499A11FD(k, v, m, MapTreeModule_empty(), 2);\r\n }\r\n }\r\n else {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(k, v);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_tryFind(comparer_mut, k_mut, m_mut) {\r\n MapTreeModule_tryFind:\r\n while (true) {\r\n const comparer = comparer_mut, k = k_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n const c = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (c === 0) {\r\n return some(MapTreeLeaf$2__get_Value(m2));\r\n }\r\n else if (m2 instanceof MapTreeNode$2) {\r\n comparer_mut = comparer;\r\n k_mut = k;\r\n m_mut = ((c < 0) ? MapTreeNode$2__get_Left(m2) : MapTreeNode$2__get_Right(m2));\r\n continue MapTreeModule_tryFind;\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_find(comparer, k, m) {\r\n const matchValue = MapTreeModule_tryFind(comparer, k, m);\r\n if (matchValue == null) {\r\n throw (new Error());\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_partition1(comparer, f, k, v, acc1, acc2) {\r\n if (f(k, v)) {\r\n return [MapTreeModule_add(comparer, k, v, acc1), acc2];\r\n }\r\n else {\r\n return [acc1, MapTreeModule_add(comparer, k, v, acc2)];\r\n }\r\n}\r\n\r\nexport function MapTreeModule_partitionAux(comparer_mut, f_mut, m_mut, acc__mut, acc__1_mut) {\r\n MapTreeModule_partitionAux:\r\n while (true) {\r\n const comparer = comparer_mut, f = f_mut, m = m_mut, acc_ = acc__mut, acc__1 = acc__1_mut;\r\n const acc = [acc_, acc__1];\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const acc_1 = MapTreeModule_partitionAux(comparer, f, MapTreeNode$2__get_Right(m2), acc[0], acc[1]);\r\n const acc_4 = MapTreeModule_partition1(comparer, f, MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), acc_1[0], acc_1[1]);\r\n comparer_mut = comparer;\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Left(m2);\r\n acc__mut = acc_4[0];\r\n acc__1_mut = acc_4[1];\r\n continue MapTreeModule_partitionAux;\r\n }\r\n else {\r\n return MapTreeModule_partition1(comparer, f, MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), acc[0], acc[1]);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_partition(comparer, f, m) {\r\n return MapTreeModule_partitionAux(comparer, f, m, MapTreeModule_empty(), MapTreeModule_empty());\r\n}\r\n\r\nexport function MapTreeModule_filter1(comparer, f, k, v, acc) {\r\n if (f(k, v)) {\r\n return MapTreeModule_add(comparer, k, v, acc);\r\n }\r\n else {\r\n return acc;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_filterAux(comparer_mut, f_mut, m_mut, acc_mut) {\r\n MapTreeModule_filterAux:\r\n while (true) {\r\n const comparer = comparer_mut, f = f_mut, m = m_mut, acc = acc_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const acc_1 = MapTreeModule_filterAux(comparer, f, MapTreeNode$2__get_Left(m2), acc);\r\n const acc_2 = MapTreeModule_filter1(comparer, f, MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), acc_1);\r\n comparer_mut = comparer;\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n acc_mut = acc_2;\r\n continue MapTreeModule_filterAux;\r\n }\r\n else {\r\n return MapTreeModule_filter1(comparer, f, MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), acc);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_filter(comparer, f, m) {\r\n return MapTreeModule_filterAux(comparer, f, m, MapTreeModule_empty());\r\n}\r\n\r\nexport function MapTreeModule_spliceOutSuccessor(m) {\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (MapTreeNode$2__get_Left(m2) == null) {\r\n return [MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeNode$2__get_Right(m2)];\r\n }\r\n else {\r\n const patternInput = MapTreeModule_spliceOutSuccessor(MapTreeNode$2__get_Left(m2));\r\n return [patternInput[0], patternInput[1], MapTreeModule_mk(patternInput[2], MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeNode$2__get_Right(m2))];\r\n }\r\n }\r\n else {\r\n return [MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeModule_empty()];\r\n }\r\n }\r\n else {\r\n throw (new Error(\"internal error: Map.spliceOutSuccessor\"));\r\n }\r\n}\r\n\r\nexport function MapTreeModule_remove(comparer, k, m) {\r\n if (m != null) {\r\n const m2 = m;\r\n const c = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (c < 0) {\r\n return MapTreeModule_rebalance(MapTreeModule_remove(comparer, k, MapTreeNode$2__get_Left(m2)), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeNode$2__get_Right(m2));\r\n }\r\n else if (c === 0) {\r\n if (MapTreeNode$2__get_Left(m2) == null) {\r\n return MapTreeNode$2__get_Right(m2);\r\n }\r\n else if (MapTreeNode$2__get_Right(m2) == null) {\r\n return MapTreeNode$2__get_Left(m2);\r\n }\r\n else {\r\n const patternInput = MapTreeModule_spliceOutSuccessor(MapTreeNode$2__get_Right(m2));\r\n return MapTreeModule_mk(MapTreeNode$2__get_Left(m2), patternInput[0], patternInput[1], patternInput[2]);\r\n }\r\n }\r\n else {\r\n return MapTreeModule_rebalance(MapTreeNode$2__get_Left(m2), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeModule_remove(comparer, k, MapTreeNode$2__get_Right(m2)));\r\n }\r\n }\r\n else if (c === 0) {\r\n return MapTreeModule_empty();\r\n }\r\n else {\r\n return m;\r\n }\r\n }\r\n else {\r\n return MapTreeModule_empty();\r\n }\r\n}\r\n\r\nexport function MapTreeModule_change(comparer, k, u, m) {\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const c = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (c < 0) {\r\n return MapTreeModule_rebalance(MapTreeModule_change(comparer, k, u, MapTreeNode$2__get_Left(m2)), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeNode$2__get_Right(m2));\r\n }\r\n else if (c === 0) {\r\n const matchValue_1 = u(some(MapTreeLeaf$2__get_Value(m2)));\r\n if (matchValue_1 != null) {\r\n return MapTreeNode$2_$ctor_499A11FD(k, value_1(matchValue_1), MapTreeNode$2__get_Left(m2), MapTreeNode$2__get_Right(m2), MapTreeNode$2__get_Height(m2));\r\n }\r\n else if (MapTreeNode$2__get_Left(m2) == null) {\r\n return MapTreeNode$2__get_Right(m2);\r\n }\r\n else if (MapTreeNode$2__get_Right(m2) == null) {\r\n return MapTreeNode$2__get_Left(m2);\r\n }\r\n else {\r\n const patternInput = MapTreeModule_spliceOutSuccessor(MapTreeNode$2__get_Right(m2));\r\n return MapTreeModule_mk(MapTreeNode$2__get_Left(m2), patternInput[0], patternInput[1], patternInput[2]);\r\n }\r\n }\r\n else {\r\n return MapTreeModule_rebalance(MapTreeNode$2__get_Left(m2), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), MapTreeModule_change(comparer, k, u, MapTreeNode$2__get_Right(m2)));\r\n }\r\n }\r\n else {\r\n const c_1 = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (c_1 < 0) {\r\n const matchValue_2 = u(void 0);\r\n if (matchValue_2 != null) {\r\n return MapTreeNode$2_$ctor_499A11FD(k, value_1(matchValue_2), MapTreeModule_empty(), m, 2);\r\n }\r\n else {\r\n return m;\r\n }\r\n }\r\n else if (c_1 === 0) {\r\n const matchValue_3 = u(some(MapTreeLeaf$2__get_Value(m2)));\r\n if (matchValue_3 != null) {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(k, value_1(matchValue_3));\r\n }\r\n else {\r\n return MapTreeModule_empty();\r\n }\r\n }\r\n else {\r\n const matchValue_4 = u(void 0);\r\n if (matchValue_4 != null) {\r\n return MapTreeNode$2_$ctor_499A11FD(k, value_1(matchValue_4), m, MapTreeModule_empty(), 2);\r\n }\r\n else {\r\n return m;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n const matchValue = u(void 0);\r\n if (matchValue != null) {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(k, value_1(matchValue));\r\n }\r\n else {\r\n return m;\r\n }\r\n }\r\n}\r\n\r\nexport function MapTreeModule_mem(comparer_mut, k_mut, m_mut) {\r\n MapTreeModule_mem:\r\n while (true) {\r\n const comparer = comparer_mut, k = k_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n const c = comparer.Compare(k, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (c < 0) {\r\n comparer_mut = comparer;\r\n k_mut = k;\r\n m_mut = MapTreeNode$2__get_Left(m2);\r\n continue MapTreeModule_mem;\r\n }\r\n else if (c === 0) {\r\n return true;\r\n }\r\n else {\r\n comparer_mut = comparer;\r\n k_mut = k;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_mem;\r\n }\r\n }\r\n else {\r\n return c === 0;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_iterOpt(f_mut, m_mut) {\r\n MapTreeModule_iterOpt:\r\n while (true) {\r\n const f = f_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n MapTreeModule_iterOpt(f, MapTreeNode$2__get_Left(m2));\r\n f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_iterOpt;\r\n }\r\n else {\r\n f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n }\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_iter(f, m) {\r\n MapTreeModule_iterOpt(f, m);\r\n}\r\n\r\nexport function MapTreeModule_tryPickOpt(f_mut, m_mut) {\r\n MapTreeModule_tryPickOpt:\r\n while (true) {\r\n const f = f_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const matchValue = MapTreeModule_tryPickOpt(f, MapTreeNode$2__get_Left(m2));\r\n if (matchValue == null) {\r\n const matchValue_1 = f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n if (matchValue_1 == null) {\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_tryPickOpt;\r\n }\r\n else {\r\n return matchValue_1;\r\n }\r\n }\r\n else {\r\n return matchValue;\r\n }\r\n }\r\n else {\r\n return f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n }\r\n }\r\n else {\r\n return void 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_tryPick(f, m) {\r\n return MapTreeModule_tryPickOpt(f, m);\r\n}\r\n\r\nexport function MapTreeModule_existsOpt(f_mut, m_mut) {\r\n MapTreeModule_existsOpt:\r\n while (true) {\r\n const f = f_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (MapTreeModule_existsOpt(f, MapTreeNode$2__get_Left(m2)) ? true : f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2))) {\r\n return true;\r\n }\r\n else {\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_existsOpt;\r\n }\r\n }\r\n else {\r\n return f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_exists(f, m) {\r\n return MapTreeModule_existsOpt(f, m);\r\n}\r\n\r\nexport function MapTreeModule_forallOpt(f_mut, m_mut) {\r\n MapTreeModule_forallOpt:\r\n while (true) {\r\n const f = f_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n if (MapTreeModule_forallOpt(f, MapTreeNode$2__get_Left(m2)) && f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2))) {\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_forallOpt;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_forall(f, m) {\r\n return MapTreeModule_forallOpt(f, m);\r\n}\r\n\r\nexport function MapTreeModule_map(f, m) {\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const l2 = MapTreeModule_map(f, MapTreeNode$2__get_Left(m2));\r\n const v2 = f(MapTreeLeaf$2__get_Value(m2));\r\n const r2 = MapTreeModule_map(f, MapTreeNode$2__get_Right(m2));\r\n return MapTreeNode$2_$ctor_499A11FD(MapTreeLeaf$2__get_Key(m2), v2, l2, r2, MapTreeNode$2__get_Height(m2));\r\n }\r\n else {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(MapTreeLeaf$2__get_Key(m2), f(MapTreeLeaf$2__get_Value(m2)));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_empty();\r\n }\r\n}\r\n\r\nexport function MapTreeModule_mapiOpt(f, m) {\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const l2 = MapTreeModule_mapiOpt(f, MapTreeNode$2__get_Left(m2));\r\n const v2 = f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n const r2 = MapTreeModule_mapiOpt(f, MapTreeNode$2__get_Right(m2));\r\n return MapTreeNode$2_$ctor_499A11FD(MapTreeLeaf$2__get_Key(m2), v2, l2, r2, MapTreeNode$2__get_Height(m2));\r\n }\r\n else {\r\n return MapTreeLeaf$2_$ctor_5BDDA1(MapTreeLeaf$2__get_Key(m2), f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2)));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_empty();\r\n }\r\n}\r\n\r\nexport function MapTreeModule_mapi(f, m) {\r\n return MapTreeModule_mapiOpt(f, m);\r\n}\r\n\r\nexport function MapTreeModule_foldBackOpt(f_mut, m_mut, x_mut) {\r\n MapTreeModule_foldBackOpt:\r\n while (true) {\r\n const f = f_mut, m = m_mut, x = x_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const x_1 = MapTreeModule_foldBackOpt(f, MapTreeNode$2__get_Right(m2), x);\r\n const x_2 = f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), x_1);\r\n f_mut = f;\r\n m_mut = MapTreeNode$2__get_Left(m2);\r\n x_mut = x_2;\r\n continue MapTreeModule_foldBackOpt;\r\n }\r\n else {\r\n return f(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), x);\r\n }\r\n }\r\n else {\r\n return x;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_foldBack(f, m, x) {\r\n return MapTreeModule_foldBackOpt(f, m, x);\r\n}\r\n\r\nexport function MapTreeModule_foldOpt(f_mut, x_mut, m_mut) {\r\n MapTreeModule_foldOpt:\r\n while (true) {\r\n const f = f_mut, x = x_mut, m = m_mut;\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n f_mut = f;\r\n x_mut = f(MapTreeModule_foldOpt(f, x, MapTreeNode$2__get_Left(m2)), MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n m_mut = MapTreeNode$2__get_Right(m2);\r\n continue MapTreeModule_foldOpt;\r\n }\r\n else {\r\n return f(x, MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2));\r\n }\r\n }\r\n else {\r\n return x;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_fold(f, x, m) {\r\n return MapTreeModule_foldOpt(f, x, m);\r\n}\r\n\r\nexport function MapTreeModule_foldSectionOpt(comparer, lo, hi, f, m, x) {\r\n const foldFromTo = (f_1_mut, m_1_mut, x_1_mut) => {\r\n foldFromTo:\r\n while (true) {\r\n const f_1 = f_1_mut, m_1 = m_1_mut, x_1 = x_1_mut;\r\n if (m_1 != null) {\r\n const m2 = m_1;\r\n if (m2 instanceof MapTreeNode$2) {\r\n const cLoKey = comparer.Compare(lo, MapTreeLeaf$2__get_Key(m2)) | 0;\r\n const cKeyHi = comparer.Compare(MapTreeLeaf$2__get_Key(m2), hi) | 0;\r\n const x_2 = (cLoKey < 0) ? foldFromTo(f_1, MapTreeNode$2__get_Left(m2), x_1) : x_1;\r\n const x_3 = ((cLoKey <= 0) && (cKeyHi <= 0)) ? f_1(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), x_2) : x_2;\r\n if (cKeyHi < 0) {\r\n f_1_mut = f_1;\r\n m_1_mut = MapTreeNode$2__get_Right(m2);\r\n x_1_mut = x_3;\r\n continue foldFromTo;\r\n }\r\n else {\r\n return x_3;\r\n }\r\n }\r\n else if ((comparer.Compare(lo, MapTreeLeaf$2__get_Key(m2)) <= 0) && (comparer.Compare(MapTreeLeaf$2__get_Key(m2), hi) <= 0)) {\r\n return f_1(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2), x_1);\r\n }\r\n else {\r\n return x_1;\r\n }\r\n }\r\n else {\r\n return x_1;\r\n }\r\n break;\r\n }\r\n };\r\n if (comparer.Compare(lo, hi) === 1) {\r\n return x;\r\n }\r\n else {\r\n return foldFromTo(f, m, x);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_foldSection(comparer, lo, hi, f, m, x) {\r\n return MapTreeModule_foldSectionOpt(comparer, lo, hi, f, m, x);\r\n}\r\n\r\nexport function MapTreeModule_toList(m) {\r\n const loop = (m_1_mut, acc_mut) => {\r\n loop:\r\n while (true) {\r\n const m_1 = m_1_mut, acc = acc_mut;\r\n if (m_1 != null) {\r\n const m2 = m_1;\r\n if (m2 instanceof MapTreeNode$2) {\r\n m_1_mut = MapTreeNode$2__get_Left(m2);\r\n acc_mut = cons([MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2)], loop(MapTreeNode$2__get_Right(m2), acc));\r\n continue loop;\r\n }\r\n else {\r\n return cons([MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2)], acc);\r\n }\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(m, empty_1());\r\n}\r\n\r\nexport function MapTreeModule_copyToArray(m, arr, i) {\r\n let j = i;\r\n MapTreeModule_iter((x, y) => {\r\n arr[j] = [x, y];\r\n j = ((j + 1) | 0);\r\n }, m);\r\n}\r\n\r\nexport function MapTreeModule_toArray(m) {\r\n const n = MapTreeModule_size(m) | 0;\r\n const res = fill(new Array(n), 0, n, [null, null]);\r\n MapTreeModule_copyToArray(m, res, 0);\r\n return res;\r\n}\r\n\r\nexport function MapTreeModule_ofList(comparer, l) {\r\n return fold_1((acc, tupledArg) => MapTreeModule_add(comparer, tupledArg[0], tupledArg[1], acc), MapTreeModule_empty(), l);\r\n}\r\n\r\nexport function MapTreeModule_mkFromEnumerator(comparer_mut, acc_mut, e_mut) {\r\n MapTreeModule_mkFromEnumerator:\r\n while (true) {\r\n const comparer = comparer_mut, acc = acc_mut, e = e_mut;\r\n if (e[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const patternInput = e[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n comparer_mut = comparer;\r\n acc_mut = MapTreeModule_add(comparer, patternInput[0], patternInput[1], acc);\r\n e_mut = e;\r\n continue MapTreeModule_mkFromEnumerator;\r\n }\r\n else {\r\n return acc;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_ofArray(comparer, arr) {\r\n let res = MapTreeModule_empty();\r\n for (let idx = 0; idx <= (arr.length - 1); idx++) {\r\n const forLoopVar = arr[idx];\r\n res = MapTreeModule_add(comparer, forLoopVar[0], forLoopVar[1], res);\r\n }\r\n return res;\r\n}\r\n\r\nexport function MapTreeModule_ofSeq(comparer, c) {\r\n if (isArrayLike(c)) {\r\n return MapTreeModule_ofArray(comparer, c);\r\n }\r\n else if (c instanceof FSharpList) {\r\n return MapTreeModule_ofList(comparer, c);\r\n }\r\n else {\r\n const ie = getEnumerator(c);\r\n try {\r\n return MapTreeModule_mkFromEnumerator(comparer, MapTreeModule_empty(), ie);\r\n }\r\n finally {\r\n disposeSafe(ie);\r\n }\r\n }\r\n}\r\n\r\nexport class MapTreeModule_MapIterator$2 extends Record {\r\n constructor(stack, started) {\r\n super();\r\n this.stack = stack;\r\n this.started = started;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_MapIterator$2$reflection(gen0, gen1) {\r\n return record_type(\"Map.MapTreeModule.MapIterator`2\", [gen0, gen1], MapTreeModule_MapIterator$2, () => [[\"stack\", list_type(option_type(MapTreeLeaf$2$reflection(gen0, gen1)))], [\"started\", bool_type]]);\r\n}\r\n\r\nexport function MapTreeModule_collapseLHS(stack_mut) {\r\n MapTreeModule_collapseLHS:\r\n while (true) {\r\n const stack = stack_mut;\r\n if (!isEmpty_1(stack)) {\r\n const rest = tail(stack);\r\n const m = head(stack);\r\n if (m != null) {\r\n const m2 = m;\r\n if (m2 instanceof MapTreeNode$2) {\r\n stack_mut = ofArrayWithTail([MapTreeNode$2__get_Left(m2), MapTreeLeaf$2_$ctor_5BDDA1(MapTreeLeaf$2__get_Key(m2), MapTreeLeaf$2__get_Value(m2)), MapTreeNode$2__get_Right(m2)], rest);\r\n continue MapTreeModule_collapseLHS;\r\n }\r\n else {\r\n return stack;\r\n }\r\n }\r\n else {\r\n stack_mut = rest;\r\n continue MapTreeModule_collapseLHS;\r\n }\r\n }\r\n else {\r\n return empty_1();\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function MapTreeModule_mkIterator(m) {\r\n return new MapTreeModule_MapIterator$2(MapTreeModule_collapseLHS(singleton(m)), false);\r\n}\r\n\r\nexport function MapTreeModule_notStarted() {\r\n throw (new Error(\"enumeration not started\"));\r\n}\r\n\r\nexport function MapTreeModule_alreadyFinished() {\r\n throw (new Error(\"enumeration already finished\"));\r\n}\r\n\r\nexport function MapTreeModule_current(i) {\r\n if (i.started) {\r\n const matchValue = i.stack;\r\n if (!isEmpty_1(matchValue)) {\r\n if (head(matchValue) != null) {\r\n const m = head(matchValue);\r\n if (m instanceof MapTreeNode$2) {\r\n throw (new Error(\"Please report error: Map iterator, unexpected stack for current\"));\r\n }\r\n else {\r\n return [MapTreeLeaf$2__get_Key(m), MapTreeLeaf$2__get_Value(m)];\r\n }\r\n }\r\n else {\r\n throw (new Error(\"Please report error: Map iterator, unexpected stack for current\"));\r\n }\r\n }\r\n else {\r\n return MapTreeModule_alreadyFinished();\r\n }\r\n }\r\n else {\r\n return MapTreeModule_notStarted();\r\n }\r\n}\r\n\r\nexport function MapTreeModule_moveNext(i) {\r\n if (i.started) {\r\n const matchValue = i.stack;\r\n if (!isEmpty_1(matchValue)) {\r\n if (head(matchValue) != null) {\r\n const m = head(matchValue);\r\n if (m instanceof MapTreeNode$2) {\r\n throw (new Error(\"Please report error: Map iterator, unexpected stack for moveNext\"));\r\n }\r\n else {\r\n i.stack = MapTreeModule_collapseLHS(tail(matchValue));\r\n return !isEmpty_1(i.stack);\r\n }\r\n }\r\n else {\r\n throw (new Error(\"Please report error: Map iterator, unexpected stack for moveNext\"));\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n i.started = true;\r\n return !isEmpty_1(i.stack);\r\n }\r\n}\r\n\r\nexport function MapTreeModule_mkIEnumerator(m) {\r\n let i = MapTreeModule_mkIterator(m);\r\n return {\r\n [\"System.Collections.Generic.IEnumerator`1.get_Current\"]() {\r\n return MapTreeModule_current(i);\r\n },\r\n [\"System.Collections.IEnumerator.get_Current\"]() {\r\n return MapTreeModule_current(i);\r\n },\r\n [\"System.Collections.IEnumerator.MoveNext\"]() {\r\n return MapTreeModule_moveNext(i);\r\n },\r\n [\"System.Collections.IEnumerator.Reset\"]() {\r\n i = MapTreeModule_mkIterator(m);\r\n },\r\n Dispose() {\r\n },\r\n };\r\n}\r\n\r\nexport function MapTreeModule_toSeq(s) {\r\n return unfold((en_1) => {\r\n if (en_1[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n return [en_1[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), en_1];\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }, MapTreeModule_mkIEnumerator(s));\r\n}\r\n\r\nexport class FSharpMap {\r\n constructor(comparer, tree) {\r\n this.comparer = comparer;\r\n this.tree = tree;\r\n }\r\n GetHashCode() {\r\n const this$ = this;\r\n return FSharpMap__ComputeHashCode(this$) | 0;\r\n }\r\n Equals(that) {\r\n const this$ = this;\r\n if (that instanceof FSharpMap) {\r\n const e1 = getEnumerator(this$);\r\n try {\r\n const e2 = getEnumerator(that);\r\n try {\r\n const loop = () => {\r\n const m1 = e1[\"System.Collections.IEnumerator.MoveNext\"]();\r\n if (m1 === e2[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n if (!m1) {\r\n return true;\r\n }\r\n else {\r\n const e1c = e1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n const e2c = e2[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n if (equals(e1c[0], e2c[0]) && equals(e1c[1], e2c[1])) {\r\n return loop();\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n return loop();\r\n }\r\n finally {\r\n disposeSafe(e2);\r\n }\r\n }\r\n finally {\r\n disposeSafe(e1);\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n toString() {\r\n const this$ = this;\r\n return (\"map [\" + join(\"; \", map_1((kv) => format(\"({0}, {1})\", kv[0], kv[1]), this$))) + \"]\";\r\n }\r\n get [Symbol.toStringTag]() {\r\n return \"FSharpMap\";\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return Array.from(this$);\r\n }\r\n GetEnumerator() {\r\n const __ = this;\r\n return MapTreeModule_mkIEnumerator(__.tree);\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const __ = this;\r\n return MapTreeModule_mkIEnumerator(__.tree);\r\n }\r\n CompareTo(obj) {\r\n const m = this;\r\n if (obj instanceof FSharpMap) {\r\n return compareWith((kvp1, kvp2) => {\r\n const c = m.comparer.Compare(kvp1[0], kvp2[0]) | 0;\r\n return ((c !== 0) ? c : compare(kvp1[1], kvp2[1])) | 0;\r\n }, m, obj) | 0;\r\n }\r\n else {\r\n throw (new Error(\"not comparable\\\\nParameter name: obj\"));\r\n }\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Add2B595\"](x) {\r\n throw (new Error(\"Map cannot be mutated\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Clear\"]() {\r\n throw (new Error(\"Map cannot be mutated\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Remove2B595\"](x) {\r\n throw (new Error(\"Map cannot be mutated\"));\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Contains2B595\"](x) {\r\n const m = this;\r\n return FSharpMap__ContainsKey(m, x[0]) && equals(FSharpMap__get_Item(m, x[0]), x[1]);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.CopyToZ2E171D71\"](arr, i) {\r\n const m = this;\r\n MapTreeModule_copyToArray(m.tree, arr, i);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_IsReadOnly\"]() {\r\n return true;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_Count\"]() {\r\n const m = this;\r\n return FSharpMap__get_Count(m) | 0;\r\n }\r\n [\"System.Collections.Generic.IReadOnlyCollection`1.get_Count\"]() {\r\n const m = this;\r\n return FSharpMap__get_Count(m) | 0;\r\n }\r\n get size() {\r\n const m = this;\r\n return FSharpMap__get_Count(m) | 0;\r\n }\r\n clear() {\r\n throw (new Error(\"Map cannot be mutated\"));\r\n }\r\n delete(_arg) {\r\n throw (new Error(\"Map cannot be mutated\"));\r\n return false;\r\n }\r\n entries() {\r\n const m = this;\r\n return map_1((p) => [p[0], p[1]], m);\r\n }\r\n get(k) {\r\n const m = this;\r\n return FSharpMap__get_Item(m, k);\r\n }\r\n has(k) {\r\n const m = this;\r\n return FSharpMap__ContainsKey(m, k);\r\n }\r\n keys() {\r\n const m = this;\r\n return map_1((p) => p[0], m);\r\n }\r\n set(k, v) {\r\n const m = this;\r\n throw (new Error(\"Map cannot be mutated\"));\r\n return m;\r\n }\r\n values() {\r\n const m = this;\r\n return map_1((p) => p[1], m);\r\n }\r\n forEach(f, thisArg) {\r\n const m = this;\r\n iterate_1((p) => {\r\n f(p[1], p[0], m);\r\n }, m);\r\n }\r\n}\r\n\r\nexport function FSharpMap$reflection(gen0, gen1) {\r\n return class_type(\"Map.FSharpMap\", [gen0, gen1], FSharpMap);\r\n}\r\n\r\nexport function FSharpMap_$ctor(comparer, tree) {\r\n return new FSharpMap(comparer, tree);\r\n}\r\n\r\n(() => {\r\n FSharpMap.empty = FSharpMap_$ctor(LanguagePrimitives_FastGenericComparer(), MapTreeModule_empty());\r\n})();\r\n\r\nexport function FSharpMap_get_Empty() {\r\n return FSharpMap.empty;\r\n}\r\n\r\nexport function FSharpMap_Create(ie) {\r\n const comparer = LanguagePrimitives_FastGenericComparer();\r\n return FSharpMap_$ctor(comparer, MapTreeModule_ofSeq(comparer, ie));\r\n}\r\n\r\nexport function FSharpMap__get_Comparer(m) {\r\n return m.comparer;\r\n}\r\n\r\nexport function FSharpMap__get_Tree(m) {\r\n return m.tree;\r\n}\r\n\r\nexport function FSharpMap__Add(m, key, value) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_add(m.comparer, key, value, m.tree));\r\n}\r\n\r\nexport function FSharpMap__Change(m, key, f) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_change(m.comparer, key, f, m.tree));\r\n}\r\n\r\nexport function FSharpMap__get_IsEmpty(m) {\r\n return m.tree == null;\r\n}\r\n\r\nexport function FSharpMap__get_Item(m, key) {\r\n return MapTreeModule_find(m.comparer, key, m.tree);\r\n}\r\n\r\nexport function FSharpMap__TryPick(m, f) {\r\n return MapTreeModule_tryPick(f, m.tree);\r\n}\r\n\r\nexport function FSharpMap__Exists(m, predicate) {\r\n return MapTreeModule_exists(predicate, m.tree);\r\n}\r\n\r\nexport function FSharpMap__Filter(m, predicate) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_filter(m.comparer, predicate, m.tree));\r\n}\r\n\r\nexport function FSharpMap__ForAll(m, predicate) {\r\n return MapTreeModule_forall(predicate, m.tree);\r\n}\r\n\r\nexport function FSharpMap__Fold(m, f, acc) {\r\n return MapTreeModule_foldBack(f, m.tree, acc);\r\n}\r\n\r\nexport function FSharpMap__FoldSection(m, lo, hi, f, acc) {\r\n return MapTreeModule_foldSection(m.comparer, lo, hi, f, m.tree, acc);\r\n}\r\n\r\nexport function FSharpMap__Iterate(m, f) {\r\n MapTreeModule_iter(f, m.tree);\r\n}\r\n\r\nexport function FSharpMap__MapRange(m, f) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_map(f, m.tree));\r\n}\r\n\r\nexport function FSharpMap__Map(m, f) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_mapi(f, m.tree));\r\n}\r\n\r\nexport function FSharpMap__Partition(m, predicate) {\r\n const patternInput = MapTreeModule_partition(m.comparer, predicate, m.tree);\r\n return [FSharpMap_$ctor(m.comparer, patternInput[0]), FSharpMap_$ctor(m.comparer, patternInput[1])];\r\n}\r\n\r\nexport function FSharpMap__get_Count(m) {\r\n return MapTreeModule_size(m.tree);\r\n}\r\n\r\nexport function FSharpMap__ContainsKey(m, key) {\r\n return MapTreeModule_mem(m.comparer, key, m.tree);\r\n}\r\n\r\nexport function FSharpMap__Remove(m, key) {\r\n return FSharpMap_$ctor(m.comparer, MapTreeModule_remove(m.comparer, key, m.tree));\r\n}\r\n\r\nexport function FSharpMap__TryGetValue(__, key, value) {\r\n const matchValue = MapTreeModule_tryFind(__.comparer, key, __.tree);\r\n if (matchValue == null) {\r\n return false;\r\n }\r\n else {\r\n const v = value_1(matchValue);\r\n value.contents = v;\r\n return true;\r\n }\r\n}\r\n\r\nexport function FSharpMap__get_Keys(__) {\r\n return map_2((kvp) => kvp[0], MapTreeModule_toArray(__.tree));\r\n}\r\n\r\nexport function FSharpMap__get_Values(__) {\r\n return map_2((kvp) => kvp[1], MapTreeModule_toArray(__.tree));\r\n}\r\n\r\nexport function FSharpMap__TryFind(m, key) {\r\n return MapTreeModule_tryFind(m.comparer, key, m.tree);\r\n}\r\n\r\nexport function FSharpMap__ToList(m) {\r\n return MapTreeModule_toList(m.tree);\r\n}\r\n\r\nexport function FSharpMap__ToArray(m) {\r\n return MapTreeModule_toArray(m.tree);\r\n}\r\n\r\nexport function FSharpMap__ComputeHashCode(this$) {\r\n const combineHash = (x, y) => (((x << 1) + y) + 631);\r\n let res = 0;\r\n const enumerator = getEnumerator(this$);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const activePatternResult = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n res = (combineHash(res, structuralHash(activePatternResult[0])) | 0);\r\n res = (combineHash(res, structuralHash(activePatternResult[1])) | 0);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n return res | 0;\r\n}\r\n\r\nexport function isEmpty(table) {\r\n return FSharpMap__get_IsEmpty(table);\r\n}\r\n\r\nexport function add(key, value, table) {\r\n return FSharpMap__Add(table, key, value);\r\n}\r\n\r\nexport function change(key, f, table) {\r\n return FSharpMap__Change(table, key, f);\r\n}\r\n\r\nexport function find(key, table) {\r\n return FSharpMap__get_Item(table, key);\r\n}\r\n\r\nexport function tryFind(key, table) {\r\n return FSharpMap__TryFind(table, key);\r\n}\r\n\r\nexport function remove(key, table) {\r\n return FSharpMap__Remove(table, key);\r\n}\r\n\r\nexport function containsKey(key, table) {\r\n return FSharpMap__ContainsKey(table, key);\r\n}\r\n\r\nexport function iterate(action, table) {\r\n FSharpMap__Iterate(table, action);\r\n}\r\n\r\nexport function tryPick(chooser, table) {\r\n return FSharpMap__TryPick(table, chooser);\r\n}\r\n\r\nexport function pick(chooser, table) {\r\n const matchValue = tryPick(chooser, table);\r\n if (matchValue != null) {\r\n return value_1(matchValue);\r\n }\r\n else {\r\n throw (new Error());\r\n }\r\n}\r\n\r\nexport function exists(predicate, table) {\r\n return FSharpMap__Exists(table, predicate);\r\n}\r\n\r\nexport function filter(predicate, table) {\r\n return FSharpMap__Filter(table, predicate);\r\n}\r\n\r\nexport function partition(predicate, table) {\r\n return FSharpMap__Partition(table, predicate);\r\n}\r\n\r\nexport function forAll(predicate, table) {\r\n return FSharpMap__ForAll(table, predicate);\r\n}\r\n\r\nexport function map(mapping, table) {\r\n return FSharpMap__Map(table, mapping);\r\n}\r\n\r\nexport function fold(folder, state, table) {\r\n return MapTreeModule_fold(folder, state, FSharpMap__get_Tree(table));\r\n}\r\n\r\nexport function foldBack(folder, table, state) {\r\n return MapTreeModule_foldBack(folder, FSharpMap__get_Tree(table), state);\r\n}\r\n\r\nexport function toSeq(table) {\r\n return map_1((kvp) => [kvp[0], kvp[1]], table);\r\n}\r\n\r\nexport function findKey(predicate, table) {\r\n return pick_1((kvp) => {\r\n const k = kvp[0];\r\n if (predicate(k, kvp[1])) {\r\n return some(k);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }, table);\r\n}\r\n\r\nexport function tryFindKey(predicate, table) {\r\n return tryPick_1((kvp) => {\r\n const k = kvp[0];\r\n if (predicate(k, kvp[1])) {\r\n return some(k);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n }, table);\r\n}\r\n\r\nexport function ofList(elements) {\r\n return FSharpMap_Create(elements);\r\n}\r\n\r\nexport function ofSeq(elements) {\r\n return FSharpMap_Create(elements);\r\n}\r\n\r\nexport function ofArray(elements) {\r\n const comparer = LanguagePrimitives_FastGenericComparer();\r\n return FSharpMap_$ctor(comparer, MapTreeModule_ofArray(comparer, elements));\r\n}\r\n\r\nexport function toList(table) {\r\n return FSharpMap__ToList(table);\r\n}\r\n\r\nexport function toArray(table) {\r\n return FSharpMap__ToArray(table);\r\n}\r\n\r\nexport function keys(table) {\r\n return FSharpMap__get_Keys(table);\r\n}\r\n\r\nexport function values(table) {\r\n return FSharpMap__get_Values(table);\r\n}\r\n\r\nexport function empty() {\r\n return FSharpMap_get_Empty();\r\n}\r\n\r\nexport function count(table) {\r\n return FSharpMap__get_Count(table);\r\n}\r\n\r\n","import { Parsimmon_seq3, Parsimmon_seperateBy, Parsimmon_ofLazy, Parsimmon_optionalWhitespace, Parsimmon_between, Parsimmon_satisfy, Parsimmon_orTry, Parsimmon_many, Parsimmon_oneOf, Parsimmon_stringReturn, Parsimmon_choose, Parsimmon_str, Parsimmon_seq2, Parsimmon_map, Parsimmon_digit, Parsimmon_atLeastOneOrMany, Parsimmon_concat } from \"../Fable.Parsimmon.4.0.0/Parsimmon.fs.js\";\nimport { parse } from \"../fable-library.3.7.17/Double.js\";\nimport { regexp } from \"../Fable.Parsimmon.4.0.0/./Parsimmon.js\";\nimport { map, ofArray } from \"../fable-library.3.7.17/List.js\";\nimport { Json } from \"./Json.fs.js\";\nimport { ofList } from \"../fable-library.3.7.17/Map.js\";\nimport { Lazy } from \"../fable-library.3.7.17/Util.js\";\n\nexport const digits = Parsimmon_concat(Parsimmon_atLeastOneOrMany(Parsimmon_digit));\n\nexport const jint = Parsimmon_map(parse, digits);\n\nexport const negJint = Parsimmon_map((tupledArg) => (-tupledArg[1]), Parsimmon_seq2(Parsimmon_str(\"-\"), jint));\n\nexport const jfloat = Parsimmon_map(parse, Parsimmon_choose(ofArray([regexp(new RegExp(\"-?(0|[1-9][0-9]*)?[.][0-9]+([eE][+-]?[0-9]+)?\")), regexp(new RegExp(\"-?[1-9][0-9]*[eE][+-]?[0-9]+\"))])));\n\nexport const jnumber = Parsimmon_map((arg) => (new Json(0, arg)), Parsimmon_choose(ofArray([jfloat, jint, negJint])));\n\nexport const jbool = Parsimmon_choose(ofArray([Parsimmon_stringReturn(\"true\", new Json(2, true)), Parsimmon_stringReturn(\"false\", new Json(2, false))]));\n\nexport const jnull = Parsimmon_stringReturn(\"null\", new Json(3));\n\nexport const stringLiteral = (() => {\n const escape = Parsimmon_map((_arg) => {\n switch (_arg) {\n case \"b\": {\n return \"\\b\";\n }\n case \"f\": {\n return \"\\f\";\n }\n case \"n\": {\n return \"\\n\";\n }\n case \"r\": {\n return \"\\r\";\n }\n case \"t\": {\n return \"\\t\";\n }\n default: {\n return _arg;\n }\n }\n }, Parsimmon_oneOf(\"\\\"\\\\/bfnrt\"));\n const anyCharSnippet = Parsimmon_concat(Parsimmon_many(Parsimmon_orTry(Parsimmon_map((tuple) => tuple[1], Parsimmon_seq2(Parsimmon_str(\"\\\\\"), escape)), Parsimmon_satisfy((c_1) => ((c_1 !== \"\\\"\") && (c_1 !== \"\\\\\"))))));\n return Parsimmon_between(Parsimmon_str(\"\\\"\"), Parsimmon_str(\"\\\"\"), anyCharSnippet);\n})();\n\nexport const jstring = stringLiteral.map((arg) => (new Json(1, arg)));\n\nexport function withWhitespace(p) {\n return Parsimmon_between(Parsimmon_optionalWhitespace, Parsimmon_optionalWhitespace, p);\n}\n\nexport const jvalue = Parsimmon_choose(map(withWhitespace, ofArray([jnull, jbool, jnumber, jstring])));\n\nexport const comma = withWhitespace(Parsimmon_str(\",\"));\n\nfunction json$004080() {\n return Parsimmon_ofLazy(() => Parsimmon_choose(ofArray([jvalue, Parsimmon_map((arg_1) => (new Json(4, ofArray(arg_1))), Parsimmon_between(withWhitespace(Parsimmon_str(\"[\")), withWhitespace(Parsimmon_str(\"]\")), Parsimmon_seperateBy(comma, json$004080$002D1.Value))), Parsimmon_map((arg_4) => (new Json(5, ofList(ofArray(arg_4)))), Parsimmon_between(withWhitespace(Parsimmon_str(\"{\")), withWhitespace(Parsimmon_str(\"}\")), Parsimmon_seperateBy(comma, Parsimmon_map((tupledArg) => [tupledArg[0], tupledArg[2]], Parsimmon_seq3(withWhitespace(stringLiteral), withWhitespace(Parsimmon_str(\":\")), withWhitespace(json$004080$002D1.Value))))))])));\n}\n\nconst json$004080$002D1 = new Lazy(json$004080);\n\nexport const json = json$004080$002D1.Value;\n\nexport const jsonParser = withWhitespace(json);\n\n","import { Record } from \"../Types.js\";\r\nimport { record_type, array_type, int32_type } from \"../Reflection.js\";\r\nimport { op_LeftShift, op_BitwiseAnd, op_Addition, compare, op_Subtraction, op_Division, equals, fromInteger, op_Multiply, op_Modulus, toInt, fromBits } from \"../Long.js\";\r\nimport { copy, initialize, map, fill } from \"../Array.js\";\r\nimport { toArray, empty, head, tail, isEmpty, cons } from \"../List.js\";\r\nimport { int32ToString } from \"../Util.js\";\r\nimport { isNullOrEmpty, join } from \"../String.js\";\r\n\r\nexport class BigNat extends Record {\r\n constructor(bound, digits) {\r\n super();\r\n this.bound = (bound | 0);\r\n this.digits = digits;\r\n }\r\n}\r\n\r\nexport function BigNat$reflection() {\r\n return record_type(\"BigInt.BigNat\", [], BigNat, () => [[\"bound\", int32_type], [\"digits\", array_type(int32_type)]]);\r\n}\r\n\r\nexport function BigNatModule_FFT_pow32(x_mut, n_mut) {\r\n BigNatModule_FFT_pow32:\r\n while (true) {\r\n const x = x_mut, n = n_mut;\r\n if (n === 0) {\r\n return 1;\r\n }\r\n else if ((n % 2) === 0) {\r\n x_mut = (x * x);\r\n n_mut = (~(~(n / 2)));\r\n continue BigNatModule_FFT_pow32;\r\n }\r\n else {\r\n return (x * BigNatModule_FFT_pow32(x * x, ~(~(n / 2)))) | 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_FFT_leastBounding2Power(b) {\r\n const findBounding2Power = (b_1_mut, tp_mut, i_mut) => {\r\n findBounding2Power:\r\n while (true) {\r\n const b_1 = b_1_mut, tp = tp_mut, i = i_mut;\r\n if (b_1 <= tp) {\r\n return [tp, i];\r\n }\r\n else {\r\n b_1_mut = b_1;\r\n tp_mut = (tp * 2);\r\n i_mut = (i + 1);\r\n continue findBounding2Power;\r\n }\r\n break;\r\n }\r\n };\r\n return findBounding2Power(b, 1, 0);\r\n}\r\n\r\nexport const BigNatModule_FFT_p = fromBits(2013265921, 0, false);\r\n\r\nconst BigNatModule_FFT_patternInput$004075 = [27, 15, 31, 440564289];\r\n\r\nexport const BigNatModule_FFT_w = BigNatModule_FFT_patternInput$004075[3];\r\n\r\nexport const BigNatModule_FFT_m = BigNatModule_FFT_patternInput$004075[1];\r\n\r\nexport const BigNatModule_FFT_k = BigNatModule_FFT_patternInput$004075[0];\r\n\r\nexport const BigNatModule_FFT_g = BigNatModule_FFT_patternInput$004075[2];\r\n\r\nexport const BigNatModule_FFT_primeP = BigNatModule_FFT_p;\r\n\r\nexport const BigNatModule_FFT_maxBitsInsideFp = 30;\r\n\r\nexport const BigNatModule_FFT_Fp_p = 2013265921;\r\n\r\nexport const BigNatModule_FFT_Fp_p64 = fromBits(2013265921, 0, true);\r\n\r\nexport function BigNatModule_FFT_Fp_toInt(x) {\r\n return ~(~x);\r\n}\r\n\r\nexport function BigNatModule_FFT_Fp_ofInt32(x) {\r\n return x >>> 0;\r\n}\r\n\r\nexport const BigNatModule_FFT_Fp_mzero = 0;\r\n\r\nexport const BigNatModule_FFT_Fp_mone = 1;\r\n\r\nexport const BigNatModule_FFT_Fp_mtwo = 2;\r\n\r\nexport function BigNatModule_FFT_Fp_mpow(x_mut, n_mut) {\r\n BigNatModule_FFT_Fp_mpow:\r\n while (true) {\r\n const x = x_mut, n = n_mut;\r\n if (n === 0) {\r\n return BigNatModule_FFT_Fp_mone;\r\n }\r\n else if ((n % 2) === 0) {\r\n x_mut = (toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(x, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0);\r\n n_mut = (~(~(n / 2)));\r\n continue BigNatModule_FFT_Fp_mpow;\r\n }\r\n else {\r\n const y_2 = BigNatModule_FFT_Fp_mpow(toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(x, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0, ~(~(n / 2)));\r\n return toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(y_2, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_FFT_Fp_mpowL(x_mut, n_mut) {\r\n BigNatModule_FFT_Fp_mpowL:\r\n while (true) {\r\n const x = x_mut, n = n_mut;\r\n if (equals(n, fromBits(0, 0, false))) {\r\n return BigNatModule_FFT_Fp_mone;\r\n }\r\n else if (equals(op_Modulus(n, fromBits(2, 0, false)), fromBits(0, 0, false))) {\r\n x_mut = (toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(x, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0);\r\n n_mut = op_Division(n, fromBits(2, 0, false));\r\n continue BigNatModule_FFT_Fp_mpowL;\r\n }\r\n else {\r\n const y_2 = BigNatModule_FFT_Fp_mpowL(toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(x, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0, op_Division(n, fromBits(2, 0, false)));\r\n return toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(y_2, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_FFT_Fp_m2PowNthRoot(n) {\r\n return BigNatModule_FFT_Fp_mpow(BigNatModule_FFT_w >>> 0, BigNatModule_FFT_pow32(2, BigNatModule_FFT_k - n));\r\n}\r\n\r\nexport function BigNatModule_FFT_Fp_minv(x) {\r\n return BigNatModule_FFT_Fp_mpowL(x, op_Subtraction(BigNatModule_FFT_primeP, fromBits(2, 0, false)));\r\n}\r\n\r\nexport function BigNatModule_FFT_computeFFT(lambda, mu, n, w, u, res, offset) {\r\n let x_1, x_3, y_5;\r\n if (n === 1) {\r\n res[offset] = u[mu];\r\n }\r\n else {\r\n const halfN = (~(~(n / 2))) | 0;\r\n const ww = toInt(op_Modulus(op_Multiply(fromInteger(w, true, 6), fromInteger(w, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0;\r\n const offsetHalfN = (offset + halfN) | 0;\r\n BigNatModule_FFT_computeFFT(lambda * 2, mu, halfN, ww, u, res, offset);\r\n BigNatModule_FFT_computeFFT(lambda * 2, lambda + mu, halfN, ww, u, res, offsetHalfN);\r\n let wj = BigNatModule_FFT_Fp_mone;\r\n for (let j = 0; j <= (halfN - 1); j++) {\r\n const even = res[offset + j];\r\n const odd = res[offsetHalfN + j];\r\n res[offset + j] = ((even + ((x_1 = wj, toInt(op_Modulus(op_Multiply(fromInteger(x_1, true, 6), fromInteger(odd, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0))) % BigNatModule_FFT_Fp_p);\r\n res[offsetHalfN + j] = (((even + BigNatModule_FFT_Fp_p) - ((x_3 = wj, toInt(op_Modulus(op_Multiply(fromInteger(x_3, true, 6), fromInteger(odd, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0))) % BigNatModule_FFT_Fp_p);\r\n wj = ((y_5 = wj, toInt(op_Modulus(op_Multiply(fromInteger(w, true, 6), fromInteger(y_5, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0));\r\n }\r\n }\r\n}\r\n\r\nexport function BigNatModule_FFT_computFftInPlace(n, w, u) {\r\n const res = fill(new Uint32Array(n), 0, n, BigNatModule_FFT_Fp_mzero);\r\n BigNatModule_FFT_computeFFT(1, 0, n, w, u, res, 0);\r\n return res;\r\n}\r\n\r\nexport function BigNatModule_FFT_computeInverseFftInPlace(n, w, uT) {\r\n const bigKInv = BigNatModule_FFT_Fp_minv(n >>> 0);\r\n return map((y) => (toInt(op_Modulus(op_Multiply(fromInteger(bigKInv, true, 6), fromInteger(y, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0), BigNatModule_FFT_computFftInPlace(n, BigNatModule_FFT_Fp_minv(w), uT), Uint32Array);\r\n}\r\n\r\nexport const BigNatModule_FFT_maxTwoPower = 29;\r\n\r\nexport const BigNatModule_FFT_twoPowerTable = initialize(BigNatModule_FFT_maxTwoPower - 1, (i) => BigNatModule_FFT_pow32(2, i), Int32Array);\r\n\r\nexport function BigNatModule_FFT_computeFftPaddedPolynomialProduct(bigK, k, u, v) {\r\n const w = BigNatModule_FFT_Fp_m2PowNthRoot(k);\r\n const n = bigK | 0;\r\n const uT = BigNatModule_FFT_computFftInPlace(n, w, u);\r\n const vT = BigNatModule_FFT_computFftInPlace(n, w, v);\r\n return BigNatModule_FFT_computeInverseFftInPlace(n, w, initialize(n, (i) => {\r\n const x = uT[i];\r\n const y = vT[i];\r\n return toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(y, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0;\r\n }, Uint32Array));\r\n}\r\n\r\nexport function BigNatModule_FFT_padTo(n, u) {\r\n const uBound = u.length | 0;\r\n return initialize(n, (i) => ((i < uBound) ? BigNatModule_FFT_Fp_ofInt32(u[i]) : BigNatModule_FFT_Fp_mzero), Uint32Array);\r\n}\r\n\r\nexport function BigNatModule_FFT_computeFftPolynomialProduct(degu, u, degv, v) {\r\n const patternInput = BigNatModule_FFT_leastBounding2Power((degu + degv) + 1);\r\n const bigK = patternInput[0] | 0;\r\n const w = BigNatModule_FFT_Fp_m2PowNthRoot(patternInput[1]);\r\n const u_1 = BigNatModule_FFT_padTo(bigK, u);\r\n const v_1 = BigNatModule_FFT_padTo(bigK, v);\r\n const n = bigK | 0;\r\n const uT = BigNatModule_FFT_computFftInPlace(n, w, u_1);\r\n const vT = BigNatModule_FFT_computFftInPlace(n, w, v_1);\r\n return map(BigNatModule_FFT_Fp_toInt, BigNatModule_FFT_computeInverseFftInPlace(n, w, initialize(n, (i) => {\r\n const x = uT[i];\r\n const y = vT[i];\r\n return toInt(op_Modulus(op_Multiply(fromInteger(x, true, 6), fromInteger(y, true, 6)), BigNatModule_FFT_Fp_p64)) >>> 0;\r\n }, Uint32Array)), Int32Array);\r\n}\r\n\r\nexport const BigNatModule_FFT_mzero = BigNatModule_FFT_Fp_mzero;\r\n\r\nexport const BigNatModule_FFT_mone = BigNatModule_FFT_Fp_mone;\r\n\r\nexport const BigNatModule_FFT_maxFp = ((BigNatModule_FFT_Fp_p + BigNatModule_FFT_Fp_p) - BigNatModule_FFT_mone) % BigNatModule_FFT_Fp_p;\r\n\r\nexport function BigNatModule_bound(n) {\r\n return n.bound;\r\n}\r\n\r\nexport function BigNatModule_setBound(n, v) {\r\n n.bound = (v | 0);\r\n}\r\n\r\nexport function BigNatModule_coeff(n, i) {\r\n return n.digits[i];\r\n}\r\n\r\nexport function BigNatModule_coeff64(n, i) {\r\n return fromInteger(BigNatModule_coeff(n, i), false, 2);\r\n}\r\n\r\nexport function BigNatModule_setCoeff(n, i, v) {\r\n n.digits[i] = (v | 0);\r\n}\r\n\r\nexport function BigNatModule_pow64(x_mut, n_mut) {\r\n BigNatModule_pow64:\r\n while (true) {\r\n const x = x_mut, n = n_mut;\r\n if (n === 0) {\r\n return fromBits(1, 0, false);\r\n }\r\n else if ((n % 2) === 0) {\r\n x_mut = op_Multiply(x, x);\r\n n_mut = (~(~(n / 2)));\r\n continue BigNatModule_pow64;\r\n }\r\n else {\r\n return op_Multiply(x, BigNatModule_pow64(op_Multiply(x, x), ~(~(n / 2))));\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_pow32(x_mut, n_mut) {\r\n BigNatModule_pow32:\r\n while (true) {\r\n const x = x_mut, n = n_mut;\r\n if (n === 0) {\r\n return 1;\r\n }\r\n else if ((n % 2) === 0) {\r\n x_mut = (x * x);\r\n n_mut = (~(~(n / 2)));\r\n continue BigNatModule_pow32;\r\n }\r\n else {\r\n return (x * BigNatModule_pow32(x * x, ~(~(n / 2)))) | 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_hash(n) {\r\n let res = 0;\r\n for (let i = 0; i <= (n.bound - 1); i++) {\r\n res = ((n.digits[i] + (res << 3)) | 0);\r\n }\r\n return res | 0;\r\n}\r\n\r\nexport function BigNatModule_maxInt(a, b) {\r\n if (a < b) {\r\n return b | 0;\r\n }\r\n else {\r\n return a | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_minInt(a, b) {\r\n if (a < b) {\r\n return a | 0;\r\n }\r\n else {\r\n return b | 0;\r\n }\r\n}\r\n\r\nexport const BigNatModule_baseBits = 24;\r\n\r\nexport const BigNatModule_baseN = 16777216;\r\n\r\nexport const BigNatModule_baseMask = 16777215;\r\n\r\nexport const BigNatModule_baseNi64 = fromBits(16777216, 0, false);\r\n\r\nexport const BigNatModule_baseMaski64 = fromBits(16777215, 0, false);\r\n\r\nexport const BigNatModule_baseMaskU = fromBits(16777215, 0, true);\r\n\r\nexport const BigNatModule_baseMask32A = 16777215;\r\n\r\nexport const BigNatModule_baseMask32B = 255;\r\n\r\nexport const BigNatModule_baseShift32B = 24;\r\n\r\nexport const BigNatModule_baseMask64A = 16777215;\r\n\r\nexport const BigNatModule_baseMask64B = 16777215;\r\n\r\nexport const BigNatModule_baseMask64C = 65535;\r\n\r\nexport const BigNatModule_baseShift64B = 24;\r\n\r\nexport const BigNatModule_baseShift64C = 48;\r\n\r\nexport function BigNatModule_divbase(x) {\r\n return ~(~((x >>> 0) >>> BigNatModule_baseBits));\r\n}\r\n\r\nexport function BigNatModule_modbase(x) {\r\n return x & BigNatModule_baseMask;\r\n}\r\n\r\nexport function BigNatModule_createN(b) {\r\n return new BigNat(b, new Int32Array(b));\r\n}\r\n\r\nexport function BigNatModule_copyN(x) {\r\n return new BigNat(x.bound, copy(x.digits));\r\n}\r\n\r\nexport function BigNatModule_normN(n) {\r\n const findLeastBound = (na_mut, i_mut) => {\r\n findLeastBound:\r\n while (true) {\r\n const na = na_mut, i = i_mut;\r\n if ((i === -1) ? true : (na[i] !== 0)) {\r\n return (i + 1) | 0;\r\n }\r\n else {\r\n na_mut = na;\r\n i_mut = (i - 1);\r\n continue findLeastBound;\r\n }\r\n break;\r\n }\r\n };\r\n const bound = findLeastBound(n.digits, n.bound - 1) | 0;\r\n n.bound = (bound | 0);\r\n return n;\r\n}\r\n\r\nexport const BigNatModule_boundInt = 2;\r\n\r\nexport const BigNatModule_boundInt64 = 3;\r\n\r\nexport const BigNatModule_boundBase = 1;\r\n\r\nexport function BigNatModule_embed(x) {\r\n const x_1 = ((x < 0) ? 0 : x) | 0;\r\n if (x_1 < BigNatModule_baseN) {\r\n const r = BigNatModule_createN(1);\r\n r.digits[0] = (x_1 | 0);\r\n return BigNatModule_normN(r);\r\n }\r\n else {\r\n const r_1 = BigNatModule_createN(BigNatModule_boundInt);\r\n for (let i = 0; i <= (BigNatModule_boundInt - 1); i++) {\r\n r_1.digits[i] = (((~(~(x_1 / BigNatModule_pow32(BigNatModule_baseN, i)))) % BigNatModule_baseN) | 0);\r\n }\r\n return BigNatModule_normN(r_1);\r\n }\r\n}\r\n\r\nexport function BigNatModule_embed64(x) {\r\n const x_1 = (compare(x, fromBits(0, 0, false)) < 0) ? fromBits(0, 0, false) : x;\r\n const r = BigNatModule_createN(BigNatModule_boundInt64);\r\n for (let i = 0; i <= (BigNatModule_boundInt64 - 1); i++) {\r\n r.digits[i] = ((~(~toInt(op_Modulus(op_Division(x_1, BigNatModule_pow64(BigNatModule_baseNi64, i)), BigNatModule_baseNi64)))) | 0);\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_eval32(n) {\r\n if (n.bound === 1) {\r\n return n.digits[0] | 0;\r\n }\r\n else {\r\n let acc = 0;\r\n for (let i = n.bound - 1; i >= 0; i--) {\r\n acc = ((n.digits[i] + (BigNatModule_baseN * acc)) | 0);\r\n }\r\n return acc | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_eval64(n) {\r\n if (n.bound === 1) {\r\n return fromInteger(n.digits[0], false, 2);\r\n }\r\n else {\r\n let acc = fromBits(0, 0, false);\r\n for (let i = n.bound - 1; i >= 0; i--) {\r\n acc = op_Addition(fromInteger(n.digits[i], false, 2), op_Multiply(BigNatModule_baseNi64, acc));\r\n }\r\n return acc;\r\n }\r\n}\r\n\r\nexport const BigNatModule_one = BigNatModule_embed(1);\r\n\r\nexport const BigNatModule_zero = BigNatModule_embed(0);\r\n\r\nexport function BigNatModule_restrictTo(d, n) {\r\n return new BigNat(BigNatModule_minInt(d, n.bound), n.digits);\r\n}\r\n\r\nexport function BigNatModule_shiftUp(d, n) {\r\n const m = BigNatModule_createN(n.bound + d);\r\n for (let i = 0; i <= (n.bound - 1); i++) {\r\n m.digits[i + d] = (n.digits[i] | 0);\r\n }\r\n return m;\r\n}\r\n\r\nexport function BigNatModule_shiftDown(d, n) {\r\n if ((n.bound - d) <= 0) {\r\n return BigNatModule_zero;\r\n }\r\n else {\r\n const m = BigNatModule_createN(n.bound - d);\r\n for (let i = 0; i <= (m.bound - 1); i++) {\r\n m.digits[i] = (n.digits[i + d] | 0);\r\n }\r\n return m;\r\n }\r\n}\r\n\r\nexport function BigNatModule_degree(n) {\r\n return n.bound - 1;\r\n}\r\n\r\nexport function BigNatModule_addP(i_mut, n_mut, c_mut, p_mut, q_mut, r_mut) {\r\n let z, i_1, z_1, i_2;\r\n BigNatModule_addP:\r\n while (true) {\r\n const i = i_mut, n = n_mut, c = c_mut, p = p_mut, q = q_mut, r = r_mut;\r\n if (i < n) {\r\n const x = ((((z = p, (i_1 = (i | 0), (i_1 < z.bound) ? z.digits[i_1] : 0))) + ((z_1 = q, (i_2 = (i | 0), (i_2 < z_1.bound) ? z_1.digits[i_2] : 0)))) + c) | 0;\r\n r.digits[i] = (BigNatModule_modbase(x) | 0);\r\n i_mut = (i + 1);\r\n n_mut = n;\r\n c_mut = BigNatModule_divbase(x);\r\n p_mut = p;\r\n q_mut = q;\r\n r_mut = r;\r\n continue BigNatModule_addP;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_add(p, q) {\r\n const rbound = (1 + BigNatModule_maxInt(p.bound, q.bound)) | 0;\r\n const r = BigNatModule_createN(rbound);\r\n BigNatModule_addP(0, rbound, 0, p, q, r);\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_subP(i_mut, n_mut, c_mut, p_mut, q_mut, r_mut) {\r\n let z, i_1, z_1, i_2;\r\n BigNatModule_subP:\r\n while (true) {\r\n const i = i_mut, n = n_mut, c = c_mut, p = p_mut, q = q_mut, r = r_mut;\r\n if (i < n) {\r\n const x = ((((z = p, (i_1 = (i | 0), (i_1 < z.bound) ? z.digits[i_1] : 0))) - ((z_1 = q, (i_2 = (i | 0), (i_2 < z_1.bound) ? z_1.digits[i_2] : 0)))) + c) | 0;\r\n if (x > 0) {\r\n r.digits[i] = (BigNatModule_modbase(x) | 0);\r\n i_mut = (i + 1);\r\n n_mut = n;\r\n c_mut = BigNatModule_divbase(x);\r\n p_mut = p;\r\n q_mut = q;\r\n r_mut = r;\r\n continue BigNatModule_subP;\r\n }\r\n else {\r\n const x_1 = (x + BigNatModule_baseN) | 0;\r\n r.digits[i] = (BigNatModule_modbase(x_1) | 0);\r\n i_mut = (i + 1);\r\n n_mut = n;\r\n c_mut = (BigNatModule_divbase(x_1) - 1);\r\n p_mut = p;\r\n q_mut = q;\r\n r_mut = r;\r\n continue BigNatModule_subP;\r\n }\r\n }\r\n else {\r\n return c !== 0;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_sub(p, q) {\r\n const rbound = BigNatModule_maxInt(p.bound, q.bound) | 0;\r\n const r = BigNatModule_createN(rbound);\r\n if (BigNatModule_subP(0, rbound, 0, p, q, r)) {\r\n return BigNatModule_embed(0);\r\n }\r\n else {\r\n return BigNatModule_normN(r);\r\n }\r\n}\r\n\r\nexport function BigNatModule_isZero(p) {\r\n return p.bound === 0;\r\n}\r\n\r\nexport function BigNatModule_IsZero(p) {\r\n return BigNatModule_isZero(p);\r\n}\r\n\r\nexport function BigNatModule_isOne(p) {\r\n if (p.bound === 1) {\r\n return p.digits[0] === 1;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function BigNatModule_equal(p, q) {\r\n if (p.bound === q.bound) {\r\n const check = (pa_mut, qa_mut, i_mut) => {\r\n check:\r\n while (true) {\r\n const pa = pa_mut, qa = qa_mut, i = i_mut;\r\n if (i === -1) {\r\n return true;\r\n }\r\n else if (pa[i] === qa[i]) {\r\n pa_mut = pa;\r\n qa_mut = qa;\r\n i_mut = (i - 1);\r\n continue check;\r\n }\r\n else {\r\n return false;\r\n }\r\n break;\r\n }\r\n };\r\n return check(p.digits, q.digits, p.bound - 1);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function BigNatModule_shiftCompare(p, pn, q, qn) {\r\n if ((p.bound + pn) < (q.bound + qn)) {\r\n return -1;\r\n }\r\n else if ((p.bound + pn) > (q.bound + pn)) {\r\n return 1;\r\n }\r\n else {\r\n const check = (pa_mut, qa_mut, i_mut) => {\r\n check:\r\n while (true) {\r\n const pa = pa_mut, qa = qa_mut, i = i_mut;\r\n if (i === -1) {\r\n return 0;\r\n }\r\n else {\r\n const pai = ((i < pn) ? 0 : pa[i - pn]) | 0;\r\n const qai = ((i < qn) ? 0 : qa[i - qn]) | 0;\r\n if (pai === qai) {\r\n pa_mut = pa;\r\n qa_mut = qa;\r\n i_mut = (i - 1);\r\n continue check;\r\n }\r\n else if (pai < qai) {\r\n return -1;\r\n }\r\n else {\r\n return 1;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return check(p.digits, q.digits, (p.bound + pn) - 1) | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_compare(p, q) {\r\n if (p.bound < q.bound) {\r\n return -1;\r\n }\r\n else if (p.bound > q.bound) {\r\n return 1;\r\n }\r\n else {\r\n const check = (pa_mut, qa_mut, i_mut) => {\r\n check:\r\n while (true) {\r\n const pa = pa_mut, qa = qa_mut, i = i_mut;\r\n if (i === -1) {\r\n return 0;\r\n }\r\n else if (pa[i] === qa[i]) {\r\n pa_mut = pa;\r\n qa_mut = qa;\r\n i_mut = (i - 1);\r\n continue check;\r\n }\r\n else if (pa[i] < qa[i]) {\r\n return -1;\r\n }\r\n else {\r\n return 1;\r\n }\r\n break;\r\n }\r\n };\r\n return check(p.digits, q.digits, p.bound - 1) | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_lt(p, q) {\r\n return BigNatModule_compare(p, q) === -1;\r\n}\r\n\r\nexport function BigNatModule_gt(p, q) {\r\n return BigNatModule_compare(p, q) === 1;\r\n}\r\n\r\nexport function BigNatModule_lte(p, q) {\r\n return BigNatModule_compare(p, q) !== 1;\r\n}\r\n\r\nexport function BigNatModule_gte(p, q) {\r\n return BigNatModule_compare(p, q) !== -1;\r\n}\r\n\r\nexport function BigNatModule_min(a, b) {\r\n if (BigNatModule_lt(a, b)) {\r\n return a;\r\n }\r\n else {\r\n return b;\r\n }\r\n}\r\n\r\nexport function BigNatModule_max(a, b) {\r\n if (BigNatModule_lt(a, b)) {\r\n return b;\r\n }\r\n else {\r\n return a;\r\n }\r\n}\r\n\r\nexport function BigNatModule_contributeArr(a_mut, i_mut, c_mut) {\r\n BigNatModule_contributeArr:\r\n while (true) {\r\n const a = a_mut, i = i_mut, c = c_mut;\r\n const x = op_Addition(fromInteger(a[i], false, 2), c);\r\n const c_1 = op_Division(x, BigNatModule_baseNi64);\r\n const x_3 = (~(~toInt(op_BitwiseAnd(x, BigNatModule_baseMaski64)))) | 0;\r\n a[i] = (x_3 | 0);\r\n if (compare(c_1, fromBits(0, 0, false)) > 0) {\r\n a_mut = a;\r\n i_mut = (i + 1);\r\n c_mut = c_1;\r\n continue BigNatModule_contributeArr;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_scale(k, p) {\r\n const r = BigNatModule_createN(p.bound + BigNatModule_boundInt);\r\n const k_1 = fromInteger(k, false, 2);\r\n for (let i = 0; i <= (p.bound - 1); i++) {\r\n BigNatModule_contributeArr(r.digits, i, op_Multiply(k_1, fromInteger(p.digits[i], false, 2)));\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_mulSchoolBookBothSmall(p, q) {\r\n const r = BigNatModule_createN(2);\r\n const rak = op_Multiply(fromInteger(p, false, 2), fromInteger(q, false, 2));\r\n BigNatModule_setCoeff(r, 0, ~(~toInt(op_BitwiseAnd(rak, BigNatModule_baseMaski64))));\r\n BigNatModule_setCoeff(r, 1, ~(~toInt(op_Division(rak, BigNatModule_baseNi64))));\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_mulSchoolBookCarry(r_mut, c_mut, k_mut) {\r\n BigNatModule_mulSchoolBookCarry:\r\n while (true) {\r\n const r = r_mut, c = c_mut, k = k_mut;\r\n if (compare(c, fromBits(0, 0, false)) > 0) {\r\n const rak = op_Addition(BigNatModule_coeff64(r, k), c);\r\n BigNatModule_setCoeff(r, k, ~(~toInt(op_BitwiseAnd(rak, BigNatModule_baseMaski64))));\r\n r_mut = r;\r\n c_mut = op_Division(rak, BigNatModule_baseNi64);\r\n k_mut = (k + 1);\r\n continue BigNatModule_mulSchoolBookCarry;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function BigNatModule_mulSchoolBookOneSmall(p, q) {\r\n const bp = BigNatModule_bound(p) | 0;\r\n const r = BigNatModule_createN(bp + 1);\r\n const q_1 = fromInteger(q, false, 2);\r\n let c = fromBits(0, 0, false);\r\n for (let i = 0; i <= (bp - 1); i++) {\r\n const rak = op_Addition(op_Addition(c, BigNatModule_coeff64(r, i)), op_Multiply(BigNatModule_coeff64(p, i), q_1));\r\n BigNatModule_setCoeff(r, i, ~(~toInt(op_BitwiseAnd(rak, BigNatModule_baseMaski64))));\r\n c = op_Division(rak, BigNatModule_baseNi64);\r\n }\r\n BigNatModule_mulSchoolBookCarry(r, c, bp);\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_mulSchoolBookNeitherSmall(p, q) {\r\n const r = BigNatModule_createN(p.bound + q.bound);\r\n const ra = r.digits;\r\n for (let i = 0; i <= (p.bound - 1); i++) {\r\n const pai = fromInteger(p.digits[i], false, 2);\r\n let c = fromBits(0, 0, false);\r\n let k = i;\r\n for (let j = 0; j <= (q.bound - 1); j++) {\r\n const qaj = fromInteger(q.digits[j], false, 2);\r\n const rak = op_Addition(op_Addition(fromInteger(ra[k], false, 2), c), op_Multiply(pai, qaj));\r\n ra[k] = ((~(~toInt(op_BitwiseAnd(rak, BigNatModule_baseMaski64)))) | 0);\r\n c = op_Division(rak, BigNatModule_baseNi64);\r\n k = ((k + 1) | 0);\r\n }\r\n BigNatModule_mulSchoolBookCarry(r, c, k);\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_mulSchoolBook(p, q) {\r\n const pSmall = BigNatModule_bound(p) === 1;\r\n const qSmall = BigNatModule_bound(q) === 1;\r\n if (pSmall && qSmall) {\r\n return BigNatModule_mulSchoolBookBothSmall(BigNatModule_coeff(p, 0), BigNatModule_coeff(q, 0));\r\n }\r\n else if (pSmall) {\r\n return BigNatModule_mulSchoolBookOneSmall(q, BigNatModule_coeff(p, 0));\r\n }\r\n else if (qSmall) {\r\n return BigNatModule_mulSchoolBookOneSmall(p, BigNatModule_coeff(q, 0));\r\n }\r\n else {\r\n return BigNatModule_mulSchoolBookNeitherSmall(p, q);\r\n }\r\n}\r\n\r\nexport class BigNatModule_encoding extends Record {\r\n constructor(bigL, twoToBigL, k, bigK, bigN, split, splits) {\r\n super();\r\n this.bigL = (bigL | 0);\r\n this.twoToBigL = (twoToBigL | 0);\r\n this.k = (k | 0);\r\n this.bigK = (bigK | 0);\r\n this.bigN = (bigN | 0);\r\n this.split = (split | 0);\r\n this.splits = splits;\r\n }\r\n}\r\n\r\nexport function BigNatModule_encoding$reflection() {\r\n return record_type(\"BigInt.BigNatModule.encoding\", [], BigNatModule_encoding, () => [[\"bigL\", int32_type], [\"twoToBigL\", int32_type], [\"k\", int32_type], [\"bigK\", int32_type], [\"bigN\", int32_type], [\"split\", int32_type], [\"splits\", array_type(int32_type)]]);\r\n}\r\n\r\nexport function BigNatModule_mkEncoding(bigL, k, bigK, bigN) {\r\n return new BigNatModule_encoding(bigL, BigNatModule_pow32(2, bigL), k, bigK, bigN, ~(~(BigNatModule_baseBits / bigL)), initialize(~(~(BigNatModule_baseBits / bigL)), (i) => BigNatModule_pow32(2, bigL * i), Int32Array));\r\n}\r\n\r\nexport const BigNatModule_table = [BigNatModule_mkEncoding(1, 28, 268435456, 268435456), BigNatModule_mkEncoding(2, 26, 67108864, 134217728), BigNatModule_mkEncoding(3, 24, 16777216, 50331648), BigNatModule_mkEncoding(4, 22, 4194304, 16777216), BigNatModule_mkEncoding(5, 20, 1048576, 5242880), BigNatModule_mkEncoding(6, 18, 262144, 1572864), BigNatModule_mkEncoding(7, 16, 65536, 458752), BigNatModule_mkEncoding(8, 14, 16384, 131072), BigNatModule_mkEncoding(9, 12, 4096, 36864), BigNatModule_mkEncoding(10, 10, 1024, 10240), BigNatModule_mkEncoding(11, 8, 256, 2816), BigNatModule_mkEncoding(12, 6, 64, 768), BigNatModule_mkEncoding(13, 4, 16, 208)];\r\n\r\nexport function BigNatModule_calculateTableTow(bigL) {\r\n const k = (BigNatModule_FFT_maxBitsInsideFp - (2 * bigL)) | 0;\r\n const bigK = BigNatModule_pow64(fromBits(2, 0, false), k);\r\n return [bigL, k, bigK, op_Multiply(bigK, fromInteger(bigL, false, 2))];\r\n}\r\n\r\nexport function BigNatModule_encodingGivenResultBits(bitsRes) {\r\n const selectFrom = (i_mut) => {\r\n selectFrom:\r\n while (true) {\r\n const i = i_mut;\r\n if (((i + 1) < BigNatModule_table.length) && (bitsRes < BigNatModule_table[i + 1].bigN)) {\r\n i_mut = (i + 1);\r\n continue selectFrom;\r\n }\r\n else {\r\n return BigNatModule_table[i];\r\n }\r\n break;\r\n }\r\n };\r\n if (bitsRes >= BigNatModule_table[0].bigN) {\r\n throw (new Error(\"Product is huge, around 268435456 bits, beyond quickmul\"));\r\n }\r\n else {\r\n return selectFrom(0);\r\n }\r\n}\r\n\r\nexport const BigNatModule_bitmask = initialize(BigNatModule_baseBits, (i) => (BigNatModule_pow32(2, i) - 1), Int32Array);\r\n\r\nexport const BigNatModule_twopowers = initialize(BigNatModule_baseBits, (i) => BigNatModule_pow32(2, i), Int32Array);\r\n\r\nexport const BigNatModule_twopowersI64 = initialize(BigNatModule_baseBits, (i) => BigNatModule_pow64(fromBits(2, 0, false), i));\r\n\r\nexport function BigNatModule_wordBits(word) {\r\n const hi = (k_mut) => {\r\n hi:\r\n while (true) {\r\n const k = k_mut;\r\n if (k === 0) {\r\n return 0;\r\n }\r\n else if ((word & BigNatModule_twopowers[k - 1]) !== 0) {\r\n return k | 0;\r\n }\r\n else {\r\n k_mut = (k - 1);\r\n continue hi;\r\n }\r\n break;\r\n }\r\n };\r\n return hi(BigNatModule_baseBits) | 0;\r\n}\r\n\r\nexport function BigNatModule_bits(u) {\r\n if (u.bound === 0) {\r\n return 0;\r\n }\r\n else {\r\n return ((BigNatModule_degree(u) * BigNatModule_baseBits) + BigNatModule_wordBits(u.digits[BigNatModule_degree(u)])) | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_extractBits(n, enc, bi) {\r\n let z, i, z_1, i_1, z_2, i_2;\r\n const biw = (~(~(bi / BigNatModule_baseBits))) | 0;\r\n const bjw = (~(~(((bi + enc.bigL) - 1) / BigNatModule_baseBits))) | 0;\r\n if (biw !== bjw) {\r\n const xbit = (bi % BigNatModule_baseBits) | 0;\r\n return (((((z = n, (i = (biw | 0), (i < z.bound) ? z.digits[i] : 0))) >> xbit) | (((z_1 = n, (i_1 = (bjw | 0), (i_1 < z_1.bound) ? z_1.digits[i_1] : 0))) << (BigNatModule_baseBits - xbit))) & BigNatModule_bitmask[enc.bigL]) | 0;\r\n }\r\n else {\r\n return ((((z_2 = n, (i_2 = (biw | 0), (i_2 < z_2.bound) ? z_2.digits[i_2] : 0))) >> (bi % BigNatModule_baseBits)) & BigNatModule_bitmask[enc.bigL]) | 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_encodePoly(enc, n) {\r\n const poly = fill(new Uint32Array(enc.bigK), 0, enc.bigK, BigNatModule_FFT_Fp_ofInt32(0));\r\n const biMax = (n.bound * BigNatModule_baseBits) | 0;\r\n const encoder = (i_mut, bi_mut) => {\r\n encoder:\r\n while (true) {\r\n const i = i_mut, bi = bi_mut;\r\n if ((i === enc.bigK) ? true : (bi > biMax)) {\r\n }\r\n else {\r\n const pi = BigNatModule_extractBits(n, enc, bi) | 0;\r\n poly[i] = BigNatModule_FFT_Fp_ofInt32(pi);\r\n i_mut = (i + 1);\r\n bi_mut = (bi + enc.bigL);\r\n continue encoder;\r\n }\r\n break;\r\n }\r\n };\r\n encoder(0, 0);\r\n return poly;\r\n}\r\n\r\nexport function BigNatModule_decodeResultBits(enc, poly) {\r\n let n = 0;\r\n for (let i = 0; i <= (poly.length - 1); i++) {\r\n if (poly[i] !== BigNatModule_FFT_mzero) {\r\n n = (i | 0);\r\n }\r\n }\r\n return (((BigNatModule_FFT_maxBitsInsideFp + (enc.bigL * n)) + 1) + 1) | 0;\r\n}\r\n\r\nexport function BigNatModule_decodePoly(enc, poly) {\r\n const rbound = ((~(~(BigNatModule_decodeResultBits(enc, poly) / BigNatModule_baseBits))) + 1) | 0;\r\n const r = BigNatModule_createN(rbound);\r\n const evaluate = (i_mut, j_mut, d_mut) => {\r\n evaluate:\r\n while (true) {\r\n const i = i_mut, j = j_mut, d = d_mut;\r\n if (i === enc.bigK) {\r\n }\r\n else {\r\n if (j >= rbound) {\r\n }\r\n else {\r\n BigNatModule_contributeArr(r.digits, j, op_Multiply(fromInteger(BigNatModule_FFT_Fp_toInt(poly[i]), false, 2), BigNatModule_twopowersI64[d]));\r\n }\r\n const d_1 = (d + enc.bigL) | 0;\r\n const patternInput = (d_1 >= BigNatModule_baseBits) ? [j + 1, d_1 - BigNatModule_baseBits] : [j, d_1];\r\n i_mut = (i + 1);\r\n j_mut = patternInput[0];\r\n d_mut = patternInput[1];\r\n continue evaluate;\r\n }\r\n break;\r\n }\r\n };\r\n evaluate(0, 0, 0);\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_quickMulUsingFft(u, v) {\r\n const enc = BigNatModule_encodingGivenResultBits(BigNatModule_bits(u) + BigNatModule_bits(v));\r\n return BigNatModule_normN(BigNatModule_decodePoly(enc, BigNatModule_FFT_computeFftPaddedPolynomialProduct(enc.bigK, enc.k, BigNatModule_encodePoly(enc, u), BigNatModule_encodePoly(enc, v))));\r\n}\r\n\r\nexport const BigNatModule_minDigitsKaratsuba = 16;\r\n\r\nexport function BigNatModule_recMulKaratsuba(mul, p, q) {\r\n const bmax = BigNatModule_maxInt(p.bound, q.bound) | 0;\r\n if (bmax > BigNatModule_minDigitsKaratsuba) {\r\n const k = (~(~(bmax / 2))) | 0;\r\n const a0 = BigNatModule_restrictTo(k, p);\r\n const a1 = BigNatModule_shiftDown(k, p);\r\n const b0 = BigNatModule_restrictTo(k, q);\r\n const b1 = BigNatModule_shiftDown(k, q);\r\n const q0 = mul(a0, b0);\r\n const q1 = mul(BigNatModule_add(a0, a1), BigNatModule_add(b0, b1));\r\n const q2 = mul(a1, b1);\r\n return BigNatModule_add(q0, BigNatModule_shiftUp(k, BigNatModule_add(BigNatModule_sub(q1, BigNatModule_add(q0, q2)), BigNatModule_shiftUp(k, q2))));\r\n }\r\n else {\r\n return BigNatModule_mulSchoolBook(p, q);\r\n }\r\n}\r\n\r\nexport function BigNatModule_mulKaratsuba(x, y) {\r\n return BigNatModule_recMulKaratsuba(BigNatModule_mulKaratsuba, x, y);\r\n}\r\n\r\nexport const BigNatModule_productDigitsUpperSchoolBook = ~(~(64000 / BigNatModule_baseBits));\r\n\r\nexport const BigNatModule_singleDigitForceSchoolBook = ~(~(32000 / BigNatModule_baseBits));\r\n\r\nexport const BigNatModule_productDigitsUpperFft = ~(~(BigNatModule_table[0].bigN / BigNatModule_baseBits));\r\n\r\nexport function BigNatModule_mul(p, q) {\r\n return BigNatModule_mulSchoolBook(p, q);\r\n}\r\n\r\nexport function BigNatModule_scaleSubInPlace(x, f, a, n) {\r\n const patternInput = [x.digits, BigNatModule_degree(x)];\r\n const x_1 = patternInput[0];\r\n const patternInput_1 = [a.digits, BigNatModule_degree(a)];\r\n const ad = patternInput_1[1] | 0;\r\n const a_1 = patternInput_1[0];\r\n const f_1 = fromInteger(f, false, 2);\r\n let j = 0;\r\n let z = op_Multiply(f_1, fromInteger(a_1[0], false, 2));\r\n while ((compare(z, fromBits(0, 0, false)) > 0) ? true : (j < ad)) {\r\n if (j > patternInput[1]) {\r\n throw (new Error(\"scaleSubInPlace: pre-condition did not apply, result would be -ve\"));\r\n }\r\n let zLo = ~(~toInt(op_BitwiseAnd(z, BigNatModule_baseMaski64)));\r\n let zHi = op_Division(z, BigNatModule_baseNi64);\r\n if (zLo <= x_1[j + n]) {\r\n x_1[j + n] = ((x_1[j + n] - zLo) | 0);\r\n }\r\n else {\r\n x_1[j + n] = ((x_1[j + n] + (BigNatModule_baseN - zLo)) | 0);\r\n zHi = op_Addition(zHi, fromBits(1, 0, false));\r\n }\r\n if (j < ad) {\r\n z = op_Addition(zHi, op_Multiply(f_1, fromInteger(a_1[j + 1], false, 2)));\r\n }\r\n else {\r\n z = zHi;\r\n }\r\n j = ((j + 1) | 0);\r\n }\r\n BigNatModule_normN(x);\r\n}\r\n\r\nexport function BigNatModule_scaleSub(x, f, a, n) {\r\n const freshx = BigNatModule_add(x, BigNatModule_zero);\r\n BigNatModule_scaleSubInPlace(freshx, f, a, n);\r\n return BigNatModule_normN(freshx);\r\n}\r\n\r\nexport function BigNatModule_scaleAddInPlace(x, f, a, n) {\r\n const patternInput = [x.digits, BigNatModule_degree(x)];\r\n const x_1 = patternInput[0];\r\n const patternInput_1 = [a.digits, BigNatModule_degree(a)];\r\n const ad = patternInput_1[1] | 0;\r\n const a_1 = patternInput_1[0];\r\n const f_1 = fromInteger(f, false, 2);\r\n let j = 0;\r\n let z = op_Multiply(f_1, fromInteger(a_1[0], false, 2));\r\n while ((compare(z, fromBits(0, 0, false)) > 0) ? true : (j < ad)) {\r\n if (j > patternInput[1]) {\r\n throw (new Error(\"scaleSubInPlace: pre-condition did not apply, result would be -ve\"));\r\n }\r\n let zLo = ~(~toInt(op_BitwiseAnd(z, BigNatModule_baseMaski64)));\r\n let zHi = op_Division(z, BigNatModule_baseNi64);\r\n if (zLo < (BigNatModule_baseN - x_1[j + n])) {\r\n x_1[j + n] = ((x_1[j + n] + zLo) | 0);\r\n }\r\n else {\r\n x_1[j + n] = ((zLo - (BigNatModule_baseN - x_1[j + n])) | 0);\r\n zHi = op_Addition(zHi, fromBits(1, 0, false));\r\n }\r\n if (j < ad) {\r\n z = op_Addition(zHi, op_Multiply(f_1, fromInteger(a_1[j + 1], false, 2)));\r\n }\r\n else {\r\n z = zHi;\r\n }\r\n j = ((j + 1) | 0);\r\n }\r\n BigNatModule_normN(x);\r\n}\r\n\r\nexport function BigNatModule_scaleAdd(x, f, a, n) {\r\n const freshx = BigNatModule_add(x, BigNatModule_zero);\r\n BigNatModule_scaleAddInPlace(freshx, f, a, n);\r\n return BigNatModule_normN(freshx);\r\n}\r\n\r\nexport function BigNatModule_removeFactor(x, a, n) {\r\n const patternInput = [BigNatModule_degree(a), BigNatModule_degree(x)];\r\n const degx = patternInput[1] | 0;\r\n const dega = patternInput[0] | 0;\r\n if (degx < (dega + n)) {\r\n return 0;\r\n }\r\n else {\r\n const patternInput_1 = [a.digits, x.digits];\r\n const xa = patternInput_1[1];\r\n const aa = patternInput_1[0];\r\n const f = ((dega === 0) ? ((degx === n) ? (~(~(xa[n] / aa[0]))) : (~(~toInt(op_Division(op_Addition(op_Multiply(fromInteger(xa[degx], false, 2), BigNatModule_baseNi64), fromInteger(xa[degx - 1], false, 2)), fromInteger(aa[0], false, 2)))))) : ((degx === (dega + n)) ? (~(~(xa[degx] / (aa[dega] + 1)))) : (~(~toInt(op_Division(op_Addition(op_Multiply(fromInteger(xa[degx], false, 2), BigNatModule_baseNi64), fromInteger(xa[degx - 1], false, 2)), op_Addition(fromInteger(aa[dega], false, 2), fromBits(1, 0, false)))))))) | 0;\r\n if (f === 0) {\r\n if (BigNatModule_shiftCompare(a, n, x, 0) !== 1) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n else {\r\n return f | 0;\r\n }\r\n }\r\n}\r\n\r\nexport function BigNatModule_divmod(b, a) {\r\n if (BigNatModule_isZero(a)) {\r\n throw (new Error());\r\n }\r\n else if (BigNatModule_degree(b) < BigNatModule_degree(a)) {\r\n return [BigNatModule_zero, b];\r\n }\r\n else {\r\n const x = BigNatModule_copyN(b);\r\n const d = BigNatModule_createN(((BigNatModule_degree(b) - BigNatModule_degree(a)) + 1) + 1);\r\n let p = BigNatModule_degree(b);\r\n const m = BigNatModule_degree(a) | 0;\r\n let n = p - m;\r\n const Invariant = (tupledArg) => {\r\n };\r\n let finished = false;\r\n while (!finished) {\r\n Invariant([d, x, n, p]);\r\n const f = BigNatModule_removeFactor(x, a, n) | 0;\r\n if (f > 0) {\r\n BigNatModule_scaleSubInPlace(x, f, a, n);\r\n BigNatModule_scaleAddInPlace(d, f, BigNatModule_one, n);\r\n Invariant([d, x, n, p]);\r\n }\r\n else {\r\n finished = ((f === 0) && (n === 0));\r\n if (!finished) {\r\n if (p === (m + n)) {\r\n Invariant([d, x, n - 1, p]);\r\n n = ((n - 1) | 0);\r\n }\r\n else {\r\n Invariant([d, x, n - 1, p - 1]);\r\n n = ((n - 1) | 0);\r\n p = ((p - 1) | 0);\r\n }\r\n }\r\n }\r\n }\r\n return [BigNatModule_normN(d), BigNatModule_normN(x)];\r\n }\r\n}\r\n\r\nexport function BigNatModule_div(b, a) {\r\n return BigNatModule_divmod(b, a)[0];\r\n}\r\n\r\nexport function BigNatModule_rem(b, a) {\r\n return BigNatModule_divmod(b, a)[1];\r\n}\r\n\r\nexport function BigNatModule_bitAnd(a, b) {\r\n const r = BigNatModule_createN(BigNatModule_minInt(a.bound, b.bound));\r\n for (let i = 0; i <= (r.bound - 1); i++) {\r\n r.digits[i] = ((a.digits[i] & b.digits[i]) | 0);\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_bitOr(a, b) {\r\n const r = BigNatModule_createN(BigNatModule_maxInt(a.bound, b.bound));\r\n for (let i = 0; i <= (a.bound - 1); i++) {\r\n r.digits[i] = ((r.digits[i] | a.digits[i]) | 0);\r\n }\r\n for (let i_1 = 0; i_1 <= (b.bound - 1); i_1++) {\r\n r.digits[i_1] = ((r.digits[i_1] | b.digits[i_1]) | 0);\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_bitXor(a, b) {\r\n const r = BigNatModule_createN(BigNatModule_maxInt(a.bound, b.bound));\r\n for (let i = 0; i <= (a.bound - 1); i++) {\r\n r.digits[i] = ((r.digits[i] ^ a.digits[i]) | 0);\r\n }\r\n for (let i_1 = 0; i_1 <= (b.bound - 1); i_1++) {\r\n r.digits[i_1] = ((r.digits[i_1] ^ b.digits[i_1]) | 0);\r\n }\r\n return BigNatModule_normN(r);\r\n}\r\n\r\nexport function BigNatModule_hcf(a, b) {\r\n const hcfloop = (a_1_mut, b_1_mut) => {\r\n hcfloop:\r\n while (true) {\r\n const a_1 = a_1_mut, b_1 = b_1_mut;\r\n if (BigNatModule_equal(BigNatModule_zero, a_1)) {\r\n return b_1;\r\n }\r\n else {\r\n a_1_mut = BigNatModule_divmod(b_1, a_1)[1];\r\n b_1_mut = a_1;\r\n continue hcfloop;\r\n }\r\n break;\r\n }\r\n };\r\n if (BigNatModule_lt(a, b)) {\r\n return hcfloop(a, b);\r\n }\r\n else {\r\n return hcfloop(b, a);\r\n }\r\n}\r\n\r\nexport const BigNatModule_two = BigNatModule_embed(2);\r\n\r\nexport function BigNatModule_powi(x, n) {\r\n const power = (acc_mut, x_1_mut, n_1_mut) => {\r\n power:\r\n while (true) {\r\n const acc = acc_mut, x_1 = x_1_mut, n_1 = n_1_mut;\r\n if (n_1 === 0) {\r\n return acc;\r\n }\r\n else if ((n_1 % 2) === 0) {\r\n acc_mut = acc;\r\n x_1_mut = BigNatModule_mul(x_1, x_1);\r\n n_1_mut = (~(~(n_1 / 2)));\r\n continue power;\r\n }\r\n else {\r\n acc_mut = BigNatModule_mul(x_1, acc);\r\n x_1_mut = BigNatModule_mul(x_1, x_1);\r\n n_1_mut = (~(~(n_1 / 2)));\r\n continue power;\r\n }\r\n break;\r\n }\r\n };\r\n return power(BigNatModule_one, x, n);\r\n}\r\n\r\nexport function BigNatModule_pow(x, n) {\r\n const power = (acc_mut, x_1_mut, n_1_mut) => {\r\n power:\r\n while (true) {\r\n const acc = acc_mut, x_1 = x_1_mut, n_1 = n_1_mut;\r\n if (BigNatModule_isZero(n_1)) {\r\n return acc;\r\n }\r\n else {\r\n const patternInput = BigNatModule_divmod(n_1, BigNatModule_two);\r\n const ndiv2 = patternInput[0];\r\n if (BigNatModule_isZero(patternInput[1])) {\r\n acc_mut = acc;\r\n x_1_mut = BigNatModule_mul(x_1, x_1);\r\n n_1_mut = ndiv2;\r\n continue power;\r\n }\r\n else {\r\n acc_mut = BigNatModule_mul(x_1, acc);\r\n x_1_mut = BigNatModule_mul(x_1, x_1);\r\n n_1_mut = ndiv2;\r\n continue power;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return power(BigNatModule_one, x, n);\r\n}\r\n\r\nexport function BigNatModule_toFloat(n) {\r\n const evalFloat = (acc_mut, k_mut, i_mut) => {\r\n evalFloat:\r\n while (true) {\r\n const acc = acc_mut, k = k_mut, i = i_mut;\r\n if (i === n.bound) {\r\n return acc;\r\n }\r\n else {\r\n acc_mut = (acc + (k * n.digits[i]));\r\n k_mut = (k * BigNatModule_baseN);\r\n i_mut = (i + 1);\r\n continue evalFloat;\r\n }\r\n break;\r\n }\r\n };\r\n return evalFloat(0, 1, 0);\r\n}\r\n\r\nexport function BigNatModule_ofInt32(n) {\r\n return BigNatModule_embed(n);\r\n}\r\n\r\nexport function BigNatModule_ofInt64(n) {\r\n return BigNatModule_embed64(n);\r\n}\r\n\r\nexport function BigNatModule_toUInt32(n) {\r\n const matchValue = n.bound | 0;\r\n switch (matchValue) {\r\n case 0: {\r\n return 0;\r\n }\r\n case 1: {\r\n const value = n.digits[0] | 0;\r\n return value >>> 0;\r\n }\r\n case 2: {\r\n const patternInput = [n.digits[0], n.digits[1]];\r\n const xB = patternInput[1] | 0;\r\n if (xB > BigNatModule_baseMask32B) {\r\n throw (new Error());\r\n }\r\n return ((patternInput[0] & BigNatModule_baseMask32A) >>> 0) + ((((xB & BigNatModule_baseMask32B) >>> 0) << BigNatModule_baseShift32B) >>> 0);\r\n }\r\n default: {\r\n throw (new Error());\r\n }\r\n }\r\n}\r\n\r\nexport function BigNatModule_toUInt64(n) {\r\n const matchValue = n.bound | 0;\r\n switch (matchValue) {\r\n case 0: {\r\n return fromBits(0, 0, true);\r\n }\r\n case 1: {\r\n return fromInteger(n.digits[0], true, 2);\r\n }\r\n case 2: {\r\n const patternInput = [n.digits[0], n.digits[1]];\r\n return op_Addition(fromInteger(patternInput[0] & BigNatModule_baseMask64A, true, 2), op_LeftShift(fromInteger(patternInput[1] & BigNatModule_baseMask64B, true, 2), BigNatModule_baseShift64B));\r\n }\r\n case 3: {\r\n const patternInput_1 = [n.digits[0], n.digits[1], n.digits[2]];\r\n const xC = patternInput_1[2] | 0;\r\n if (xC > BigNatModule_baseMask64C) {\r\n throw (new Error());\r\n }\r\n return op_Addition(op_Addition(fromInteger(patternInput_1[0] & BigNatModule_baseMask64A, true, 2), op_LeftShift(fromInteger(patternInput_1[1] & BigNatModule_baseMask64B, true, 2), BigNatModule_baseShift64B)), op_LeftShift(fromInteger(xC & BigNatModule_baseMask64C, true, 2), BigNatModule_baseShift64C));\r\n }\r\n default: {\r\n throw (new Error());\r\n }\r\n }\r\n}\r\n\r\nexport function BigNatModule_toString(n) {\r\n const degn = BigNatModule_degree(n) | 0;\r\n const route = (prior_mut, k_mut, ten2k_mut) => {\r\n route:\r\n while (true) {\r\n const prior = prior_mut, k = k_mut, ten2k = ten2k_mut;\r\n if (BigNatModule_degree(ten2k) > degn) {\r\n return cons([k, ten2k], prior);\r\n }\r\n else {\r\n prior_mut = cons([k, ten2k], prior);\r\n k_mut = (k + 1);\r\n ten2k_mut = BigNatModule_mul(ten2k, ten2k);\r\n continue route;\r\n }\r\n break;\r\n }\r\n };\r\n const collect = (isLeading_mut, digits_mut, n_1_mut, _arg_mut) => {\r\n collect:\r\n while (true) {\r\n const isLeading = isLeading_mut, digits = digits_mut, n_1 = n_1_mut, _arg = _arg_mut;\r\n if (!isEmpty(_arg)) {\r\n const prior_1 = tail(_arg);\r\n const patternInput = BigNatModule_divmod(n_1, head(_arg)[1]);\r\n const nL = patternInput[1];\r\n const nH = patternInput[0];\r\n if (isLeading && BigNatModule_isZero(nH)) {\r\n isLeading_mut = isLeading;\r\n digits_mut = digits;\r\n n_1_mut = nL;\r\n _arg_mut = prior_1;\r\n continue collect;\r\n }\r\n else {\r\n isLeading_mut = isLeading;\r\n digits_mut = collect(false, digits, nL, prior_1);\r\n n_1_mut = nH;\r\n _arg_mut = prior_1;\r\n continue collect;\r\n }\r\n }\r\n else {\r\n const n_2 = BigNatModule_eval32(n_1) | 0;\r\n if (isLeading && (n_2 === 0)) {\r\n return digits;\r\n }\r\n else {\r\n return cons(int32ToString(n_2), digits);\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n const digits_4 = collect(true, empty(), n, route(empty(), 0, BigNatModule_embed(10)));\r\n if (isEmpty(digits_4)) {\r\n return \"0\";\r\n }\r\n else {\r\n return join(\"\", toArray(digits_4));\r\n }\r\n}\r\n\r\nexport function BigNatModule_ofString(str) {\r\n const len = str.length | 0;\r\n if (isNullOrEmpty(str)) {\r\n throw (new Error(\"empty string\\\\nParameter name: str\"));\r\n }\r\n const ten = BigNatModule_embed(10);\r\n const build = (acc_mut, i_mut) => {\r\n build:\r\n while (true) {\r\n const acc = acc_mut, i = i_mut;\r\n if (i === len) {\r\n return acc;\r\n }\r\n else {\r\n const c = str[i];\r\n const d = (c.charCodeAt(0) - 48) | 0;\r\n if ((0 <= d) && (d <= 9)) {\r\n acc_mut = BigNatModule_add(BigNatModule_mul(ten, acc), BigNatModule_embed(d));\r\n i_mut = (i + 1);\r\n continue build;\r\n }\r\n else {\r\n throw (new Error());\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return build(BigNatModule_embed(0), 0);\r\n}\r\n\r\nexport function BigNatModule_isSmall(n) {\r\n return n.bound <= 1;\r\n}\r\n\r\nexport function BigNatModule_getSmall(n) {\r\n const z = n;\r\n const i = 0;\r\n if (i < z.bound) {\r\n return z.digits[i] | 0;\r\n }\r\n else {\r\n return 0;\r\n }\r\n}\r\n\r\nexport function BigNatModule_factorial(n) {\r\n const productR = (a, b) => {\r\n if (BigNatModule_equal(a, b)) {\r\n return a;\r\n }\r\n else {\r\n const m = BigNatModule_div(BigNatModule_add(a, b), BigNatModule_ofInt32(2));\r\n return BigNatModule_mul(productR(a, m), productR(BigNatModule_add(m, BigNatModule_one), b));\r\n }\r\n };\r\n return productR(BigNatModule_one, n);\r\n}\r\n\r\n","import { BigNatModule_factorial, BigNatModule_ofString, BigNatModule_toFloat, BigNatModule_toUInt64, BigNatModule_toUInt32, BigNatModule_pow, BigNatModule_two, BigNatModule_rem, BigNatModule_lte, BigNatModule_hcf, BigNatModule_bitXor, BigNatModule_bitOr, BigNatModule_bitAnd, BigNatModule_divmod, BigNatModule_mul, BigNatModule_isOne, BigNatModule_sub, BigNatModule_gte, BigNatModule_scale, BigNatModule_one, BigNatModule_add, BigNatModule_ofInt64, BigNatModule_hash, BigNatModule_gt, BigNatModule_lt, BigNatModule_equal, BigNatModule_getSmall, BigNatModule_isSmall, BigNatModule_ofInt32, BigNatModule_toString, BigNatModule_isZero } from \"./n.js\";\r\nimport { Record, toString } from \"../Types.js\";\r\nimport { class_type } from \"../Reflection.js\";\r\nimport { initialize } from \"../Array.js\";\r\nimport { op_Addition, op_Multiply, fromValue, equals, fromBits, compare, fromInteger, op_UnaryNegation } from \"../Long.js\";\r\nimport { op_UnaryNegation_Int32 } from \"../Int32.js\";\r\nimport Decimal from \"../Decimal.js\";\r\n\r\nexport class BigInteger extends Record {\r\n constructor(signInt, v) {\r\n super();\r\n this.signInt = (signInt | 0);\r\n this.v = v;\r\n }\r\n toString() {\r\n const x = this;\r\n const matchValue = BigInteger__get_SignInt(x) | 0;\r\n switch (matchValue) {\r\n case -1: {\r\n return BigNatModule_isZero(BigInteger__get_V(x)) ? \"0\" : (\"-\" + BigNatModule_toString(BigInteger__get_V(x)));\r\n }\r\n case 0: {\r\n return \"0\";\r\n }\r\n case 1: {\r\n return BigNatModule_toString(BigInteger__get_V(x));\r\n }\r\n default: {\r\n throw (new Error(\"signs should be +/- 1 or 0\"));\r\n }\r\n }\r\n }\r\n Equals(obj) {\r\n const this$ = this;\r\n return (obj instanceof BigInteger) && BigInteger_op_Equality_56F059C0(this$, obj);\r\n }\r\n GetHashCode() {\r\n const x = this;\r\n return BigInteger_hash_Z665282C2(x) | 0;\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return toString(this$);\r\n }\r\n CompareTo(obj) {\r\n const this$ = this;\r\n if (obj instanceof BigInteger) {\r\n return BigInteger_compare_56F059C0(this$, obj) | 0;\r\n }\r\n else {\r\n throw (new Error(\"the objects are not comparable\\\\nParameter name: obj\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger$reflection() {\r\n return class_type(\"BigInt.BigInteger\", void 0, BigInteger, class_type(\"System.ValueType\"));\r\n}\r\n\r\nexport function BigInteger_$ctor_Z2BE94A1(signInt, v) {\r\n return new BigInteger(signInt, v);\r\n}\r\n\r\n(() => {\r\n BigInteger.smallLim = 4096;\r\n BigInteger.smallPosTab = initialize(BigInteger.smallLim, BigNatModule_ofInt32);\r\n BigInteger.one = BigInteger_$ctor_Z524259A4(1);\r\n BigInteger.two = BigInteger_$ctor_Z524259A4(2);\r\n BigInteger.zero = BigInteger_$ctor_Z524259A4(0);\r\n})();\r\n\r\nexport function BigInteger_nat_Z67CCE57D(n) {\r\n if (BigNatModule_isSmall(n) && (BigNatModule_getSmall(n) < BigInteger.smallLim)) {\r\n return BigInteger.smallPosTab[BigNatModule_getSmall(n)];\r\n }\r\n else {\r\n return n;\r\n }\r\n}\r\n\r\nexport function BigInteger_create_Z2BE94A1(s, n) {\r\n return BigInteger_$ctor_Z2BE94A1(s, BigInteger_nat_Z67CCE57D(n));\r\n}\r\n\r\nexport function BigInteger_posn_Z67CCE57D(n) {\r\n return BigInteger_$ctor_Z2BE94A1(1, BigInteger_nat_Z67CCE57D(n));\r\n}\r\n\r\nexport function BigInteger_negn_Z67CCE57D(n) {\r\n return BigInteger_$ctor_Z2BE94A1(-1, BigInteger_nat_Z67CCE57D(n));\r\n}\r\n\r\nexport function BigInteger__get_Sign(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return 0;\r\n }\r\n else {\r\n return x.signInt | 0;\r\n }\r\n}\r\n\r\nexport function BigInteger__get_SignInt(x) {\r\n return x.signInt;\r\n}\r\n\r\nexport function BigInteger__get_V(x) {\r\n return x.v;\r\n}\r\n\r\nexport function BigInteger_op_Equality_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 8;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 0) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 6;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 4;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 5;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 7;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigNatModule_equal(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigNatModule_equal(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 2: {\r\n if (BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n case 3: {\r\n if (BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n case 4: {\r\n return true;\r\n }\r\n case 5: {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 6: {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 7: {\r\n return BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 8: {\r\n return BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 9: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_Inequality_56F059C0(x, y) {\r\n return !BigInteger_op_Equality_56F059C0(x, y);\r\n}\r\n\r\nexport function BigInteger_op_LessThan_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 8;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 0) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 6;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 4;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 5;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 7;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigNatModule_lt(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigNatModule_lt(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 2: {\r\n return false;\r\n }\r\n case 3: {\r\n if (!BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return true;\r\n }\r\n else {\r\n return !BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n }\r\n case 4: {\r\n return false;\r\n }\r\n case 5: {\r\n return !BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 6: {\r\n return false;\r\n }\r\n case 7: {\r\n return false;\r\n }\r\n case 8: {\r\n return !BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 9: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_GreaterThan_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 8;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 0) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 6;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 4;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 5;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 7;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigNatModule_gt(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigNatModule_gt(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 2: {\r\n if (!BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return true;\r\n }\r\n else {\r\n return !BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n }\r\n case 3: {\r\n return false;\r\n }\r\n case 4: {\r\n return false;\r\n }\r\n case 5: {\r\n return false;\r\n }\r\n case 6: {\r\n return !BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 7: {\r\n return !BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 8: {\r\n return false;\r\n }\r\n case 9: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_compare_56F059C0(n, nn) {\r\n if (BigInteger_op_LessThan_56F059C0(n, nn)) {\r\n return -1;\r\n }\r\n else if (BigInteger_op_Equality_56F059C0(n, nn)) {\r\n return 0;\r\n }\r\n else {\r\n return 1;\r\n }\r\n}\r\n\r\nexport function BigInteger_hash_Z665282C2(z) {\r\n if (BigInteger__get_SignInt(z) === 0) {\r\n return 1;\r\n }\r\n else {\r\n return (BigInteger__get_SignInt(z) + BigNatModule_hash(BigInteger__get_V(z))) | 0;\r\n }\r\n}\r\n\r\nexport function BigInteger__get_StructuredDisplayString(x) {\r\n return toString(x);\r\n}\r\n\r\nexport function BigInteger_$ctor_Z524259A4(n) {\r\n if (n >= 0) {\r\n return BigInteger_$ctor_Z2BE94A1(1, BigInteger_nat_Z67CCE57D(BigNatModule_ofInt32(n)));\r\n }\r\n else if (n === -2147483648) {\r\n return BigInteger_$ctor_Z2BE94A1(-1, BigInteger_nat_Z67CCE57D(BigNatModule_ofInt64(op_UnaryNegation(fromInteger(n, false, 2)))));\r\n }\r\n else {\r\n return BigInteger_$ctor_Z2BE94A1(-1, BigInteger_nat_Z67CCE57D(BigNatModule_ofInt32(op_UnaryNegation_Int32(n))));\r\n }\r\n}\r\n\r\nexport function BigInteger_$ctor_Z524259C1(n) {\r\n if (compare(n, fromBits(0, 0, false)) >= 0) {\r\n return BigInteger_$ctor_Z2BE94A1(1, BigInteger_nat_Z67CCE57D(BigNatModule_ofInt64(n)));\r\n }\r\n else if (equals(n, fromBits(0, 2147483648, false))) {\r\n return BigInteger_$ctor_Z2BE94A1(-1, BigInteger_nat_Z67CCE57D(BigNatModule_add(BigNatModule_ofInt64(fromBits(4294967295, 2147483647, false)), BigNatModule_one)));\r\n }\r\n else {\r\n return BigInteger_$ctor_Z2BE94A1(-1, BigInteger_nat_Z67CCE57D(BigNatModule_ofInt64(op_UnaryNegation(n))));\r\n }\r\n}\r\n\r\nexport function BigInteger_get_One() {\r\n return BigInteger.one;\r\n}\r\n\r\nexport function BigInteger_get_Two() {\r\n return BigInteger.two;\r\n}\r\n\r\nexport function BigInteger_get_Zero() {\r\n return BigInteger.zero;\r\n}\r\n\r\nexport function BigInteger_op_UnaryNegation_Z665282C2(z) {\r\n const matchValue = BigInteger__get_SignInt(z) | 0;\r\n if (matchValue === 0) {\r\n return BigInteger_get_Zero();\r\n }\r\n else {\r\n return BigInteger_create_Z2BE94A1(op_UnaryNegation_Int32(matchValue), BigInteger__get_V(z));\r\n }\r\n}\r\n\r\nexport function BigInteger_Scale_Z320F31E(k, z) {\r\n if (BigInteger__get_SignInt(z) === 0) {\r\n return BigInteger_get_Zero();\r\n }\r\n else if (k < 0) {\r\n return BigInteger_create_Z2BE94A1(op_UnaryNegation_Int32(BigInteger__get_SignInt(z)), BigNatModule_scale(op_UnaryNegation_Int32(k), BigInteger__get_V(z)));\r\n }\r\n else {\r\n return BigInteger_create_Z2BE94A1(BigInteger__get_SignInt(z), BigNatModule_scale(k, BigInteger__get_V(z)));\r\n }\r\n}\r\n\r\nexport function BigInteger_subnn_6A57060(nx, ny) {\r\n if (BigNatModule_gte(nx, ny)) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_sub(nx, ny));\r\n }\r\n else {\r\n return BigInteger_negn_Z67CCE57D(BigNatModule_sub(ny, nx));\r\n }\r\n}\r\n\r\nexport function BigInteger_addnn_6A57060(nx, ny) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_add(nx, ny));\r\n}\r\n\r\nexport function BigInteger__get_IsZero(x) {\r\n if (BigInteger__get_SignInt(x) === 0) {\r\n return true;\r\n }\r\n else {\r\n return BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_IsOne(x) {\r\n if (BigInteger__get_SignInt(x) === 1) {\r\n return BigNatModule_isOne(BigInteger__get_V(x));\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function BigInteger_op_Addition_56F059C0(x, y) {\r\n if (BigInteger__get_IsZero(y)) {\r\n return x;\r\n }\r\n else if (BigInteger__get_IsZero(x)) {\r\n return y;\r\n }\r\n else {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigInteger_addnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigInteger_op_UnaryNegation_Z665282C2(BigInteger_addnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n }\r\n case 2: {\r\n return BigInteger_subnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 3: {\r\n return BigInteger_subnn_6A57060(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 4: {\r\n throw (new Error(\"signs should be +/- 1\\\\nParameter name: x\"));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_Subtraction_56F059C0(x, y) {\r\n if (BigInteger__get_IsZero(y)) {\r\n return x;\r\n }\r\n else if (BigInteger__get_IsZero(x)) {\r\n return BigInteger_op_UnaryNegation_Z665282C2(y);\r\n }\r\n else {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigInteger_subnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigInteger_subnn_6A57060(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 2: {\r\n return BigInteger_addnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 3: {\r\n return BigInteger_op_UnaryNegation_Z665282C2(BigInteger_addnn_6A57060(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n }\r\n case 4: {\r\n throw (new Error(\"signs should be +/- 1\\\\nParameter name: x\"));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_Multiply_56F059C0(x, y) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return x;\r\n }\r\n else if (BigInteger__get_IsZero(y)) {\r\n return y;\r\n }\r\n else if (BigInteger__get_IsOne(x)) {\r\n return y;\r\n }\r\n else if (BigInteger__get_IsOne(y)) {\r\n return x;\r\n }\r\n else {\r\n const m = BigNatModule_mul(BigInteger__get_V(x), BigInteger__get_V(y));\r\n return BigInteger_create_Z2BE94A1(BigInteger__get_SignInt(x) * BigInteger__get_SignInt(y), m);\r\n }\r\n}\r\n\r\nexport function BigInteger_DivRem_56F059C0(x, y) {\r\n if (BigInteger__get_IsZero(y)) {\r\n throw (new Error());\r\n }\r\n if (BigInteger__get_IsZero(x)) {\r\n return [BigInteger_get_Zero(), BigInteger_get_Zero()];\r\n }\r\n else {\r\n const patternInput = BigNatModule_divmod(BigInteger__get_V(x), BigInteger__get_V(y));\r\n const r = patternInput[1];\r\n const d = patternInput[0];\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 4;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return [BigInteger_posn_Z67CCE57D(d), BigInteger_posn_Z67CCE57D(r)];\r\n }\r\n case 1: {\r\n return [BigInteger_posn_Z67CCE57D(d), BigInteger_negn_Z67CCE57D(r)];\r\n }\r\n case 2: {\r\n return [BigInteger_negn_Z67CCE57D(d), BigInteger_posn_Z67CCE57D(r)];\r\n }\r\n case 3: {\r\n return [BigInteger_negn_Z67CCE57D(d), BigInteger_negn_Z67CCE57D(r)];\r\n }\r\n case 4: {\r\n throw (new Error(\"signs should be +/- 1\\\\nParameter name: x\"));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_Division_56F059C0(x, y) {\r\n return BigInteger_DivRem_56F059C0(x, y)[0];\r\n}\r\n\r\nexport function BigInteger_op_Modulus_56F059C0(x, y) {\r\n return BigInteger_DivRem_56F059C0(x, y)[1];\r\n}\r\n\r\nexport function BigInteger_op_RightShift_62E082A2(x, y) {\r\n return BigInteger_op_Division_56F059C0(x, BigInteger_Pow_62E082A2(BigInteger_get_Two(), y));\r\n}\r\n\r\nexport function BigInteger_op_LeftShift_62E082A2(x, y) {\r\n return BigInteger_op_Multiply_56F059C0(x, BigInteger_Pow_62E082A2(BigInteger_get_Two(), y));\r\n}\r\n\r\nexport function BigInteger_op_BitwiseAnd_56F059C0(x, y) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_bitAnd(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n}\r\n\r\nexport function BigInteger_op_BitwiseOr_56F059C0(x, y) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_bitOr(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n}\r\n\r\nexport function BigInteger_op_ExclusiveOr_56F059C0(x, y) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_bitXor(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n}\r\n\r\nexport function BigInteger_GreatestCommonDivisor_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n if (matchValue[0] === 0) {\r\n if (matchValue[1] === 0) {\r\n return BigInteger_get_Zero();\r\n }\r\n else {\r\n return BigInteger_posn_Z67CCE57D(BigInteger__get_V(y));\r\n }\r\n }\r\n else if (matchValue[1] === 0) {\r\n return BigInteger_posn_Z67CCE57D(BigInteger__get_V(x));\r\n }\r\n else {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_hcf(BigInteger__get_V(x), BigInteger__get_V(y)));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_IsNegative(x) {\r\n if (BigInteger__get_SignInt(x) === -1) {\r\n return !BigInteger__get_IsZero(x);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function BigInteger__get_IsPositive(x) {\r\n if (BigInteger__get_SignInt(x) === 1) {\r\n return !BigInteger__get_IsZero(x);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function BigInteger_Abs_Z665282C2(x) {\r\n if (BigInteger__get_SignInt(x) === -1) {\r\n return BigInteger_op_UnaryNegation_Z665282C2(x);\r\n }\r\n else {\r\n return x;\r\n }\r\n}\r\n\r\nexport function BigInteger_op_LessThanOrEqual_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 6;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 0) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 8;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 4;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 7;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 5;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigNatModule_lte(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigNatModule_lte(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 2: {\r\n if (BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n case 3: {\r\n return true;\r\n }\r\n case 4: {\r\n return true;\r\n }\r\n case 5: {\r\n return BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 6: {\r\n return true;\r\n }\r\n case 7: {\r\n return true;\r\n }\r\n case 8: {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 9: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_op_GreaterThanOrEqual_56F059C0(x, y) {\r\n const matchValue = [BigInteger__get_SignInt(x), BigInteger__get_SignInt(y)];\r\n let pattern_matching_result;\r\n if (matchValue[0] === -1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 1;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 6;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 3;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 0) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 8;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 4;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 7;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else if (matchValue[0] === 1) {\r\n if (matchValue[1] === -1) {\r\n pattern_matching_result = 2;\r\n }\r\n else if (matchValue[1] === 0) {\r\n pattern_matching_result = 5;\r\n }\r\n else if (matchValue[1] === 1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 9;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return BigNatModule_gte(BigInteger__get_V(x), BigInteger__get_V(y));\r\n }\r\n case 1: {\r\n return BigNatModule_gte(BigInteger__get_V(y), BigInteger__get_V(x));\r\n }\r\n case 2: {\r\n return true;\r\n }\r\n case 3: {\r\n if (BigNatModule_isZero(BigInteger__get_V(x))) {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n case 4: {\r\n return true;\r\n }\r\n case 5: {\r\n return true;\r\n }\r\n case 6: {\r\n return BigNatModule_isZero(BigInteger__get_V(x));\r\n }\r\n case 7: {\r\n return BigNatModule_isZero(BigInteger__get_V(y));\r\n }\r\n case 8: {\r\n return true;\r\n }\r\n case 9: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger_Pow_62E082A2(x, y) {\r\n if (y < 0) {\r\n throw (new Error(\"y\"));\r\n }\r\n const matchValue = [BigInteger__get_IsZero(x), y];\r\n if (matchValue[0]) {\r\n if (matchValue[1] === 0) {\r\n return BigInteger_get_One();\r\n }\r\n else {\r\n return BigInteger_get_Zero();\r\n }\r\n }\r\n else {\r\n const yval = BigInteger_$ctor_Z524259A4(y);\r\n return BigInteger_create_Z2BE94A1(BigNatModule_isZero(BigNatModule_rem(BigInteger__get_V(yval), BigNatModule_two)) ? 1 : BigInteger__get_SignInt(x), BigNatModule_pow(BigInteger__get_V(x), BigInteger__get_V(yval)));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToInt32(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return 0;\r\n }\r\n else {\r\n const u = BigNatModule_toUInt32(BigInteger__get_V(x));\r\n if (u <= (2147483647 >>> 0)) {\r\n return (BigInteger__get_SignInt(x) * (~(~u))) | 0;\r\n }\r\n else if ((BigInteger__get_SignInt(x) === -1) && (u === ((2147483647 + 1) >>> 0))) {\r\n return -2147483648;\r\n }\r\n else {\r\n throw (new Error());\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToUInt32(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return 0;\r\n }\r\n else {\r\n return BigNatModule_toUInt32(BigInteger__get_V(x));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToInt64(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return fromBits(0, 0, false);\r\n }\r\n else {\r\n const u = BigNatModule_toUInt64(BigInteger__get_V(x));\r\n if (compare(u, fromValue(fromBits(4294967295, 2147483647, false), true)) <= 0) {\r\n return op_Multiply(fromInteger(BigInteger__get_SignInt(x), false, 2), fromValue(u, false));\r\n }\r\n else if ((BigInteger__get_SignInt(x) === -1) && equals(u, fromValue(op_Addition(fromBits(4294967295, 2147483647, false), fromBits(1, 0, false)), true))) {\r\n return fromBits(0, 2147483648, false);\r\n }\r\n else {\r\n throw (new Error());\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToUInt64(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return fromBits(0, 0, true);\r\n }\r\n else {\r\n return BigNatModule_toUInt64(BigInteger__get_V(x));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToDouble(x) {\r\n const matchValue = BigInteger__get_SignInt(x) | 0;\r\n switch (matchValue) {\r\n case -1: {\r\n return -BigNatModule_toFloat(BigInteger__get_V(x));\r\n }\r\n case 0: {\r\n return 0;\r\n }\r\n case 1: {\r\n return BigNatModule_toFloat(BigInteger__get_V(x));\r\n }\r\n default: {\r\n throw (new Error(\"signs should be +/- 1 or 0\\\\nParameter name: x\"));\r\n }\r\n }\r\n}\r\n\r\nexport function BigInteger__get_ToSByte(x) {\r\n return (BigInteger__get_ToInt32(x) + 0x80 & 0xFF) - 0x80;\r\n}\r\n\r\nexport function BigInteger__get_ToByte(x) {\r\n return BigInteger__get_ToUInt32(x) & 0xFF;\r\n}\r\n\r\nexport function BigInteger__get_ToInt16(x) {\r\n return (BigInteger__get_ToInt32(x) + 0x8000 & 0xFFFF) - 0x8000;\r\n}\r\n\r\nexport function BigInteger__get_ToUInt16(x) {\r\n return BigInteger__get_ToUInt32(x) & 0xFFFF;\r\n}\r\n\r\nexport function BigInteger__get_ToSingle(x) {\r\n return BigInteger__get_ToDouble(x);\r\n}\r\n\r\nexport function BigInteger__get_ToDecimal(x) {\r\n return new Decimal(BigInteger__get_ToDouble(x));\r\n}\r\n\r\nexport function BigInteger_Parse_Z721C83C5(text) {\r\n if (text == null) {\r\n throw (new Error(\"text\"));\r\n }\r\n const text_1 = text.trim();\r\n const len = text_1.length | 0;\r\n if (len === 0) {\r\n throw (new Error());\r\n }\r\n const matchValue = [text_1[0], len];\r\n if (matchValue[0] === \"+\") {\r\n if (matchValue[1] === 1) {\r\n throw (new Error());\r\n }\r\n else {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_ofString(text_1.slice(1, (len - 1) + 1)));\r\n }\r\n }\r\n else if (matchValue[0] === \"-\") {\r\n if (matchValue[1] === 1) {\r\n throw (new Error());\r\n }\r\n else {\r\n return BigInteger_negn_Z67CCE57D(BigNatModule_ofString(text_1.slice(1, (len - 1) + 1)));\r\n }\r\n }\r\n else {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_ofString(text_1));\r\n }\r\n}\r\n\r\nexport function BigInteger__get_IsSmall(x) {\r\n if (BigInteger__get_IsZero(x)) {\r\n return true;\r\n }\r\n else {\r\n return BigNatModule_isSmall(BigInteger__get_V(x));\r\n }\r\n}\r\n\r\nexport function BigInteger_Factorial_Z665282C2(x) {\r\n if (BigInteger__get_IsNegative(x)) {\r\n throw (new Error(\"mustBeNonNegative\\\\nParameter name: x\"));\r\n }\r\n if (BigInteger__get_IsPositive(x)) {\r\n return BigInteger_posn_Z67CCE57D(BigNatModule_factorial(BigInteger__get_V(x)));\r\n }\r\n else {\r\n return BigInteger_get_One();\r\n }\r\n}\r\n\r\nexport function BigInteger_op_UnaryPlus_Z665282C2(n1) {\r\n return n1;\r\n}\r\n\r\nexport function BigInteger_FromInt64_Z524259C1(x) {\r\n return BigInteger_$ctor_Z524259C1(x);\r\n}\r\n\r\nexport function BigInteger_FromInt32_Z524259A4(x) {\r\n return BigInteger_$ctor_Z524259A4(x);\r\n}\r\n\r\n","import { BigInteger_op_Inequality_56F059C0, BigInteger_op_Equality_56F059C0, BigInteger_op_GreaterThanOrEqual_56F059C0, BigInteger_op_GreaterThan_56F059C0, BigInteger_op_LessThanOrEqual_56F059C0, BigInteger_op_LessThan_56F059C0, BigInteger_op_ExclusiveOr_56F059C0, BigInteger_op_BitwiseOr_56F059C0, BigInteger_op_BitwiseAnd_56F059C0, BigInteger_op_LeftShift_62E082A2, BigInteger_op_RightShift_62E082A2, BigInteger_op_UnaryPlus_Z665282C2, BigInteger_op_UnaryNegation_Z665282C2, BigInteger_op_Modulus_56F059C0, BigInteger_op_Division_56F059C0, BigInteger_op_Multiply_56F059C0, BigInteger_op_Subtraction_56F059C0, BigInteger_op_Addition_56F059C0, BigInteger__get_IsOne, BigInteger__get_IsZero, BigInteger__get_Sign, BigInteger__get_ToDecimal, BigInteger__get_ToDouble, BigInteger__get_ToSingle, BigInteger__get_ToUInt64, BigInteger__get_ToInt64, BigInteger__get_ToUInt32, BigInteger__get_ToInt32, BigInteger__get_ToUInt16, BigInteger__get_ToInt16, BigInteger__get_ToByte, BigInteger__get_ToSByte, BigInteger_$ctor_Z524259A4, BigInteger_$ctor_Z524259C1, BigInteger_get_Two, BigInteger_get_One, BigInteger_get_Zero, BigInteger_Abs_Z665282C2, BigInteger_Pow_62E082A2, BigInteger_GreatestCommonDivisor_56F059C0, BigInteger_DivRem_56F059C0, BigInteger_Parse_Z721C83C5, BigInteger } from \"./BigInt/z.js\";\r\nimport { fromInteger } from \"./Long.js\";\r\nimport { comparePrimitives, min, compare as compare_1, equals as equals_1, safeHash } from \"./Util.js\";\r\nimport { toString as toString_1 } from \"./Types.js\";\r\nimport { fold, empty, ofArrayWithTail, cons, toArray, head, skipWhile } from \"./List.js\";\r\nimport { fill, reverse } from \"./Array.js\";\r\n\r\nexport function isBigInt(x) {\r\n return x instanceof BigInteger;\r\n}\r\n\r\nexport function tryParse(str, res) {\r\n try {\r\n res.contents = BigInteger_Parse_Z721C83C5(str);\r\n return true;\r\n }\r\n catch (matchValue) {\r\n return false;\r\n }\r\n}\r\n\r\nexport function divRem(x, y, remainder) {\r\n const patternInput = BigInteger_DivRem_56F059C0(x, y);\r\n remainder.contents = patternInput[1];\r\n return patternInput[0];\r\n}\r\n\r\nexport function parse(arg) {\r\n return BigInteger_Parse_Z721C83C5(arg);\r\n}\r\n\r\nexport function greatestCommonDivisor(arg, arg_1) {\r\n return BigInteger_GreatestCommonDivisor_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function pow(arg, arg_1) {\r\n return BigInteger_Pow_62E082A2(arg, arg_1);\r\n}\r\n\r\nexport function abs(arg) {\r\n return BigInteger_Abs_Z665282C2(arg);\r\n}\r\n\r\nexport const zero = BigInteger_get_Zero();\r\n\r\nexport const one = BigInteger_get_One();\r\n\r\nexport const two = BigInteger_get_Two();\r\n\r\nexport function fromString(s) {\r\n return BigInteger_Parse_Z721C83C5(s);\r\n}\r\n\r\nexport function fromZero() {\r\n return BigInteger_get_Zero();\r\n}\r\n\r\nexport function fromOne() {\r\n return BigInteger_get_One();\r\n}\r\n\r\nexport function fromInt64(i) {\r\n return BigInteger_$ctor_Z524259C1(i);\r\n}\r\n\r\nexport function fromInt32(i) {\r\n if (i > 2147483647) {\r\n return BigInteger_$ctor_Z524259C1(fromInteger(i, false, 6));\r\n }\r\n else {\r\n return BigInteger_$ctor_Z524259A4(i);\r\n }\r\n}\r\n\r\nexport function toSByte(x) {\r\n return BigInteger__get_ToSByte(x);\r\n}\r\n\r\nexport function toByte(x) {\r\n return BigInteger__get_ToByte(x);\r\n}\r\n\r\nexport function toInt16(x) {\r\n return BigInteger__get_ToInt16(x);\r\n}\r\n\r\nexport function toUInt16(x) {\r\n return BigInteger__get_ToUInt16(x);\r\n}\r\n\r\nexport function toInt32(x) {\r\n return BigInteger__get_ToInt32(x);\r\n}\r\n\r\nexport function toUInt32(x) {\r\n return BigInteger__get_ToUInt32(x);\r\n}\r\n\r\nexport function toInt64(x) {\r\n return BigInteger__get_ToInt64(x);\r\n}\r\n\r\nexport function toUInt64(x) {\r\n return BigInteger__get_ToUInt64(x);\r\n}\r\n\r\nexport function toSingle(x) {\r\n return BigInteger__get_ToSingle(x);\r\n}\r\n\r\nexport function toDouble(x) {\r\n return BigInteger__get_ToDouble(x);\r\n}\r\n\r\nexport function toDecimal(x) {\r\n return BigInteger__get_ToDecimal(x);\r\n}\r\n\r\nexport function sign(x) {\r\n return BigInteger__get_Sign(x);\r\n}\r\n\r\nexport function isZero(x) {\r\n return BigInteger__get_IsZero(x);\r\n}\r\n\r\nexport function isOne(x) {\r\n return BigInteger__get_IsOne(x);\r\n}\r\n\r\nexport function hash(x) {\r\n return safeHash(x);\r\n}\r\n\r\nexport function compare(x, y) {\r\n return x.CompareTo(y);\r\n}\r\n\r\nexport function equals(x, y) {\r\n return equals_1(x, y);\r\n}\r\n\r\nexport function toString(x) {\r\n return toString_1(x);\r\n}\r\n\r\nexport const get_Zero = BigInteger_get_Zero();\r\n\r\nexport const get_One = BigInteger_get_One();\r\n\r\nexport function op_Addition(arg, arg_1) {\r\n return BigInteger_op_Addition_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Subtraction(arg, arg_1) {\r\n return BigInteger_op_Subtraction_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Multiply(arg, arg_1) {\r\n return BigInteger_op_Multiply_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Division(arg, arg_1) {\r\n return BigInteger_op_Division_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Modulus(arg, arg_1) {\r\n return BigInteger_op_Modulus_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_UnaryNegation(arg) {\r\n return BigInteger_op_UnaryNegation_Z665282C2(arg);\r\n}\r\n\r\nexport function op_UnaryPlus(arg) {\r\n return BigInteger_op_UnaryPlus_Z665282C2(arg);\r\n}\r\n\r\nexport function op_RightShift(arg, arg_1) {\r\n return BigInteger_op_RightShift_62E082A2(arg, arg_1);\r\n}\r\n\r\nexport function op_LeftShift(arg, arg_1) {\r\n return BigInteger_op_LeftShift_62E082A2(arg, arg_1);\r\n}\r\n\r\nexport function op_BitwiseAnd(arg, arg_1) {\r\n return BigInteger_op_BitwiseAnd_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_BitwiseOr(arg, arg_1) {\r\n return BigInteger_op_BitwiseOr_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_ExclusiveOr(arg, arg_1) {\r\n return BigInteger_op_ExclusiveOr_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_LessThan(arg, arg_1) {\r\n return BigInteger_op_LessThan_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_LessThanOrEqual(arg, arg_1) {\r\n return BigInteger_op_LessThanOrEqual_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_GreaterThan(arg, arg_1) {\r\n return BigInteger_op_GreaterThan_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_GreaterThanOrEqual(arg, arg_1) {\r\n return BigInteger_op_GreaterThanOrEqual_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Equality(arg, arg_1) {\r\n return BigInteger_op_Equality_56F059C0(arg, arg_1);\r\n}\r\n\r\nexport function op_Inequality(arg, arg_1) {\r\n return BigInteger_op_Inequality_56F059C0(arg, arg_1);\r\n}\r\n\r\nfunction flipTwosComplement(currByte, lowBitFound) {\r\n let array;\r\n const matchValue = [currByte, lowBitFound];\r\n if (matchValue[1]) {\r\n return [(currByte ^ 255) & 255, true];\r\n }\r\n else if (matchValue[0] === 0) {\r\n return [0, false];\r\n }\r\n else {\r\n return [(currByte ^ (254 << ((array = (new Int32Array([0, 1, 2, 3, 4, 5, 6, 7])), array.find((i) => ((currByte & (1 << i)) > 0)))))) & 255, true];\r\n }\r\n}\r\n\r\nexport function toByteArray(value) {\r\n if (equals_1(value, zero)) {\r\n return new Uint8Array([0]);\r\n }\r\n else {\r\n const isPositive = compare_1(value, zero) > 0;\r\n const value_1 = isPositive ? value : BigInteger_op_Multiply_56F059C0(BigInteger_$ctor_Z524259A4(-1), value);\r\n const mask32 = fromInt64(fromInteger(4294967295, false, 6));\r\n const loop = (accumBytes_mut, consumeValue_mut, lowBitFound_mut) => {\r\n let value_6, value_8, value_9, value_10;\r\n loop:\r\n while (true) {\r\n const accumBytes = accumBytes_mut, consumeValue = consumeValue_mut, lowBitFound = lowBitFound_mut;\r\n if (compare_1(consumeValue, zero) <= 0) {\r\n const accumBytes_1 = isPositive ? skipWhile((b) => (b === 0), accumBytes) : skipWhile((b_1) => (b_1 === 255), accumBytes);\r\n const isHighBitOne = (head(accumBytes_1) & 128) !== 0;\r\n return reverse(toArray((isPositive && isHighBitOne) ? cons(0, accumBytes_1) : (((!isPositive) && (!isHighBitOne)) ? cons(255, accumBytes_1) : accumBytes_1)));\r\n }\r\n else {\r\n const currValue = toUInt32(BigInteger_op_BitwiseAnd_56F059C0(consumeValue, mask32));\r\n if (isPositive) {\r\n const b0 = currValue & 0xFF;\r\n let b1;\r\n const value_4 = currValue >>> 8;\r\n b1 = (value_4 & 0xFF);\r\n let b2;\r\n const value_5 = currValue >>> 16;\r\n b2 = (value_5 & 0xFF);\r\n accumBytes_mut = ofArrayWithTail([(value_6 = (currValue >>> 24), value_6 & 0xFF), b2, b1, b0], accumBytes);\r\n consumeValue_mut = BigInteger_op_RightShift_62E082A2(consumeValue, 32);\r\n lowBitFound_mut = false;\r\n continue loop;\r\n }\r\n else {\r\n const patternInput = flipTwosComplement(currValue & 0xFF, lowBitFound);\r\n const patternInput_1 = flipTwosComplement((value_8 = (currValue >>> 8), value_8 & 0xFF), patternInput[1]);\r\n const patternInput_2 = flipTwosComplement((value_9 = (currValue >>> 16), value_9 & 0xFF), patternInput_1[1]);\r\n const patternInput_3 = flipTwosComplement((value_10 = (currValue >>> 24), value_10 & 0xFF), patternInput_2[1]);\r\n accumBytes_mut = ofArrayWithTail([patternInput_3[0], patternInput_2[0], patternInput_1[0], patternInput[0]], accumBytes);\r\n consumeValue_mut = BigInteger_op_RightShift_62E082A2(consumeValue, 32);\r\n lowBitFound_mut = patternInput_3[1];\r\n continue loop;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(empty(), value_1, false);\r\n }\r\n}\r\n\r\nexport function fromByteArray(bytes) {\r\n if (bytes == null) {\r\n throw (new Error(\"bytes\"));\r\n }\r\n if (bytes.length === 0) {\r\n return zero;\r\n }\r\n else {\r\n const isPositive = (bytes[bytes.length - 1] & 128) === 0;\r\n const buffer = fill(new Uint8Array(4), 0, 4, 0);\r\n const loop = (accumUInt32_mut, currIndex_mut, bytesRemaining_mut, lowBitFound_mut) => {\r\n loop:\r\n while (true) {\r\n const accumUInt32 = accumUInt32_mut, currIndex = currIndex_mut, bytesRemaining = bytesRemaining_mut, lowBitFound = lowBitFound_mut;\r\n if (bytesRemaining === 0) {\r\n const value_2 = fold((acc, value) => BigInteger_op_Addition_56F059C0(BigInteger_op_LeftShift_62E082A2(acc, 32), fromInt64(fromInteger(value, false, 6))), zero, accumUInt32);\r\n if (isPositive) {\r\n return value_2;\r\n }\r\n else {\r\n return BigInteger_op_Multiply_56F059C0(BigInteger_$ctor_Z524259A4(-1), value_2);\r\n }\r\n }\r\n else {\r\n const bytesToProcess = min(comparePrimitives, bytesRemaining, 4) | 0;\r\n for (let i_1 = 0; i_1 <= (bytesToProcess - 1); i_1++) {\r\n buffer[i_1] = bytes[currIndex + i_1];\r\n }\r\n if (isPositive) {\r\n fill(buffer, bytesToProcess, 4 - bytesToProcess, 0);\r\n accumUInt32_mut = cons((((((buffer[0] | ((buffer[1] << 8) >>> 0)) >>> 0) | ((buffer[2] << 16) >>> 0)) >>> 0) | ((buffer[3] << 24) >>> 0)) >>> 0, accumUInt32);\r\n currIndex_mut = (currIndex + bytesToProcess);\r\n bytesRemaining_mut = (bytesRemaining - bytesToProcess);\r\n lowBitFound_mut = false;\r\n continue loop;\r\n }\r\n else {\r\n fill(buffer, bytesToProcess, 4 - bytesToProcess, 255);\r\n const patternInput = flipTwosComplement(buffer[0], lowBitFound);\r\n const patternInput_1 = flipTwosComplement(buffer[1], patternInput[1]);\r\n const patternInput_2 = flipTwosComplement(buffer[2], patternInput_1[1]);\r\n const patternInput_3 = flipTwosComplement(buffer[3], patternInput_2[1]);\r\n accumUInt32_mut = cons((((((patternInput[0] | ((patternInput_1[0] << 8) >>> 0)) >>> 0) | ((patternInput_2[0] << 16) >>> 0)) >>> 0) | ((patternInput_3[0] << 24) >>> 0)) >>> 0, accumUInt32);\r\n currIndex_mut = (currIndex + bytesToProcess);\r\n bytesRemaining_mut = (bytesRemaining - bytesToProcess);\r\n lowBitFound_mut = patternInput_3[1];\r\n continue loop;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(empty(), 0, bytes.length, false);\r\n }\r\n}\r\n\r\n","import { Parsimmon_parse } from \"../Fable.Parsimmon.4.0.0/Parsimmon.fs.js\";\nimport { jsonParser } from \"./Parser.fs.js\";\nimport { join, toText, printf, toFail } from \"../fable-library.3.7.17/String.js\";\nimport { head, tail, isEmpty, empty, singleton, concat, ofArray, map as map_1 } from \"../fable-library.3.7.17/List.js\";\nimport { tryFind, ofList, toList } from \"../fable-library.3.7.17/Map.js\";\nimport { partialApply, isIterable, disposeSafe, getEnumerator } from \"../fable-library.3.7.17/Util.js\";\nimport { toString } from \"../fable-library.3.7.17/Decimal.js\";\nimport { toDecimal } from \"../fable-library.3.7.17/BigInt.js\";\nimport { toString as toString_1 } from \"../fable-library.3.7.17/Date.js\";\nimport { value as value_5, some } from \"../fable-library.3.7.17/Option.js\";\nimport { $007CNativeObject$007C_$007C, $007CNativeArray$007C_$007C, $007CNull$007C_$007C, $007CNativeBool$007C_$007C, $007CNativeNumber$007C_$007C, $007CNativeString$007C_$007C } from \"./TypeCheck.fs.js\";\nimport { Json } from \"./Json.fs.js\";\nimport { map as map_2 } from \"../fable-library.3.7.17/Array.js\";\nimport { map as map_3, delay, toList as toList_1 } from \"../fable-library.3.7.17/Seq.js\";\n\nexport function InteropUtil_isDateOffset(x) {\n if (x instanceof Date) {\n return \"offset\" in x;\n }\n else {\n return false;\n }\n}\n\nexport function InteropUtil_isObjectLiteral(x) {\n return (typeof x) === \"object\";\n}\n\nexport function InteropUtil_isBigInt(x) {\n if (((((!(x == null)) && InteropUtil_isObjectLiteral(x)) && (\"signInt\" in x)) && (\"v\" in x)) && (\"digits\" in (x[\"v\"]))) {\n return \"bound\" in (x[\"v\"]);\n }\n else {\n return false;\n }\n}\n\nexport function SimpleJson_tryParse(input) {\n return Parsimmon_parse(input, jsonParser);\n}\n\nexport function SimpleJson_parse(input) {\n const matchValue = SimpleJson_tryParse(input);\n if (matchValue == null) {\n return toFail(printf(\"Could not parse the JSON input: %s\"))(input);\n }\n else {\n return matchValue;\n }\n}\n\nexport function SimpleJson_toString(_arg) {\n if (_arg.tag === 2) {\n if (_arg.fields[0]) {\n return \"true\";\n }\n else {\n return \"false\";\n }\n }\n else if (_arg.tag === 0) {\n return _arg.fields[0].toString();\n }\n else if (_arg.tag === 1) {\n return toText(printf(\"\\\"%s\\\"\"))(_arg.fields[0]);\n }\n else if (_arg.tag === 4) {\n const arg_1 = join(\",\", map_1(SimpleJson_toString, _arg.fields[0]));\n return toText(printf(\"[%s]\"))(arg_1);\n }\n else if (_arg.tag === 5) {\n const arg_4 = join(\",\", map_1((tupledArg) => {\n const arg_3 = SimpleJson_toString(tupledArg[1]);\n return toText(printf(\"\\\"%s\\\":%s\"))(tupledArg[0])(arg_3);\n }, toList(_arg.fields[0])));\n return toText(printf(\"{%s}\"))(arg_4);\n }\n else {\n return \"null\";\n }\n}\n\nexport function SimpleJson_toPlainObject(input) {\n switch (input.tag) {\n case 2: {\n return input.fields[0];\n }\n case 0: {\n return input.fields[0];\n }\n case 1: {\n return input.fields[0];\n }\n case 4: {\n const array = [];\n const enumerator = getEnumerator(input.fields[0]);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const value_3 = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n void (array.push(SimpleJson_toPlainObject(value_3)));\n }\n }\n finally {\n disposeSafe(enumerator);\n }\n return array;\n }\n case 5: {\n const jsObject = ({});\n const enumerator_1 = getEnumerator(toList(input.fields[0]));\n try {\n while (enumerator_1[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator_1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n jsObject[forLoopVar[0]] = SimpleJson_toPlainObject(forLoopVar[1]);\n }\n }\n finally {\n disposeSafe(enumerator_1);\n }\n return jsObject;\n }\n default: {\n return null;\n }\n }\n}\n\nexport function SimpleJson_stringify(value) {\n if (value == null) {\n return JSON.stringify(null);\n }\n else {\n return JSON.stringify(value, (key, jsonValue) => {\n let copyOfStruct;\n return InteropUtil_isBigInt(jsonValue) ? toString(toDecimal(jsonValue)) : ((jsonValue instanceof Date) ? toString_1(jsonValue, \"o\") : (((typeof jsonValue) === \"string\") ? jsonValue : (isIterable(jsonValue) ? (Array.isArray(jsonValue) ? jsonValue : (Array.from(jsonValue))) : (InteropUtil_isBigInt(jsonValue) ? toString(toDecimal(jsonValue)) : (InteropUtil_isDateOffset(jsonValue) ? ((copyOfStruct = jsonValue, toString_1(copyOfStruct, \"O\"))) : jsonValue)))));\n }, some(0));\n }\n}\n\nexport function SimpleJson_parseNative$0027(x) {\n const activePatternResult = $007CNativeString$007C_$007C(x);\n if (activePatternResult != null) {\n const str = activePatternResult;\n return new Json(1, str);\n }\n else {\n const activePatternResult_1 = $007CNativeNumber$007C_$007C(x);\n if (activePatternResult_1 != null) {\n const number = activePatternResult_1;\n return new Json(0, number);\n }\n else {\n const activePatternResult_2 = $007CNativeBool$007C_$007C(x);\n if (activePatternResult_2 != null) {\n const value = activePatternResult_2;\n return new Json(2, value);\n }\n else if ($007CNull$007C_$007C(x) != null) {\n return new Json(3);\n }\n else {\n const activePatternResult_4 = $007CNativeArray$007C_$007C(x);\n if (activePatternResult_4 != null) {\n const arr = activePatternResult_4;\n return new Json(4, ofArray(map_2(SimpleJson_parseNative$0027, arr)));\n }\n else {\n const activePatternResult_5 = $007CNativeObject$007C_$007C(x);\n if (activePatternResult_5 != null) {\n const object = value_5(activePatternResult_5);\n return new Json(5, ofList(toList_1(delay(() => map_3((key) => [key, SimpleJson_parseNative$0027(object[key])], Object.keys(object))))));\n }\n else {\n return new Json(3);\n }\n }\n }\n }\n }\n}\n\nexport function SimpleJson_parseNative(input) {\n return SimpleJson_parseNative$0027(JSON.parse(input));\n}\n\nexport function SimpleJson_tryParseNative(input) {\n try {\n return SimpleJson_parseNative(input);\n }\n catch (ex) {\n return void 0;\n }\n}\n\nexport function SimpleJson_fromObjectLiteral(x) {\n try {\n return SimpleJson_parseNative$0027(x);\n }\n catch (matchValue) {\n return void 0;\n }\n}\n\nexport function SimpleJson_mapKeys(f, _arg) {\n switch (_arg.tag) {\n case 5: {\n return new Json(5, ofList(map_1((tupledArg) => [f(tupledArg[0]), SimpleJson_mapKeys(f, tupledArg[1])], toList(_arg.fields[0]))));\n }\n case 4: {\n return new Json(4, map_1((_arg_1) => SimpleJson_mapKeys(f, _arg_1), _arg.fields[0]));\n }\n default: {\n return _arg;\n }\n }\n}\n\nexport function SimpleJson_mapbyKey(f, _arg) {\n switch (_arg.tag) {\n case 5: {\n return new Json(5, ofList(map_1((tupledArg) => {\n const key = tupledArg[0];\n return [key, f(key, tupledArg[1])];\n }, toList(_arg.fields[0]))));\n }\n case 4: {\n return new Json(4, map_1((_arg_1) => SimpleJson_mapbyKey(f, _arg_1), _arg.fields[0]));\n }\n default: {\n return _arg;\n }\n }\n}\n\nexport function SimpleJson_mapKeysByPath(f, json) {\n const mapKey = (xs, _arg) => {\n switch (_arg.tag) {\n case 5: {\n return new Json(5, ofList(map_1((tupledArg) => {\n const key = tupledArg[0];\n const value = tupledArg[1];\n const keyPath = concat([xs, singleton(key)]);\n const matchValue = f(keyPath);\n if (matchValue == null) {\n return [key, mapKey(keyPath, value)];\n }\n else {\n return [matchValue, mapKey(keyPath, value)];\n }\n }, toList(_arg.fields[0]))));\n }\n case 4: {\n return new Json(4, map_1(partialApply(1, mapKey, [xs]), _arg.fields[0]));\n }\n default: {\n return _arg;\n }\n }\n };\n return mapKey(empty(), json);\n}\n\nexport function SimpleJson_readPath(keys_mut, input_mut) {\n SimpleJson_readPath:\n while (true) {\n const keys = keys_mut, input = input_mut;\n const matchValue = [keys, input];\n let pattern_matching_result, dict, key, dict_1, firstKey, rest;\n if (!isEmpty(matchValue[0])) {\n if (isEmpty(tail(matchValue[0]))) {\n if (matchValue[1].tag === 5) {\n pattern_matching_result = 1;\n dict = matchValue[1].fields[0];\n key = head(matchValue[0]);\n }\n else {\n pattern_matching_result = 3;\n }\n }\n else if (matchValue[1].tag === 5) {\n pattern_matching_result = 2;\n dict_1 = matchValue[1].fields[0];\n firstKey = head(matchValue[0]);\n rest = tail(matchValue[0]);\n }\n else {\n pattern_matching_result = 3;\n }\n }\n else {\n pattern_matching_result = 0;\n }\n switch (pattern_matching_result) {\n case 0: {\n return void 0;\n }\n case 1: {\n return tryFind(key, dict);\n }\n case 2: {\n const matchValue_1 = tryFind(firstKey, dict_1);\n let pattern_matching_result_1, nextDict;\n if (matchValue_1 != null) {\n if (matchValue_1.tag === 5) {\n pattern_matching_result_1 = 0;\n nextDict = matchValue_1.fields[0];\n }\n else {\n pattern_matching_result_1 = 1;\n }\n }\n else {\n pattern_matching_result_1 = 1;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n keys_mut = rest;\n input_mut = (new Json(5, nextDict));\n continue SimpleJson_readPath;\n }\n case 1: {\n return void 0;\n }\n }\n }\n case 3: {\n return void 0;\n }\n }\n break;\n }\n}\n\n","import { some } from \"../fable-library.3.7.17/Option.js\";\n\nexport function $007CNativeString$007C_$007C(x) {\n if (typeof (x) === 'string') {\n return x;\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNativeBool$007C_$007C(x) {\n if (typeof (x) === 'boolean') {\n return x;\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNativeNumber$007C_$007C(x) {\n if (typeof (x) === 'number') {\n return x;\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNativeObject$007C_$007C(x) {\n if (typeof (x) === 'object') {\n return some(x);\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNull$007C_$007C(x) {\n if (x == null) {\n return some(x);\n }\n else {\n return void 0;\n }\n}\n\nexport function $007CNativeArray$007C_$007C(x) {\n if (Array.isArray(x)) {\n return x;\n }\n else {\n return void 0;\n }\n}\n\n","const ok = (value) => ({\n tag: \"ok\",\n value,\n});\nconst error = (error) => ({ tag: \"error\", error });\nexport class Uri {\n constructor(state) {\n this.uri = state;\n }\n static isAbsoluteUri(uri) {\n try {\n // tslint:disable-next-line no-unused-expression\n new URL(uri);\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n static tryCreateWithKind(uri, kind) {\n switch (kind) {\n case 1 /* Absolute */:\n return Uri.isAbsoluteUri(uri)\n ? ok(new Uri({ original: uri, value: new URL(uri), kind }))\n : error(\"Invalid URI: The format of the URI could not be determined.\");\n case 2 /* Relative */:\n return Uri.isAbsoluteUri(uri)\n ? error(\"URI is not a relative path.\")\n : ok(new Uri({ original: uri, value: uri, kind }));\n case 0 /* RelativeOrAbsolute */:\n return Uri.isAbsoluteUri(uri)\n ? ok(new Uri({ original: uri, value: new URL(uri), kind: 1 /* Absolute */ }))\n : ok(new Uri({ original: uri, value: uri, kind: 2 /* Relative */ }));\n default:\n const never = kind;\n return never;\n }\n }\n static tryCreateWithBase(baseUri, relativeUri) {\n return baseUri.uri.kind !== 1 /* Absolute */\n ? error(\"Base URI should have Absolute kind\")\n : typeof relativeUri === \"string\"\n ? ok(new Uri({\n original: new URL(relativeUri, baseUri.uri.value).toString(),\n value: new URL(relativeUri, baseUri.uri.value),\n kind: 1 /* Absolute */,\n }))\n : relativeUri.uri.kind === 2 /* Relative */\n ? ok(new Uri({\n original: new URL(relativeUri.uri.value, baseUri.uri.value).toString(),\n value: new URL(relativeUri.uri.value, baseUri.uri.value),\n kind: 1 /* Absolute */,\n }))\n : ok(baseUri);\n }\n static tryCreateImpl(value, kindOrUri = 1 /* Absolute */) {\n return typeof value === \"string\"\n ? typeof kindOrUri !== \"number\"\n ? error(\"Kind must be specified when the baseUri is a string.\")\n : Uri.tryCreateWithKind(value, kindOrUri)\n : typeof kindOrUri === \"number\"\n ? error(\"Kind should not be specified when the baseUri is an absolute Uri.\")\n : Uri.tryCreateWithBase(value, kindOrUri);\n }\n static create(value, kindOrUri = 1 /* Absolute */) {\n const result = Uri.tryCreateImpl(value, kindOrUri);\n switch (result.tag) {\n case \"ok\":\n return result.value;\n case \"error\":\n throw new Error(result.error);\n default:\n const never = result;\n return never;\n }\n }\n static tryCreate(value, kindOrUri = 1 /* Absolute */, out) {\n const result = Uri.tryCreateImpl(value, kindOrUri);\n switch (result.tag) {\n case \"ok\":\n out.contents = result.value;\n return true;\n case \"error\":\n return false;\n default:\n const never = result;\n return never;\n }\n }\n toString() {\n switch (this.uri.kind) {\n case 1 /* Absolute */:\n return decodeURIComponent(this.asUrl().toString());\n case 2 /* Relative */:\n return this.uri.value;\n default:\n const never = this.uri;\n return never;\n }\n }\n asUrl() {\n switch (this.uri.kind) {\n case 1 /* Absolute */:\n return this.uri.value;\n case 2 /* Relative */:\n throw new Error(\"This operation is not supported for a relative URI.\");\n default:\n const never = this.uri;\n return never;\n }\n }\n get isAbsoluteUri() {\n return this.uri.kind === 1 /* Absolute */;\n }\n get absoluteUri() {\n return this.asUrl().href;\n }\n get scheme() {\n const protocol = this.asUrl().protocol;\n return protocol.slice(0, protocol.length - 1);\n }\n get host() {\n return this.asUrl().host;\n }\n get absolutePath() {\n return this.asUrl().pathname;\n }\n get query() {\n return this.asUrl().search;\n }\n get pathAndQuery() {\n const url = this.asUrl();\n return url.pathname + url.search;\n }\n get fragment() {\n return this.asUrl().hash;\n }\n get originalString() {\n return this.uri.original;\n }\n}\nexport default Uri;\n","import { DateTime, getTicks, dayOfYear as Date_dayOfYear, year as Date_year, month as Date_month, day as Date_day, daysInMonth as Date_daysInMonth } from \"./Date.js\";\nimport { padWithZeros } from \"./Util.js\";\nimport { toInt, fromNumber, op_Division as Long_op_Division, op_Multiply as Long_op_Multiply, ticksToUnixEpochMilliseconds } from \"./Long.js\";\nexport function fromUnixMilliseconds(value) {\n return DateTime(value, 1 /* UTC */);\n}\nexport function create(year, month, day) {\n const d = fromUnixMilliseconds(Date.UTC(year, month - 1, day));\n if (year <= 99) {\n d.setUTCFullYear(year);\n }\n return d;\n}\nexport function maxValue() {\n // This is \"9999-12-31T00:00:00.000Z\"\n return fromUnixMilliseconds(253402214400000);\n}\nexport function minValue() {\n // This is \"0001-01-01T00:00:00.000Z\"\n return fromUnixMilliseconds(-62135596800000);\n}\nexport function dayNumber(d) {\n return toInt(Long_op_Division(getTicks(d), 864000000000));\n}\nexport function fromDayNumber(dayNumber) {\n const ticks = Long_op_Multiply(fromNumber(864000000000), dayNumber);\n return fromUnixMilliseconds(ticksToUnixEpochMilliseconds(ticks));\n}\nexport function fromDateTime(d) {\n return create(Date_year(d), Date_month(d), Date_day(d));\n}\nexport function day(d) {\n return d.getUTCDate();\n}\nexport function month(d) {\n return d.getUTCMonth() + 1;\n}\nexport function year(d) {\n return d.getUTCFullYear();\n}\nexport function dayOfWeek(d) {\n return d.getUTCDay();\n}\nexport function dayOfYear(d) {\n return Date_dayOfYear(d);\n}\nexport function toDateTime(d, time, kind = 0 /* Unspecified */) {\n return DateTime(d.getTime() + time + (kind !== 1 /* UTC */ ? d.getTimezoneOffset() : 0) * 60000, kind);\n}\nexport function toString(d, format = \"d\", _provider) {\n if ([\"d\", \"o\", \"O\"].indexOf(format) === -1) {\n throw new Error(\"Custom formats are not supported\");\n }\n const y = padWithZeros(year(d), 4);\n const m = padWithZeros(month(d), 2);\n const dd = padWithZeros(day(d), 2);\n return format === \"d\" ? `${m}/${dd}/${y}` : `${y}-${m}-${dd}`;\n}\nexport function parse(str) {\n function fail() {\n throw new Error(`String '${str}' was not recognized as a valid DateOnly.`);\n }\n // Allowed separators: . , / -\n // TODO whitespace alone as the separator\n //\n // Whitespace around separators\n //\n // Allowed format types:\n // yyyy/mm/dd\n // mm/dd/yyyy\n // mm/dd\n // mm/yyyy\n // yyyy/mm\n const r = /^\\s*(\\d{1,4})(?:\\s*[.,-\\/]\\s*(\\d{1,2}))?\\s*[.,-\\/]\\s*(\\d{1,4})\\s*$/.exec(str);\n if (r != null) {\n let y = 0;\n let m = 0;\n let d = 1;\n if (r[2] == null) {\n if (r[1].length < 3) {\n if (r[3].length < 3) {\n // 12/30 = December 30, {CurrentYear}\n y = new Date().getFullYear();\n m = +r[1];\n d = +r[3];\n }\n else {\n // 12/2000 = December 1, 2000\n m = +r[1];\n y = +r[3];\n }\n }\n else {\n if (r[3].length > 2)\n fail();\n // 2000/12 = December 1, 2000\n y = +r[1];\n m = +r[3];\n }\n }\n else {\n // 2000/1/30 or 1/30/2000\n const yearFirst = r[1].length > 2;\n const yTmp = r[yearFirst ? 1 : 3];\n y = +yTmp;\n // year 0-29 is 2000-2029, 30-99 is 1930-1999\n if (yTmp.length < 3)\n y += y >= 30 ? 1900 : 2000;\n m = +r[yearFirst ? 2 : 1];\n d = +r[yearFirst ? 3 : 2];\n }\n if (y > 0 && m > 0 && m < 13 && d > 0 && d <= Date_daysInMonth(y, m))\n return create(y, m, d);\n }\n return fail();\n}\nexport function tryParse(v, defValue) {\n try {\n defValue.contents = parse(v);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n","import { op_Division as Long_op_Division, toNumber as Long_toNumber } from \"./Long.js\";\nimport { hours, minutes, seconds, milliseconds } from \"./TimeSpan.js\";\nimport { padWithZeros } from \"./Util.js\";\nconst millisecondsPerDay = 86400000;\nexport function create(h = 0, m = 0, s = 0, ms = 0) {\n if (h < 0 || m < 0 || s < 0 || ms < 0)\n throw new Error(\"The parameters describe an unrepresentable TimeOnly.\");\n if (arguments.length === 1)\n // ticks\n return fromTicks(arguments[0]);\n else\n return h * 3600000 + m * 60000 + s * 1000 + ms;\n}\nexport function fromTicks(ticks) {\n return Long_toNumber(Long_op_Division(ticks, 10000));\n}\nexport function fromTimeSpan(timeSpan) {\n if (timeSpan < 0 || timeSpan >= millisecondsPerDay)\n throw new Error(\"The TimeSpan describes an unrepresentable TimeOnly.\");\n return timeSpan;\n}\nexport function fromDateTime(d) {\n return d.kind === 1 /* UTC */\n ? create(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds())\n : create(d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());\n}\nexport function maxValue() {\n // This is \"23:59:59.999\"\n return millisecondsPerDay - 1;\n}\nexport function add(t, ts, wrappedDays) {\n if (wrappedDays === undefined) {\n const t2 = (t + ts) % millisecondsPerDay;\n return t2 < 0 ? millisecondsPerDay + t2 : t2;\n }\n wrappedDays.contents = ts / millisecondsPerDay;\n let newMs = t + ts % millisecondsPerDay;\n if (newMs < 0) {\n wrappedDays.contents--;\n newMs += millisecondsPerDay;\n }\n else {\n if (newMs >= millisecondsPerDay) {\n wrappedDays.contents++;\n newMs -= millisecondsPerDay;\n }\n }\n return newMs;\n}\nexport function addHours(t, h) {\n return add(t, h * 3600000);\n}\nexport function addMinutes(t, m) {\n return add(t, m * 60000);\n}\nexport function isBetween(t, start, end) {\n return start <= end\n ? (start <= t && end > t)\n : (start <= t || end > t);\n}\nexport function toString(t, format = \"t\", _provider) {\n if ([\"r\", \"R\", \"o\", \"O\", \"t\", \"T\"].indexOf(format) === -1) {\n throw new Error(\"Custom formats are not supported\");\n }\n const base = `${padWithZeros(hours(t), 2)}:${padWithZeros(minutes(t), 2)}`;\n if (format === \"t\")\n return base;\n const s = padWithZeros(seconds(t), 2);\n // We're limited to millisecond precision, so the last 4 digits will always be 0\n return `${base}${format === \"o\" || format === \"O\" ? `:${s}.${padWithZeros(milliseconds(t), 3)}0000` : `:${s}`}`;\n}\nexport function parse(str) {\n // Allowed format types:\n // hh:mm\n // hh:mm:ss\n // hh:mm:ss.fffffff\n const r = /^\\s*([0-1]?\\d|2[0-3])\\s*:\\s*([0-5]?\\d)(\\s*:\\s*([0-5]?\\d)(\\.(\\d+))?)?\\s*$/.exec(str);\n if (r != null && r[1] != null && r[2] != null) {\n let ms = 0;\n let s = 0;\n const h = +r[1];\n const m = +r[2];\n if (r[4] != null) {\n s = +r[4];\n }\n if (r[6] != null) {\n // Depending on the number of decimals passed, we need to adapt the numbers\n switch (r[6].length) {\n case 1:\n ms = +r[6] * 100;\n break;\n case 2:\n ms = +r[6] * 10;\n break;\n case 3:\n ms = +r[6];\n break;\n case 4:\n ms = +r[6] / 10;\n break;\n case 5:\n ms = +r[6] / 100;\n break;\n case 6:\n ms = +r[6] / 1000;\n break;\n default:\n ms = +r[6].substring(0, 7) / 10000;\n break;\n }\n }\n return create(h, m, s, Math.trunc(ms));\n }\n throw new Error(`String '${str}' was not recognized as a valid TimeOnly.`);\n}\nexport function tryParse(v, defValue) {\n try {\n defValue.contents = parse(v);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nexport function op_Subtraction(left, right) {\n return add(left, -right);\n}\n","import { fromBits, getHighBits, getHighBitsUnsigned, getLowBits, getLowBitsUnsigned } from \"./Long.js\";\nconst littleEndian = true;\nexport function isLittleEndian() {\n return littleEndian;\n}\nexport function getBytesBoolean(value) {\n const bytes = new Uint8Array(1);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setUint8(0, value ? 1 : 0);\n return bytes;\n}\nexport function getBytesChar(value) {\n const bytes = new Uint8Array(2);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setUint16(0, value.charCodeAt(0), littleEndian);\n return bytes;\n}\nexport function getBytesInt16(value) {\n const bytes = new Uint8Array(2);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setInt16(0, value, littleEndian);\n return bytes;\n}\nexport function getBytesInt32(value) {\n const bytes = new Uint8Array(4);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setInt32(0, value, littleEndian);\n return bytes;\n}\nexport function getBytesInt64(value) {\n const bytes = new Uint8Array(8);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setInt32(littleEndian ? 0 : 4, getLowBits(value), littleEndian);\n view.setInt32(littleEndian ? 4 : 0, getHighBits(value), littleEndian);\n return bytes;\n}\nexport function getBytesUInt16(value) {\n const bytes = new Uint8Array(2);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setUint16(0, value, littleEndian);\n return bytes;\n}\nexport function getBytesUInt32(value) {\n const bytes = new Uint8Array(4);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setUint32(0, value, littleEndian);\n return bytes;\n}\nexport function getBytesUInt64(value) {\n const bytes = new Uint8Array(8);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setUint32(littleEndian ? 0 : 4, getLowBitsUnsigned(value), littleEndian);\n view.setUint32(littleEndian ? 4 : 0, getHighBitsUnsigned(value), littleEndian);\n return bytes;\n}\nexport function getBytesSingle(value) {\n const bytes = new Uint8Array(4);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setFloat32(0, value, littleEndian);\n return bytes;\n}\nexport function getBytesDouble(value) {\n const bytes = new Uint8Array(8);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n view.setFloat64(0, value, littleEndian);\n return bytes;\n}\nexport function int64BitsToDouble(value) {\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n view.setInt32(littleEndian ? 0 : 4, getLowBits(value), littleEndian);\n view.setInt32(littleEndian ? 4 : 0, getHighBits(value), littleEndian);\n return view.getFloat64(0, littleEndian);\n}\nexport function doubleToInt64Bits(value) {\n const buffer = new ArrayBuffer(8);\n const view = new DataView(buffer);\n view.setFloat64(0, value, littleEndian);\n const lowBits = view.getInt32(littleEndian ? 0 : 4, littleEndian);\n const highBits = view.getInt32(littleEndian ? 4 : 0, littleEndian);\n return fromBits(lowBits, highBits, false);\n}\nexport function toBoolean(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getUint8(offset) === 1 ? true : false;\n}\nexport function toChar(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n const code = view.getUint16(offset, littleEndian);\n return String.fromCharCode(code);\n}\nexport function toInt16(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getInt16(offset, littleEndian);\n}\nexport function toInt32(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getInt32(offset, littleEndian);\n}\nexport function toInt64(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n const lowBits = view.getInt32(offset + (littleEndian ? 0 : 4), littleEndian);\n const highBits = view.getInt32(offset + (littleEndian ? 4 : 0), littleEndian);\n return fromBits(lowBits, highBits, false);\n}\nexport function toUInt16(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getUint16(offset, littleEndian);\n}\nexport function toUInt32(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getUint32(offset, littleEndian);\n}\nexport function toUInt64(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n const lowBits = view.getUint32(offset + (littleEndian ? 0 : 4), littleEndian);\n const highBits = view.getUint32(offset + (littleEndian ? 4 : 0), littleEndian);\n return fromBits(lowBits, highBits, true);\n}\nexport function toSingle(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, littleEndian);\n}\nexport function toDouble(bytes, offset) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, littleEndian);\n}\nexport function toString(bytes, offset, count) {\n const array = ArrayBuffer.isView(bytes) ? bytes : Uint8Array.from(bytes);\n let buffer = new Uint8Array(array.buffer, array.byteOffset, array.byteLength);\n if (offset != null && count != null) {\n buffer = buffer.subarray(offset, offset + count);\n }\n else if (offset != null) {\n buffer = buffer.subarray(offset);\n }\n return Array.from(buffer).map((b) => (\"0\" + b.toString(16)).slice(-2)).join(\"-\");\n}\n","import { disposeSafe, toIterator, getEnumerator } from \"./Util.js\";\r\nimport { iterate, map, iterateIndexed, concat } from \"./Seq.js\";\r\nimport { FSharpRef } from \"./Types.js\";\r\nimport { class_type } from \"./Reflection.js\";\r\nimport { getItemFromDict, tryGetValue } from \"./MapUtil.js\";\r\nimport { some } from \"./Option.js\";\r\n\r\nexport class HashSet {\r\n constructor(items, comparer) {\r\n const this$ = new FSharpRef(null);\r\n this.comparer = comparer;\r\n this$.contents = this;\r\n this.hashMap = (new Map([]));\r\n this[\"init@8-2\"] = 1;\r\n const enumerator = getEnumerator(items);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const item = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n HashSet__Add_2B595(this$.contents, item);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n }\r\n get [Symbol.toStringTag]() {\r\n return \"HashSet\";\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return Array.from(this$);\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const this$ = this;\r\n return getEnumerator(this$);\r\n }\r\n GetEnumerator() {\r\n const this$ = this;\r\n return getEnumerator(concat(this$.hashMap.values()));\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Add2B595\"](item) {\r\n const this$ = this;\r\n HashSet__Add_2B595(this$, item);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Clear\"]() {\r\n const this$ = this;\r\n HashSet__Clear(this$);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Contains2B595\"](item) {\r\n const this$ = this;\r\n return HashSet__Contains_2B595(this$, item);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.CopyToZ2E171D71\"](array, arrayIndex) {\r\n const this$ = this;\r\n iterateIndexed((i, e) => {\r\n array[arrayIndex + i] = e;\r\n }, this$);\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_Count\"]() {\r\n const this$ = this;\r\n return HashSet__get_Count(this$) | 0;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.get_IsReadOnly\"]() {\r\n return false;\r\n }\r\n [\"System.Collections.Generic.ICollection`1.Remove2B595\"](item) {\r\n const this$ = this;\r\n return HashSet__Remove_2B595(this$, item);\r\n }\r\n get size() {\r\n const this$ = this;\r\n return HashSet__get_Count(this$) | 0;\r\n }\r\n add(k) {\r\n const this$ = this;\r\n HashSet__Add_2B595(this$, k);\r\n return this$;\r\n }\r\n clear() {\r\n const this$ = this;\r\n HashSet__Clear(this$);\r\n }\r\n delete(k) {\r\n const this$ = this;\r\n return HashSet__Remove_2B595(this$, k);\r\n }\r\n has(k) {\r\n const this$ = this;\r\n return HashSet__Contains_2B595(this$, k);\r\n }\r\n keys() {\r\n const this$ = this;\r\n return map((x) => x, this$);\r\n }\r\n values() {\r\n const this$ = this;\r\n return map((x) => x, this$);\r\n }\r\n entries() {\r\n const this$ = this;\r\n return map((v) => [v, v], this$);\r\n }\r\n forEach(f, thisArg) {\r\n const this$ = this;\r\n iterate((x) => {\r\n f(x, x, this$);\r\n }, this$);\r\n }\r\n}\r\n\r\nexport function HashSet$reflection(gen0) {\r\n return class_type(\"Fable.Collections.HashSet\", [gen0], HashSet);\r\n}\r\n\r\nexport function HashSet_$ctor_Z6150332D(items, comparer) {\r\n return new HashSet(items, comparer);\r\n}\r\n\r\nfunction HashSet__TryFindIndex_2B595(this$, k) {\r\n const h = this$.comparer.GetHashCode(k) | 0;\r\n let matchValue;\r\n let outArg = null;\r\n matchValue = [tryGetValue(this$.hashMap, h, new FSharpRef(() => outArg, (v) => {\r\n outArg = v;\r\n })), outArg];\r\n if (matchValue[0]) {\r\n return [true, h, matchValue[1].findIndex((v_1) => this$.comparer.Equals(k, v_1))];\r\n }\r\n else {\r\n return [false, h, -1];\r\n }\r\n}\r\n\r\nfunction HashSet__TryFind_2B595(this$, k) {\r\n const matchValue = HashSet__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return some(getItemFromDict(this$.hashMap, matchValue[1])[matchValue[2]]);\r\n }\r\n case 1: {\r\n return void 0;\r\n }\r\n }\r\n}\r\n\r\nexport function HashSet__get_Comparer(this$) {\r\n return this$.comparer;\r\n}\r\n\r\nexport function HashSet__Clear(this$) {\r\n this$.hashMap.clear();\r\n}\r\n\r\nexport function HashSet__get_Count(this$) {\r\n let count = 0;\r\n let enumerator = getEnumerator(this$.hashMap.values());\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const items = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n count = ((count + items.length) | 0);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n return count | 0;\r\n}\r\n\r\nexport function HashSet__Add_2B595(this$, k) {\r\n const matchValue = HashSet__TryFindIndex_2B595(this$, k);\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n return false;\r\n }\r\n else {\r\n const value = void (getItemFromDict(this$.hashMap, matchValue[1]).push(k));\r\n return true;\r\n }\r\n }\r\n else {\r\n this$.hashMap.set(matchValue[1], [k]);\r\n return true;\r\n }\r\n}\r\n\r\nexport function HashSet__Contains_2B595(this$, k) {\r\n const matchValue = HashSet__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return true;\r\n }\r\n case 1: {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport function HashSet__Remove_2B595(this$, k) {\r\n const matchValue = HashSet__TryFindIndex_2B595(this$, k);\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[2] > -1) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n getItemFromDict(this$.hashMap, matchValue[1]).splice(matchValue[2], 1);\r\n return true;\r\n }\r\n case 1: {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n","import isBrowser from \"./isBrowser.js\";\nimport { toString as toString_3, FSharpRef, Union } from \"../fable-library.3.7.17/Types.js\";\nimport { getUnionFields, getRecordField, makeRecord, fullName, makeUnion, name as name_2, union_type, string_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { Json, Json$reflection } from \"./Json.fs.js\";\nimport { map as map_3, choose, ofArray, tryFind as tryFind_2, toArray, length, tail as tail_1, head, isEmpty, empty, singleton } from \"../fable-library.3.7.17/List.js\";\nimport { toArray as toArray_1, map as map_4, collect, tryFind as tryFind_3, forAll, empty as empty_1, singleton as singleton_1, append, delay, toList } from \"../fable-library.3.7.17/Seq.js\";\nimport { value as value_91, some, map as map_1 } from \"../fable-library.3.7.17/Option.js\";\nimport { toArray as toArray_2, isEmpty as isEmpty_1, ofList as ofList_1, find, count, containsKey, toList as toList_1, tryFind, remove } from \"../fable-library.3.7.17/Map.js\";\nimport { toText, join, fromBase64String, printf, toFail, substring, endsWith } from \"../fable-library.3.7.17/String.js\";\nimport { parse } from \"../fable-library.3.7.17/Double.js\";\nimport { tryParse, parse as parse_1 } from \"../fable-library.3.7.17/Int32.js\";\nimport { Uri } from \"../fable-library.3.7.17/Uri.js\";\nimport { toString as toString_2 } from \"../fable-library.3.7.17/Decimal.js\";\nimport Decimal from \"../fable-library.3.7.17/Decimal.js\";\nimport { toString, fromInteger, toNumber, tryParse as tryParse_1, fromInt, parse as parse_2, fromNumber } from \"../fable-library.3.7.17/Long.js\";\nimport { SimpleJson_stringify, SimpleJson_parseNative, SimpleJson_parse, SimpleJson_toString, SimpleJson_toPlainObject } from \"./SimpleJson.fs.js\";\nimport { toString as toString_1, fromInt32, parse as parse_3 } from \"../fable-library.3.7.17/BigInt.js\";\nimport { toString as toString_4, parse as parse_4 } from \"../fable-library.3.7.17/Date.js\";\nimport { parse as parse_5 } from \"../fable-library.3.7.17/DateOffset.js\";\nimport DateOffset from \"../fable-library.3.7.17/DateOffset.js\";\nimport { dayNumber, fromDayNumber } from \"../fable-library.3.7.17/DateOnly.js\";\nimport { create } from \"../fable-library.3.7.17/TimeOnly.js\";\nimport { concat, mapIndexed, equalsWith, zip, map as map_2, tryFind as tryFind_1 } from \"../fable-library.3.7.17/Array.js\";\nimport { int32ToString, disposeSafe, getEnumerator, structuralHash, safeHash, compare, equals } from \"../fable-library.3.7.17/Util.js\";\nimport { parse as parse_6 } from \"../fable-library.3.7.17/Guid.js\";\nimport { getBytesInt32, toInt64 } from \"../fable-library.3.7.17/BitConverter.js\";\nimport { ofList } from \"../fable-library.3.7.17/Set.js\";\nimport { TypeInfo } from \"./TypeInfo.fs.js\";\nimport { Dictionary } from \"../fable-library.3.7.17/MutableMap.js\";\nimport { addToSet, addToDict } from \"../fable-library.3.7.17/MapUtil.js\";\nimport { HashSet } from \"../fable-library.3.7.17/MutableSet.js\";\nimport { enumUnion, isPrimitive } from \"./TypeInfo.Converter.fs.js\";\nimport quote from \"./quote.js\";\nimport { ticks } from \"../fable-library.3.7.17/TimeSpan.js\";\n\nexport const Convert_isBrowser = isBrowser;\n\nexport const Convert_insideBrowser = Convert_isBrowser();\n\nfunction Convert_isDefined(value) {\n return !((value === undefined));\n}\n\nexport function Convert_usingFable3() {\n return true;\n}\n\nexport const Convert_isUsingFable3 = Convert_usingFable3();\n\nexport class Convert_InternalMap extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"MapEmpty\", \"MapOne\", \"MapNode\"];\n }\n}\n\nexport function Convert_InternalMap$reflection() {\n return union_type(\"Fable.SimpleJson.Convert.InternalMap\", [], Convert_InternalMap, () => [[], [[\"Item1\", string_type], [\"Item2\", Json$reflection()]], [[\"Item1\", string_type], [\"Item2\", Json$reflection()], [\"Item3\", Convert_InternalMap$reflection()], [\"Item4\", Convert_InternalMap$reflection()]]]);\n}\n\nexport function Convert_flattenMap(_arg) {\n switch (_arg.tag) {\n case 1: {\n return singleton([_arg.fields[0], _arg.fields[1]]);\n }\n case 2: {\n return toList(delay(() => append(Convert_flattenMap(_arg.fields[2]), delay(() => append(Convert_flattenMap(_arg.fields[3]), delay(() => singleton_1([_arg.fields[0], _arg.fields[1]])))))));\n }\n default: {\n return empty();\n }\n }\n}\n\nexport function Convert_$007CKeyValue$007C_$007C(key, map) {\n return map_1((value) => [key, value, remove(key, map)], tryFind(key, map));\n}\n\nexport function Convert_$007CNonArray$007C_$007C(_arg) {\n if (_arg.tag === 4) {\n return void 0;\n }\n else {\n return _arg;\n }\n}\n\nexport function Convert_$007CMapEmpty$007C_$007C(json) {\n let pattern_matching_result;\n if (json.tag === 1) {\n if (json.fields[0] === \"MapEmpty\") {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return json;\n }\n case 1: {\n return void 0;\n }\n }\n}\n\nexport function Convert_$007CMapKey$007C_$007C(_arg) {\n switch (_arg.tag) {\n case 0: {\n return _arg.fields[0].toString();\n }\n case 1: {\n return _arg.fields[0];\n }\n default: {\n return void 0;\n }\n }\n}\n\nexport function Convert_$007CMapOne$007C_$007C(_arg) {\n let pattern_matching_result, key, value;\n if (_arg.tag === 4) {\n if (!isEmpty(_arg.fields[0])) {\n if (head(_arg.fields[0]).tag === 1) {\n if (head(_arg.fields[0]).fields[0] === \"MapOne\") {\n if (!isEmpty(tail_1(_arg.fields[0]))) {\n const activePatternResult = Convert_$007CMapKey$007C_$007C(head(tail_1(_arg.fields[0])));\n if (activePatternResult != null) {\n if (!isEmpty(tail_1(tail_1(_arg.fields[0])))) {\n if (isEmpty(tail_1(tail_1(tail_1(_arg.fields[0]))))) {\n pattern_matching_result = 0;\n key = activePatternResult;\n value = head(tail_1(tail_1(_arg.fields[0])));\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return [key, value];\n }\n case 1: {\n return void 0;\n }\n }\n}\n\nexport function Convert_$007CMapNode$007C_$007C(_arg) {\n let pattern_matching_result, key, left, right, value;\n if (_arg.tag === 4) {\n if (!isEmpty(_arg.fields[0])) {\n if (head(_arg.fields[0]).tag === 1) {\n if (head(_arg.fields[0]).fields[0] === \"MapNode\") {\n if (!isEmpty(tail_1(_arg.fields[0]))) {\n const activePatternResult = Convert_$007CMapKey$007C_$007C(head(tail_1(_arg.fields[0])));\n if (activePatternResult != null) {\n if (!isEmpty(tail_1(tail_1(_arg.fields[0])))) {\n if (!isEmpty(tail_1(tail_1(tail_1(_arg.fields[0]))))) {\n if (!isEmpty(tail_1(tail_1(tail_1(tail_1(_arg.fields[0])))))) {\n if (!isEmpty(tail_1(tail_1(tail_1(tail_1(tail_1(_arg.fields[0]))))))) {\n if (head(tail_1(tail_1(tail_1(tail_1(tail_1(_arg.fields[0])))))).tag === 0) {\n if (isEmpty(tail_1(tail_1(tail_1(tail_1(tail_1(tail_1(_arg.fields[0])))))))) {\n pattern_matching_result = 0;\n key = activePatternResult;\n left = head(tail_1(tail_1(tail_1(_arg.fields[0]))));\n right = head(tail_1(tail_1(tail_1(tail_1(_arg.fields[0])))));\n value = head(tail_1(tail_1(_arg.fields[0])));\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return [key, value, left, right];\n }\n case 1: {\n return void 0;\n }\n }\n}\n\nexport function Convert_generateMap(json) {\n if (Convert_$007CMapEmpty$007C_$007C(json) != null) {\n return new Convert_InternalMap(0);\n }\n else {\n const activePatternResult_1 = Convert_$007CMapOne$007C_$007C(json);\n if (activePatternResult_1 != null) {\n const key = activePatternResult_1[0];\n const value = activePatternResult_1[1];\n return new Convert_InternalMap(1, key, value);\n }\n else {\n const activePatternResult_2 = Convert_$007CMapNode$007C_$007C(json);\n if (activePatternResult_2 != null) {\n const key_1 = activePatternResult_2[0];\n const left = activePatternResult_2[2];\n const right = activePatternResult_2[3];\n const value_1 = activePatternResult_2[1];\n const matchValue = [Convert_generateMap(left), Convert_generateMap(right)];\n let pattern_matching_result, leftMap, rightMap;\n if (matchValue[0] != null) {\n if (matchValue[1] != null) {\n pattern_matching_result = 0;\n leftMap = matchValue[0];\n rightMap = matchValue[1];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return new Convert_InternalMap(2, key_1, value_1, leftMap, rightMap);\n }\n case 1: {\n return void 0;\n }\n }\n }\n else {\n return void 0;\n }\n }\n }\n}\n\nexport function Convert_flatteFable3Map(tree) {\n return toList(delay(() => {\n let matchValue, key, value;\n return append((matchValue = [tryFind(\"k\", tree), tryFind(\"v\", tree)], (matchValue[0] != null) ? ((matchValue[0].tag === 1) ? ((matchValue[1] != null) ? ((key = matchValue[0].fields[0], (value = matchValue[1], singleton_1([key, value])))) : ((empty_1()))) : ((empty_1()))) : ((empty_1()))), delay(() => {\n let matchValue_1, left;\n return append((matchValue_1 = tryFind(\"left\", tree), (matchValue_1 != null) ? ((matchValue_1.tag === 5) ? ((left = matchValue_1.fields[0], Convert_flatteFable3Map(left))) : ((empty_1()))) : ((empty_1()))), delay(() => {\n const matchValue_2 = tryFind(\"right\", tree);\n let pattern_matching_result, right;\n if (matchValue_2 != null) {\n if (matchValue_2.tag === 5) {\n pattern_matching_result = 0;\n right = matchValue_2.fields[0];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return Convert_flatteFable3Map(right);\n }\n case 1: {\n return empty_1();\n }\n }\n }));\n }));\n }));\n}\n\nexport function Convert_flattenFable3Lists(linkedList) {\n return toList(delay(() => {\n let matchValue;\n return append((matchValue = tryFind(\"head\", linkedList), (matchValue == null) ? ((empty_1())) : singleton_1(matchValue)), delay(() => {\n const matchValue_1 = tryFind(\"tail\", linkedList);\n let pattern_matching_result, tail;\n if (matchValue_1 != null) {\n if (matchValue_1.tag === 5) {\n pattern_matching_result = 0;\n tail = matchValue_1.fields[0];\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n return Convert_flattenFable3Lists(tail);\n }\n case 1: {\n return empty_1();\n }\n }\n }));\n }));\n}\n\nexport function Convert_arrayLike(_arg) {\n switch (_arg.tag) {\n case 30: {\n return true;\n }\n case 28: {\n return true;\n }\n case 31: {\n return true;\n }\n case 32: {\n return true;\n }\n case 29: {\n return true;\n }\n case 35: {\n return true;\n }\n case 36: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nexport function Convert_isRecord(_arg) {\n if (_arg.tag === 39) {\n return true;\n }\n else {\n return false;\n }\n}\n\nexport function Convert_unionOfRecords(_arg) {\n if (_arg.tag === 40) {\n return forAll((case$) => {\n if (case$.CaseTypes.length === 1) {\n return Convert_isRecord(case$.CaseTypes[0]);\n }\n else {\n return false;\n }\n }, _arg.fields[0]()[0]);\n }\n else {\n return false;\n }\n}\n\nexport function Convert_optional(_arg) {\n if (_arg.tag === 27) {\n return true;\n }\n else {\n return false;\n }\n}\n\nexport function Convert_isQuoted(input) {\n if (input.indexOf(\"\\\"\") === 0) {\n return endsWith(input, \"\\\"\");\n }\n else {\n return false;\n }\n}\n\nexport function Convert_betweenQuotes(input) {\n return (\"\\\"\" + input) + \"\\\"\";\n}\n\nexport function Convert_removeQuotes(input) {\n return substring(input, 1, input.length - 2);\n}\n\nexport function Convert_fromJsonAs(input_mut, typeInfo_mut) {\n let foundCase, foundCase_1, testExpr, values_8, tree, tree_1;\n Convert_fromJsonAs:\n while (true) {\n const input = input_mut, typeInfo = typeInfo_mut;\n const matchValue = [input, typeInfo];\n let pattern_matching_result, value_2, value_4, value_5, value_7, value_8, value_9, value_10, value_11, value_12, value_13, value_14, value_15, value_16, value_17, value_18, value_19, value_20, value_21, value_22, value_23, value_24, value_25, value_26, getlElemType, value_27, getElemType, value_28, getElemType_1, value_29, genericJson, value_30, value_31, value_32, value_33, value_34, value_35, value_36, value_37, value_38, value_39, value_40, value_41, value_42, getTypes_1, values, jsonValue_5, optionalTypeDelayed_5, value_49, value_50, dict, caseName_4, getTypes_2, caseName_5, getTypes_3, getFields, serializedRecord, caseValue, getTypes_4, elementTypeDelayed, values_4, elementTypeDelayed_1, values_5, elementTypeDelayed_2, linkedList, elementTypeDelayed_3, values_6, elementTypeDelayed_4, values_7, array_12, tupleTypesDelayed, dict_1, getTypes_5, getTypes_6, tuples, getTypes_7, tuples_1, dict_2, getTypes_8, getType, items, getTypes_9, map, getType_1;\n if (matchValue[0].tag === 1) {\n if (matchValue[1].tag === 9) {\n if (matchValue[0].fields[0].toLocaleLowerCase() === \"nan\") {\n pattern_matching_result = 1;\n }\n else {\n pattern_matching_result = 2;\n value_4 = matchValue[0].fields[0];\n }\n }\n else if (matchValue[1].tag === 8) {\n if (matchValue[0].fields[0].toLocaleLowerCase() === \"nan\") {\n pattern_matching_result = 4;\n }\n else {\n pattern_matching_result = 5;\n value_7 = matchValue[0].fields[0];\n }\n }\n else if (matchValue[1].tag === 6) {\n pattern_matching_result = 8;\n value_10 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 1) {\n pattern_matching_result = 9;\n value_11 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 2) {\n pattern_matching_result = 11;\n value_13 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 22) {\n pattern_matching_result = 13;\n value_15 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 10) {\n pattern_matching_result = 14;\n value_16 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 11) {\n pattern_matching_result = 16;\n value_18 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 3) {\n pattern_matching_result = 19;\n value_21 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 4) {\n pattern_matching_result = 21;\n value_23 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 5) {\n pattern_matching_result = 23;\n value_25 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 38) {\n pattern_matching_result = 25;\n getlElemType = matchValue[1].fields[0];\n value_27 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 30) {\n pattern_matching_result = 27;\n getElemType_1 = matchValue[1].fields[0];\n value_29 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 12) {\n pattern_matching_result = 31;\n value_30 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 13) {\n pattern_matching_result = 32;\n value_31 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 14) {\n pattern_matching_result = 35;\n value_34 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 19) {\n pattern_matching_result = 36;\n value_35 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 15) {\n pattern_matching_result = 38;\n value_37 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 16) {\n pattern_matching_result = 39;\n value_38 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 17) {\n pattern_matching_result = 42;\n value_41 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 18) {\n pattern_matching_result = 43;\n value_42 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 27) {\n if (!equals(matchValue[0], new Json(3))) {\n pattern_matching_result = 46;\n jsonValue_5 = matchValue[0];\n optionalTypeDelayed_5 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 21) {\n pattern_matching_result = 47;\n value_49 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 40) {\n if (Convert_isQuoted(matchValue[0].fields[0])) {\n pattern_matching_result = 50;\n caseName_4 = matchValue[0].fields[0];\n getTypes_2 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 51;\n caseName_5 = matchValue[0].fields[0];\n getTypes_3 = matchValue[1].fields[0];\n }\n }\n else if (matchValue[1].tag === 39) {\n pattern_matching_result = 52;\n getFields = matchValue[1].fields[0];\n serializedRecord = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[0].tag === 2) {\n if (matchValue[1].tag === 7) {\n pattern_matching_result = 7;\n value_9 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 27) {\n if (!equals(matchValue[0], new Json(3))) {\n pattern_matching_result = 46;\n jsonValue_5 = matchValue[0];\n optionalTypeDelayed_5 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[0].tag === 3) {\n if (matchValue[1].tag === 2) {\n pattern_matching_result = 28;\n }\n else if (matchValue[1].tag === 0) {\n pattern_matching_result = 29;\n }\n else if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 27) {\n pattern_matching_result = 45;\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[0].tag === 5) {\n if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 40) {\n pattern_matching_result = 44;\n getTypes_1 = matchValue[1].fields[0];\n values = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 27) {\n if (!equals(matchValue[0], new Json(3))) {\n pattern_matching_result = 46;\n jsonValue_5 = matchValue[0];\n optionalTypeDelayed_5 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 12) {\n pattern_matching_result = 49;\n dict = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 28) {\n pattern_matching_result = 56;\n elementTypeDelayed_2 = matchValue[1].fields[0];\n linkedList = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 39) {\n pattern_matching_result = 60;\n dict_1 = matchValue[0].fields[0];\n getTypes_5 = matchValue[1].fields[0];\n }\n else if (matchValue[1].tag === 34) {\n pattern_matching_result = 63;\n dict_2 = matchValue[0].fields[0];\n getTypes_8 = matchValue[1].fields[0];\n }\n else if (matchValue[1].tag === 33) {\n pattern_matching_result = 65;\n getTypes_9 = matchValue[1].fields[0];\n map = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[0].tag === 4) {\n if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 27) {\n if (!equals(matchValue[0], new Json(3))) {\n pattern_matching_result = 46;\n jsonValue_5 = matchValue[0];\n optionalTypeDelayed_5 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 40) {\n pattern_matching_result = 53;\n caseValue = matchValue[0].fields[0];\n getTypes_4 = matchValue[1].fields[0];\n }\n else if (matchValue[1].tag === 30) {\n pattern_matching_result = 54;\n elementTypeDelayed = matchValue[1].fields[0];\n values_4 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 28) {\n pattern_matching_result = 55;\n elementTypeDelayed_1 = matchValue[1].fields[0];\n values_5 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 29) {\n pattern_matching_result = 57;\n elementTypeDelayed_3 = matchValue[1].fields[0];\n values_6 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 31) {\n pattern_matching_result = 58;\n elementTypeDelayed_4 = matchValue[1].fields[0];\n values_7 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 32) {\n pattern_matching_result = 59;\n array_12 = matchValue[0].fields[0];\n tupleTypesDelayed = matchValue[1].fields[0];\n }\n else if (matchValue[1].tag === 33) {\n pattern_matching_result = 61;\n getTypes_6 = matchValue[1].fields[0];\n tuples = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 34) {\n pattern_matching_result = 62;\n getTypes_7 = matchValue[1].fields[0];\n tuples_1 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 36) {\n pattern_matching_result = 64;\n getType = matchValue[1].fields[0];\n items = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 9) {\n pattern_matching_result = 0;\n value_2 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 8) {\n pattern_matching_result = 3;\n value_5 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 6) {\n pattern_matching_result = 6;\n value_8 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 1) {\n pattern_matching_result = 10;\n value_12 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 2) {\n pattern_matching_result = 12;\n value_14 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 10) {\n pattern_matching_result = 15;\n value_17 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 11) {\n pattern_matching_result = 17;\n value_19 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 3) {\n pattern_matching_result = 18;\n value_20 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 4) {\n pattern_matching_result = 20;\n value_22 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 5) {\n pattern_matching_result = 22;\n value_24 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 20) {\n pattern_matching_result = 24;\n value_26 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 38) {\n pattern_matching_result = 26;\n getElemType = matchValue[1].fields[0];\n value_28 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 23) {\n pattern_matching_result = 30;\n genericJson = matchValue[0];\n }\n else if (matchValue[1].tag === 13) {\n pattern_matching_result = 33;\n value_32 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 14) {\n pattern_matching_result = 34;\n value_33 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 19) {\n pattern_matching_result = 37;\n value_36 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 16) {\n pattern_matching_result = 40;\n value_39 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 17) {\n pattern_matching_result = 41;\n value_40 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 27) {\n if (!equals(matchValue[0], new Json(3))) {\n pattern_matching_result = 46;\n jsonValue_5 = matchValue[0];\n optionalTypeDelayed_5 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n }\n else if (matchValue[1].tag === 12) {\n pattern_matching_result = 48;\n value_50 = matchValue[0].fields[0];\n }\n else if (matchValue[1].tag === 24) {\n pattern_matching_result = 66;\n getType_1 = matchValue[1].fields[0];\n }\n else {\n pattern_matching_result = 67;\n }\n switch (pattern_matching_result) {\n case 0: {\n return value_2;\n }\n case 1: {\n return NaN;\n }\n case 2: {\n return parse(value_4);\n }\n case 3: {\n return value_5;\n }\n case 4: {\n return NaN;\n }\n case 5: {\n return parse(value_7);\n }\n case 6: {\n return Math.floor(value_8);\n }\n case 7: {\n return value_9;\n }\n case 8: {\n return parse_1(value_10, 511, false, 32);\n }\n case 9: {\n return value_11;\n }\n case 10: {\n return String.fromCharCode(value_12);\n }\n case 11: {\n return value_13;\n }\n case 12: {\n return value_14.toString();\n }\n case 13: {\n return Uri.create(value_15);\n }\n case 14: {\n return new Decimal(value_16);\n }\n case 15: {\n return new Decimal(value_17);\n }\n case 16: {\n return parse_1(value_18, 511, false, 16);\n }\n case 17: {\n return (value_19 + 0x8000 & 0xFFFF) - 0x8000;\n }\n case 18: {\n return value_20 & 0xFFFF;\n }\n case 19: {\n return parse_1(value_21, 511, true, 16);\n }\n case 20: {\n return value_22 >>> 0;\n }\n case 21: {\n return parse_1(value_23, 511, true, 32);\n }\n case 22: {\n return fromNumber(value_24, true);\n }\n case 23: {\n return parse_2(value_25, 511, true, 64);\n }\n case 24: {\n return Math.floor(value_26);\n }\n case 25: {\n const patternInput = getlElemType();\n const underlyingType = patternInput[0];\n const originalType = patternInput[1];\n switch (underlyingType.tag) {\n case 6: {\n let matchValue_1;\n let outArg = 0;\n matchValue_1 = [tryParse(value_27, 511, false, 32, new FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n if (matchValue_1[0]) {\n return matchValue_1[1];\n }\n else {\n const arg_1 = name_2(originalType);\n return toFail(printf(\"The value \\u0027%s\\u0027 is not valid for enum of type \\u0027%s\\u0027\"))(value_27)(arg_1);\n }\n }\n case 12: {\n let matchValue_2;\n let outArg_1 = fromInt(0);\n matchValue_2 = [tryParse_1(value_27, 511, false, 64, new FSharpRef(() => outArg_1, (v_1) => {\n outArg_1 = v_1;\n })), outArg_1];\n if (matchValue_2[0]) {\n return matchValue_2[1];\n }\n else {\n const arg_3 = name_2(originalType);\n return toFail(printf(\"The value \\u0027%s\\u0027 is not valid for enum of type \\u0027%s\\u0027\"))(value_27)(arg_3);\n }\n }\n default: {\n const arg_5 = name_2(originalType);\n return toFail(printf(\"The value \\u0027%s\\u0027 cannot be converted to enum of type \\u0027%s\\u0027\"))(value_27)(arg_5);\n }\n }\n }\n case 26: {\n const patternInput_1 = getElemType();\n return value_28;\n }\n case 27: {\n const elemType = getElemType_1();\n if (elemType.tag === 13) {\n if ((typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) ? true : Convert_insideBrowser) {\n return fromBase64String(value_29);\n }\n else {\n return Array.prototype.slice.call(Buffer.from(value_29, 'base64'));\n }\n }\n else {\n return toFail(printf(\"Cannot convert arbitrary string \\u0027%s\\u0027 to %A\"))(value_29)(elemType);\n }\n }\n case 28: {\n return null;\n }\n case 29: {\n return void 0;\n }\n case 30: {\n return SimpleJson_toPlainObject(genericJson);\n }\n case 31: {\n return parse_2(value_30, 511, false, 64);\n }\n case 32: {\n return parse_1(value_31, 511, true, 8);\n }\n case 33: {\n return value_32 & 0xFF;\n }\n case 34: {\n return (value_33 + 0x80 & 0xFF) - 0x80;\n }\n case 35: {\n return parse_1(value_34, 511, false, 8);\n }\n case 36: {\n return parse_3(value_35);\n }\n case 37: {\n return fromInt32(Math.floor(value_36));\n }\n case 38: {\n return parse_4(value_37);\n }\n case 39: {\n return parse_5(value_38);\n }\n case 40: {\n return DateOffset(toNumber(fromNumber(Math.floor(value_39), false)) * 1000, 0);\n }\n case 41: {\n return fromDayNumber(~(~value_40));\n }\n case 42: {\n return fromDayNumber(parse_1(value_41, 511, false, 32));\n }\n case 43: {\n return create(parse_2(value_42, 511, false, 64));\n }\n case 44: {\n const patternInput_2 = getTypes_1();\n const unionType = patternInput_2[1];\n const cases = patternInput_2[0];\n const matchValue_3 = toList_1(values);\n let pattern_matching_result_1, caseName_1, values_1, caseName_2, json;\n if (!isEmpty(matchValue_3)) {\n if (head(matchValue_3)[1].tag === 4) {\n if (isEmpty(tail_1(matchValue_3))) {\n pattern_matching_result_1 = 0;\n caseName_1 = head(matchValue_3)[0];\n values_1 = head(matchValue_3)[1].fields[0];\n }\n else {\n pattern_matching_result_1 = 2;\n }\n }\n else {\n const activePatternResult = Convert_$007CNonArray$007C_$007C(head(matchValue_3)[1]);\n if (activePatternResult != null) {\n if (isEmpty(tail_1(matchValue_3))) {\n pattern_matching_result_1 = 1;\n caseName_2 = head(matchValue_3)[0];\n json = activePatternResult;\n }\n else {\n pattern_matching_result_1 = 2;\n }\n }\n else {\n pattern_matching_result_1 = 2;\n }\n }\n }\n else {\n pattern_matching_result_1 = 2;\n }\n switch (pattern_matching_result_1) {\n case 0: {\n const _arg = tryFind_1((case$) => (case$.CaseName === caseName_1), cases);\n if (_arg != null) {\n if ((foundCase = _arg, (foundCase.CaseTypes.length === 1) && Convert_arrayLike(foundCase.CaseTypes[0]))) {\n const foundCase_2 = _arg;\n return makeUnion(foundCase_2.Info, [Convert_fromJsonAs(new Json(4, values_1), foundCase_2.CaseTypes[0])]);\n }\n else if ((foundCase_1 = _arg, (foundCase_1.CaseTypes.length === 1) && Convert_optional(foundCase_1.CaseTypes[0]))) {\n const foundCase_3 = _arg;\n return makeUnion(foundCase_3.Info, [Convert_fromJsonAs(new Json(4, values_1), foundCase_3.CaseTypes[0])]);\n }\n else {\n const foundCase_4 = _arg;\n if (((foundCase_4.CaseTypes.length === 1) && (!Convert_arrayLike(foundCase_4.CaseTypes[0]))) && (foundCase_4.CaseTypes.length !== length(values_1))) {\n const arg_14 = length(values_1) | 0;\n const arg_13 = foundCase_4.CaseTypes.length | 0;\n toFail(printf(\"Expected case \\u0027%s\\u0027 to have %d argument types but the JSON data only contained %d values\"))(foundCase_4.CaseName)(arg_13)(arg_14);\n }\n return makeUnion(foundCase_4.Info, map_2((tupledArg) => Convert_fromJsonAs(tupledArg[1], tupledArg[0]), zip(foundCase_4.CaseTypes, toArray(values_1))));\n }\n }\n else {\n const expectedCases = join(\", \", map_2((case$_1) => toText(printf(\" \\u0027%s\\u0027 \"))(case$_1.CaseName), cases));\n const arg_10 = name_2(unionType);\n return toFail(printf(\"Case %s was not valid for type \\u0027%s\\u0027, expected one of the cases [%s]\"))(caseName_1)(arg_10)(expectedCases);\n }\n }\n case 1: {\n const _arg_1 = tryFind_1((case$_2) => (case$_2.CaseName === caseName_2), cases);\n let pattern_matching_result_2, caseInfo, caseName_3, caseType;\n if (_arg_1 != null) {\n if ((testExpr = _arg_1.CaseTypes, (!equalsWith(equals, testExpr, null)) && (testExpr.length === 1))) {\n pattern_matching_result_2 = 0;\n caseInfo = _arg_1.Info;\n caseName_3 = _arg_1.CaseName;\n caseType = _arg_1.CaseTypes[0];\n }\n else {\n pattern_matching_result_2 = 1;\n }\n }\n else {\n pattern_matching_result_2 = 1;\n }\n switch (pattern_matching_result_2) {\n case 0: {\n return makeUnion(caseInfo, [((input_1) => ((typeInfo_1) => Convert_fromJsonAs(input_1, typeInfo_1)))(json)(caseType)]);\n }\n case 1: {\n const expectedCases_1 = join(\", \", map_2((case$_3) => toText(printf(\" \\u0027%s\\u0027 \"))(case$_3.CaseName), cases));\n const arg_19 = name_2(unionType);\n return toFail(printf(\"Case %s was not valid for type \\u0027%s\\u0027, expected one of the cases [%s]\"))(caseName_2)(arg_19)(expectedCases_1);\n }\n }\n }\n case 2: {\n if ((containsKey(\"tag\", values) && containsKey(\"fields\", values)) && (count(values) === 2)) {\n const matchValue_4 = [tryFind(\"tag\", values), tryFind(\"fields\", values)];\n let pattern_matching_result_3, caseIndex, fieldValues;\n if (matchValue_4[0] != null) {\n if (matchValue_4[0].tag === 0) {\n if (matchValue_4[1] != null) {\n if (matchValue_4[1].tag === 4) {\n pattern_matching_result_3 = 0;\n caseIndex = matchValue_4[0].fields[0];\n fieldValues = matchValue_4[1].fields[0];\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n }\n else {\n pattern_matching_result_3 = 1;\n }\n switch (pattern_matching_result_3) {\n case 0: {\n const foundCase_5 = cases[~(~caseIndex)];\n return makeUnion(foundCase_5.Info, mapIndexed((index, value_48) => Convert_fromJsonAs(value_48, foundCase_5.CaseTypes[index]), toArray(fieldValues)));\n }\n case 1: {\n const arg_22 = fullName(unionType);\n const arg_21 = SimpleJson_toString(new Json(5, values));\n return toFail(printf(\"Could not deserialize JSON(%s) into type %s\"))(arg_21)(arg_22);\n }\n }\n }\n else if (Convert_unionOfRecords(typeInfo)) {\n const foundDiscriminatorKey = tryFind_2((keyword) => containsKey(keyword, values), ofArray([\"__typename\", \"$typename\", \"$type\"]));\n if (foundDiscriminatorKey != null) {\n const discriminatorValueJson = find(foundDiscriminatorKey, values);\n if (discriminatorValueJson.tag === 1) {\n const discriminatorValue = discriminatorValueJson.fields[0];\n const foundUnionCase = tryFind_3((case$_4) => (case$_4.CaseName.toUpperCase() === discriminatorValue.toUpperCase()), cases);\n if (foundUnionCase != null) {\n const case$_5 = foundUnionCase;\n return makeUnion(case$_5.Info, [Convert_fromJsonAs(new Json(5, values), case$_5.CaseTypes[0])]);\n }\n else {\n const arg_24 = name_2(unionType);\n return toFail(printf(\"Union of records of type \\u0027%s\\u0027 does not have a matching case \\u0027%s\\u0027\"))(arg_24)(discriminatorValue);\n }\n }\n else {\n const arg_26 = name_2(unionType);\n return toFail(printf(\"Union of records of type \\u0027%s\\u0027 cannot be deserialized with the value of the discriminator key is not a string to match against a specific union case\"))(arg_26);\n }\n }\n else {\n const arg_23 = name_2(unionType);\n return toFail(printf(\"Could not serialize the JSON object into the union of records of type %s because the JSON did not contain a known discriminator. Expected \\u0027__typename\\u0027, \\u0027$typeName\\u0027 or \\u0027$type\\u0027\"))(arg_23);\n }\n }\n else {\n const unexpectedJson = JSON.stringify(matchValue_3);\n const expectedType = JSON.stringify(cases);\n return toFail(printf(\"Expected JSON:\\n%s\\nto match the type\\n%s\"))(unexpectedJson)(expectedType);\n }\n }\n }\n }\n case 45: {\n return void 0;\n }\n case 46: {\n return (some)(Convert_fromJsonAs(jsonValue_5, optionalTypeDelayed_5()));\n }\n case 47: {\n return parse_6(value_49);\n }\n case 48: {\n return ((value_51) => fromInteger(value_51, false, 2))(~(~value_50));\n }\n case 49: {\n const get$ = (key) => tryFind(key, dict);\n const _arg_2 = choose((x_1) => x_1, ofArray([get$(\"low\"), get$(\"high\"), get$(\"unsigned\")]));\n let pattern_matching_result_4, high, low;\n if (!isEmpty(_arg_2)) {\n if (head(_arg_2).tag === 0) {\n if (!isEmpty(tail_1(_arg_2))) {\n if (head(tail_1(_arg_2)).tag === 0) {\n if (!isEmpty(tail_1(tail_1(_arg_2)))) {\n if (head(tail_1(tail_1(_arg_2))).tag === 2) {\n if (isEmpty(tail_1(tail_1(tail_1(_arg_2))))) {\n pattern_matching_result_4 = 0;\n high = head(tail_1(_arg_2)).fields[0];\n low = head(_arg_2).fields[0];\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n }\n else {\n pattern_matching_result_4 = 1;\n }\n switch (pattern_matching_result_4) {\n case 0: {\n return toInt64(concat([getBytesInt32(~(~low)), getBytesInt32(~(~high))], Uint8Array), 0);\n }\n case 1: {\n return toFail(printf(\"Unable to construct int64 from object literal { low: int, high: int, unsigned: bool }\"));\n }\n }\n }\n case 50: {\n const patternInput_3 = getTypes_2();\n const caseTypes = patternInput_3[0];\n const _arg_3 = tryFind_1((case$_6) => (case$_6.CaseName === Convert_removeQuotes(caseName_4)), caseTypes);\n if (_arg_3 == null) {\n const expectedCases_2 = join(\", \", map_2((case$_7) => toText(printf(\" \\u0027%s\\u0027 \"))(case$_7.CaseName), caseTypes));\n const arg_34 = name_2(patternInput_3[1]);\n return toFail(printf(\"Case %s was not valid for type \\u0027%s\\u0027, expected one of the cases [%s]\"))(caseName_4)(arg_34)(expectedCases_2);\n }\n else {\n return makeUnion(_arg_3.Info, []);\n }\n }\n case 51: {\n const patternInput_4 = getTypes_3();\n const caseTypes_1 = patternInput_4[0];\n const _arg_4 = tryFind_1((case$_8) => (case$_8.CaseName === caseName_5), caseTypes_1);\n if (_arg_4 == null) {\n const expectedCases_3 = join(\", \", map_2((case$_9) => toText(printf(\" \\u0027%s\\u0027 \"))(case$_9.CaseName), caseTypes_1));\n const arg_38 = name_2(patternInput_4[1]);\n return toFail(printf(\"Case %s was not valid for type \\u0027%s\\u0027, expected one of the cases [%s]\"))(caseName_5)(arg_38)(expectedCases_3);\n }\n else {\n return makeUnion(_arg_4.Info, []);\n }\n }\n case 52: {\n input_mut = SimpleJson_parse(serializedRecord);\n typeInfo_mut = typeInfo;\n continue Convert_fromJsonAs;\n }\n case 53: {\n const patternInput_5 = getTypes_4();\n const cases_1 = patternInput_5[0];\n let pattern_matching_result_5, caseName_6, caseName_8, values_3, otherwise_6;\n if (!isEmpty(caseValue)) {\n if (head(caseValue).tag === 1) {\n if (isEmpty(tail_1(caseValue))) {\n pattern_matching_result_5 = 0;\n caseName_6 = head(caseValue).fields[0];\n }\n else {\n pattern_matching_result_5 = 1;\n caseName_8 = head(caseValue).fields[0];\n values_3 = tail_1(caseValue);\n }\n }\n else {\n pattern_matching_result_5 = 2;\n otherwise_6 = caseValue;\n }\n }\n else {\n pattern_matching_result_5 = 2;\n otherwise_6 = caseValue;\n }\n switch (pattern_matching_result_5) {\n case 0: {\n const _arg_5 = tryFind_1((case$_10) => (case$_10.CaseName === caseName_6), cases_1);\n if (_arg_5 == null) {\n const expectedCases_4 = join(\", \", map_2((case$_11) => toText(printf(\" \\u0027%s\\u0027 \"))(case$_11.CaseName), cases_1));\n const arg_42 = name_2(patternInput_5[1]);\n return toFail(printf(\"Case \\u0027%s\\u0027 was not valid for type \\u0027%s\\u0027, expected one of the cases [%s]\"))(caseName_6)(arg_42)(expectedCases_4);\n }\n else {\n const caseName_7 = _arg_5.CaseName;\n const caseInfoTypes = _arg_5.CaseTypes;\n return makeUnion(_arg_5.Info, []);\n }\n }\n case 1: {\n const _arg_6 = tryFind_1((case$_12) => (case$_12.CaseName === caseName_8), cases_1);\n if (_arg_6 != null) {\n const types = _arg_6.CaseTypes;\n const foundCaseName = _arg_6.CaseName;\n const caseInfo_4 = _arg_6.Info;\n if (types.length !== length(values_3)) {\n toFail(printf(\"The number of union case parameters for \\u0027%s\\u0027 is different\"))(foundCaseName);\n }\n return makeUnion(caseInfo_4, map_2((tupledArg_1) => Convert_fromJsonAs(tupledArg_1[1], tupledArg_1[0]), zip(types, toArray(values_3))));\n }\n else {\n const expectedCases_5 = join(\", \", map_2((_arg_7) => _arg_7.CaseName, cases_1));\n return toFail(printf(\"Case %s was not valid, expected one of [%s]\"))(caseName_8)(expectedCases_5);\n }\n }\n case 2: {\n const unexpectedJson_1 = JSON.stringify(otherwise_6);\n const expectedType_1 = JSON.stringify(cases_1);\n return toFail(printf(\"Expected JSON:\\n%s\\nto match the type\\n%s\"))(unexpectedJson_1)(expectedType_1);\n }\n }\n }\n case 54: {\n const elementType = elementTypeDelayed();\n return toArray(map_3((value_55) => Convert_fromJsonAs(value_55, elementType), values_4));\n }\n case 55: {\n const elementType_1 = elementTypeDelayed_1();\n return map_3((value_57) => Convert_fromJsonAs(value_57, elementType_1), values_5);\n }\n case 56: {\n const elementType_2 = elementTypeDelayed_2();\n return map_3((value_59) => Convert_fromJsonAs(value_59, elementType_2), Convert_flattenFable3Lists(linkedList));\n }\n case 57: {\n const elementType_3 = elementTypeDelayed_3();\n return ofList(map_3((value_61) => Convert_fromJsonAs(value_61, elementType_3), values_6), {\n Compare: compare,\n });\n }\n case 58: {\n const elementType_4 = elementTypeDelayed_4();\n return map_3((value_63) => Convert_fromJsonAs(value_63, elementType_4), values_7);\n }\n case 59: {\n return map_2((tupledArg_2) => Convert_fromJsonAs(tupledArg_2[1], tupledArg_2[0]), zip(tupleTypesDelayed(), toArray(array_12)));\n }\n case 60: {\n const patternInput_6 = getTypes_5();\n const recordType = patternInput_6[1];\n const fields = patternInput_6[0];\n return makeRecord(recordType, (values_8 = toList_1(dict_1), map_2((_arg_8) => {\n let list_10, f2, clo_48;\n const fieldType = _arg_8.FieldType;\n const fieldName = _arg_8.FieldName;\n const _arg_9 = tryFind_2((tupledArg_3) => (fieldName === tupledArg_3[0]), values_8);\n if (_arg_9 == null) {\n if (fieldType.tag === 27) {\n return void 0;\n }\n else {\n let dictKeys;\n const arg_51 = join(\", \", (list_10 = toList_1(dict_1), map_3((f2 = ((clo_48 = toText(printf(\"\\u0027%s\\u0027\")), clo_48)), (arg_50) => f2(arg_50[0])), list_10)));\n dictKeys = toText(printf(\"[ %s ]\"))(arg_51);\n let recordFields;\n const arg_54 = join(\", \", map_2((_arg_10) => {\n const name_1 = _arg_10.FieldName;\n if (_arg_10.FieldType.tag === 27) {\n return toText(printf(\"optional(\\u0027%s\\u0027)\"))(name_1);\n }\n else {\n return toText(printf(\"required(\\u0027%s\\u0027)\"))(name_1);\n }\n }, fields));\n recordFields = toText(printf(\"[ %s ]\"))(arg_54);\n const arg_57 = name_2(recordType);\n return toFail(printf(\"Could not find the required key \\u0027%s\\u0027 in the JSON object literal with keys %s to match with record type \\u0027%s\\u0027 that has fields %s\"))(fieldName)(dictKeys)(arg_57)(recordFields);\n }\n }\n else {\n const key_2 = _arg_9[0];\n return Convert_fromJsonAs(_arg_9[1], fieldType);\n }\n }, fields)));\n }\n case 61: {\n const patternInput_7 = getTypes_6();\n const keyType = patternInput_7[0];\n const pairs = toList(delay(() => collect((keyValuePair) => {\n let a;\n return singleton_1(Convert_fromJsonAs(keyValuePair, new TypeInfo(32, (a = [keyType, patternInput_7[1]], () => a))));\n }, tuples)));\n switch (keyType.tag) {\n case 6:\n case 2:\n case 7: {\n return ofList_1(pairs);\n }\n default: {\n return ofList_1(pairs);\n }\n }\n }\n case 62: {\n const patternInput_8 = getTypes_7();\n const keyType_1 = patternInput_8[0];\n const pairs_1 = toList(delay(() => collect((keyValuePair_1) => singleton_1(Convert_fromJsonAs(keyValuePair_1, new TypeInfo(32, () => [keyType_1, patternInput_8[1]]))), tuples_1)));\n const output = (keyType_1.tag === 40) ? (new Dictionary([], {\n Equals: equals,\n GetHashCode: safeHash,\n })) : ((keyType_1.tag === 39) ? (new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })) : (new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })));\n const enumerator = getEnumerator(pairs_1);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n addToDict(output, forLoopVar[0], forLoopVar[1]);\n }\n }\n finally {\n disposeSafe(enumerator);\n }\n return output;\n }\n case 63: {\n const patternInput_9 = getTypes_8();\n const keyType_2 = patternInput_9[0];\n const pairs_2 = map_3((tupledArg_4) => [Convert_fromJsonAs(new Json(1, tupledArg_4[0]), keyType_2), Convert_fromJsonAs(tupledArg_4[1], patternInput_9[1])], toList_1(dict_2));\n const output_1 = (keyType_2.tag === 40) ? (new Dictionary([], {\n Equals: equals,\n GetHashCode: safeHash,\n })) : ((keyType_2.tag === 39) ? (new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })) : (new Dictionary([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })));\n const enumerator_1 = getEnumerator(pairs_2);\n try {\n while (enumerator_1[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar_1 = enumerator_1[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n addToDict(output_1, forLoopVar_1[0], forLoopVar_1[1]);\n }\n }\n finally {\n disposeSafe(enumerator_1);\n }\n return output_1;\n }\n case 64: {\n const elemType_1 = getType();\n const hashset = (elemType_1.tag === 40) ? (new HashSet([], {\n Equals: equals,\n GetHashCode: safeHash,\n })) : ((elemType_1.tag === 39) ? (new HashSet([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })) : (new HashSet([], {\n Equals: equals,\n GetHashCode: structuralHash,\n })));\n const enumerator_2 = getEnumerator(items);\n try {\n while (enumerator_2[\"System.Collections.IEnumerator.MoveNext\"]()) {\n addToSet(Convert_fromJsonAs(enumerator_2[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), elemType_1), hashset);\n }\n }\n finally {\n disposeSafe(enumerator_2);\n }\n return hashset;\n }\n case 65: {\n const patternInput_10 = getTypes_9();\n const valueType_5 = patternInput_10[1];\n const keyType_3 = patternInput_10[0];\n const matchValue_5 = [tryFind(\"comparer\", map), tryFind(\"tree\", map)];\n let pattern_matching_result_6, comparer_2, tree_2, comparer_3, tree_3;\n if (matchValue_5[0] != null) {\n if (matchValue_5[0].tag === 5) {\n if (matchValue_5[1] != null) {\n if (matchValue_5[1].tag === 4) {\n if ((tree = matchValue_5[1].fields[0], isEmpty_1(matchValue_5[0].fields[0]))) {\n pattern_matching_result_6 = 0;\n comparer_2 = matchValue_5[0].fields[0];\n tree_2 = matchValue_5[1].fields[0];\n }\n else {\n pattern_matching_result_6 = 2;\n }\n }\n else if (matchValue_5[1].tag === 5) {\n if ((tree_1 = matchValue_5[1].fields[0], isEmpty_1(matchValue_5[0].fields[0]))) {\n pattern_matching_result_6 = 1;\n comparer_3 = matchValue_5[0].fields[0];\n tree_3 = matchValue_5[1].fields[0];\n }\n else {\n pattern_matching_result_6 = 2;\n }\n }\n else {\n pattern_matching_result_6 = 2;\n }\n }\n else {\n pattern_matching_result_6 = 2;\n }\n }\n else {\n pattern_matching_result_6 = 2;\n }\n }\n else {\n pattern_matching_result_6 = 2;\n }\n switch (pattern_matching_result_6) {\n case 0: {\n const matchValue_6 = Convert_generateMap(new Json(4, tree_2));\n if (matchValue_6 == null) {\n const inputJson = SimpleJson_toString(new Json(4, tree_2));\n return toFail(printf(\"Could not generate map from JSON\\n %s\"))(inputJson);\n }\n else {\n const pairs_3 = map_3((tupledArg_5) => {\n const key_6 = tupledArg_5[0];\n return [(!Convert_isQuoted(key_6)) ? Convert_fromJsonAs(new Json(1, key_6), keyType_3) : Convert_fromJsonAs(SimpleJson_parseNative(key_6), keyType_3), Convert_fromJsonAs(tupledArg_5[1], valueType_5)];\n }, Convert_flattenMap(matchValue_6));\n switch (keyType_3.tag) {\n case 6:\n case 2:\n case 7: {\n return ofList_1(pairs_3);\n }\n default: {\n return ofList_1(pairs_3);\n }\n }\n }\n }\n case 1: {\n input_mut = (new Json(5, ofList_1(Convert_flatteFable3Map(tree_3))));\n typeInfo_mut = typeInfo;\n continue Convert_fromJsonAs;\n }\n case 2: {\n const pairs_4 = map_3((tupledArg_6) => {\n const key_7 = tupledArg_6[0];\n return [(!Convert_isQuoted(key_7)) ? ((isPrimitive(keyType_3) ? true : enumUnion(keyType_3)) ? Convert_fromJsonAs(new Json(1, key_7), keyType_3) : Convert_fromJsonAs(SimpleJson_parseNative(key_7), keyType_3)) : Convert_fromJsonAs(SimpleJson_parseNative(key_7), keyType_3), Convert_fromJsonAs(tupledArg_6[1], valueType_5)];\n }, toList_1(map));\n switch (keyType_3.tag) {\n case 6:\n case 2:\n case 7: {\n return ofList_1(pairs_4);\n }\n default: {\n return ofList_1(pairs_4);\n }\n }\n }\n }\n }\n case 66: {\n const arg_61 = fullName(getType_1());\n const arg_60 = SimpleJson_toString(input);\n return toFail(printf(\"Cannot convert %s to %s\"))(arg_60)(arg_61);\n }\n case 67: {\n const arg_63 = JSON.stringify(typeInfo);\n const arg_62 = SimpleJson_toString(input);\n return toFail(printf(\"Cannot convert %s to %s\"))(arg_62)(arg_63);\n }\n }\n break;\n }\n}\n\nexport function Convert_fromJson(json, typeInfo) {\n return Convert_fromJsonAs(json, typeInfo);\n}\n\nexport const Convert_quoteText = quote;\n\nexport function Convert_serialize(value_mut, typeInfo_mut) {\n let copyOfStruct, copyOfStruct_1, copyOfStruct_2, copyOfStruct_3, copyOfStruct_4;\n Convert_serialize:\n while (true) {\n const value = value_mut, typeInfo = typeInfo_mut;\n switch (typeInfo.tag) {\n case 2: {\n const content = value;\n if (content == null) {\n return \"null\";\n }\n else {\n return Convert_quoteText(content);\n }\n }\n case 0: {\n return \"null\";\n }\n case 9:\n case 8: {\n if (Number.isNaN(value)) {\n return Convert_quoteText(\"NaN\");\n }\n else {\n return value.toString();\n }\n }\n case 1: {\n return Convert_quoteText(value);\n }\n case 13:\n case 14:\n case 3:\n case 4:\n case 11:\n case 38:\n case 20:\n case 6: {\n return int32ToString(value);\n }\n case 5:\n case 12: {\n return Convert_betweenQuotes(toString(value));\n }\n case 19: {\n return Convert_betweenQuotes(toString_1(value));\n }\n case 10: {\n return Convert_betweenQuotes(toString_2(value));\n }\n case 7: {\n if (value) {\n return \"true\";\n }\n else {\n return \"false\";\n }\n }\n case 21: {\n return Convert_betweenQuotes((copyOfStruct = value, copyOfStruct));\n }\n case 22: {\n return Convert_betweenQuotes(toString_3(value));\n }\n case 15: {\n return Convert_betweenQuotes((copyOfStruct_1 = value, toString_4(copyOfStruct_1, \"O\")));\n }\n case 16: {\n return Convert_betweenQuotes((copyOfStruct_2 = value, toString_4(copyOfStruct_2, \"O\")));\n }\n case 17: {\n return int32ToString((copyOfStruct_3 = value, dayNumber(copyOfStruct_3)));\n }\n case 18: {\n return Convert_betweenQuotes(toString((copyOfStruct_4 = value, ticks(copyOfStruct_4))));\n }\n case 39: {\n return (\"{\" + join(\", \", map_2((field) => {\n const arg_1 = Convert_serialize(getRecordField(value, field.PropertyInfo), field.FieldType);\n return toText(printf(\"\\\"%s\\\": %s\"))(field.FieldName)(arg_1);\n }, typeInfo.fields[0]()[0]))) + \"}\";\n }\n case 35: {\n const elementType = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_4((element) => Convert_serialize(element, elementType), value))) + \"]\";\n }\n case 36: {\n const elementType_1 = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_4((element_1) => Convert_serialize(element_1, elementType_1), value))) + \"]\";\n }\n case 29: {\n const elementType_2 = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_4((element_2) => Convert_serialize(element_2, elementType_2), value))) + \"]\";\n }\n case 30: {\n const elementType_3 = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_2((element_3) => Convert_serialize(element_3, elementType_3), value))) + \"]\";\n }\n case 28: {\n const elementType_4 = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_3((element_4) => Convert_serialize(element_4, elementType_4), value))) + \"]\";\n }\n case 31: {\n const elementType_5 = typeInfo.fields[0]();\n return (\"[\" + join(\", \", map_2((element_5) => Convert_serialize(element_5, elementType_5), toArray_1(value)))) + \"]\";\n }\n case 27: {\n const matchValue = value;\n if (matchValue != null) {\n value_mut = value_91(matchValue);\n typeInfo_mut = typeInfo.fields[0]();\n continue Convert_serialize;\n }\n else {\n return \"null\";\n }\n }\n case 40: {\n const patternInput_1 = typeInfo.fields[0]();\n const patternInput_2 = getUnionFields(value, patternInput_1[1]);\n const usedCase = patternInput_2[0];\n const fields = patternInput_2[1];\n const caseTypes = patternInput_1[0].find((case$) => (case$.CaseName === name_2(usedCase))).CaseTypes;\n if (enumUnion(typeInfo) ? true : (caseTypes.length === 0)) {\n return Convert_betweenQuotes(name_2(usedCase));\n }\n else if (caseTypes.length === 1) {\n return (((\"{\" + Convert_betweenQuotes(name_2(usedCase))) + \": \") + Convert_serialize(fields[0], caseTypes[0])) + \"}\";\n }\n else {\n const serializedFields_1 = join(\", \", mapIndexed((index, caseType) => Convert_serialize(fields[index], caseType), caseTypes));\n return ((((\"{\" + Convert_betweenQuotes(name_2(usedCase))) + \": \") + \"[\") + serializedFields_1) + \"] }\";\n }\n }\n case 33: {\n const patternInput_3 = typeInfo.fields[0]();\n const keyType = patternInput_3[0];\n const serializedValues = join(\", \", map_2((tupledArg) => {\n const serializedKey = Convert_serialize(tupledArg[0], keyType);\n const serializedValue = Convert_serialize(tupledArg[1], patternInput_3[1]);\n if (isPrimitive(keyType) ? true : enumUnion(keyType)) {\n if (!Convert_isQuoted(serializedKey)) {\n return (Convert_quoteText(serializedKey) + \": \") + serializedValue;\n }\n else {\n return (serializedKey + \": \") + serializedValue;\n }\n }\n else {\n return (((\"[\" + serializedKey) + \", \") + serializedValue) + \"]\";\n }\n }, toArray_2(value)));\n if (isPrimitive(keyType) ? true : enumUnion(keyType)) {\n return (\"{\" + serializedValues) + \"}\";\n }\n else {\n return (\"[\" + serializedValues) + \"]\";\n }\n }\n case 34: {\n const patternInput_4 = typeInfo.fields[0]();\n const keyType_1 = patternInput_4[0];\n const serializedValues_1 = join(\", \", map_4((pair) => {\n const patternInput_5 = [pair[0], pair[1]];\n const serializedKey_1 = Convert_serialize(patternInput_5[0], keyType_1);\n const serializedValue_1 = Convert_serialize(patternInput_5[1], patternInput_4[1]);\n if (isPrimitive(keyType_1) ? true : enumUnion(keyType_1)) {\n if (!Convert_isQuoted(serializedKey_1)) {\n return (Convert_betweenQuotes(serializedKey_1) + \": \") + serializedValue_1;\n }\n else {\n return (serializedKey_1 + \": \") + serializedValue_1;\n }\n }\n else {\n return (((\"[\" + serializedKey_1) + \", \") + serializedValue_1) + \"]\";\n }\n }, value));\n if (isPrimitive(keyType_1) ? true : enumUnion(keyType_1)) {\n return (\"{\" + serializedValues_1) + \"}\";\n }\n else {\n return (\"[\" + serializedValues_1) + \"]\";\n }\n }\n case 32: {\n const tupleTypes = typeInfo.fields[0]();\n if (tupleTypes.length === 1) {\n return (\"[\" + Convert_serialize(value, tupleTypes[0])) + \"]\";\n }\n else {\n return (\"[\" + join(\", \", mapIndexed((index_1, element_6) => Convert_serialize(element_6, tupleTypes[index_1]), value))) + \"]\";\n }\n }\n case 23: {\n return SimpleJson_stringify(value);\n }\n case 24: {\n return SimpleJson_stringify(value);\n }\n default: {\n return \"null\";\n }\n }\n break;\n }\n}\n\nexport function Fable_SimpleJson_Json__Json_stringify_Static_4E60E31B(value) {\n if (Convert_isUsingFable3) {\n console.warn(\"It looks like you using the function Json.stringify from Fable.SimpleJson while also using Fable 3 (nagareyama). Please use Json.serialize instead which supports both Fable 3 and Fable 2.x\");\n }\n return SimpleJson_stringify(value);\n}\n\n","export default function isBrowser() {\n return typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n}","export default function quote(inputText) {\n var escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n var meta = {\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n }\n\n escapable.lastIndex = 0;\n return escapable.test(inputText) ?\n '\"' + inputText.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' :\n '\"' + inputText + '\"';\n}","import { fromContinuations } from \"../fable-library.3.7.17/Async.js\";\nimport { toFail, printf, toText, trimEnd } from \"../fable-library.3.7.17/String.js\";\nimport { fullName, getGenerics, isGenericType, getFunctionElements, isFunction } from \"../fable-library.3.7.17/Reflection.js\";\nimport { take, equalsWith, last, head } from \"../fable-library.3.7.17/Array.js\";\nimport { curry, equals } from \"../fable-library.3.7.17/Util.js\";\nimport { empty, singleton, append, delay, toList } from \"../fable-library.3.7.17/Seq.js\";\nimport { singleton as singleton_1 } from \"../fable-library.3.7.17/AsyncBuilder.js\";\nimport { send, get$, post, withBody, withHeaders, withCredentials as withCredentials_4, sendAndReadBinary } from \"./Http.fs.js\";\nimport { RequestBody, ProxyRequestException_$ctor_76BC5104, HttpResponse } from \"./Types.fs.js\";\nimport { createTypeInfo } from \"../Fable.SimpleJson.3.24.0/TypeInfo.Converter.fs.js\";\nimport { SimpleJson_parseNative } from \"../Fable.SimpleJson.3.24.0/SimpleJson.fs.js\";\nimport { Convert_serialize, Convert_arrayLike, Convert_fromJsonAs } from \"../Fable.SimpleJson.3.24.0/Json.Converter.fs.js\";\nimport { TypeInfo } from \"../Fable.SimpleJson.3.24.0/TypeInfo.fs.js\";\n\nexport function Blob_readBlobAsText(blob) {\n return fromContinuations((tupledArg) => {\n const reader = new FileReader();\n reader.onload = ((_arg_2) => {\n if (reader.readyState === 2) {\n tupledArg[0](reader.result);\n }\n });\n reader.readAsText(blob);\n });\n}\n\nexport function Proxy_combineRouteWithBaseUrl(route, baseUrl) {\n if (baseUrl != null) {\n const arg = trimEnd(baseUrl, \"/\");\n return toText(printf(\"%s%s\"))(arg)(route);\n }\n else {\n return route;\n }\n}\n\nexport function Proxy_isByteArray(_arg) {\n if (_arg.tag === 30) {\n if (_arg.fields[0]().tag === 13) {\n return true;\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n}\n\nexport function Proxy_isAsyncOfByteArray(_arg) {\n if (_arg.tag === 25) {\n const matchValue = _arg.fields[0]();\n if (matchValue.tag === 30) {\n if (matchValue.fields[0]().tag === 13) {\n return true;\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n}\n\nexport function Proxy_getReturnType(typ_mut) {\n Proxy_getReturnType:\n while (true) {\n const typ = typ_mut;\n if (isFunction(typ)) {\n typ_mut = getFunctionElements(typ)[1];\n continue Proxy_getReturnType;\n }\n else if (isGenericType(typ)) {\n return head(getGenerics(typ));\n }\n else {\n return typ;\n }\n break;\n }\n}\n\nexport function Proxy_proxyFetch(options, typeName, func, fieldType) {\n let funcArgs;\n const matchValue = func.FieldType;\n switch (matchValue.tag) {\n case 25: {\n funcArgs = [func.FieldType];\n break;\n }\n case 26: {\n funcArgs = [func.FieldType];\n break;\n }\n case 37: {\n funcArgs = matchValue.fields[0]();\n break;\n }\n default: {\n funcArgs = toFail(printf(\"Field %s does not have a valid definiton\"))(func.FieldName);\n }\n }\n const argumentCount = (funcArgs.length - 1) | 0;\n const returnTypeAsync = last(funcArgs);\n let binaryInput;\n const matchValue_1 = func.FieldType;\n if (matchValue_1.tag === 37) {\n const matchValue_2 = matchValue_1.fields[0]();\n if ((!equalsWith(equals, matchValue_2, null)) && (matchValue_2.length === 2)) {\n const output = matchValue_2[1];\n binaryInput = Proxy_isByteArray(matchValue_2[0]);\n }\n else {\n binaryInput = false;\n }\n }\n else {\n binaryInput = false;\n }\n const url = Proxy_combineRouteWithBaseUrl(options.RouteBuilder(typeName, func.FieldName), options.BaseUrl);\n const funcNeedParameters = ((!equalsWith(equals, funcArgs, null)) && (funcArgs.length === 1)) ? ((funcArgs[0].tag === 25) ? false : (!(funcArgs[0].tag === 26))) : (((!equalsWith(equals, funcArgs, null)) && (funcArgs.length === 2)) ? ((funcArgs[0].tag === 0) ? (!(funcArgs[1].tag === 25)) : true) : true);\n const contentType = binaryInput ? \"application/octet-stream\" : \"application/json; charset=utf-8\";\n const inputArgumentTypes = take(argumentCount, funcArgs);\n const headers = toList(delay(() => append(singleton([\"Content-Type\", contentType]), delay(() => append(singleton([\"x-remoting-proxy\", \"true\"]), delay(() => append(options.CustomHeaders, delay(() => {\n const matchValue_3 = options.Authorization;\n if (matchValue_3 == null) {\n return empty();\n }\n else {\n return singleton([\"Authorization\", matchValue_3]);\n }\n }))))))));\n let executeRequest;\n if ((curry(2, options.CustomResponseSerialization) != null) ? true : Proxy_isAsyncOfByteArray(returnTypeAsync)) {\n let onOk;\n const matchValue_4 = options.CustomResponseSerialization;\n if (curry(2, matchValue_4) != null) {\n const serializer = curry(2, matchValue_4);\n const returnType = Proxy_getReturnType(fieldType);\n onOk = ((response) => serializer(response)(returnType));\n }\n else {\n onOk = ((value) => value);\n }\n executeRequest = ((requestBody) => singleton_1.Delay(() => singleton_1.Bind(funcNeedParameters ? sendAndReadBinary(withCredentials_4(options.WithCredentials, withHeaders(headers, withBody(requestBody, post(url))))) : sendAndReadBinary(withCredentials_4(options.WithCredentials, withHeaders(headers, get$(url)))), (_arg) => {\n const statusCode = _arg[1] | 0;\n const response_1 = _arg[0];\n if (statusCode === 200) {\n return singleton_1.Return(onOk(response_1));\n }\n else {\n const n = statusCode | 0;\n const responseAsBlob = new Blob([response_1.buffer], { type: 'text/plain' });\n return singleton_1.Bind(Blob_readBlobAsText(responseAsBlob), (_arg_1) => {\n const response_2 = new HttpResponse(statusCode, _arg_1);\n const errorMsg = (n === 500) ? toText(printf(\"Internal server error (500) while making request to %s\"))(url) : toText(printf(\"Http error (%d) while making request to %s\"))(n)(url);\n return singleton_1.ReturnFrom((() => {\n throw ProxyRequestException_$ctor_76BC5104(response_2, errorMsg, response_2.ResponseBody);\n })());\n });\n }\n })));\n }\n else {\n let returnType_1;\n switch (returnTypeAsync.tag) {\n case 25: {\n returnType_1 = returnTypeAsync.fields[0]();\n break;\n }\n case 26: {\n returnType_1 = returnTypeAsync.fields[0]();\n break;\n }\n case 24: {\n const t = returnTypeAsync.fields[0]();\n returnType_1 = ((fullName(t).indexOf(\"System.Threading.Tasks.Task`1\") === 0) ? createTypeInfo(getGenerics(t)[0]) : toFail(printf(\"Expected field %s to have a return type of Async\\u003c\\u0027t\\u003e or Task\\u003c\\u0027t\\u003e\"))(func.FieldName));\n break;\n }\n default: {\n returnType_1 = toFail(printf(\"Expected field %s to have a return type of Async\\u003c\\u0027t\\u003e or Task\\u003c\\u0027t\\u003e\"))(func.FieldName);\n }\n }\n executeRequest = ((requestBody_1) => singleton_1.Delay(() => singleton_1.Bind(funcNeedParameters ? send(withCredentials_4(options.WithCredentials, withHeaders(headers, withBody(requestBody_1, post(url))))) : send(withCredentials_4(options.WithCredentials, withHeaders(headers, get$(url)))), (_arg_2) => {\n const response_3 = _arg_2;\n const matchValue_5 = response_3.StatusCode | 0;\n switch (matchValue_5) {\n case 200: {\n const parsedJson = SimpleJson_parseNative(response_3.ResponseBody);\n return singleton_1.Return(Convert_fromJsonAs(parsedJson, returnType_1));\n }\n case 500: {\n return singleton_1.ReturnFrom((() => {\n throw ProxyRequestException_$ctor_76BC5104(response_3, toText(printf(\"Internal server error (500) while making request to %s\"))(url), response_3.ResponseBody);\n })());\n }\n default: {\n return singleton_1.ReturnFrom((() => {\n throw ProxyRequestException_$ctor_76BC5104(response_3, toText(printf(\"Http error (%d) from server occured while making request to %s\"))(matchValue_5)(url), response_3.ResponseBody);\n })());\n }\n }\n })));\n }\n return (arg0) => ((arg1) => ((arg2) => ((arg3) => ((arg4) => ((arg5) => ((arg6) => ((arg7) => {\n let matchValue_6;\n const inputArguments = funcNeedParameters ? take(argumentCount, [arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7]) : [];\n return executeRequest(binaryInput ? (new RequestBody(2, arg0)) : ((matchValue_6 = (inputArgumentTypes.length | 0), (matchValue_6 === 1) ? ((!Convert_arrayLike(inputArgumentTypes[0])) ? (new RequestBody(1, Convert_serialize(inputArguments[0], new TypeInfo(32, () => inputArgumentTypes)))) : (new RequestBody(1, Convert_serialize([inputArguments[0]], new TypeInfo(30, () => inputArgumentTypes[0]))))) : (new RequestBody(1, Convert_serialize(inputArguments, new TypeInfo(32, () => inputArgumentTypes)))))));\n })))))));\n}\n\n","import { empty } from \"../fable-library.3.7.17/List.js\";\nimport { uncurry } from \"../fable-library.3.7.17/Util.js\";\nimport { toFail, printf, toText } from \"../fable-library.3.7.17/String.js\";\nimport { RemoteBuilderOptions } from \"./Types.fs.js\";\nimport { Reader_$ctor_6C95DA22, Reader__Read_24524716 } from \"../Fable.Remoting.MsgPack.1.18.0/Read.fs.js\";\nimport { fullName, makeRecord, getRecordElements, name as name_1, class_type } from \"../fable-library.3.7.17/Reflection.js\";\nimport { createTypeInfo } from \"../Fable.SimpleJson.3.24.0/TypeInfo.Converter.fs.js\";\nimport { pick, map } from \"../fable-library.3.7.17/Array.js\";\nimport { singleton, collect, delay, toArray } from \"../fable-library.3.7.17/Seq.js\";\nimport { Proxy_proxyFetch } from \"./Proxy.fs.js\";\n\nexport function RemotingModule_createApi() {\n let clo;\n return new RemoteBuilderOptions(empty(), void 0, void 0, false, uncurry(2, (clo = toText(printf(\"/%s/%s\")), (arg) => {\n const clo_1 = clo(arg);\n return clo_1;\n })), uncurry(2, void 0));\n}\n\nexport function RemotingModule_withRouteBuilder(builder, options) {\n return new RemoteBuilderOptions(options.CustomHeaders, options.BaseUrl, options.Authorization, options.WithCredentials, builder, options.CustomResponseSerialization);\n}\n\nexport function RemotingModule_withBaseUrl(url, options) {\n return new RemoteBuilderOptions(options.CustomHeaders, url, options.Authorization, options.WithCredentials, options.RouteBuilder, options.CustomResponseSerialization);\n}\n\nexport function RemotingModule_withCustomHeader(headers, options) {\n return new RemoteBuilderOptions(headers, options.BaseUrl, options.Authorization, options.WithCredentials, options.RouteBuilder, options.CustomResponseSerialization);\n}\n\nexport function RemotingModule_withAuthorizationHeader(token, options) {\n return new RemoteBuilderOptions(options.CustomHeaders, options.BaseUrl, token, options.WithCredentials, options.RouteBuilder, options.CustomResponseSerialization);\n}\n\nexport function RemotingModule_withCredentials(withCredentials, options) {\n return new RemoteBuilderOptions(options.CustomHeaders, options.BaseUrl, options.Authorization, withCredentials, options.RouteBuilder, options.CustomResponseSerialization);\n}\n\nexport function RemotingModule_withBinarySerialization(options) {\n return new RemoteBuilderOptions(options.CustomHeaders, options.BaseUrl, options.Authorization, options.WithCredentials, options.RouteBuilder, (response, returnType) => Reader__Read_24524716(Reader_$ctor_6C95DA22(response), returnType));\n}\n\nexport class Remoting {\n constructor() {\n }\n}\n\nexport function Remoting$reflection() {\n return class_type(\"Fable.Remoting.Client.Remoting\", void 0, Remoting);\n}\n\nexport function Remoting_$ctor() {\n return new Remoting();\n}\n\nexport function Remoting_buildProxy_64DC51C(options, resolvedType) {\n const schemaType = createTypeInfo(resolvedType);\n if (schemaType.tag === 39) {\n const patternInput = schemaType.fields[0]();\n const recordType = patternInput[1];\n const fieldTypes = map((prop) => [name_1(prop), prop[1]], getRecordElements(recordType));\n return makeRecord(recordType, toArray(delay(() => collect((field) => {\n let n, matchValue, fieldType, fn;\n return singleton((n = (((matchValue = field.FieldType, (matchValue.tag === 25) ? 0 : ((matchValue.tag === 26) ? 0 : ((matchValue.tag === 37) ? (matchValue.fields[0]().length - 1) : 0)))) | 0), (fieldType = pick((tupledArg) => {\n if (tupledArg[0] === field.FieldName) {\n return tupledArg[1];\n }\n else {\n return void 0;\n }\n }, fieldTypes), (fn = Proxy_proxyFetch(options, name_1(recordType), field, fieldType), (n === 0) ? fn(null)(null)(null)(null)(null)(null)(null)(null) : ((n === 1) ? ((a) => fn(a)(null)(null)(null)(null)(null)(null)(null)) : ((n === 2) ? ((delegateArg, delegateArg_1) => fn(delegateArg)(delegateArg_1)(null)(null)(null)(null)(null)(null)) : ((n === 3) ? ((delegateArg_2, delegateArg_3, delegateArg_4) => fn(delegateArg_2)(delegateArg_3)(delegateArg_4)(null)(null)(null)(null)(null)) : ((n === 4) ? ((delegateArg_5, delegateArg_6, delegateArg_7, delegateArg_8) => fn(delegateArg_5)(delegateArg_6)(delegateArg_7)(delegateArg_8)(null)(null)(null)(null)) : ((n === 5) ? ((delegateArg_9, delegateArg_10, delegateArg_11, delegateArg_12, delegateArg_13) => fn(delegateArg_9)(delegateArg_10)(delegateArg_11)(delegateArg_12)(delegateArg_13)(null)(null)(null)) : ((n === 6) ? ((delegateArg_14, delegateArg_15, delegateArg_16, delegateArg_17, delegateArg_18, delegateArg_19) => fn(delegateArg_14)(delegateArg_15)(delegateArg_16)(delegateArg_17)(delegateArg_18)(delegateArg_19)(null)(null)) : ((n === 7) ? ((delegateArg_20, delegateArg_21, delegateArg_22, delegateArg_23, delegateArg_24, delegateArg_25, delegateArg_26) => fn(delegateArg_20)(delegateArg_21)(delegateArg_22)(delegateArg_23)(delegateArg_24)(delegateArg_25)(delegateArg_26)(null)) : ((n === 8) ? ((delegateArg_27, delegateArg_28, delegateArg_29, delegateArg_30, delegateArg_31, delegateArg_32, delegateArg_33, delegateArg_34) => fn(delegateArg_27)(delegateArg_28)(delegateArg_29)(delegateArg_30)(delegateArg_31)(delegateArg_32)(delegateArg_33)(delegateArg_34)) : toFail(printf(\"Cannot generate proxy function for %s. Only up to 8 arguments are supported. Consider using a record type as input\"))(field.FieldName)))))))))))));\n }, patternInput[0]))));\n }\n else {\n const arg_1 = fullName(resolvedType);\n return toFail(printf(\"Cannot build proxy. Exepected type %s to be a valid protocol definition which is a record of functions\"))(arg_1);\n }\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, int32_type, float64_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { interpolate, printf, toText } from \"../../fable-library.3.7.17/String.js\";\nimport { CssRule$reflection, CssRule, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\n\nexport class TimingFunction_Step extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"JumpStart\", \"JumpEnd\", \"JumpNone\", \"JumpBoth\", \"Start\", \"End\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"jump-end\";\n }\n case 2: {\n return \"jump-none\";\n }\n case 3: {\n return \"jump-both\";\n }\n case 4: {\n return \"start\";\n }\n case 5: {\n return \"end\";\n }\n default: {\n return \"jump-start\";\n }\n }\n }\n}\n\nexport function TimingFunction_Step$reflection() {\n return union_type(\"Fss.Types.TimingFunction.Step\", [], TimingFunction_Step, () => [[], [], [], [], [], []]);\n}\n\nexport class TimingFunction_Timing extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Ease\", \"EaseIn\", \"EaseOut\", \"EaseInOut\", \"Linear\", \"StepStart\", \"StepEnd\", \"CubicBezier\", \"Steps\", \"StepsWithTerm\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"ease-in\";\n }\n case 2: {\n return \"ease-out\";\n }\n case 3: {\n return \"ease-in-out\";\n }\n case 4: {\n return \"linear\";\n }\n case 5: {\n return \"step-start\";\n }\n case 6: {\n return \"step-end\";\n }\n case 7: {\n return toText(printf(\"cubic-bezier(%.2f, %.2f, %.2f, %.2f)\"))(this$.fields[0])(this$.fields[1])(this$.fields[2])(this$.fields[3]);\n }\n case 8: {\n return toText(printf(\"steps(%d)\"))(this$.fields[0]);\n }\n case 9: {\n return toText(interpolate(\"steps(%d%P(), %s%P())\", [this$.fields[0], MasterTypeHelpers_stringifyICssValue(this$.fields[1])]));\n }\n default: {\n return \"ease\";\n }\n }\n }\n}\n\nexport function TimingFunction_Timing$reflection() {\n return union_type(\"Fss.Types.TimingFunction.Timing\", [], TimingFunction_Timing, () => [[], [], [], [], [], [], [], [[\"Item1\", float64_type], [\"Item2\", float64_type], [\"Item3\", float64_type], [\"Item4\", float64_type]], [[\"Item\", int32_type]], [[\"Item1\", int32_type], [\"Item2\", TimingFunction_Step$reflection()]]]);\n}\n\nexport class TimingFunctionClasses_TimingFunction extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TimingFunctionClasses_TimingFunction$reflection() {\n return class_type(\"Fss.Types.TimingFunctionClasses.TimingFunction\", void 0, TimingFunctionClasses_TimingFunction, CssRule$reflection());\n}\n\nexport function TimingFunctionClasses_TimingFunction_$ctor_Z207A3CFB(property) {\n return new TimingFunctionClasses_TimingFunction(property);\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_ease(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_easeIn(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_easeOut(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_easeInOut(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_linear(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_stepStart(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__get_stepEnd(this$) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__cubicBezier_77D16AC0(this$, p1, p2, p3, p4) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(7, p1, p2, p3, p4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__step_Z524259A4(this$, steps) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(8, steps)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TimingFunctionClasses_TimingFunction__step_Z49132226(this$, steps, jumpTerm) {\n const tupledArg = [this$.property_1, new TimingFunction_Timing(9, steps, jumpTerm)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { class_type, int32_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { int32ToString } from \"../../fable-library.3.7.17/Util.js\";\nimport { String$, MasterTypeHelpers_stringifyICssValue, Float, CssRule$reflection, CssRule, None$0027, Normal, CssRuleWithValueFunctions$1$reflection, CssRuleWithValueFunctions$1 } from \"./MasterTypes.fs.js\";\nimport { Time$reflection } from \"./Units.fs.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\nimport { TimingFunction_Timing, TimingFunction_Timing$reflection } from \"./TimingFunction.fs.js\";\n\nexport class Animation_Direction extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Normal\", \"Reverse\", \"Alternate\", \"AlternateReverse\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"reverse\";\n }\n case 2: {\n return \"alternate\";\n }\n case 3: {\n return \"alternate-reverse\";\n }\n default: {\n return \"normal\";\n }\n }\n }\n}\n\nexport function Animation_Direction$reflection() {\n return union_type(\"Fss.Types.Animation.Direction\", [], Animation_Direction, () => [[], [], [], []]);\n}\n\nexport class Animation_FillMode extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Forwards\", \"Backwards\", \"Both\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return \"backwards\";\n }\n case 2: {\n return \"both\";\n }\n default: {\n return \"forwards\";\n }\n }\n }\n}\n\nexport function Animation_FillMode$reflection() {\n return union_type(\"Fss.Types.Animation.FillMode\", [], Animation_FillMode, () => [[], [], []]);\n}\n\nexport class Animation_IterationCount extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Infinite\", \"Value\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? int32ToString(this$.fields[0]) : \"infinite\";\n }\n}\n\nexport function Animation_IterationCount$reflection() {\n return union_type(\"Fss.Types.Animation.IterationCount\", [], Animation_IterationCount, () => [[], [[\"Item\", int32_type]]]);\n}\n\nexport class Animation_PlayState extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Running\", \"Paused\"];\n }\n StringifyCss() {\n const this$ = this;\n return (this$.tag === 1) ? \"paused\" : \"running\";\n }\n}\n\nexport function Animation_PlayState$reflection() {\n return union_type(\"Fss.Types.Animation.PlayState\", [], Animation_PlayState, () => [[], []]);\n}\n\nexport class AnimationClasses_AnimationTime extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n }\n}\n\nexport function AnimationClasses_AnimationTime$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationTime\", void 0, AnimationClasses_AnimationTime, CssRuleWithValueFunctions$1$reflection(Time$reflection()));\n}\n\nexport function AnimationClasses_AnimationTime_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationTime(property);\n}\n\nexport class AnimationClasses_AnimationDirection extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function AnimationClasses_AnimationDirection$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationDirection\", void 0, AnimationClasses_AnimationDirection, CssRuleWithValueFunctions$1$reflection(Animation_Direction$reflection()));\n}\n\nexport function AnimationClasses_AnimationDirection_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationDirection(property);\n}\n\nexport function AnimationClasses_AnimationDirection__get_normal(this$) {\n const tupledArg = [this$.property_2, new Normal(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationDirection__get_reverse(this$) {\n const tupledArg = [this$.property_2, new Animation_Direction(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationDirection__get_alternate(this$) {\n const tupledArg = [this$.property_2, new Animation_Direction(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationDirection__get_alternateReverse(this$) {\n const tupledArg = [this$.property_2, new Animation_Direction(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class AnimationClasses_AnimationFillMode extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function AnimationClasses_AnimationFillMode$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationFillMode\", void 0, AnimationClasses_AnimationFillMode, CssRuleWithValueFunctions$1$reflection(Animation_FillMode$reflection()));\n}\n\nexport function AnimationClasses_AnimationFillMode_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationFillMode(property);\n}\n\nexport function AnimationClasses_AnimationFillMode__get_none(this$) {\n const tupledArg = [this$.property_2, new None$0027(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationFillMode__get_forwards(this$) {\n const tupledArg = [this$.property_2, new Animation_FillMode(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationFillMode__get_backwards(this$) {\n const tupledArg = [this$.property_2, new Animation_FillMode(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationFillMode__get_both(this$) {\n const tupledArg = [this$.property_2, new Animation_FillMode(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class AnimationClasses_AnimationIterationCount extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function AnimationClasses_AnimationIterationCount$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationIterationCount\", void 0, AnimationClasses_AnimationIterationCount, CssRule$reflection());\n}\n\nexport function AnimationClasses_AnimationIterationCount_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationIterationCount(property);\n}\n\nexport function AnimationClasses_AnimationIterationCount__value_5E38073B(this$, iterationCount) {\n const tupledArg = [this$.property_1, new Float(0, iterationCount)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationIterationCount__value_46D9DA4E(this$, iterationCounts) {\n const tupledArg = [this$.property_1, new String$(0, join(\", \", map(MasterTypeHelpers_stringifyICssValue, iterationCounts)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationIterationCount__get_infinite(this$) {\n const tupledArg = [this$.property_1, new Animation_IterationCount(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class AnimationClasses_AnimationName extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function AnimationClasses_AnimationName$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationName\", void 0, AnimationClasses_AnimationName, CssRule$reflection());\n}\n\nexport function AnimationClasses_AnimationName_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationName(property);\n}\n\nexport function AnimationClasses_AnimationName__value_Z721C83C5(this$, name) {\n const tupledArg = [this$.property_1, new String$(0, name)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationName__value_1334CEF1(this$, names) {\n const tupledArg = [this$.property_1, new String$(0, join(\", \", names))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class AnimationClasses_AnimationPlayState extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function AnimationClasses_AnimationPlayState$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationPlayState\", void 0, AnimationClasses_AnimationPlayState, CssRuleWithValueFunctions$1$reflection(Animation_PlayState$reflection()));\n}\n\nexport function AnimationClasses_AnimationPlayState_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationPlayState(property);\n}\n\nexport function AnimationClasses_AnimationPlayState__get_running(this$) {\n const tupledArg = [this$.property_2, new Animation_PlayState(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationPlayState__get_paused(this$) {\n const tupledArg = [this$.property_2, new Animation_PlayState(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class AnimationClasses_AnimationTimingFunction extends CssRuleWithValueFunctions$1 {\n constructor(property) {\n super(property, \", \");\n this.property_2 = property;\n }\n}\n\nexport function AnimationClasses_AnimationTimingFunction$reflection() {\n return class_type(\"Fss.Types.AnimationClasses.AnimationTimingFunction\", void 0, AnimationClasses_AnimationTimingFunction, CssRuleWithValueFunctions$1$reflection(TimingFunction_Timing$reflection()));\n}\n\nexport function AnimationClasses_AnimationTimingFunction_$ctor_Z207A3CFB(property) {\n return new AnimationClasses_AnimationTimingFunction(property);\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_ease(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_easeIn(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_easeOut(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_easeInOut(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_linear(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_stepStart(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__get_stepEnd(this$) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__cubicBezier_77D16AC0(this$, a, b, c, d) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(7, a, b, c, d)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__step_Z524259A4(this$, steps) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(8, steps)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function AnimationClasses_AnimationTimingFunction__step_Z49132226(this$, steps, stepType) {\n const tupledArg = [this$.property_2, new TimingFunction_Timing(9, steps, stepType)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { Property_FontFaceProperty, Property_CssProperty, CssRule$reflection, CssRule } from \"./MasterTypes.fs.js\";\nimport { class_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { AnimationClasses_AnimationTimingFunction$reflection, AnimationClasses_AnimationTimingFunction } from \"./Animation.fs.js\";\n\nexport class TransitionClass extends CssRule {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TransitionClass$reflection() {\n return class_type(\"Fss.Types.TransitionClasses.TransitionClass\", void 0, TransitionClass, CssRule$reflection());\n}\n\nexport function TransitionClass_$ctor_Z207A3CFB(property) {\n return new TransitionClass(property);\n}\n\nexport class TransitionDelay extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TransitionDelay$reflection() {\n return class_type(\"Fss.Types.TransitionClasses.TransitionDelay\", void 0, TransitionDelay, CssRule$reflection());\n}\n\nexport function TransitionDelay_$ctor_Z207A3CFB(property) {\n return new TransitionDelay(property);\n}\n\nexport function TransitionDelay__value_74CCD5DD(this$, time) {\n const tupledArg = [this$.property_1, time];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TransitionDuration extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TransitionDuration$reflection() {\n return class_type(\"Fss.Types.TransitionClasses.TransitionDuration\", void 0, TransitionDuration, CssRule$reflection());\n}\n\nexport function TransitionDuration_$ctor_Z207A3CFB(property) {\n return new TransitionDuration(property);\n}\n\nexport function TransitionDuration__value_74CCD5DD(this$, time) {\n const tupledArg = [this$.property_1, time];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport class TransitionTimingFunction extends AnimationClasses_AnimationTimingFunction {\n constructor(property) {\n super(property);\n }\n}\n\nexport function TransitionTimingFunction$reflection() {\n return class_type(\"Fss.Types.TransitionClasses.TransitionTimingFunction\", void 0, TransitionTimingFunction, AnimationClasses_AnimationTimingFunction$reflection());\n}\n\nexport function TransitionTimingFunction_$ctor_Z207A3CFB(property) {\n return new TransitionTimingFunction(property);\n}\n\nexport class TransitionProperty extends CssRule {\n constructor(property) {\n super(property);\n this.property_1 = property;\n }\n}\n\nexport function TransitionProperty$reflection() {\n return class_type(\"Fss.Types.TransitionClasses.TransitionProperty\", void 0, TransitionProperty, CssRule$reflection());\n}\n\nexport function TransitionProperty_$ctor_Z207A3CFB(property) {\n return new TransitionProperty(property);\n}\n\nexport function TransitionProperty__get_appearance(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(0)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_alignContent(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(1)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_alignItems(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_alignSelf(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_all(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationDelay(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationDirection(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationDuration(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationFillMode(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationIterationCount(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationName(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationPlayState(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_animationTimingFunction(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_aspectRatio(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backfaceVisibility(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(14)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundAttachment(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(15)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundBlendMode(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(16)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundClip(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(17)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(18)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundImage(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(19)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundOrigin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(20)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundPosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(21)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundRepeat(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(22)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backgroundSize(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(23)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_backdropFilter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(24)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_bleed(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(25)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_border(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(26)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottomColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(27)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottomLeftRadius(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(28)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottomRightRadius(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(29)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottomStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(30)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottomWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(31)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(32)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderCollapse(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(33)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(34)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImage(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(35)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImageOutset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(36)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImageRepeat(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(37)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImageSource(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(38)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImageSlice(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(39)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderImageWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(40)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderLeftColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(41)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderLeftStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(42)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderLeftWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(43)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(44)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderRadius(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(45)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderRightColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(46)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderRightStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(47)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderRightWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(48)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(49)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderSpacing(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(50)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(51)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTopColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(52)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTopLeftRadius(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(53)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTopRightRadius(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(54)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTopStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(55)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTopWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(56)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderTop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(57)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(58)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_borderBlockColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(59)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_bottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(60)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_boxDecorationBreak(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(61)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_boxShadow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(62)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_boxSizing(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(63)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_breakAfter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(64)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_breakBefore(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(65)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_breakInside(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(66)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_captionSide(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(67)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_caretColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(68)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_clear(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(69)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_clip(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(70)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_clipPath(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(71)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_color(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(72)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_colorAdjust(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(73)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columns(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(74)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnCount(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(75)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnFill(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(76)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnGap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(77)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnRule(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(78)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnRuleColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(79)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnRuleStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(80)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnRuleWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(81)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnSpan(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(82)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_columnWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(83)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_content(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(84)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_counterIncrement(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(85)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_counterReset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(86)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_cueAfter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(88)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_cueBefore(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(89)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_cue(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(90)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_cursor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(91)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_direction(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(92)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_display(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(93)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_elevation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(94)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_emptyCells(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(95)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_filter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(96)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flex(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(97)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexBasis(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(98)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexDirection(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(99)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontFeatureSettings(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(8)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariationSettings(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(9)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexFlow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(102)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexGrow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(103)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexShrink(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(104)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_flexWrap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(105)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_float(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(106)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontFamily(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(3)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontKerning(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(108)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontLanguageOverride(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(109)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontSizeAdjust(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(110)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontSize(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(111)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontStretch(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(4)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontStyle(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(5)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontDisplay(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(2)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontSynthesis(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(115)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariant(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(7)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantAlternates(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(117)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantCaps(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(118)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantEastAsian(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(119)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantLigatures(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(120)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantNumeric(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(121)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontVariantPosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(122)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fontWeight(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(6)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_font(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(124)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridArea(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(125)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridAutoColumns(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(126)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridAutoFlow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(127)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridAutoRows(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(128)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridColumnEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(129)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridColumnStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(130)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridColumn(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(131)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridGap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(132)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridRowEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(133)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridRowGap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(134)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridColumnGap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(135)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridRowStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(136)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridRow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(137)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridTemplateAreas(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(138)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridTemplateColumns(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(139)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridTemplateRows(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(140)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_gridTemplate(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(141)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_grid(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(142)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_hangingPunctuation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(143)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_height(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(144)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_hyphens(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(145)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_isolation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(146)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_imageRendering(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(147)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_justifyContent(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(148)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_justifyItems(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(149)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_justifySelf(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(150)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_label(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(378)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_left(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(151)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_letterSpacing(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(152)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lineBreak(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(153)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lineHeight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(154)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_listStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(155)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_listStyleImage(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(156)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_listStylePosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(157)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_listStyleType(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(158)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lineGapOverride(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(10)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskClip(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(160)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskComposite(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(161)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskImage(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(162)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskMode(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(163)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskOrigin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(164)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskPosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(165)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskRepeat(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(166)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maskSize(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(167)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginBottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(168)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(169)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(170)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginTop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(171)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_margin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(172)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginInlineStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(173)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginInlineEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(174)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginBlockStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(175)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marginBlockEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(176)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_markerOffset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(177)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_marks(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(178)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maxHeight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(179)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_maxWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(180)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_minHeight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(181)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_minWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(182)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_mixBlendMode(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(183)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_navUp(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(184)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_navDown(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(185)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_navLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(186)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_navRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(187)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_opacity(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(188)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_order(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(189)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_orphans(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(190)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outlineColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(191)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outlineOffset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(192)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outlineStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(193)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outlineWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(194)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outline(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(195)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overflow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(196)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overflowWrap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(197)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overflowX(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(198)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overflowY(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(199)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_objectFit(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(200)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_objectPosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(201)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingBottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(202)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(203)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(204)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingTop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(205)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_padding(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(206)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingInlineStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(207)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingInlineEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(208)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingBlockStart(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(209)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paddingBlockEnd(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(210)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_page(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(211)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pauseAfter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(212)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pauseBefore(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(213)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pause(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(214)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paintOrder(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(215)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pointerEvents(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(216)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_perspective(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(217)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_perspectiveOrigin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(218)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pitchRange(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(219)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_pitch(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(220)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_placeContent(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(221)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_placeItems(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(222)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_placeSelf(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(223)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_playDuring(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(224)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_position(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(225)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_Quotes(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(226)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_resize(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(227)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_restAfter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(228)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_restBefore(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(229)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_rest(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(230)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_richness(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(231)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_right(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(232)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_size(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(233)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_speakHeader(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(234)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_speakNumeral(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(235)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_speakPunctuation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(236)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_src(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(12)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_speak(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(238)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_speechRate(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(239)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_stress(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(240)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollBehavior(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(241)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollMarginBottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(242)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollMarginLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(243)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollMarginRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(244)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollMarginTop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(245)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollMargin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(246)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollPaddingBottom(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(247)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollPaddingLeft(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(248)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollPaddingRight(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(249)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollPaddingTop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(250)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollPadding(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(251)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollSnapType(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(252)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollSnapAlign(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(253)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scrollSnapStop(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(254)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_sizeAdjust(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(11)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overscrollBehaviorX(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(256)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_overscrollBehaviorY(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(257)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_tabSize(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(258)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_tableLayout(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(259)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textAlign(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(260)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textAlignLast(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(261)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecoration(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(262)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(263)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationLine(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(264)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationThickness(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(265)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationSkip(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(266)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationSkipInk(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(267)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textDecorationStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(268)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textIndent(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(269)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textOverflow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(270)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textShadow(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(271)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textTransform(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(272)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textEmphasis(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(273)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textEmphasisColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(274)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textEmphasisPosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(275)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textEmphasisStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(276)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textUnderlineOffset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(277)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textUnderlinePosition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(278)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textSizeAdjust(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(279)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textOrientation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(280)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textRendering(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(281)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textJustify(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(282)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_top(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(283)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transform(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(284)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transformOrigin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(285)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transformStyle(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(286)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transition(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(287)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transitionDelay(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(288)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transitionDuration(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(289)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transitionProperty(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(290)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_transitionTimingFunction(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(291)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_unicodeBidi(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(292)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_unicodeRange(this$) {\n const tupledArg = [this$.property_1, new Property_FontFaceProperty(13)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_userSelect(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(294)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_verticalAlign(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(295)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_visibility(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(296)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceBalance(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(297)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceDuration(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(298)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceFamily(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(299)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voicePitch(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(300)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceRange(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(301)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceRate(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(302)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceStress(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(303)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_voiceVolume(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(304)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_volume(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(305)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_whiteSpace(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(306)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_widows(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(307)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_width(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(308)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_willChange(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(309)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_wordBreak(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(310)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_wordSpacing(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(311)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_wordWrap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(312)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_writingMode(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(313)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_zIndex(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(314)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_active(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(315)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_anyLink(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(316)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_blank(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(317)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_checked(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(318)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_current(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(319)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_disabled(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(320)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_empty(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(321)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_enabled(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(322)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_firstChild(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(323)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_firstOfType(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(324)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_focus(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(325)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_focusVisible(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(326)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_focusWithin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(327)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_future(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(328)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_hover(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(329)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_indeterminate(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(330)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_invalid(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(331)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_inRange(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(332)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__lang_Z721C83C5(this$, language) {\n const tupledArg = [this$.property_1, new Property_CssProperty(333, language)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lastChild(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(334)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lastOfType(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(335)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_link(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(336)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_localLink(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(337)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__nthChild_Z721C83C5(this$, nth) {\n const tupledArg = [this$.property_1, new Property_CssProperty(338, nth)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__nthLastChild_Z721C83C5(this$, nth) {\n const tupledArg = [this$.property_1, new Property_CssProperty(339, nth)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__nthLastOfType_Z721C83C5(this$, nth) {\n const tupledArg = [this$.property_1, new Property_CssProperty(340, nth)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__nthOfType_Z721C83C5(this$, nth) {\n const tupledArg = [this$.property_1, new Property_CssProperty(341, nth)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_onlyChild(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(342)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_onlyOfType(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(343)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_optional(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(344)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_outOfRange(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(345)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_past(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(346)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_playing(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(347)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_paused(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(348)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_placeholderShown(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(349)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_readOnly(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(350)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_readWrite(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(351)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_required(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(352)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_root(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(353)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_scope(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(354)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_target(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(355)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_targetWithin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(356)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_valid(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(357)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_visited(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(358)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_userInvalid(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(359)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_after(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(360)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_before(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(361)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_firstLetter(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(362)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_firstLine(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(363)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_selection(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(364)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_alignmentBaseline(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(366)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_baselineShift(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(367)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_dominantBaseline(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(368)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_textAnchor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(369)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_clipRule(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(370)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_floodColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(371)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_floodOpacity(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(372)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_lightingColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(373)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_stopColor(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(374)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_stopOpacity(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(375)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_colorInterpolation(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(376)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_colorInterpolationFilters(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(377)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fill(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(379)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fillOpacity(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(380)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_fillRule(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(381)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_shapeRendering(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(382)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_stroke(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(383)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeOpacity(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(384)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeDasharray(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(385)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeDashoffset(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(386)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeLinecap(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(387)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeLinejoin(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(388)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeMiterlimit(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(389)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function TransitionProperty__get_strokeWidth(this$) {\n const tupledArg = [this$.property_1, new Property_CssProperty(390)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { TransitionClass_$ctor_Z207A3CFB, TransitionProperty_$ctor_Z207A3CFB, TransitionTimingFunction_$ctor_Z207A3CFB, TransitionDuration_$ctor_Z207A3CFB, TransitionDelay_$ctor_Z207A3CFB } from \"../Types/Transition.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const TransitionDelay = TransitionDelay_$ctor_Z207A3CFB(new Property_CssProperty(288));\n\nexport const TransitionDuration = TransitionDuration_$ctor_Z207A3CFB(new Property_CssProperty(289));\n\nexport const TransitionTimingFunction = TransitionTimingFunction_$ctor_Z207A3CFB(new Property_CssProperty(291));\n\nexport const TransitionProperty = TransitionProperty_$ctor_Z207A3CFB(new Property_CssProperty(290));\n\nexport const Transition = TransitionClass_$ctor_Z207A3CFB(new Property_CssProperty(287));\n\n","import { Length$reflection, unitHelpers_lengthPercentageString } from \"./Units.fs.js\";\nimport { String$, CssRuleWithNone$reflection, CssRuleWithNone, MasterTypeHelpers_stringifyICssValue } from \"./MasterTypes.fs.js\";\nimport { Union } from \"../../fable-library.3.7.17/Types.js\";\nimport { Color_Color$reflection } from \"./Color.fs.js\";\nimport { class_type, union_type } from \"../../fable-library.3.7.17/Reflection.js\";\nimport { join } from \"../../fable-library.3.7.17/String.js\";\nimport { map } from \"../../fable-library.3.7.17/List.js\";\n\nexport class BoxShadow_BoxShadow extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Color\", \"BlurColor\", \"BlurSpreadColor\", \"Inset\"];\n }\n StringifyCss() {\n const this$ = this;\n switch (this$.tag) {\n case 1: {\n return `${unitHelpers_lengthPercentageString(this$.fields[0])} ${unitHelpers_lengthPercentageString(this$.fields[1])} ${unitHelpers_lengthPercentageString(this$.fields[2])} ${MasterTypeHelpers_stringifyICssValue(this$.fields[3])}`;\n }\n case 2: {\n return `${unitHelpers_lengthPercentageString(this$.fields[0])} ${unitHelpers_lengthPercentageString(this$.fields[1])} ${unitHelpers_lengthPercentageString(this$.fields[2])} ${unitHelpers_lengthPercentageString(this$.fields[3])} ${MasterTypeHelpers_stringifyICssValue(this$.fields[4])}`;\n }\n case 3: {\n return `inset ${MasterTypeHelpers_stringifyICssValue(this$.fields[0])}`;\n }\n default: {\n return `${unitHelpers_lengthPercentageString(this$.fields[0])} ${unitHelpers_lengthPercentageString(this$.fields[1])} ${MasterTypeHelpers_stringifyICssValue(this$.fields[2])}`;\n }\n }\n }\n}\n\nexport function BoxShadow_BoxShadow$reflection() {\n return union_type(\"Fss.Types.BoxShadow.BoxShadow\", [], BoxShadow_BoxShadow, () => [[[\"Item1\", Length$reflection()], [\"Item2\", Length$reflection()], [\"Item3\", Color_Color$reflection()]], [[\"Item1\", Length$reflection()], [\"Item2\", Length$reflection()], [\"Item3\", Length$reflection()], [\"Item4\", Color_Color$reflection()]], [[\"Item1\", Length$reflection()], [\"Item2\", Length$reflection()], [\"Item3\", Length$reflection()], [\"Item4\", Length$reflection()], [\"Item5\", Color_Color$reflection()]], [[\"Item\", BoxShadow_BoxShadow$reflection()]]]);\n}\n\nexport class BoxShadowClasses_BoxShadowClass extends CssRuleWithNone {\n constructor(property) {\n super(property);\n this.property_2 = property;\n }\n}\n\nexport function BoxShadowClasses_BoxShadowClass$reflection() {\n return class_type(\"Fss.Types.BoxShadowClasses.BoxShadowClass\", void 0, BoxShadowClasses_BoxShadowClass, CssRuleWithNone$reflection());\n}\n\nexport function BoxShadowClasses_BoxShadowClass_$ctor_Z207A3CFB(property) {\n return new BoxShadowClasses_BoxShadowClass(property);\n}\n\nexport function BoxShadowClasses_BoxShadowClass__value_1BA9B866(this$, xOffset, yOffset, color) {\n const tupledArg = [this$.property_2, new BoxShadow_BoxShadow(0, xOffset, yOffset, color)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BoxShadowClasses_BoxShadowClass__value_Z259E9AEE(this$, xOffset, yOffset, blur, color) {\n const tupledArg = [this$.property_2, new BoxShadow_BoxShadow(1, xOffset, yOffset, blur, color)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BoxShadowClasses_BoxShadowClass__value_Z6ABC551A(this$, xOffset, yOffset, blur, spread, color) {\n const tupledArg = [this$.property_2, new BoxShadow_BoxShadow(2, xOffset, yOffset, blur, spread, color)];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BoxShadowClasses_BoxShadowClass__value_191ACECC(this$, boxShadows) {\n const tupledArg = [this$.property_2, new String$(0, join(\", \", map(MasterTypeHelpers_stringifyICssValue, boxShadows)))];\n return [tupledArg[0], tupledArg[1]];\n}\n\nexport function BoxShadowClasses_BoxShadowClass__Inset_Z5DE0E4DA(this$, boxShadow) {\n const tupledArg = [this$.property_2, new BoxShadow_BoxShadow(3, boxShadow)];\n return [tupledArg[0], tupledArg[1]];\n}\n\n","import { BoxShadowClasses_BoxShadowClass_$ctor_Z207A3CFB } from \"../Types/BoxShadow.fs.js\";\nimport { Property_CssProperty } from \"../Types/MasterTypes.fs.js\";\n\nexport const BoxShadow = BoxShadowClasses_BoxShadowClass_$ctor_Z207A3CFB(new Property_CssProperty(62));\n\n","import logo_1 from \"./imgs/logo.svg\";\n\nexport const logo = logo_1;\n\n","import { Record } from \"../fable_modules/fable-library.3.7.17/Types.js\";\nimport { obj_type, record_type, class_type, string_type } from \"../fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { fromParts, op_Addition } from \"../fable_modules/fable-library.3.7.17/Decimal.js\";\nimport Decimal from \"../fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport { printf, toText } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { singleton, map, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Table from \"@material-ui/core/Table\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport { createElement } from \"react\";\nimport { Row } from \"../../../Components/UtilComponents.fs.js\";\nimport { TextSize, MarginTop } from \"../../../Styles/Utils.fs.js\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport Button from \"@material-ui/core/Button\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { useFeliz_React__React_useDeferred_Static_2344FC52 } from \"../fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\";\nimport { DisplayDeferred } from \"../../../DesignSystems/DisplayDeferred.fs.js\";\nimport { map as map_1, defaultArg } from \"../fable_modules/fable-library.3.7.17/Option.js\";\nimport { Compensation_compensationToDecimal } from \"../../../shared/Format.fs.js\";\n\nexport class SampleData extends Record {\n constructor(Type, PricePerSample, Compensation) {\n super();\n this.Type = Type;\n this.PricePerSample = PricePerSample;\n this.Compensation = Compensation;\n }\n}\n\nexport function SampleData$reflection() {\n return record_type(\"PriceListModal.SampleData\", [], SampleData, () => [[\"Type\", string_type], [\"PricePerSample\", class_type(\"System.Decimal\")], [\"Compensation\", class_type(\"System.Decimal\")]]);\n}\n\nexport class PropertyData extends Record {\n constructor(Type, StandardPrice, Compensation) {\n super();\n this.Type = Type;\n this.StandardPrice = StandardPrice;\n this.Compensation = Compensation;\n }\n}\n\nexport function PropertyData$reflection() {\n return record_type(\"PriceListModal.PropertyData\", [], PropertyData, () => [[\"Type\", string_type], [\"StandardPrice\", obj_type], [\"Compensation\", obj_type]]);\n}\n\nexport function SampleTableRow(data) {\n let elements;\n const total = op_Addition(data.PricePerSample, data.Compensation);\n return MuiHelpers_createElement(TableRow, [(elements = [MuiHelpers_createElement(TableCell, [[\"children\", data.Type]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", toText(printf(\"%.2f\"))(data.PricePerSample)]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", toText(printf(\"%.2f\"))(data.Compensation)]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", toText(printf(\"%.2f\"))(total)]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n}\n\nexport function PropertyTypeRow(data) {\n let elements;\n let total;\n const matchValue = [data.StandardPrice, data.Compensation];\n let pattern_matching_result;\n if (matchValue[0] instanceof Decimal) {\n if (matchValue[1] instanceof Decimal) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 1;\n }\n }\n else {\n pattern_matching_result = 1;\n }\n switch (pattern_matching_result) {\n case 0: {\n const arg = op_Addition(matchValue[0], matchValue[1]);\n total = toText(printf(\"%.2f\"))(arg);\n break;\n }\n case 1: {\n total = \"op aanvraag\";\n break;\n }\n }\n const formatValue = (value) => {\n if (value instanceof Decimal) {\n return toText(printf(\"%.2f\"))(value);\n }\n else {\n return \"op aanvraag\";\n }\n };\n return MuiHelpers_createElement(TableRow, [(elements = [MuiHelpers_createElement(TableCell, [[\"children\", data.Type]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", formatValue(data.StandardPrice)]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", formatValue(data.Compensation)]]), MuiHelpers_createElement(TableCell, [[\"align\", \"right\"], [\"children\", total]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])]);\n}\n\nexport function DisplayModal(displayModalInputProps) {\n let elements_10, children, elements_3, elements_1, elements, elements_2, elements_7, elements_5, elements_4, elements_6, children_1;\n const propertyCompensation = displayModalInputProps.propertyCompensation;\n const onClose = displayModalInputProps.onClose;\n const isOpen = displayModalInputProps.isOpen;\n const sampleCompensation = fromParts(0, 0, 0, false, 0);\n const sampleData = ofArray([new SampleData(\"Puntstaal\", fromParts(20, 0, 0, false, 0), sampleCompensation), new SampleData(\"Mengstaal\", fromParts(20, 0, 0, false, 0), sampleCompensation)]);\n const propertyData = ofArray([new PropertyData(\"Studio/éénkamerappartement\", fromParts(37500, 0, 0, false, 2), propertyCompensation), new PropertyData(\"Appartement\", fromParts(40000, 0, 0, false, 2), propertyCompensation), new PropertyData(\"Woonhuis\", fromParts(47000, 0, 0, false, 2), propertyCompensation), new PropertyData(\"Garage/garagebox\", fromParts(18000, 0, 0, false, 2), propertyCompensation), new PropertyData(\"Gemeenschappelijke delen\", \"op aanvraag\", \"op aanvraag\"), new PropertyData(\"Bedrijfspanden, handelspanden\", \"op aanvraag\", \"op aanvraag\"), new PropertyData(\"Meergezinswoningen\", \"op aanvraag\", \"op aanvraag\")]);\n return MuiHelpers_createElement(Dialog, [[\"fullWidth\", true], [\"maxWidth\", \"md\"], [\"open\", isOpen], [\"onClose\", (_arg_1, v) => {\n onClose(false);\n }], (elements_10 = [MuiHelpers_createElement(DialogTitle, [[\"children\", \"Vergoedingen asbestinventarissen\"]]), (children = ofArray([MuiHelpers_createElement(Typography, [[\"style\", {\n fontWeight: \"bolder\",\n }], [\"variant\", \"subtitle1\"], [\"children\", \"Stalen\"]]), MuiHelpers_createElement(Table, [(elements_3 = [MuiHelpers_createElement(TableHead, [(elements_1 = [MuiHelpers_createElement(TableRow, [(elements = [MuiHelpers_createElement(TableCell, [[\"children\", \"\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Prijs per staal excl. BTW\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Vergoeding excl. BTW\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Totaal per staal excl. BTW\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_1))])]), MuiHelpers_createElement(TableBody, [(elements_2 = map((data) => createElement(SampleTableRow, data), sampleData), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_2))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_3))])]), MuiHelpers_createElement(Typography, [[\"style\", {\n marginTop: 24 + \"px\",\n fontWeight: \"bolder\",\n }], [\"variant\", \"subtitle1\"], [\"children\", \"Type vastgoed\"]]), MuiHelpers_createElement(Table, [(elements_7 = [MuiHelpers_createElement(TableHead, [(elements_5 = [MuiHelpers_createElement(TableRow, [[\"style\", {\n fontWeight: \"bold\",\n }], (elements_4 = [MuiHelpers_createElement(TableCell, [[\"children\", \"\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Standaard prijs excl. BTW\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Vergoeding excl. BTW\"]]), MuiHelpers_createElement(TableCell, [[\"style\", {\n fontWeight: \"bold\",\n }], [\"align\", \"right\"], [\"children\", \"Totaal excl. BTW\"]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_4))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_5))])]), MuiHelpers_createElement(TableBody, [(elements_6 = map((data_1) => createElement(PropertyTypeRow, data_1), propertyData), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_6))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_7))])]), createElement(Row, {\n classes: ofArray([MarginTop.M, TextSize.Xxs]),\n children: singleton(\"inclusief 2 verplichte staalnames van de pleisterwerken en OVAM retributie\"),\n })]), MuiHelpers_createElement(DialogContent, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children))]])), (children_1 = singleton(MuiHelpers_createElement(Button, [[\"onClick\", (_arg_2) => {\n onClose(false);\n }], [\"children\", \"Sluiten\"]])), MuiHelpers_createElement(DialogActions, [[\"children\", Interop_reactApi.Children.toArray(Array.from(children_1))]]))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements_10))])]);\n}\n\nexport function PriceListModal(priceListModalInputProps) {\n const api = priceListModalInputProps.api;\n const onClose = priceListModalInputProps.onClose;\n const isOpen = priceListModalInputProps.isOpen;\n const data = useFeliz_React__React_useDeferred_Static_2344FC52(api.GetCompensationAmount(), []);\n return createElement(DisplayDeferred, {\n data: data,\n view: (compensation) => {\n const comp = defaultArg(map_1(Compensation_compensationToDecimal, compensation), fromParts(20, 0, 0, false, 0));\n return createElement(DisplayModal, {\n isOpen: isOpen,\n onClose: onClose,\n propertyCompensation: comp,\n });\n },\n });\n}\n\n","import { fss } from \"../fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { empty, singleton, append, delay, toList } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { ColorClass_Color__hex_Z721C83C5, ColorClass_Color__get_black, ColorClass_Color__get_white } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { BackgroundColor } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Background.fs.js\";\nimport { Color } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Color.fs.js\";\nimport { BorderBottomWidth, BorderBottomStyle, BorderBottomColor, BorderRightWidth, BorderRightStyle, BorderRightColor } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js\";\nimport { BorderClasses_BorderStyleParent__get_solid } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Border.fs.js\";\nimport { unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B, unitHelpers_DirectionalLength__value_Z498FEB3B } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { sec, vh, px } from \"../fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport { Height, Width, MinWidth, MinHeight } from \"../fable_modules/Fss-lib.Core.1.0.4/css/ContentSize.fs.js\";\nimport { TransitionDuration__value_74CCD5DD, TransitionProperty__get_width } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Transition.fs.js\";\nimport { TransitionTimingFunction, TransitionDuration, TransitionProperty } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Transition.fs.js\";\nimport { AnimationClasses_AnimationTimingFunction__get_ease } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Animation.fs.js\";\nimport { OverflowClasses_OverflowClass__get_hidden } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Overflow.fs.js\";\nimport { Overflow } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Overflow.fs.js\";\nimport { VisibilityClasses_Opacity__value_5E38073B } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Visibility.fs.js\";\nimport { Opacity } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Visibility.fs.js\";\nimport { FlexClasses_JustifyContent__get_start } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Flex.fs.js\";\nimport { FlexWrap, JustifyContent } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Flex.fs.js\";\nimport { MarginRight, center, TextColor, Boldness, TextSize, hCenter, appBarLogo, spaceBetween, flexExpand, fullWidth, Padding, PaddingBottom as PaddingBottom_1, PaddingTop as PaddingTop_1, PaddingRight, PaddingLeft, Var } from \"../../../Styles/Utils.fs.js\";\nimport { append as append_1, empty as empty_1, singleton as singleton_1, ofArray } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { CssRuleWithNone__get_none, CssRule__get_initial } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/MasterTypes.fs.js\";\nimport { Auth0PartnerUserPrivileges, Auth0PartnerUserClaims__HasPrivilege_567ADD95 } from \"../../../shared/Auth0Constants.fs.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { PaddingBottom, PaddingTop } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Padding.fs.js\";\nimport Button from \"@material-ui/core/Button\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport { RouterModule_urlSegments, RouterModule_nav } from \"../fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"../fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { toString } from \"../fable_modules/fable-library.3.7.17/Types.js\";\nimport { equals } from \"../fable_modules/fable-library.3.7.17/Util.js\";\nimport { Page, settings, compensations, customers, quotes, dossiers, dossierCreate, appRouter } from \"../AppRoutes.fs.js\";\nimport { Page$2__toUrl_2B594 } from \"../../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport Add from \"@material-ui/icons/Add\";\nimport Work from \"@material-ui/icons/Work\";\nimport WorkOutline from \"@material-ui/icons/WorkOutline\";\nimport PeopleAlt from \"@material-ui/icons/PeopleAlt\";\nimport Money from \"@material-ui/icons/Money\";\nimport SettingsApplications from \"@material-ui/icons/SettingsApplications\";\nimport { Row, Col } from \"../../../Components/UtilComponents.fs.js\";\nimport Divider from \"@material-ui/core/Divider\";\nimport { useAuth0 } from \"@auth0/auth0-react\";\nimport { useUsername, useToggle } from \"../../../CustomHooks/CustomHooks.fs.js\";\nimport AppBar_1 from \"@material-ui/core/AppBar\";\nimport { BoxShadow } from \"../fable_modules/Fss-lib.Core.1.0.4/css/BoxShadow.fs.js\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport { logo } from \"../Img.fs.js\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport ExitToApp from \"@material-ui/icons/ExitToApp\";\nimport { PriceListModal } from \"./PriceListModal.fs.js\";\n\nexport const drawerWidth = 195;\n\nexport function drawerStyle(isOpen) {\n return fss(toList(delay(() => append(singleton(ColorClass_Color__get_white(BackgroundColor)), delay(() => append(singleton(ColorClass_Color__get_black(Color)), delay(() => append(singleton(ColorClass_Color__hex_Z721C83C5(BorderRightColor, \"f0f0f0\")), delay(() => append(singleton(BorderClasses_BorderStyleParent__get_solid(BorderRightStyle)), delay(() => append(singleton(unitHelpers_DirectionalLength__value_Z498FEB3B(BorderRightWidth, px(1))), delay(() => append(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MinHeight, vh(100))), delay(() => append(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(MinWidth, px(220))), delay(() => append(singleton(TransitionProperty__get_width(TransitionProperty)), delay(() => append(singleton(TransitionDuration__value_74CCD5DD(TransitionDuration, sec(0.2))), delay(() => append(singleton(AnimationClasses_AnimationTimingFunction__get_ease(TransitionTimingFunction)), delay(() => append(singleton(OverflowClasses_OverflowClass__get_hidden(Overflow)), delay(() => (isOpen ? append(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(drawerWidth))), delay(() => singleton(VisibilityClasses_Opacity__value_5E38073B(Opacity, 1)))) : singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Width, px(40)))))))))))))))))))))))))))));\n}\n\nexport const menuButtonStyle = fss(ofArray([FlexClasses_JustifyContent__get_start(JustifyContent), ColorClass_Color__hex_Z721C83C5(Color, Var.Colors.TextLight)]));\n\nexport const menuButtonActive = fss(singleton_1(ColorClass_Color__hex_Z721C83C5(Color, \"#47B9B3\")));\n\nexport const flexNoWrap = fss(singleton_1(CssRule__get_initial(FlexWrap)));\n\nexport function cornerStyle(auth0User) {\n if (!Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1))) {\n return fss(singleton_1(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(89))));\n }\n else {\n return fss(singleton_1(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(Height, px(89))));\n }\n}\n\nexport function MenuButton(menuButtonInputProps) {\n let elems;\n const active = menuButtonInputProps.active;\n const url = menuButtonInputProps.url;\n const icon = menuButtonInputProps.icon;\n const text = menuButtonInputProps.text;\n return MuiHelpers_createElement(ListItem, [[\"key\", text], [\"disableGutters\", true], Feliz_prop__prop_fss_Static_72C268A9(toList(delay(() => append(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingTop, px(0))), delay(() => append(singleton(unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B(PaddingBottom, px(0))), delay(() => (active ? singleton(ColorClass_Color__hex_Z721C83C5(BackgroundColor, \"f0f0f0\")) : empty())))))))), (elems = [MuiHelpers_createElement(Button, [[\"className\", join(\" \", toList(delay(() => append(singleton(menuButtonStyle), delay(() => append(singleton(PaddingLeft.M), delay(() => append(singleton(PaddingRight.M), delay(() => append(singleton(PaddingTop_1.M), delay(() => append(singleton(PaddingBottom_1.M), delay(() => (active ? singleton(menuButtonActive) : empty()))))))))))))))], [\"onClick\", (_arg) => {\n RouterModule_nav(ofArray(url), 1, 1);\n }], [\"startIcon\", icon], [\"fullWidth\", true], [\"children\", text]])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])]);\n}\n\nexport function Menu(auth0User) {\n let props;\n const patternInput = useFeliz_React__React_useState_Static_1505(void 0);\n const currentPage = patternInput[0];\n const isActivePage = (page) => {\n let copyOfStruct;\n if (currentPage == null) {\n return false;\n }\n else {\n const currentPage_1 = currentPage;\n console.log(\"Active:\", (copyOfStruct = currentPage_1, toString(copyOfStruct)));\n return equals(currentPage_1, page);\n }\n };\n useReact_useEffect_Z101E1A95(() => {\n patternInput[1](appRouter(RouterModule_urlSegments(window.location.hash, 1)));\n }, [window.location.hash]);\n const addNewDossierButton = MuiHelpers_createElement(Button, [[\"size\", \"small\"], [\"onClick\", (_arg) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(dossierCreate)), 1, 1);\n }], [\"variant\", \"contained\"], [\"color\", \"secondary\"], [\"startIcon\", (props = {}, react.createElement(Add, props))], [\"children\", \"Dossier starten\"]]);\n let dossiersLink;\n let icon;\n const props_2 = {};\n icon = react.createElement(Work, props_2);\n const url = Page$2__toUrl_2B594(dossiers);\n dossiersLink = ((active) => createElement(MenuButton, {\n text: \"Dossiers\",\n icon: icon,\n url: url,\n active: active,\n }));\n let quotesLink;\n let icon_1;\n const props_3 = {};\n icon_1 = react.createElement(WorkOutline, props_3);\n const url_1 = Page$2__toUrl_2B594(quotes);\n quotesLink = ((active_1) => createElement(MenuButton, {\n text: \"Offertes\",\n icon: icon_1,\n url: url_1,\n active: active_1,\n }));\n let customersLink;\n let icon_2;\n const props_4 = {};\n icon_2 = react.createElement(PeopleAlt, props_4);\n const url_2 = Page$2__toUrl_2B594(customers);\n customersLink = ((active_2) => createElement(MenuButton, {\n text: \"Klanten\",\n icon: icon_2,\n url: url_2,\n active: active_2,\n }));\n let compensationsLink;\n let icon_3;\n const props_5 = {};\n icon_3 = react.createElement(Money, props_5);\n const url_3 = Page$2__toUrl_2B594(compensations);\n compensationsLink = ((active_3) => createElement(MenuButton, {\n text: \"Vergoedingen\",\n icon: icon_3,\n url: url_3,\n active: active_3,\n }));\n let settingsLink;\n let icon_4;\n const props_6 = {};\n icon_4 = react.createElement(SettingsApplications, props_6);\n const url_4 = Page$2__toUrl_2B594(settings);\n settingsLink = ((active_4) => createElement(MenuButton, {\n text: \"Settings\",\n icon: icon_4,\n url: url_4,\n active: active_4,\n }));\n return createElement(Col, {\n classes: empty_1(),\n children: toList(delay(() => append(Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(0)) ? singleton(createElement(\"div\", {\n className: Padding.M,\n children: Interop_reactApi.Children.toArray([addNewDossierButton]),\n })) : empty(), delay(() => append(singleton(customersLink(isActivePage(new Page(1)))), delay(() => append(Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1)) ? append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => singleton(quotesLink(isActivePage(new Page(13)))))) : empty(), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => append(singleton(dossiersLink(isActivePage(new Page(5)))), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => append((!Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1))) ? append(singleton(compensationsLink(isActivePage(new Page(10)))), delay(() => singleton(MuiHelpers_createElement(Divider, [])))) : empty(), delay(() => append(singleton(MuiHelpers_createElement(Divider, [])), delay(() => singleton(settingsLink(isActivePage(new Page(14)))))))))))))))))))))),\n });\n}\n\nexport function AppBar(appBarInputProps) {\n const api = appBarInputProps.api;\n const children = appBarInputProps.children;\n const auth0User = appBarInputProps.auth0User;\n const auth = useAuth0();\n const drawerOpen = useToggle(true);\n const username = useUsername();\n const patternInput = useFeliz_React__React_useState_Static_1505(false);\n const setPriceListModalOpen = patternInput[1];\n return createElement(Row, {\n classes: ofArray([fullWidth, flexNoWrap]),\n children: ofArray([createElement(Col, {\n classes: singleton_1(drawerStyle(drawerOpen.State)),\n children: ofArray([createElement(Row, {\n classes: singleton_1(cornerStyle(auth0User)),\n children: empty_1(),\n }), MuiHelpers_createElement(Divider, []), createElement(Menu, auth0User)]),\n }), createElement(Col, {\n classes: singleton_1(flexExpand),\n children: toList(delay(() => {\n let elems_4, elements;\n return append(singleton(MuiHelpers_createElement(AppBar_1, [[\"style\", {\n backgroundColor: \"#FFFFFF\",\n }], Feliz_prop__prop_fss_Static_72C268A9(ofArray([CssRuleWithNone__get_none(BoxShadow), ColorClass_Color__hex_Z721C83C5(BorderBottomColor, \"f0f0f0\"), BorderClasses_BorderStyleParent__get_solid(BorderBottomStyle), unitHelpers_DirectionalLength__value_Z498FEB3B(BorderBottomWidth, px(1))])), [\"position\", \"sticky\"], (elems_4 = [MuiHelpers_createElement(Toolbar, [[\"classes.root\", spaceBetween], (elements = toList(delay(() => append(singleton(createElement(\"img\", {\n className: appBarLogo,\n alt: \"Asbest Consulting Logo\",\n src: logo,\n })), delay(() => append(Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1)) ? singleton(createElement(\"div\", {\n className: join(\" \", [hCenter, TextSize.Xl, Boldness.b600, TextColor.Secondary]),\n children: Interop_reactApi.Children.toArray([\"Syndic Portaal\"]),\n })) : empty(), delay(() => singleton(createElement(Row, {\n classes: singleton_1(center),\n children: toList(delay(() => append(singleton(createElement(\"b\", {\n style: {\n color: \"#000000\",\n },\n children: username,\n className: join(\" \", [MarginRight.M]),\n })), delay(() => append((!Auth0PartnerUserClaims__HasPrivilege_567ADD95(auth0User, new Auth0PartnerUserPrivileges(1))) ? singleton(MuiHelpers_createElement(Button, [[\"color\", \"primary\"], [\"variant\", \"contained\"], [\"className\", join(\" \", [MarginRight.M])], [\"onClick\", (_arg) => {\n setPriceListModalOpen(true);\n }], [\"children\", Interop_reactApi.Children.toArray([\"Prijslijst\"])]])) : empty(), delay(() => {\n let elems_2, props_5;\n return singleton(MuiHelpers_createElement(IconButton, [[\"color\", \"primary\"], [\"onClick\", (_arg_1) => {\n auth.logout();\n }], (elems_2 = [(props_5 = {}, react.createElement(ExitToApp, props_5))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_2))])]));\n })))))),\n })))))))), [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_4))])])), delay(() => {\n const children_2 = append_1(children, singleton_1(createElement(PriceListModal, {\n isOpen: patternInput[0],\n onClose: setPriceListModalOpen,\n api: api,\n })));\n return singleton(createElement(Row, {\n classes: empty_1(),\n children: children_2,\n }));\n }));\n })),\n })]),\n });\n}\n\n","import { createElement } from \"react\";\nimport { Row, Col } from \"../../../Components/UtilComponents.fs.js\";\nimport { TextColor, MarginTop, MarginBottom, fullWidth, textCenter, vCenter, hCenter, alignCenter, appBarLogo, spaceBetween, flexExpand } from \"../../../Styles/Utils.fs.js\";\nimport { empty, ofArray, singleton } from \"../fable_modules/fable-library.3.7.17/List.js\";\nimport { MuiHelpers_createElement } from \"../fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport AppBar_1 from \"@material-ui/core/AppBar\";\nimport { Feliz_prop__prop_fss_Static_72C268A9 } from \"../fable_modules/Fss-lib.Feliz.1.0.3/FssFeliz.fs.js\";\nimport { CssRuleWithNone__get_none } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/MasterTypes.fs.js\";\nimport { BoxShadow } from \"../fable_modules/Fss-lib.Core.1.0.4/css/BoxShadow.fs.js\";\nimport { ColorClass_Color__hex_Z721C83C5 } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Color.fs.js\";\nimport { BorderBottomWidth, BorderBottomStyle, BorderBottomColor } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Border.fs.js\";\nimport { BorderClasses_BorderStyleParent__get_solid } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Border.fs.js\";\nimport { unitHelpers_CssRuleWithLength__value_Z498FEB3B, unitHelpers_DirectionalLength__value_Z498FEB3B } from \"../fable_modules/Fss-lib.Core.1.0.4/Types/Units.fs.js\";\nimport { px } from \"../fable_modules/Fss-lib.Core.1.0.4/Functions.fs.js\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport { logo } from \"../Img.fs.js\";\nimport { Interop_reactApi } from \"../fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { fss } from \"../fable_modules/Fss-lib.Fable.1.0.3/FssFable.fs.js\";\nimport { FontSize } from \"../fable_modules/Fss-lib.Core.1.0.4/css/Font.fs.js\";\nimport { useAuth0 } from \"@auth0/auth0-react\";\nimport { singleton as singleton_1, append, delay, toList } from \"../fable_modules/fable-library.3.7.17/Seq.js\";\nimport { join } from \"../fable_modules/fable-library.3.7.17/String.js\";\nimport Button from \"@material-ui/core/Button\";\n\nexport function AppBar(children) {\n let elems_1, elements;\n return createElement(Col, {\n classes: singleton(flexExpand),\n children: ofArray([MuiHelpers_createElement(AppBar_1, [[\"style\", {\n backgroundColor: \"#FFFFFF\",\n }], Feliz_prop__prop_fss_Static_72C268A9(ofArray([CssRuleWithNone__get_none(BoxShadow), ColorClass_Color__hex_Z721C83C5(BorderBottomColor, \"f0f0f0\"), BorderClasses_BorderStyleParent__get_solid(BorderBottomStyle), unitHelpers_DirectionalLength__value_Z498FEB3B(BorderBottomWidth, px(1))])), [\"position\", \"sticky\"], (elems_1 = [MuiHelpers_createElement(Toolbar, [[\"classes.root\", spaceBetween], (elements = [createElement(\"img\", {\n className: appBarLogo,\n alt: \"Asbest Consulting Logo\",\n src: logo,\n })], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])]), createElement(Row, {\n classes: empty(),\n children: children,\n })]),\n });\n}\n\nexport const titleClass = fss(singleton(unitHelpers_CssRuleWithLength__value_Z498FEB3B(FontSize, px(52))));\n\nexport function Login() {\n const auth = useAuth0();\n return AppBar(singleton(createElement(Col, {\n classes: ofArray([alignCenter, hCenter, vCenter, textCenter, fullWidth]),\n children: toList(delay(() => {\n const patternInput = (window.location.hostname.indexOf(\"syndic\") >= 0) ? [\"Syndic Portaal\", \"syndic\"] : [\"Partner Portaal\", \"partner\"];\n return append(singleton_1(createElement(\"h1\", {\n children: patternInput[0],\n className: join(\" \", [MarginBottom.L, MarginTop.Xl, TextColor.Primary, titleClass]),\n })), delay(() => {\n let children, elems;\n return singleton_1((children = singleton(MuiHelpers_createElement(Button, [[\"color\", \"secondary\"], [\"variant\", \"contained\"], [\"onClick\", (_arg) => {\n auth.loginWithPopup();\n }], (elems = [`Login als ${patternInput[1]}`], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems))])])), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n })));\n }));\n })),\n })));\n}\n\n","import { useReact_useEffect_Z101E1A95, useFeliz_React__React_useState_Static_1505 } from \"./fable_modules/Feliz.1.68.0/React.fs.js\";\nimport { RouterModule_nav, RouterModule_router, RouterModule_urlSegments } from \"./fable_modules/Feliz.Router.3.10.0/./Router.fs.js\";\nimport { createObj } from \"./fable_modules/fable-library.3.7.17/Util.js\";\nimport { empty as empty_1, singleton, delay, toList } from \"./fable_modules/fable-library.3.7.17/Seq.js\";\nimport { mainRouter, login, appRouter } from \"./AppRoutes.fs.js\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { List } from \"./pages/CustomerList.fs.js\";\nimport { Create } from \"./pages/CustomerCreate.fs.js\";\nimport { Edit } from \"./pages/CustomerEdit.fs.js\";\nimport { Detail } from \"./pages/CustomerDetail.fs.js\";\nimport { List as List_1 } from \"./pages/DossierList.fs.js\";\nimport { Create as Create_1 } from \"./pages/DossierCreate.fs.js\";\nimport { Edit as Edit_1 } from \"./pages/DossierEdit.fs.js\";\nimport { Detail as Detail_1 } from \"./pages/DossierDetail.fs.js\";\nimport { CompensationsEdit } from \"./pages/Compensations.fs.js\";\nimport { Quotes } from \"./pages/Quotes.fs.js\";\nimport { QuoteDetail } from \"./pages/QuoteDetail.fs.js\";\nimport { SettingsForm } from \"./pages/Settings.fs.js\";\nimport { singleton as singleton_2, empty, ofArray } from \"./fable_modules/fable-library.3.7.17/List.js\";\nimport { Page$2__toUrl_2B594 } from \"../../BidirectionalRouting/BidirectionalRouting.fs.js\";\nimport { Interop_reactApi } from \"./fable_modules/Feliz.1.68.0/./Interop.fs.js\";\nimport { Remoting_buildProxy_64DC51C } from \"./fable_modules/Fable.Remoting.Client.7.25.0/./Remoting.fs.js\";\nimport { RemotingModule_withAuthorizationHeader, RemotingModule_createApi, RemotingModule_withRouteBuilder } from \"./fable_modules/Fable.Remoting.Client.7.25.0/Remoting.fs.js\";\nimport { normalizePublicCibRoutes, normalizeRoutes } from \"./Server.fs.js\";\nimport { toConsole, split, printf, toText } from \"./fable_modules/fable-library.3.7.17/String.js\";\nimport { ICibFormApi$reflection, IPartnerPortalApi$reflection } from \"../../shared/Api.fs.js\";\nimport { useAuth0 } from \"@auth0/auth0-react\";\nimport { PartnerId as PartnerId_1 } from \"../../shared/Domain.fs.js\";\nimport { Auth0PartnerUserPrivileges, Auth0PartnerUserClaims } from \"../../shared/Auth0Constants.fs.js\";\nimport { awaitPromise, startImmediate } from \"./fable_modules/fable-library.3.7.17/Async.js\";\nimport { singleton as singleton_1 } from \"./fable_modules/fable-library.3.7.17/AsyncBuilder.js\";\nimport { map } from \"./fable_modules/fable-library.3.7.17/Array.js\";\nimport { Progress } from \"../../DesignSystems/DesignSystem.fs.js\";\nimport { AppBar } from \"./components/AppBar.fs.js\";\nimport { Login } from \"./pages/Login.fs.js\";\n\nexport function AppRouter(appRouterInputProps) {\n let elements;\n const user = appRouterInputProps.user;\n const api = appRouterInputProps.api;\n const patternInput = useFeliz_React__React_useState_Static_1505(RouterModule_urlSegments(window.location.hash, 1));\n return RouterModule_router(createObj(ofArray([[\"onUrlChanged\", patternInput[1]], (elements = toList(delay(() => {\n let children;\n const matchValue = appRouter(patternInput[0]);\n let pattern_matching_result, page, page_1, id, page_2, id_1, page_3, page_4, page_5, id_2, page_6, id_3, page_7, page_8, page_9, page_10, code, page_11, page_12;\n if (matchValue != null) {\n if (matchValue.tag === 1) {\n if (matchValue != null) {\n pattern_matching_result = 0;\n page = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 4) {\n if (matchValue != null) {\n pattern_matching_result = 1;\n page_1 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 3) {\n if (matchValue != null) {\n pattern_matching_result = 2;\n id = matchValue.fields[0];\n page_2 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 2) {\n if (matchValue != null) {\n pattern_matching_result = 3;\n id_1 = matchValue.fields[0];\n page_3 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 5) {\n if (matchValue != null) {\n pattern_matching_result = 4;\n page_4 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 8) {\n if (matchValue != null) {\n pattern_matching_result = 5;\n page_5 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 7) {\n if (matchValue != null) {\n pattern_matching_result = 6;\n id_2 = matchValue.fields[0];\n page_6 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 6) {\n if (matchValue != null) {\n pattern_matching_result = 7;\n id_3 = matchValue.fields[0];\n page_7 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 10) {\n if (matchValue != null) {\n pattern_matching_result = 8;\n page_8 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 11) {\n if (matchValue != null) {\n pattern_matching_result = 9;\n page_9 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 13) {\n if (matchValue != null) {\n pattern_matching_result = 10;\n page_10 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 12) {\n if (matchValue != null) {\n pattern_matching_result = 11;\n code = matchValue.fields[0];\n page_11 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else if (matchValue.tag === 14) {\n if (matchValue != null) {\n pattern_matching_result = 12;\n page_12 = matchValue;\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else {\n pattern_matching_result = 13;\n }\n }\n else {\n pattern_matching_result = 13;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(createElement(List, {\n currentPage: page,\n api: api,\n }));\n }\n case 1: {\n return singleton(createElement(Create, {\n currentPage: page_1,\n api: api,\n }));\n }\n case 2: {\n return singleton(createElement(Edit, {\n currentPage: page_2,\n api: api,\n customerCode: id,\n }));\n }\n case 3: {\n return singleton(createElement(Detail, {\n currentPage: page_3,\n api: api,\n customerCode: id_1,\n }));\n }\n case 4: {\n return singleton(createElement(List_1, {\n currentPage: page_4,\n api: api,\n }));\n }\n case 5: {\n return singleton(createElement(Create_1, {\n currentPage: page_5,\n api: api,\n }));\n }\n case 6: {\n return singleton(createElement(Edit_1, {\n currentPage: page_6,\n api: api,\n dossierCode: id_2,\n }));\n }\n case 7: {\n return singleton(createElement(Detail_1, {\n currentPage: page_7,\n api: api,\n dossierCode: id_3,\n auth0User: user,\n }));\n }\n case 8: {\n return singleton(createElement(CompensationsEdit, {\n currentPage: page_8,\n api: api,\n }));\n }\n case 9: {\n return singleton(createElement(CompensationsEdit, {\n currentPage: page_9,\n api: api,\n }));\n }\n case 10: {\n return singleton(createElement(Quotes, {\n currentPage: page_10,\n api: api,\n auth0User: user,\n }));\n }\n case 11: {\n return singleton(createElement(QuoteDetail, {\n currentPage: page_11,\n api: api,\n quoteCode: code,\n auth0User: user,\n }));\n }\n case 12: {\n return singleton(createElement(SettingsForm, {\n currentPage: page_12,\n api: api,\n }));\n }\n case 13: {\n return singleton((children = ofArray([createElement(\"h1\", {\n children: [\"Not found\"],\n }), createElement(\"a\", {\n onClick: (_arg) => {\n RouterModule_nav(ofArray(Page$2__toUrl_2B594(login)), 1, 1);\n },\n children: \"Go home\",\n })]), createElement(\"div\", {\n children: Interop_reactApi.Children.toArray(Array.from(children)),\n })));\n }\n }\n })), [\"application\", react.createElement(react.Fragment, {}, ...elements)])])));\n}\n\nexport function createApi(token) {\n let options_1;\n return Remoting_buildProxy_64DC51C((options_1 = RemotingModule_withRouteBuilder(normalizeRoutes, RemotingModule_createApi()), RemotingModule_withAuthorizationHeader(toText(printf(\"Bearer %s\"))(token), options_1)), IPartnerPortalApi$reflection());\n}\n\nexport function createPublicCibFormApi() {\n return Remoting_buildProxy_64DC51C(RemotingModule_withRouteBuilder(normalizePublicCibRoutes, RemotingModule_createApi()), ICibFormApi$reflection());\n}\n\nexport function App() {\n let user;\n const auth = useAuth0();\n const patternInput = useFeliz_React__React_useState_Static_1505(\"\");\n const token = patternInput[0];\n const patternInput_1 = useFeliz_React__React_useState_Static_1505(createApi(token));\n const client = patternInput_1[0];\n const patternInput_2 = useFeliz_React__React_useState_Static_1505(new Auth0PartnerUserClaims([], new PartnerId_1(0), \"\"));\n const auth0User = patternInput_2[0];\n useReact_useEffect_Z101E1A95(() => {\n startImmediate(singleton_1.Delay(() => {\n const matchValue = auth.user;\n if (matchValue == null) {\n return singleton_1.Zero();\n }\n else {\n return singleton_1.Bind(awaitPromise(auth.getIdTokenClaims()), (_arg_1) => {\n const userClaims = _arg_1;\n const tkn = userClaims.__raw;\n patternInput_1[1](createApi(tkn));\n patternInput[1](tkn);\n patternInput_2[1](new Auth0PartnerUserClaims(map((p) => {\n switch (p) {\n case \"Partner\": {\n return new Auth0PartnerUserPrivileges(0);\n }\n case \"Syndic\": {\n return new Auth0PartnerUserPrivileges(1);\n }\n default: {\n return new Auth0PartnerUserPrivileges(2);\n }\n }\n }, split(userClaims.privilege, [\",\"], null, 0)), new PartnerId_1(userClaims.partner_id), \"\"));\n return singleton_1.Zero();\n });\n }\n }));\n }, [auth.isLoading]);\n const matchValue_1 = auth.user;\n if (matchValue_1 != null) {\n if ((user = matchValue_1, token === \"\")) {\n const user_1 = matchValue_1;\n return createElement(Progress, {\n classes: empty(),\n });\n }\n else {\n const user_2 = matchValue_1;\n return createElement(AppBar, {\n auth0User: auth0User,\n children: singleton_2(createElement(AppRouter, {\n api: client,\n user: auth0User,\n })),\n api: client,\n });\n }\n }\n else if (auth.isLoading) {\n return createElement(Progress, {\n classes: empty(),\n });\n }\n else {\n return createElement(Login, null);\n }\n}\n\nexport function MainRouter() {\n let elements;\n const auth = useAuth0();\n const patternInput = useFeliz_React__React_useState_Static_1505(RouterModule_urlSegments(window.location.hash, 1));\n const currentUrl = patternInput[0];\n const publicCibApi = Remoting_buildProxy_64DC51C(RemotingModule_withRouteBuilder(normalizePublicCibRoutes, RemotingModule_createApi()), ICibFormApi$reflection());\n return RouterModule_router(createObj(ofArray([[\"onUrlChanged\", patternInput[1]], (elements = toList(delay(() => {\n toConsole(printf(\"current url %A\"))(currentUrl);\n const matchValue = mainRouter(currentUrl);\n let pattern_matching_result;\n if (matchValue != null) {\n if (matchValue.tag === 0) {\n pattern_matching_result = 0;\n }\n else if (matchValue.tag === 9) {\n pattern_matching_result = 1;\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else {\n pattern_matching_result = 2;\n }\n switch (pattern_matching_result) {\n case 0: {\n return singleton(createElement(Login, null));\n }\n case 1: {\n window.location.href = \"https://asbestconsulting.be\";\n return empty_1();\n }\n case 2: {\n return singleton(createElement(App, null));\n }\n }\n })), [\"application\", react.createElement(react.Fragment, {}, ...elements)])])));\n}\n\n","import { render } from \"react-dom\";\nimport { createElement } from \"react\";\nimport { Auth0Provider } from \"@auth0/auth0-react\";\nimport { Root } from \"./Root.fs.js\";\nimport \"./styles/global.scss\";\n\n\nrender(createElement(Auth0Provider, {\n domain: \"asbest-partner-portal.eu.auth0.com\",\n clientId: \"r7tIsc7YdvslYE3ECleGN6Bz0ESGusTp\",\n redirectUri: window.location.origin,\n children: createElement(Root, null),\n}), document.getElementById(\"feliz-app\"));\n\n","import { MuiHelpers_createElement } from \"./fable_modules/Feliz.MaterialUI.1.2.6/./Mui.fs.js\";\nimport { ThemeProvider, StylesProvider } from \"@material-ui/core/styles\";\nimport { main } from \"../../Styles/Theme.fs.js\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport { createElement } from \"react\";\nimport * as react from \"react\";\nimport { MainRouter } from \"./Routing.fs.js\";\nimport { SnackbarProvider } from \"notistack\";\nimport { Interop_reactApi } from \"./fable_modules/Feliz.1.68.0/./Interop.fs.js\";\n\nexport function Root() {\n let elems_1, elements, children, props_2;\n return MuiHelpers_createElement(StylesProvider, [[\"injectFirst\", true], (elems_1 = [MuiHelpers_createElement(ThemeProvider, [[\"theme\", main], (elements = [(children = [MuiHelpers_createElement(CssBaseline, []), createElement(MainRouter, null)], (props_2 = {}, react.createElement(SnackbarProvider, props_2, ...children)))], [\"children\", Interop_reactApi.Children.toArray(Array.from(elements))])])], [\"children\", Interop_reactApi.Children.toArray(Array.from(elems_1))])]);\n}\n\n","import { toConsole, printf, toText, split, isNullOrWhiteSpace, join } from \"./fable_modules/fable-library.3.7.17/String.js\";\nimport { ofArray, collect, filter } from \"./fable_modules/fable-library.3.7.17/List.js\";\nimport { publicCibFormPath, partnerPortalPath } from \"../../shared/Api.fs.js\";\n\nexport const virtualPath = eval(\"window.location.pathname\");\n\nexport function combine(paths) {\n const arg_2 = join(\"/\", filter((arg_1) => (!isNullOrWhiteSpace(arg_1)), filter((segment) => (!(segment.indexOf(\".\") >= 0)), collect((path) => ofArray(split(path, [\"/\"], null, 0)), paths))));\n return toText(printf(\"/%s\"))(arg_2);\n}\n\nexport function normalize(path) {\n toConsole(printf(\"VirtualPath %A\"))(virtualPath);\n return combine(ofArray([virtualPath, path]));\n}\n\nexport function normalizeRoutes(typeName, methodName) {\n return normalize(partnerPortalPath(typeName, methodName));\n}\n\nexport function normalizePublicCibRoutes(typeName, methodName) {\n return normalize(publicCibFormPath(typeName, methodName));\n}\n\n","import { printf, toText } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { Union, Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { tuple_type, anonRecord_type, list_type, array_type, uint8_type, lambda_type, unit_type, union_type, class_type, bool_type, option_type, string_type, record_type, int32_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { DigitalSignatureStatus$reflection, QuoteDocumentUploadResult$reflection, QuoteDocumentType$reflection, HomeVisitContact$reflection, CreateQuoteData2$reflection, QuoteCode$reflection, EmailVerificationResponse$reflection, Quarter$reflection, SignatureCode$reflection, AvailabilityCalendarEventId$reflection, AvailabilityCalendarEvent$reflection, PartnerWithPreferredAdis$reflection, Partner$reflection, AppointmentConfirmation$reflection, AppointmentConfirmationId$reflection, AppointmentListType$reflection, Appointment$reflection, PlaceDescriptionAppointmentId$reflection, DossierComment$reflection, DossierCommentId$reflection, DossierEventLog$reflection, FileId$reflection, FilePath$reflection, AsbestosConclusion$reflection, Dossier$reflection, UpdateDossierResult$reflection, CreateDossierData2$reflection, PreferredAdi$reflection, CompanyId$reflection, Customer2$reflection, CustomerCode$reflection, CreateCustomerResult$reflection, CustomerData2$reflection, Compensation$reflection, PartnerType$reflection, Adi$reflection, AdiRole$reflection, Region$reflection, PersonIdOvam$reflection, NationalInsuranceNumber$reflection, BankAccount$reflection, TypeOfCorporation$reflection, KboNumber$reflection, VatNumber$reflection, PhoneNumber$reflection, Email$reflection, TypeOfDiscount$reflection, DossierOwner$reflection, LegalRepresentativeId$reflection, PartnerId$reflection, CustomerId$reflection, DossierStatus$reflection, Address$reflection, OwnerStatus$reflection, DossierClient$reflection, NonEmptyString$reflection, SelectOptionData$1$reflection, InspectionLocation$reflection, TypeOfDossierData$reflection, AdiId$reflection, DossierId$reflection, DossierCode$reflection, AppointmentStatus$reflection, AppointmentId$reflection, Integer$reflection, CommentType$reflection, CommentSource$reflection } from \"./Domain.fs.js\";\nimport { FSharpResult$2 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Choice.js\";\nimport { PagingResult$1$reflection, PagingQuery$reflection } from \"./Paging.fs.js\";\nimport { QuoteDetails$reflection, QuoteSearchTerms$reflection, DashboardStatsAdiList$reflection, DashboardStat$reflection, PartnerSearchTerms$reflection, PlaceDescriptionAppointmentDetails$reflection, AppointmentAndPlaceDescriptionDetails$reflection, AppointmentSearchTerms$reflection, AppointmentDetails$reflection, FinalCertificate$reflection, AttestenFinaliserenSortFields$reflection, AttestenFinaliserenSearchTerms$reflection, DossierSearchTerms$reflection, DossierDetails$reflection, AdiListSearchTerms$reflection, CustomerSearchTerms$reflection } from \"./DomainHelpers.fs.js\";\nimport { SortField$1$reflection } from \"./Sorting.fs.js\";\n\nexport function routerPaths(typeName, method) {\n return toText(printf(\"/api/%s\"))(method);\n}\n\nexport function partnerPortalPath(typeName, method) {\n return toText(printf(\"/partner/api/%s\"))(method);\n}\n\nexport function publicCibFormPath(typeName, method) {\n return toText(printf(\"/partner/api/%s\"))(method);\n}\n\nexport class Counter extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function Counter$reflection() {\n return record_type(\"Shared.Counter\", [], Counter, () => [[\"Value\", int32_type]]);\n}\n\nexport class CommentData extends Record {\n constructor(Comment$, Name, CommentSource, CommentType) {\n super();\n this.Comment = Comment$;\n this.Name = Name;\n this.CommentSource = CommentSource;\n this.CommentType = CommentType;\n }\n}\n\nexport function CommentData$reflection() {\n return record_type(\"Shared.CommentData\", [], CommentData, () => [[\"Comment\", string_type], [\"Name\", option_type(string_type)], [\"CommentSource\", CommentSource$reflection()], [\"CommentType\", CommentType$reflection()]]);\n}\n\nexport class AppointmentConfirmationData extends Record {\n constructor(AreSampelsUploaded, PointSampleCount, MixedSampleCount, MixedSamplePipeInsulationCount, AdhesiveSampleCount, NightShift, SundayShift, GoingBackToSite, AppointmentId, UrgentOrderCib, UrgentOrderPrivate) {\n super();\n this.AreSampelsUploaded = AreSampelsUploaded;\n this.PointSampleCount = PointSampleCount;\n this.MixedSampleCount = MixedSampleCount;\n this.MixedSamplePipeInsulationCount = MixedSamplePipeInsulationCount;\n this.AdhesiveSampleCount = AdhesiveSampleCount;\n this.NightShift = NightShift;\n this.SundayShift = SundayShift;\n this.GoingBackToSite = GoingBackToSite;\n this.AppointmentId = AppointmentId;\n this.UrgentOrderCib = UrgentOrderCib;\n this.UrgentOrderPrivate = UrgentOrderPrivate;\n }\n}\n\nexport function AppointmentConfirmationData$reflection() {\n return record_type(\"Shared.AppointmentConfirmationData\", [], AppointmentConfirmationData, () => [[\"AreSampelsUploaded\", bool_type], [\"PointSampleCount\", Integer$reflection()], [\"MixedSampleCount\", Integer$reflection()], [\"MixedSamplePipeInsulationCount\", Integer$reflection()], [\"AdhesiveSampleCount\", Integer$reflection()], [\"NightShift\", bool_type], [\"SundayShift\", bool_type], [\"GoingBackToSite\", bool_type], [\"AppointmentId\", AppointmentId$reflection()], [\"UrgentOrderCib\", bool_type], [\"UrgentOrderPrivate\", bool_type]]);\n}\n\nexport class AppointmentData extends Record {\n constructor(Status, DossierCode, DossierId, AdiId, StartTime, EndTime, SendEmailToClient, SendEmailToPartner) {\n super();\n this.Status = Status;\n this.DossierCode = DossierCode;\n this.DossierId = DossierId;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n this.SendEmailToClient = SendEmailToClient;\n this.SendEmailToPartner = SendEmailToPartner;\n }\n}\n\nexport function AppointmentData$reflection() {\n return record_type(\"Shared.AppointmentData\", [], AppointmentData, () => [[\"Status\", AppointmentStatus$reflection()], [\"DossierCode\", DossierCode$reflection()], [\"DossierId\", DossierId$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"SendEmailToClient\", bool_type], [\"SendEmailToPartner\", bool_type]]);\n}\n\nexport class PlaceDescriptionAppointmentData extends Record {\n constructor(Status, AdiId, StartTime, EndTime, Note) {\n super();\n this.Status = Status;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n this.Note = Note;\n }\n}\n\nexport function PlaceDescriptionAppointmentData$reflection() {\n return record_type(\"Shared.PlaceDescriptionAppointmentData\", [], PlaceDescriptionAppointmentData, () => [[\"Status\", AppointmentStatus$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"Note\", string_type]]);\n}\n\nexport class AppointmentDataEdit extends Record {\n constructor(Status, DossierCode, AdiId, StartTime, EndTime, NotifyClient, NotifyAdi) {\n super();\n this.Status = Status;\n this.DossierCode = DossierCode;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n this.NotifyClient = NotifyClient;\n this.NotifyAdi = NotifyAdi;\n }\n}\n\nexport function AppointmentDataEdit$reflection() {\n return record_type(\"Shared.AppointmentDataEdit\", [], AppointmentDataEdit, () => [[\"Status\", AppointmentStatus$reflection()], [\"DossierCode\", DossierCode$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"NotifyClient\", bool_type], [\"NotifyAdi\", bool_type]]);\n}\n\nexport class DossierData extends Record {\n constructor(TypeOfDossier, InspectionLocation, InspectionLocationOther, Client, BuildingDetail, HousingUnit, YearsOfConstruction, YearsOfRenovation, AwareOfAsbestosDescription, IsUserOwnerOfInspectionArea, OwnerStatus, OwnerStatusOther, Address, EmailConfirmations, Status, CustomerId, PartnerId, LegalRepresentativeId, DossierOwner, ManualInvoice, ManualInvoice_EmailSent, HiddenAsbestos, FloorPlanAvailable, Discount, IsCibDossier) {\n super();\n this.TypeOfDossier = TypeOfDossier;\n this.InspectionLocation = InspectionLocation;\n this.InspectionLocationOther = InspectionLocationOther;\n this.Client = Client;\n this.BuildingDetail = BuildingDetail;\n this.HousingUnit = HousingUnit;\n this.YearsOfConstruction = YearsOfConstruction;\n this.YearsOfRenovation = YearsOfRenovation;\n this.AwareOfAsbestosDescription = AwareOfAsbestosDescription;\n this.IsUserOwnerOfInspectionArea = IsUserOwnerOfInspectionArea;\n this.OwnerStatus = OwnerStatus;\n this.OwnerStatusOther = OwnerStatusOther;\n this.Address = Address;\n this.EmailConfirmations = EmailConfirmations;\n this.Status = Status;\n this.CustomerId = CustomerId;\n this.PartnerId = PartnerId;\n this.LegalRepresentativeId = LegalRepresentativeId;\n this.DossierOwner = DossierOwner;\n this.ManualInvoice = ManualInvoice;\n this.ManualInvoice_EmailSent = ManualInvoice_EmailSent;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n this.Discount = Discount;\n this.IsCibDossier = IsCibDossier;\n }\n}\n\nexport function DossierData$reflection() {\n return record_type(\"Shared.DossierData\", [], DossierData, () => [[\"TypeOfDossier\", TypeOfDossierData$reflection()], [\"InspectionLocation\", SelectOptionData$1$reflection(InspectionLocation$reflection())], [\"InspectionLocationOther\", option_type(NonEmptyString$reflection())], [\"Client\", SelectOptionData$1$reflection(DossierClient$reflection())], [\"BuildingDetail\", option_type(NonEmptyString$reflection())], [\"HousingUnit\", option_type(NonEmptyString$reflection())], [\"YearsOfConstruction\", option_type(NonEmptyString$reflection())], [\"YearsOfRenovation\", option_type(NonEmptyString$reflection())], [\"AwareOfAsbestosDescription\", option_type(NonEmptyString$reflection())], [\"IsUserOwnerOfInspectionArea\", bool_type], [\"OwnerStatus\", SelectOptionData$1$reflection(OwnerStatus$reflection())], [\"OwnerStatusOther\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"EmailConfirmations\", bool_type], [\"Status\", DossierStatus$reflection()], [\"CustomerId\", CustomerId$reflection()], [\"PartnerId\", option_type(PartnerId$reflection())], [\"LegalRepresentativeId\", option_type(LegalRepresentativeId$reflection())], [\"DossierOwner\", DossierOwner$reflection()], [\"ManualInvoice\", bool_type], [\"ManualInvoice_EmailSent\", bool_type], [\"HiddenAsbestos\", option_type(bool_type)], [\"FloorPlanAvailable\", option_type(bool_type)], [\"Discount\", TypeOfDiscount$reflection()], [\"IsCibDossier\", bool_type]]);\n}\n\nexport class CustomerData extends Record {\n constructor(LastName, FirstName, CompanyName, Address, Email, PhoneNumber, VatNumber, KboNumber, IsCibCustomer, IsVME, IsSocialHousingCompany) {\n super();\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.CompanyName = CompanyName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.KboNumber = KboNumber;\n this.IsCibCustomer = IsCibCustomer;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n }\n}\n\nexport function CustomerData$reflection() {\n return record_type(\"Shared.CustomerData\", [], CustomerData, () => [[\"LastName\", option_type(NonEmptyString$reflection())], [\"FirstName\", option_type(NonEmptyString$reflection())], [\"CompanyName\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", option_type(VatNumber$reflection())], [\"KboNumber\", option_type(KboNumber$reflection())], [\"IsCibCustomer\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type]]);\n}\n\nexport class LegalRepresentativeData extends Record {\n constructor(LastName, FirstName, Address, Email, PhoneNumber) {\n super();\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n }\n}\n\nexport function LegalRepresentativeData$reflection() {\n return record_type(\"Shared.LegalRepresentativeData\", [], LegalRepresentativeData, () => [[\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", option_type(Email$reflection())], [\"PhoneNumber\", option_type(PhoneNumber$reflection())]]);\n}\n\nexport class SignatureVmeData extends Record {\n constructor(KboNumber, OrganisationName, LastName, FirstName, Address, Email, PhoneNumber) {\n super();\n this.KboNumber = KboNumber;\n this.OrganisationName = OrganisationName;\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n }\n}\n\nexport function SignatureVmeData$reflection() {\n return record_type(\"Shared.SignatureVmeData\", [], SignatureVmeData, () => [[\"KboNumber\", KboNumber$reflection()], [\"OrganisationName\", NonEmptyString$reflection()], [\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", option_type(Email$reflection())], [\"PhoneNumber\", option_type(PhoneNumber$reflection())]]);\n}\n\nexport class SignatureCommonData extends Record {\n constructor(HiddenAsbestos, FloorPlanAvailable) {\n super();\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n }\n}\n\nexport function SignatureCommonData$reflection() {\n return record_type(\"Shared.SignatureCommonData\", [], SignatureCommonData, () => [[\"HiddenAsbestos\", bool_type], [\"FloorPlanAvailable\", bool_type]]);\n}\n\nexport class CompanyInformationData extends Record {\n constructor(Name, TypeOfCorporation, PhoneNumber, Email) {\n super();\n this.Name = Name;\n this.TypeOfCorporation = TypeOfCorporation;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n }\n}\n\nexport function CompanyInformationData$reflection() {\n return record_type(\"Shared.CompanyInformationData\", [], CompanyInformationData, () => [[\"Name\", NonEmptyString$reflection()], [\"TypeOfCorporation\", TypeOfCorporation$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"Email\", Email$reflection()]]);\n}\n\nexport class CompanyFormatData extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SoleProprietor\", \"Corporation\"];\n }\n}\n\nexport function CompanyFormatData$reflection() {\n return union_type(\"Shared.CompanyFormatData\", [], CompanyFormatData, () => [[], [[\"Item\", CompanyInformationData$reflection()]]]);\n}\n\nexport class CompanyData extends Record {\n constructor(VatNumber, BankAccount, TermOfPayment, VatLiable, Address, CompanyFormat) {\n super();\n this.VatNumber = VatNumber;\n this.BankAccount = BankAccount;\n this.TermOfPayment = (TermOfPayment | 0);\n this.VatLiable = VatLiable;\n this.Address = Address;\n this.CompanyFormat = CompanyFormat;\n }\n}\n\nexport function CompanyData$reflection() {\n return record_type(\"Shared.CompanyData\", [], CompanyData, () => [[\"VatNumber\", VatNumber$reflection()], [\"BankAccount\", BankAccount$reflection()], [\"TermOfPayment\", int32_type], [\"VatLiable\", bool_type], [\"Address\", Address$reflection()], [\"CompanyFormat\", CompanyFormatData$reflection()]]);\n}\n\nexport class AdiData extends Record {\n constructor(LastName, FirstName, Address, Email, PhoneNumber, NationalInsuranceNumber, PersonIdOvam, EmailAsbestConsulting, Company, Regions, Role) {\n super();\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.NationalInsuranceNumber = NationalInsuranceNumber;\n this.PersonIdOvam = PersonIdOvam;\n this.EmailAsbestConsulting = EmailAsbestConsulting;\n this.Company = Company;\n this.Regions = Regions;\n this.Role = Role;\n }\n}\n\nexport function AdiData$reflection() {\n return record_type(\"Shared.AdiData\", [], AdiData, () => [[\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"NationalInsuranceNumber\", NationalInsuranceNumber$reflection()], [\"PersonIdOvam\", PersonIdOvam$reflection()], [\"EmailAsbestConsulting\", Email$reflection()], [\"Company\", CompanyData$reflection()], [\"Regions\", class_type(\"Microsoft.FSharp.Collections.FSharpSet`1\", [Region$reflection()])], [\"Role\", AdiRole$reflection()]]);\n}\n\nexport class PartnerData extends Record {\n constructor(CompanyName, CompanyType, ContactFirstName, ContactLastName, Address, Email, PhoneNumber, VatNumber, IsCibPartner, IsVME, IsSocialHousingCompany, PartnerAdis, MinimumRole, PartnerType, CommercialName) {\n super();\n this.CompanyName = CompanyName;\n this.CompanyType = CompanyType;\n this.ContactFirstName = ContactFirstName;\n this.ContactLastName = ContactLastName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.IsCibPartner = IsCibPartner;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n this.PartnerAdis = PartnerAdis;\n this.MinimumRole = MinimumRole;\n this.PartnerType = PartnerType;\n this.CommercialName = CommercialName;\n }\n}\n\nexport function PartnerData$reflection() {\n return record_type(\"Shared.PartnerData\", [], PartnerData, () => [[\"CompanyName\", NonEmptyString$reflection()], [\"CompanyType\", option_type(NonEmptyString$reflection())], [\"ContactFirstName\", option_type(NonEmptyString$reflection())], [\"ContactLastName\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"VatNumber\", VatNumber$reflection()], [\"IsCibPartner\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type], [\"PartnerAdis\", class_type(\"Microsoft.FSharp.Collections.FSharpSet`1\", [Adi$reflection()])], [\"MinimumRole\", option_type(AdiRole$reflection())], [\"PartnerType\", PartnerType$reflection()], [\"CommercialName\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport function PartnerData__get_FirstName(this$) {\n const matchValue = this$.ContactFirstName;\n if (matchValue == null) {\n return \"\";\n }\n else {\n return matchValue.Value;\n }\n}\n\nexport function PartnerData__get_LastName(this$) {\n const matchValue = this$.ContactLastName;\n if (matchValue == null) {\n return \"\";\n }\n else {\n return matchValue.Value;\n }\n}\n\nexport class PartnerCompensationData extends Record {\n constructor(Id, Compensation) {\n super();\n this.Id = Id;\n this.Compensation = Compensation;\n }\n}\n\nexport function PartnerCompensationData$reflection() {\n return record_type(\"Shared.PartnerCompensationData\", [], PartnerCompensationData, () => [[\"Id\", PartnerId$reflection()], [\"Compensation\", Compensation$reflection()]]);\n}\n\nexport class IServerApi extends Record {\n constructor(Counter, CreateCustomer, EditCustomer, GetCustomer, GetCustomers, CreateAdi, EditAdi, GetAdi, GetAdis, GetPreferredAdis, DeactivateAdi, ActivateAdi, CreateDossier, EditDossier, EditDossierOld, GetDossier, GetDossierDetails, GetDossiers, GetDossiersDetails, GetPartnerDossiersDetails, GetMyDossiersDetails, CancelDossier, UploadPhysicallySigned_AssigmentConfirmation, UploadPhysicallySigned_OrderConfirmation, UploadCertificate, UploadLab, UploadDossierFile, GetDossierFiles, GetFinalCertificateDossiers, GetDossierEventHistory, CreateDossierComment, GetDossierComments, GenerateAssignmentConfirmation, ChangeDossierStatus, CreateAppointment, EditAppointment, CancellAppointment, CreatePlaceDescriptionAppointment, GetAppointment, GetAppointmentDetails, GetAppointmentDetailsByDossierId, GetAppointments, GetAppointmentsDetails, GetAppointmentsDetailsInRange, GetAppointmentsAndPlaceDescriptionDetailsInRange, GetPlaceDescriptionAppointmentsDetailsInRange, GetPlaceDescriptionAppointmentDetails, CancellPlaceDescriptionAppointment, CreateAppointmentConfirmation, EditAppointmentConfirmation, GetAppointmentConfirmation, GetAppointmentConfirmations, ConfirmMailedSamples, CreatePartner, EditPartner, GetPartner, GetPartnerWithAdis, GetPartnersAndSyndics, GetPartners, GetSyndics, ExportSelection_CSV, GetAdiAvailabilityCalendarEvents, GetAvailabilityCalendarEventsByAdi, CreateAvailabilityCalendarEvent, RemoveAvailabilityCalendarEvent, RemoveAvailabilityCalendarEvents, GetAllAvailabilityCalendarEvents, GetDocument, RemoveDocument, UpdateDossierStatus, GetDashboard, GetFinalizedDossiersFromAdis, ValidateSignatureCode, SendEmails_PartnersWithDossiers, LogRealData_PartnersWithDossiers, VerifyEmail, GetCustomerOfPartner, BootstrapPartner, GetQuotesDetails, GetQuoteDetails, GetQuoteDetailsByDossierCode, CreateQuote, EditQuote, ConvertQuoteToDossier, UploadQuoteDocument, RemoveQuoteDocument, GetQuoteDocumentsByDossierCode, GenerateQuotePdf, GenerateDossierPdf) {\n super();\n this.Counter = Counter;\n this.CreateCustomer = CreateCustomer;\n this.EditCustomer = EditCustomer;\n this.GetCustomer = GetCustomer;\n this.GetCustomers = GetCustomers;\n this.CreateAdi = CreateAdi;\n this.EditAdi = EditAdi;\n this.GetAdi = GetAdi;\n this.GetAdis = GetAdis;\n this.GetPreferredAdis = GetPreferredAdis;\n this.DeactivateAdi = DeactivateAdi;\n this.ActivateAdi = ActivateAdi;\n this.CreateDossier = CreateDossier;\n this.EditDossier = EditDossier;\n this.EditDossierOld = EditDossierOld;\n this.GetDossier = GetDossier;\n this.GetDossierDetails = GetDossierDetails;\n this.GetDossiers = GetDossiers;\n this.GetDossiersDetails = GetDossiersDetails;\n this.GetPartnerDossiersDetails = GetPartnerDossiersDetails;\n this.GetMyDossiersDetails = GetMyDossiersDetails;\n this.CancelDossier = CancelDossier;\n this.UploadPhysicallySigned_AssigmentConfirmation = UploadPhysicallySigned_AssigmentConfirmation;\n this.UploadPhysicallySigned_OrderConfirmation = UploadPhysicallySigned_OrderConfirmation;\n this.UploadCertificate = UploadCertificate;\n this.UploadLab = UploadLab;\n this.UploadDossierFile = UploadDossierFile;\n this.GetDossierFiles = GetDossierFiles;\n this.GetFinalCertificateDossiers = GetFinalCertificateDossiers;\n this.GetDossierEventHistory = GetDossierEventHistory;\n this.CreateDossierComment = CreateDossierComment;\n this.GetDossierComments = GetDossierComments;\n this.GenerateAssignmentConfirmation = GenerateAssignmentConfirmation;\n this.ChangeDossierStatus = ChangeDossierStatus;\n this.CreateAppointment = CreateAppointment;\n this.EditAppointment = EditAppointment;\n this.CancellAppointment = CancellAppointment;\n this.CreatePlaceDescriptionAppointment = CreatePlaceDescriptionAppointment;\n this.GetAppointment = GetAppointment;\n this.GetAppointmentDetails = GetAppointmentDetails;\n this.GetAppointmentDetailsByDossierId = GetAppointmentDetailsByDossierId;\n this.GetAppointments = GetAppointments;\n this.GetAppointmentsDetails = GetAppointmentsDetails;\n this.GetAppointmentsDetailsInRange = GetAppointmentsDetailsInRange;\n this.GetAppointmentsAndPlaceDescriptionDetailsInRange = GetAppointmentsAndPlaceDescriptionDetailsInRange;\n this.GetPlaceDescriptionAppointmentsDetailsInRange = GetPlaceDescriptionAppointmentsDetailsInRange;\n this.GetPlaceDescriptionAppointmentDetails = GetPlaceDescriptionAppointmentDetails;\n this.CancellPlaceDescriptionAppointment = CancellPlaceDescriptionAppointment;\n this.CreateAppointmentConfirmation = CreateAppointmentConfirmation;\n this.EditAppointmentConfirmation = EditAppointmentConfirmation;\n this.GetAppointmentConfirmation = GetAppointmentConfirmation;\n this.GetAppointmentConfirmations = GetAppointmentConfirmations;\n this.ConfirmMailedSamples = ConfirmMailedSamples;\n this.CreatePartner = CreatePartner;\n this.EditPartner = EditPartner;\n this.GetPartner = GetPartner;\n this.GetPartnerWithAdis = GetPartnerWithAdis;\n this.GetPartnersAndSyndics = GetPartnersAndSyndics;\n this.GetPartners = GetPartners;\n this.GetSyndics = GetSyndics;\n this.ExportSelection_CSV = ExportSelection_CSV;\n this.GetAdiAvailabilityCalendarEvents = GetAdiAvailabilityCalendarEvents;\n this.GetAvailabilityCalendarEventsByAdi = GetAvailabilityCalendarEventsByAdi;\n this.CreateAvailabilityCalendarEvent = CreateAvailabilityCalendarEvent;\n this.RemoveAvailabilityCalendarEvent = RemoveAvailabilityCalendarEvent;\n this.RemoveAvailabilityCalendarEvents = RemoveAvailabilityCalendarEvents;\n this.GetAllAvailabilityCalendarEvents = GetAllAvailabilityCalendarEvents;\n this.GetDocument = GetDocument;\n this.RemoveDocument = RemoveDocument;\n this.UpdateDossierStatus = UpdateDossierStatus;\n this.GetDashboard = GetDashboard;\n this.GetFinalizedDossiersFromAdis = GetFinalizedDossiersFromAdis;\n this.ValidateSignatureCode = ValidateSignatureCode;\n this.SendEmails_PartnersWithDossiers = SendEmails_PartnersWithDossiers;\n this.LogRealData_PartnersWithDossiers = LogRealData_PartnersWithDossiers;\n this.VerifyEmail = VerifyEmail;\n this.GetCustomerOfPartner = GetCustomerOfPartner;\n this.BootstrapPartner = BootstrapPartner;\n this.GetQuotesDetails = GetQuotesDetails;\n this.GetQuoteDetails = GetQuoteDetails;\n this.GetQuoteDetailsByDossierCode = GetQuoteDetailsByDossierCode;\n this.CreateQuote = CreateQuote;\n this.EditQuote = EditQuote;\n this.ConvertQuoteToDossier = ConvertQuoteToDossier;\n this.UploadQuoteDocument = UploadQuoteDocument;\n this.RemoveQuoteDocument = RemoveQuoteDocument;\n this.GetQuoteDocumentsByDossierCode = GetQuoteDocumentsByDossierCode;\n this.GenerateQuotePdf = GenerateQuotePdf;\n this.GenerateDossierPdf = GenerateDossierPdf;\n }\n}\n\nexport function IServerApi$reflection() {\n return record_type(\"Shared.IServerApi\", [], IServerApi, () => [[\"Counter\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [Counter$reflection()]))], [\"CreateCustomer\", lambda_type(CustomerData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [CreateCustomerResult$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", CreateCustomerResult$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"EditCustomer\", lambda_type(CustomerId$reflection(), lambda_type(CustomerData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"GetCustomer\", lambda_type(CustomerCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Customer2$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Customer2$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetCustomers\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(CustomerSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Customer2$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Customer2$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"CreateAdi\", lambda_type(AdiData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [AdiId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", AdiId$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"EditAdi\", lambda_type(AdiId$reflection(), lambda_type(CompanyId$reflection(), lambda_type(AdiData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"GetAdi\", lambda_type(AdiId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Adi$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Adi$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAdis\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(AdiListSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Adi$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Adi$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetPreferredAdis\", lambda_type(option_type(PartnerId$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PreferredAdi$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", PreferredAdi$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"DeactivateAdi\", lambda_type(AdiId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"ActivateAdi\", lambda_type(AdiId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"CreateDossier\", lambda_type(CreateDossierData2$reflection(), lambda_type(option_type(CommentData$reflection()), lambda_type(bool_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCode$reflection()]], [[\"ErrorValue\", string_type]]])]))))], [\"EditDossier\", lambda_type(DossierCode$reflection(), lambda_type(CreateDossierData2$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [UpdateDossierResult$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", UpdateDossierResult$reflection()]], [[\"ErrorValue\", string_type]]])]))))], [\"EditDossierOld\", lambda_type(DossierCode$reflection(), lambda_type(DossierData$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"GetDossier\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Dossier$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Dossier$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetDossierDetails\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetDossiers\", lambda_type(PagingQuery$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Dossier$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Dossier$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetDossiersDetails\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetPartnerDossiersDetails\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetMyDossiersDetails\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"CancelDossier\", lambda_type(DossierId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"UploadPhysicallySigned_AssigmentConfirmation\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UploadPhysicallySigned_OrderConfirmation\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UploadCertificate\", lambda_type(DossierCode$reflection(), lambda_type(AsbestosConclusion$reflection(), lambda_type(class_type(\"System.DateTimeOffset\"), lambda_type(bool_type, lambda_type(bool_type, lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))))))], [\"UploadLab\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UploadDossierFile\", lambda_type(DossierCode$reflection(), lambda_type(FilePath$reflection(), lambda_type(array_type(uint8_type), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [FileId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", FileId$reflection()]], [[\"ErrorValue\", string_type]]])]))))], [\"GetDossierFiles\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [list_type(FilePath$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", list_type(FilePath$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetFinalCertificateDossiers\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(AttestenFinaliserenSearchTerms$reflection()), lambda_type(option_type(SortField$1$reflection(AttestenFinaliserenSortFields$reflection())), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(FinalCertificate$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(FinalCertificate$reflection())]], [[\"ErrorValue\", string_type]]])]))))], [\"GetDossierEventHistory\", lambda_type(DossierCode$reflection(), lambda_type(PagingQuery$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierEventLog$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierEventLog$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"CreateDossierComment\", lambda_type(DossierCode$reflection(), lambda_type(CommentData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCommentId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCommentId$reflection()]], [[\"ErrorValue\", string_type]]])])))], [\"GetDossierComments\", lambda_type(DossierCode$reflection(), lambda_type(PagingQuery$reflection(), lambda_type(CommentType$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierComment$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierComment$reflection())]], [[\"ErrorValue\", string_type]]])]))))], [\"GenerateAssignmentConfirmation\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(FilePath$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(FilePath$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"ChangeDossierStatus\", lambda_type(DossierCode$reflection(), lambda_type(option_type(AdiId$reflection()), lambda_type(NonEmptyString$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"CreateAppointment\", lambda_type(AppointmentData$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [AppointmentId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", AppointmentId$reflection()]], [[\"ErrorValue\", string_type]]])])))], [\"EditAppointment\", lambda_type(AppointmentId$reflection(), lambda_type(AppointmentDataEdit$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"CancellAppointment\", lambda_type(AppointmentId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"CreatePlaceDescriptionAppointment\", lambda_type(PlaceDescriptionAppointmentData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PlaceDescriptionAppointmentId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", PlaceDescriptionAppointmentId$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointment\", lambda_type(AppointmentId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Appointment$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Appointment$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointmentDetails\", lambda_type(AppointmentId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(AppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(AppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointmentDetailsByDossierId\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(AppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(AppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointments\", lambda_type(PagingQuery$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Appointment$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Appointment$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointmentsDetails\", lambda_type(PagingQuery$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(AppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(AppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointmentsDetailsInRange\", lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(AppointmentStatus$reflection()), lambda_type(option_type(AppointmentListType$reflection()), lambda_type(PagingQuery$reflection(), lambda_type(option_type(AppointmentSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(AppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(AppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))))))], [\"GetAppointmentsAndPlaceDescriptionDetailsInRange\", lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(AppointmentStatus$reflection()), lambda_type(option_type(AppointmentListType$reflection()), lambda_type(PagingQuery$reflection(), lambda_type(option_type(AppointmentSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(AppointmentAndPlaceDescriptionDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(AppointmentAndPlaceDescriptionDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))))))], [\"GetPlaceDescriptionAppointmentsDetailsInRange\", lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(class_type(\"System.DateTimeOffset\")), lambda_type(option_type(AppointmentStatus$reflection()), lambda_type(option_type(AppointmentListType$reflection()), lambda_type(PagingQuery$reflection(), lambda_type(option_type(AppointmentSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(PlaceDescriptionAppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(PlaceDescriptionAppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))))))], [\"GetPlaceDescriptionAppointmentDetails\", lambda_type(PlaceDescriptionAppointmentId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(PlaceDescriptionAppointmentDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(PlaceDescriptionAppointmentDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"CancellPlaceDescriptionAppointment\", lambda_type(PlaceDescriptionAppointmentId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"CreateAppointmentConfirmation\", lambda_type(AppointmentConfirmationData$reflection(), lambda_type(option_type(CommentData$reflection()), lambda_type(array_type(uint8_type), lambda_type(array_type(uint8_type), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [AppointmentConfirmationId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", AppointmentConfirmationId$reflection()]], [[\"ErrorValue\", string_type]]])])))))], [\"EditAppointmentConfirmation\", lambda_type(AppointmentConfirmationId$reflection(), lambda_type(AppointmentConfirmationData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"GetAppointmentConfirmation\", lambda_type(AppointmentConfirmationId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(AppointmentConfirmation$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(AppointmentConfirmation$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetAppointmentConfirmations\", lambda_type(PagingQuery$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(AppointmentConfirmation$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(AppointmentConfirmation$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"ConfirmMailedSamples\", lambda_type(AppointmentConfirmationId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"CreatePartner\", lambda_type(PartnerData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PartnerId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", PartnerId$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"EditPartner\", lambda_type(PartnerId$reflection(), lambda_type(PartnerData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"GetPartner\", lambda_type(PartnerId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Partner$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetPartnerWithAdis\", lambda_type(PartnerId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(PartnerWithPreferredAdis$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(PartnerWithPreferredAdis$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetPartnersAndSyndics\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(PartnerSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Partner$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetPartners\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(PartnerSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Partner$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetSyndics\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(PartnerSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Partner$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"ExportSelection_CSV\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [array_type(uint8_type), string_type], FSharpResult$2, () => [[[\"ResultValue\", array_type(uint8_type)]], [[\"ErrorValue\", string_type]]])])))], [\"GetAdiAvailabilityCalendarEvents\", lambda_type(class_type(\"System.DateTimeOffset\"), lambda_type(class_type(\"System.DateTimeOffset\"), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [list_type(AvailabilityCalendarEvent$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", list_type(AvailabilityCalendarEvent$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetAvailabilityCalendarEventsByAdi\", lambda_type(list_type(AdiId$reflection()), lambda_type(class_type(\"System.DateTimeOffset\"), lambda_type(class_type(\"System.DateTimeOffset\"), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [list_type(AvailabilityCalendarEvent$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", list_type(AvailabilityCalendarEvent$reflection())]], [[\"ErrorValue\", string_type]]])]))))], [\"CreateAvailabilityCalendarEvent\", lambda_type(anonRecord_type([\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"StartTime\", class_type(\"System.DateTimeOffset\")]), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [AvailabilityCalendarEvent$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", AvailabilityCalendarEvent$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"RemoveAvailabilityCalendarEvent\", lambda_type(AvailabilityCalendarEventId$reflection(), lambda_type(bool_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"RemoveAvailabilityCalendarEvents\", lambda_type(list_type(AvailabilityCalendarEventId$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetAllAvailabilityCalendarEvents\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [list_type(AvailabilityCalendarEvent$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", list_type(AvailabilityCalendarEvent$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetDocument\", lambda_type(FilePath$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [array_type(uint8_type), string_type], FSharpResult$2, () => [[[\"ResultValue\", array_type(uint8_type)]], [[\"ErrorValue\", string_type]]])]))], [\"RemoveDocument\", lambda_type(FilePath$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"UpdateDossierStatus\", lambda_type(DossierCode$reflection(), lambda_type(DossierStatus$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"GetDashboard\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(array_type(DashboardStat$reflection())), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(array_type(DashboardStat$reflection()))]], [[\"ErrorValue\", string_type]]])]))], [\"GetFinalizedDossiersFromAdis\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(DashboardStatsAdiList$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(DashboardStatsAdiList$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"ValidateSignatureCode\", lambda_type(SignatureCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"SendEmails_PartnersWithDossiers\", lambda_type(option_type(Email$reflection()), lambda_type(Quarter$reflection(), lambda_type(class_type(\"System.DateTime\"), lambda_type(class_type(\"System.DateTime\"), lambda_type(list_type(PartnerId$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))))], [\"LogRealData_PartnersWithDossiers\", lambda_type(Quarter$reflection(), lambda_type(class_type(\"System.DateTime\"), lambda_type(class_type(\"System.DateTime\"), lambda_type(option_type(PartnerId$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))))], [\"VerifyEmail\", lambda_type(Email$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [EmailVerificationResponse$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", EmailVerificationResponse$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"GetCustomerOfPartner\", lambda_type(PartnerId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [Customer2$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", Customer2$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"BootstrapPartner\", lambda_type(PartnerId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetQuotesDetails\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(QuoteSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"GetQuoteDetails\", lambda_type(QuoteCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetQuoteDetailsByDossierCode\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"CreateQuote\", lambda_type(CreateQuoteData2$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [QuoteCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", QuoteCode$reflection()]], [[\"ErrorValue\", string_type]]])])))], [\"EditQuote\", lambda_type(QuoteCode$reflection(), lambda_type(CreateQuoteData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"ConvertQuoteToDossier\", lambda_type(QuoteCode$reflection(), lambda_type(HomeVisitContact$reflection(), lambda_type(option_type(NonEmptyString$reflection()), lambda_type(option_type(PhoneNumber$reflection()), lambda_type(option_type(class_type(\"System.DateTimeOffset\")), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCode$reflection()]], [[\"ErrorValue\", string_type]]])]))))))], [\"UploadQuoteDocument\", lambda_type(array_type(uint8_type), lambda_type(string_type, lambda_type(QuoteDocumentType$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [QuoteDocumentUploadResult$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", QuoteDocumentUploadResult$reflection()]], [[\"ErrorValue\", string_type]]])]))))], [\"RemoveQuoteDocument\", lambda_type(FilePath$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetQuoteDocumentsByDossierCode\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [list_type(QuoteDocumentUploadResult$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", list_type(QuoteDocumentUploadResult$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GenerateQuotePdf\", lambda_type(QuoteCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(FilePath$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(FilePath$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GenerateDossierPdf\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(array_type(uint8_type)), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(array_type(uint8_type))]], [[\"ErrorValue\", string_type]]])]))]]);\n}\n\nexport class ISignatureApi extends Record {\n constructor(GETTest, GetDocument, GetDigitalSignature, SaveSignature) {\n super();\n this.GETTest = GETTest;\n this.GetDocument = GetDocument;\n this.GetDigitalSignature = GetDigitalSignature;\n this.SaveSignature = SaveSignature;\n }\n}\n\nexport function ISignatureApi$reflection() {\n return record_type(\"Shared.ISignatureApi\", [], ISignatureApi, () => [[\"GETTest\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [string_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", string_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetDocument\", lambda_type(FilePath$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [array_type(uint8_type), string_type], FSharpResult$2, () => [[[\"ResultValue\", array_type(uint8_type)]], [[\"ErrorValue\", string_type]]])]))], [\"GetDigitalSignature\", lambda_type(SignatureCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [tuple_type(DigitalSignatureStatus$reflection(), option_type(SignatureVmeData$reflection())), string_type], FSharpResult$2, () => [[[\"ResultValue\", tuple_type(DigitalSignatureStatus$reflection(), option_type(SignatureVmeData$reflection()))]], [[\"ErrorValue\", string_type]]])]))], [\"SaveSignature\", lambda_type(SignatureCode$reflection(), lambda_type(SignatureCommonData$reflection(), lambda_type(option_type(LegalRepresentativeData$reflection()), lambda_type(option_type(SignatureVmeData$reflection()), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))))]]);\n}\n\nexport class IPartnerPortalApi extends Record {\n constructor(CreateCustomer, EditCustomer, GetCustomer, GetCustomers, CreateDossier, EditDossier, GetDossierDetails, GetDossiers, CancelDossier, CreateDossierComment, GetDossierComments, GetSamplesUploaded, GetDocument, GetCustomerOfPartner, ExportSelection_CSV, CreatePartner, GetPartner, VerifyEmail, UploadFloorplan, UploadCadastralRecords, UploadPropertyOther, UpdateCompensationAmount, GetCompensationAmount, GetPartnerQuotesDetails, ConvertQuoteToDossier, GetQuoteDetails, GetQuoteDetailsByDossierCode, SaveSettings, GetPartnerSignature) {\n super();\n this.CreateCustomer = CreateCustomer;\n this.EditCustomer = EditCustomer;\n this.GetCustomer = GetCustomer;\n this.GetCustomers = GetCustomers;\n this.CreateDossier = CreateDossier;\n this.EditDossier = EditDossier;\n this.GetDossierDetails = GetDossierDetails;\n this.GetDossiers = GetDossiers;\n this.CancelDossier = CancelDossier;\n this.CreateDossierComment = CreateDossierComment;\n this.GetDossierComments = GetDossierComments;\n this.GetSamplesUploaded = GetSamplesUploaded;\n this.GetDocument = GetDocument;\n this.GetCustomerOfPartner = GetCustomerOfPartner;\n this.ExportSelection_CSV = ExportSelection_CSV;\n this.CreatePartner = CreatePartner;\n this.GetPartner = GetPartner;\n this.VerifyEmail = VerifyEmail;\n this.UploadFloorplan = UploadFloorplan;\n this.UploadCadastralRecords = UploadCadastralRecords;\n this.UploadPropertyOther = UploadPropertyOther;\n this.UpdateCompensationAmount = UpdateCompensationAmount;\n this.GetCompensationAmount = GetCompensationAmount;\n this.GetPartnerQuotesDetails = GetPartnerQuotesDetails;\n this.ConvertQuoteToDossier = ConvertQuoteToDossier;\n this.GetQuoteDetails = GetQuoteDetails;\n this.GetQuoteDetailsByDossierCode = GetQuoteDetailsByDossierCode;\n this.SaveSettings = SaveSettings;\n this.GetPartnerSignature = GetPartnerSignature;\n }\n}\n\nexport function IPartnerPortalApi$reflection() {\n return record_type(\"Shared.IPartnerPortalApi\", [], IPartnerPortalApi, () => [[\"CreateCustomer\", lambda_type(CustomerData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [CreateCustomerResult$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", CreateCustomerResult$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"EditCustomer\", lambda_type(CustomerId$reflection(), lambda_type(CustomerData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])])))], [\"GetCustomer\", lambda_type(CustomerCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Customer2$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Customer2$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetCustomers\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(CustomerSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(Customer2$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(Customer2$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"CreateDossier\", lambda_type(CreateDossierData2$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCode$reflection()]], [[\"ErrorValue\", string_type]]])])))], [\"EditDossier\", lambda_type(DossierCode$reflection(), lambda_type(CreateDossierData2$reflection(), lambda_type(option_type(CommentData$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [UpdateDossierResult$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", UpdateDossierResult$reflection()]], [[\"ErrorValue\", string_type]]])]))))], [\"GetDossierDetails\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetDossiers\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"CancelDossier\", lambda_type(DossierId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"CreateDossierComment\", lambda_type(DossierCode$reflection(), lambda_type(CommentData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCommentId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCommentId$reflection()]], [[\"ErrorValue\", string_type]]])])))], [\"GetDossierComments\", lambda_type(DossierCode$reflection(), lambda_type(PagingQuery$reflection(), lambda_type(CommentType$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(DossierComment$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(DossierComment$reflection())]], [[\"ErrorValue\", string_type]]])]))))], [\"GetSamplesUploaded\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [bool_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", bool_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetDocument\", lambda_type(FilePath$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [array_type(uint8_type), string_type], FSharpResult$2, () => [[[\"ResultValue\", array_type(uint8_type)]], [[\"ErrorValue\", string_type]]])]))], [\"GetCustomerOfPartner\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [Customer2$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", Customer2$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"ExportSelection_CSV\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(DossierSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [array_type(uint8_type), string_type], FSharpResult$2, () => [[[\"ResultValue\", array_type(uint8_type)]], [[\"ErrorValue\", string_type]]])])))], [\"CreatePartner\", lambda_type(PartnerData$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PartnerId$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", PartnerId$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"GetPartner\", lambda_type(PartnerId$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Partner$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Partner$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"VerifyEmail\", lambda_type(Email$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [EmailVerificationResponse$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", EmailVerificationResponse$reflection()]], [[\"ErrorValue\", string_type]]])]))], [\"UploadFloorplan\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UploadCadastralRecords\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UploadPropertyOther\", lambda_type(DossierCode$reflection(), lambda_type(array_type(uint8_type), lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))))], [\"UpdateCompensationAmount\", lambda_type(Compensation$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [unit_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", unit_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetCompensationAmount\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(Compensation$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(Compensation$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetPartnerQuotesDetails\", lambda_type(PagingQuery$reflection(), lambda_type(option_type(QuoteSearchTerms$reflection()), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [PagingResult$1$reflection(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", PagingResult$1$reflection(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])])))], [\"ConvertQuoteToDossier\", lambda_type(QuoteCode$reflection(), lambda_type(HomeVisitContact$reflection(), lambda_type(option_type(NonEmptyString$reflection()), lambda_type(option_type(PhoneNumber$reflection()), lambda_type(option_type(class_type(\"System.DateTimeOffset\")), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCode$reflection()]], [[\"ErrorValue\", string_type]]])]))))))], [\"GetQuoteDetails\", lambda_type(QuoteCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"GetQuoteDetailsByDossierCode\", lambda_type(DossierCode$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [option_type(QuoteDetails$reflection()), string_type], FSharpResult$2, () => [[[\"ResultValue\", option_type(QuoteDetails$reflection())]], [[\"ErrorValue\", string_type]]])]))], [\"SaveSettings\", lambda_type(string_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [string_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", string_type]], [[\"ErrorValue\", string_type]]])]))], [\"GetPartnerSignature\", lambda_type(unit_type, class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [string_type, string_type], FSharpResult$2, () => [[[\"ResultValue\", string_type]], [[\"ErrorValue\", string_type]]])]))]]);\n}\n\nexport class ICibFormApi extends Record {\n constructor(CreateCibDossier) {\n super();\n this.CreateCibDossier = CreateCibDossier;\n }\n}\n\nexport function ICibFormApi$reflection() {\n return record_type(\"Shared.ICibFormApi\", [], ICibFormApi, () => [[\"CreateCibDossier\", lambda_type(PartnerData$reflection(), lambda_type(CreateDossierData2$reflection(), class_type(\"Microsoft.FSharp.Control.FSharpAsync`1\", [union_type(\"Microsoft.FSharp.Core.FSharpResult`2\", [DossierCode$reflection(), string_type], FSharpResult$2, () => [[[\"ResultValue\", DossierCode$reflection()]], [[\"ErrorValue\", string_type]]])])))]]);\n}\n\nexport class Messages_DossierUpdated extends Record {\n constructor(DossierCode) {\n super();\n this.DossierCode = DossierCode;\n }\n}\n\nexport function Messages_DossierUpdated$reflection() {\n return record_type(\"Shared.Messages.DossierUpdated\", [], Messages_DossierUpdated, () => [[\"DossierCode\", DossierCode$reflection()]]);\n}\n\n","import { fromParts, compare } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\nimport { tryParse } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Double.js\";\nimport { Union, Record, FSharpRef } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { isMatch } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/RegExp.js\";\nimport { tuple_type, list_type, float64_type, bool_type, option_type, union_type, string_type, class_type, record_type, int32_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { map } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { filter, sortByDescending, contains, map as map_2, toArray, length, empty, ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { map as map_1 } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Array.js\";\nimport { format, join, split } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/String.js\";\nimport { comparePrimitives, safeHash, equals } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Util.js\";\n\nexport function Validation_max(count, value) {\n if (value.length > count) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_min(count, value) {\n if (value.length < count) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_maxNumInt(maxVal, value) {\n if (value > maxVal) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_minNumInt(minVal, value) {\n if (value < minVal) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_maxNumDecimal(maxVal, value) {\n if (compare(value, maxVal) > 0) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_minNumDecimal(minVal, value) {\n if (compare(value, minVal) < 0) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_maxNumFloat(maxVal, value) {\n if (value > maxVal) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_minNumFloat(minVal, value) {\n if (value < minVal) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport function Validation_nonNegativeFloat(value) {\n if (value >= 0) {\n return value;\n }\n else {\n return void 0;\n }\n}\n\nexport function Validation_parseFloat(value) {\n let matchValue;\n let outArg = 0;\n matchValue = [tryParse(value, new FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n return void 0;\n }\n}\n\nexport function Validation_validEmail(value) {\n if (value === \"\") {\n return void 0;\n }\n else if (!isMatch(/^[\\w!#$%&'*+\\-\\/=?^_`{|}~]+(\\.[\\w!#$%&'*+\\-\\/=?^_`{|}~]+)*@([A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*\\.)+[A-Za-z]{2,}$/gu, value)) {\n return void 0;\n }\n else {\n return value;\n }\n}\n\nexport class Integer extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function Integer$reflection() {\n return record_type(\"Domain.Integer\", [], Integer, () => [[\"Value\", int32_type]]);\n}\n\nexport function Integer_get_Create() {\n return (arg_1) => map(Integer___UnsafeCreate_Z524259A4, Validation_minNumInt(0, arg_1));\n}\n\nexport function Integer___UnsafeCreate_Z524259A4(value) {\n return new Integer(value);\n}\n\nexport function Integer___UnsafeUnwrap_311D730D(x) {\n return x.Value;\n}\n\nexport class Decimal extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function Decimal$reflection() {\n return record_type(\"Domain.Decimal\", [], Decimal, () => [[\"Value\", class_type(\"System.Decimal\")]]);\n}\n\nexport function Decimal_get_Create() {\n let f1;\n const minVal = fromParts(0, 0, 0, false, 0);\n f1 = ((value) => Validation_minNumDecimal(minVal, value));\n return (arg_1) => map(Decimal___UnsafeCreate_32C73145, f1(arg_1));\n}\n\nexport function Decimal___UnsafeCreate_32C73145(value) {\n return new Decimal(value);\n}\n\nexport function Decimal___UnsafeUnwrap_5C134760(x) {\n return x.Value;\n}\n\nexport class NonEmptyString extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function NonEmptyString$reflection() {\n return record_type(\"Domain.NonEmptyString\", [], NonEmptyString, () => [[\"Value\", string_type]]);\n}\n\nexport function NonEmptyString_get_Create() {\n return (arg_1) => map(NonEmptyString___UnsafeCreate_Z721C83C5, Validation_min(1, arg_1));\n}\n\nexport function NonEmptyString___UnsafeCreate_Z721C83C5(value) {\n return new NonEmptyString(value);\n}\n\nexport function NonEmptyString___UnsafeUnwrap_Z73AD07C(x) {\n return x.Value;\n}\n\nexport class EmptyString extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function EmptyString$reflection() {\n return record_type(\"Domain.EmptyString\", [], EmptyString, () => [[\"Value\", string_type]]);\n}\n\nexport function EmptyString_get_Create() {\n return (arg_1) => map(EmptyString___UnsafeCreate_Z721C83C5, Validation_min(0, arg_1));\n}\n\nexport function EmptyString___UnsafeCreate_Z721C83C5(value) {\n return new EmptyString(value);\n}\n\nexport function EmptyString___UnsafeUnwrap_66019AEB(x) {\n return x.Value;\n}\n\nexport class FilePath extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function FilePath$reflection() {\n return record_type(\"Domain.FilePath\", [], FilePath, () => [[\"Value\", string_type]]);\n}\n\nexport class Email extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function Email$reflection() {\n return record_type(\"Domain.Email\", [], Email, () => [[\"Value\", string_type]]);\n}\n\nexport function Email_get_Create() {\n return (arg_1) => map(Email___UnsafeCreate_Z721C83C5, Validation_validEmail(arg_1));\n}\n\nexport function Email___UnsafeCreate_Z721C83C5(value) {\n return new Email(value);\n}\n\nexport function Email___UnsafeUnwrap_Z27D11339(x) {\n return x.Value;\n}\n\nexport function EmailList_toList(emails) {\n if (emails != null) {\n return ofArray(map_1(Email___UnsafeCreate_Z721C83C5, split(emails, [\";\"], null, 0)));\n }\n else {\n return empty();\n }\n}\n\nexport function EmailList_fromList(emails) {\n if (length(emails) === 0) {\n return void 0;\n }\n else {\n return join(\";\", toArray(map_2(Email___UnsafeUnwrap_Z27D11339, emails)));\n }\n}\n\nexport class PhoneNumber extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function PhoneNumber$reflection() {\n return record_type(\"Domain.PhoneNumber\", [], PhoneNumber, () => [[\"Value\", string_type]]);\n}\n\nexport function PhoneNumber_get_Create() {\n return (arg_1) => map(PhoneNumber___UnsafeCreate_Z721C83C5, Validation_min(1, arg_1));\n}\n\nexport function PhoneNumber___UnsafeCreate_Z721C83C5(value) {\n return new PhoneNumber(value);\n}\n\nexport function PhoneNumber___UnsafeUnwrap_23E45174(x) {\n return x.Value;\n}\n\nexport class VatNumber extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function VatNumber$reflection() {\n return record_type(\"Domain.VatNumber\", [], VatNumber, () => [[\"Value\", string_type]]);\n}\n\nexport function VatNumber_get_Create() {\n return (arg_1) => map(VatNumber___UnsafeCreate_Z721C83C5, Validation_min(1, arg_1));\n}\n\nexport function VatNumber___UnsafeCreate_Z721C83C5(value) {\n return new VatNumber(value);\n}\n\nexport function VatNumber___UnsafeUnwrap_18C04ACB(x) {\n return x.Value;\n}\n\nexport class KboNumber extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function KboNumber$reflection() {\n return record_type(\"Domain.KboNumber\", [], KboNumber, () => [[\"Value\", string_type]]);\n}\n\nexport function KboNumber_get_Create() {\n return (arg_1) => map(KboNumber___UnsafeCreate_Z721C83C5, Validation_min(1, arg_1));\n}\n\nexport function KboNumber___UnsafeCreate_Z721C83C5(value) {\n return new KboNumber(value);\n}\n\nexport function KboNumber___UnsafeUnwrap_146F846E(x) {\n return x.Value;\n}\n\nexport class BankAccount extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function BankAccount$reflection() {\n return record_type(\"Domain.BankAccount\", [], BankAccount, () => [[\"Value\", string_type]]);\n}\n\nexport function BankAccount_Create_Z721C83C5(value) {\n return new BankAccount(value);\n}\n\nexport function BankAccount___UnsafeCreate_Z721C83C5(value) {\n return new BankAccount(value);\n}\n\nexport function BankAccount___UnsafeUnwrap_Z2C38F894(x) {\n return x.Value;\n}\n\nexport class NationalInsuranceNumber extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function NationalInsuranceNumber$reflection() {\n return record_type(\"Domain.NationalInsuranceNumber\", [], NationalInsuranceNumber, () => [[\"Value\", string_type]]);\n}\n\nexport function NationalInsuranceNumber_Create_Z721C83C5(value) {\n return new NationalInsuranceNumber(value);\n}\n\nexport function NationalInsuranceNumber___UnsafeCreate_Z721C83C5(value) {\n return new NationalInsuranceNumber(value);\n}\n\nexport function NationalInsuranceNumber___UnsafeUnwrap_Z19EB54D4(x) {\n return x.Value;\n}\n\nexport class PersonIdOvam extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function PersonIdOvam$reflection() {\n return record_type(\"Domain.PersonIdOvam\", [], PersonIdOvam, () => [[\"Value\", string_type]]);\n}\n\nexport function PersonIdOvam_Create_Z721C83C5(value) {\n return new PersonIdOvam(value);\n}\n\nexport function PersonIdOvam___UnsafeCreate_Z721C83C5(value) {\n return new PersonIdOvam(value);\n}\n\nexport function PersonIdOvam___UnsafeUnwrap_ZCAC45BA(x) {\n return x.Value;\n}\n\nexport class PartnerType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partner\", \"Syndic\"];\n }\n}\n\nexport function PartnerType$reflection() {\n return union_type(\"Domain.PartnerType\", [], PartnerType, () => [[], []]);\n}\n\nexport class Region extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WestFlanders\", \"EastFlanders\", \"Antwerp\", \"FlemishBrabant\", \"Limburg\"];\n }\n}\n\nexport function Region$reflection() {\n return union_type(\"Domain.Region\", [], Region, () => [[], [], [], [], []]);\n}\n\nexport class InvoicePricing extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PrivatePerson\", \"RealEstateCustomer\"];\n }\n}\n\nexport function InvoicePricing$reflection() {\n return union_type(\"Domain.InvoicePricing\", [], InvoicePricing, () => [[], []]);\n}\n\nexport function InvoicePricingModule_string(invoicePricing) {\n if (invoicePricing.tag === 1) {\n return \"Makelaar\";\n }\n else {\n return \"Particulier\";\n }\n}\n\nexport class ProductType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Asbestos_Certificate_Appartment\", \"Asbestos_Certificate_Studio\", \"Asbestos_Certificate_Woonuis\", \"Asbestos_Garage\", \"Sample_Mix_General\", \"Sample_Mix_Pipe_Insulation\", \"Location_Visit_Sampling\", \"Sample_Point\", \"Retribution_OVAM\", \"Asbestos_Handelshuis\", \"Asbestos_Handelsgelijkvloers\", \"Asbestos_Industrie\", \"Asbestos_CoveredOpenParkingSpace\", \"Asbestos_HouseWithWarehouse\", \"Asbestos_Horeca\", \"Asbestos_Landbouw\", \"Asbestos_Kantoor\", \"Asbestos_GemeneDelen\", \"Manual_Invoice\", \"UrgentAsbestos_Certificate_Appartment\", \"UrgentAsbestos_Certificate_Studio\", \"UrgentAsbestos_Certificate_Woonuis\", \"UrgentAsbestos_Garage\", \"UrgentSample_Mix_General\", \"UrgentSample_Mix_Pipe_Insulation\", \"UrgentLocation_Visit_Sampling\", \"UrgentSample_Point\", \"UrgentAsbestos_Handelshuis\", \"UrgentAsbestos_Handelsgelijkvloers\", \"UrgentAsbestos_Industrie\", \"UrgentAsbestos_CoveredOpenParkingSpace\", \"UrgentAsbestos_HouseWithWarehouse\", \"UrgentAsbestos_Horeca\", \"UrgentAsbestos_Landbouw\", \"UrgentAsbestos_Kantoor\", \"UrgentAsbestos_GemeneDelen\", \"Person_Asbestos_Certificate_Appartment\", \"Person_Asbestos_Certificate_Studio\", \"Person_Asbestos_Certificate_Woonuis\", \"Person_Asbestos_Garage\", \"Person_Sample_Mix_General\", \"Person_Sample_Mix_Pipe_Insulation\", \"Person_Location_Visit_Sampling\", \"Person_Sample_Point\", \"Person_Retribution_OVAM\", \"Person_Asbestos_Handelshuis\", \"Person_Asbestos_Handelsgelijkvloers\", \"Person_Asbestos_Industrie\", \"Person_Asbestos_CoveredOpenParkingSpace\", \"Person_Asbestos_HouseWithWarehouse\", \"Person_Asbestos_Horeca\", \"Person_Asbestos_Landbouw\", \"Person_Asbestos_Kantoor\", \"Person_Asbestos_GemeneDelen\", \"UrgentPerson_Asbestos_Certificate_Appartment\", \"UrgentPerson_Asbestos_Certificate_Studio\", \"UrgentPerson_Asbestos_Certificate_Woonuis\", \"UrgentPerson_Asbestos_Garage\", \"UrgentPerson_Sample_Mix_General\", \"UrgentPerson_Sample_Mix_Pipe_Insulation\", \"UrgentPerson_Location_Visit_Sampling\", \"UrgentPerson_Sample_Point\", \"UrgentPerson_Asbestos_Handelshuis\", \"UrgentPerson_Asbestos_Handelsgelijkvloers\", \"UrgentPerson_Asbestos_Industrie\", \"UrgentPerson_Asbestos_CoveredOpenParkingSpace\", \"UrgentPerson_Asbestos_HouseWithWarehouse\", \"UrgentPerson_Asbestos_Horeca\", \"UrgentPerson_Asbestos_Landbouw\", \"UrgentPerson_Asbestos_Kantoor\", \"UrgentPerson_Asbestos_GemeneDelen\"];\n }\n}\n\nexport function ProductType$reflection() {\n return union_type(\"Domain.ProductType\", [], ProductType, () => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class ProductTypeUrgencyConverter {\n constructor() {\n }\n}\n\nexport function ProductTypeUrgencyConverter$reflection() {\n return class_type(\"Domain.ProductTypeUrgencyConverter\", void 0, ProductTypeUrgencyConverter);\n}\n\nexport function ProductTypeUrgencyConverter_GetProductType(value, urgentOrderPrivate, invoicePricing) {\n const value_1 = (invoicePricing.tag === 1) ? value : ((value.tag === 0) ? (new ProductType(36)) : ((value.tag === 1) ? (new ProductType(37)) : ((value.tag === 2) ? (new ProductType(38)) : ((value.tag === 3) ? (new ProductType(39)) : ((value.tag === 14) ? (new ProductType(50)) : ((value.tag === 16) ? (new ProductType(52)) : ((value.tag === 15) ? (new ProductType(51)) : ((value.tag === 4) ? (new ProductType(40)) : ((value.tag === 5) ? (new ProductType(41)) : ((value.tag === 6) ? (new ProductType(42)) : ((value.tag === 7) ? (new ProductType(43)) : ((value.tag === 8) ? (new ProductType(44)) : ((value.tag === 9) ? (new ProductType(45)) : ((value.tag === 10) ? (new ProductType(46)) : ((value.tag === 11) ? (new ProductType(47)) : ((value.tag === 12) ? (new ProductType(48)) : ((value.tag === 13) ? (new ProductType(49)) : ((value.tag === 18) ? (new ProductType(18)) : value))))))))))))))))));\n if (urgentOrderPrivate) {\n switch (value_1.tag) {\n case 1: {\n return new ProductType(20);\n }\n case 2: {\n return new ProductType(21);\n }\n case 3: {\n return new ProductType(22);\n }\n case 14: {\n return new ProductType(32);\n }\n case 16: {\n return new ProductType(34);\n }\n case 17: {\n return new ProductType(35);\n }\n case 15: {\n return new ProductType(33);\n }\n case 4: {\n return new ProductType(23);\n }\n case 5: {\n return new ProductType(24);\n }\n case 6: {\n return new ProductType(25);\n }\n case 7: {\n return new ProductType(26);\n }\n case 8: {\n return new ProductType(8);\n }\n case 9: {\n return new ProductType(27);\n }\n case 10: {\n return new ProductType(28);\n }\n case 11: {\n return new ProductType(29);\n }\n case 12: {\n return new ProductType(30);\n }\n case 13: {\n return new ProductType(31);\n }\n case 18: {\n return new ProductType(18);\n }\n case 19: {\n return new ProductType(19);\n }\n case 20: {\n return new ProductType(20);\n }\n case 21: {\n return new ProductType(21);\n }\n case 23: {\n return new ProductType(23);\n }\n case 24: {\n return new ProductType(24);\n }\n case 25: {\n return new ProductType(25);\n }\n case 26: {\n return new ProductType(26);\n }\n case 22: {\n return new ProductType(22);\n }\n case 27: {\n return new ProductType(27);\n }\n case 29: {\n return new ProductType(29);\n }\n case 28: {\n return new ProductType(28);\n }\n case 30: {\n return new ProductType(30);\n }\n case 31: {\n return new ProductType(31);\n }\n case 32: {\n return new ProductType(32);\n }\n case 34: {\n return new ProductType(34);\n }\n case 33: {\n return new ProductType(33);\n }\n case 35: {\n return new ProductType(35);\n }\n case 36: {\n return new ProductType(54);\n }\n case 37: {\n return new ProductType(55);\n }\n case 38: {\n return new ProductType(56);\n }\n case 39: {\n return new ProductType(57);\n }\n case 50: {\n return new ProductType(67);\n }\n case 52: {\n return new ProductType(69);\n }\n case 51: {\n return new ProductType(68);\n }\n case 40: {\n return new ProductType(58);\n }\n case 41: {\n return new ProductType(59);\n }\n case 42: {\n return new ProductType(60);\n }\n case 43: {\n return new ProductType(61);\n }\n case 44: {\n return new ProductType(44);\n }\n case 45: {\n return new ProductType(62);\n }\n case 46: {\n return new ProductType(63);\n }\n case 47: {\n return new ProductType(64);\n }\n case 48: {\n return new ProductType(65);\n }\n case 49: {\n return new ProductType(66);\n }\n case 53: {\n return new ProductType(70);\n }\n case 54: {\n return new ProductType(54);\n }\n case 55: {\n return new ProductType(55);\n }\n case 56: {\n return new ProductType(56);\n }\n case 57: {\n return new ProductType(57);\n }\n case 67: {\n return new ProductType(67);\n }\n case 69: {\n return new ProductType(69);\n }\n case 68: {\n return new ProductType(68);\n }\n case 58: {\n return new ProductType(58);\n }\n case 59: {\n return new ProductType(59);\n }\n case 60: {\n return new ProductType(60);\n }\n case 61: {\n return new ProductType(61);\n }\n case 62: {\n return new ProductType(62);\n }\n case 63: {\n return new ProductType(63);\n }\n case 64: {\n return new ProductType(64);\n }\n case 65: {\n return new ProductType(65);\n }\n case 66: {\n return new ProductType(66);\n }\n case 70: {\n return new ProductType(70);\n }\n default: {\n return new ProductType(19);\n }\n }\n }\n else {\n return value_1;\n }\n}\n\nexport class ProductReferenceNumber extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function ProductReferenceNumber$reflection() {\n return record_type(\"Domain.ProductReferenceNumber\", [], ProductReferenceNumber, () => [[\"Value\", string_type]]);\n}\n\nexport function ProductReferenceNumber_Create_Z4266B0E8(value) {\n switch (value.tag) {\n case 1: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000002\");\n }\n case 2: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000003\");\n }\n case 17: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000004\");\n }\n case 3: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000005\");\n }\n case 14: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000024\");\n }\n case 4: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000011\");\n }\n case 5: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000012\");\n }\n case 6: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000014\");\n }\n case 7: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000010\");\n }\n case 8: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000015\");\n }\n case 10: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000020\");\n }\n case 9: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000021\");\n }\n case 11: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000023\");\n }\n case 16: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000025\");\n }\n case 15: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000026\");\n }\n case 12: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000006\");\n }\n case 13: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000022\");\n }\n case 18: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000100\");\n }\n case 19: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000201\");\n }\n case 20: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000202\");\n }\n case 21: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000203\");\n }\n case 23: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000211\");\n }\n case 24: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000212\");\n }\n case 25: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000214\");\n }\n case 26: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000210\");\n }\n case 22: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000205\");\n }\n case 27: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000221\");\n }\n case 29: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000223\");\n }\n case 28: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000220\");\n }\n case 30: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000206\");\n }\n case 31: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000222\");\n }\n case 32: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000224\");\n }\n case 34: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000225\");\n }\n case 33: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000226\");\n }\n case 35: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000403\");\n }\n case 36: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000401\");\n }\n case 37: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000400\");\n }\n case 38: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000402\");\n }\n case 39: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000404\");\n }\n case 50: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000414\");\n }\n case 40: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000407\");\n }\n case 41: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000408\");\n }\n case 42: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000409\");\n }\n case 43: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000406\");\n }\n case 44: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000015\");\n }\n case 46: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000410\");\n }\n case 45: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000411\");\n }\n case 47: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000413\");\n }\n case 52: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000415\");\n }\n case 51: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000416\");\n }\n case 53: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000403\");\n }\n case 48: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000405\");\n }\n case 49: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000412\");\n }\n case 54: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000501\");\n }\n case 55: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000500\");\n }\n case 56: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000502\");\n }\n case 57: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000504\");\n }\n case 67: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000514\");\n }\n case 58: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000507\");\n }\n case 70: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000503\");\n }\n case 59: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000508\");\n }\n case 60: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000509\");\n }\n case 61: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000506\");\n }\n case 63: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000510\");\n }\n case 62: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000511\");\n }\n case 64: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000513\");\n }\n case 69: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000515\");\n }\n case 68: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000516\");\n }\n case 65: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000505\");\n }\n case 66: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000512\");\n }\n default: {\n return ProductReferenceNumber___UnsafeCreate_Z721C83C5(\"000001\");\n }\n }\n}\n\nexport function ProductReferenceNumber___UnsafeCreate_Z721C83C5(value) {\n return new ProductReferenceNumber(value);\n}\n\nexport function ProductReferenceNumber___UnsafeUnwrap_Z75335EF8(x) {\n return x.Value;\n}\n\nexport class CustomerId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function CustomerId$reflection() {\n return record_type(\"Domain.CustomerId\", [], CustomerId, () => [[\"Value\", int32_type]]);\n}\n\nexport class CustomerCode extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function CustomerCode$reflection() {\n return record_type(\"Domain.CustomerCode\", [], CustomerCode, () => [[\"Value\", string_type]]);\n}\n\nexport class LegalRepresentativeId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function LegalRepresentativeId$reflection() {\n return record_type(\"Domain.LegalRepresentativeId\", [], LegalRepresentativeId, () => [[\"Value\", int32_type]]);\n}\n\nexport class AdiId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function AdiId$reflection() {\n return record_type(\"Domain.AdiId\", [], AdiId, () => [[\"Value\", int32_type]]);\n}\n\nexport class FileId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function FileId$reflection() {\n return record_type(\"Domain.FileId\", [], FileId, () => [[\"Value\", int32_type]]);\n}\n\nexport class CompanyId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function CompanyId$reflection() {\n return record_type(\"Domain.CompanyId\", [], CompanyId, () => [[\"Value\", int32_type]]);\n}\n\nexport class CompanyInfoId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function CompanyInfoId$reflection() {\n return record_type(\"Domain.CompanyInfoId\", [], CompanyInfoId, () => [[\"Value\", int32_type]]);\n}\n\nexport class DossierId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function DossierId$reflection() {\n return record_type(\"Domain.DossierId\", [], DossierId, () => [[\"Value\", int32_type]]);\n}\n\nexport function DossierId__toFormattedString(this$) {\n return format('{0:' + \"0000000\" + '}', this$.Value);\n}\n\nexport class DossierCode extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function DossierCode$reflection() {\n return record_type(\"Domain.DossierCode\", [], DossierCode, () => [[\"Value\", string_type]]);\n}\n\nexport class DossierCommentId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function DossierCommentId$reflection() {\n return record_type(\"Domain.DossierCommentId\", [], DossierCommentId, () => [[\"Value\", int32_type]]);\n}\n\nexport class QuoteId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function QuoteId$reflection() {\n return record_type(\"Domain.QuoteId\", [], QuoteId, () => [[\"Value\", int32_type]]);\n}\n\nexport class QuoteDocumentType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Internal\", \"External\"];\n }\n}\n\nexport function QuoteDocumentType$reflection() {\n return union_type(\"Domain.QuoteDocumentType\", [], QuoteDocumentType, () => [[], []]);\n}\n\nexport function QuoteDocumentType__get_toString(this$) {\n if (this$.tag === 1) {\n return \"External\";\n }\n else {\n return \"Internal\";\n }\n}\n\nexport class QuoteFileType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Document\", \"Image\"];\n }\n}\n\nexport function QuoteFileType$reflection() {\n return union_type(\"Domain.QuoteFileType\", [], QuoteFileType, () => [[], []]);\n}\n\nexport function QuoteFileType__get_toString(this$) {\n if (this$.tag === 1) {\n return \"Image\";\n }\n else {\n return \"Document\";\n }\n}\n\nexport class QuoteCode extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function QuoteCode$reflection() {\n return record_type(\"Domain.QuoteCode\", [], QuoteCode, () => [[\"Value\", string_type]]);\n}\n\nexport class InvoiceId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function InvoiceId$reflection() {\n return record_type(\"Domain.InvoiceId\", [], InvoiceId, () => [[\"Value\", int32_type]]);\n}\n\nexport class InvoiceLineId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function InvoiceLineId$reflection() {\n return record_type(\"Domain.InvoiceLineId\", [], InvoiceLineId, () => [[\"Value\", int32_type]]);\n}\n\nexport class InvoicingId extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function InvoicingId$reflection() {\n return record_type(\"Domain.InvoicingId\", [], InvoicingId, () => [[\"Value\", string_type]]);\n}\n\nexport class DigitalSignatureId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function DigitalSignatureId$reflection() {\n return record_type(\"Domain.DigitalSignatureId\", [], DigitalSignatureId, () => [[\"Value\", int32_type]]);\n}\n\nexport class AppointmentId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function AppointmentId$reflection() {\n return record_type(\"Domain.AppointmentId\", [], AppointmentId, () => [[\"Value\", int32_type]]);\n}\n\nexport class AppointmentCommentId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function AppointmentCommentId$reflection() {\n return record_type(\"Domain.AppointmentCommentId\", [], AppointmentCommentId, () => [[\"Value\", int32_type]]);\n}\n\nexport class AppointmentConfirmationId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function AppointmentConfirmationId$reflection() {\n return record_type(\"Domain.AppointmentConfirmationId\", [], AppointmentConfirmationId, () => [[\"Value\", int32_type]]);\n}\n\nexport class PlaceDescriptionAppointmentId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function PlaceDescriptionAppointmentId$reflection() {\n return record_type(\"Domain.PlaceDescriptionAppointmentId\", [], PlaceDescriptionAppointmentId, () => [[\"Value\", int32_type]]);\n}\n\nexport class AvailabilityCalendarEventId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function AvailabilityCalendarEventId$reflection() {\n return record_type(\"Domain.AvailabilityCalendarEventId\", [], AvailabilityCalendarEventId, () => [[\"Value\", int32_type]]);\n}\n\nexport class QuoteDocumentId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function QuoteDocumentId$reflection() {\n return record_type(\"Domain.QuoteDocumentId\", [], QuoteDocumentId, () => [[\"Value\", int32_type]]);\n}\n\nexport class PartnerId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function PartnerId$reflection() {\n return record_type(\"Domain.PartnerId\", [], PartnerId, () => [[\"Value\", int32_type]]);\n}\n\nexport class QuoteDocumentUploadResult extends Record {\n constructor(Id, DocumentFilePath, DocumentFileName, DocumentType$, DocumentFileType) {\n super();\n this.Id = Id;\n this.DocumentFilePath = DocumentFilePath;\n this.DocumentFileName = DocumentFileName;\n this.DocumentType = DocumentType$;\n this.DocumentFileType = DocumentFileType;\n }\n}\n\nexport function QuoteDocumentUploadResult$reflection() {\n return record_type(\"Domain.QuoteDocumentUploadResult\", [], QuoteDocumentUploadResult, () => [[\"Id\", QuoteDocumentId$reflection()], [\"DocumentFilePath\", FilePath$reflection()], [\"DocumentFileName\", string_type], [\"DocumentType\", QuoteDocumentType$reflection()], [\"DocumentFileType\", QuoteFileType$reflection()]]);\n}\n\nexport class PartnerCode extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function PartnerCode$reflection() {\n return record_type(\"Domain.PartnerCode\", [], PartnerCode, () => [[\"Value\", string_type]]);\n}\n\nexport function PartnerCode_get_Create() {\n return (arg_1) => map(PartnerCode___UnsafeCreate_Z721C83C5, Validation_min(1, arg_1));\n}\n\nexport function PartnerCode___UnsafeCreate_Z721C83C5(value) {\n return new PartnerCode(value);\n}\n\nexport function PartnerCode___UnsafeUnwrap_786B17C8(x) {\n return x.Value;\n}\n\nexport class SignatureCode extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function SignatureCode$reflection() {\n return record_type(\"Domain.SignatureCode\", [], SignatureCode, () => [[\"Value\", string_type]]);\n}\n\nexport class DossierEventLogId extends Record {\n constructor(Value) {\n super();\n this.Value = (Value | 0);\n }\n}\n\nexport function DossierEventLogId$reflection() {\n return record_type(\"Domain.DossierEventLogId\", [], DossierEventLogId, () => [[\"Value\", int32_type]]);\n}\n\nexport class CommentSource extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"System\", \"Admin\", \"Adi\", \"Customer\", \"Partner\"];\n }\n}\n\nexport function CommentSource$reflection() {\n return union_type(\"Domain.CommentSource\", [], CommentSource, () => [[], [], [], [], []]);\n}\n\nexport class CommentType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Adi\", \"Partner\", \"Internal\"];\n }\n}\n\nexport function CommentType$reflection() {\n return union_type(\"Domain.CommentType\", [], CommentType, () => [[], [], []]);\n}\n\nexport function CommentType__get_toString(this$) {\n switch (this$.tag) {\n case 1: {\n return \"Partner\";\n }\n case 2: {\n return \"Internal\";\n }\n default: {\n return \"ADI\";\n }\n }\n}\n\nexport class Address extends Record {\n constructor(Street, Number$, Bus, PostalCode, City) {\n super();\n this.Street = Street;\n this.Number = Number$;\n this.Bus = Bus;\n this.PostalCode = PostalCode;\n this.City = City;\n }\n}\n\nexport function Address$reflection() {\n return record_type(\"Domain.Address\", [], Address, () => [[\"Street\", NonEmptyString$reflection()], [\"Number\", NonEmptyString$reflection()], [\"Bus\", option_type(NonEmptyString$reflection())], [\"PostalCode\", NonEmptyString$reflection()], [\"City\", NonEmptyString$reflection()]]);\n}\n\nexport class AppointmentConfirmation extends Record {\n constructor(Id, AreSampelsUploaded, PointSampleCount, MixedSampleCount, MixedSamplePipeInsulationCount, AdhesiveSampleCount, NightShift, SundayShift, GoingBackToSite, AppointmentId, UrgentOrderCib, UrgentOrderPrivate) {\n super();\n this.Id = Id;\n this.AreSampelsUploaded = AreSampelsUploaded;\n this.PointSampleCount = PointSampleCount;\n this.MixedSampleCount = MixedSampleCount;\n this.MixedSamplePipeInsulationCount = MixedSamplePipeInsulationCount;\n this.AdhesiveSampleCount = AdhesiveSampleCount;\n this.NightShift = NightShift;\n this.SundayShift = SundayShift;\n this.GoingBackToSite = GoingBackToSite;\n this.AppointmentId = AppointmentId;\n this.UrgentOrderCib = UrgentOrderCib;\n this.UrgentOrderPrivate = UrgentOrderPrivate;\n }\n}\n\nexport function AppointmentConfirmation$reflection() {\n return record_type(\"Domain.AppointmentConfirmation\", [], AppointmentConfirmation, () => [[\"Id\", AppointmentConfirmationId$reflection()], [\"AreSampelsUploaded\", bool_type], [\"PointSampleCount\", Integer$reflection()], [\"MixedSampleCount\", Integer$reflection()], [\"MixedSamplePipeInsulationCount\", Integer$reflection()], [\"AdhesiveSampleCount\", Integer$reflection()], [\"NightShift\", bool_type], [\"SundayShift\", bool_type], [\"GoingBackToSite\", bool_type], [\"AppointmentId\", AppointmentId$reflection()], [\"UrgentOrderCib\", bool_type], [\"UrgentOrderPrivate\", bool_type]]);\n}\n\nexport class AppointmentStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AppointmentMade\", \"AwaitingSampleMailing\", \"AppointmentCompleted\", \"Cancelled\"];\n }\n}\n\nexport function AppointmentStatus$reflection() {\n return union_type(\"Domain.AppointmentStatus\", [], AppointmentStatus, () => [[], [], [], []]);\n}\n\nexport function AppointmentStatus_get_list() {\n return ofArray([new AppointmentStatus(0), new AppointmentStatus(1), new AppointmentStatus(2), new AppointmentStatus(3)]);\n}\n\nexport class Appointment extends Record {\n constructor(Id, Status, DossierCode, DossierId, AdiId, StartTime, EndTime, CalendarServiceEventId) {\n super();\n this.Id = Id;\n this.Status = Status;\n this.DossierCode = DossierCode;\n this.DossierId = DossierId;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n this.CalendarServiceEventId = CalendarServiceEventId;\n }\n}\n\nexport function Appointment$reflection() {\n return record_type(\"Domain.Appointment\", [], Appointment, () => [[\"Id\", AppointmentId$reflection()], [\"Status\", AppointmentStatus$reflection()], [\"DossierCode\", DossierCode$reflection()], [\"DossierId\", DossierId$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"CalendarServiceEventId\", option_type(string_type)]]);\n}\n\nexport class PlaceDescriptionAppointment extends Record {\n constructor(Id, Status, AdiId, StartTime, EndTime, CalendarServiceEventId, Note) {\n super();\n this.Id = Id;\n this.Status = Status;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n this.CalendarServiceEventId = CalendarServiceEventId;\n this.Note = Note;\n }\n}\n\nexport function PlaceDescriptionAppointment$reflection() {\n return record_type(\"Domain.PlaceDescriptionAppointment\", [], PlaceDescriptionAppointment, () => [[\"Id\", PlaceDescriptionAppointmentId$reflection()], [\"Status\", AppointmentStatus$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")], [\"CalendarServiceEventId\", option_type(string_type)], [\"Note\", string_type]]);\n}\n\nexport class DossierComment extends Record {\n constructor(Id, DossierId, Comment$, CommentSource, CommentType, Name, CreatedOn, UpdatedOn) {\n super();\n this.Id = Id;\n this.DossierId = DossierId;\n this.Comment = Comment$;\n this.CommentSource = CommentSource;\n this.CommentType = CommentType;\n this.Name = Name;\n this.CreatedOn = CreatedOn;\n this.UpdatedOn = UpdatedOn;\n }\n}\n\nexport function DossierComment$reflection() {\n return record_type(\"Domain.DossierComment\", [], DossierComment, () => [[\"Id\", DossierCommentId$reflection()], [\"DossierId\", AppointmentId$reflection()], [\"Comment\", string_type], [\"CommentSource\", CommentSource$reflection()], [\"CommentType\", CommentType$reflection()], [\"Name\", option_type(NonEmptyString$reflection())], [\"CreatedOn\", class_type(\"System.DateTimeOffset\")], [\"UpdatedOn\", class_type(\"System.DateTimeOffset\")]]);\n}\n\nexport class DigitalSignature extends Record {\n constructor(Id, SignatureCode, CreatedOn, ExpiresAt, Signed, SignedAt) {\n super();\n this.Id = Id;\n this.SignatureCode = SignatureCode;\n this.CreatedOn = CreatedOn;\n this.ExpiresAt = ExpiresAt;\n this.Signed = Signed;\n this.SignedAt = SignedAt;\n }\n}\n\nexport function DigitalSignature$reflection() {\n return record_type(\"Domain.DigitalSignature\", [], DigitalSignature, () => [[\"Id\", DigitalSignatureId$reflection()], [\"SignatureCode\", SignatureCode$reflection()], [\"CreatedOn\", class_type(\"System.DateTimeOffset\")], [\"ExpiresAt\", class_type(\"System.DateTimeOffset\")], [\"Signed\", bool_type], [\"SignedAt\", option_type(class_type(\"System.DateTimeOffset\"))]]);\n}\n\nexport class Compensation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NoCompensation\", \"Ten\", \"Twenty\", \"Thirty\", \"Forty\", \"Fifty\", \"Sixty\", \"Seventy\", \"Eighty\", \"Ninety\", \"Hundred\", \"Custom\"];\n }\n}\n\nexport function Compensation$reflection() {\n return union_type(\"Domain.Compensation\", [], Compensation, () => [[], [], [], [], [], [], [], [], [], [], [], [[\"Item\", Decimal$reflection()]]]);\n}\n\nexport function Compensation_get_DefaultCompensation() {\n return new Compensation(2);\n}\n\nexport class InspectionLocation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Public_Federal\", \"Public_FlemishRegion\", \"Public_LocalRegional\", \"Public_Other\", \"NonResidential_Handelshuis\", \"NonResidential_Handelsgelijkvloers\", \"NonResidential_Horeca\", \"NonResidential_Industrie\", \"NonResidential_Jeugdvereniging\", \"NonResidential_Kantoor\", \"NonResidential_Landbouw\", \"NonResidential_LogeerfunctieOfBedAndBreakfast\", \"NonResidential_Other\", \"Residential_Woonhuis\", \"Residential_Studio\", \"Residential_EenkamerAppartement\", \"Residential_Appartement\", \"Residential_CollectiefWoongebouw\", \"Residential_MeerdereAppartement\", \"Residential_Garage\", \"Residential_OverdekteOpenStaanplaats\", \"Residential_WoningMagazijn\", \"Residential_GemeneDelen\", \"Residential_Other\", \"InSocialUse_Education_AGION\", \"InSocialUse_Education_GO\", \"InSocialUse_Education_HigherEducation\", \"InSocialUse_Religion\", \"InSocialUse_SportsRecreation\", \"InSocialUse_CareFacility\", \"InSocialUse_Other\"];\n }\n}\n\nexport function InspectionLocation$reflection() {\n return union_type(\"Domain.InspectionLocation\", [], InspectionLocation, () => [[], [], [], [[\"Item\", NonEmptyString$reflection()]], [], [], [], [], [], [], [], [], [[\"Item\", NonEmptyString$reflection()]], [], [], [], [], [], [], [], [], [], [], [[\"Item\", NonEmptyString$reflection()]], [], [], [], [], [], [], [[\"Item\", NonEmptyString$reflection()]]]);\n}\n\nexport function InspectionLocation_get_list() {\n return ofArray([new InspectionLocation(0), new InspectionLocation(1), new InspectionLocation(2), new InspectionLocation(3, new NonEmptyString(\"\")), new InspectionLocation(4), new InspectionLocation(5), new InspectionLocation(6), new InspectionLocation(7), new InspectionLocation(8), new InspectionLocation(9), new InspectionLocation(10), new InspectionLocation(11), new InspectionLocation(12, new NonEmptyString(\"\")), new InspectionLocation(13), new InspectionLocation(14), new InspectionLocation(15), new InspectionLocation(16), new InspectionLocation(17), new InspectionLocation(18), new InspectionLocation(19), new InspectionLocation(20), new InspectionLocation(21), new InspectionLocation(22), new InspectionLocation(23, new NonEmptyString(\"\")), new InspectionLocation(24), new InspectionLocation(25), new InspectionLocation(26), new InspectionLocation(27), new InspectionLocation(28), new InspectionLocation(29), new InspectionLocation(30, new NonEmptyString(\"\"))]);\n}\n\nexport class InspectionLocationExtra extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Berging\", \"Staanplaats\", \"GarageBox\"];\n }\n}\n\nexport function InspectionLocationExtra$reflection() {\n return union_type(\"Domain.InspectionLocationExtra\", [], InspectionLocationExtra, () => [[], [], []]);\n}\n\nexport class AsbestInventory extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Handover\", \"ToWork\", \"UpdtAsbestInvtCertificate\", \"DemolitionWihtoutSOP\", \"DemolitionWithSOP\", \"Employer\", \"TransferWithVoluntaryAdditionalResearch\", \"Generic\", \"GenericWithVoluntaryAdditionalResearch\", \"SharedArea\"];\n }\n}\n\nexport function AsbestInventory$reflection() {\n return union_type(\"Domain.AsbestInventory\", [], AsbestInventory, () => [[], [], [], [], [], [], [], [], [], []]);\n}\n\nexport class TypeOfDossier extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AsbestInventoryType\", \"SamplingType\"];\n }\n}\n\nexport function TypeOfDossier$reflection() {\n return union_type(\"Domain.TypeOfDossier\", [], TypeOfDossier, () => [[[\"Item\", AsbestInventory$reflection()]], []]);\n}\n\nexport class DossierClient extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Owner\", \"Trustee\", \"AssociationOfCoowners\"];\n }\n}\n\nexport function DossierClient$reflection() {\n return union_type(\"Domain.DossierClient\", [], DossierClient, () => [[], [], []]);\n}\n\nexport function DossierClient__get_toString(this$) {\n switch (this$.tag) {\n case 1: {\n return \"gevolmachtigde\";\n }\n case 2: {\n return \"Vereniging van Medeëigenaars\";\n }\n default: {\n return \"eigenaar\";\n }\n }\n}\n\nexport class OwnerStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PrivatePerson\", \"SocialHousingCompany\", \"LessorViaSocialBureau\", \"GovFlemishRegion\", \"GovLocalRegional\", \"GovFederal\", \"Company\", \"VME\", \"Other\"];\n }\n}\n\nexport function OwnerStatus$reflection() {\n return union_type(\"Domain.OwnerStatus\", [], OwnerStatus, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport function OwnerStatus__get_toString(this$) {\n switch (this$.tag) {\n case 1: {\n return \"Sociale huisvestingsmaatschappij\";\n }\n case 2: {\n return \"Verhuurder via sociaal verhuurkantoor\";\n }\n case 3: {\n return \"Vlaams gewest\";\n }\n case 4: {\n return \"Lokaal/Regionaal\";\n }\n case 5: {\n return \"Federaal\";\n }\n case 6: {\n return \"onderneming\";\n }\n case 7: {\n return \"VME (vereniging van medeeigneaars)\";\n }\n case 8: {\n return \"andere\";\n }\n default: {\n return \"particulier\";\n }\n }\n}\n\nexport class QuoteStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NotConverted\", \"Converted\"];\n }\n}\n\nexport function QuoteStatus$reflection() {\n return union_type(\"Domain.QuoteStatus\", [], QuoteStatus, () => [[], []]);\n}\n\nexport function QuoteStatus_get_list() {\n return ofArray([new QuoteStatus(0), new QuoteStatus(1)]);\n}\n\nexport class DossierStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Started\", \"Cancelled\", \"Confirmed\", \"AppointmentBooked\", \"AppointmentCompleted\", \"Invoiced\", \"InvoicePaid\", \"Completed\", \"InBehandeling\"];\n }\n}\n\nexport function DossierStatus$reflection() {\n return union_type(\"Domain.DossierStatus\", [], DossierStatus, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport function DossierStatus_get_list() {\n return ofArray([new DossierStatus(0), new DossierStatus(1), new DossierStatus(2), new DossierStatus(3), new DossierStatus(4), new DossierStatus(5), new DossierStatus(6), new DossierStatus(7), new DossierStatus(8)]);\n}\n\nexport function DossierStatus_isAppointmentAllowed_Z7B6F6316(status) {\n return contains(status, ofArray([new DossierStatus(0), new DossierStatus(8), new DossierStatus(2)]), {\n Equals: equals,\n GetHashCode: safeHash,\n });\n}\n\nexport class DossierDocumentVersion extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DocVersion1\", \"DocVersion2\"];\n }\n}\n\nexport function DossierDocumentVersion$reflection() {\n return union_type(\"Domain.DossierDocumentVersion\", [], DossierDocumentVersion, () => [[], []]);\n}\n\nexport class TypeOfDiscount extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NoDiscount\", \"Flat\", \"Percentage\"];\n }\n}\n\nexport function TypeOfDiscount$reflection() {\n return union_type(\"Domain.TypeOfDiscount\", [], TypeOfDiscount, () => [[], [[\"Item\", float64_type]], [[\"Item\", float64_type]]]);\n}\n\nexport class AssignmentDocument extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Owner\", \"Partner\", \"LegalRepresentative\", \"Syndic\", \"Other\"];\n }\n}\n\nexport function AssignmentDocument$reflection() {\n return union_type(\"Domain.AssignmentDocument\", [], AssignmentDocument, () => [[], [], [[\"Item\", Email$reflection()]], [[\"Item\", Email$reflection()]], [[\"Item\", Email$reflection()]]]);\n}\n\nexport function AssignmentDocumentModule_string(assignmentDocument) {\n switch (assignmentDocument.tag) {\n case 1: {\n return \"Partner\";\n }\n case 2: {\n return \"Gevolmachtigde\";\n }\n case 3: {\n return \"Syndicus\";\n }\n case 4: {\n return \"Andere\";\n }\n default: {\n return \"Eigenaar\";\n }\n }\n}\n\nexport class HomeVisitContact extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Owner\", \"Partner\", \"Renter\", \"ThirdParty\", \"PickUpKey\"];\n }\n}\n\nexport function HomeVisitContact$reflection() {\n return union_type(\"Domain.HomeVisitContact\", [], HomeVisitContact, () => [[], [], [], [], []]);\n}\n\nexport function HomeVisitContactModule_string(contact) {\n switch (contact.tag) {\n case 4: {\n return \"Sleutel ophalen\";\n }\n case 0: {\n return \"Eigenaar\";\n }\n case 2: {\n return \"Huurder\";\n }\n case 3: {\n return \"Derde partij\";\n }\n default: {\n return \"Makelaar\";\n }\n }\n}\n\nexport class AsbestosConclusion extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Safe\", \"Unsafe\"];\n }\n}\n\nexport function AsbestosConclusion$reflection() {\n return union_type(\"Domain.AsbestosConclusion\", [], AsbestosConclusion, () => [[], []]);\n}\n\nexport class Dossier extends Record {\n constructor(Id, Code, TypeOfDossier, InspectionLocation, InspectionLocationOther, Client, BuildingDetail, HousingUnit, YearsOfConstruction, YearsOfRenovation, AwareOfAsbestosDescription, IsUserOwnerOfInspectionArea, OwnerStatus, OwnerStatusOther, Address, EmailConfirmations, EmailCustomerCertificate, EmailPartnerCertificate, EmailsToSendCertificate, Status, CustomerId, PartnerId, Owner_FirstName, Owner_LastName, Owner_CompanyName, Owner_CompanyType, Owner_Address, Owner_Email, Owner_PhoneNumber, Owner_IsVME, Owner_IsSocialHousingCompany, Owner_VatNumber, VME_OrganizationName, VME_KboNumber, VME_LastName, VME_FirstName, VME_Address, VME_Email, VME_PhoneNumber, LegalRepresentativeId, OrderConfirmation, AssigmentConfirmation, Certificate, CertificateDate, Conclusion, Lab, Floorplan, CadastralRecords, PropertyOther, OrderConfirmationDigitalSignature, AssignmentConfirmationDigitalSignature, OrderConfirmationPhysicallySigned, AssignmentConfirmationPhysicallySigned, ManualInvoice, ManualInvoice_EmailSent, DocumentVersion, HiddenAsbestos, FloorPlanAvailable, Discount, IsCibDossier, HomeVisitContact, AssignmentDocumentContact, AssignmentDocumentContactEmail, InBehandelingUsername, InspectionLocationBerging, InspectionLocationStaanplaats, InspectionLocationGaragebox, HomeVisitContactName, HomeVisitContactEmail, InBehandelingAdiId, IsPartnerPortalDossier, IsUrgent, CompensationAmount, InvoicePricing, IsRealSmartDossier, QuoteApprovalMeetingDate, NumberOfEntrances, HallwaysPerLevel, PipeIsolationMeters, BoilerRoom, SharedAreaOption1, SharedAreaOption2, SharedAreaOption3, SharedAreaOption4, AssignmentConfirmationSendDate, ResidentialBerging, ResidentialGaragebox) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.TypeOfDossier = TypeOfDossier;\n this.InspectionLocation = InspectionLocation;\n this.InspectionLocationOther = InspectionLocationOther;\n this.Client = Client;\n this.BuildingDetail = BuildingDetail;\n this.HousingUnit = HousingUnit;\n this.YearsOfConstruction = YearsOfConstruction;\n this.YearsOfRenovation = YearsOfRenovation;\n this.AwareOfAsbestosDescription = AwareOfAsbestosDescription;\n this.IsUserOwnerOfInspectionArea = IsUserOwnerOfInspectionArea;\n this.OwnerStatus = OwnerStatus;\n this.OwnerStatusOther = OwnerStatusOther;\n this.Address = Address;\n this.EmailConfirmations = EmailConfirmations;\n this.EmailCustomerCertificate = EmailCustomerCertificate;\n this.EmailPartnerCertificate = EmailPartnerCertificate;\n this.EmailsToSendCertificate = EmailsToSendCertificate;\n this.Status = Status;\n this.CustomerId = CustomerId;\n this.PartnerId = PartnerId;\n this.Owner_FirstName = Owner_FirstName;\n this.Owner_LastName = Owner_LastName;\n this.Owner_CompanyName = Owner_CompanyName;\n this.Owner_CompanyType = Owner_CompanyType;\n this.Owner_Address = Owner_Address;\n this.Owner_Email = Owner_Email;\n this.Owner_PhoneNumber = Owner_PhoneNumber;\n this.Owner_IsVME = Owner_IsVME;\n this.Owner_IsSocialHousingCompany = Owner_IsSocialHousingCompany;\n this.Owner_VatNumber = Owner_VatNumber;\n this.VME_OrganizationName = VME_OrganizationName;\n this.VME_KboNumber = VME_KboNumber;\n this.VME_LastName = VME_LastName;\n this.VME_FirstName = VME_FirstName;\n this.VME_Address = VME_Address;\n this.VME_Email = VME_Email;\n this.VME_PhoneNumber = VME_PhoneNumber;\n this.LegalRepresentativeId = LegalRepresentativeId;\n this.OrderConfirmation = OrderConfirmation;\n this.AssigmentConfirmation = AssigmentConfirmation;\n this.Certificate = Certificate;\n this.CertificateDate = CertificateDate;\n this.Conclusion = Conclusion;\n this.Lab = Lab;\n this.Floorplan = Floorplan;\n this.CadastralRecords = CadastralRecords;\n this.PropertyOther = PropertyOther;\n this.OrderConfirmationDigitalSignature = OrderConfirmationDigitalSignature;\n this.AssignmentConfirmationDigitalSignature = AssignmentConfirmationDigitalSignature;\n this.OrderConfirmationPhysicallySigned = OrderConfirmationPhysicallySigned;\n this.AssignmentConfirmationPhysicallySigned = AssignmentConfirmationPhysicallySigned;\n this.ManualInvoice = ManualInvoice;\n this.ManualInvoice_EmailSent = ManualInvoice_EmailSent;\n this.DocumentVersion = DocumentVersion;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n this.Discount = Discount;\n this.IsCibDossier = IsCibDossier;\n this.HomeVisitContact = HomeVisitContact;\n this.AssignmentDocumentContact = AssignmentDocumentContact;\n this.AssignmentDocumentContactEmail = AssignmentDocumentContactEmail;\n this.InBehandelingUsername = InBehandelingUsername;\n this.InspectionLocationBerging = InspectionLocationBerging;\n this.InspectionLocationStaanplaats = InspectionLocationStaanplaats;\n this.InspectionLocationGaragebox = InspectionLocationGaragebox;\n this.HomeVisitContactName = HomeVisitContactName;\n this.HomeVisitContactEmail = HomeVisitContactEmail;\n this.InBehandelingAdiId = InBehandelingAdiId;\n this.IsPartnerPortalDossier = IsPartnerPortalDossier;\n this.IsUrgent = IsUrgent;\n this.CompensationAmount = CompensationAmount;\n this.InvoicePricing = InvoicePricing;\n this.IsRealSmartDossier = IsRealSmartDossier;\n this.QuoteApprovalMeetingDate = QuoteApprovalMeetingDate;\n this.NumberOfEntrances = NumberOfEntrances;\n this.HallwaysPerLevel = HallwaysPerLevel;\n this.PipeIsolationMeters = PipeIsolationMeters;\n this.BoilerRoom = BoilerRoom;\n this.SharedAreaOption1 = SharedAreaOption1;\n this.SharedAreaOption2 = SharedAreaOption2;\n this.SharedAreaOption3 = SharedAreaOption3;\n this.SharedAreaOption4 = SharedAreaOption4;\n this.AssignmentConfirmationSendDate = AssignmentConfirmationSendDate;\n this.ResidentialBerging = ResidentialBerging;\n this.ResidentialGaragebox = ResidentialGaragebox;\n }\n}\n\nexport function Dossier$reflection() {\n return record_type(\"Domain.Dossier\", [], Dossier, () => [[\"Id\", DossierId$reflection()], [\"Code\", DossierCode$reflection()], [\"TypeOfDossier\", TypeOfDossier$reflection()], [\"InspectionLocation\", InspectionLocation$reflection()], [\"InspectionLocationOther\", option_type(NonEmptyString$reflection())], [\"Client\", DossierClient$reflection()], [\"BuildingDetail\", option_type(NonEmptyString$reflection())], [\"HousingUnit\", option_type(NonEmptyString$reflection())], [\"YearsOfConstruction\", option_type(NonEmptyString$reflection())], [\"YearsOfRenovation\", option_type(NonEmptyString$reflection())], [\"AwareOfAsbestosDescription\", option_type(NonEmptyString$reflection())], [\"IsUserOwnerOfInspectionArea\", bool_type], [\"OwnerStatus\", OwnerStatus$reflection()], [\"OwnerStatusOther\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"EmailConfirmations\", bool_type], [\"EmailCustomerCertificate\", bool_type], [\"EmailPartnerCertificate\", bool_type], [\"EmailsToSendCertificate\", list_type(Email$reflection())], [\"Status\", DossierStatus$reflection()], [\"CustomerId\", CustomerId$reflection()], [\"PartnerId\", option_type(PartnerId$reflection())], [\"Owner_FirstName\", option_type(NonEmptyString$reflection())], [\"Owner_LastName\", option_type(NonEmptyString$reflection())], [\"Owner_CompanyName\", option_type(NonEmptyString$reflection())], [\"Owner_CompanyType\", option_type(NonEmptyString$reflection())], [\"Owner_Address\", Address$reflection()], [\"Owner_Email\", Email$reflection()], [\"Owner_PhoneNumber\", option_type(PhoneNumber$reflection())], [\"Owner_IsVME\", bool_type], [\"Owner_IsSocialHousingCompany\", bool_type], [\"Owner_VatNumber\", option_type(VatNumber$reflection())], [\"VME_OrganizationName\", option_type(NonEmptyString$reflection())], [\"VME_KboNumber\", option_type(KboNumber$reflection())], [\"VME_LastName\", option_type(NonEmptyString$reflection())], [\"VME_FirstName\", option_type(NonEmptyString$reflection())], [\"VME_Address\", option_type(Address$reflection())], [\"VME_Email\", option_type(Email$reflection())], [\"VME_PhoneNumber\", option_type(PhoneNumber$reflection())], [\"LegalRepresentativeId\", option_type(LegalRepresentativeId$reflection())], [\"OrderConfirmation\", option_type(FilePath$reflection())], [\"AssigmentConfirmation\", option_type(FilePath$reflection())], [\"Certificate\", option_type(FilePath$reflection())], [\"CertificateDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"Conclusion\", option_type(AsbestosConclusion$reflection())], [\"Lab\", option_type(FilePath$reflection())], [\"Floorplan\", option_type(FilePath$reflection())], [\"CadastralRecords\", option_type(FilePath$reflection())], [\"PropertyOther\", option_type(FilePath$reflection())], [\"OrderConfirmationDigitalSignature\", option_type(DigitalSignature$reflection())], [\"AssignmentConfirmationDigitalSignature\", option_type(DigitalSignature$reflection())], [\"OrderConfirmationPhysicallySigned\", option_type(FilePath$reflection())], [\"AssignmentConfirmationPhysicallySigned\", option_type(FilePath$reflection())], [\"ManualInvoice\", bool_type], [\"ManualInvoice_EmailSent\", bool_type], [\"DocumentVersion\", DossierDocumentVersion$reflection()], [\"HiddenAsbestos\", option_type(bool_type)], [\"FloorPlanAvailable\", option_type(bool_type)], [\"Discount\", TypeOfDiscount$reflection()], [\"IsCibDossier\", bool_type], [\"HomeVisitContact\", HomeVisitContact$reflection()], [\"AssignmentDocumentContact\", AssignmentDocument$reflection()], [\"AssignmentDocumentContactEmail\", list_type(Email$reflection())], [\"InBehandelingUsername\", option_type(string_type)], [\"InspectionLocationBerging\", option_type(bool_type)], [\"InspectionLocationStaanplaats\", option_type(bool_type)], [\"InspectionLocationGaragebox\", option_type(bool_type)], [\"HomeVisitContactName\", option_type(string_type)], [\"HomeVisitContactEmail\", option_type(string_type)], [\"InBehandelingAdiId\", option_type(AdiId$reflection())], [\"IsPartnerPortalDossier\", bool_type], [\"IsUrgent\", bool_type], [\"CompensationAmount\", option_type(Compensation$reflection())], [\"InvoicePricing\", InvoicePricing$reflection()], [\"IsRealSmartDossier\", bool_type], [\"QuoteApprovalMeetingDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"NumberOfEntrances\", option_type(NonEmptyString$reflection())], [\"HallwaysPerLevel\", option_type(NonEmptyString$reflection())], [\"PipeIsolationMeters\", option_type(NonEmptyString$reflection())], [\"BoilerRoom\", option_type(bool_type)], [\"SharedAreaOption1\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption2\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption3\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption4\", option_type(NonEmptyString$reflection())], [\"AssignmentConfirmationSendDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"ResidentialBerging\", option_type(NonEmptyString$reflection())], [\"ResidentialGaragebox\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class Quote extends Record {\n constructor(Id, Code, TypeOfDossier, InspectionLocation, InspectionLocationOther, Client, BuildingDetail, HousingUnit, YearsOfConstruction, YearsOfRenovation, AwareOfAsbestosDescription, IsUserOwnerOfInspectionArea, OwnerStatus, OwnerStatusOther, Address, EmailConfirmations, EmailCustomerCertificate, EmailPartnerCertificate, EmailsToSendCertificate, Status, CustomerId, PartnerId, Owner_FirstName, Owner_LastName, Owner_CompanyName, Owner_CompanyType, Owner_Address, Owner_Email, Owner_PhoneNumber, Owner_IsVME, Owner_IsSocialHousingCompany, Owner_VatNumber, VME_OrganizationName, VME_KboNumber, LegalRepresentativeId, Conclusion, ManualInvoice, ManualInvoice_EmailSent, HiddenAsbestos, FloorPlanAvailable, Discount, HomeVisitContact, AssignmentDocumentContact, AssignmentDocumentContactEmail, InspectionLocationBerging, InspectionLocationStaanplaats, InspectionLocationGaragebox, HomeVisitContactName, HomeVisitContactEmail, IsPartnerPortalDossier, IsUrgent, CompensationAmount, InvoicePricing, CreatedOn, QuoteDocument, CustomPrice, NumberOfEntrances, HallwaysPerLevel, PipeIsolationMeters, BoilerRoom, DossierCode, SharedAreaOption1, SharedAreaOption2, SharedAreaOption3, SharedAreaOption4) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.TypeOfDossier = TypeOfDossier;\n this.InspectionLocation = InspectionLocation;\n this.InspectionLocationOther = InspectionLocationOther;\n this.Client = Client;\n this.BuildingDetail = BuildingDetail;\n this.HousingUnit = HousingUnit;\n this.YearsOfConstruction = YearsOfConstruction;\n this.YearsOfRenovation = YearsOfRenovation;\n this.AwareOfAsbestosDescription = AwareOfAsbestosDescription;\n this.IsUserOwnerOfInspectionArea = IsUserOwnerOfInspectionArea;\n this.OwnerStatus = OwnerStatus;\n this.OwnerStatusOther = OwnerStatusOther;\n this.Address = Address;\n this.EmailConfirmations = EmailConfirmations;\n this.EmailCustomerCertificate = EmailCustomerCertificate;\n this.EmailPartnerCertificate = EmailPartnerCertificate;\n this.EmailsToSendCertificate = EmailsToSendCertificate;\n this.Status = Status;\n this.CustomerId = CustomerId;\n this.PartnerId = PartnerId;\n this.Owner_FirstName = Owner_FirstName;\n this.Owner_LastName = Owner_LastName;\n this.Owner_CompanyName = Owner_CompanyName;\n this.Owner_CompanyType = Owner_CompanyType;\n this.Owner_Address = Owner_Address;\n this.Owner_Email = Owner_Email;\n this.Owner_PhoneNumber = Owner_PhoneNumber;\n this.Owner_IsVME = Owner_IsVME;\n this.Owner_IsSocialHousingCompany = Owner_IsSocialHousingCompany;\n this.Owner_VatNumber = Owner_VatNumber;\n this.VME_OrganizationName = VME_OrganizationName;\n this.VME_KboNumber = VME_KboNumber;\n this.LegalRepresentativeId = LegalRepresentativeId;\n this.Conclusion = Conclusion;\n this.ManualInvoice = ManualInvoice;\n this.ManualInvoice_EmailSent = ManualInvoice_EmailSent;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n this.Discount = Discount;\n this.HomeVisitContact = HomeVisitContact;\n this.AssignmentDocumentContact = AssignmentDocumentContact;\n this.AssignmentDocumentContactEmail = AssignmentDocumentContactEmail;\n this.InspectionLocationBerging = InspectionLocationBerging;\n this.InspectionLocationStaanplaats = InspectionLocationStaanplaats;\n this.InspectionLocationGaragebox = InspectionLocationGaragebox;\n this.HomeVisitContactName = HomeVisitContactName;\n this.HomeVisitContactEmail = HomeVisitContactEmail;\n this.IsPartnerPortalDossier = IsPartnerPortalDossier;\n this.IsUrgent = IsUrgent;\n this.CompensationAmount = CompensationAmount;\n this.InvoicePricing = InvoicePricing;\n this.CreatedOn = CreatedOn;\n this.QuoteDocument = QuoteDocument;\n this.CustomPrice = CustomPrice;\n this.NumberOfEntrances = NumberOfEntrances;\n this.HallwaysPerLevel = HallwaysPerLevel;\n this.PipeIsolationMeters = PipeIsolationMeters;\n this.BoilerRoom = BoilerRoom;\n this.DossierCode = DossierCode;\n this.SharedAreaOption1 = SharedAreaOption1;\n this.SharedAreaOption2 = SharedAreaOption2;\n this.SharedAreaOption3 = SharedAreaOption3;\n this.SharedAreaOption4 = SharedAreaOption4;\n }\n}\n\nexport function Quote$reflection() {\n return record_type(\"Domain.Quote\", [], Quote, () => [[\"Id\", QuoteId$reflection()], [\"Code\", QuoteCode$reflection()], [\"TypeOfDossier\", TypeOfDossier$reflection()], [\"InspectionLocation\", InspectionLocation$reflection()], [\"InspectionLocationOther\", option_type(NonEmptyString$reflection())], [\"Client\", DossierClient$reflection()], [\"BuildingDetail\", option_type(NonEmptyString$reflection())], [\"HousingUnit\", option_type(NonEmptyString$reflection())], [\"YearsOfConstruction\", option_type(NonEmptyString$reflection())], [\"YearsOfRenovation\", option_type(NonEmptyString$reflection())], [\"AwareOfAsbestosDescription\", option_type(NonEmptyString$reflection())], [\"IsUserOwnerOfInspectionArea\", bool_type], [\"OwnerStatus\", OwnerStatus$reflection()], [\"OwnerStatusOther\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"EmailConfirmations\", bool_type], [\"EmailCustomerCertificate\", bool_type], [\"EmailPartnerCertificate\", bool_type], [\"EmailsToSendCertificate\", list_type(Email$reflection())], [\"Status\", QuoteStatus$reflection()], [\"CustomerId\", CustomerId$reflection()], [\"PartnerId\", option_type(PartnerId$reflection())], [\"Owner_FirstName\", option_type(NonEmptyString$reflection())], [\"Owner_LastName\", option_type(NonEmptyString$reflection())], [\"Owner_CompanyName\", option_type(NonEmptyString$reflection())], [\"Owner_CompanyType\", option_type(NonEmptyString$reflection())], [\"Owner_Address\", Address$reflection()], [\"Owner_Email\", Email$reflection()], [\"Owner_PhoneNumber\", option_type(PhoneNumber$reflection())], [\"Owner_IsVME\", bool_type], [\"Owner_IsSocialHousingCompany\", bool_type], [\"Owner_VatNumber\", option_type(VatNumber$reflection())], [\"VME_OrganizationName\", option_type(NonEmptyString$reflection())], [\"VME_KboNumber\", option_type(KboNumber$reflection())], [\"LegalRepresentativeId\", option_type(LegalRepresentativeId$reflection())], [\"Conclusion\", option_type(AsbestosConclusion$reflection())], [\"ManualInvoice\", bool_type], [\"ManualInvoice_EmailSent\", bool_type], [\"HiddenAsbestos\", option_type(bool_type)], [\"FloorPlanAvailable\", option_type(bool_type)], [\"Discount\", TypeOfDiscount$reflection()], [\"HomeVisitContact\", option_type(HomeVisitContact$reflection())], [\"AssignmentDocumentContact\", AssignmentDocument$reflection()], [\"AssignmentDocumentContactEmail\", list_type(Email$reflection())], [\"InspectionLocationBerging\", option_type(bool_type)], [\"InspectionLocationStaanplaats\", option_type(bool_type)], [\"InspectionLocationGaragebox\", option_type(bool_type)], [\"HomeVisitContactName\", option_type(string_type)], [\"HomeVisitContactEmail\", option_type(string_type)], [\"IsPartnerPortalDossier\", bool_type], [\"IsUrgent\", bool_type], [\"CompensationAmount\", option_type(Compensation$reflection())], [\"InvoicePricing\", InvoicePricing$reflection()], [\"CreatedOn\", class_type(\"System.DateTimeOffset\")], [\"QuoteDocument\", option_type(FilePath$reflection())], [\"CustomPrice\", option_type(Decimal$reflection())], [\"NumberOfEntrances\", option_type(NonEmptyString$reflection())], [\"HallwaysPerLevel\", option_type(NonEmptyString$reflection())], [\"PipeIsolationMeters\", option_type(NonEmptyString$reflection())], [\"BoilerRoom\", option_type(bool_type)], [\"DossierCode\", option_type(DossierCode$reflection())], [\"SharedAreaOption1\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption2\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption3\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption4\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class TypeOfCorporation extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"NV\", \"BV\", \"CV\", \"VOF\", \"SingleProprietor\"];\n }\n}\n\nexport function TypeOfCorporation$reflection() {\n return union_type(\"Domain.TypeOfCorporation\", [], TypeOfCorporation, () => [[], [], [], [], []]);\n}\n\nexport function TypeOfCorporation_ToString_Z4775BF2C(value) {\n switch (value.tag) {\n case 1: {\n return \"BV\";\n }\n case 2: {\n return \"CV\";\n }\n case 3: {\n return \"VOF\";\n }\n case 4: {\n return \"Eenmanszaak\";\n }\n default: {\n return \"NV\";\n }\n }\n}\n\nexport class CompanyInformation extends Record {\n constructor(CompanyId, Name, TypeOfCorporation, PhoneNumber, Email) {\n super();\n this.CompanyId = CompanyId;\n this.Name = Name;\n this.TypeOfCorporation = TypeOfCorporation;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n }\n}\n\nexport function CompanyInformation$reflection() {\n return record_type(\"Domain.CompanyInformation\", [], CompanyInformation, () => [[\"CompanyId\", CompanyId$reflection()], [\"Name\", NonEmptyString$reflection()], [\"TypeOfCorporation\", TypeOfCorporation$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"Email\", Email$reflection()]]);\n}\n\nexport class CompanyFormat extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"SoleProprietor\", \"Corporation\"];\n }\n}\n\nexport function CompanyFormat$reflection() {\n return union_type(\"Domain.CompanyFormat\", [], CompanyFormat, () => [[], [[\"Item\", CompanyInformation$reflection()]]]);\n}\n\nexport class Company extends Record {\n constructor(CompanyId, VatNumber, BankAccount, TermOfPayment, VatLiable, Address, CompanyFormat) {\n super();\n this.CompanyId = CompanyId;\n this.VatNumber = VatNumber;\n this.BankAccount = BankAccount;\n this.TermOfPayment = (TermOfPayment | 0);\n this.VatLiable = VatLiable;\n this.Address = Address;\n this.CompanyFormat = CompanyFormat;\n }\n}\n\nexport function Company$reflection() {\n return record_type(\"Domain.Company\", [], Company, () => [[\"CompanyId\", CompanyId$reflection()], [\"VatNumber\", VatNumber$reflection()], [\"BankAccount\", BankAccount$reflection()], [\"TermOfPayment\", int32_type], [\"VatLiable\", bool_type], [\"Address\", Address$reflection()], [\"CompanyFormat\", CompanyFormat$reflection()]]);\n}\n\nexport class AdiRole extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Junior\", \"Senior\", \"Master\", \"Partner\"];\n }\n}\n\nexport function AdiRole$reflection() {\n return union_type(\"Domain.AdiRole\", [], AdiRole, () => [[], [], [], []]);\n}\n\nexport function AdiRoleModule_string(role) {\n switch (role.tag) {\n case 1: {\n return \"Senior\";\n }\n case 2: {\n return \"Master\";\n }\n case 3: {\n return \"Partner\";\n }\n default: {\n return \"Junior\";\n }\n }\n}\n\nexport function AdiRoleModule_value(role) {\n if (role != null) {\n if (role.tag === 1) {\n return 2;\n }\n else if (role.tag === 2) {\n return 3;\n }\n else if (role.tag === 3) {\n return 4;\n }\n else {\n return 1;\n }\n }\n else {\n return 0;\n }\n}\n\nexport class Adi extends Record {\n constructor(Id, LastName, FirstName, Address, Email, PhoneNumber, NationalInsuranceNumber, PersonIdOvam, EmailAsbestConsulting, AdiCompany, TrainingCertification, IbexExamCertification, PersonalCertification, DiplomaTraining, ExtraEducation, Regions, Role, IsActive) {\n super();\n this.Id = Id;\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.NationalInsuranceNumber = NationalInsuranceNumber;\n this.PersonIdOvam = PersonIdOvam;\n this.EmailAsbestConsulting = EmailAsbestConsulting;\n this.AdiCompany = AdiCompany;\n this.TrainingCertification = TrainingCertification;\n this.IbexExamCertification = IbexExamCertification;\n this.PersonalCertification = PersonalCertification;\n this.DiplomaTraining = DiplomaTraining;\n this.ExtraEducation = ExtraEducation;\n this.Regions = Regions;\n this.Role = Role;\n this.IsActive = IsActive;\n }\n}\n\nexport function Adi$reflection() {\n return record_type(\"Domain.Adi\", [], Adi, () => [[\"Id\", AdiId$reflection()], [\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"NationalInsuranceNumber\", NationalInsuranceNumber$reflection()], [\"PersonIdOvam\", PersonIdOvam$reflection()], [\"EmailAsbestConsulting\", Email$reflection()], [\"AdiCompany\", Company$reflection()], [\"TrainingCertification\", option_type(FilePath$reflection())], [\"IbexExamCertification\", option_type(FilePath$reflection())], [\"PersonalCertification\", option_type(FilePath$reflection())], [\"DiplomaTraining\", option_type(FilePath$reflection())], [\"ExtraEducation\", option_type(FilePath$reflection())], [\"Regions\", class_type(\"Microsoft.FSharp.Collections.FSharpSet`1\", [Region$reflection()])], [\"Role\", option_type(AdiRole$reflection())], [\"IsActive\", bool_type]]);\n}\n\nexport class PreferredAdi extends Record {\n constructor(NormalAdis, PreferredAdis) {\n super();\n this.NormalAdis = NormalAdis;\n this.PreferredAdis = PreferredAdis;\n }\n}\n\nexport function PreferredAdi$reflection() {\n return record_type(\"Domain.PreferredAdi\", [], PreferredAdi, () => [[\"NormalAdis\", list_type(Adi$reflection())], [\"PreferredAdis\", list_type(Adi$reflection())]]);\n}\n\nexport function PreferredAdi__AdisWithMinimumRole_Z7F80284D(this$, minimumRole) {\n return sortByDescending((adi_2) => AdiRoleModule_value(adi_2.Role), filter((adi_1) => (AdiRoleModule_value(adi_1.Role) >= AdiRoleModule_value(minimumRole)), filter((adi) => (!contains(adi, this$.PreferredAdis, {\n Equals: equals,\n GetHashCode: safeHash,\n })), this$.NormalAdis)), {\n Compare: comparePrimitives,\n });\n}\n\nexport class File extends Record {\n constructor(Id, FileName, UploadedAt) {\n super();\n this.Id = Id;\n this.FileName = FileName;\n this.UploadedAt = UploadedAt;\n }\n}\n\nexport function File$reflection() {\n return record_type(\"Domain.File\", [], File, () => [[\"Id\", FileId$reflection()], [\"FileName\", FilePath$reflection()], [\"UploadedAt\", class_type(\"System.DateTimeOffset\")]]);\n}\n\nexport class CustomerPerson extends Record {\n constructor(Id, Code, LastName, FirstName, Address, Email, PhoneNumber, InvoicingId, TenantPartnerId, IsCibCustomer) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.InvoicingId = InvoicingId;\n this.TenantPartnerId = TenantPartnerId;\n this.IsCibCustomer = IsCibCustomer;\n }\n}\n\nexport function CustomerPerson$reflection() {\n return record_type(\"Domain.CustomerPerson\", [], CustomerPerson, () => [[\"Id\", CustomerId$reflection()], [\"Code\", CustomerCode$reflection()], [\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"InvoicingId\", option_type(InvoicingId$reflection())], [\"TenantPartnerId\", option_type(PartnerId$reflection())], [\"IsCibCustomer\", bool_type]]);\n}\n\nexport class CustomerCompany extends Record {\n constructor(Id, Code, CompanyName, CompanyType, Address, Email, PhoneNumber, VatNumber, InvoicingId, TenantPartnerId, IsCibCustomer, IsVME, IsSocialHousingCompany, LastName, FirstName) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.CompanyName = CompanyName;\n this.CompanyType = CompanyType;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.InvoicingId = InvoicingId;\n this.TenantPartnerId = TenantPartnerId;\n this.IsCibCustomer = IsCibCustomer;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n this.LastName = LastName;\n this.FirstName = FirstName;\n }\n}\n\nexport function CustomerCompany$reflection() {\n return record_type(\"Domain.CustomerCompany\", [], CustomerCompany, () => [[\"Id\", CustomerId$reflection()], [\"Code\", CustomerCode$reflection()], [\"CompanyName\", NonEmptyString$reflection()], [\"CompanyType\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", VatNumber$reflection()], [\"InvoicingId\", option_type(InvoicingId$reflection())], [\"TenantPartnerId\", option_type(PartnerId$reflection())], [\"IsCibCustomer\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type], [\"LastName\", option_type(NonEmptyString$reflection())], [\"FirstName\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class Customer2 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Person\", \"Company\"];\n }\n}\n\nexport function Customer2$reflection() {\n return union_type(\"Domain.Customer2\", [], Customer2, () => [[[\"Item\", CustomerPerson$reflection()]], [[\"Item\", CustomerCompany$reflection()]]]);\n}\n\nexport function Customer2__get_Id(this$) {\n if (this$.tag === 0) {\n return this$.fields[0].Id;\n }\n else {\n return this$.fields[0].Id;\n }\n}\n\nexport function Customer2__get_PhoneNumber(this$) {\n if (this$.tag === 0) {\n return this$.fields[0].PhoneNumber;\n }\n else {\n return this$.fields[0].PhoneNumber;\n }\n}\n\nexport function Customer2__get_Code(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Code;\n }\n else {\n return this$.fields[0].Code;\n }\n}\n\nexport function Customer2__get_Address(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Address;\n }\n else {\n return this$.fields[0].Address;\n }\n}\n\nexport function Customer2__get_Email(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Email;\n }\n else {\n return this$.fields[0].Email;\n }\n}\n\nexport function Customer2__get_CustomerOrCompanyName(this$) {\n if (this$.tag === 1) {\n return `${this$.fields[0].CompanyName.Value}`;\n }\n else {\n const customer = this$.fields[0];\n return `${customer.FirstName.Value} ${customer.LastName.Value}`;\n }\n}\n\nexport function Customer2__get_InvoicingId(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].InvoicingId;\n }\n else {\n return this$.fields[0].InvoicingId;\n }\n}\n\nexport class Customer extends Record {\n constructor(Id, Code, LastName, FirstName, CompanyName, Address, Email, PhoneNumber, VatNumber, KboNumber, InvoicingId, TenantPartnerId, IsCibCustomer, IsVME, IsSocialHousingCompany) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.CompanyName = CompanyName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.KboNumber = KboNumber;\n this.InvoicingId = InvoicingId;\n this.TenantPartnerId = TenantPartnerId;\n this.IsCibCustomer = IsCibCustomer;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n }\n}\n\nexport function Customer$reflection() {\n return record_type(\"Domain.Customer\", [], Customer, () => [[\"Id\", CustomerId$reflection()], [\"Code\", CustomerCode$reflection()], [\"LastName\", option_type(NonEmptyString$reflection())], [\"FirstName\", option_type(NonEmptyString$reflection())], [\"CompanyName\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", option_type(VatNumber$reflection())], [\"KboNumber\", option_type(KboNumber$reflection())], [\"InvoicingId\", option_type(InvoicingId$reflection())], [\"TenantPartnerId\", option_type(PartnerId$reflection())], [\"IsCibCustomer\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type]]);\n}\n\nexport class LegalRepresentative extends Record {\n constructor(Id, LastName, FirstName, Address, Email, PhoneNumber) {\n super();\n this.Id = Id;\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n }\n}\n\nexport function LegalRepresentative$reflection() {\n return record_type(\"Domain.LegalRepresentative\", [], LegalRepresentative, () => [[\"Id\", LegalRepresentativeId$reflection()], [\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", option_type(Email$reflection())], [\"PhoneNumber\", option_type(PhoneNumber$reflection())]]);\n}\n\nexport class InvoiceStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Pending\", \"Open\", \"Overdue\", \"Paid\", \"Overpaid\"];\n }\n}\n\nexport function InvoiceStatus$reflection() {\n return union_type(\"Domain.InvoiceStatus\", [], InvoiceStatus, () => [[], [], [], [], []]);\n}\n\nexport class InvoiceLine extends Record {\n constructor(InvoiceLineId, ProductType, Quantity, ReferenceNumber, Price) {\n super();\n this.InvoiceLineId = InvoiceLineId;\n this.ProductType = ProductType;\n this.Quantity = Quantity;\n this.ReferenceNumber = ReferenceNumber;\n this.Price = Price;\n }\n}\n\nexport function InvoiceLine$reflection() {\n return record_type(\"Domain.InvoiceLine\", [], InvoiceLine, () => [[\"InvoiceLineId\", InvoiceLineId$reflection()], [\"ProductType\", ProductType$reflection()], [\"Quantity\", class_type(\"System.Decimal\")], [\"ReferenceNumber\", ProductReferenceNumber$reflection()], [\"Price\", option_type(class_type(\"System.Decimal\"))]]);\n}\n\nexport class Invoice extends Record {\n constructor(Id, DossierId, ExternalId, Status, CreatedOn, Lines) {\n super();\n this.Id = Id;\n this.DossierId = DossierId;\n this.ExternalId = ExternalId;\n this.Status = Status;\n this.CreatedOn = CreatedOn;\n this.Lines = Lines;\n }\n}\n\nexport function Invoice$reflection() {\n return record_type(\"Domain.Invoice\", [], Invoice, () => [[\"Id\", InvoiceId$reflection()], [\"DossierId\", DossierId$reflection()], [\"ExternalId\", option_type(string_type)], [\"Status\", InvoiceStatus$reflection()], [\"CreatedOn\", class_type(\"System.DateTimeOffset\")], [\"Lines\", list_type(InvoiceLine$reflection())]]);\n}\n\nexport class AvailabilityCalendarEvent extends Record {\n constructor(Id, AdiId, StartTime, EndTime) {\n super();\n this.Id = Id;\n this.AdiId = AdiId;\n this.StartTime = StartTime;\n this.EndTime = EndTime;\n }\n}\n\nexport function AvailabilityCalendarEvent$reflection() {\n return record_type(\"Domain.AvailabilityCalendarEvent\", [], AvailabilityCalendarEvent, () => [[\"Id\", AvailabilityCalendarEventId$reflection()], [\"AdiId\", AdiId$reflection()], [\"StartTime\", class_type(\"System.DateTimeOffset\")], [\"EndTime\", class_type(\"System.DateTimeOffset\")]]);\n}\n\nexport class QuoteDocument extends Record {\n constructor(Id, QuoteId, DocumentPath, DocumentType$, FileName, FileType) {\n super();\n this.Id = Id;\n this.QuoteId = QuoteId;\n this.DocumentPath = DocumentPath;\n this.DocumentType = DocumentType$;\n this.FileName = FileName;\n this.FileType = FileType;\n }\n}\n\nexport function QuoteDocument$reflection() {\n return record_type(\"Domain.QuoteDocument\", [], QuoteDocument, () => [[\"Id\", QuoteDocumentId$reflection()], [\"QuoteId\", option_type(QuoteId$reflection())], [\"DocumentPath\", FilePath$reflection()], [\"DocumentType\", QuoteDocumentType$reflection()], [\"FileName\", string_type], [\"FileType\", QuoteFileType$reflection()]]);\n}\n\nexport class Partner extends Record {\n constructor(Id, Code, CompanyName, CompanyType, ContactFirstName, ContactLastName, Address, Email, PhoneNumber, VatNumber, TenantPartnerCustomerId, IsCibPartner, IsVME, IsSocialHousingCompany, MinimumRole, CompensationAmount, PartnerType, CommercialName) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.CompanyName = CompanyName;\n this.CompanyType = CompanyType;\n this.ContactFirstName = ContactFirstName;\n this.ContactLastName = ContactLastName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.TenantPartnerCustomerId = TenantPartnerCustomerId;\n this.IsCibPartner = IsCibPartner;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n this.MinimumRole = MinimumRole;\n this.CompensationAmount = CompensationAmount;\n this.PartnerType = PartnerType;\n this.CommercialName = CommercialName;\n }\n}\n\nexport function Partner$reflection() {\n return record_type(\"Domain.Partner\", [], Partner, () => [[\"Id\", PartnerId$reflection()], [\"Code\", PartnerCode$reflection()], [\"CompanyName\", NonEmptyString$reflection()], [\"CompanyType\", option_type(NonEmptyString$reflection())], [\"ContactFirstName\", option_type(NonEmptyString$reflection())], [\"ContactLastName\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", PhoneNumber$reflection()], [\"VatNumber\", option_type(VatNumber$reflection())], [\"TenantPartnerCustomerId\", option_type(CustomerId$reflection())], [\"IsCibPartner\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type], [\"MinimumRole\", option_type(AdiRole$reflection())], [\"CompensationAmount\", option_type(Compensation$reflection())], [\"PartnerType\", PartnerType$reflection()], [\"CommercialName\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport function Partner__get_Firstname(this$) {\n const matchValue = this$.ContactFirstName;\n if (matchValue != null) {\n const firstName = matchValue;\n return `${firstName.Value}`;\n }\n else {\n return \"\";\n }\n}\n\nexport function Partner__get_LastName(this$) {\n const matchValue = this$.ContactLastName;\n if (matchValue != null) {\n const lastName = matchValue;\n return `${lastName.Value}`;\n }\n else {\n return \"\";\n }\n}\n\nexport class PartnerWithPreferredAdis extends Record {\n constructor(Partner, PartnerAdis) {\n super();\n this.Partner = Partner;\n this.PartnerAdis = PartnerAdis;\n }\n}\n\nexport function PartnerWithPreferredAdis$reflection() {\n return record_type(\"Domain.PartnerWithPreferredAdis\", [], PartnerWithPreferredAdis, () => [[\"Partner\", Partner$reflection()], [\"PartnerAdis\", list_type(Adi$reflection())]]);\n}\n\nexport class TypeOfCorporationData extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function TypeOfCorporationData$reflection() {\n return record_type(\"Domain.TypeOfCorporationData\", [], TypeOfCorporationData, () => [[\"Value\", TypeOfCorporation$reflection()]]);\n}\n\nexport function TypeOfCorporationData_Create_2CC5FFA1(value) {\n return map(TypeOfCorporationData___UnsafeCreate_Z4775BF2C, value);\n}\n\nexport function TypeOfCorporationData___UnsafeCreate_Z4775BF2C(value) {\n return new TypeOfCorporationData(value);\n}\n\nexport function TypeOfCorporationData___UnsafeUnwrap_Z7D7D171C(x) {\n return x.Value;\n}\n\nexport class TypeOfDossierData extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function TypeOfDossierData$reflection() {\n return record_type(\"Domain.TypeOfDossierData\", [], TypeOfDossierData, () => [[\"Value\", TypeOfDossier$reflection()]]);\n}\n\nexport function TypeOfDossierData_Create_Z6219B46(value) {\n return map(TypeOfDossierData___UnsafeCreate_Z1D754B91, value);\n}\n\nexport function TypeOfDossierData___UnsafeCreate_Z1D754B91(value) {\n return new TypeOfDossierData(value);\n}\n\nexport function TypeOfDossierData___UnsafeUnwrap_Z27899461(x) {\n return x.Value;\n}\n\nexport class AsbestInventoryData extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function AsbestInventoryData$reflection() {\n return record_type(\"Domain.AsbestInventoryData\", [], AsbestInventoryData, () => [[\"Value\", AsbestInventory$reflection()]]);\n}\n\nexport function AsbestInventoryData_Create_7B10C0C6(value) {\n return map(AsbestInventoryData___UnsafeCreate_Z54AF902D, value);\n}\n\nexport function AsbestInventoryData___UnsafeCreate_Z54AF902D(value) {\n return new AsbestInventoryData(value);\n}\n\nexport function AsbestInventoryData___UnsafeUnwrap_Z4501305D(x) {\n return x.Value;\n}\n\nexport class SelectOptionData$1 extends Record {\n constructor(Value) {\n super();\n this.Value = Value;\n }\n}\n\nexport function SelectOptionData$1$reflection(gen0) {\n return record_type(\"Domain.SelectOptionData`1\", [gen0], SelectOptionData$1, () => [[\"Value\", gen0]]);\n}\n\nexport function SelectOptionData$1_Create_Z510A3DC0(value) {\n return map(SelectOptionData$1___UnsafeCreate_2B595, value);\n}\n\nexport function SelectOptionData$1___UnsafeCreate_2B595(value) {\n return new SelectOptionData$1(value);\n}\n\nexport function SelectOptionData$1___UnsafeUnwrap_3C423657(x) {\n return x.Value;\n}\n\nexport class AppointmentListType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Today\", \"AllMyAppointments\", \"ToChargeSamples\", \"AllAppointments\"];\n }\n}\n\nexport function AppointmentListType$reflection() {\n return union_type(\"Domain.AppointmentListType\", [], AppointmentListType, () => [[], [], [], []]);\n}\n\nexport class DigitalSignaturePartnerInfoConfigAddress extends Record {\n constructor(Street, Number$, Bus, PostalCode, City) {\n super();\n this.Street = Street;\n this.Number = Number$;\n this.Bus = Bus;\n this.PostalCode = PostalCode;\n this.City = City;\n }\n}\n\nexport function DigitalSignaturePartnerInfoConfigAddress$reflection() {\n return record_type(\"Domain.DigitalSignaturePartnerInfoConfigAddress\", [], DigitalSignaturePartnerInfoConfigAddress, () => [[\"Street\", string_type], [\"Number\", string_type], [\"Bus\", string_type], [\"PostalCode\", string_type], [\"City\", string_type]]);\n}\n\nexport class DigitalSignaturePartnerInfo extends Record {\n constructor(PartnerId, LastName, FirstName, Address, Email, PhoneNumber, HiddenAsbestos, FloorplanAvailable) {\n super();\n this.PartnerId = (PartnerId | 0);\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorplanAvailable = FloorplanAvailable;\n }\n}\n\nexport function DigitalSignaturePartnerInfo$reflection() {\n return record_type(\"Domain.DigitalSignaturePartnerInfo\", [], DigitalSignaturePartnerInfo, () => [[\"PartnerId\", int32_type], [\"LastName\", string_type], [\"FirstName\", string_type], [\"Address\", DigitalSignaturePartnerInfoConfigAddress$reflection()], [\"Email\", string_type], [\"PhoneNumber\", string_type], [\"HiddenAsbestos\", bool_type], [\"FloorplanAvailable\", bool_type]]);\n}\n\nexport class DigitalSignatureStatus extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Signed\", \"UnSigned\", \"SignatureExpired\", \"InvalidSignature\"];\n }\n}\n\nexport function DigitalSignatureStatus$reflection() {\n return union_type(\"Domain.DigitalSignatureStatus\", [], DigitalSignatureStatus, () => [[[\"Item\", tuple_type(FilePath$reflection(), DigitalSignature$reflection())]], [[\"Item\", tuple_type(FilePath$reflection(), DigitalSignature$reflection(), option_type(DigitalSignaturePartnerInfo$reflection()))]], [[\"Item\", string_type]], []]);\n}\n\nexport class DossierEvent extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DossierCreated\", \"DossierCreatedFromQuote\", \"DossierUpdated\", \"AssignmentDocumentRegenerated\"];\n }\n}\n\nexport function DossierEvent$reflection() {\n return union_type(\"Domain.DossierEvent\", [], DossierEvent, () => [[], [], [], []]);\n}\n\nexport class DossierEventLog extends Record {\n constructor(Id, DossierId, Name, Event$, CreatedOn, FinalizedCertificateDate) {\n super();\n this.Id = Id;\n this.DossierId = DossierId;\n this.Name = Name;\n this.Event = Event$;\n this.CreatedOn = CreatedOn;\n this.FinalizedCertificateDate = FinalizedCertificateDate;\n }\n}\n\nexport function DossierEventLog$reflection() {\n return record_type(\"Domain.DossierEventLog\", [], DossierEventLog, () => [[\"Id\", DossierEventLogId$reflection()], [\"DossierId\", DossierId$reflection()], [\"Name\", NonEmptyString$reflection()], [\"Event\", DossierEvent$reflection()], [\"CreatedOn\", class_type(\"System.DateTimeOffset\")], [\"FinalizedCertificateDate\", option_type(class_type(\"System.DateTimeOffset\"))]]);\n}\n\nexport class CreateCustomerResult extends Record {\n constructor(Id, Code) {\n super();\n this.Id = Id;\n this.Code = Code;\n }\n}\n\nexport function CreateCustomerResult$reflection() {\n return record_type(\"Domain.CreateCustomerResult\", [], CreateCustomerResult, () => [[\"Id\", CustomerId$reflection()], [\"Code\", CustomerCode$reflection()]]);\n}\n\nexport class CreateDossierResult extends Record {\n constructor(Id, Code) {\n super();\n this.Id = Id;\n this.Code = Code;\n }\n}\n\nexport function CreateDossierResult$reflection() {\n return record_type(\"Domain.CreateDossierResult\", [], CreateDossierResult, () => [[\"Id\", DossierId$reflection()], [\"Code\", DossierCode$reflection()]]);\n}\n\nexport class CreateQuoteResult extends Record {\n constructor(Id, Code) {\n super();\n this.Id = Id;\n this.Code = Code;\n }\n}\n\nexport function CreateQuoteResult$reflection() {\n return record_type(\"Domain.CreateQuoteResult\", [], CreateQuoteResult, () => [[\"Id\", QuoteId$reflection()], [\"Code\", DossierCode$reflection()]]);\n}\n\nexport class EmailVerificationResponse extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Valid\", \"Invalid\"];\n }\n}\n\nexport function EmailVerificationResponse$reflection() {\n return union_type(\"Domain.EmailVerificationResponse\", [], EmailVerificationResponse, () => [[[\"Item\", option_type(string_type)]], [[\"Item\", string_type]]]);\n}\n\nexport class CustomerPersonData extends Record {\n constructor(LastName, FirstName, Address, Email, PhoneNumber, IsCibCustomer) {\n super();\n this.LastName = LastName;\n this.FirstName = FirstName;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.IsCibCustomer = IsCibCustomer;\n }\n}\n\nexport function CustomerPersonData$reflection() {\n return record_type(\"Domain.CustomerPersonData\", [], CustomerPersonData, () => [[\"LastName\", NonEmptyString$reflection()], [\"FirstName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"IsCibCustomer\", bool_type]]);\n}\n\nexport class CustomerCompanyData extends Record {\n constructor(CompanyName, CompanyType, Address, Email, PhoneNumber, VatNumber, IsCibCustomer, IsVME, IsSocialHousingCompany, LastName, FirstName) {\n super();\n this.CompanyName = CompanyName;\n this.CompanyType = CompanyType;\n this.Address = Address;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.IsCibCustomer = IsCibCustomer;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n this.LastName = LastName;\n this.FirstName = FirstName;\n }\n}\n\nexport function CustomerCompanyData$reflection() {\n return record_type(\"Domain.CustomerCompanyData\", [], CustomerCompanyData, () => [[\"CompanyName\", NonEmptyString$reflection()], [\"CompanyType\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", VatNumber$reflection()], [\"IsCibCustomer\", bool_type], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type], [\"LastName\", option_type(NonEmptyString$reflection())], [\"FirstName\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class CustomerData2 extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Person\", \"Company\"];\n }\n}\n\nexport function CustomerData2$reflection() {\n return union_type(\"Domain.CustomerData2\", [], CustomerData2, () => [[[\"Item\", CustomerPersonData$reflection()]], [[\"Item\", CustomerCompanyData$reflection()]]]);\n}\n\nexport function CustomerData2__get_CustomerOrCompanyName(this$) {\n if (this$.tag === 1) {\n return `${this$.fields[0].CompanyName.Value}`;\n }\n else {\n const person = this$.fields[0];\n return `${person.FirstName.Value} ${person.LastName.Value}`;\n }\n}\n\nexport function CustomerData2__get_PhoneNumber(this$) {\n if (this$.tag === 0) {\n return this$.fields[0].PhoneNumber;\n }\n else {\n return this$.fields[0].PhoneNumber;\n }\n}\n\nexport function CustomerData2__get_Address(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Address;\n }\n else {\n return this$.fields[0].Address;\n }\n}\n\nexport function CustomerData2__get_Email(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Email;\n }\n else {\n return this$.fields[0].Email;\n }\n}\n\nexport class DossierCustomerSelection extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ExistingCustomer\", \"NewCustomer\"];\n }\n}\n\nexport function DossierCustomerSelection$reflection() {\n return union_type(\"Domain.DossierCustomerSelection\", [], DossierCustomerSelection, () => [[[\"Item\", Customer2$reflection()]], [[\"Item\", CustomerData2$reflection()]]]);\n}\n\nexport class DossierCompany extends Record {\n constructor(CompanyName, Email, PhoneNumber, VatNumber, KboNumber) {\n super();\n this.CompanyName = CompanyName;\n this.Email = Email;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.KboNumber = KboNumber;\n }\n}\n\nexport function DossierCompany$reflection() {\n return record_type(\"Domain.DossierCompany\", [], DossierCompany, () => [[\"CompanyName\", NonEmptyString$reflection()], [\"Email\", Email$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", VatNumber$reflection()], [\"KboNumber\", option_type(KboNumber$reflection())]]);\n}\n\nexport class DossierCustomer extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partner\", \"Customer\", \"NotSelected\"];\n }\n}\n\nexport function DossierCustomer$reflection() {\n return union_type(\"Domain.DossierCustomer\", [], DossierCustomer, () => [[[\"Item\", Customer2$reflection()]], [[\"Item\", DossierCustomerSelection$reflection()]], []]);\n}\n\nexport class TypeOfCustomer extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Person\", \"Company\"];\n }\n}\n\nexport function TypeOfCustomer$reflection() {\n return union_type(\"Domain.TypeOfCustomer\", [], TypeOfCustomer, () => [[], []]);\n}\n\nexport function TypeOfCustomerModule_string(typeOfCustomer) {\n if (typeOfCustomer.tag === 1) {\n return \"Rechtspersoon\";\n }\n else {\n return \"Natuurlijk persoon\";\n }\n}\n\nexport class ContactOwner extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Person\", \"Company\"];\n }\n}\n\nexport function ContactOwner$reflection() {\n return union_type(\"Domain.ContactOwner\", [], ContactOwner, () => [[], []]);\n}\n\nexport function ContactOwnerModule_string(owner) {\n if (owner.tag === 1) {\n return \"Vennootschap\";\n }\n else {\n return \"Natuurlijk persoon\";\n }\n}\n\nexport class DossierOwnerCompany extends Record {\n constructor(CompanyName, CompanyType, Address, PhoneNumber, VatNumber, Email, IsVME, IsSocialHousingCompany, FirstName, LastName) {\n super();\n this.CompanyName = CompanyName;\n this.CompanyType = CompanyType;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.VatNumber = VatNumber;\n this.Email = Email;\n this.IsVME = IsVME;\n this.IsSocialHousingCompany = IsSocialHousingCompany;\n this.FirstName = FirstName;\n this.LastName = LastName;\n }\n}\n\nexport function DossierOwnerCompany$reflection() {\n return record_type(\"Domain.DossierOwnerCompany\", [], DossierOwnerCompany, () => [[\"CompanyName\", NonEmptyString$reflection()], [\"CompanyType\", option_type(NonEmptyString$reflection())], [\"Address\", Address$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"VatNumber\", VatNumber$reflection()], [\"Email\", Email$reflection()], [\"IsVME\", bool_type], [\"IsSocialHousingCompany\", bool_type], [\"FirstName\", option_type(NonEmptyString$reflection())], [\"LastName\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class DossierOwnerPerson extends Record {\n constructor(FirstName, LastName, Address, PhoneNumber, Email) {\n super();\n this.FirstName = FirstName;\n this.LastName = LastName;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n }\n}\n\nexport function DossierOwnerPerson$reflection() {\n return record_type(\"Domain.DossierOwnerPerson\", [], DossierOwnerPerson, () => [[\"FirstName\", NonEmptyString$reflection()], [\"LastName\", NonEmptyString$reflection()], [\"Address\", Address$reflection()], [\"PhoneNumber\", option_type(PhoneNumber$reflection())], [\"Email\", Email$reflection()]]);\n}\n\nexport class DossierOwner extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Person\", \"Company\"];\n }\n}\n\nexport function DossierOwner$reflection() {\n return union_type(\"Domain.DossierOwner\", [], DossierOwner, () => [[[\"Item\", DossierOwnerPerson$reflection()]], [[\"Item\", DossierOwnerCompany$reflection()]]]);\n}\n\nexport function DossierOwner__get_Address(this$) {\n if (this$.tag === 1) {\n return this$.fields[0].Address;\n }\n else {\n return this$.fields[0].Address;\n }\n}\n\nexport class CreateQuoteData extends Record {\n constructor(TypeOfDossier, InspectionLocation, InspectionLocationOther, Client, BuildingDetail, HousingUnit, YearsOfConstruction, YearsOfRenovation, AwareOfAsbestosDescription, IsUserOwnerOfInspectionArea, Address, EmailConfirmations, Status, SyndicId, LegalRepresentativeId, DossierOwner, ManualInvoice, ManualInvoice_EmailSent, HiddenAsbestos, FloorPlanAvailable, OwnerStatus, OwnerStatusOther, Discount, IsCibDossier, InspectionLocationBerging, InspectionLocationStaanplaats, InspectionLocationGaragebox, IsUrgent, CompensationAmount, IsRealSmartDossier, CustomPrice, NumberOfEntrances, HallwaysPerLevel, PipeIsolationMeters, BoilerRoom, SharedAreaOption1, SharedAreaOption2, SharedAreaOption3, SharedAreaOption4) {\n super();\n this.TypeOfDossier = TypeOfDossier;\n this.InspectionLocation = InspectionLocation;\n this.InspectionLocationOther = InspectionLocationOther;\n this.Client = Client;\n this.BuildingDetail = BuildingDetail;\n this.HousingUnit = HousingUnit;\n this.YearsOfConstruction = YearsOfConstruction;\n this.YearsOfRenovation = YearsOfRenovation;\n this.AwareOfAsbestosDescription = AwareOfAsbestosDescription;\n this.IsUserOwnerOfInspectionArea = IsUserOwnerOfInspectionArea;\n this.Address = Address;\n this.EmailConfirmations = EmailConfirmations;\n this.Status = Status;\n this.SyndicId = SyndicId;\n this.LegalRepresentativeId = LegalRepresentativeId;\n this.DossierOwner = DossierOwner;\n this.ManualInvoice = ManualInvoice;\n this.ManualInvoice_EmailSent = ManualInvoice_EmailSent;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n this.OwnerStatus = OwnerStatus;\n this.OwnerStatusOther = OwnerStatusOther;\n this.Discount = Discount;\n this.IsCibDossier = IsCibDossier;\n this.InspectionLocationBerging = InspectionLocationBerging;\n this.InspectionLocationStaanplaats = InspectionLocationStaanplaats;\n this.InspectionLocationGaragebox = InspectionLocationGaragebox;\n this.IsUrgent = IsUrgent;\n this.CompensationAmount = CompensationAmount;\n this.IsRealSmartDossier = IsRealSmartDossier;\n this.CustomPrice = CustomPrice;\n this.NumberOfEntrances = NumberOfEntrances;\n this.HallwaysPerLevel = HallwaysPerLevel;\n this.PipeIsolationMeters = PipeIsolationMeters;\n this.BoilerRoom = BoilerRoom;\n this.SharedAreaOption1 = SharedAreaOption1;\n this.SharedAreaOption2 = SharedAreaOption2;\n this.SharedAreaOption3 = SharedAreaOption3;\n this.SharedAreaOption4 = SharedAreaOption4;\n }\n}\n\nexport function CreateQuoteData$reflection() {\n return record_type(\"Domain.CreateQuoteData\", [], CreateQuoteData, () => [[\"TypeOfDossier\", TypeOfDossierData$reflection()], [\"InspectionLocation\", SelectOptionData$1$reflection(InspectionLocation$reflection())], [\"InspectionLocationOther\", option_type(NonEmptyString$reflection())], [\"Client\", SelectOptionData$1$reflection(DossierClient$reflection())], [\"BuildingDetail\", option_type(NonEmptyString$reflection())], [\"HousingUnit\", option_type(NonEmptyString$reflection())], [\"YearsOfConstruction\", option_type(NonEmptyString$reflection())], [\"YearsOfRenovation\", option_type(NonEmptyString$reflection())], [\"AwareOfAsbestosDescription\", option_type(NonEmptyString$reflection())], [\"IsUserOwnerOfInspectionArea\", bool_type], [\"Address\", Address$reflection()], [\"EmailConfirmations\", bool_type], [\"Status\", DossierStatus$reflection()], [\"SyndicId\", option_type(PartnerId$reflection())], [\"LegalRepresentativeId\", option_type(LegalRepresentativeId$reflection())], [\"DossierOwner\", DossierOwner$reflection()], [\"ManualInvoice\", bool_type], [\"ManualInvoice_EmailSent\", bool_type], [\"HiddenAsbestos\", option_type(bool_type)], [\"FloorPlanAvailable\", option_type(bool_type)], [\"OwnerStatus\", SelectOptionData$1$reflection(OwnerStatus$reflection())], [\"OwnerStatusOther\", option_type(NonEmptyString$reflection())], [\"Discount\", TypeOfDiscount$reflection()], [\"IsCibDossier\", bool_type], [\"InspectionLocationBerging\", option_type(bool_type)], [\"InspectionLocationStaanplaats\", option_type(bool_type)], [\"InspectionLocationGaragebox\", option_type(bool_type)], [\"IsUrgent\", bool_type], [\"CompensationAmount\", option_type(Compensation$reflection())], [\"IsRealSmartDossier\", bool_type], [\"CustomPrice\", option_type(Decimal$reflection())], [\"NumberOfEntrances\", option_type(NonEmptyString$reflection())], [\"HallwaysPerLevel\", option_type(NonEmptyString$reflection())], [\"PipeIsolationMeters\", option_type(NonEmptyString$reflection())], [\"BoilerRoom\", bool_type], [\"SharedAreaOption1\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption2\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption3\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption4\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class CreateQuoteDataContact extends Record {\n constructor(AssignmentContactEmail, AssignmentDocumentContact, CertificateCustomEmails, CertificateEmailClient, CertificateEmailCustom, CertificateEmailPartner, HomeVisitContact, HomeVisitContactName, HomeVisitContactEmail, InvoicingParty, InvoicePricing) {\n super();\n this.AssignmentContactEmail = AssignmentContactEmail;\n this.AssignmentDocumentContact = AssignmentDocumentContact;\n this.CertificateCustomEmails = CertificateCustomEmails;\n this.CertificateEmailClient = CertificateEmailClient;\n this.CertificateEmailCustom = CertificateEmailCustom;\n this.CertificateEmailPartner = CertificateEmailPartner;\n this.HomeVisitContact = HomeVisitContact;\n this.HomeVisitContactName = HomeVisitContactName;\n this.HomeVisitContactEmail = HomeVisitContactEmail;\n this.InvoicingParty = InvoicingParty;\n this.InvoicePricing = InvoicePricing;\n }\n}\n\nexport function CreateQuoteDataContact$reflection() {\n return record_type(\"Domain.CreateQuoteDataContact\", [], CreateQuoteDataContact, () => [[\"AssignmentContactEmail\", option_type(NonEmptyString$reflection())], [\"AssignmentDocumentContact\", AssignmentDocument$reflection()], [\"CertificateCustomEmails\", option_type(NonEmptyString$reflection())], [\"CertificateEmailClient\", bool_type], [\"CertificateEmailCustom\", bool_type], [\"CertificateEmailPartner\", bool_type], [\"HomeVisitContact\", option_type(HomeVisitContact$reflection())], [\"HomeVisitContactName\", option_type(NonEmptyString$reflection())], [\"HomeVisitContactEmail\", option_type(PhoneNumber$reflection())], [\"InvoicingParty\", DossierCustomer$reflection()], [\"InvoicePricing\", InvoicePricing$reflection()]]);\n}\n\nexport class CreateQuoteData2 extends Record {\n constructor(CreateQuoteData, CreateQuoteDataContact, QuoteDocuments) {\n super();\n this.CreateQuoteData = CreateQuoteData;\n this.CreateQuoteDataContact = CreateQuoteDataContact;\n this.QuoteDocuments = QuoteDocuments;\n }\n}\n\nexport function CreateQuoteData2$reflection() {\n return record_type(\"Domain.CreateQuoteData2\", [], CreateQuoteData2, () => [[\"CreateQuoteData\", CreateQuoteData$reflection()], [\"CreateQuoteDataContact\", CreateQuoteDataContact$reflection()], [\"QuoteDocuments\", list_type(QuoteDocumentUploadResult$reflection())]]);\n}\n\nexport class CreateDossierData extends Record {\n constructor(TypeOfDossier, InspectionLocation, InspectionLocationOther, ResidentialBerging, ResidentialGaragebox, Client, BuildingDetail, HousingUnit, YearsOfConstruction, YearsOfRenovation, AwareOfAsbestosDescription, IsUserOwnerOfInspectionArea, Address, EmailConfirmations, Status, PartnerId, LegalRepresentativeId, DossierOwner, ManualInvoice, ManualInvoice_EmailSent, HiddenAsbestos, FloorPlanAvailable, OwnerStatus, OwnerStatusOther, Discount, IsCibDossier, InspectionLocationBerging, InspectionLocationStaanplaats, InspectionLocationGaragebox, IsUrgent, CompensationAmount, IsRealSmartDossier, QuoteApprovalMeetingDate, NumberOfEntrances, HallwaysPerLevel, PipeIsolationMeters, BoilerRoom, SharedAreaOption1, SharedAreaOption2, SharedAreaOption3, SharedAreaOption4) {\n super();\n this.TypeOfDossier = TypeOfDossier;\n this.InspectionLocation = InspectionLocation;\n this.InspectionLocationOther = InspectionLocationOther;\n this.ResidentialBerging = ResidentialBerging;\n this.ResidentialGaragebox = ResidentialGaragebox;\n this.Client = Client;\n this.BuildingDetail = BuildingDetail;\n this.HousingUnit = HousingUnit;\n this.YearsOfConstruction = YearsOfConstruction;\n this.YearsOfRenovation = YearsOfRenovation;\n this.AwareOfAsbestosDescription = AwareOfAsbestosDescription;\n this.IsUserOwnerOfInspectionArea = IsUserOwnerOfInspectionArea;\n this.Address = Address;\n this.EmailConfirmations = EmailConfirmations;\n this.Status = Status;\n this.PartnerId = PartnerId;\n this.LegalRepresentativeId = LegalRepresentativeId;\n this.DossierOwner = DossierOwner;\n this.ManualInvoice = ManualInvoice;\n this.ManualInvoice_EmailSent = ManualInvoice_EmailSent;\n this.HiddenAsbestos = HiddenAsbestos;\n this.FloorPlanAvailable = FloorPlanAvailable;\n this.OwnerStatus = OwnerStatus;\n this.OwnerStatusOther = OwnerStatusOther;\n this.Discount = Discount;\n this.IsCibDossier = IsCibDossier;\n this.InspectionLocationBerging = InspectionLocationBerging;\n this.InspectionLocationStaanplaats = InspectionLocationStaanplaats;\n this.InspectionLocationGaragebox = InspectionLocationGaragebox;\n this.IsUrgent = IsUrgent;\n this.CompensationAmount = CompensationAmount;\n this.IsRealSmartDossier = IsRealSmartDossier;\n this.QuoteApprovalMeetingDate = QuoteApprovalMeetingDate;\n this.NumberOfEntrances = NumberOfEntrances;\n this.HallwaysPerLevel = HallwaysPerLevel;\n this.PipeIsolationMeters = PipeIsolationMeters;\n this.BoilerRoom = BoilerRoom;\n this.SharedAreaOption1 = SharedAreaOption1;\n this.SharedAreaOption2 = SharedAreaOption2;\n this.SharedAreaOption3 = SharedAreaOption3;\n this.SharedAreaOption4 = SharedAreaOption4;\n }\n}\n\nexport function CreateDossierData$reflection() {\n return record_type(\"Domain.CreateDossierData\", [], CreateDossierData, () => [[\"TypeOfDossier\", TypeOfDossierData$reflection()], [\"InspectionLocation\", SelectOptionData$1$reflection(InspectionLocation$reflection())], [\"InspectionLocationOther\", option_type(NonEmptyString$reflection())], [\"ResidentialBerging\", option_type(NonEmptyString$reflection())], [\"ResidentialGaragebox\", option_type(NonEmptyString$reflection())], [\"Client\", SelectOptionData$1$reflection(DossierClient$reflection())], [\"BuildingDetail\", option_type(NonEmptyString$reflection())], [\"HousingUnit\", option_type(NonEmptyString$reflection())], [\"YearsOfConstruction\", option_type(NonEmptyString$reflection())], [\"YearsOfRenovation\", option_type(NonEmptyString$reflection())], [\"AwareOfAsbestosDescription\", option_type(NonEmptyString$reflection())], [\"IsUserOwnerOfInspectionArea\", bool_type], [\"Address\", Address$reflection()], [\"EmailConfirmations\", bool_type], [\"Status\", DossierStatus$reflection()], [\"PartnerId\", option_type(PartnerId$reflection())], [\"LegalRepresentativeId\", option_type(LegalRepresentativeId$reflection())], [\"DossierOwner\", DossierOwner$reflection()], [\"ManualInvoice\", bool_type], [\"ManualInvoice_EmailSent\", bool_type], [\"HiddenAsbestos\", option_type(bool_type)], [\"FloorPlanAvailable\", option_type(bool_type)], [\"OwnerStatus\", SelectOptionData$1$reflection(OwnerStatus$reflection())], [\"OwnerStatusOther\", option_type(NonEmptyString$reflection())], [\"Discount\", TypeOfDiscount$reflection()], [\"IsCibDossier\", bool_type], [\"InspectionLocationBerging\", option_type(bool_type)], [\"InspectionLocationStaanplaats\", option_type(bool_type)], [\"InspectionLocationGaragebox\", option_type(bool_type)], [\"IsUrgent\", bool_type], [\"CompensationAmount\", option_type(Compensation$reflection())], [\"IsRealSmartDossier\", bool_type], [\"QuoteApprovalMeetingDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"NumberOfEntrances\", option_type(NonEmptyString$reflection())], [\"HallwaysPerLevel\", option_type(NonEmptyString$reflection())], [\"PipeIsolationMeters\", option_type(NonEmptyString$reflection())], [\"BoilerRoom\", bool_type], [\"SharedAreaOption1\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption2\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption3\", option_type(NonEmptyString$reflection())], [\"SharedAreaOption4\", option_type(NonEmptyString$reflection())]]);\n}\n\nexport class DossierCustomerData extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Partner\", \"Customer\"];\n }\n}\n\nexport function DossierCustomerData$reflection() {\n return union_type(\"Domain.DossierCustomerData\", [], DossierCustomerData, () => [[[\"Item1\", CustomerCode$reflection()], [\"Item2\", CustomerId$reflection()], [\"Item3\", PartnerId$reflection()]], [[\"Item1\", CustomerCode$reflection()], [\"Item2\", CustomerId$reflection()]]]);\n}\n\nexport class CreateDossierDataContact extends Record {\n constructor(AssignmentContactEmail, AssignmentDocumentContact, CertificateCustomEmails, CertificateEmailClient, CertificateEmailCustom, CertificateEmailPartner, HomeVisitContact, HomeVisitContactName, HomeVisitContactEmail, InvoicingParty, InvoicePricing) {\n super();\n this.AssignmentContactEmail = AssignmentContactEmail;\n this.AssignmentDocumentContact = AssignmentDocumentContact;\n this.CertificateCustomEmails = CertificateCustomEmails;\n this.CertificateEmailClient = CertificateEmailClient;\n this.CertificateEmailCustom = CertificateEmailCustom;\n this.CertificateEmailPartner = CertificateEmailPartner;\n this.HomeVisitContact = HomeVisitContact;\n this.HomeVisitContactName = HomeVisitContactName;\n this.HomeVisitContactEmail = HomeVisitContactEmail;\n this.InvoicingParty = InvoicingParty;\n this.InvoicePricing = InvoicePricing;\n }\n}\n\nexport function CreateDossierDataContact$reflection() {\n return record_type(\"Domain.CreateDossierDataContact\", [], CreateDossierDataContact, () => [[\"AssignmentContactEmail\", option_type(NonEmptyString$reflection())], [\"AssignmentDocumentContact\", AssignmentDocument$reflection()], [\"CertificateCustomEmails\", option_type(NonEmptyString$reflection())], [\"CertificateEmailClient\", bool_type], [\"CertificateEmailCustom\", bool_type], [\"CertificateEmailPartner\", bool_type], [\"HomeVisitContact\", HomeVisitContact$reflection()], [\"HomeVisitContactName\", option_type(NonEmptyString$reflection())], [\"HomeVisitContactEmail\", option_type(PhoneNumber$reflection())], [\"InvoicingParty\", DossierCustomer$reflection()], [\"InvoicePricing\", InvoicePricing$reflection()]]);\n}\n\nexport class CreateDossierData2 extends Record {\n constructor(CreateDossierData, CreateDossierDataContact) {\n super();\n this.CreateDossierData = CreateDossierData;\n this.CreateDossierDataContact = CreateDossierDataContact;\n }\n}\n\nexport function CreateDossierData2$reflection() {\n return record_type(\"Domain.CreateDossierData2\", [], CreateDossierData2, () => [[\"CreateDossierData\", CreateDossierData$reflection()], [\"CreateDossierDataContact\", CreateDossierDataContact$reflection()]]);\n}\n\nexport class AdiOption extends Record {\n constructor(Label, Id) {\n super();\n this.Label = Label;\n this.Id = (Id | 0);\n }\n}\n\nexport function AdiOption$reflection() {\n return record_type(\"Domain.AdiOption\", [], AdiOption, () => [[\"Label\", string_type], [\"Id\", int32_type]]);\n}\n\nexport function AdiOption_get_none() {\n return new AdiOption(\"Geen\", 0);\n}\n\nexport class Quarter extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Q1\", \"Q2\", \"Q3\", \"Q4\", \"Custom\"];\n }\n}\n\nexport function Quarter$reflection() {\n return union_type(\"Domain.Quarter\", [], Quarter, () => [[], [], [], [], []]);\n}\n\nexport class AssignmentConfirmationResult extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AssignmentConfirmationGenerated\", \"AssignmentConfirmationNotGenerated\"];\n }\n}\n\nexport function AssignmentConfirmationResult$reflection() {\n return union_type(\"Domain.AssignmentConfirmationResult\", [], AssignmentConfirmationResult, () => [[[\"Item\", string_type]], [[\"Item\", string_type]]]);\n}\n\nexport class UpdateDossierResult extends Record {\n constructor(Id, Code, AssignmentConfirmationResult) {\n super();\n this.Id = Id;\n this.Code = Code;\n this.AssignmentConfirmationResult = AssignmentConfirmationResult;\n }\n}\n\nexport function UpdateDossierResult$reflection() {\n return record_type(\"Domain.UpdateDossierResult\", [], UpdateDossierResult, () => [[\"Id\", DossierId$reflection()], [\"Code\", DossierCode$reflection()], [\"AssignmentConfirmationResult\", AssignmentConfirmationResult$reflection()]]);\n}\n\n","import { Union, Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { Decimal___UnsafeCreate_32C73145, Compensation, NonEmptyString___UnsafeUnwrap_Z73AD07C, AdiRoleModule_string, PhoneNumber___UnsafeUnwrap_23E45174, HomeVisitContactModule_string, AsbestInventory, AsbestInventory$reflection, InspectionLocation$reflection, FilePath$reflection, PhoneNumber$reflection, DossierId$reflection, Address$reflection, PlaceDescriptionAppointment$reflection, InvoiceStatus$reflection, DossierComment$reflection, Email$reflection, AdiId$reflection, AppointmentStatus$reflection, QuoteStatus$reflection, QuoteCode$reflection, PartnerId$reflection, DossierStatus$reflection, DossierCode$reflection, CustomerCode$reflection, PartnerCode$reflection, QuoteDocumentUploadResult$reflection, Quote$reflection, NonEmptyString$reflection, Partner$reflection, AppointmentConfirmation$reflection, Appointment$reflection, LegalRepresentative$reflection, Customer2$reflection, Dossier$reflection } from \"./Domain.fs.js\";\nimport { int32_type, union_type, bool_type, string_type, list_type, record_type, option_type, class_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\nimport { ofArray } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/List.js\";\nimport { map, defaultArg } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Option.js\";\nimport { fromParts, equals } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Decimal.js\";\n\nexport class DossierDetails extends Record {\n constructor(Dossier, DossierCreationDate, Customer, LegalRepresentative, Appointment, AppointmentConfirmation, Partner, AdiFirstName, AdiLastName, InBehandelingAdiFirstName, InBehandelingAdiLastName, InvoicePaymentReceivedDate) {\n super();\n this.Dossier = Dossier;\n this.DossierCreationDate = DossierCreationDate;\n this.Customer = Customer;\n this.LegalRepresentative = LegalRepresentative;\n this.Appointment = Appointment;\n this.AppointmentConfirmation = AppointmentConfirmation;\n this.Partner = Partner;\n this.AdiFirstName = AdiFirstName;\n this.AdiLastName = AdiLastName;\n this.InBehandelingAdiFirstName = InBehandelingAdiFirstName;\n this.InBehandelingAdiLastName = InBehandelingAdiLastName;\n this.InvoicePaymentReceivedDate = InvoicePaymentReceivedDate;\n }\n}\n\nexport function DossierDetails$reflection() {\n return record_type(\"DomainHelpers.DossierDetails\", [], DossierDetails, () => [[\"Dossier\", Dossier$reflection()], [\"DossierCreationDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"Customer\", Customer2$reflection()], [\"LegalRepresentative\", option_type(LegalRepresentative$reflection())], [\"Appointment\", option_type(Appointment$reflection())], [\"AppointmentConfirmation\", option_type(AppointmentConfirmation$reflection())], [\"Partner\", option_type(Partner$reflection())], [\"AdiFirstName\", option_type(NonEmptyString$reflection())], [\"AdiLastName\", option_type(NonEmptyString$reflection())], [\"InBehandelingAdiFirstName\", option_type(NonEmptyString$reflection())], [\"InBehandelingAdiLastName\", option_type(NonEmptyString$reflection())], [\"InvoicePaymentReceivedDate\", option_type(class_type(\"System.DateTimeOffset\"))]]);\n}\n\nexport class QuoteDetails extends Record {\n constructor(Quote, Customer, LegalRepresentative, Partner, QuoteDocuments) {\n super();\n this.Quote = Quote;\n this.Customer = Customer;\n this.LegalRepresentative = LegalRepresentative;\n this.Partner = Partner;\n this.QuoteDocuments = QuoteDocuments;\n }\n}\n\nexport function QuoteDetails$reflection() {\n return record_type(\"DomainHelpers.QuoteDetails\", [], QuoteDetails, () => [[\"Quote\", Quote$reflection()], [\"Customer\", Customer2$reflection()], [\"LegalRepresentative\", option_type(LegalRepresentative$reflection())], [\"Partner\", option_type(Partner$reflection())], [\"QuoteDocuments\", list_type(QuoteDocumentUploadResult$reflection())]]);\n}\n\nexport class PartnerSearchTerms extends Record {\n constructor(PartnerCode, CompanyName, Address, PhoneNumber, Email, IsCibPartner, IsPartnerPortalActive) {\n super();\n this.PartnerCode = PartnerCode;\n this.CompanyName = CompanyName;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n this.IsCibPartner = IsCibPartner;\n this.IsPartnerPortalActive = IsPartnerPortalActive;\n }\n}\n\nexport function PartnerSearchTerms$reflection() {\n return record_type(\"DomainHelpers.PartnerSearchTerms\", [], PartnerSearchTerms, () => [[\"PartnerCode\", option_type(PartnerCode$reflection())], [\"CompanyName\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Email\", option_type(string_type)], [\"IsCibPartner\", option_type(bool_type)], [\"IsPartnerPortalActive\", option_type(bool_type)]]);\n}\n\nexport class CustomerSearchTerms extends Record {\n constructor(CustomerCode, Name, Address, PhoneNumber, Email) {\n super();\n this.CustomerCode = CustomerCode;\n this.Name = Name;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n }\n}\n\nexport function CustomerSearchTerms$reflection() {\n return record_type(\"DomainHelpers.CustomerSearchTerms\", [], CustomerSearchTerms, () => [[\"CustomerCode\", option_type(CustomerCode$reflection())], [\"Name\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Email\", option_type(string_type)]]);\n}\n\nexport class DossierSearchTerms extends Record {\n constructor(DossierCode, PartnerName, AdiName, CustomerName, Address, PhoneNumber, Status, StartDate, EndDate, FilterOutDossiersWithoutPartners, CibFilter, CustomerCode, PartnerPortal, Urgent, PartnerId, PartnerIdList) {\n super();\n this.DossierCode = DossierCode;\n this.PartnerName = PartnerName;\n this.AdiName = AdiName;\n this.CustomerName = CustomerName;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Status = Status;\n this.StartDate = StartDate;\n this.EndDate = EndDate;\n this.FilterOutDossiersWithoutPartners = FilterOutDossiersWithoutPartners;\n this.CibFilter = CibFilter;\n this.CustomerCode = CustomerCode;\n this.PartnerPortal = PartnerPortal;\n this.Urgent = Urgent;\n this.PartnerId = PartnerId;\n this.PartnerIdList = PartnerIdList;\n }\n}\n\nexport function DossierSearchTerms$reflection() {\n return record_type(\"DomainHelpers.DossierSearchTerms\", [], DossierSearchTerms, () => [[\"DossierCode\", option_type(DossierCode$reflection())], [\"PartnerName\", option_type(string_type)], [\"AdiName\", option_type(string_type)], [\"CustomerName\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Status\", list_type(DossierStatus$reflection())], [\"StartDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"EndDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"FilterOutDossiersWithoutPartners\", bool_type], [\"CibFilter\", option_type(bool_type)], [\"CustomerCode\", option_type(CustomerCode$reflection())], [\"PartnerPortal\", option_type(bool_type)], [\"Urgent\", option_type(bool_type)], [\"PartnerId\", option_type(PartnerId$reflection())], [\"PartnerIdList\", option_type(list_type(PartnerId$reflection()))]]);\n}\n\nexport class QuoteSearchTerms extends Record {\n constructor(QuoteCode, PartnerName, CustomerName, Address, PhoneNumber, Status, StartDate, EndDate, FilterOutDossiersWithoutPartners, CustomerCode, PartnerPortal, Urgent, PartnerId) {\n super();\n this.QuoteCode = QuoteCode;\n this.PartnerName = PartnerName;\n this.CustomerName = CustomerName;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Status = Status;\n this.StartDate = StartDate;\n this.EndDate = EndDate;\n this.FilterOutDossiersWithoutPartners = FilterOutDossiersWithoutPartners;\n this.CustomerCode = CustomerCode;\n this.PartnerPortal = PartnerPortal;\n this.Urgent = Urgent;\n this.PartnerId = PartnerId;\n }\n}\n\nexport function QuoteSearchTerms$reflection() {\n return record_type(\"DomainHelpers.QuoteSearchTerms\", [], QuoteSearchTerms, () => [[\"QuoteCode\", option_type(QuoteCode$reflection())], [\"PartnerName\", option_type(string_type)], [\"CustomerName\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Status\", list_type(QuoteStatus$reflection())], [\"StartDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"EndDate\", option_type(class_type(\"System.DateTimeOffset\"))], [\"FilterOutDossiersWithoutPartners\", bool_type], [\"CustomerCode\", option_type(CustomerCode$reflection())], [\"PartnerPortal\", option_type(bool_type)], [\"Urgent\", option_type(bool_type)], [\"PartnerId\", option_type(PartnerId$reflection())]]);\n}\n\nexport class AppointmentSearchTerms extends Record {\n constructor(Status, AssignmentConfirmationUploaded, SamplesUploaded, DossierCode, AdiNaam, CustomerName, Address, PhoneNumber) {\n super();\n this.Status = Status;\n this.AssignmentConfirmationUploaded = AssignmentConfirmationUploaded;\n this.SamplesUploaded = SamplesUploaded;\n this.DossierCode = DossierCode;\n this.AdiNaam = AdiNaam;\n this.CustomerName = CustomerName;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n }\n}\n\nexport function AppointmentSearchTerms$reflection() {\n return record_type(\"DomainHelpers.AppointmentSearchTerms\", [], AppointmentSearchTerms, () => [[\"Status\", list_type(AppointmentStatus$reflection())], [\"AssignmentConfirmationUploaded\", option_type(bool_type)], [\"SamplesUploaded\", option_type(bool_type)], [\"DossierCode\", option_type(DossierCode$reflection())], [\"AdiNaam\", option_type(string_type)], [\"CustomerName\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)]]);\n}\n\nexport class AttestenFinaliserenSortFields extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PaymentReceivedDate\"];\n }\n}\n\nexport function AttestenFinaliserenSortFields$reflection() {\n return union_type(\"DomainHelpers.AttestenFinaliserenSortFields\", [], AttestenFinaliserenSortFields, () => [[]]);\n}\n\nexport class AttestenFinaliserenSearchTerms extends Record {\n constructor(DossierCode, Name, Address, PhoneNumber, Email) {\n super();\n this.DossierCode = DossierCode;\n this.Name = Name;\n this.Address = Address;\n this.PhoneNumber = PhoneNumber;\n this.Email = Email;\n }\n}\n\nexport function AttestenFinaliserenSearchTerms$reflection() {\n return record_type(\"DomainHelpers.AttestenFinaliserenSearchTerms\", [], AttestenFinaliserenSearchTerms, () => [[\"DossierCode\", option_type(DossierCode$reflection())], [\"Name\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"PhoneNumber\", option_type(string_type)], [\"Email\", option_type(string_type)]]);\n}\n\nexport class AppointmentDetails extends Record {\n constructor(Customer, AdiId, AdiEmail, AdiFirstName, AdiLastName, AdiPersonIdOvam, Appointment, Dossier, AppointmentConfirmation, Comments, InvoiceStatus) {\n super();\n this.Customer = Customer;\n this.AdiId = AdiId;\n this.AdiEmail = AdiEmail;\n this.AdiFirstName = AdiFirstName;\n this.AdiLastName = AdiLastName;\n this.AdiPersonIdOvam = AdiPersonIdOvam;\n this.Appointment = Appointment;\n this.Dossier = Dossier;\n this.AppointmentConfirmation = AppointmentConfirmation;\n this.Comments = Comments;\n this.InvoiceStatus = InvoiceStatus;\n }\n}\n\nexport function AppointmentDetails$reflection() {\n return record_type(\"DomainHelpers.AppointmentDetails\", [], AppointmentDetails, () => [[\"Customer\", Customer2$reflection()], [\"AdiId\", AdiId$reflection()], [\"AdiEmail\", Email$reflection()], [\"AdiFirstName\", NonEmptyString$reflection()], [\"AdiLastName\", NonEmptyString$reflection()], [\"AdiPersonIdOvam\", NonEmptyString$reflection()], [\"Appointment\", Appointment$reflection()], [\"Dossier\", Dossier$reflection()], [\"AppointmentConfirmation\", option_type(AppointmentConfirmation$reflection())], [\"Comments\", list_type(DossierComment$reflection())], [\"InvoiceStatus\", option_type(InvoiceStatus$reflection())]]);\n}\n\nexport class PlaceDescriptionAppointmentDetails extends Record {\n constructor(AdiId, AdiEmail, AdiFirstName, AdiLastName, AdiPersonIdOvam, Appointment) {\n super();\n this.AdiId = AdiId;\n this.AdiEmail = AdiEmail;\n this.AdiFirstName = AdiFirstName;\n this.AdiLastName = AdiLastName;\n this.AdiPersonIdOvam = AdiPersonIdOvam;\n this.Appointment = Appointment;\n }\n}\n\nexport function PlaceDescriptionAppointmentDetails$reflection() {\n return record_type(\"DomainHelpers.PlaceDescriptionAppointmentDetails\", [], PlaceDescriptionAppointmentDetails, () => [[\"AdiId\", AdiId$reflection()], [\"AdiEmail\", Email$reflection()], [\"AdiFirstName\", NonEmptyString$reflection()], [\"AdiLastName\", NonEmptyString$reflection()], [\"AdiPersonIdOvam\", NonEmptyString$reflection()], [\"Appointment\", PlaceDescriptionAppointment$reflection()]]);\n}\n\nexport class AppointmentAndPlaceDescriptionDetails extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"AppointmentDetails\", \"PlaceDescriptionAppointmentDetails\"];\n }\n}\n\nexport function AppointmentAndPlaceDescriptionDetails$reflection() {\n return union_type(\"DomainHelpers.AppointmentAndPlaceDescriptionDetails\", [], AppointmentAndPlaceDescriptionDetails, () => [[[\"Item\", AppointmentDetails$reflection()]], [[\"Item\", PlaceDescriptionAppointmentDetails$reflection()]]]);\n}\n\nexport class FinalCertificate extends Record {\n constructor(CustomerName, AppointmentAddress, DossierId, DossierCode, CustomerPhoneNumber, AppointmentStartDate, AppointmentEndDate, AssignmentConfirmationPhysicallySigned, PartnerId, InspectionLocation, PaymentReceivedDate) {\n super();\n this.CustomerName = CustomerName;\n this.AppointmentAddress = AppointmentAddress;\n this.DossierId = DossierId;\n this.DossierCode = DossierCode;\n this.CustomerPhoneNumber = CustomerPhoneNumber;\n this.AppointmentStartDate = AppointmentStartDate;\n this.AppointmentEndDate = AppointmentEndDate;\n this.AssignmentConfirmationPhysicallySigned = AssignmentConfirmationPhysicallySigned;\n this.PartnerId = PartnerId;\n this.InspectionLocation = InspectionLocation;\n this.PaymentReceivedDate = PaymentReceivedDate;\n }\n}\n\nexport function FinalCertificate$reflection() {\n return record_type(\"DomainHelpers.FinalCertificate\", [], FinalCertificate, () => [[\"CustomerName\", NonEmptyString$reflection()], [\"AppointmentAddress\", Address$reflection()], [\"DossierId\", DossierId$reflection()], [\"DossierCode\", DossierCode$reflection()], [\"CustomerPhoneNumber\", option_type(PhoneNumber$reflection())], [\"AppointmentStartDate\", class_type(\"System.DateTimeOffset\")], [\"AppointmentEndDate\", class_type(\"System.DateTimeOffset\")], [\"AssignmentConfirmationPhysicallySigned\", option_type(FilePath$reflection())], [\"PartnerId\", option_type(PartnerId$reflection())], [\"InspectionLocation\", option_type(InspectionLocation$reflection())], [\"PaymentReceivedDate\", option_type(class_type(\"System.DateTimeOffset\"))]]);\n}\n\nexport class DashboardStatType extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DossiersStartedButNotYetDigitallySignedCount\", \"DossiersDigitallySignedButNoAppointmentCount\", \"AppointmentsBookedDossiersCount\", \"ConfirmedAppointmentsWithNoAssignmentUploadAndNoMonstersUpload\", \"ConfirmedAppointmentsWithAssignmentUploadButNoMonstersUpload\", \"ConfirmedAppointmentsWithNoAssignmentUploadButHasMonstersUpload\", \"DossiersWithStatusPaidCount\", \"DossiersWithStatusCompletedCount\", \"AdisFinalizedDossiersAmount\"];\n }\n}\n\nexport function DashboardStatType$reflection() {\n return union_type(\"DomainHelpers.DashboardStatType\", [], DashboardStatType, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nexport class DashboardStatsCount extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DashboardStatOk\", \"DashboardStatError\"];\n }\n}\n\nexport function DashboardStatsCount$reflection() {\n return union_type(\"DomainHelpers.DashboardStatsCount\", [], DashboardStatsCount, () => [[[\"Item\", int32_type]], [[\"Item\", string_type]]]);\n}\n\nexport class AdiInfo extends Record {\n constructor(Id, Email, Name) {\n super();\n this.Id = Id;\n this.Email = Email;\n this.Name = Name;\n }\n}\n\nexport function AdiInfo$reflection() {\n return record_type(\"DomainHelpers.AdiInfo\", [], AdiInfo, () => [[\"Id\", AdiId$reflection()], [\"Email\", Email$reflection()], [\"Name\", NonEmptyString$reflection()]]);\n}\n\nexport class DashboardStatsAdiList extends Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"DashboardStatOk\", \"DashboardStatError\"];\n }\n}\n\nexport function DashboardStatsAdiList$reflection() {\n return union_type(\"DomainHelpers.DashboardStatsAdiList\", [], DashboardStatsAdiList, () => [[[\"Item\", class_type(\"Microsoft.FSharp.Collections.FSharpMap`2\", [AdiInfo$reflection(), int32_type])]], [[\"Item\", string_type]]]);\n}\n\nexport class DashboardStat extends Record {\n constructor(DashboardStatType, DashboardStat) {\n super();\n this.DashboardStatType = DashboardStatType;\n this.DashboardStat = DashboardStat;\n }\n}\n\nexport function DashboardStat$reflection() {\n return record_type(\"DomainHelpers.DashboardStat\", [], DashboardStat, () => [[\"DashboardStatType\", DashboardStatType$reflection()], [\"DashboardStat\", DashboardStatsCount$reflection()]]);\n}\n\nexport class Dashboard extends Record {\n constructor(DossiersStartedButNotYetDigitallySignedCount, DossiersDigitallySignedButNoAppointmentCount, AppointmentsBookedDossiersCount, ConfirmedAppointmentsWithNoAssignmentUploadAndNoMonstersUpload, ConfirmedAppointmentsWithAssignmentUploadButNoMonstersUpload, ConfirmedAppointmentsWithNoAssignmentUploadButHasMonstersUpload, DossiersWithStatusPaidCount, DossiersWithStatusCompletedCount) {\n super();\n this.DossiersStartedButNotYetDigitallySignedCount = DossiersStartedButNotYetDigitallySignedCount;\n this.DossiersDigitallySignedButNoAppointmentCount = DossiersDigitallySignedButNoAppointmentCount;\n this.AppointmentsBookedDossiersCount = AppointmentsBookedDossiersCount;\n this.ConfirmedAppointmentsWithNoAssignmentUploadAndNoMonstersUpload = ConfirmedAppointmentsWithNoAssignmentUploadAndNoMonstersUpload;\n this.ConfirmedAppointmentsWithAssignmentUploadButNoMonstersUpload = ConfirmedAppointmentsWithAssignmentUploadButNoMonstersUpload;\n this.ConfirmedAppointmentsWithNoAssignmentUploadButHasMonstersUpload = ConfirmedAppointmentsWithNoAssignmentUploadButHasMonstersUpload;\n this.DossiersWithStatusPaidCount = DossiersWithStatusPaidCount;\n this.DossiersWithStatusCompletedCount = DossiersWithStatusCompletedCount;\n }\n}\n\nexport function Dashboard$reflection() {\n return record_type(\"DomainHelpers.Dashboard\", [], Dashboard, () => [[\"DossiersStartedButNotYetDigitallySignedCount\", DashboardStatsCount$reflection()], [\"DossiersDigitallySignedButNoAppointmentCount\", DashboardStatsCount$reflection()], [\"AppointmentsBookedDossiersCount\", DashboardStatsCount$reflection()], [\"ConfirmedAppointmentsWithNoAssignmentUploadAndNoMonstersUpload\", DashboardStatsCount$reflection()], [\"ConfirmedAppointmentsWithAssignmentUploadButNoMonstersUpload\", DashboardStatsCount$reflection()], [\"ConfirmedAppointmentsWithNoAssignmentUploadButHasMonstersUpload\", DashboardStatsCount$reflection()], [\"DossiersWithStatusPaidCount\", DashboardStatsCount$reflection()], [\"DossiersWithStatusCompletedCount\", DashboardStatsCount$reflection()]]);\n}\n\nexport class AdiListSearchTerms extends Record {\n constructor(Name, Address, Telephone, Email, ActiveStatus) {\n super();\n this.Name = Name;\n this.Address = Address;\n this.Telephone = Telephone;\n this.Email = Email;\n this.ActiveStatus = ActiveStatus;\n }\n}\n\nexport function AdiListSearchTerms$reflection() {\n return record_type(\"DomainHelpers.AdiListSearchTerms\", [], AdiListSearchTerms, () => [[\"Name\", option_type(string_type)], [\"Address\", option_type(string_type)], [\"Telephone\", option_type(string_type)], [\"Email\", option_type(string_type)], [\"ActiveStatus\", option_type(bool_type)]]);\n}\n\nexport class AsbestInventoryProfile extends Record {\n constructor(Allowed) {\n super();\n this.Allowed = Allowed;\n }\n}\n\nexport function AsbestInventoryProfile$reflection() {\n return record_type(\"DomainHelpers.AsbestInventoryProfile\", [], AsbestInventoryProfile, () => [[\"Allowed\", class_type(\"Microsoft.FSharp.Collections.FSharpSet`1\", [AsbestInventory$reflection()])]]);\n}\n\nexport function AsbestInventoryProfile_get_defaultInventory() {\n return ofArray([new AsbestInventory(0), new AsbestInventory(1), new AsbestInventory(2), new AsbestInventory(3), new AsbestInventory(4), new AsbestInventory(5), new AsbestInventory(6), new AsbestInventory(7), new AsbestInventory(8)]);\n}\n\nexport function Dossier_contact(dossier, partner) {\n const partner_1 = defaultArg(map((p) => p.CompanyName.Value, partner), \"\");\n const matchValue = dossier.HomeVisitContact;\n switch (matchValue.tag) {\n case 1: {\n return partner_1;\n }\n case 0:\n case 2:\n case 3: {\n return HomeVisitContactModule_string(dossier.HomeVisitContact);\n }\n default: {\n return partner_1;\n }\n }\n}\n\nexport function Dossier_contactPhoneNumber(dossier, partner) {\n const matchValue = dossier.HomeVisitContact;\n switch (matchValue.tag) {\n case 1: {\n return defaultArg(map((p) => p.PhoneNumber.Value, partner), \"\");\n }\n case 0: {\n return defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, dossier.Owner_PhoneNumber), \"\");\n }\n case 2:\n case 3: {\n return defaultArg(dossier.HomeVisitContactEmail, \"\");\n }\n default: {\n return defaultArg(map((p) => p.PhoneNumber.Value, partner), \"\");\n }\n }\n}\n\nexport function Quote_contact(quote, partner) {\n const partner_1 = defaultArg(map((p) => p.CompanyName.Value, partner), \"\");\n const matchValue = quote.HomeVisitContact;\n if (matchValue == null) {\n return \"\";\n }\n else {\n const homeVisitContact = matchValue;\n switch (homeVisitContact.tag) {\n case 1: {\n return partner_1;\n }\n case 0:\n case 2:\n case 3: {\n return HomeVisitContactModule_string(homeVisitContact);\n }\n default: {\n return partner_1;\n }\n }\n }\n}\n\nexport function Quote_contactPhoneNumber(quote, partner) {\n const matchValue = quote.HomeVisitContact;\n if (matchValue == null) {\n return \"\";\n }\n else {\n const homeVisitContact = matchValue;\n switch (homeVisitContact.tag) {\n case 1: {\n return defaultArg(map((p) => p.PhoneNumber.Value, partner), \"\");\n }\n case 0: {\n return defaultArg(map(PhoneNumber___UnsafeUnwrap_23E45174, quote.Owner_PhoneNumber), \"\");\n }\n case 2:\n case 3: {\n return defaultArg(quote.HomeVisitContactEmail, \"\");\n }\n default: {\n return defaultArg(map((p) => p.PhoneNumber.Value, partner), \"\");\n }\n }\n }\n}\n\nexport function Adi_nameAndRole(adi) {\n let role_2;\n const matchValue = adi.Role;\n if (matchValue == null) {\n role_2 = \"\";\n }\n else {\n const role = matchValue;\n role_2 = (` (${AdiRoleModule_string(role)})`);\n }\n return `${NonEmptyString___UnsafeUnwrap_Z73AD07C(adi.FirstName)} ${NonEmptyString___UnsafeUnwrap_Z73AD07C(adi.LastName)}${role_2}`;\n}\n\nexport function Compensation_toDomain(dbo) {\n return map((o) => {\n if (equals(o, fromParts(0, 0, 0, false, 0))) {\n return new Compensation(0);\n }\n else if (equals(o, fromParts(10, 0, 0, false, 0))) {\n return new Compensation(1);\n }\n else if (equals(o, fromParts(20, 0, 0, false, 0))) {\n return new Compensation(2);\n }\n else if (equals(o, fromParts(30, 0, 0, false, 0))) {\n return new Compensation(3);\n }\n else if (equals(o, fromParts(40, 0, 0, false, 0))) {\n return new Compensation(4);\n }\n else if (equals(o, fromParts(50, 0, 0, false, 0))) {\n return new Compensation(5);\n }\n else if (equals(o, fromParts(60, 0, 0, false, 0))) {\n return new Compensation(6);\n }\n else if (equals(o, fromParts(70, 0, 0, false, 0))) {\n return new Compensation(7);\n }\n else if (equals(o, fromParts(80, 0, 0, false, 0))) {\n return new Compensation(8);\n }\n else if (equals(o, fromParts(90, 0, 0, false, 0))) {\n return new Compensation(9);\n }\n else if (equals(o, fromParts(100, 0, 0, false, 0))) {\n return new Compensation(10);\n }\n else {\n return new Compensation(11, Decimal___UnsafeCreate_32C73145(o));\n }\n }, dbo);\n}\n\nexport function Compensation_fromDomain(dbo) {\n switch (dbo.tag) {\n case 1: {\n return fromParts(10, 0, 0, false, 0);\n }\n case 2: {\n return fromParts(20, 0, 0, false, 0);\n }\n case 3: {\n return fromParts(30, 0, 0, false, 0);\n }\n case 4: {\n return fromParts(40, 0, 0, false, 0);\n }\n case 5: {\n return fromParts(50, 0, 0, false, 0);\n }\n case 6: {\n return fromParts(60, 0, 0, false, 0);\n }\n case 7: {\n return fromParts(70, 0, 0, false, 0);\n }\n case 8: {\n return fromParts(80, 0, 0, false, 0);\n }\n case 9: {\n return fromParts(90, 0, 0, false, 0);\n }\n case 10: {\n return fromParts(100, 0, 0, false, 0);\n }\n case 11: {\n return dbo.fields[0].Value;\n }\n default: {\n return fromParts(0, 0, 0, false, 0);\n }\n }\n}\n\n","import { Record } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Types.js\";\nimport { list_type, record_type, int32_type } from \"../partnerportal/src/fable_modules/fable-library.3.7.17/Reflection.js\";\n\nexport class PagingQuery extends Record {\n constructor(PageNumber, PageSize) {\n super();\n this.PageNumber = (PageNumber | 0);\n this.PageSize = (PageSize | 0);\n }\n}\n\nexport function PagingQuery$reflection() {\n return record_type(\"Paging.PagingQuery\", [], PagingQuery, () => [[\"PageNumber\", int32_type], [\"PageSize\", int32_type]]);\n}\n\nexport class PagingResult$1 extends Record {\n constructor(Data, TotalPages) {\n super();\n this.Data = Data;\n this.TotalPages = (TotalPages | 0);\n }\n}\n\nexport function PagingResult$1$reflection(gen0) {\n return record_type(\"Paging.PagingResult`1\", [gen0], PagingResult$1, () => [[\"Data\", list_type(gen0)], [\"TotalPages\", int32_type]]);\n}\n\nexport function map(mapper, result) {\n return new PagingResult$1(mapper(result.Data), result.TotalPages);\n}\n\n","import { value as value_2, map as map_1, defaultArg, some } from \"./Option.js\";\r\nimport { min as min_1, disposeSafe, getEnumerator, comparePrimitives, max as max_1 } from \"./Util.js\";\r\nimport { SR_indexOutOfBounds } from \"./Global.js\";\r\n\r\nexport function Helpers_allocateArrayFromCons(cons, len) {\r\n if ((typeof cons) === \"function\") {\r\n return new cons(len);\r\n }\r\n else {\r\n return new Array(len);\r\n }\r\n}\r\n\r\nfunction indexNotFound() {\r\n throw (new Error(\"An index satisfying the predicate was not found in the collection.\"));\r\n}\r\n\r\nfunction differentLengths() {\r\n throw (new Error(\"Arrays had different lengths\"));\r\n}\r\n\r\nexport function append(array1, array2, cons) {\r\n const len1 = array1.length | 0;\r\n const len2 = array2.length | 0;\r\n const newArray = Helpers_allocateArrayFromCons(cons, len1 + len2);\r\n for (let i = 0; i <= (len1 - 1); i++) {\r\n newArray[i] = array1[i];\r\n }\r\n for (let i_1 = 0; i_1 <= (len2 - 1); i_1++) {\r\n newArray[i_1 + len1] = array2[i_1];\r\n }\r\n return newArray;\r\n}\r\n\r\nexport function filter(predicate, array) {\r\n return array.filter(predicate);\r\n}\r\n\r\nexport function fill(target, targetIndex, count, value) {\r\n const start = targetIndex | 0;\r\n return target.fill(value, start, (start + count));\r\n}\r\n\r\nexport function getSubArray(array, start, count) {\r\n const start_1 = start | 0;\r\n return array.slice(start_1, (start_1 + count));\r\n}\r\n\r\nexport function last(array) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\\\\nParameter name: array\"));\r\n }\r\n return array[array.length - 1];\r\n}\r\n\r\nexport function tryLast(array) {\r\n if (array.length === 0) {\r\n return void 0;\r\n }\r\n else {\r\n return some(array[array.length - 1]);\r\n }\r\n}\r\n\r\nexport function mapIndexed(f, source, cons) {\r\n const len = source.length | 0;\r\n const target = Helpers_allocateArrayFromCons(cons, len);\r\n for (let i = 0; i <= (len - 1); i++) {\r\n target[i] = f(i, source[i]);\r\n }\r\n return target;\r\n}\r\n\r\nexport function map(f, source, cons) {\r\n const len = source.length | 0;\r\n const target = Helpers_allocateArrayFromCons(cons, len);\r\n for (let i = 0; i <= (len - 1); i++) {\r\n target[i] = f(source[i]);\r\n }\r\n return target;\r\n}\r\n\r\nexport function mapIndexed2(f, source1, source2, cons) {\r\n if (source1.length !== source2.length) {\r\n throw (new Error(\"Arrays had different lengths\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, source1.length);\r\n for (let i = 0; i <= (source1.length - 1); i++) {\r\n result[i] = f(i, source1[i], source2[i]);\r\n }\r\n return result;\r\n}\r\n\r\nexport function map2(f, source1, source2, cons) {\r\n if (source1.length !== source2.length) {\r\n throw (new Error(\"Arrays had different lengths\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, source1.length);\r\n for (let i = 0; i <= (source1.length - 1); i++) {\r\n result[i] = f(source1[i], source2[i]);\r\n }\r\n return result;\r\n}\r\n\r\nexport function mapIndexed3(f, source1, source2, source3, cons) {\r\n if ((source1.length !== source2.length) ? true : (source2.length !== source3.length)) {\r\n throw (new Error(\"Arrays had different lengths\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, source1.length);\r\n for (let i = 0; i <= (source1.length - 1); i++) {\r\n result[i] = f(i, source1[i], source2[i], source3[i]);\r\n }\r\n return result;\r\n}\r\n\r\nexport function map3(f, source1, source2, source3, cons) {\r\n if ((source1.length !== source2.length) ? true : (source2.length !== source3.length)) {\r\n throw (new Error(\"Arrays had different lengths\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, source1.length);\r\n for (let i = 0; i <= (source1.length - 1); i++) {\r\n result[i] = f(source1[i], source2[i], source3[i]);\r\n }\r\n return result;\r\n}\r\n\r\nexport function mapFold(mapping, state, array, cons) {\r\n const matchValue = array.length | 0;\r\n if (matchValue === 0) {\r\n return [[], state];\r\n }\r\n else {\r\n let acc = state;\r\n const res = Helpers_allocateArrayFromCons(cons, matchValue);\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n const patternInput = mapping(acc, array[i]);\r\n res[i] = patternInput[0];\r\n acc = patternInput[1];\r\n }\r\n return [res, acc];\r\n }\r\n}\r\n\r\nexport function mapFoldBack(mapping, array, state, cons) {\r\n const matchValue = array.length | 0;\r\n if (matchValue === 0) {\r\n return [[], state];\r\n }\r\n else {\r\n let acc = state;\r\n const res = Helpers_allocateArrayFromCons(cons, matchValue);\r\n for (let i = array.length - 1; i >= 0; i--) {\r\n const patternInput = mapping(array[i], acc);\r\n res[i] = patternInput[0];\r\n acc = patternInput[1];\r\n }\r\n return [res, acc];\r\n }\r\n}\r\n\r\nexport function indexed(source) {\r\n const len = source.length | 0;\r\n const target = new Array(len);\r\n for (let i = 0; i <= (len - 1); i++) {\r\n target[i] = [i, source[i]];\r\n }\r\n return target;\r\n}\r\n\r\nexport function truncate(count, array) {\r\n const count_1 = max_1(comparePrimitives, 0, count) | 0;\r\n const start = 0;\r\n return array.slice(start, (start + count_1));\r\n}\r\n\r\nexport function concat(arrays, cons) {\r\n const arrays_1 = Array.isArray(arrays) ? arrays : (Array.from(arrays));\r\n const matchValue = arrays_1.length | 0;\r\n switch (matchValue) {\r\n case 0: {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n }\r\n case 1: {\r\n return arrays_1[0];\r\n }\r\n default: {\r\n let totalIdx = 0;\r\n let totalLength = 0;\r\n for (let idx = 0; idx <= (arrays_1.length - 1); idx++) {\r\n const arr_1 = arrays_1[idx];\r\n totalLength = ((totalLength + arr_1.length) | 0);\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, totalLength);\r\n for (let idx_1 = 0; idx_1 <= (arrays_1.length - 1); idx_1++) {\r\n const arr_2 = arrays_1[idx_1];\r\n for (let j = 0; j <= (arr_2.length - 1); j++) {\r\n result[totalIdx] = arr_2[j];\r\n totalIdx = ((totalIdx + 1) | 0);\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nexport function collect(mapping, array, cons) {\r\n return concat(map(mapping, array, null), cons);\r\n}\r\n\r\nexport function where(predicate, array) {\r\n return array.filter(predicate);\r\n}\r\n\r\nexport function indexOf(array, item_1, start, count, eq) {\r\n const start_1 = defaultArg(start, 0) | 0;\r\n const end$0027 = defaultArg(map_1((c) => (start_1 + c), count), array.length) | 0;\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i >= end$0027) {\r\n return -1;\r\n }\r\n else if (eq.Equals(item_1, array[i])) {\r\n return i | 0;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(start_1) | 0;\r\n}\r\n\r\nexport function contains(value, array, eq) {\r\n return indexOf(array, value, void 0, void 0, eq) >= 0;\r\n}\r\n\r\nexport function empty(cons) {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n}\r\n\r\nexport function singleton(value, cons) {\r\n const ar = Helpers_allocateArrayFromCons(cons, 1);\r\n ar[0] = value;\r\n return ar;\r\n}\r\n\r\nexport function initialize(count, initializer, cons) {\r\n if (count < 0) {\r\n throw (new Error(\"The input must be non-negative\\\\nParameter name: count\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, count);\r\n for (let i = 0; i <= (count - 1); i++) {\r\n result[i] = initializer(i);\r\n }\r\n return result;\r\n}\r\n\r\nexport function pairwise(array) {\r\n if (array.length < 2) {\r\n return [];\r\n }\r\n else {\r\n const count = (array.length - 1) | 0;\r\n const result = new Array(count);\r\n for (let i = 0; i <= (count - 1); i++) {\r\n result[i] = [array[i], array[i + 1]];\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function replicate(count, initial, cons) {\r\n if (count < 0) {\r\n throw (new Error(\"The input must be non-negative\\\\nParameter name: count\"));\r\n }\r\n const result = Helpers_allocateArrayFromCons(cons, count);\r\n for (let i = 0; i <= (result.length - 1); i++) {\r\n result[i] = initial;\r\n }\r\n return result;\r\n}\r\n\r\nexport function copy(array) {\r\n return array.slice();\r\n}\r\n\r\nexport function reverse(array) {\r\n const array_2 = array.slice();\r\n return array_2.reverse();\r\n}\r\n\r\nexport function scan(folder, state, array, cons) {\r\n const res = Helpers_allocateArrayFromCons(cons, array.length + 1);\r\n res[0] = state;\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n res[i + 1] = folder(res[i], array[i]);\r\n }\r\n return res;\r\n}\r\n\r\nexport function scanBack(folder, array, state, cons) {\r\n const res = Helpers_allocateArrayFromCons(cons, array.length + 1);\r\n res[array.length] = state;\r\n for (let i = array.length - 1; i >= 0; i--) {\r\n res[i] = folder(array[i], res[i + 1]);\r\n }\r\n return res;\r\n}\r\n\r\nexport function skip(count, array, cons) {\r\n if (count > array.length) {\r\n throw (new Error(\"count is greater than array length\\\\nParameter name: count\"));\r\n }\r\n if (count === array.length) {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n }\r\n else {\r\n const count_1 = ((count < 0) ? 0 : count) | 0;\r\n return array.slice(count_1);\r\n }\r\n}\r\n\r\nexport function skipWhile(predicate, array, cons) {\r\n let count = 0;\r\n while ((count < array.length) && predicate(array[count])) {\r\n count = ((count + 1) | 0);\r\n }\r\n if (count === array.length) {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n }\r\n else {\r\n const count_1 = count | 0;\r\n return array.slice(count_1);\r\n }\r\n}\r\n\r\nexport function take(count, array, cons) {\r\n if (count < 0) {\r\n throw (new Error(\"The input must be non-negative\\\\nParameter name: count\"));\r\n }\r\n if (count > array.length) {\r\n throw (new Error(\"count is greater than array length\\\\nParameter name: count\"));\r\n }\r\n if (count === 0) {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n }\r\n else {\r\n const start = 0;\r\n return array.slice(start, (start + count));\r\n }\r\n}\r\n\r\nexport function takeWhile(predicate, array, cons) {\r\n let count = 0;\r\n while ((count < array.length) && predicate(array[count])) {\r\n count = ((count + 1) | 0);\r\n }\r\n if (count === 0) {\r\n return Helpers_allocateArrayFromCons(cons, 0);\r\n }\r\n else {\r\n const start = 0;\r\n const count_1 = count | 0;\r\n return array.slice(start, (start + count_1));\r\n }\r\n}\r\n\r\nexport function addInPlace(x, array) {\r\n array.push(x);\r\n}\r\n\r\nexport function addRangeInPlace(range, array) {\r\n const enumerator = getEnumerator(range);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n addInPlace(enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"](), array);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n}\r\n\r\nexport function insertRangeInPlace(index, range, array) {\r\n let index_1;\r\n let i = index;\r\n const enumerator = getEnumerator(range);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const x = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n (index_1 = (i | 0), array.splice(index_1, 0, x));\r\n i = ((i + 1) | 0);\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n}\r\n\r\nexport function removeInPlace(item_1, array, eq) {\r\n const i = indexOf(array, item_1, void 0, void 0, eq) | 0;\r\n if (i > -1) {\r\n array.splice(i, 1);\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function removeAllInPlace(predicate, array) {\r\n const countRemoveAll = (count) => {\r\n const i = (array.findIndex(predicate)) | 0;\r\n if (i > -1) {\r\n array.splice(i, 1);\r\n return (countRemoveAll(count) + 1) | 0;\r\n }\r\n else {\r\n return count | 0;\r\n }\r\n };\r\n return countRemoveAll(0) | 0;\r\n}\r\n\r\nexport function copyTo(source, sourceIndex, target, targetIndex, count) {\r\n const diff = (targetIndex - sourceIndex) | 0;\r\n for (let i = sourceIndex; i <= ((sourceIndex + count) - 1); i++) {\r\n target[i + diff] = source[i];\r\n }\r\n}\r\n\r\nexport function copyToTypedArray(source, sourceIndex, target, targetIndex, count) {\r\n try {\r\n target.set(source.subarray(sourceIndex, sourceIndex + count), targetIndex);\r\n }\r\n catch (matchValue) {\r\n copyTo(source, sourceIndex, target, targetIndex, count);\r\n }\r\n}\r\n\r\nexport function partition(f, source, cons) {\r\n const len = source.length | 0;\r\n const res1 = Helpers_allocateArrayFromCons(cons, len);\r\n const res2 = Helpers_allocateArrayFromCons(cons, len);\r\n let iTrue = 0;\r\n let iFalse = 0;\r\n for (let i = 0; i <= (len - 1); i++) {\r\n if (f(source[i])) {\r\n res1[iTrue] = source[i];\r\n iTrue = ((iTrue + 1) | 0);\r\n }\r\n else {\r\n res2[iFalse] = source[i];\r\n iFalse = ((iFalse + 1) | 0);\r\n }\r\n }\r\n return [truncate(iTrue, res1), truncate(iFalse, res2)];\r\n}\r\n\r\nexport function find(predicate, array) {\r\n const matchValue = array.find(predicate);\r\n if (matchValue == null) {\r\n return indexNotFound();\r\n }\r\n else {\r\n return value_2(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFind(predicate, array) {\r\n return array.find(predicate);\r\n}\r\n\r\nexport function findIndex(predicate, array) {\r\n const matchValue = (array.findIndex(predicate)) | 0;\r\n if (matchValue > -1) {\r\n return matchValue | 0;\r\n }\r\n else {\r\n return indexNotFound() | 0;\r\n }\r\n}\r\n\r\nexport function tryFindIndex(predicate, array) {\r\n const matchValue = (array.findIndex(predicate)) | 0;\r\n if (matchValue > -1) {\r\n return matchValue;\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function pick(chooser, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i >= array.length) {\r\n return indexNotFound();\r\n }\r\n else {\r\n const matchValue = chooser(array[i]);\r\n if (matchValue != null) {\r\n return value_2(matchValue);\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n continue loop;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0);\r\n}\r\n\r\nexport function tryPick(chooser, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i >= array.length) {\r\n return void 0;\r\n }\r\n else {\r\n const matchValue = chooser(array[i]);\r\n if (matchValue == null) {\r\n i_mut = (i + 1);\r\n continue loop;\r\n }\r\n else {\r\n return matchValue;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0);\r\n}\r\n\r\nexport function findBack(predicate, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i < 0) {\r\n return indexNotFound();\r\n }\r\n else if (predicate(array[i])) {\r\n return array[i];\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(array.length - 1);\r\n}\r\n\r\nexport function tryFindBack(predicate, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i < 0) {\r\n return void 0;\r\n }\r\n else if (predicate(array[i])) {\r\n return some(array[i]);\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(array.length - 1);\r\n}\r\n\r\nexport function findLastIndex(predicate, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i < 0) {\r\n return -1;\r\n }\r\n else if (predicate(array[i])) {\r\n return i | 0;\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(array.length - 1) | 0;\r\n}\r\n\r\nexport function findIndexBack(predicate, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i < 0) {\r\n return indexNotFound() | 0;\r\n }\r\n else if (predicate(array[i])) {\r\n return i | 0;\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(array.length - 1) | 0;\r\n}\r\n\r\nexport function tryFindIndexBack(predicate, array) {\r\n const loop = (i_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut;\r\n if (i < 0) {\r\n return void 0;\r\n }\r\n else if (predicate(array[i])) {\r\n return i;\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(array.length - 1);\r\n}\r\n\r\nexport function choose(chooser, array, cons) {\r\n const res = [];\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n const matchValue = chooser(array[i]);\r\n if (matchValue != null) {\r\n const y = value_2(matchValue);\r\n res.push(y);\r\n }\r\n }\r\n if ((typeof cons) === \"function\") {\r\n return map((x) => x, res, cons);\r\n }\r\n else {\r\n return res;\r\n }\r\n}\r\n\r\nexport function foldIndexed(folder, state, array) {\r\n return array.reduce(((delegateArg, delegateArg_1, delegateArg_2) => folder(delegateArg_2, delegateArg, delegateArg_1)), state);\r\n}\r\n\r\nexport function fold(folder, state, array) {\r\n return array.reduce((folder), state);\r\n}\r\n\r\nexport function iterate(action, array) {\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n action(array[i]);\r\n }\r\n}\r\n\r\nexport function iterateIndexed(action, array) {\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n action(i, array[i]);\r\n }\r\n}\r\n\r\nexport function iterate2(action, array1, array2) {\r\n if (array1.length !== array2.length) {\r\n differentLengths();\r\n }\r\n for (let i = 0; i <= (array1.length - 1); i++) {\r\n action(array1[i], array2[i]);\r\n }\r\n}\r\n\r\nexport function iterateIndexed2(action, array1, array2) {\r\n if (array1.length !== array2.length) {\r\n differentLengths();\r\n }\r\n for (let i = 0; i <= (array1.length - 1); i++) {\r\n action(i, array1[i], array2[i]);\r\n }\r\n}\r\n\r\nexport function isEmpty(array) {\r\n return array.length === 0;\r\n}\r\n\r\nexport function forAll(predicate, array) {\r\n return array.every(predicate);\r\n}\r\n\r\nexport function permute(f, array) {\r\n const size = array.length | 0;\r\n const res = array.slice();\r\n const checkFlags = new Array(size);\r\n iterateIndexed((i, x) => {\r\n const j = f(i) | 0;\r\n if ((j < 0) ? true : (j >= size)) {\r\n throw (new Error(\"Not a valid permutation\"));\r\n }\r\n res[j] = x;\r\n checkFlags[j] = 1;\r\n }, array);\r\n if (!(checkFlags.every((y) => (1 === y)))) {\r\n throw (new Error(\"Not a valid permutation\"));\r\n }\r\n return res;\r\n}\r\n\r\nexport function setSlice(target, lower, upper, source) {\r\n const lower_1 = defaultArg(lower, 0) | 0;\r\n const upper_1 = defaultArg(upper, -1) | 0;\r\n const length = (((upper_1 >= 0) ? upper_1 : (target.length - 1)) - lower_1) | 0;\r\n for (let i = 0; i <= length; i++) {\r\n target[i + lower_1] = source[i];\r\n }\r\n}\r\n\r\nexport function sortInPlaceBy(projection, xs, comparer) {\r\n xs.sort((x, y) => comparer.Compare(projection(x), projection(y)));\r\n}\r\n\r\nexport function sortInPlace(xs, comparer) {\r\n xs.sort((x, y) => comparer.Compare(x, y));\r\n}\r\n\r\nexport function sort(xs, comparer) {\r\n const xs_1 = xs.slice();\r\n xs_1.sort((x, y) => comparer.Compare(x, y));\r\n return xs_1;\r\n}\r\n\r\nexport function sortBy(projection, xs, comparer) {\r\n const xs_1 = xs.slice();\r\n xs_1.sort((x, y) => comparer.Compare(projection(x), projection(y)));\r\n return xs_1;\r\n}\r\n\r\nexport function sortDescending(xs, comparer) {\r\n const xs_1 = xs.slice();\r\n xs_1.sort((x, y) => (comparer.Compare(x, y) * -1));\r\n return xs_1;\r\n}\r\n\r\nexport function sortByDescending(projection, xs, comparer) {\r\n const xs_1 = xs.slice();\r\n xs_1.sort((x, y) => (comparer.Compare(projection(x), projection(y)) * -1));\r\n return xs_1;\r\n}\r\n\r\nexport function sortWith(comparer, xs) {\r\n const comparer_1 = comparer;\r\n const xs_1 = xs.slice();\r\n xs_1.sort(comparer_1);\r\n return xs_1;\r\n}\r\n\r\nexport function allPairs(xs, ys) {\r\n const len1 = xs.length | 0;\r\n const len2 = ys.length | 0;\r\n const res = new Array(len1 * len2);\r\n for (let i = 0; i <= (xs.length - 1); i++) {\r\n for (let j = 0; j <= (ys.length - 1); j++) {\r\n res[(i * len2) + j] = [xs[i], ys[j]];\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nexport function unfold(generator, state) {\r\n const res = [];\r\n const loop = (state_1_mut) => {\r\n loop:\r\n while (true) {\r\n const state_1 = state_1_mut;\r\n const matchValue = generator(state_1);\r\n if (matchValue != null) {\r\n const x = matchValue[0];\r\n const s = matchValue[1];\r\n res.push(x);\r\n state_1_mut = s;\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n loop(state);\r\n return res;\r\n}\r\n\r\nexport function unzip(array) {\r\n const len = array.length | 0;\r\n const res1 = new Array(len);\r\n const res2 = new Array(len);\r\n iterateIndexed((i, tupledArg) => {\r\n res1[i] = tupledArg[0];\r\n res2[i] = tupledArg[1];\r\n }, array);\r\n return [res1, res2];\r\n}\r\n\r\nexport function unzip3(array) {\r\n const len = array.length | 0;\r\n const res1 = new Array(len);\r\n const res2 = new Array(len);\r\n const res3 = new Array(len);\r\n iterateIndexed((i, tupledArg) => {\r\n res1[i] = tupledArg[0];\r\n res2[i] = tupledArg[1];\r\n res3[i] = tupledArg[2];\r\n }, array);\r\n return [res1, res2, res3];\r\n}\r\n\r\nexport function zip(array1, array2) {\r\n if (array1.length !== array2.length) {\r\n differentLengths();\r\n }\r\n const result = new Array(array1.length);\r\n for (let i = 0; i <= (array1.length - 1); i++) {\r\n result[i] = [array1[i], array2[i]];\r\n }\r\n return result;\r\n}\r\n\r\nexport function zip3(array1, array2, array3) {\r\n if ((array1.length !== array2.length) ? true : (array2.length !== array3.length)) {\r\n differentLengths();\r\n }\r\n const result = new Array(array1.length);\r\n for (let i = 0; i <= (array1.length - 1); i++) {\r\n result[i] = [array1[i], array2[i], array3[i]];\r\n }\r\n return result;\r\n}\r\n\r\nexport function chunkBySize(chunkSize, array) {\r\n if (chunkSize < 1) {\r\n throw (new Error(\"The input must be positive.\\\\nParameter name: size\"));\r\n }\r\n if (array.length === 0) {\r\n return [[]];\r\n }\r\n else {\r\n const result = [];\r\n for (let x = 0; x <= ((~(~Math.ceil(array.length / chunkSize))) - 1); x++) {\r\n let slice;\r\n const start_1 = (x * chunkSize) | 0;\r\n slice = (array.slice(start_1, (start_1 + chunkSize)));\r\n result.push(slice);\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function splitAt(index, array) {\r\n let start;\r\n if ((index < 0) ? true : (index > array.length)) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return [(start = 0, array.slice(start, (start + index))), array.slice(index)];\r\n}\r\n\r\nexport function compareWith(comparer, source1, source2) {\r\n if (source1 == null) {\r\n if (source2 == null) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n else if (source2 == null) {\r\n return 1;\r\n }\r\n else {\r\n const len1 = source1.length | 0;\r\n const len2 = source2.length | 0;\r\n const len = ((len1 < len2) ? len1 : len2) | 0;\r\n let i = 0;\r\n let res = 0;\r\n while ((res === 0) && (i < len)) {\r\n res = (comparer(source1[i], source2[i]) | 0);\r\n i = ((i + 1) | 0);\r\n }\r\n if (res !== 0) {\r\n return res | 0;\r\n }\r\n else if (len1 > len2) {\r\n return 1;\r\n }\r\n else if (len1 < len2) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n}\r\n\r\nexport function compareTo(comparer, source1, source2) {\r\n if (source1 == null) {\r\n if (source2 == null) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n else if (source2 == null) {\r\n return 1;\r\n }\r\n else {\r\n const len1 = source1.length | 0;\r\n const len2 = source2.length | 0;\r\n if (len1 > len2) {\r\n return 1;\r\n }\r\n else if (len1 < len2) {\r\n return -1;\r\n }\r\n else {\r\n let i = 0;\r\n let res = 0;\r\n while ((res === 0) && (i < len1)) {\r\n res = (comparer(source1[i], source2[i]) | 0);\r\n i = ((i + 1) | 0);\r\n }\r\n return res | 0;\r\n }\r\n }\r\n}\r\n\r\nexport function equalsWith(equals, array1, array2) {\r\n if (array1 == null) {\r\n if (array2 == null) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if (array2 == null) {\r\n return false;\r\n }\r\n else {\r\n let i = 0;\r\n let result = true;\r\n const length1 = array1.length | 0;\r\n const length2 = array2.length | 0;\r\n if (length1 > length2) {\r\n return false;\r\n }\r\n else if (length1 < length2) {\r\n return false;\r\n }\r\n else {\r\n while ((i < length1) && result) {\r\n result = equals(array1[i], array2[i]);\r\n i = ((i + 1) | 0);\r\n }\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nexport function exactlyOne(array) {\r\n if (array.length === 1) {\r\n return array[0];\r\n }\r\n else if (array.length === 0) {\r\n throw (new Error(\"The input sequence was empty\\\\nParameter name: array\"));\r\n }\r\n else {\r\n throw (new Error(\"Input array too long\\\\nParameter name: array\"));\r\n }\r\n}\r\n\r\nexport function tryExactlyOne(array) {\r\n if (array.length === 1) {\r\n return some(array[0]);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function head(array) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\\\\nParameter name: array\"));\r\n }\r\n else {\r\n return array[0];\r\n }\r\n}\r\n\r\nexport function tryHead(array) {\r\n if (array.length === 0) {\r\n return void 0;\r\n }\r\n else {\r\n return some(array[0]);\r\n }\r\n}\r\n\r\nexport function tail(array) {\r\n if (array.length === 0) {\r\n throw (new Error(\"Not enough elements\\\\nParameter name: array\"));\r\n }\r\n return array.slice(1);\r\n}\r\n\r\nexport function item(index, array) {\r\n return array[index];\r\n}\r\n\r\nexport function tryItem(index, array) {\r\n if ((index < 0) ? true : (index >= array.length)) {\r\n return void 0;\r\n }\r\n else {\r\n return some(array[index]);\r\n }\r\n}\r\n\r\nexport function foldBackIndexed(folder, array, state) {\r\n return array.reduceRight(((delegateArg, delegateArg_1, delegateArg_2) => folder(delegateArg_2, delegateArg_1, delegateArg)), state);\r\n}\r\n\r\nexport function foldBack(folder, array, state) {\r\n return array.reduceRight(((delegateArg, delegateArg_1) => folder(delegateArg_1, delegateArg)), state);\r\n}\r\n\r\nexport function foldIndexed2(folder, state, array1, array2) {\r\n let acc = state;\r\n if (array1.length !== array2.length) {\r\n throw (new Error(\"Arrays have different lengths\"));\r\n }\r\n for (let i = 0; i <= (array1.length - 1); i++) {\r\n acc = folder(i, acc, array1[i], array2[i]);\r\n }\r\n return acc;\r\n}\r\n\r\nexport function fold2(folder, state, array1, array2) {\r\n return foldIndexed2((_arg, acc, x, y) => folder(acc, x, y), state, array1, array2);\r\n}\r\n\r\nexport function foldBackIndexed2(folder, array1, array2, state) {\r\n let acc = state;\r\n if (array1.length !== array2.length) {\r\n differentLengths();\r\n }\r\n const size = array1.length | 0;\r\n for (let i = 1; i <= size; i++) {\r\n acc = folder(i - 1, array1[size - i], array2[size - i], acc);\r\n }\r\n return acc;\r\n}\r\n\r\nexport function foldBack2(f, array1, array2, state) {\r\n return foldBackIndexed2((_arg, x, y, acc) => f(x, y, acc), array1, array2, state);\r\n}\r\n\r\nexport function reduce(reduction, array) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\"));\r\n }\r\n const reduction_1 = reduction;\r\n return array.reduce(reduction_1);\r\n}\r\n\r\nexport function reduceBack(reduction, array) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\"));\r\n }\r\n const reduction_1 = reduction;\r\n return array.reduceRight(reduction_1);\r\n}\r\n\r\nexport function forAll2(predicate, array1, array2) {\r\n return fold2((acc, x, y) => (acc && predicate(x, y)), true, array1, array2);\r\n}\r\n\r\nexport function existsOffset(predicate_mut, array_mut, index_mut) {\r\n existsOffset:\r\n while (true) {\r\n const predicate = predicate_mut, array = array_mut, index = index_mut;\r\n if (index === array.length) {\r\n return false;\r\n }\r\n else if (predicate(array[index])) {\r\n return true;\r\n }\r\n else {\r\n predicate_mut = predicate;\r\n array_mut = array;\r\n index_mut = (index + 1);\r\n continue existsOffset;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function exists(predicate, array) {\r\n return existsOffset(predicate, array, 0);\r\n}\r\n\r\nexport function existsOffset2(predicate_mut, array1_mut, array2_mut, index_mut) {\r\n existsOffset2:\r\n while (true) {\r\n const predicate = predicate_mut, array1 = array1_mut, array2 = array2_mut, index = index_mut;\r\n if (index === array1.length) {\r\n return false;\r\n }\r\n else if (predicate(array1[index], array2[index])) {\r\n return true;\r\n }\r\n else {\r\n predicate_mut = predicate;\r\n array1_mut = array1;\r\n array2_mut = array2;\r\n index_mut = (index + 1);\r\n continue existsOffset2;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function exists2(predicate, array1, array2) {\r\n if (array1.length !== array2.length) {\r\n differentLengths();\r\n }\r\n return existsOffset2(predicate, array1, array2, 0);\r\n}\r\n\r\nexport function sum(array, adder) {\r\n let acc = adder.GetZero();\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n acc = adder.Add(acc, array[i]);\r\n }\r\n return acc;\r\n}\r\n\r\nexport function sumBy(projection, array, adder) {\r\n let acc = adder.GetZero();\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n acc = adder.Add(acc, projection(array[i]));\r\n }\r\n return acc;\r\n}\r\n\r\nexport function maxBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function max(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function minBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function min(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function average(array, averager) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\\\\nParameter name: array\"));\r\n }\r\n let total = averager.GetZero();\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n total = averager.Add(total, array[i]);\r\n }\r\n return averager.DivideByInt(total, array.length);\r\n}\r\n\r\nexport function averageBy(projection, array, averager) {\r\n if (array.length === 0) {\r\n throw (new Error(\"The input array was empty\\\\nParameter name: array\"));\r\n }\r\n let total = averager.GetZero();\r\n for (let i = 0; i <= (array.length - 1); i++) {\r\n total = averager.Add(total, projection(array[i]));\r\n }\r\n return averager.DivideByInt(total, array.length);\r\n}\r\n\r\nexport function windowed(windowSize, source) {\r\n if (windowSize <= 0) {\r\n throw (new Error(\"windowSize must be positive\"));\r\n }\r\n let res;\r\n const len = max_1(comparePrimitives, 0, (source.length - windowSize) + 1) | 0;\r\n res = (new Array(len));\r\n for (let i = windowSize; i <= source.length; i++) {\r\n res[i - windowSize] = source.slice(i - windowSize, (i - 1) + 1);\r\n }\r\n return res;\r\n}\r\n\r\nexport function splitInto(chunks, array) {\r\n if (chunks < 1) {\r\n throw (new Error(\"The input must be positive.\\\\nParameter name: chunks\"));\r\n }\r\n if (array.length === 0) {\r\n return [[]];\r\n }\r\n else {\r\n const result = [];\r\n const chunks_1 = min_1(comparePrimitives, chunks, array.length) | 0;\r\n const minChunkSize = (~(~(array.length / chunks_1))) | 0;\r\n const chunksWithExtraItem = (array.length % chunks_1) | 0;\r\n for (let i = 0; i <= (chunks_1 - 1); i++) {\r\n const chunkSize = ((i < chunksWithExtraItem) ? (minChunkSize + 1) : minChunkSize) | 0;\r\n let slice;\r\n const start_1 = ((i * minChunkSize) + min_1(comparePrimitives, chunksWithExtraItem, i)) | 0;\r\n slice = (array.slice(start_1, (start_1 + chunkSize)));\r\n result.push(slice);\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function transpose(arrays, cons) {\r\n const arrays_1 = Array.isArray(arrays) ? arrays : (Array.from(arrays));\r\n const len = arrays_1.length | 0;\r\n if (len === 0) {\r\n return new Array(0);\r\n }\r\n else {\r\n const firstArray = arrays_1[0];\r\n const lenInner = firstArray.length | 0;\r\n if (!forAll((a) => (a.length === lenInner), arrays_1)) {\r\n differentLengths();\r\n }\r\n const result = new Array(lenInner);\r\n for (let i = 0; i <= (lenInner - 1); i++) {\r\n result[i] = Helpers_allocateArrayFromCons(cons, len);\r\n for (let j = 0; j <= (len - 1); j++) {\r\n result[i][j] = arrays_1[j][i];\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function insertAt(index, y, xs) {\r\n const len = xs.length | 0;\r\n if ((index < 0) ? true : (index > len)) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n const target = new xs.constructor(len + 1);\r\n for (let i = 0; i <= (index - 1); i++) {\r\n target[i] = xs[i];\r\n }\r\n target[index] = y;\r\n for (let i_1 = index; i_1 <= (len - 1); i_1++) {\r\n target[i_1 + 1] = xs[i_1];\r\n }\r\n return target;\r\n}\r\n\r\nexport function insertManyAt(index, ys, xs) {\r\n const len = xs.length | 0;\r\n if ((index < 0) ? true : (index > len)) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n const ys_1 = Array.from(ys);\r\n const len2 = ys_1.length | 0;\r\n const target = new xs.constructor(len + len2);\r\n for (let i = 0; i <= (index - 1); i++) {\r\n target[i] = xs[i];\r\n }\r\n for (let i_1 = 0; i_1 <= (len2 - 1); i_1++) {\r\n target[index + i_1] = ys_1[i_1];\r\n }\r\n for (let i_2 = index; i_2 <= (len - 1); i_2++) {\r\n target[i_2 + len2] = xs[i_2];\r\n }\r\n return target;\r\n}\r\n\r\nexport function removeAt(index, xs) {\r\n if ((index < 0) ? true : (index >= xs.length)) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n let i = -1;\r\n return filter((_arg) => {\r\n i = ((i + 1) | 0);\r\n return i !== index;\r\n }, xs);\r\n}\r\n\r\nexport function removeManyAt(index, count, xs) {\r\n let i = -1;\r\n let status = -1;\r\n const ys = filter((_arg) => {\r\n i = ((i + 1) | 0);\r\n if (i === index) {\r\n status = 0;\r\n return false;\r\n }\r\n else if (i > index) {\r\n if (i < (index + count)) {\r\n return false;\r\n }\r\n else {\r\n status = 1;\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }, xs);\r\n const status_1 = (((status === 0) && ((i + 1) === (index + count))) ? 1 : status) | 0;\r\n if (status_1 < 1) {\r\n const arg = (status_1 < 0) ? \"index\" : \"count\";\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + arg));\r\n }\r\n return ys;\r\n}\r\n\r\nexport function updateAt(index, y, xs) {\r\n const len = xs.length | 0;\r\n if ((index < 0) ? true : (index >= len)) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n const target = new xs.constructor(len);\r\n for (let i = 0; i <= (len - 1); i++) {\r\n target[i] = ((i === index) ? y : xs[i]);\r\n }\r\n return target;\r\n}\r\n\r\n","import { Union } from \"./Types.js\";\r\nimport { union_type } from \"./Reflection.js\";\r\nimport { some } from \"./Option.js\";\r\n\r\nexport class FSharpResult$2 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Ok\", \"Error\"];\r\n }\r\n}\r\n\r\nexport function FSharpResult$2$reflection(gen0, gen1) {\r\n return union_type(\"FSharp.Core.FSharpResult`2\", [gen0, gen1], FSharpResult$2, () => [[[\"ResultValue\", gen0]], [[\"ErrorValue\", gen1]]]);\r\n}\r\n\r\nexport function Result_Map(mapping, result) {\r\n if (result.tag === 0) {\r\n return new FSharpResult$2(0, mapping(result.fields[0]));\r\n }\r\n else {\r\n return new FSharpResult$2(1, result.fields[0]);\r\n }\r\n}\r\n\r\nexport function Result_MapError(mapping, result) {\r\n if (result.tag === 0) {\r\n return new FSharpResult$2(0, result.fields[0]);\r\n }\r\n else {\r\n return new FSharpResult$2(1, mapping(result.fields[0]));\r\n }\r\n}\r\n\r\nexport function Result_Bind(binder, result) {\r\n if (result.tag === 0) {\r\n return binder(result.fields[0]);\r\n }\r\n else {\r\n return new FSharpResult$2(1, result.fields[0]);\r\n }\r\n}\r\n\r\nexport class FSharpChoice$2 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of2\", \"Choice2Of2\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$2$reflection(gen0, gen1) {\r\n return union_type(\"FSharp.Core.FSharpChoice`2\", [gen0, gen1], FSharpChoice$2, () => [[[\"Item\", gen0]], [[\"Item\", gen1]]]);\r\n}\r\n\r\nexport class FSharpChoice$3 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of3\", \"Choice2Of3\", \"Choice3Of3\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$3$reflection(gen0, gen1, gen2) {\r\n return union_type(\"FSharp.Core.FSharpChoice`3\", [gen0, gen1, gen2], FSharpChoice$3, () => [[[\"Item\", gen0]], [[\"Item\", gen1]], [[\"Item\", gen2]]]);\r\n}\r\n\r\nexport class FSharpChoice$4 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of4\", \"Choice2Of4\", \"Choice3Of4\", \"Choice4Of4\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$4$reflection(gen0, gen1, gen2, gen3) {\r\n return union_type(\"FSharp.Core.FSharpChoice`4\", [gen0, gen1, gen2, gen3], FSharpChoice$4, () => [[[\"Item\", gen0]], [[\"Item\", gen1]], [[\"Item\", gen2]], [[\"Item\", gen3]]]);\r\n}\r\n\r\nexport class FSharpChoice$5 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of5\", \"Choice2Of5\", \"Choice3Of5\", \"Choice4Of5\", \"Choice5Of5\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$5$reflection(gen0, gen1, gen2, gen3, gen4) {\r\n return union_type(\"FSharp.Core.FSharpChoice`5\", [gen0, gen1, gen2, gen3, gen4], FSharpChoice$5, () => [[[\"Item\", gen0]], [[\"Item\", gen1]], [[\"Item\", gen2]], [[\"Item\", gen3]], [[\"Item\", gen4]]]);\r\n}\r\n\r\nexport class FSharpChoice$6 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of6\", \"Choice2Of6\", \"Choice3Of6\", \"Choice4Of6\", \"Choice5Of6\", \"Choice6Of6\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$6$reflection(gen0, gen1, gen2, gen3, gen4, gen5) {\r\n return union_type(\"FSharp.Core.FSharpChoice`6\", [gen0, gen1, gen2, gen3, gen4, gen5], FSharpChoice$6, () => [[[\"Item\", gen0]], [[\"Item\", gen1]], [[\"Item\", gen2]], [[\"Item\", gen3]], [[\"Item\", gen4]], [[\"Item\", gen5]]]);\r\n}\r\n\r\nexport class FSharpChoice$7 extends Union {\r\n constructor(tag, ...fields) {\r\n super();\r\n this.tag = (tag | 0);\r\n this.fields = fields;\r\n }\r\n cases() {\r\n return [\"Choice1Of7\", \"Choice2Of7\", \"Choice3Of7\", \"Choice4Of7\", \"Choice5Of7\", \"Choice6Of7\", \"Choice7Of7\"];\r\n }\r\n}\r\n\r\nexport function FSharpChoice$7$reflection(gen0, gen1, gen2, gen3, gen4, gen5, gen6) {\r\n return union_type(\"FSharp.Core.FSharpChoice`7\", [gen0, gen1, gen2, gen3, gen4, gen5, gen6], FSharpChoice$7, () => [[[\"Item\", gen0]], [[\"Item\", gen1]], [[\"Item\", gen2]], [[\"Item\", gen3]], [[\"Item\", gen4]], [[\"Item\", gen5]], [[\"Item\", gen6]]]);\r\n}\r\n\r\nexport function Choice_makeChoice1Of2(x) {\r\n return new FSharpChoice$2(0, x);\r\n}\r\n\r\nexport function Choice_makeChoice2Of2(x) {\r\n return new FSharpChoice$2(1, x);\r\n}\r\n\r\nexport function Choice_tryValueIfChoice1Of2(x) {\r\n if (x.tag === 0) {\r\n return some(x.fields[0]);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function Choice_tryValueIfChoice2Of2(x) {\r\n if (x.tag === 1) {\r\n return some(x.fields[0]);\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\n","/**\n * DateTimeOffset functions.\n *\n * Note: Date instances are always DateObjects in local\n * timezone (because JS dates are all kinds of messed up).\n * A local date returns UTC epoc when `.getTime()` is called.\n *\n * Basically; invariant: date.getTime() always return UTC time.\n */\nimport { fromValue, ticksToUnixEpochMilliseconds, unixEpochMillisecondsToTicks } from \"./Long.js\";\nimport { compareDates, dateOffset, padWithZeros } from \"./Util.js\";\nexport function dateOffsetToString(offset) {\n const isMinus = offset < 0;\n offset = Math.abs(offset);\n const hours = ~~(offset / 3600000);\n const minutes = (offset % 3600000) / 60000;\n return (isMinus ? \"-\" : \"+\") +\n padWithZeros(hours, 2) + \":\" +\n padWithZeros(minutes, 2);\n}\nexport function dateToHalfUTCString(date, half) {\n const str = date.toISOString();\n return half === \"first\"\n ? str.substring(0, str.indexOf(\"T\"))\n : str.substring(str.indexOf(\"T\") + 1, str.length - 1);\n}\nfunction dateToISOString(d, utc) {\n if (utc) {\n return d.toISOString();\n }\n else {\n // JS Date is always local\n const printOffset = d.kind == null ? true : d.kind === 2 /* Local */;\n return padWithZeros(d.getFullYear(), 4) + \"-\" +\n padWithZeros(d.getMonth() + 1, 2) + \"-\" +\n padWithZeros(d.getDate(), 2) + \"T\" +\n padWithZeros(d.getHours(), 2) + \":\" +\n padWithZeros(d.getMinutes(), 2) + \":\" +\n padWithZeros(d.getSeconds(), 2) + \".\" +\n padWithZeros(d.getMilliseconds(), 3) +\n (printOffset ? dateOffsetToString(d.getTimezoneOffset() * -60000) : \"\");\n }\n}\nfunction dateToISOStringWithOffset(dateWithOffset, offset) {\n const str = dateWithOffset.toISOString();\n return str.substring(0, str.length - 1) + dateOffsetToString(offset);\n}\nfunction dateToStringWithCustomFormat(date, format, utc) {\n return format.replace(/(\\w)\\1*/g, (match) => {\n let rep = Number.NaN;\n switch (match.substring(0, 1)) {\n case \"y\":\n const y = utc ? date.getUTCFullYear() : date.getFullYear();\n rep = match.length < 4 ? y % 100 : y;\n break;\n case \"M\":\n rep = (utc ? date.getUTCMonth() : date.getMonth()) + 1;\n break;\n case \"d\":\n rep = utc ? date.getUTCDate() : date.getDate();\n break;\n case \"H\":\n rep = utc ? date.getUTCHours() : date.getHours();\n break;\n case \"h\":\n const h = utc ? date.getUTCHours() : date.getHours();\n rep = h > 12 ? h % 12 : h;\n break;\n case \"m\":\n rep = utc ? date.getUTCMinutes() : date.getMinutes();\n break;\n case \"s\":\n rep = utc ? date.getUTCSeconds() : date.getSeconds();\n break;\n case \"f\":\n rep = utc ? date.getUTCMilliseconds() : date.getMilliseconds();\n break;\n }\n if (Number.isNaN(rep)) {\n return match;\n }\n else {\n return (rep < 10 && match.length > 1) ? \"0\" + rep : \"\" + rep;\n }\n });\n}\nfunction dateToStringWithOffset(date, format) {\n var _a, _b, _c;\n const d = new Date(date.getTime() + ((_a = date.offset) !== null && _a !== void 0 ? _a : 0));\n if (typeof format !== \"string\") {\n return d.toISOString().replace(/\\.\\d+/, \"\").replace(/[A-Z]|\\.\\d+/g, \" \") + dateOffsetToString(((_b = date.offset) !== null && _b !== void 0 ? _b : 0));\n }\n else if (format.length === 1) {\n switch (format) {\n case \"D\":\n case \"d\": return dateToHalfUTCString(d, \"first\");\n case \"T\":\n case \"t\": return dateToHalfUTCString(d, \"second\");\n case \"O\":\n case \"o\": return dateToISOStringWithOffset(d, ((_c = date.offset) !== null && _c !== void 0 ? _c : 0));\n default: throw new Error(\"Unrecognized Date print format\");\n }\n }\n else {\n return dateToStringWithCustomFormat(d, format, true);\n }\n}\nfunction dateToStringWithKind(date, format) {\n const utc = date.kind === 1 /* UTC */;\n if (typeof format !== \"string\") {\n return utc ? date.toUTCString() : date.toLocaleString();\n }\n else if (format.length === 1) {\n switch (format) {\n case \"D\":\n case \"d\":\n return utc ? dateToHalfUTCString(date, \"first\") : date.toLocaleDateString();\n case \"T\":\n case \"t\":\n return utc ? dateToHalfUTCString(date, \"second\") : date.toLocaleTimeString();\n case \"O\":\n case \"o\":\n return dateToISOString(date, utc);\n default:\n throw new Error(\"Unrecognized Date print format\");\n }\n }\n else {\n return dateToStringWithCustomFormat(date, format, utc);\n }\n}\nexport function toString(date, format, _provider) {\n return date.offset != null\n ? dateToStringWithOffset(date, format)\n : dateToStringWithKind(date, format);\n}\nexport function DateTime(value, kind) {\n const d = new Date(value);\n d.kind = (kind == null ? 0 /* Unspecified */ : kind) | 0;\n return d;\n}\nexport function fromTicks(ticks, kind) {\n ticks = fromValue(ticks);\n kind = kind != null ? kind : 2 /* Local */; // better default than Unspecified\n let date = DateTime(ticksToUnixEpochMilliseconds(ticks), kind);\n // Ticks are local to offset (in this case, either UTC or Local/Unknown).\n // If kind is anything but UTC, that means that the tick number was not\n // in utc, thus getTime() cannot return UTC, and needs to be shifted.\n if (kind !== 1 /* UTC */) {\n date = DateTime(date.getTime() - dateOffset(date), kind);\n }\n return date;\n}\nexport function fromDateTimeOffset(date, kind) {\n var _a;\n switch (kind) {\n case 1 /* UTC */: return DateTime(date.getTime(), 1 /* UTC */);\n case 2 /* Local */: return DateTime(date.getTime(), 2 /* Local */);\n default:\n const d = DateTime(date.getTime() + ((_a = date.offset) !== null && _a !== void 0 ? _a : 0), kind);\n return DateTime(d.getTime() - dateOffset(d), kind);\n }\n}\nexport function getTicks(date) {\n return unixEpochMillisecondsToTicks(date.getTime(), dateOffset(date));\n}\nexport function minValue() {\n // This is \"0001-01-01T00:00:00.000Z\", actual JS min value is -8640000000000000\n return DateTime(-62135596800000, 0 /* Unspecified */);\n}\nexport function maxValue() {\n // This is \"9999-12-31T23:59:59.999Z\", actual JS max value is 8640000000000000\n return DateTime(253402300799999, 0 /* Unspecified */);\n}\nexport function parseRaw(input) {\n function fail() {\n throw new Error(`The string is not a valid Date: ${input}`);\n }\n if (input == null || input.trim() === \"\") {\n fail();\n }\n // ISO dates without TZ are parsed as UTC. Adding time without TZ keeps them local.\n if (input.length === 10 && input[4] === \"-\" && input[7] === \"-\") {\n input += \"T00:00:00\";\n }\n let date = new Date(input);\n let offset = null;\n if (isNaN(date.getTime())) {\n // Try to check strings JS Date cannot parse (see #1045, #1422)\n // tslint:disable-next-line:max-line-length\n const m = /^\\s*(\\d+[^\\w\\s:]\\d+[^\\w\\s:]\\d+)?\\s*(\\d+:\\d+(?::\\d+(?:\\.\\d+)?)?)?\\s*([AaPp][Mm])?\\s*(Z|[+-]([01]?\\d):?([0-5]?\\d)?)?\\s*$/.exec(input);\n if (m != null) {\n let baseDate;\n let timeInSeconds = 0;\n if (m[2] != null) {\n const timeParts = m[2].split(\":\");\n timeInSeconds =\n parseInt(timeParts[0], 10) * 3600 +\n parseInt(timeParts[1] || \"0\", 10) * 60 +\n parseFloat(timeParts[2] || \"0\");\n if (m[3] != null && m[3].toUpperCase() === \"PM\") {\n timeInSeconds += 720;\n }\n }\n if (m[4] != null) { // There's an offset, parse as UTC\n if (m[1] != null) {\n baseDate = new Date(m[1] + \" UTC\");\n }\n else {\n const d = new Date();\n baseDate = new Date(d.getUTCFullYear() + \"/\" + (d.getUTCMonth() + 1) + \"/\" + d.getUTCDate());\n }\n if (m[4] === \"Z\") {\n offset = \"Z\";\n }\n else {\n let offsetInMinutes = parseInt(m[5], 10) * 60 + parseInt(m[6] || \"0\", 10);\n if (m[4][0] === \"-\") {\n offsetInMinutes *= -1;\n }\n offset = offsetInMinutes;\n timeInSeconds -= offsetInMinutes * 60;\n }\n }\n else {\n if (m[1] != null) {\n baseDate = new Date(m[1]);\n }\n else {\n const d = new Date();\n baseDate = new Date(d.getFullYear() + \"/\" + (d.getMonth() + 1) + \"/\" + d.getDate());\n }\n }\n date = new Date(baseDate.getTime() + timeInSeconds * 1000);\n // correct for daylight savings time\n date = new Date(date.getTime() + (date.getTimezoneOffset() - baseDate.getTimezoneOffset()) * 60000);\n }\n else {\n fail();\n }\n // Check again the date is valid after transformations, see #2229\n if (isNaN(date.getTime())) {\n fail();\n }\n }\n return [date, offset];\n}\nexport function parse(str, detectUTC = false) {\n const [date, offset] = parseRaw(str);\n // .NET always parses DateTime as Local if there's offset info (even \"Z\")\n // Newtonsoft.Json uses UTC if the offset is \"Z\"\n const kind = offset != null\n ? (detectUTC && offset === \"Z\" ? 1 /* UTC */ : 2 /* Local */)\n : 0 /* Unspecified */;\n return DateTime(date.getTime(), kind);\n}\nexport function tryParse(v, defValue) {\n try {\n defValue.contents = parse(v);\n return true;\n }\n catch (_err) {\n return false;\n }\n}\nexport function create(year, month, day, h = 0, m = 0, s = 0, ms = 0, kind) {\n const dateValue = kind === 1 /* UTC */\n ? Date.UTC(year, month - 1, day, h, m, s, ms)\n : new Date(year, month - 1, day, h, m, s, ms).getTime();\n if (isNaN(dateValue)) {\n throw new Error(\"The parameters describe an unrepresentable Date.\");\n }\n const date = DateTime(dateValue, kind);\n if (year <= 99) {\n date.setFullYear(year, month - 1, day);\n }\n return date;\n}\nexport function now() {\n return DateTime(Date.now(), 2 /* Local */);\n}\nexport function utcNow() {\n return DateTime(Date.now(), 1 /* UTC */);\n}\nexport function today() {\n return date(now());\n}\nexport function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\nexport function daysInMonth(year, month) {\n return month === 2\n ? (isLeapYear(year) ? 29 : 28)\n : (month >= 8 ? (month % 2 === 0 ? 31 : 30) : (month % 2 === 0 ? 30 : 31));\n}\nexport function toUniversalTime(date) {\n return date.kind === 1 /* UTC */ ? date : DateTime(date.getTime(), 1 /* UTC */);\n}\nexport function toLocalTime(date) {\n return date.kind === 2 /* Local */ ? date : DateTime(date.getTime(), 2 /* Local */);\n}\nexport function specifyKind(d, kind) {\n return create(year(d), month(d), day(d), hour(d), minute(d), second(d), millisecond(d), kind);\n}\nexport function timeOfDay(d) {\n return hour(d) * 3600000\n + minute(d) * 60000\n + second(d) * 1000\n + millisecond(d);\n}\nexport function date(d) {\n return create(year(d), month(d), day(d), 0, 0, 0, 0, d.kind);\n}\nexport function day(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCDate() : d.getDate();\n}\nexport function hour(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCHours() : d.getHours();\n}\nexport function millisecond(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCMilliseconds() : d.getMilliseconds();\n}\nexport function minute(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCMinutes() : d.getMinutes();\n}\nexport function month(d) {\n return (d.kind === 1 /* UTC */ ? d.getUTCMonth() : d.getMonth()) + 1;\n}\nexport function second(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCSeconds() : d.getSeconds();\n}\nexport function year(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCFullYear() : d.getFullYear();\n}\nexport function dayOfWeek(d) {\n return d.kind === 1 /* UTC */ ? d.getUTCDay() : d.getDay();\n}\nexport function dayOfYear(d) {\n const _year = year(d);\n const _month = month(d);\n let _day = day(d);\n for (let i = 1; i < _month; i++) {\n _day += daysInMonth(_year, i);\n }\n return _day;\n}\nexport function add(d, ts) {\n const newDate = DateTime(d.getTime() + ts, d.kind);\n if (d.kind === 2 /* Local */) {\n const oldTzOffset = d.getTimezoneOffset();\n const newTzOffset = newDate.getTimezoneOffset();\n return oldTzOffset !== newTzOffset\n ? DateTime(newDate.getTime() + (newTzOffset - oldTzOffset) * 60000, d.kind)\n : newDate;\n }\n else {\n return newDate;\n }\n}\nexport function addDays(d, v) {\n return add(d, v * 86400000);\n}\nexport function addHours(d, v) {\n return add(d, v * 3600000);\n}\nexport function addMinutes(d, v) {\n return add(d, v * 60000);\n}\nexport function addSeconds(d, v) {\n return add(d, v * 1000);\n}\nexport function addMilliseconds(d, v) {\n return add(d, v);\n}\nexport function addYears(d, v) {\n const newMonth = month(d);\n const newYear = year(d) + v;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, day(d));\n return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);\n}\nexport function addMonths(d, v) {\n let newMonth = month(d) + v;\n let newMonth_ = 0;\n let yearOffset = 0;\n if (newMonth > 12) {\n newMonth_ = newMonth % 12;\n yearOffset = Math.floor(newMonth / 12);\n newMonth = newMonth_;\n }\n else if (newMonth < 1) {\n newMonth_ = 12 + newMonth % 12;\n yearOffset = Math.floor(newMonth / 12) + (newMonth_ === 12 ? -1 : 0);\n newMonth = newMonth_;\n }\n const newYear = year(d) + yearOffset;\n const _daysInMonth = daysInMonth(newYear, newMonth);\n const newDay = Math.min(_daysInMonth, day(d));\n return create(newYear, newMonth, newDay, hour(d), minute(d), second(d), millisecond(d), d.kind);\n}\nexport function subtract(d, that) {\n return typeof that === \"number\"\n ? add(d, -that)\n : d.getTime() - that.getTime();\n}\nexport function toLongDateString(d) {\n return d.toDateString();\n}\nexport function toShortDateString(d) {\n return d.toLocaleDateString();\n}\nexport function toLongTimeString(d) {\n return d.toLocaleTimeString();\n}\nexport function toShortTimeString(d) {\n return d.toLocaleTimeString().replace(/:\\d\\d(?!:)/, \"\");\n}\nexport function equals(d1, d2) {\n return d1.getTime() === d2.getTime();\n}\nexport const compare = compareDates;\nexport const compareTo = compareDates;\nexport function op_Addition(x, y) {\n return add(x, y);\n}\nexport function op_Subtraction(x, y) {\n return subtract(x, y);\n}\nexport function isDaylightSavingTime(x) {\n const jan = new Date(x.getFullYear(), 0, 1);\n const jul = new Date(x.getFullYear(), 6, 1);\n return isDST(jan.getTimezoneOffset(), jul.getTimezoneOffset(), x.getTimezoneOffset());\n}\nfunction isDST(janOffset, julOffset, tOffset) {\n return Math.min(janOffset, julOffset) === tOffset;\n}\nexport default DateTime;\n","// Adapted from https://github.com/MikeMcl/big.js/blob/0f94dc9110d55c4f324a47ba6a2e832ce23ac589/big.mjs\n/* tslint:disable */\nimport { combineHashCodes } from \"../Util.js\";\nimport { symbol } from \"../Numeric.js\";\n// The shared prototype object.\nvar P = {\n GetHashCode() { return combineHashCodes([this.s, this.e].concat(this.c)); },\n Equals(x) { return !this.cmp(x); },\n CompareTo(x) { return this.cmp(x); },\n [symbol]() {\n const _this = this;\n return {\n multiply: y => _this.mul(y),\n toPrecision: sd => _this.toPrecision(sd),\n toExponential: dp => _this.toExponential(dp),\n toFixed: dp => _this.toFixed(dp),\n toHex: () => (Number(_this) >>> 0).toString(16),\n };\n }\n};\n/*\n * big.js v6.0.3\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\n * Copyright (c) 2020 Michael Mclaughlin\n * https://github.com/MikeMcl/big.js/LICENCE.md\n */\n/************************************** EDITABLE DEFAULTS *****************************************/\n// The default values below must be integers within the stated ranges.\n/*\n * The maximum number of decimal places (DP) of the results of operations involving division:\n * div and sqrt, and pow with negative exponents.\n */\nvar DP = 28, // 0 to MAX_DP\n/*\n * The rounding mode (RM) used when rounding to the above decimal places.\n *\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\n * 3 Away from zero. (ROUND_UP)\n */\nRM = 1, // 0, 1, 2 or 3\n// The maximum value of DP and Big.DP.\nMAX_DP = 1E6, // 0 to 1000000\n// The maximum magnitude of the exponent argument to the pow method.\nMAX_POWER = 1E6, // 1 to 1000000\n/*\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\n * (JavaScript numbers: -7)\n * -1000000 is the minimum recommended exponent value of a Big.\n */\nNE = -29, // 0 to -1000000\n/*\n * The positive exponent (PE) at and above which toString returns exponential notation.\n * (JavaScript numbers: 21)\n * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.\n */\nPE = 29, // 0 to 1000000\n/*\n * When true, an error will be thrown if a primitive number is passed to the Big constructor,\n * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a\n * primitive number without a loss of precision.\n */\nSTRICT = false, // true or false\n/**************************************************************************************************/\n// Error messages.\nNAME = '[big.js] ', INVALID = NAME + 'Invalid ', INVALID_DP = INVALID + 'decimal places', INVALID_RM = INVALID + 'rounding mode', DIV_BY_ZERO = NAME + 'Division by zero', UNDEFINED = void 0, NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\n/*\n * Create and return a Big constructor.\n */\nfunction _Big_() {\n /*\n * The Big constructor and exported function.\n * Create and return a new instance of a Big number object.\n *\n * n {number|string|Big} A numeric value.\n */\n function Big(n) {\n var x = this;\n // Enable constructor usage without new.\n if (!(x instanceof Big))\n return n === UNDEFINED ? _Big_() : new Big(n);\n // Duplicate.\n if (n instanceof Big) {\n x.s = n.s;\n x.e = n.e;\n x.c = n.c.slice();\n normalize(x);\n }\n else {\n if (typeof n !== 'string') {\n if (Big.strict === true) {\n throw TypeError(INVALID + 'number');\n }\n // Minus zero?\n n = n === 0 && 1 / n < 0 ? '-0' : String(n);\n }\n parse(x, n);\n }\n // Retain a reference to this Big constructor.\n // Shadow Big.prototype.constructor which points to Object.\n x.constructor = Big;\n }\n Big.prototype = P;\n Big.DP = DP;\n Big.RM = RM;\n Big.NE = NE;\n Big.PE = PE;\n Big.strict = STRICT;\n return Big;\n}\nfunction normalize(x) {\n // x = round(x, DP, 0);\n if (x.c.length > 1 && !x.c[0]) {\n let i = x.c.findIndex(x => x);\n x.c = x.c.slice(i);\n x.e = x.e - i;\n }\n}\n/*\n * Parse the number or string value passed to a Big constructor.\n *\n * x {Big} A Big number instance.\n * n {number|string} A numeric value.\n */\nfunction parse(x, n) {\n var e, i, nl;\n if (!NUMERIC.test(n)) {\n throw Error(INVALID + 'number');\n }\n // Determine sign.\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\n // Decimal point?\n if ((e = n.indexOf('.')) > -1)\n n = n.replace('.', '');\n // Exponential form?\n if ((i = n.search(/e/i)) > 0) {\n // Determine exponent.\n if (e < 0)\n e = i;\n e += +n.slice(i + 1);\n n = n.substring(0, i);\n }\n else if (e < 0) {\n // Integer.\n e = n.length;\n }\n nl = n.length;\n // Determine leading zeros before decimal point.\n for (i = 0; i < e && i < nl && n.charAt(i) == '0';)\n ++i;\n // original version (ignores decimal point).\n // // Determine leading zeros.\n // for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\n if (i == nl) {\n // Zero.\n x.c = [x.e = 0];\n }\n else {\n x.e = e - i - 1;\n x.c = [];\n // Convert string to array of digits without leading zeros\n for (e = 0; i < nl;)\n x.c[e++] = +n.charAt(i++);\n // older version (doesn't keep trailing zeroes).\n // // Determine trailing zeros.\n // for (; nl > 0 && n.charAt(--nl) == '0';);\n // // Convert string to array of digits without leading/trailing zeros.\n // for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\n }\n x = round(x, Big.DP + 1, Big.RM);\n return x;\n}\n/*\n * Round Big x to a maximum of sd significant digits using rounding mode rm.\n *\n * x {Big} The Big to round.\n * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.\n * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n * [more] {boolean} Whether the result of division was truncated.\n */\nfunction round(x, sd, rm, more) {\n var xc = x.c;\n if (rm === UNDEFINED)\n rm = Big.RM;\n if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {\n throw Error(INVALID_RM);\n }\n if (sd < 1) {\n more =\n rm === 3 && (more || !!xc[0]) || sd === 0 && (rm === 1 && xc[0] >= 5 ||\n rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED)));\n xc.length = 1;\n if (more) {\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\n x.e = x.e - sd + 1;\n xc[0] = 1;\n }\n else {\n // Zero.\n xc[0] = x.e = 0;\n }\n }\n else if (sd < xc.length) {\n // xc[sd] is the digit after the digit that may be rounded up.\n const isZero = xc.findIndex((xci, idx) => idx >= sd && xci > 0) < 0;\n more =\n rm === 1 && xc[sd] >= 5 ||\n rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&\n (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||\n rm === 3 && (more || !isZero);\n // Remove any digits after the required precision.\n xc.length = sd--;\n // Round up?\n if (more) {\n // Rounding up may mean the previous digit has to be rounded up.\n for (; ++xc[sd] > 9;) {\n xc[sd] = 0;\n if (!sd--) {\n ++x.e;\n xc.unshift(1);\n }\n }\n }\n // Remove trailing zeros.\n for (sd = xc.length; !xc[--sd];)\n xc.pop();\n }\n return x;\n}\n/*\n * Return a string representing the value of Big x in normal or exponential notation.\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\n */\nfunction stringify(x, doExponential, isNonzero) {\n var e = x.e, s = x.c.join(''), n = s.length;\n // Exponential notation?\n if (doExponential) {\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\n // Normal notation.\n }\n else if (e < 0) {\n for (; ++e;)\n s = '0' + s;\n s = '0.' + s;\n }\n else if (e > 0) {\n if (++e > n) {\n for (e -= n; e--;)\n s += '0';\n }\n else if (e < n) {\n s = s.slice(0, e) + '.' + s.slice(e);\n }\n }\n else if (n > 1) {\n s = s.charAt(0) + '.' + s.slice(1);\n }\n return x.s < 0 && isNonzero ? '-' + s : s;\n}\n// Prototype/instance methods\n/*\n * Return a new Big whose value is the absolute value of this Big.\n */\nP.abs = function () {\n var x = new this.constructor(this);\n x.s = 1;\n return x;\n};\n/*\n * Return 1 if the value of this Big is greater than the value of Big y,\n * -1 if the value of this Big is less than the value of Big y, or\n * 0 if they have the same value.\n */\nP.cmp = function (y) {\n var isneg, Big = this.constructor, x = new Big(this), y = new Big(y), xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;\n // Either zero?\n if (!xc[0] || !yc[0])\n return !xc[0] ? !yc[0] ? 0 : -j : i;\n // Signs differ?\n if (i != j)\n return i;\n isneg = i < 0;\n // Compare exponents.\n if (k != l)\n return k > l ^ isneg ? 1 : -1;\n // Compare digit by digit.\n j = Math.max(xc.length, yc.length);\n for (i = 0; i < j; i++) {\n k = i < xc.length ? xc[i] : 0;\n l = i < yc.length ? yc[i] : 0;\n if (k != l)\n return k > l ^ isneg ? 1 : -1;\n }\n return 0;\n // original version (doesn't compare well trailing zeroes, e.g. 1.0 with 1.00)\n // j = (k = xc.length) < (l = yc.length) ? k : l;\n // // Compare digit by digit.\n // for (i = -1; ++i < j;) {\n // if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\n // }\n // // Compare lengths.\n // return k == l ? 0 : k > l ^ isneg ? 1 : -1;\n};\n/*\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\n */\nP.div = function (y) {\n var Big = this.constructor, x = new Big(this), y = new Big(y), a = x.c, // dividend\n b = y.c, // divisor\n k = x.s == y.s ? 1 : -1, dp = Big.DP;\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\n throw Error(INVALID_DP);\n }\n // Divisor is zero?\n if (!b[0]) {\n throw Error(DIV_BY_ZERO);\n }\n // Dividend is 0? Return +-0.\n if (!a[0]) {\n y.s = k;\n y.c = [y.e = 0];\n return y;\n }\n var bl, bt, n, cmp, ri, bz = b.slice(), ai = bl = b.length, al = a.length, r = a.slice(0, bl), // remainder\n rl = r.length, q = y, // quotient\n qc = q.c = [], qi = 0, p = dp + (q.e = x.e - y.e) + 1; // precision of the result\n q.s = k;\n k = p < 0 ? 0 : p;\n // Create version of divisor with leading zero.\n bz.unshift(0);\n // Add zeros to make remainder as long as divisor.\n for (; rl++ < bl;)\n r.push(0);\n do {\n // n is how many times the divisor goes into current remainder.\n for (n = 0; n < 10; n++) {\n // Compare divisor and remainder.\n if (bl != (rl = r.length)) {\n cmp = bl > rl ? 1 : -1;\n }\n else {\n for (ri = -1, cmp = 0; ++ri < bl;) {\n if (b[ri] != r[ri]) {\n cmp = b[ri] > r[ri] ? 1 : -1;\n break;\n }\n }\n }\n // If divisor < remainder, subtract divisor from remainder.\n if (cmp < 0) {\n // Remainder can't be more than 1 digit longer than divisor.\n // Equalise lengths using divisor with extra leading zero?\n for (bt = rl == bl ? b : bz; rl;) {\n if (r[--rl] < bt[rl]) {\n ri = rl;\n for (; ri && !r[--ri];)\n r[ri] = 9;\n --r[ri];\n r[rl] += 10;\n }\n r[rl] -= bt[rl];\n }\n for (; !r[0];)\n r.shift();\n }\n else {\n break;\n }\n }\n // Add the digit n to the result array.\n qc[qi++] = cmp ? n : ++n;\n // Update the remainder.\n if (r[0] && cmp)\n r[rl] = a[ai] || 0;\n else\n r = [a[ai]];\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\n // Leading zero? Do not remove if result is simply zero (qi == 1).\n if (!qc[0] && qi != 1) {\n // There can't be more than one zero.\n qc.shift();\n q.e--;\n p--;\n }\n // Round?\n if (qi > p)\n round(q, p, Big.RM, r[0] !== UNDEFINED);\n return q;\n};\n/*\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\n */\nP.eq = function (y) {\n return this.cmp(y) === 0;\n};\n/*\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\n * false.\n */\nP.gt = function (y) {\n return this.cmp(y) > 0;\n};\n/*\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\n * return false.\n */\nP.gte = function (y) {\n return this.cmp(y) > -1;\n};\n/*\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\n */\nP.lt = function (y) {\n return this.cmp(y) < 0;\n};\n/*\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\n * return false.\n */\nP.lte = function (y) {\n return this.cmp(y) < 1;\n};\n/*\n * Return a new Big whose value is the value of this Big minus the value of Big y.\n */\nP.minus = P.sub = function (y) {\n var i, j, t, xlty, Big = this.constructor, x = new Big(this), y = new Big(y), a = x.s, b = y.s;\n // Signs differ?\n if (a != b) {\n y.s = -b;\n return x.plus(y);\n }\n var xc = x.c.slice(), xe = x.e, yc = y.c, ye = y.e;\n // Either zero?\n if (!xc[0] || !yc[0]) {\n if (yc[0]) {\n y.s = -b;\n }\n else if (xc[0]) {\n y = new Big(x);\n }\n else {\n y.s = 1;\n }\n return y;\n }\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\n if (a = xe - ye) {\n if (xlty = a < 0) {\n a = -a;\n t = xc;\n }\n else {\n ye = xe;\n t = yc;\n }\n t.reverse();\n for (b = a; b--;)\n t.push(0);\n t.reverse();\n }\n else {\n // Exponents equal. Check digit by digit.\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\n for (a = b = 0; b < j; b++) {\n if (xc[b] != yc[b]) {\n xlty = xc[b] < yc[b];\n break;\n }\n }\n }\n // x < y? Point xc to the array of the bigger number.\n if (xlty) {\n t = xc;\n xc = yc;\n yc = t;\n y.s = -y.s;\n }\n /*\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\n * needs to start at yc.length.\n */\n if ((b = (j = yc.length) - (i = xc.length)) > 0)\n for (; b--;)\n xc[i++] = 0;\n // Subtract yc from xc.\n for (b = i; j > a;) {\n if (xc[--j] < yc[j]) {\n for (i = j; i && !xc[--i];)\n xc[i] = 9;\n --xc[i];\n xc[j] += 10;\n }\n xc[j] -= yc[j];\n }\n // Remove trailing zeros.\n for (; xc[--b] === 0;)\n xc.pop();\n // Remove leading zeros and adjust exponent accordingly.\n for (; xc[0] === 0;) {\n xc.shift();\n --ye;\n }\n if (!xc[0]) {\n // n - n = +0\n y.s = 1;\n // Result must be zero.\n xc = [ye = 0];\n }\n y.c = xc;\n y.e = ye;\n return y;\n};\n/*\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\n */\nP.mod = function (y) {\n var ygtx, Big = this.constructor, x = new Big(this), y = new Big(y), a = x.s, b = y.s;\n if (!y.c[0]) {\n throw Error(DIV_BY_ZERO);\n }\n x.s = y.s = 1;\n ygtx = y.cmp(x) == 1;\n x.s = a;\n y.s = b;\n if (ygtx)\n return new Big(x);\n a = Big.DP;\n b = Big.RM;\n Big.DP = Big.RM = 0;\n x = x.div(y);\n Big.DP = a;\n Big.RM = b;\n return this.minus(x.times(y));\n};\n/*\n * Return a new Big whose value is the value of this Big plus the value of Big y.\n */\nP.plus = P.add = function (y) {\n var e, k, t, Big = this.constructor, x = new Big(this), y = new Big(y);\n // Signs differ?\n if (x.s != y.s) {\n y.s = -y.s;\n return x.minus(y);\n }\n var xe = x.e, xc = x.c, ye = y.e, yc = y.c;\n // Either zero?\n if (!xc[0] || !yc[0]) {\n if (!yc[0]) {\n if (xc[0]) {\n y = new Big(x);\n }\n else {\n y.s = x.s;\n }\n }\n return y;\n }\n xc = xc.slice();\n // Prepend zeros to equalise exponents.\n // Note: reverse faster than unshifts.\n if (e = xe - ye) {\n if (e > 0) {\n ye = xe;\n t = yc;\n }\n else {\n e = -e;\n t = xc;\n }\n t.reverse();\n for (; e--;)\n t.push(0);\n t.reverse();\n }\n // Point xc to the longer array.\n if (xc.length - yc.length < 0) {\n t = yc;\n yc = xc;\n xc = t;\n }\n e = yc.length;\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\n for (k = 0; e; xc[e] %= 10)\n k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\n if (k) {\n xc.unshift(k);\n ++ye;\n }\n // Remove trailing zeros.\n for (e = xc.length; xc[--e] === 0;)\n xc.pop();\n y.c = xc;\n y.e = ye;\n return y;\n};\n/*\n * Return a Big whose value is the value of this Big raised to the power n.\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\n * mode Big.RM.\n *\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\n */\nP.pow = function (n) {\n var Big = this.constructor, x = new Big(this), y = new Big('1'), one = new Big('1'), isneg = n < 0;\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {\n throw Error(INVALID + 'exponent');\n }\n if (isneg)\n n = -n;\n for (;;) {\n if (n & 1)\n y = y.times(x);\n n >>= 1;\n if (!n)\n break;\n x = x.times(x);\n }\n return isneg ? one.div(y) : y;\n};\n/*\n * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd\n * significant digits using rounding mode rm, or Big.RM if rm is not specified.\n *\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n */\nP.prec = function (sd, rm) {\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\n throw Error(INVALID + 'precision');\n }\n return round(new this.constructor(this), sd, rm);\n};\n/*\n * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places\n * using rounding mode rm, or Big.RM if rm is not specified.\n * If dp is negative, round to an integer which is a multiple of 10**-dp.\n * If dp is not specified, round to 0 decimal places.\n *\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n */\nP.round = function (dp, rm) {\n if (dp === UNDEFINED)\n dp = 0;\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {\n throw Error(INVALID_DP);\n }\n return round(new this.constructor(this), dp + this.e + 1, rm);\n};\n/*\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\n */\nP.sqrt = function () {\n var r, c, t, Big = this.constructor, x = new Big(this), s = x.s, e = x.e, half = new Big('0.5');\n // Zero?\n if (!x.c[0])\n return new Big(x);\n // Negative?\n if (s < 0) {\n throw Error(NAME + 'No square root');\n }\n // Estimate.\n s = Math.sqrt(x + '');\n // Math.sqrt underflow/overflow?\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\n if (s === 0 || s === 1 / 0) {\n c = x.c.join('');\n if (!(c.length + e & 1))\n c += '0';\n s = Math.sqrt(c);\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\n r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\n }\n else {\n r = new Big(s + '');\n }\n e = r.e + (Big.DP += 4);\n // Newton-Raphson iteration.\n do {\n t = r;\n r = half.times(t.plus(x.div(t)));\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\n return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);\n};\n/*\n * Return a new Big whose value is the value of this Big times the value of Big y.\n */\nP.times = P.mul = function (y) {\n var c, Big = this.constructor, x = new Big(this), y = new Big(y), xc = x.c, yc = y.c, a = xc.length, b = yc.length, i = x.e, j = y.e;\n // Determine sign of result.\n y.s = x.s == y.s ? 1 : -1;\n // Return signed 0 if either 0.\n if (!xc[0] || !yc[0]) {\n y.c = [y.e = 0];\n return y;\n }\n // Initialise exponent of result as x.e + y.e.\n y.e = i + j;\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\n if (a < b) {\n c = xc;\n xc = yc;\n yc = c;\n j = a;\n a = b;\n b = j;\n }\n // Initialise coefficient array of result with zeros.\n for (c = new Array(j = a + b); j--;)\n c[j] = 0;\n // Multiply.\n // i is initially xc.length.\n for (i = b; i--;) {\n b = 0;\n // a is yc.length.\n for (j = a + i; j > i;) {\n // Current sum of products at this digit position, plus carry.\n b = c[j] + yc[i] * xc[j - i - 1] + b;\n c[j--] = b % 10;\n // carry\n b = b / 10 | 0;\n }\n c[j] = b;\n }\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\n if (b)\n ++y.e;\n else\n c.shift();\n // Remove trailing zeros.\n for (i = c.length; !c[--i];)\n c.pop();\n y.c = c;\n return y;\n};\n/*\n * Return a string representing the value of this Big in exponential notation rounded to dp fixed\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\n *\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n */\nP.toExponential = function (dp, rm) {\n var x = this, n = x.c[0];\n if (dp !== UNDEFINED) {\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\n throw Error(INVALID_DP);\n }\n x = round(new x.constructor(x), ++dp, rm);\n for (; x.c.length < dp;)\n x.c.push(0);\n }\n return stringify(x, true, !!n);\n};\n/*\n * Return a string representing the value of this Big in normal notation rounded to dp fixed\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\n *\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n *\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\n */\nP.toFixed = function (dp, rm) {\n var x = this, n = x.c[0];\n if (dp !== UNDEFINED) {\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\n throw Error(INVALID_DP);\n }\n x = round(new x.constructor(x), dp + x.e + 1, rm);\n // x.e may have changed if the value is rounded up.\n for (dp = dp + x.e + 1; x.c.length < dp;)\n x.c.push(0);\n }\n return stringify(x, false, !!n);\n};\n/*\n * Return a string representing the value of this Big.\n * Return exponential notation if this Big has a positive exponent equal to or greater than\n * Big.PE, or a negative exponent equal to or less than Big.NE.\n * Omit the sign for negative zero.\n */\nP.toJSON = P.toString = function () {\n var x = this, Big = x.constructor;\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);\n};\n/*\n * Return the value of this Big as a primitve number.\n */\nP.toNumber = function () {\n var n = Number(stringify(this, true, true));\n if (this.constructor.strict === true && !this.eq(n.toString())) {\n throw Error(NAME + 'Imprecise conversion');\n }\n return n;\n};\n/*\n * Return a string representing the value of this Big rounded to sd significant digits using\n * rounding mode rm, or Big.RM if rm is not specified.\n * Use exponential notation if sd is less than the number of digits necessary to represent\n * the integer part of the value in normal notation.\n *\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\n */\nP.toPrecision = function (sd, rm) {\n var x = this, Big = x.constructor, n = x.c[0];\n if (sd !== UNDEFINED) {\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\n throw Error(INVALID + 'precision');\n }\n x = round(new Big(x), sd, rm);\n for (; x.c.length < sd;)\n x.c.push(0);\n }\n return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);\n};\n/*\n * Return a string representing the value of this Big.\n * Return exponential notation if this Big has a positive exponent equal to or greater than\n * Big.PE, or a negative exponent equal to or less than Big.NE.\n * Include the sign for negative zero.\n */\nP.valueOf = function () {\n var x = this, Big = x.constructor;\n if (Big.strict === true) {\n throw Error(NAME + 'valueOf disallowed');\n }\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);\n};\n// Export\nexport var Big = _Big_();\n/// \nexport default Big;\n","import Decimal from \"./lib/big.js\";\nimport { FSharpRef } from \"./Types.js\";\nexport default Decimal;\nexport const get_Zero = new Decimal(0);\nexport const get_One = new Decimal(1);\nexport const get_MinusOne = new Decimal(-1);\nexport const get_MaxValue = new Decimal(\"79228162514264337593543950335\");\nexport const get_MinValue = new Decimal(\"-79228162514264337593543950335\");\nexport function compare(x, y) {\n return x.cmp(y);\n}\nexport function equals(x, y) {\n return !x.cmp(y);\n}\nexport function abs(x) {\n return x.abs();\n}\nexport function round(x, digits = 0) {\n return x.round(digits, 2 /* ROUND_HALF_EVEN */);\n}\nexport function truncate(x) {\n return x.round(0, 0 /* ROUND_DOWN */);\n}\nexport function ceiling(x) {\n return x.round(0, x.cmp(0) >= 0 ? 3 /* ROUND_UP */ : 0 /* ROUND_DOWN */);\n}\nexport function floor(x) {\n return x.round(0, x.cmp(0) >= 0 ? 0 /* ROUND_DOWN */ : 3 /* ROUND_UP */);\n}\nexport function pow(x, n) {\n return x.pow(n);\n}\nexport function sqrt(x) {\n return x.sqrt();\n}\nexport function op_Addition(x, y) {\n return x.add(y);\n}\nexport function op_Subtraction(x, y) {\n return x.sub(y);\n}\nexport function op_Multiply(x, y) {\n return x.mul(y);\n}\nexport function op_Division(x, y) {\n return x.div(y);\n}\nexport function op_Modulus(x, y) {\n return x.mod(y);\n}\nexport function op_UnaryNegation(x) {\n const x2 = new Decimal(x);\n x2.s = -x2.s || 0;\n return x2;\n}\nexport const add = op_Addition;\nexport const subtract = op_Subtraction;\nexport const multiply = op_Multiply;\nexport const divide = op_Division;\nexport const remainder = op_Modulus;\nexport const negate = op_UnaryNegation;\nexport function toString(x) {\n return x.toString();\n}\nexport function tryParse(str, defValue) {\n try {\n defValue.contents = new Decimal(str.trim());\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nexport function parse(str) {\n const defValue = new FSharpRef(get_Zero);\n if (tryParse(str, defValue)) {\n return defValue.contents;\n }\n else {\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\nexport function toNumber(x) {\n return +x;\n}\nfunction decimalToHex(dec, bitSize) {\n const hex = new Uint8Array(bitSize / 4 | 0);\n let hexCount = 1;\n for (let d = 0; d < dec.length; d++) {\n let value = dec[d];\n for (let i = 0; i < hexCount; i++) {\n const digit = hex[i] * 10 + value | 0;\n hex[i] = digit & 0xF;\n value = digit >> 4;\n }\n if (value !== 0) {\n hex[hexCount++] = value;\n }\n }\n return hex.slice(0, hexCount); // digits in reverse order\n}\nfunction hexToDecimal(hex, bitSize) {\n const dec = new Uint8Array(bitSize * 301 / 1000 + 1 | 0);\n let decCount = 1;\n for (let d = hex.length - 1; d >= 0; d--) {\n let carry = hex[d];\n for (let i = 0; i < decCount; i++) {\n const val = dec[i] * 16 + carry | 0;\n dec[i] = (val % 10) | 0;\n carry = (val / 10) | 0;\n }\n while (carry > 0) {\n dec[decCount++] = (carry % 10) | 0;\n carry = (carry / 10) | 0;\n }\n }\n return dec.slice(0, decCount); // digits in reverse order\n}\nfunction setInt32Bits(hexDigits, bits, offset) {\n for (let i = 0; i < 8; i++) {\n hexDigits[offset + i] = (bits >> (i * 4)) & 0xF;\n }\n}\nfunction getInt32Bits(hexDigits, offset) {\n let bits = 0;\n for (let i = 0; i < 8; i++) {\n bits = bits | (hexDigits[offset + i] << (i * 4));\n }\n return bits;\n}\nexport function fromIntArray(bits) {\n return fromInts(bits[0], bits[1], bits[2], bits[3]);\n}\nexport function fromInts(low, mid, high, signExp) {\n const isNegative = signExp < 0;\n const scale = (signExp >> 16) & 0x7F;\n return fromParts(low, mid, high, isNegative, scale);\n}\nexport function fromParts(low, mid, high, isNegative, scale) {\n const bitSize = 96;\n const hexDigits = new Uint8Array(bitSize / 4);\n setInt32Bits(hexDigits, low, 0);\n setInt32Bits(hexDigits, mid, 8);\n setInt32Bits(hexDigits, high, 16);\n const decDigits = hexToDecimal(hexDigits, bitSize);\n scale = scale & 0x7F;\n const big = new Decimal(0);\n big.c = Array.from(decDigits.reverse());\n big.e = decDigits.length - scale - 1;\n big.s = isNegative ? -1 : 1;\n const d = new Decimal(big);\n return d;\n}\nexport function getBits(d) {\n const bitSize = 96;\n const decDigits = Uint8Array.from(d.c);\n const hexDigits = decimalToHex(decDigits, bitSize);\n const low = getInt32Bits(hexDigits, 0);\n const mid = getInt32Bits(hexDigits, 8);\n const high = getInt32Bits(hexDigits, 16);\n const decStr = d.toString();\n const dotPos = decStr.indexOf(\".\");\n const scale = dotPos < 0 ? 0 : decStr.length - dotPos - 1;\n const signExp = ((scale & 0x7F) << 16) | (d.s < 0 ? 0x80000000 : 0);\n return [low, mid, high, signExp];\n}\n// export function makeRangeStepFunction(step: Decimal, last: Decimal) {\n// const stepComparedWithZero = step.cmp(get_Zero);\n// if (stepComparedWithZero === 0) {\n// throw new Error(\"The step of a range cannot be zero\");\n// }\n// const stepGreaterThanZero = stepComparedWithZero > 0;\n// return (x: Decimal) => {\n// const comparedWithLast = x.cmp(last);\n// if ((stepGreaterThanZero && comparedWithLast <= 0)\n// || (!stepGreaterThanZero && comparedWithLast >= 0)) {\n// return [x, op_Addition(x, step)];\n// } else {\n// return undefined;\n// }\n// };\n// }\n","import { FSharpRef } from \"./Types.js\";\nexport function tryParse(str, defValue) {\n // TODO: test if value is valid and in range\n if (str != null && /\\S/.test(str)) {\n const v = +str.replace(\"_\", \"\");\n if (!Number.isNaN(v)) {\n defValue.contents = v;\n return true;\n }\n }\n return false;\n}\nexport function parse(str) {\n const defValue = new FSharpRef(0);\n if (tryParse(str, defValue)) {\n return defValue.contents;\n }\n else {\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\n// JS Number.isFinite function evals false for NaN\nexport function isInfinity(x) {\n return x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY;\n}\n","// export type decimal = Decimal;\nexport var NumberStyles;\n(function (NumberStyles) {\n // None = 0x00000000,\n // AllowLeadingWhite = 0x00000001,\n // AllowTrailingWhite = 0x00000002,\n // AllowLeadingSign = 0x00000004,\n // AllowTrailingSign = 0x00000008,\n // AllowParentheses = 0x00000010,\n // AllowDecimalPoint = 0x00000020,\n // AllowThousands = 0x00000040,\n // AllowExponent = 0x00000080,\n // AllowCurrencySymbol = 0x00000100,\n NumberStyles[NumberStyles[\"AllowHexSpecifier\"] = 512] = \"AllowHexSpecifier\";\n // Integer = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign,\n // HexNumber = AllowLeadingWhite | AllowTrailingWhite | AllowHexSpecifier,\n // Number = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign |\n // AllowTrailingSign | AllowDecimalPoint | AllowThousands,\n // Float = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign |\n // AllowDecimalPoint | AllowExponent,\n // Currency = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign |\n // AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol,\n // Any = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign |\n // AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol | AllowExponent,\n})(NumberStyles || (NumberStyles = {}));\nfunction validResponse(regexMatch, radix) {\n const [/*all*/ , sign, prefix, digits] = regexMatch;\n return {\n sign: sign || \"\",\n prefix: prefix || \"\",\n digits,\n radix,\n };\n}\nfunction getRange(unsigned, bitsize) {\n switch (bitsize) {\n case 8: return unsigned ? [0, 255] : [-128, 127];\n case 16: return unsigned ? [0, 65535] : [-32768, 32767];\n case 32: return unsigned ? [0, 4294967295] : [-2147483648, 2147483647];\n default: throw new Error(\"Invalid bit size.\");\n }\n}\nfunction getInvalidDigits(radix) {\n switch (radix) {\n case 2: return /[^0-1]/;\n case 8: return /[^0-7]/;\n case 10: return /[^0-9]/;\n case 16: return /[^0-9a-fA-F]/;\n default:\n throw new Error(\"Invalid Base.\");\n }\n}\nfunction getRadix(prefix, style) {\n if (style & NumberStyles.AllowHexSpecifier) {\n return 16;\n }\n else {\n switch (prefix) {\n case \"0b\":\n case \"0B\": return 2;\n case \"0o\":\n case \"0O\": return 8;\n case \"0x\":\n case \"0X\": return 16;\n default: return 10;\n }\n }\n}\nexport function isValid(str, style, radix) {\n const integerRegex = /^\\s*([\\+\\-])?(0[xXoObB])?([0-9a-fA-F]+)\\s*$/;\n const res = integerRegex.exec(str.replace(/_/g, \"\"));\n if (res != null) {\n const [/*all*/ , /*sign*/ , prefix, digits] = res;\n radix = radix || getRadix(prefix, style);\n const invalidDigits = getInvalidDigits(radix);\n if (!invalidDigits.test(digits)) {\n return validResponse(res, radix);\n }\n }\n return null;\n}\nexport function parse(str, style, unsigned, bitsize, radix) {\n const res = isValid(str, style, radix);\n if (res != null) {\n let v = Number.parseInt(res.sign + res.digits, res.radix);\n if (!Number.isNaN(v)) {\n const [umin, umax] = getRange(true, bitsize);\n if (!unsigned && res.radix !== 10 && v >= umin && v <= umax) {\n v = v << (32 - bitsize) >> (32 - bitsize);\n }\n const [min, max] = getRange(unsigned, bitsize);\n if (v >= min && v <= max) {\n return v;\n }\n }\n }\n throw new Error(\"Input string was not in a correct format.\");\n}\nexport function tryParse(str, style, unsigned, bitsize, defValue) {\n try {\n defValue.contents = parse(str, style, unsigned, bitsize);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nexport function op_UnaryNegation_Int8(x) {\n return x === -128 ? x : -x;\n}\nexport function op_UnaryNegation_Int16(x) {\n return x === -32768 ? x : -x;\n}\nexport function op_UnaryNegation_Int32(x) {\n return x === -2147483648 ? x : -x;\n}\nexport function divRem(x, y, out) {\n const div = ~~(x / y);\n const rem = x % y;\n if (out != null) {\n out.contents = rem;\n return div;\n }\n else {\n return [div, rem];\n }\n}\n","\r\nexport const SR_indexOutOfBounds = \"The index was outside the range of elements in the collection.\";\r\n\r\nexport const SR_inputWasEmpty = \"Collection was empty.\";\r\n\r\nexport const SR_inputMustBeNonNegative = \"The input must be non-negative.\";\r\n\r\nexport const SR_inputSequenceEmpty = \"The input sequence was empty.\";\r\n\r\nexport const SR_inputSequenceTooLong = \"The input sequence contains more than one element.\";\r\n\r\nexport const SR_keyNotFoundAlt = \"An index satisfying the predicate was not found in the collection.\";\r\n\r\nexport const SR_differentLengths = \"The collections had different lengths.\";\r\n\r\nexport const SR_notEnoughElements = \"The input sequence has an insufficient number of elements.\";\r\n\r\n","import { join } from \"./String.js\";\r\nimport { uncurry, disposeSafe, isArrayLike, getEnumerator, toIterator, compare, structuralHash, equals } from \"./Util.js\";\r\nimport { Record } from \"./Types.js\";\r\nimport { class_type, record_type, option_type } from \"./Reflection.js\";\r\nimport { SR_inputSequenceTooLong, SR_inputSequenceEmpty, SR_inputMustBeNonNegative, SR_notEnoughElements, SR_differentLengths, SR_keyNotFoundAlt, SR_indexOutOfBounds, SR_inputWasEmpty } from \"./Global.js\";\r\nimport { defaultArg, value as value_1, some } from \"./Option.js\";\r\nimport { transpose as transpose_1, splitInto as splitInto_1, windowed as windowed_1, pairwise as pairwise_1, chunkBySize as chunkBySize_1, map as map_1, permute as permute_1, tryFindIndexBack as tryFindIndexBack_1, tryFindBack as tryFindBack_1, scanBack as scanBack_1, foldBack2 as foldBack2_1, foldBack as foldBack_1, fill } from \"./Array.js\";\r\n\r\nexport class FSharpList extends Record {\r\n constructor(head, tail) {\r\n super();\r\n this.head = head;\r\n this.tail = tail;\r\n }\r\n toString() {\r\n const xs = this;\r\n return (\"[\" + join(\"; \", xs)) + \"]\";\r\n }\r\n Equals(other) {\r\n const xs = this;\r\n if (xs === other) {\r\n return true;\r\n }\r\n else {\r\n const loop = (xs_1_mut, ys_1_mut) => {\r\n loop:\r\n while (true) {\r\n const xs_1 = xs_1_mut, ys_1 = ys_1_mut;\r\n const matchValue = [xs_1.tail, ys_1.tail];\r\n if (matchValue[0] != null) {\r\n if (matchValue[1] != null) {\r\n const xt = matchValue[0];\r\n const yt = matchValue[1];\r\n if (equals(xs_1.head, ys_1.head)) {\r\n xs_1_mut = xt;\r\n ys_1_mut = yt;\r\n continue loop;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if (matchValue[1] != null) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(xs, other);\r\n }\r\n }\r\n GetHashCode() {\r\n const xs = this;\r\n const loop = (i_mut, h_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, h = h_mut, xs_1 = xs_1_mut;\r\n const matchValue = xs_1.tail;\r\n if (matchValue != null) {\r\n const t = matchValue;\r\n if (i > 18) {\r\n return h | 0;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n h_mut = (((h << 1) + structuralHash(xs_1.head)) + (631 * i));\r\n xs_1_mut = t;\r\n continue loop;\r\n }\r\n }\r\n else {\r\n return h | 0;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, 0, xs) | 0;\r\n }\r\n toJSON(_key) {\r\n const this$ = this;\r\n return Array.from(this$);\r\n }\r\n CompareTo(other) {\r\n const xs = this;\r\n const loop = (xs_1_mut, ys_1_mut) => {\r\n loop:\r\n while (true) {\r\n const xs_1 = xs_1_mut, ys_1 = ys_1_mut;\r\n const matchValue = [xs_1.tail, ys_1.tail];\r\n if (matchValue[0] != null) {\r\n if (matchValue[1] != null) {\r\n const xt = matchValue[0];\r\n const yt = matchValue[1];\r\n const c = compare(xs_1.head, ys_1.head) | 0;\r\n if (c === 0) {\r\n xs_1_mut = xt;\r\n ys_1_mut = yt;\r\n continue loop;\r\n }\r\n else {\r\n return c | 0;\r\n }\r\n }\r\n else {\r\n return 1;\r\n }\r\n }\r\n else if (matchValue[1] != null) {\r\n return -1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(xs, other) | 0;\r\n }\r\n GetEnumerator() {\r\n const xs = this;\r\n return ListEnumerator$1_$ctor_3002E699(xs);\r\n }\r\n [Symbol.iterator]() {\r\n return toIterator(this.GetEnumerator());\r\n }\r\n [\"System.Collections.IEnumerable.GetEnumerator\"]() {\r\n const xs = this;\r\n return getEnumerator(xs);\r\n }\r\n}\r\n\r\nexport function FSharpList$reflection(gen0) {\r\n return record_type(\"ListModule.FSharpList\", [gen0], FSharpList, () => [[\"head\", gen0], [\"tail\", option_type(FSharpList$reflection(gen0))]]);\r\n}\r\n\r\nexport class ListEnumerator$1 {\r\n constructor(xs) {\r\n this.xs = xs;\r\n this.it = this.xs;\r\n this.current = null;\r\n }\r\n [\"System.Collections.Generic.IEnumerator`1.get_Current\"]() {\r\n const __ = this;\r\n return __.current;\r\n }\r\n [\"System.Collections.IEnumerator.get_Current\"]() {\r\n const __ = this;\r\n return __.current;\r\n }\r\n [\"System.Collections.IEnumerator.MoveNext\"]() {\r\n const __ = this;\r\n const matchValue = __.it.tail;\r\n if (matchValue != null) {\r\n const t = matchValue;\r\n __.current = __.it.head;\r\n __.it = t;\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n [\"System.Collections.IEnumerator.Reset\"]() {\r\n const __ = this;\r\n __.it = __.xs;\r\n __.current = null;\r\n }\r\n Dispose() {\r\n }\r\n}\r\n\r\nexport function ListEnumerator$1$reflection(gen0) {\r\n return class_type(\"ListModule.ListEnumerator`1\", [gen0], ListEnumerator$1);\r\n}\r\n\r\nexport function ListEnumerator$1_$ctor_3002E699(xs) {\r\n return new ListEnumerator$1(xs);\r\n}\r\n\r\nexport function FSharpList_get_Empty() {\r\n return new FSharpList(null, void 0);\r\n}\r\n\r\nexport function FSharpList_Cons_305B8EAC(x, xs) {\r\n return new FSharpList(x, xs);\r\n}\r\n\r\nexport function FSharpList__get_IsEmpty(xs) {\r\n return xs.tail == null;\r\n}\r\n\r\nexport function FSharpList__get_Length(xs) {\r\n const loop = (i_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, xs_1 = xs_1_mut;\r\n const matchValue = xs_1.tail;\r\n if (matchValue != null) {\r\n i_mut = (i + 1);\r\n xs_1_mut = matchValue;\r\n continue loop;\r\n }\r\n else {\r\n return i | 0;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, xs) | 0;\r\n}\r\n\r\nexport function FSharpList__get_Head(xs) {\r\n const matchValue = xs.tail;\r\n if (matchValue != null) {\r\n return xs.head;\r\n }\r\n else {\r\n throw (new Error((SR_inputWasEmpty + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n}\r\n\r\nexport function FSharpList__get_Tail(xs) {\r\n const matchValue = xs.tail;\r\n if (matchValue != null) {\r\n return matchValue;\r\n }\r\n else {\r\n throw (new Error((SR_inputWasEmpty + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n}\r\n\r\nexport function FSharpList__get_Item_Z524259A4(xs, index) {\r\n const loop = (i_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, xs_1 = xs_1_mut;\r\n const matchValue = xs_1.tail;\r\n if (matchValue != null) {\r\n if (i === index) {\r\n return xs_1.head;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n xs_1_mut = matchValue;\r\n continue loop;\r\n }\r\n }\r\n else {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, xs);\r\n}\r\n\r\nexport function empty() {\r\n return FSharpList_get_Empty();\r\n}\r\n\r\nexport function cons(x, xs) {\r\n return FSharpList_Cons_305B8EAC(x, xs);\r\n}\r\n\r\nexport function singleton(x) {\r\n return FSharpList_Cons_305B8EAC(x, FSharpList_get_Empty());\r\n}\r\n\r\nexport function isEmpty(xs) {\r\n return FSharpList__get_IsEmpty(xs);\r\n}\r\n\r\nexport function length(xs) {\r\n return FSharpList__get_Length(xs);\r\n}\r\n\r\nexport function head(xs) {\r\n return FSharpList__get_Head(xs);\r\n}\r\n\r\nexport function tryHead(xs) {\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n return void 0;\r\n }\r\n else {\r\n return some(FSharpList__get_Head(xs));\r\n }\r\n}\r\n\r\nexport function tail(xs) {\r\n return FSharpList__get_Tail(xs);\r\n}\r\n\r\nexport function tryLast(xs_mut) {\r\n tryLast:\r\n while (true) {\r\n const xs = xs_mut;\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n return void 0;\r\n }\r\n else {\r\n const t = FSharpList__get_Tail(xs);\r\n if (FSharpList__get_IsEmpty(t)) {\r\n return some(FSharpList__get_Head(xs));\r\n }\r\n else {\r\n xs_mut = t;\r\n continue tryLast;\r\n }\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function last(xs) {\r\n const matchValue = tryLast(xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_inputWasEmpty));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function compareWith(comparer, xs, ys) {\r\n const loop = (xs_1_mut, ys_1_mut) => {\r\n loop:\r\n while (true) {\r\n const xs_1 = xs_1_mut, ys_1 = ys_1_mut;\r\n const matchValue = [FSharpList__get_IsEmpty(xs_1), FSharpList__get_IsEmpty(ys_1)];\r\n if (matchValue[0]) {\r\n if (matchValue[1]) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n else if (matchValue[1]) {\r\n return 1;\r\n }\r\n else {\r\n const c = comparer(FSharpList__get_Head(xs_1), FSharpList__get_Head(ys_1)) | 0;\r\n if (c === 0) {\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n ys_1_mut = FSharpList__get_Tail(ys_1);\r\n continue loop;\r\n }\r\n else {\r\n return c | 0;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(xs, ys) | 0;\r\n}\r\n\r\nexport function toArray(xs) {\r\n const len = FSharpList__get_Length(xs) | 0;\r\n const res = fill(new Array(len), 0, len, null);\r\n const loop = (i_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, xs_1 = xs_1_mut;\r\n if (!FSharpList__get_IsEmpty(xs_1)) {\r\n res[i] = FSharpList__get_Head(xs_1);\r\n i_mut = (i + 1);\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n loop(0, xs);\r\n return res;\r\n}\r\n\r\nexport function fold(folder, state, xs) {\r\n let acc = state;\r\n let xs_1 = xs;\r\n while (!FSharpList__get_IsEmpty(xs_1)) {\r\n acc = folder(acc, FSharpList__get_Head(xs_1));\r\n xs_1 = FSharpList__get_Tail(xs_1);\r\n }\r\n return acc;\r\n}\r\n\r\nexport function reverse(xs) {\r\n return fold((acc, x) => FSharpList_Cons_305B8EAC(x, acc), FSharpList_get_Empty(), xs);\r\n}\r\n\r\nexport function foldBack(folder, xs, state) {\r\n return foldBack_1(folder, toArray(xs), state);\r\n}\r\n\r\nexport function foldIndexed(folder, state, xs) {\r\n const loop = (i_mut, acc_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, acc = acc_mut, xs_1 = xs_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1)) {\r\n return acc;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n acc_mut = folder(i, acc, FSharpList__get_Head(xs_1));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, state, xs);\r\n}\r\n\r\nexport function fold2(folder, state, xs, ys) {\r\n let acc = state;\r\n let xs_1 = xs;\r\n let ys_1 = ys;\r\n while ((!FSharpList__get_IsEmpty(xs_1)) && (!FSharpList__get_IsEmpty(ys_1))) {\r\n acc = folder(acc, FSharpList__get_Head(xs_1), FSharpList__get_Head(ys_1));\r\n xs_1 = FSharpList__get_Tail(xs_1);\r\n ys_1 = FSharpList__get_Tail(ys_1);\r\n }\r\n return acc;\r\n}\r\n\r\nexport function foldBack2(folder, xs, ys, state) {\r\n return foldBack2_1(folder, toArray(xs), toArray(ys), state);\r\n}\r\n\r\nexport function unfold(gen, state) {\r\n const loop = (acc_mut, node_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const acc = acc_mut, node = node_mut;\r\n const matchValue = gen(acc);\r\n if (matchValue != null) {\r\n acc_mut = matchValue[1];\r\n node_mut = ((t = (new FSharpList(matchValue[0], void 0)), (node.tail = t, t)));\r\n continue loop;\r\n }\r\n else {\r\n return node;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node_1 = loop(state, root);\r\n const t_2 = FSharpList_get_Empty();\r\n node_1.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function iterate(action, xs) {\r\n fold((unitVar, x) => {\r\n action(x);\r\n }, void 0, xs);\r\n}\r\n\r\nexport function iterate2(action, xs, ys) {\r\n fold2((unitVar, x, y) => {\r\n action(x, y);\r\n }, void 0, xs, ys);\r\n}\r\n\r\nexport function iterateIndexed(action, xs) {\r\n fold((i, x) => {\r\n action(i, x);\r\n return (i + 1) | 0;\r\n }, 0, xs);\r\n}\r\n\r\nexport function iterateIndexed2(action, xs, ys) {\r\n fold2((i, x, y) => {\r\n action(i, x, y);\r\n return (i + 1) | 0;\r\n }, 0, xs, ys);\r\n}\r\n\r\nexport function toSeq(xs) {\r\n return xs;\r\n}\r\n\r\nexport function ofArrayWithTail(xs, tail_1) {\r\n let res = tail_1;\r\n for (let i = xs.length - 1; i >= 0; i--) {\r\n res = FSharpList_Cons_305B8EAC(xs[i], res);\r\n }\r\n return res;\r\n}\r\n\r\nexport function ofArray(xs) {\r\n return ofArrayWithTail(xs, FSharpList_get_Empty());\r\n}\r\n\r\nexport function ofSeq(xs) {\r\n let xs_3, t;\r\n if (isArrayLike(xs)) {\r\n return ofArray(xs);\r\n }\r\n else if (xs instanceof FSharpList) {\r\n return xs;\r\n }\r\n else {\r\n const root = FSharpList_get_Empty();\r\n let node = root;\r\n const enumerator = getEnumerator(xs);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n const x = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\r\n node = ((xs_3 = node, (t = (new FSharpList(x, void 0)), (xs_3.tail = t, t))));\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n const xs_5 = node;\r\n const t_2 = FSharpList_get_Empty();\r\n xs_5.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n }\r\n}\r\n\r\nexport function concat(lists) {\r\n const root = FSharpList_get_Empty();\r\n let node = root;\r\n const action = (xs) => {\r\n node = fold((acc, x) => {\r\n const t = new FSharpList(x, void 0);\r\n acc.tail = t;\r\n return t;\r\n }, node, xs);\r\n };\r\n if (isArrayLike(lists)) {\r\n lists.forEach(action);\r\n }\r\n else if (lists instanceof FSharpList) {\r\n iterate(action, lists);\r\n }\r\n else {\r\n const enumerator = getEnumerator(lists);\r\n try {\r\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\r\n action(enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]());\r\n }\r\n }\r\n finally {\r\n disposeSafe(enumerator);\r\n }\r\n }\r\n const xs_6 = node;\r\n const t_2 = FSharpList_get_Empty();\r\n xs_6.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function scan(folder, state, xs) {\r\n let xs_4, t_2;\r\n const root = FSharpList_get_Empty();\r\n let node;\r\n const t = new FSharpList(state, void 0);\r\n root.tail = t;\r\n node = t;\r\n let acc = state;\r\n let xs_3 = xs;\r\n while (!FSharpList__get_IsEmpty(xs_3)) {\r\n acc = folder(acc, FSharpList__get_Head(xs_3));\r\n node = ((xs_4 = node, (t_2 = (new FSharpList(acc, void 0)), (xs_4.tail = t_2, t_2))));\r\n xs_3 = FSharpList__get_Tail(xs_3);\r\n }\r\n const xs_6 = node;\r\n const t_4 = FSharpList_get_Empty();\r\n xs_6.tail = t_4;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function scanBack(folder, xs, state) {\r\n return ofArray(scanBack_1(folder, toArray(xs), state));\r\n}\r\n\r\nexport function append(xs, ys) {\r\n return fold((acc, x) => FSharpList_Cons_305B8EAC(x, acc), ys, reverse(xs));\r\n}\r\n\r\nexport function collect(mapping, xs) {\r\n let xs_1, t;\r\n const root = FSharpList_get_Empty();\r\n let node = root;\r\n let ys = xs;\r\n while (!FSharpList__get_IsEmpty(ys)) {\r\n let zs = mapping(FSharpList__get_Head(ys));\r\n while (!FSharpList__get_IsEmpty(zs)) {\r\n node = ((xs_1 = node, (t = (new FSharpList(FSharpList__get_Head(zs), void 0)), (xs_1.tail = t, t))));\r\n zs = FSharpList__get_Tail(zs);\r\n }\r\n ys = FSharpList__get_Tail(ys);\r\n }\r\n const xs_3 = node;\r\n const t_2 = FSharpList_get_Empty();\r\n xs_3.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function mapIndexed(mapping, xs) {\r\n const root = FSharpList_get_Empty();\r\n const node = foldIndexed((i, acc, x) => {\r\n const t = new FSharpList(mapping(i, x), void 0);\r\n acc.tail = t;\r\n return t;\r\n }, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function map(mapping, xs) {\r\n const root = FSharpList_get_Empty();\r\n const node = fold((acc, x) => {\r\n const t = new FSharpList(mapping(x), void 0);\r\n acc.tail = t;\r\n return t;\r\n }, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function indexed(xs) {\r\n return mapIndexed((i, x) => [i, x], xs);\r\n}\r\n\r\nexport function map2(mapping, xs, ys) {\r\n const root = FSharpList_get_Empty();\r\n const node = fold2((acc, x, y) => {\r\n const t = new FSharpList(mapping(x, y), void 0);\r\n acc.tail = t;\r\n return t;\r\n }, root, xs, ys);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function mapIndexed2(mapping, xs, ys) {\r\n const loop = (i_mut, acc_mut, xs_1_mut, ys_1_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const i = i_mut, acc = acc_mut, xs_1 = xs_1_mut, ys_1 = ys_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1) ? true : FSharpList__get_IsEmpty(ys_1)) {\r\n return acc;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n acc_mut = ((t = (new FSharpList(mapping(i, FSharpList__get_Head(xs_1), FSharpList__get_Head(ys_1)), void 0)), (acc.tail = t, t)));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n ys_1_mut = FSharpList__get_Tail(ys_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node_1 = loop(0, root, xs, ys);\r\n const t_2 = FSharpList_get_Empty();\r\n node_1.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function map3(mapping, xs, ys, zs) {\r\n const loop = (acc_mut, xs_1_mut, ys_1_mut, zs_1_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const acc = acc_mut, xs_1 = xs_1_mut, ys_1 = ys_1_mut, zs_1 = zs_1_mut;\r\n if ((FSharpList__get_IsEmpty(xs_1) ? true : FSharpList__get_IsEmpty(ys_1)) ? true : FSharpList__get_IsEmpty(zs_1)) {\r\n return acc;\r\n }\r\n else {\r\n acc_mut = ((t = (new FSharpList(mapping(FSharpList__get_Head(xs_1), FSharpList__get_Head(ys_1), FSharpList__get_Head(zs_1)), void 0)), (acc.tail = t, t)));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n ys_1_mut = FSharpList__get_Tail(ys_1);\r\n zs_1_mut = FSharpList__get_Tail(zs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node_1 = loop(root, xs, ys, zs);\r\n const t_2 = FSharpList_get_Empty();\r\n node_1.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function mapFold(mapping, state, xs) {\r\n const root = FSharpList_get_Empty();\r\n const patternInput_1 = fold((tupledArg, x) => {\r\n let t;\r\n const patternInput = mapping(tupledArg[1], x);\r\n return [(t = (new FSharpList(patternInput[0], void 0)), (tupledArg[0].tail = t, t)), patternInput[1]];\r\n }, [root, state], xs);\r\n const t_2 = FSharpList_get_Empty();\r\n patternInput_1[0].tail = t_2;\r\n return [FSharpList__get_Tail(root), patternInput_1[1]];\r\n}\r\n\r\nexport function mapFoldBack(mapping, xs, state) {\r\n return mapFold((acc, x) => mapping(x, acc), state, reverse(xs));\r\n}\r\n\r\nexport function tryPick(f, xs) {\r\n const loop = (xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const xs_1 = xs_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1)) {\r\n return void 0;\r\n }\r\n else {\r\n const matchValue = f(FSharpList__get_Head(xs_1));\r\n if (matchValue == null) {\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n else {\r\n return matchValue;\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n return loop(xs);\r\n}\r\n\r\nexport function pick(f, xs) {\r\n const matchValue = tryPick(f, xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFind(f, xs) {\r\n return tryPick((x) => (f(x) ? some(x) : (void 0)), xs);\r\n}\r\n\r\nexport function find(f, xs) {\r\n const matchValue = tryFind(f, xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFindBack(f, xs) {\r\n return tryFindBack_1(f, toArray(xs));\r\n}\r\n\r\nexport function findBack(f, xs) {\r\n const matchValue = tryFindBack(f, xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n }\r\n else {\r\n return value_1(matchValue);\r\n }\r\n}\r\n\r\nexport function tryFindIndex(f, xs) {\r\n const loop = (i_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, xs_1 = xs_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1)) {\r\n return void 0;\r\n }\r\n else if (f(FSharpList__get_Head(xs_1))) {\r\n return i;\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, xs);\r\n}\r\n\r\nexport function findIndex(f, xs) {\r\n const matchValue = tryFindIndex(f, xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n }\r\n else {\r\n return matchValue | 0;\r\n }\r\n}\r\n\r\nexport function tryFindIndexBack(f, xs) {\r\n return tryFindIndexBack_1(f, toArray(xs));\r\n}\r\n\r\nexport function findIndexBack(f, xs) {\r\n const matchValue = tryFindIndexBack(f, xs);\r\n if (matchValue == null) {\r\n throw (new Error(SR_keyNotFoundAlt));\r\n }\r\n else {\r\n return matchValue | 0;\r\n }\r\n}\r\n\r\nexport function tryItem(n, xs) {\r\n const loop = (i_mut, xs_1_mut) => {\r\n loop:\r\n while (true) {\r\n const i = i_mut, xs_1 = xs_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1)) {\r\n return void 0;\r\n }\r\n else if (i === n) {\r\n return some(FSharpList__get_Head(xs_1));\r\n }\r\n else {\r\n i_mut = (i + 1);\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n return loop(0, xs);\r\n}\r\n\r\nexport function item(n, xs) {\r\n return FSharpList__get_Item_Z524259A4(xs, n);\r\n}\r\n\r\nexport function filter(f, xs) {\r\n const root = FSharpList_get_Empty();\r\n const node = fold((acc, x) => {\r\n if (f(x)) {\r\n const t = new FSharpList(x, void 0);\r\n acc.tail = t;\r\n return t;\r\n }\r\n else {\r\n return acc;\r\n }\r\n }, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function partition(f, xs) {\r\n const patternInput = [FSharpList_get_Empty(), FSharpList_get_Empty()];\r\n const root2 = patternInput[1];\r\n const root1 = patternInput[0];\r\n const patternInput_1 = fold(uncurry(2, (tupledArg) => {\r\n const lacc = tupledArg[0];\r\n const racc = tupledArg[1];\r\n return (x) => {\r\n let t, t_2;\r\n return f(x) ? [(t = (new FSharpList(x, void 0)), (lacc.tail = t, t)), racc] : [lacc, (t_2 = (new FSharpList(x, void 0)), (racc.tail = t_2, t_2))];\r\n };\r\n }), [root1, root2], xs);\r\n const t_4 = FSharpList_get_Empty();\r\n patternInput_1[0].tail = t_4;\r\n const t_5 = FSharpList_get_Empty();\r\n patternInput_1[1].tail = t_5;\r\n return [FSharpList__get_Tail(root1), FSharpList__get_Tail(root2)];\r\n}\r\n\r\nexport function choose(f, xs) {\r\n const root = FSharpList_get_Empty();\r\n const node = fold((acc, x) => {\r\n const matchValue = f(x);\r\n if (matchValue == null) {\r\n return acc;\r\n }\r\n else {\r\n const t = new FSharpList(value_1(matchValue), void 0);\r\n acc.tail = t;\r\n return t;\r\n }\r\n }, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function contains(value, xs, eq) {\r\n return tryFindIndex((v) => eq.Equals(value, v), xs) != null;\r\n}\r\n\r\nexport function initialize(n, f) {\r\n let xs, t;\r\n const root = FSharpList_get_Empty();\r\n let node = root;\r\n for (let i = 0; i <= (n - 1); i++) {\r\n node = ((xs = node, (t = (new FSharpList(f(i), void 0)), (xs.tail = t, t))));\r\n }\r\n const xs_2 = node;\r\n const t_2 = FSharpList_get_Empty();\r\n xs_2.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function replicate(n, x) {\r\n return initialize(n, (_arg) => x);\r\n}\r\n\r\nexport function reduce(f, xs) {\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n throw (new Error(SR_inputWasEmpty));\r\n }\r\n else {\r\n return fold(f, head(xs), tail(xs));\r\n }\r\n}\r\n\r\nexport function reduceBack(f, xs) {\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n throw (new Error(SR_inputWasEmpty));\r\n }\r\n else {\r\n return foldBack(f, tail(xs), head(xs));\r\n }\r\n}\r\n\r\nexport function forAll(f, xs) {\r\n return fold((acc, x) => (acc && f(x)), true, xs);\r\n}\r\n\r\nexport function forAll2(f, xs, ys) {\r\n return fold2((acc, x, y) => (acc && f(x, y)), true, xs, ys);\r\n}\r\n\r\nexport function exists(f, xs) {\r\n return tryFindIndex(f, xs) != null;\r\n}\r\n\r\nexport function exists2(f_mut, xs_mut, ys_mut) {\r\n exists2:\r\n while (true) {\r\n const f = f_mut, xs = xs_mut, ys = ys_mut;\r\n const matchValue = [FSharpList__get_IsEmpty(xs), FSharpList__get_IsEmpty(ys)];\r\n let pattern_matching_result;\r\n if (matchValue[0]) {\r\n if (matchValue[1]) {\r\n pattern_matching_result = 0;\r\n }\r\n else {\r\n pattern_matching_result = 2;\r\n }\r\n }\r\n else if (matchValue[1]) {\r\n pattern_matching_result = 2;\r\n }\r\n else {\r\n pattern_matching_result = 1;\r\n }\r\n switch (pattern_matching_result) {\r\n case 0: {\r\n return false;\r\n }\r\n case 1: {\r\n if (f(FSharpList__get_Head(xs), FSharpList__get_Head(ys))) {\r\n return true;\r\n }\r\n else {\r\n f_mut = f;\r\n xs_mut = FSharpList__get_Tail(xs);\r\n ys_mut = FSharpList__get_Tail(ys);\r\n continue exists2;\r\n }\r\n }\r\n case 2: {\r\n throw (new Error((SR_differentLengths + \"\\\\nParameter name: \") + \"list2\"));\r\n }\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function unzip(xs) {\r\n return foldBack((tupledArg, tupledArg_1) => [FSharpList_Cons_305B8EAC(tupledArg[0], tupledArg_1[0]), FSharpList_Cons_305B8EAC(tupledArg[1], tupledArg_1[1])], xs, [FSharpList_get_Empty(), FSharpList_get_Empty()]);\r\n}\r\n\r\nexport function unzip3(xs) {\r\n return foldBack((tupledArg, tupledArg_1) => [FSharpList_Cons_305B8EAC(tupledArg[0], tupledArg_1[0]), FSharpList_Cons_305B8EAC(tupledArg[1], tupledArg_1[1]), FSharpList_Cons_305B8EAC(tupledArg[2], tupledArg_1[2])], xs, [FSharpList_get_Empty(), FSharpList_get_Empty(), FSharpList_get_Empty()]);\r\n}\r\n\r\nexport function zip(xs, ys) {\r\n return map2((x, y) => [x, y], xs, ys);\r\n}\r\n\r\nexport function zip3(xs, ys, zs) {\r\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\r\n}\r\n\r\nexport function sortWith(comparer, xs) {\r\n const arr = toArray(xs);\r\n arr.sort(comparer);\r\n return ofArray(arr);\r\n}\r\n\r\nexport function sort(xs, comparer) {\r\n return sortWith((x, y) => comparer.Compare(x, y), xs);\r\n}\r\n\r\nexport function sortBy(projection, xs, comparer) {\r\n return sortWith((x, y) => comparer.Compare(projection(x), projection(y)), xs);\r\n}\r\n\r\nexport function sortDescending(xs, comparer) {\r\n return sortWith((x, y) => (comparer.Compare(x, y) * -1), xs);\r\n}\r\n\r\nexport function sortByDescending(projection, xs, comparer) {\r\n return sortWith((x, y) => (comparer.Compare(projection(x), projection(y)) * -1), xs);\r\n}\r\n\r\nexport function sum(xs, adder) {\r\n return fold((acc, x) => adder.Add(acc, x), adder.GetZero(), xs);\r\n}\r\n\r\nexport function sumBy(f, xs, adder) {\r\n return fold((acc, x) => adder.Add(acc, f(x)), adder.GetZero(), xs);\r\n}\r\n\r\nexport function maxBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function max(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? y : x), xs);\r\n}\r\n\r\nexport function minBy(projection, xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(projection(y), projection(x)) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function min(xs, comparer) {\r\n return reduce((x, y) => ((comparer.Compare(y, x) > 0) ? x : y), xs);\r\n}\r\n\r\nexport function average(xs, averager) {\r\n let count = 0;\r\n const total = fold((acc, x) => {\r\n count = ((count + 1) | 0);\r\n return averager.Add(acc, x);\r\n }, averager.GetZero(), xs);\r\n return averager.DivideByInt(total, count);\r\n}\r\n\r\nexport function averageBy(f, xs, averager) {\r\n let count = 0;\r\n const total = fold((acc, x) => {\r\n count = ((count + 1) | 0);\r\n return averager.Add(acc, f(x));\r\n }, averager.GetZero(), xs);\r\n return averager.DivideByInt(total, count);\r\n}\r\n\r\nexport function permute(f, xs) {\r\n return ofArray(permute_1(f, toArray(xs)));\r\n}\r\n\r\nexport function chunkBySize(chunkSize, xs) {\r\n return ofArray(map_1(ofArray, chunkBySize_1(chunkSize, toArray(xs))));\r\n}\r\n\r\nexport function allPairs(xs, ys) {\r\n const root = FSharpList_get_Empty();\r\n let node = root;\r\n iterate((x) => {\r\n iterate((y) => {\r\n let xs_1, t;\r\n node = ((xs_1 = node, (t = (new FSharpList([x, y], void 0)), (xs_1.tail = t, t))));\r\n }, ys);\r\n }, xs);\r\n const xs_3 = node;\r\n const t_2 = FSharpList_get_Empty();\r\n xs_3.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function skip(count_mut, xs_mut) {\r\n skip:\r\n while (true) {\r\n const count = count_mut, xs = xs_mut;\r\n if (count <= 0) {\r\n return xs;\r\n }\r\n else if (FSharpList__get_IsEmpty(xs)) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n else {\r\n count_mut = (count - 1);\r\n xs_mut = FSharpList__get_Tail(xs);\r\n continue skip;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function skipWhile(predicate_mut, xs_mut) {\r\n skipWhile:\r\n while (true) {\r\n const predicate = predicate_mut, xs = xs_mut;\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n return xs;\r\n }\r\n else if (!predicate(FSharpList__get_Head(xs))) {\r\n return xs;\r\n }\r\n else {\r\n predicate_mut = predicate;\r\n xs_mut = FSharpList__get_Tail(xs);\r\n continue skipWhile;\r\n }\r\n break;\r\n }\r\n}\r\n\r\nexport function take(count, xs) {\r\n if (count < 0) {\r\n throw (new Error((SR_inputMustBeNonNegative + \"\\\\nParameter name: \") + \"count\"));\r\n }\r\n const loop = (i_mut, acc_mut, xs_1_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const i = i_mut, acc = acc_mut, xs_1 = xs_1_mut;\r\n if (i <= 0) {\r\n return acc;\r\n }\r\n else if (FSharpList__get_IsEmpty(xs_1)) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n acc_mut = ((t = (new FSharpList(FSharpList__get_Head(xs_1), void 0)), (acc.tail = t, t)));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node = loop(count, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function takeWhile(predicate, xs) {\r\n const loop = (acc_mut, xs_1_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const acc = acc_mut, xs_1 = xs_1_mut;\r\n if (FSharpList__get_IsEmpty(xs_1)) {\r\n return acc;\r\n }\r\n else if (!predicate(FSharpList__get_Head(xs_1))) {\r\n return acc;\r\n }\r\n else {\r\n acc_mut = ((t = (new FSharpList(FSharpList__get_Head(xs_1), void 0)), (acc.tail = t, t)));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node = loop(root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function truncate(count, xs) {\r\n const loop = (i_mut, acc_mut, xs_1_mut) => {\r\n let t;\r\n loop:\r\n while (true) {\r\n const i = i_mut, acc = acc_mut, xs_1 = xs_1_mut;\r\n if (i <= 0) {\r\n return acc;\r\n }\r\n else if (FSharpList__get_IsEmpty(xs_1)) {\r\n return acc;\r\n }\r\n else {\r\n i_mut = (i - 1);\r\n acc_mut = ((t = (new FSharpList(FSharpList__get_Head(xs_1), void 0)), (acc.tail = t, t)));\r\n xs_1_mut = FSharpList__get_Tail(xs_1);\r\n continue loop;\r\n }\r\n break;\r\n }\r\n };\r\n const root = FSharpList_get_Empty();\r\n const node = loop(count, root, xs);\r\n const t_2 = FSharpList_get_Empty();\r\n node.tail = t_2;\r\n return FSharpList__get_Tail(root);\r\n}\r\n\r\nexport function getSlice(startIndex, endIndex, xs) {\r\n const len = length(xs) | 0;\r\n const startIndex_1 = defaultArg(startIndex, 0) | 0;\r\n const endIndex_1 = defaultArg(endIndex, len - 1) | 0;\r\n if (startIndex_1 < 0) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"startIndex\"));\r\n }\r\n else if (endIndex_1 >= len) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"endIndex\"));\r\n }\r\n else if (endIndex_1 < startIndex_1) {\r\n return FSharpList_get_Empty();\r\n }\r\n else {\r\n return take((endIndex_1 - startIndex_1) + 1, skip(startIndex_1, xs));\r\n }\r\n}\r\n\r\nexport function splitAt(index, xs) {\r\n if (index < 0) {\r\n throw (new Error((SR_inputMustBeNonNegative + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n if (index > FSharpList__get_Length(xs)) {\r\n throw (new Error((SR_notEnoughElements + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return [take(index, xs), skip(index, xs)];\r\n}\r\n\r\nexport function exactlyOne(xs) {\r\n if (FSharpList__get_IsEmpty(xs)) {\r\n throw (new Error((SR_inputSequenceEmpty + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n else if (FSharpList__get_IsEmpty(FSharpList__get_Tail(xs))) {\r\n return FSharpList__get_Head(xs);\r\n }\r\n else {\r\n throw (new Error((SR_inputSequenceTooLong + \"\\\\nParameter name: \") + \"list\"));\r\n }\r\n}\r\n\r\nexport function tryExactlyOne(xs) {\r\n if ((!FSharpList__get_IsEmpty(xs)) && FSharpList__get_IsEmpty(FSharpList__get_Tail(xs))) {\r\n return some(FSharpList__get_Head(xs));\r\n }\r\n else {\r\n return void 0;\r\n }\r\n}\r\n\r\nexport function where(predicate, xs) {\r\n return filter(predicate, xs);\r\n}\r\n\r\nexport function pairwise(xs) {\r\n return ofArray(pairwise_1(toArray(xs)));\r\n}\r\n\r\nexport function windowed(windowSize, xs) {\r\n return ofArray(map_1(ofArray, windowed_1(windowSize, toArray(xs))));\r\n}\r\n\r\nexport function splitInto(chunks, xs) {\r\n return ofArray(map_1(ofArray, splitInto_1(chunks, toArray(xs))));\r\n}\r\n\r\nexport function transpose(lists) {\r\n return ofArray(map_1(ofArray, transpose_1(map_1(toArray, Array.from(lists)))));\r\n}\r\n\r\nexport function insertAt(index, y, xs) {\r\n let i = -1;\r\n let isDone = false;\r\n const result = fold((acc, x) => {\r\n i = ((i + 1) | 0);\r\n if (i === index) {\r\n isDone = true;\r\n return FSharpList_Cons_305B8EAC(x, FSharpList_Cons_305B8EAC(y, acc));\r\n }\r\n else {\r\n return FSharpList_Cons_305B8EAC(x, acc);\r\n }\r\n }, FSharpList_get_Empty(), xs);\r\n return reverse(isDone ? result : (((i + 1) === index) ? FSharpList_Cons_305B8EAC(y, result) : (() => {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n })()));\r\n}\r\n\r\nexport function insertManyAt(index, ys, xs) {\r\n let i = -1;\r\n let isDone = false;\r\n const ys_1 = ofSeq(ys);\r\n const result = fold((acc, x) => {\r\n i = ((i + 1) | 0);\r\n if (i === index) {\r\n isDone = true;\r\n return FSharpList_Cons_305B8EAC(x, append(ys_1, acc));\r\n }\r\n else {\r\n return FSharpList_Cons_305B8EAC(x, acc);\r\n }\r\n }, FSharpList_get_Empty(), xs);\r\n return reverse(isDone ? result : (((i + 1) === index) ? append(ys_1, result) : (() => {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n })()));\r\n}\r\n\r\nexport function removeAt(index, xs) {\r\n let i = -1;\r\n let isDone = false;\r\n const ys = filter((_arg) => {\r\n i = ((i + 1) | 0);\r\n if (i === index) {\r\n isDone = true;\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }, xs);\r\n if (!isDone) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return ys;\r\n}\r\n\r\nexport function removeManyAt(index, count, xs) {\r\n let i = -1;\r\n let status = -1;\r\n const ys = filter((_arg) => {\r\n i = ((i + 1) | 0);\r\n if (i === index) {\r\n status = 0;\r\n return false;\r\n }\r\n else if (i > index) {\r\n if (i < (index + count)) {\r\n return false;\r\n }\r\n else {\r\n status = 1;\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }, xs);\r\n const status_1 = (((status === 0) && ((i + 1) === (index + count))) ? 1 : status) | 0;\r\n if (status_1 < 1) {\r\n const arg = (status_1 < 0) ? \"index\" : \"count\";\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + arg));\r\n }\r\n return ys;\r\n}\r\n\r\nexport function updateAt(index, y, xs) {\r\n let isDone = false;\r\n const ys = mapIndexed((i, x) => {\r\n if (i === index) {\r\n isDone = true;\r\n return y;\r\n }\r\n else {\r\n return x;\r\n }\r\n }, xs);\r\n if (!isDone) {\r\n throw (new Error((SR_indexOutOfBounds + \"\\\\nParameter name: \") + \"index\"));\r\n }\r\n return ys;\r\n}\r\n\r\n","// Adapted from: https://github.com/dcodeIO/long.js/blob/master/src/long.js\n// Apache License 2.0: https://github.com/dcodeIO/long.js/blob/master/LICENSE\n/* tslint:disable */\nimport { symbol } from \"../Numeric.js\";\n/**\n * wasm optimizations, to do native i64 multiplication and divide\n */\nvar wasm = null;\ntry {\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11\n ])), {}).exports;\n}\ncatch (e) {\n // no wasm support :(\n}\n/**\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\n * See the from* functions below for more convenient ways of constructing Longs.\n * @exports Long\n * @class A Long class for representing a 64 bit two's-complement integer value.\n * @param {number} low The low (signed) 32 bits of the long\n * @param {number} high The high (signed) 32 bits of the long\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @constructor\n */\nexport function Long(low, high, unsigned) {\n /**\n * The low 32 bits as a signed value.\n * @type {number}\n */\n this.low = low | 0;\n /**\n * The high 32 bits as a signed value.\n * @type {number}\n */\n this.high = high | 0;\n /**\n * Whether unsigned or not.\n * @type {boolean}\n */\n this.unsigned = !!unsigned;\n}\nLong.prototype.GetHashCode = function () {\n let h1 = this.unsigned ? 1 : 0;\n h1 = ((h1 << 5) + h1) ^ this.high;\n h1 = ((h1 << 5) + h1) ^ this.low;\n return h1;\n};\nLong.prototype.Equals = function (x) { return equals(this, x); };\nLong.prototype.CompareTo = function (x) { return compare(this, x); };\nLong.prototype.toString = function (radix) { return toString(this, radix); };\nLong.prototype.toJSON = function () { return toString(this); };\nLong.prototype[symbol] = function () {\n const x = this;\n return {\n multiply: y => multiply(x, y),\n toPrecision: sd => String(x) + (0).toPrecision(sd).substr(1),\n toExponential: dp => String(x) + (0).toExponential(dp).substr(1),\n toFixed: dp => String(x) + (0).toFixed(dp).substr(1),\n toHex: () => toString(x.unsigned ? x : fromBytes(toBytes(x), true), 16),\n };\n};\n// The internal representation of a long is the two given signed, 32-bit values.\n// We use 32-bit pieces because these are the size of integers on which\n// Javascript performs bit-operations. For operations like addition and\n// multiplication, we split each number into 16 bit pieces, which can easily be\n// multiplied within Javascript's floating-point representation without overflow\n// or change in sign.\n//\n// In the algorithms below, we frequently reduce the negative case to the\n// positive case by negating the input(s) and then post-processing the result.\n// Note that we must ALWAYS check specially whether those values are MIN_VALUE\n// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\n// a positive number, it overflows back into a negative). Not handling this\n// case would often result in infinite recursion.\n//\n// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\n// methods on which they depend.\n/**\n * An indicator used to reliably determine if an object is a Long or not.\n * @type {boolean}\n * @const\n * @private\n */\nLong.prototype.__isLong__;\nObject.defineProperty(Long.prototype, \"__isLong__\", { value: true });\n/**\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n * @inner\n */\nexport function isLong(obj) {\n return (obj && obj[\"__isLong__\"]) === true;\n}\n/**\n * Tests if the specified object is a Long.\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n */\n// Long.isLong = isLong;\n/**\n * A cache of the Long representations of small integer values.\n * @type {!Object}\n * @inner\n */\nvar INT_CACHE = {};\n/**\n * A cache of the Long representations of small unsigned integer values.\n * @type {!Object}\n * @inner\n */\nvar UINT_CACHE = {};\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nexport function fromInt(value, unsigned) {\n var obj, cachedObj, cache;\n if (unsigned) {\n value >>>= 0;\n if (cache = (0 <= value && value < 256)) {\n cachedObj = UINT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\n if (cache)\n UINT_CACHE[value] = obj;\n return obj;\n }\n else {\n value |= 0;\n if (cache = (-128 <= value && value < 128)) {\n cachedObj = INT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, value < 0 ? -1 : 0, false);\n if (cache)\n INT_CACHE[value] = obj;\n return obj;\n }\n}\n/**\n * Returns a Long representing the given 32 bit integer value.\n * @function\n * @param {number} value The 32 bit integer in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromInt = fromInt;\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nexport function fromNumber(value, unsigned) {\n if (isNaN(value))\n return unsigned ? UZERO : ZERO;\n if (unsigned) {\n if (value < 0)\n return UZERO;\n if (value >= TWO_PWR_64_DBL)\n return MAX_UNSIGNED_VALUE;\n }\n else {\n if (value <= -TWO_PWR_63_DBL)\n return MIN_VALUE;\n if (value + 1 >= TWO_PWR_63_DBL)\n return MAX_VALUE;\n }\n if (value < 0)\n return negate(fromNumber(-value, unsigned));\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\n}\n/**\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\n * @function\n * @param {number} value The number in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromNumber = fromNumber;\n/**\n * @param {number} lowBits\n * @param {number} highBits\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nexport function fromBits(lowBits, highBits, unsigned) {\n return new Long(lowBits, highBits, unsigned);\n}\n/**\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\n * assumed to use 32 bits.\n * @function\n * @param {number} lowBits The low 32 bits\n * @param {number} highBits The high 32 bits\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromBits = fromBits;\n/**\n * @function\n * @param {number} base\n * @param {number} exponent\n * @returns {number}\n * @inner\n */\nvar pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\n/**\n * @param {string} str\n * @param {(boolean|number)=} unsigned\n * @param {number=} radix\n * @returns {!Long}\n * @inner\n */\nexport function fromString(str, unsigned, radix) {\n if (str.length === 0)\n throw Error('empty string');\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\n return ZERO;\n if (typeof unsigned === 'number') {\n // For goog.math.long compatibility\n radix = unsigned,\n unsigned = false;\n }\n else {\n unsigned = !!unsigned;\n }\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n var p = str.indexOf('-');\n if (p > 0)\n throw Error('interior hyphen');\n else if (p === 0) {\n return negate(fromString(str.substring(1), unsigned, radix));\n }\n // Do several (8) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 8));\n var result = ZERO;\n for (var i = 0; i < str.length; i += 8) {\n var size = Math.min(8, str.length - i), value = parseInt(str.substring(i, i + size), radix);\n if (size < 8) {\n var power = fromNumber(pow_dbl(radix, size));\n result = add(multiply(result, power), fromNumber(value));\n }\n else {\n result = multiply(result, radixToPower);\n result = add(result, fromNumber(value));\n }\n }\n result.unsigned = unsigned;\n return result;\n}\n/**\n * Returns a Long representation of the given string, written using the specified radix.\n * @function\n * @param {string} str The textual representation of the Long\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\n * @returns {!Long} The corresponding Long value\n */\n// Long.fromString = fromString;\n/**\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nexport function fromValue(val, unsigned) {\n if (typeof val === 'number')\n return fromNumber(val, unsigned);\n if (typeof val === 'string')\n return fromString(val, unsigned);\n // Throws for non-objects, converts non-instanceof Long:\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\n}\n/**\n * Converts the specified value to a Long using the appropriate from* function for its type.\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long}\n */\n// Long.fromValue = fromValue;\n// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\n// no runtime penalty for these.\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_16_DBL = 1 << 16;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_24_DBL = 1 << 24;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\n/**\n * @type {!Long}\n * @const\n * @inner\n */\nvar TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\n/**\n * @type {!Long}\n * @inner\n */\nexport var ZERO = fromInt(0);\n/**\n * Signed zero.\n * @type {!Long}\n */\n// Long.ZERO = ZERO;\n/**\n * @type {!Long}\n * @inner\n */\nexport var UZERO = fromInt(0, true);\n/**\n * Unsigned zero.\n * @type {!Long}\n */\n// Long.UZERO = UZERO;\n/**\n * @type {!Long}\n * @inner\n */\nexport var ONE = fromInt(1);\n/**\n * Signed one.\n * @type {!Long}\n */\n// Long.ONE = ONE;\n/**\n * @type {!Long}\n * @inner\n */\nexport var UONE = fromInt(1, true);\n/**\n * Unsigned one.\n * @type {!Long}\n */\n// Long.UONE = UONE;\n/**\n * @type {!Long}\n * @inner\n */\nexport var NEG_ONE = fromInt(-1);\n/**\n * Signed negative one.\n * @type {!Long}\n */\n// Long.NEG_ONE = NEG_ONE;\n/**\n * @type {!Long}\n * @inner\n */\nexport var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);\n/**\n * Maximum signed value.\n * @type {!Long}\n */\n// Long.MAX_VALUE = MAX_VALUE;\n/**\n * @type {!Long}\n * @inner\n */\nexport var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);\n/**\n * Maximum unsigned value.\n * @type {!Long}\n */\n// Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\n/**\n * @type {!Long}\n * @inner\n */\nexport var MIN_VALUE = fromBits(0, 0x80000000 | 0, false);\n/**\n * Minimum signed value.\n * @type {!Long}\n */\n// Long.MIN_VALUE = MIN_VALUE;\n/**\n * @alias Long.prototype\n * @inner\n */\n// var LongPrototype = Long.prototype;\n/**\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\n * @this {!Long}\n * @returns {number}\n */\nexport function toInt($this) {\n return $this.unsigned ? $this.low >>> 0 : $this.low;\n}\n;\n/**\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\n * @this {!Long}\n * @returns {number}\n */\nexport function toNumber($this) {\n if ($this.unsigned)\n return (($this.high >>> 0) * TWO_PWR_32_DBL) + ($this.low >>> 0);\n return $this.high * TWO_PWR_32_DBL + ($this.low >>> 0);\n}\n;\n/**\n * Converts the Long to a string written in the specified radix.\n * @this {!Long}\n * @param {number=} radix Radix (2-36), defaults to 10\n * @returns {string}\n * @override\n * @throws {RangeError} If `radix` is out of range\n */\nexport function toString($this, radix) {\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n if (isZero($this))\n return '0';\n if (isNegative($this)) { // Unsigned Longs are never negative\n if (equals($this, MIN_VALUE)) {\n // We need to change the Long value before it can be negated, so we remove\n // the bottom-most digit in this base and then recurse to do the rest.\n var radixLong = fromNumber(radix), div = divide($this, radixLong), rem1 = subtract(multiply(div, radixLong), $this);\n return toString(div, radix) + toInt(rem1).toString(radix);\n }\n else\n return '-' + toString(negate($this), radix);\n }\n // Do several (6) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 6), $this.unsigned), rem = $this;\n var result = '';\n while (true) {\n var remDiv = divide(rem, radixToPower), intval = toInt(subtract(rem, multiply(remDiv, radixToPower))) >>> 0, digits = intval.toString(radix);\n rem = remDiv;\n if (isZero(rem))\n return digits + result;\n else {\n while (digits.length < 6)\n digits = '0' + digits;\n result = '' + digits + result;\n }\n }\n}\n;\n/**\n * Gets the high 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed high bits\n */\nexport function getHighBits($this) {\n return $this.high;\n}\n;\n/**\n * Gets the high 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned high bits\n */\nexport function getHighBitsUnsigned($this) {\n return $this.high >>> 0;\n}\n;\n/**\n * Gets the low 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed low bits\n */\nexport function getLowBits($this) {\n return $this.low;\n}\n;\n/**\n * Gets the low 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned low bits\n */\nexport function getLowBitsUnsigned($this) {\n return $this.low >>> 0;\n}\n;\n/**\n * Gets the number of bits needed to represent the absolute value of this Long.\n * @this {!Long}\n * @returns {number}\n */\nexport function getNumBitsAbs($this) {\n if (isNegative($this)) // Unsigned Longs are never negative\n return equals($this, MIN_VALUE) ? 64 : getNumBitsAbs(negate($this));\n var val = $this.high != 0 ? $this.high : $this.low;\n for (var bit = 31; bit > 0; bit--)\n if ((val & (1 << bit)) != 0)\n break;\n return $this.high != 0 ? bit + 33 : bit + 1;\n}\n;\n/**\n * Tests if this Long's value equals zero.\n * @this {!Long}\n * @returns {boolean}\n */\nexport function isZero($this) {\n return $this.high === 0 && $this.low === 0;\n}\n;\n/**\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\n * @returns {boolean}\n */\n// LongPrototype.eqz = LongPrototype.isZero;\n/**\n * Tests if this Long's value is negative.\n * @this {!Long}\n * @returns {boolean}\n */\nexport function isNegative($this) {\n return !$this.unsigned && $this.high < 0;\n}\n;\n/**\n * Tests if this Long's value is positive.\n * @this {!Long}\n * @returns {boolean}\n */\nexport function isPositive($this) {\n return $this.unsigned || $this.high >= 0;\n}\n;\n/**\n * Tests if this Long's value is odd.\n * @this {!Long}\n * @returns {boolean}\n */\nexport function isOdd($this) {\n return ($this.low & 1) === 1;\n}\n;\n/**\n * Tests if this Long's value is even.\n * @this {!Long}\n * @returns {boolean}\n */\nexport function isEven($this) {\n return ($this.low & 1) === 0;\n}\n;\n/**\n * Tests if this Long's value equals the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function equals($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n if ($this.unsigned !== other.unsigned && ($this.high >>> 31) === 1 && (other.high >>> 31) === 1)\n return false;\n return $this.high === other.high && $this.low === other.low;\n}\n;\n/**\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.eq = LongPrototype.equals;\n/**\n * Tests if this Long's value differs from the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function notEquals($this, other) {\n return !equals($this, /* validates */ other);\n}\n;\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.neq = LongPrototype.notEquals;\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.ne = LongPrototype.notEquals;\n/**\n * Tests if this Long's value is less than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function lessThan($this, other) {\n return compare($this, /* validates */ other) < 0;\n}\n;\n/**\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.lt = LongPrototype.lessThan;\n/**\n * Tests if this Long's value is less than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function lessThanOrEqual($this, other) {\n return compare($this, /* validates */ other) <= 0;\n}\n;\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.lte = LongPrototype.lessThanOrEqual;\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.le = LongPrototype.lessThanOrEqual;\n/**\n * Tests if this Long's value is greater than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function greaterThan($this, other) {\n return compare($this, /* validates */ other) > 0;\n}\n;\n/**\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.gt = LongPrototype.greaterThan;\n/**\n * Tests if this Long's value is greater than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nexport function greaterThanOrEqual($this, other) {\n return compare($this, /* validates */ other) >= 0;\n}\n;\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.gte = LongPrototype.greaterThanOrEqual;\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\n// LongPrototype.ge = LongPrototype.greaterThanOrEqual;\n/**\n * Compares this Long's value with the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\nexport function compare($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n if (equals($this, other))\n return 0;\n var thisNeg = isNegative($this), otherNeg = isNegative(other);\n if (thisNeg && !otherNeg)\n return -1;\n if (!thisNeg && otherNeg)\n return 1;\n // At this point the sign bits are the same\n if (!$this.unsigned)\n return isNegative(subtract($this, other)) ? -1 : 1;\n // Both are positive if at least one is unsigned\n return (other.high >>> 0) > ($this.high >>> 0) || (other.high === $this.high && (other.low >>> 0) > ($this.low >>> 0)) ? -1 : 1;\n}\n;\n/**\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\n// LongPrototype.comp = LongPrototype.compare;\n/**\n * Negates this Long's value.\n * @this {!Long}\n * @returns {!Long} Negated Long\n */\nexport function negate($this) {\n if (!$this.unsigned && equals($this, MIN_VALUE))\n return MIN_VALUE;\n return add(not($this), ONE);\n}\n;\n/**\n * Negates this Long's value. This is an alias of {@link Long#negate}.\n * @function\n * @returns {!Long} Negated Long\n */\n// LongPrototype.neg = LongPrototype.negate;\n/**\n * Returns the sum of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} addend Addend\n * @returns {!Long} Sum\n */\nexport function add($this, addend) {\n if (!isLong(addend))\n addend = fromValue(addend);\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\n var a48 = $this.high >>> 16;\n var a32 = $this.high & 0xFFFF;\n var a16 = $this.low >>> 16;\n var a00 = $this.low & 0xFFFF;\n var b48 = addend.high >>> 16;\n var b32 = addend.high & 0xFFFF;\n var b16 = addend.low >>> 16;\n var b00 = addend.low & 0xFFFF;\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 + b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 + b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 + b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 + b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, $this.unsigned);\n}\n;\n/**\n * Returns the difference of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\nexport function subtract($this, subtrahend) {\n if (!isLong(subtrahend))\n subtrahend = fromValue(subtrahend);\n return add($this, negate(subtrahend));\n}\n;\n/**\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\n * @function\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\n// LongPrototype.sub = LongPrototype.subtract;\n/**\n * Returns the product of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\nexport function multiply($this, multiplier) {\n if (isZero($this))\n return $this.unsigned ? UZERO : ZERO;\n if (!isLong(multiplier))\n multiplier = fromValue(multiplier);\n // use wasm support if present\n if (wasm) {\n var low = wasm.mul($this.low, $this.high, multiplier.low, multiplier.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n if (isZero(multiplier))\n return $this.unsigned ? UZERO : ZERO;\n if (equals($this, MIN_VALUE))\n return isOdd(multiplier) ? MIN_VALUE : ZERO;\n if (equals(multiplier, MIN_VALUE))\n return isOdd($this) ? MIN_VALUE : ZERO;\n if (isNegative($this)) {\n if (isNegative(multiplier))\n return multiply(negate($this), negate(multiplier));\n else\n return negate(multiply(negate($this), multiplier));\n }\n else if (isNegative(multiplier))\n return negate(multiply($this, negate(multiplier)));\n // If both longs are small, use float multiplication\n if (lessThan($this, TWO_PWR_24) && lessThan(multiplier, TWO_PWR_24))\n return fromNumber(toNumber($this) * toNumber(multiplier), $this.unsigned);\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\n // We can skip products that would overflow.\n var a48 = $this.high >>> 16;\n var a32 = $this.high & 0xFFFF;\n var a16 = $this.low >>> 16;\n var a00 = $this.low & 0xFFFF;\n var b48 = multiplier.high >>> 16;\n var b32 = multiplier.high & 0xFFFF;\n var b16 = multiplier.low >>> 16;\n var b00 = multiplier.low & 0xFFFF;\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 * b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 * b00;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c16 += a00 * b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 * b00;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a16 * b16;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a00 * b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, $this.unsigned);\n}\n;\n/**\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\n * @function\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\n// LongPrototype.mul = LongPrototype.multiply;\n/**\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\n * unsigned if this Long is unsigned.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\nexport function divide($this, divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n if (isZero(divisor))\n throw Error('division by zero');\n // use wasm support if present\n if (wasm) {\n // guard against signed division overflow: the largest\n // negative number / -1 would be 1 larger than the largest\n // positive number, due to two's complement.\n if (!$this.unsigned &&\n $this.high === -0x80000000 &&\n divisor.low === -1 && divisor.high === -1) {\n // be consistent with non-wasm code path\n return $this;\n }\n var low = ($this.unsigned ? wasm.div_u : wasm.div_s)($this.low, $this.high, divisor.low, divisor.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n if (isZero($this))\n return $this.unsigned ? UZERO : ZERO;\n var approx, rem, res;\n if (!$this.unsigned) {\n // This section is only relevant for signed longs and is derived from the\n // closure library as a whole.\n if (equals($this, MIN_VALUE)) {\n if (equals(divisor, ONE) || equals(divisor, NEG_ONE))\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\n else if (equals(divisor, MIN_VALUE))\n return ONE;\n else {\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\n var halfThis = shiftRight($this, 1);\n approx = shiftLeft(divide(halfThis, divisor), 1);\n if (equals(approx, ZERO)) {\n return isNegative(divisor) ? ONE : NEG_ONE;\n }\n else {\n rem = subtract($this, multiply(divisor, approx));\n res = add(approx, divide(rem, divisor));\n return res;\n }\n }\n }\n else if (equals(divisor, MIN_VALUE))\n return $this.unsigned ? UZERO : ZERO;\n if (isNegative($this)) {\n if (isNegative(divisor))\n return divide(negate($this), negate(divisor));\n return negate(divide(negate($this), divisor));\n }\n else if (isNegative(divisor))\n return negate(divide($this, negate(divisor)));\n res = ZERO;\n }\n else {\n // The algorithm below has not been made for unsigned longs. It's therefore\n // required to take special care of the MSB prior to running it.\n if (!divisor.unsigned)\n divisor = toUnsigned(divisor);\n if (greaterThan(divisor, $this))\n return UZERO;\n if (greaterThan(divisor, shiftRightUnsigned($this, 1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\n return UONE;\n res = UZERO;\n }\n // Repeat the following until the remainder is less than other: find a\n // floating-point that approximates remainder / other *from below*, add this\n // into the result, and subtract it from the remainder. It is critical that\n // the approximate value is less than or equal to the real value so that the\n // remainder never becomes negative.\n rem = $this;\n while (greaterThanOrEqual(rem, divisor)) {\n // Approximate the result of division. This may be a little greater or\n // smaller than the actual value.\n approx = Math.max(1, Math.floor(toNumber(rem) / toNumber(divisor)));\n // We will tweak the approximate result by changing it in the 48-th digit or\n // the smallest non-fractional digit, whichever is larger.\n var log2 = Math.ceil(Math.log(approx) / Math.LN2), delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48), \n // Decrease the approximation until it is smaller than the remainder. Note\n // that if it is too large, the product overflows and is negative.\n approxRes = fromNumber(approx), approxRem = multiply(approxRes, divisor);\n while (isNegative(approxRem) || greaterThan(approxRem, rem)) {\n approx -= delta;\n approxRes = fromNumber(approx, $this.unsigned);\n approxRem = multiply(approxRes, divisor);\n }\n // We know the answer can't be zero... and actually, zero would cause\n // infinite recursion since we would make no progress.\n if (isZero(approxRes))\n approxRes = ONE;\n res = add(res, approxRes);\n rem = subtract(rem, approxRem);\n }\n return res;\n}\n;\n/**\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\n// LongPrototype.div = LongPrototype.divide;\n/**\n * Returns this Long modulo the specified.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\nexport function modulo($this, divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n // use wasm support if present\n if (wasm) {\n var low = ($this.unsigned ? wasm.rem_u : wasm.rem_s)($this.low, $this.high, divisor.low, divisor.high);\n return fromBits(low, wasm.get_high(), $this.unsigned);\n }\n return subtract($this, multiply(divide($this, divisor), divisor));\n}\n;\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n// LongPrototype.mod = LongPrototype.modulo;\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\n// LongPrototype.rem = LongPrototype.modulo;\n/**\n * Returns the bitwise NOT of this Long.\n * @this {!Long}\n * @returns {!Long}\n */\nexport function not($this) {\n return fromBits(~$this.low, ~$this.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise AND of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nexport function and($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low & other.low, $this.high & other.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise OR of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nexport function or($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low | other.low, $this.high | other.high, $this.unsigned);\n}\n;\n/**\n * Returns the bitwise XOR of this Long and the given one.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nexport function xor($this, other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits($this.low ^ other.low, $this.high ^ other.high, $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits shifted to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nexport function shiftLeft($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n if ((numBits &= 63) === 0)\n return $this;\n else if (numBits < 32)\n return fromBits($this.low << numBits, ($this.high << numBits) | ($this.low >>> (32 - numBits)), $this.unsigned);\n else\n return fromBits(0, $this.low << (numBits - 32), $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shl = LongPrototype.shiftLeft;\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nexport function shiftRight($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n if ((numBits &= 63) === 0)\n return $this;\n else if (numBits < 32)\n return fromBits(($this.low >>> numBits) | ($this.high << (32 - numBits)), $this.high >> numBits, $this.unsigned);\n else\n return fromBits($this.high >> (numBits - 32), $this.high >= 0 ? 0 : -1, $this.unsigned);\n}\n;\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shr = LongPrototype.shiftRight;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nexport function shiftRightUnsigned($this, numBits) {\n if (isLong(numBits))\n numBits = toInt(numBits);\n numBits &= 63;\n if (numBits === 0)\n return $this;\n else {\n var high = $this.high;\n if (numBits < 32) {\n var low = $this.low;\n return fromBits((low >>> numBits) | (high << (32 - numBits)), high >>> numBits, $this.unsigned);\n }\n else if (numBits === 32)\n return fromBits(high, 0, $this.unsigned);\n else\n return fromBits(high >>> (numBits - 32), 0, $this.unsigned);\n }\n}\n;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shru = LongPrototype.shiftRightUnsigned;\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\n// LongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\n/**\n * Returns this Long with bits rotated to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nexport const rotateLeft = function rotateLeft(numBits) {\n var b;\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n if (numBits === 32)\n return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.low << numBits) | (this.high >>> b)), ((this.high << numBits) | (this.low >>> b)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.high << numBits) | (this.low >>> b)), ((this.low << numBits) | (this.high >>> b)), this.unsigned);\n};\n/**\n * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n// LongPrototype.rotl = LongPrototype.rotateLeft;\n/**\n * Returns this Long with bits rotated to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nexport const rotateRight = function rotateRight(numBits) {\n var b;\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n if (numBits === 32)\n return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.high << b) | (this.low >>> numBits)), ((this.low << b) | (this.high >>> numBits)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.low << b) | (this.high >>> numBits)), ((this.high << b) | (this.low >>> numBits)), this.unsigned);\n};\n/**\n * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\n// LongPrototype.rotr = LongPrototype.rotateRight;\n/**\n * Converts this Long to signed.\n * @this {!Long}\n * @returns {!Long} Signed long\n */\nexport function toSigned($this) {\n if (!$this.unsigned)\n return $this;\n return fromBits($this.low, $this.high, false);\n}\n;\n/**\n * Converts this Long to unsigned.\n * @this {!Long}\n * @returns {!Long} Unsigned long\n */\nexport function toUnsigned($this) {\n if ($this.unsigned)\n return $this;\n return fromBits($this.low, $this.high, true);\n}\n;\n/**\n * Converts this Long to its byte representation.\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @this {!Long}\n * @returns {!Array.} Byte representation\n */\nexport function toBytes($this, le) {\n return le ? toBytesLE($this) : toBytesBE($this);\n}\n;\n/**\n * Converts this Long to its little endian byte representation.\n * @this {!Long}\n * @returns {!Array.} Little endian byte representation\n */\nexport function toBytesLE($this) {\n var hi = $this.high, lo = $this.low;\n return [\n lo & 0xff,\n lo >>> 8 & 0xff,\n lo >>> 16 & 0xff,\n lo >>> 24,\n hi & 0xff,\n hi >>> 8 & 0xff,\n hi >>> 16 & 0xff,\n hi >>> 24\n ];\n}\n;\n/**\n * Converts this Long to its big endian byte representation.\n * @this {!Long}\n * @returns {!Array.} Big endian byte representation\n */\nexport function toBytesBE($this) {\n var hi = $this.high, lo = $this.low;\n return [\n hi >>> 24,\n hi >>> 16 & 0xff,\n hi >>> 8 & 0xff,\n hi & 0xff,\n lo >>> 24,\n lo >>> 16 & 0xff,\n lo >>> 8 & 0xff,\n lo & 0xff\n ];\n}\n;\n/**\n * Creates a Long from its byte representation.\n * @param {!Array.} bytes Byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @returns {Long} The corresponding Long value\n */\nexport function fromBytes(bytes, unsigned, le) {\n return le ? fromBytesLE(bytes, unsigned) : fromBytesBE(bytes, unsigned);\n}\n;\n/**\n * Creates a Long from its little endian byte representation.\n * @param {!Array.} bytes Little endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nexport function fromBytesLE(bytes, unsigned) {\n return new Long(bytes[0] |\n bytes[1] << 8 |\n bytes[2] << 16 |\n bytes[3] << 24, bytes[4] |\n bytes[5] << 8 |\n bytes[6] << 16 |\n bytes[7] << 24, unsigned);\n}\n;\n/**\n * Creates a Long from its big endian byte representation.\n * @param {!Array.} bytes Big endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nexport function fromBytesBE(bytes, unsigned) {\n return new Long(bytes[4] << 24 |\n bytes[5] << 16 |\n bytes[6] << 8 |\n bytes[7], bytes[0] << 24 |\n bytes[1] << 16 |\n bytes[2] << 8 |\n bytes[3], unsigned);\n}\n;\n","import { isValid } from \"./Int32.js\";\nimport * as LongLib from \"./lib/long.js\";\nexport default LongLib.Long;\nexport const get_Zero = LongLib.ZERO;\nexport const get_One = LongLib.ONE;\nexport const op_Addition = LongLib.add;\nexport const op_Subtraction = LongLib.subtract;\nexport const op_Multiply = LongLib.multiply;\nexport const op_Division = LongLib.divide;\nexport const op_Modulus = LongLib.modulo;\nexport const op_UnaryNegation = LongLib.negate;\nexport const op_LeftShift = LongLib.shiftLeft;\nexport const op_RightShift = LongLib.shiftRight;\nexport const op_RightShiftUnsigned = LongLib.shiftRightUnsigned;\nexport const op_BitwiseAnd = LongLib.and;\nexport const op_BitwiseOr = LongLib.or;\nexport const op_ExclusiveOr = LongLib.xor;\nexport const op_LogicalNot = LongLib.not;\nexport const op_LessThan = LongLib.lessThan;\nexport const op_LessThanOrEqual = LongLib.lessThanOrEqual;\nexport const op_GreaterThan = LongLib.greaterThan;\nexport const op_GreaterThanOrEqual = LongLib.greaterThanOrEqual;\nexport const op_Equality = LongLib.equals;\nexport const op_Inequality = LongLib.notEquals;\nexport const equals = LongLib.equals;\nexport const compare = LongLib.compare;\nexport const fromInt = LongLib.fromInt;\nexport const fromBits = LongLib.fromBits;\nexport const fromBytes = LongLib.fromBytes;\nexport const fromNumber = LongLib.fromNumber;\nexport const fromString = LongLib.fromString;\nexport const fromValue = LongLib.fromValue;\nexport const toInt = LongLib.toInt;\nexport const toBytes = LongLib.toBytes;\nexport const toNumber = LongLib.toNumber;\nexport const toString = LongLib.toString;\nexport const getLowBits = LongLib.getLowBits;\nexport const getHighBits = LongLib.getHighBits;\nexport const getLowBitsUnsigned = LongLib.getLowBitsUnsigned;\nexport const getHighBitsUnsigned = LongLib.getHighBitsUnsigned;\nfunction getMaxValue(unsigned, radix, isNegative) {\n switch (radix) {\n case 2: return unsigned ?\n \"1111111111111111111111111111111111111111111111111111111111111111\" :\n (isNegative ? \"1000000000000000000000000000000000000000000000000000000000000000\"\n : \"111111111111111111111111111111111111111111111111111111111111111\");\n case 8: return unsigned ?\n \"1777777777777777777777\" :\n (isNegative ? \"1000000000000000000000\" : \"777777777777777777777\");\n case 10: return unsigned ?\n \"18446744073709551615\" :\n (isNegative ? \"9223372036854775808\" : \"9223372036854775807\");\n case 16: return unsigned ?\n \"FFFFFFFFFFFFFFFF\" :\n (isNegative ? \"8000000000000000\" : \"7FFFFFFFFFFFFFFF\");\n default: throw new Error(\"Invalid radix.\");\n }\n}\nexport function abs(x) {\n if (!x.unsigned && LongLib.isNegative(x)) {\n return op_UnaryNegation(x);\n }\n else {\n return x;\n }\n}\nexport function fromInteger(value, unsigned, kind) {\n let x = value;\n let xh = 0;\n switch (kind) {\n case 0:\n x = value << 24 >> 24;\n xh = x;\n break;\n case 4:\n x = value << 24 >>> 24;\n break;\n case 1:\n x = value << 16 >> 16;\n xh = x;\n break;\n case 5:\n x = value << 16 >>> 16;\n break;\n case 2:\n x = value >> 0;\n xh = x;\n break;\n case 6:\n x = value >>> 0;\n break;\n }\n return LongLib.fromBits(x, xh >> 31, unsigned);\n}\nexport function parse(str, style, unsigned, _bitsize, radix) {\n const res = isValid(str, style, radix);\n if (res != null) {\n const lessOrEqual = (x, y) => {\n const len = Math.max(x.length, y.length);\n return x.padStart(len, \"0\") <= y.padStart(len, \"0\");\n };\n const isNegative = res.sign === \"-\";\n const maxValue = getMaxValue(unsigned || res.radix !== 10, res.radix, isNegative);\n if (lessOrEqual(res.digits.toUpperCase(), maxValue)) {\n str = isNegative ? res.sign + res.digits : res.digits;\n return LongLib.fromString(str, unsigned, res.radix);\n }\n }\n throw new Error(\"Input string was not in a correct format.\");\n}\nexport function tryParse(str, style, unsigned, bitsize, defValue) {\n try {\n defValue.contents = parse(str, style, unsigned, bitsize);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nexport function unixEpochMillisecondsToTicks(ms, offset) {\n return op_Multiply(op_Addition(op_Addition(LongLib.fromNumber(ms), 62135596800000), offset), 10000);\n}\nexport function ticksToUnixEpochMilliseconds(ticks) {\n return LongLib.toNumber(op_Subtraction(op_Division(ticks, 10000), 62135596800000));\n}\n// export function makeRangeStepFunction(step: Long, last: Long, unsigned: boolean) {\n// const stepComparedWithZero = LongLib.compare(step, unsigned ? LongLib.UZERO : LongLib.ZERO);\n// if (stepComparedWithZero === 0) {\n// throw new Error(\"The step of a range cannot be zero\");\n// }\n// const stepGreaterThanZero = stepComparedWithZero > 0;\n// return (x: Long) => {\n// const comparedWithLast = LongLib.compare(x, last);\n// if ((stepGreaterThanZero && comparedWithLast <= 0)\n// || (!stepGreaterThanZero && comparedWithLast >= 0)) {\n// return [x, op_Addition(x, step)];\n// } else {\n// return undefined;\n// }\n// };\n// }\nexport function divRem(x, y, out) {\n const div = op_Division(x, y);\n const rem = op_Modulus(x, y);\n if (out != null) {\n out.contents = rem;\n return div;\n }\n else {\n return [div, rem];\n }\n}\n","export const symbol = Symbol(\"numeric\");\nexport function isNumeric(x) {\n return typeof x === \"number\" || (x === null || x === void 0 ? void 0 : x[symbol]);\n}\nexport function compare(x, y) {\n if (typeof x === \"number\") {\n return x < y ? -1 : (x > y ? 1 : 0);\n }\n else {\n return x.CompareTo(y);\n }\n}\nexport function multiply(x, y) {\n if (typeof x === \"number\") {\n return x * y;\n }\n else {\n return x[symbol]().multiply(y);\n }\n}\nexport function toFixed(x, dp) {\n if (typeof x === \"number\") {\n return x.toFixed(dp);\n }\n else {\n return x[symbol]().toFixed(dp);\n }\n}\nexport function toPrecision(x, sd) {\n if (typeof x === \"number\") {\n return x.toPrecision(sd);\n }\n else {\n return x[symbol]().toPrecision(sd);\n }\n}\nexport function toExponential(x, dp) {\n if (typeof x === \"number\") {\n return x.toExponential(dp);\n }\n else {\n return x[symbol]().toExponential(dp);\n }\n}\nexport function toHex(x) {\n if (typeof x === \"number\") {\n return (Number(x) >>> 0).toString(16);\n }\n else {\n return x[symbol]().toHex();\n }\n}\n","import { compare, equals, structuralHash } from \"./Util.js\";\n// Using a class here for better compatibility with TS files importing Some\nexport class Some {\n constructor(value) {\n this.value = value;\n }\n toJSON() {\n return this.value;\n }\n // Don't add \"Some\" for consistency with erased options\n toString() {\n return String(this.value);\n }\n GetHashCode() {\n return structuralHash(this.value);\n }\n Equals(other) {\n if (other == null) {\n return false;\n }\n else {\n return equals(this.value, other instanceof Some ? other.value : other);\n }\n }\n CompareTo(other) {\n if (other == null) {\n return 1;\n }\n else {\n return compare(this.value, other instanceof Some ? other.value : other);\n }\n }\n}\nexport function some(x) {\n return x == null || x instanceof Some ? new Some(x) : x;\n}\nexport function value(x) {\n if (x == null) {\n throw new Error(\"Option has no value\");\n }\n else {\n return x instanceof Some ? x.value : x;\n }\n}\nexport function ofNullable(x) {\n // This will fail with unit probably, an alternative would be:\n // return x === null ? undefined : (x === undefined ? new Some(x) : x);\n return x == null ? undefined : x;\n}\nexport function toNullable(x) {\n return x == null ? null : value(x);\n}\nexport function flatten(x) {\n return x == null ? undefined : value(x);\n}\nexport function toArray(opt) {\n return (opt == null) ? [] : [value(opt)];\n}\nexport function defaultArg(opt, defaultValue) {\n return (opt != null) ? value(opt) : defaultValue;\n}\nexport function defaultArgWith(opt, defThunk) {\n return (opt != null) ? value(opt) : defThunk();\n}\nexport function filter(predicate, opt) {\n return (opt != null) ? (predicate(value(opt)) ? opt : undefined) : opt;\n}\nexport function map(mapping, opt) {\n return (opt != null) ? some(mapping(value(opt))) : undefined;\n}\nexport function map2(mapping, opt1, opt2) {\n return (opt1 != null && opt2 != null) ? mapping(value(opt1), value(opt2)) : undefined;\n}\nexport function map3(mapping, opt1, opt2, opt3) {\n return (opt1 != null && opt2 != null && opt3 != null) ? mapping(value(opt1), value(opt2), value(opt3)) : undefined;\n}\nexport function bind(binder, opt) {\n return opt != null ? binder(value(opt)) : undefined;\n}\nexport function tryOp(op, arg) {\n try {\n return some(op(arg));\n }\n catch (_a) {\n return undefined;\n }\n}\n","import { Record, Union } from \"./Types.js\";\nimport { combineHashCodes, equalArraysWith, stringHash } from \"./Util.js\";\nimport Decimal from \"./Decimal.js\";\nimport { fromInt as int64FromInt } from \"./Long.js\";\nexport class CaseInfo {\n constructor(declaringType, tag, name, fields) {\n this.declaringType = declaringType;\n this.tag = tag;\n this.name = name;\n this.fields = fields;\n }\n}\nexport class MethodInfo {\n constructor(name, parameters, returnType) {\n this.name = name;\n this.parameters = parameters;\n this.returnType = returnType;\n }\n}\nexport class TypeInfo {\n constructor(fullname, generics, construct, parent, fields, cases, enumCases) {\n this.fullname = fullname;\n this.generics = generics;\n this.construct = construct;\n this.parent = parent;\n this.fields = fields;\n this.cases = cases;\n this.enumCases = enumCases;\n }\n toString() {\n return fullName(this);\n }\n GetHashCode() {\n return getHashCode(this);\n }\n Equals(other) {\n return equals(this, other);\n }\n}\nexport class GenericParameter extends TypeInfo {\n constructor(name) {\n super(name);\n }\n}\nexport function getGenerics(t) {\n return t.generics != null ? t.generics : [];\n}\nexport function getHashCode(t) {\n const fullnameHash = stringHash(t.fullname);\n const genHashes = getGenerics(t).map(getHashCode);\n return combineHashCodes([fullnameHash, ...genHashes]);\n}\nexport function equals(t1, t2) {\n if (t1.fullname === \"\") { // Anonymous records\n return t2.fullname === \"\"\n && equalArraysWith(getRecordElements(t1), getRecordElements(t2), ([k1, v1], [k2, v2]) => k1 === k2 && equals(v1, v2));\n }\n else {\n return t1.fullname === t2.fullname\n && equalArraysWith(getGenerics(t1), getGenerics(t2), equals);\n }\n}\nexport function class_type(fullname, generics, construct, parent) {\n return new TypeInfo(fullname, generics, construct, parent);\n}\nexport function record_type(fullname, generics, construct, fields) {\n return new TypeInfo(fullname, generics, construct, undefined, fields);\n}\nexport function anonRecord_type(...fields) {\n return new TypeInfo(\"\", undefined, undefined, undefined, () => fields);\n}\nexport function union_type(fullname, generics, construct, cases) {\n const t = new TypeInfo(fullname, generics, construct, undefined, undefined, () => {\n const caseNames = construct.prototype.cases();\n return cases().map((fields, i) => new CaseInfo(t, i, caseNames[i], fields));\n });\n return t;\n}\nexport function tuple_type(...generics) {\n return new TypeInfo(\"System.Tuple`\" + generics.length, generics);\n}\nexport function delegate_type(...generics) {\n return new TypeInfo(\"System.Func`\" + generics.length, generics);\n}\nexport function lambda_type(argType, returnType) {\n return new TypeInfo(\"Microsoft.FSharp.Core.FSharpFunc`2\", [argType, returnType]);\n}\nexport function option_type(generic) {\n return new TypeInfo(\"Microsoft.FSharp.Core.FSharpOption`1\", [generic]);\n}\nexport function list_type(generic) {\n return new TypeInfo(\"Microsoft.FSharp.Collections.FSharpList`1\", [generic]);\n}\nexport function array_type(generic) {\n return new TypeInfo(\"[]\", [generic]);\n}\nexport function enum_type(fullname, underlyingType, enumCases) {\n return new TypeInfo(fullname, [underlyingType], undefined, undefined, undefined, undefined, enumCases);\n}\nexport function measure_type(fullname) {\n return new TypeInfo(fullname);\n}\nexport function generic_type(name) {\n return new GenericParameter(name);\n}\nexport const obj_type = new TypeInfo(\"System.Object\");\nexport const unit_type = new TypeInfo(\"Microsoft.FSharp.Core.Unit\");\nexport const char_type = new TypeInfo(\"System.Char\");\nexport const string_type = new TypeInfo(\"System.String\");\nexport const bool_type = new TypeInfo(\"System.Boolean\");\nexport const int8_type = new TypeInfo(\"System.SByte\");\nexport const uint8_type = new TypeInfo(\"System.Byte\");\nexport const int16_type = new TypeInfo(\"System.Int16\");\nexport const uint16_type = new TypeInfo(\"System.UInt16\");\nexport const int32_type = new TypeInfo(\"System.Int32\");\nexport const uint32_type = new TypeInfo(\"System.UInt32\");\nexport const float32_type = new TypeInfo(\"System.Single\");\nexport const float64_type = new TypeInfo(\"System.Double\");\nexport const decimal_type = new TypeInfo(\"System.Decimal\");\nexport function name(info) {\n if (Array.isArray(info)) {\n return info[0];\n }\n else if (info instanceof TypeInfo) {\n const elemType = getElementType(info);\n if (elemType != null) {\n return name(elemType) + \"[]\";\n }\n else {\n const i = info.fullname.lastIndexOf(\".\");\n return i === -1 ? info.fullname : info.fullname.substr(i + 1);\n }\n }\n else {\n return info.name;\n }\n}\nexport function fullName(t) {\n const elemType = getElementType(t);\n if (elemType != null) {\n return fullName(elemType) + \"[]\";\n }\n else if (t.generics == null || t.generics.length === 0) {\n return t.fullname;\n }\n else {\n return t.fullname + \"[\" + t.generics.map((x) => fullName(x)).join(\",\") + \"]\";\n }\n}\nexport function namespace(t) {\n const elemType = getElementType(t);\n if (elemType != null) {\n return namespace(elemType);\n }\n else {\n const i = t.fullname.lastIndexOf(\".\");\n return i === -1 ? \"\" : t.fullname.substr(0, i);\n }\n}\nexport function isArray(t) {\n return getElementType(t) != null;\n}\nexport function getElementType(t) {\n var _a;\n return t.fullname === \"[]\" && ((_a = t.generics) === null || _a === void 0 ? void 0 : _a.length) === 1 ? t.generics[0] : undefined;\n}\nexport function isGenericType(t) {\n return t.generics != null && t.generics.length > 0;\n}\nexport function isGenericParameter(t) {\n return t instanceof GenericParameter;\n}\nexport function isEnum(t) {\n return t.enumCases != null && t.enumCases.length > 0;\n}\nexport function isSubclassOf(t1, t2) {\n return (t2.fullname === obj_type.fullname) || (t1.parent != null && (t1.parent.Equals(t2) || isSubclassOf(t1.parent, t2)));\n}\nfunction isErasedToNumber(t) {\n return isEnum(t) || [\n int8_type.fullname,\n uint8_type.fullname,\n int16_type.fullname,\n uint16_type.fullname,\n int32_type.fullname,\n uint32_type.fullname,\n float32_type.fullname,\n float64_type.fullname,\n ].includes(t.fullname);\n}\nexport function isInstanceOfType(t, o) {\n if (t.fullname === obj_type.fullname)\n return true;\n switch (typeof o) {\n case \"boolean\":\n return t.fullname === bool_type.fullname;\n case \"string\":\n return t.fullname === string_type.fullname;\n case \"function\":\n return isFunction(t);\n case \"number\":\n return isErasedToNumber(t);\n default:\n return t.construct != null && o instanceof t.construct;\n }\n}\n/**\n * This doesn't replace types for fields (records) or cases (unions)\n * but it should be enough for type comparison purposes\n */\nexport function getGenericTypeDefinition(t) {\n return t.generics == null ? t : new TypeInfo(t.fullname, t.generics.map(() => obj_type));\n}\nexport function getEnumUnderlyingType(t) {\n var _a;\n return (_a = t.generics) === null || _a === void 0 ? void 0 : _a[0];\n}\nexport function getEnumValues(t) {\n if (isEnum(t) && t.enumCases != null) {\n return t.enumCases.map((kv) => kv[1]);\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nexport function getEnumNames(t) {\n if (isEnum(t) && t.enumCases != null) {\n return t.enumCases.map((kv) => kv[0]);\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nfunction getEnumCase(t, v) {\n if (t.enumCases != null) {\n if (typeof v === \"string\") {\n for (const kv of t.enumCases) {\n if (kv[0] === v) {\n return kv;\n }\n }\n throw new Error(`'${v}' was not found in ${t.fullname}`);\n }\n else {\n for (const kv of t.enumCases) {\n if (kv[1] === v) {\n return kv;\n }\n }\n // .NET returns the number even if it doesn't match any of the cases\n return [\"\", v];\n }\n }\n else {\n throw new Error(`${t.fullname} is not an enum type`);\n }\n}\nexport function parseEnum(t, str) {\n // TODO: better int parsing here, parseInt ceils floats: \"4.8\" -> 4\n const value = parseInt(str, 10);\n return getEnumCase(t, isNaN(value) ? str : value)[1];\n}\nexport function tryParseEnum(t, str, defValue) {\n try {\n defValue.contents = parseEnum(t, str);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nexport function getEnumName(t, v) {\n return getEnumCase(t, v)[0];\n}\nexport function isEnumDefined(t, v) {\n try {\n const kv = getEnumCase(t, v);\n return kv[0] != null && kv[0] !== \"\";\n }\n catch (_a) {\n // supress error\n }\n return false;\n}\n// FSharpType\nexport function getUnionCases(t) {\n if (t.cases != null) {\n return t.cases();\n }\n else {\n throw new Error(`${t.fullname} is not an F# union type`);\n }\n}\nexport function getRecordElements(t) {\n if (t.fields != null) {\n return t.fields();\n }\n else {\n throw new Error(`${t.fullname} is not an F# record type`);\n }\n}\nexport function getTupleElements(t) {\n if (isTuple(t) && t.generics != null) {\n return t.generics;\n }\n else {\n throw new Error(`${t.fullname} is not a tuple type`);\n }\n}\nexport function getFunctionElements(t) {\n if (isFunction(t) && t.generics != null) {\n const gen = t.generics;\n return [gen[0], gen[1]];\n }\n else {\n throw new Error(`${t.fullname} is not an F# function type`);\n }\n}\nexport function isUnion(t) {\n return t instanceof TypeInfo ? t.cases != null : t instanceof Union;\n}\nexport function isRecord(t) {\n return t instanceof TypeInfo ? t.fields != null : t instanceof Record;\n}\nexport function isTuple(t) {\n return t.fullname.startsWith(\"System.Tuple\");\n}\n// In .NET this is false for delegates\nexport function isFunction(t) {\n return t.fullname === \"Microsoft.FSharp.Core.FSharpFunc`2\";\n}\n// FSharpValue\nexport function getUnionFields(v, t) {\n const cases = getUnionCases(t);\n const case_ = cases[v.tag];\n if (case_ == null) {\n throw new Error(`Cannot find case ${v.name} in union type`);\n }\n return [case_, v.fields];\n}\nexport function getUnionCaseFields(uci) {\n return uci.fields == null ? [] : uci.fields;\n}\n// This is used as replacement of `FSharpValue.GetRecordFields`\n// For `FSharpTypes.GetRecordFields` see `getRecordElements`\n// Object.keys returns keys in the order they were added to the object\nexport function getRecordFields(v) {\n return Object.keys(v).map((k) => v[k]);\n}\nexport function getRecordField(v, field) {\n return v[field[0]];\n}\nexport function getTupleFields(v) {\n return v;\n}\nexport function getTupleField(v, i) {\n return v[i];\n}\nexport function makeUnion(uci, values) {\n const expectedLength = (uci.fields || []).length;\n if (values.length !== expectedLength) {\n throw new Error(`Expected an array of length ${expectedLength} but got ${values.length}`);\n }\n return uci.declaringType.construct != null\n ? new uci.declaringType.construct(uci.tag, ...values)\n : {};\n}\nexport function makeRecord(t, values) {\n const fields = getRecordElements(t);\n if (fields.length !== values.length) {\n throw new Error(`Expected an array of length ${fields.length} but got ${values.length}`);\n }\n return t.construct != null\n ? new t.construct(...values)\n : fields.reduce((obj, [key, _t], i) => {\n obj[key] = values[i];\n return obj;\n }, {});\n}\nexport function makeTuple(values, _t) {\n return values;\n}\nexport function makeGenericType(t, generics) {\n return new TypeInfo(t.fullname, generics, t.construct, t.parent, t.fields, t.cases);\n}\nexport function createInstance(t, consArgs) {\n // TODO: Check if consArgs length is same as t.construct?\n // (Arg types can still be different)\n if (typeof t.construct === \"function\") {\n return new t.construct(...(consArgs !== null && consArgs !== void 0 ? consArgs : []));\n }\n else if (isErasedToNumber(t)) {\n return 0;\n }\n else {\n switch (t.fullname) {\n case obj_type.fullname:\n return {};\n case bool_type.fullname:\n return false;\n case \"System.Int64\":\n case \"System.UInt64\":\n // typeof and typeof get transformed to class_type(\"System.Int64\")\n // and class_type(\"System.UInt64\") respectively. Test for the name of the primitive type.\n return int64FromInt(0);\n case decimal_type.fullname:\n return new Decimal(0);\n case char_type.fullname:\n // Even though char is a value type, it's erased to string, and Unchecked.defaultof is null\n return null;\n default:\n throw new Error(`Cannot access constructor of ${t.fullname}`);\n }\n }\n}\nexport function getValue(propertyInfo, v) {\n return v[propertyInfo[0]];\n}\n// Fable.Core.Reflection\nfunction assertUnion(x) {\n if (!(x instanceof Union)) {\n throw new Error(`Value is not an F# union type`);\n }\n}\nexport function getCaseTag(x) {\n assertUnion(x);\n return x.tag;\n}\nexport function getCaseName(x) {\n assertUnion(x);\n return x.cases()[x.tag];\n}\nexport function getCaseFields(x) {\n assertUnion(x);\n return x.fields;\n}\n","export function create(pattern, options = 0) {\n // Supported RegexOptions\n // * IgnoreCase: 0x0001\n // * Multiline: 0x0002\n // * Compiled: 0x0008 (ignored)\n // * Singleline: 0x0010\n // * ECMAScript: 0x0100 (ignored)\n if ((options & ~(1 ^ 2 ^ 8 ^ 16 ^ 256)) !== 0) {\n throw new Error(\"RegexOptions only supports: IgnoreCase, Multiline, Compiled, Singleline and ECMAScript\");\n }\n // Set always global and unicode flags for compatibility with dotnet, see #2925\n let flags = \"gu\";\n flags += options & 1 ? \"i\" : \"\"; // 0x0001 RegexOptions.IgnoreCase\n flags += options & 2 ? \"m\" : \"\";\n flags += options & 16 ? \"s\" : \"\";\n return new RegExp(pattern, flags);\n}\n// From http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\nexport function escape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n}\nexport function unescape(str) {\n return str.replace(/\\\\([\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|])/g, \"$1\");\n}\nexport function isMatch(reg, input, startAt = 0) {\n reg.lastIndex = startAt;\n return reg.test(input);\n}\nexport function match(reg, input, startAt = 0) {\n reg.lastIndex = startAt;\n return reg.exec(input);\n}\nexport function matches(reg, input, startAt = 0) {\n if (input == null) {\n throw new Error(\"Input cannot ve null\");\n }\n if (!reg.global) {\n throw new Error(\"Non-global RegExp\"); // Prevent infinite loop\n }\n reg.lastIndex = startAt;\n const matches = [];\n let m;\n let lastMatchIndex = -1;\n // tslint:disable-next-line:no-conditional-assignment\n while ((m = reg.exec(input)) != null) {\n // It can happen even global regex get stuck, see #2845\n if (m.index === lastMatchIndex) {\n reg.lastIndex++;\n }\n else {\n lastMatchIndex = m.index;\n matches.push(m);\n }\n }\n return matches;\n}\nexport function options(reg) {\n let options = 256; // ECMAScript\n options |= reg.ignoreCase ? 1 : 0;\n options |= reg.multiline ? 2 : 0;\n return options;\n}\nexport function replace(reg, input, replacement, limit, offset = 0) {\n function replacer() {\n let res = arguments[0];\n if (limit) {\n limit--;\n const match = [];\n const len = arguments.length;\n // arguments: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_function_as_a_parameter\n // * match: matched substring\n // * p1, p2, ...: nth capture group string\n // * offset: offset of matched substring\n // * string: whole string examined\n // * groups: named capturing groups\n // ONLY if regex contains a named capture group AND browser supports named groups\n // -> last element can be groups OR input string\n // -> check if last element is string\n const withGroups = typeof arguments[len - 1] !== \"string\";\n let pLast = withGroups ? len - 3 : len - 2;\n for (let i = 0; i < pLast; i++) {\n match.push(arguments[i]);\n }\n match.index = arguments[pLast++];\n match.input = arguments[pLast++];\n if (withGroups) {\n match.groups = arguments[pLast];\n }\n res = replacement(match);\n }\n return res;\n }\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit !== null && limit !== void 0 ? limit : 0);\n input = tmp;\n limit = undefined;\n }\n if (typeof replacement === \"function\") {\n limit = limit == null ? -1 : limit;\n return input.substring(0, offset) + input.substring(offset).replace(reg, replacer);\n }\n else {\n replacement =\n replacement\n // $0 doesn't work with JS regex, see #1155\n .replace(/\\$0/g, (_s) => \"$&\")\n // named groups in replacement are `${name}` in .Net, but `$` in JS (in regex: groups are `(?...)` in both)\n .replace(/\\${([^}]+)}/g, \"\\$<$1>\");\n if (limit != null) {\n let m;\n const sub1 = input.substring(offset);\n const _matches = matches(reg, sub1);\n const sub2 = matches.length > limit ? (m = _matches[limit - 1], sub1.substring(0, m.index + m[0].length)) : sub1;\n return input.substring(0, offset) + sub2.replace(reg, replacement)\n + input.substring(offset + sub2.length);\n }\n else {\n return input.replace(reg, replacement);\n }\n }\n}\nexport function split(reg, input, limit, offset = 0) {\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit !== null && limit !== void 0 ? limit : 0);\n input = tmp;\n limit = undefined;\n }\n input = input.substring(offset);\n return input.split(reg, limit);\n}\n","import { toString as dateToString } from \"./Date.js\";\nimport { compare as numericCompare, isNumeric, multiply, toExponential, toFixed, toHex, toPrecision } from \"./Numeric.js\";\nimport { escape } from \"./RegExp.js\";\nimport { toString } from \"./Types.js\";\nconst fsFormatRegExp = /(^|[^%])%([0+\\- ]*)(\\*|\\d+)?(?:\\.(\\d+))?(\\w)/g;\nconst interpolateRegExp = /(?:(^|[^%])%([0+\\- ]*)(\\d+)?(?:\\.(\\d+))?(\\w))?%P\\(\\)/g;\nconst formatRegExp = /\\{(\\d+)(,-?\\d+)?(?:\\:([a-zA-Z])(\\d{0,2})|\\:(.+?))?\\}/g;\nfunction isLessThan(x, y) {\n return numericCompare(x, y) < 0;\n}\nfunction cmp(x, y, ic) {\n function isIgnoreCase(i) {\n return i === true ||\n i === 1 /* CurrentCultureIgnoreCase */ ||\n i === 3 /* InvariantCultureIgnoreCase */ ||\n i === 5 /* OrdinalIgnoreCase */;\n }\n function isOrdinal(i) {\n return i === 4 /* Ordinal */ ||\n i === 5 /* OrdinalIgnoreCase */;\n }\n if (x == null) {\n return y == null ? 0 : -1;\n }\n if (y == null) {\n return 1;\n } // everything is bigger than null\n if (isOrdinal(ic)) {\n if (isIgnoreCase(ic)) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return (x === y) ? 0 : (x < y ? -1 : 1);\n }\n else {\n if (isIgnoreCase(ic)) {\n x = x.toLocaleLowerCase();\n y = y.toLocaleLowerCase();\n }\n return x.localeCompare(y);\n }\n}\nexport function compare(...args) {\n switch (args.length) {\n case 2: return cmp(args[0], args[1], false);\n case 3: return cmp(args[0], args[1], args[2]);\n case 4: return cmp(args[0], args[1], args[2] === true);\n case 5: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), false);\n case 6: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5]);\n case 7: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5] === true);\n default: throw new Error(\"String.compare: Unsupported number of parameters\");\n }\n}\nexport function compareOrdinal(x, y) {\n return cmp(x, y, 4 /* Ordinal */);\n}\nexport function compareTo(x, y) {\n return cmp(x, y, 0 /* CurrentCulture */);\n}\nexport function startsWith(str, pattern, ic) {\n if (str.length >= pattern.length) {\n return cmp(str.substr(0, pattern.length), pattern, ic) === 0;\n }\n return false;\n}\nexport function indexOfAny(str, anyOf, ...args) {\n if (str == null || str === \"\") {\n return -1;\n }\n const startIndex = (args.length > 0) ? args[0] : 0;\n if (startIndex < 0) {\n throw new Error(\"Start index cannot be negative\");\n }\n const length = (args.length > 1) ? args[1] : str.length - startIndex;\n if (length < 0) {\n throw new Error(\"Length cannot be negative\");\n }\n if (length > str.length - startIndex) {\n throw new Error(\"Invalid startIndex and length\");\n }\n str = str.substr(startIndex, length);\n for (const c of anyOf) {\n const index = str.indexOf(c);\n if (index > -1) {\n return index + startIndex;\n }\n }\n return -1;\n}\nexport function printf(input) {\n return {\n input,\n cont: fsFormat(input),\n };\n}\nexport function interpolate(str, values) {\n let valIdx = 0;\n let strIdx = 0;\n let result = \"\";\n interpolateRegExp.lastIndex = 0;\n let match = interpolateRegExp.exec(str);\n while (match) {\n // The first group corresponds to the no-escape char (^|[^%]), the actual pattern starts in the next char\n // Note: we don't use negative lookbehind because some browsers don't support it yet\n const matchIndex = match.index + (match[1] || \"\").length;\n result += str.substring(strIdx, matchIndex).replace(/%%/g, \"%\");\n const [, , flags, padLength, precision, format] = match;\n result += formatReplacement(values[valIdx++], flags, padLength, precision, format);\n strIdx = interpolateRegExp.lastIndex;\n // Likewise we need to move interpolateRegExp.lastIndex one char behind to make sure we match the no-escape char next time\n interpolateRegExp.lastIndex -= 1;\n match = interpolateRegExp.exec(str);\n }\n result += str.substring(strIdx).replace(/%%/g, \"%\");\n return result;\n}\nfunction continuePrint(cont, arg) {\n return typeof arg === \"string\" ? cont(arg) : arg.cont(cont);\n}\nexport function toConsole(arg) {\n // Don't remove the lambda here, see #1357\n return continuePrint((x) => console.log(x), arg);\n}\nexport function toConsoleError(arg) {\n return continuePrint((x) => console.error(x), arg);\n}\nexport function toText(arg) {\n return continuePrint((x) => x, arg);\n}\nexport function toFail(arg) {\n return continuePrint((x) => {\n throw new Error(x);\n }, arg);\n}\nfunction formatReplacement(rep, flags, padLength, precision, format) {\n let sign = \"\";\n flags = flags || \"\";\n format = format || \"\";\n if (isNumeric(rep)) {\n if (format.toLowerCase() !== \"x\") {\n if (isLessThan(rep, 0)) {\n rep = multiply(rep, -1);\n sign = \"-\";\n }\n else {\n if (flags.indexOf(\" \") >= 0) {\n sign = \" \";\n }\n else if (flags.indexOf(\"+\") >= 0) {\n sign = \"+\";\n }\n }\n }\n precision = precision == null ? null : parseInt(precision, 10);\n switch (format) {\n case \"f\":\n case \"F\":\n precision = precision != null ? precision : 6;\n rep = toFixed(rep, precision);\n break;\n case \"g\":\n case \"G\":\n rep = precision != null ? toPrecision(rep, precision) : toPrecision(rep);\n break;\n case \"e\":\n case \"E\":\n rep = precision != null ? toExponential(rep, precision) : toExponential(rep);\n break;\n case \"x\":\n rep = toHex(rep);\n break;\n case \"X\":\n rep = toHex(rep).toUpperCase();\n break;\n default: // AOid\n rep = String(rep);\n break;\n }\n }\n else if (rep instanceof Date) {\n rep = dateToString(rep);\n }\n else {\n rep = toString(rep);\n }\n padLength = typeof padLength === \"number\" ? padLength : parseInt(padLength, 10);\n if (!isNaN(padLength)) {\n const zeroFlag = flags.indexOf(\"0\") >= 0; // Use '0' for left padding\n const minusFlag = flags.indexOf(\"-\") >= 0; // Right padding\n const ch = minusFlag || !zeroFlag ? \" \" : \"0\";\n if (ch === \"0\") {\n rep = pad(rep, padLength - sign.length, ch, minusFlag);\n rep = sign + rep;\n }\n else {\n rep = pad(sign + rep, padLength, ch, minusFlag);\n }\n }\n else {\n rep = sign + rep;\n }\n return rep;\n}\nfunction createPrinter(cont, _strParts, _matches, _result = \"\", padArg = -1) {\n return (...args) => {\n // Make copies of the values passed by reference because the function can be used multiple times\n let result = _result;\n const strParts = _strParts.slice();\n const matches = _matches.slice();\n for (const arg of args) {\n const [, , flags, _padLength, precision, format] = matches[0];\n let padLength = _padLength;\n if (padArg >= 0) {\n padLength = padArg;\n padArg = -1;\n }\n else if (padLength === \"*\") {\n if (arg < 0) {\n throw new Error(\"Non-negative number required\");\n }\n padArg = arg;\n continue;\n }\n result += strParts[0];\n result += formatReplacement(arg, flags, padLength, precision, format);\n strParts.splice(0, 1);\n matches.splice(0, 1);\n }\n if (matches.length === 0) {\n result += strParts[0];\n return cont(result);\n }\n else {\n return createPrinter(cont, strParts, matches, result, padArg);\n }\n };\n}\nexport function fsFormat(str) {\n return (cont) => {\n fsFormatRegExp.lastIndex = 0;\n const strParts = [];\n const matches = [];\n let strIdx = 0;\n let match = fsFormatRegExp.exec(str);\n while (match) {\n // The first group corresponds to the no-escape char (^|[^%]), the actual pattern starts in the next char\n // Note: we don't use negative lookbehind because some browsers don't support it yet\n const matchIndex = match.index + (match[1] || \"\").length;\n strParts.push(str.substring(strIdx, matchIndex).replace(/%%/g, \"%\"));\n matches.push(match);\n strIdx = fsFormatRegExp.lastIndex;\n // Likewise we need to move fsFormatRegExp.lastIndex one char behind to make sure we match the no-escape char next time\n fsFormatRegExp.lastIndex -= 1;\n match = fsFormatRegExp.exec(str);\n }\n if (strParts.length === 0) {\n return cont(str.replace(/%%/g, \"%\"));\n }\n else {\n strParts.push(str.substring(strIdx).replace(/%%/g, \"%\"));\n return createPrinter(cont, strParts, matches);\n }\n };\n}\nexport function format(str, ...args) {\n if (typeof str === \"object\" && args.length > 0) {\n // Called with culture info\n str = args[0];\n args.shift();\n }\n return str.replace(formatRegExp, (_, idx, padLength, format, precision, pattern) => {\n if (idx < 0 || idx >= args.length) {\n throw new Error(\"Index must be greater or equal to zero and less than the arguments' length.\");\n }\n let rep = args[idx];\n if (isNumeric(rep)) {\n precision = precision == null ? null : parseInt(precision, 10);\n switch (format) {\n case \"f\":\n case \"F\":\n precision = precision != null ? precision : 2;\n rep = toFixed(rep, precision);\n break;\n case \"g\":\n case \"G\":\n rep = precision != null ? toPrecision(rep, precision) : toPrecision(rep);\n break;\n case \"e\":\n case \"E\":\n rep = precision != null ? toExponential(rep, precision) : toExponential(rep);\n break;\n case \"p\":\n case \"P\":\n precision = precision != null ? precision : 2;\n rep = toFixed(multiply(rep, 100), precision) + \" %\";\n break;\n case \"d\":\n case \"D\":\n rep = precision != null ? padLeft(String(rep), precision, \"0\") : String(rep);\n break;\n case \"x\":\n case \"X\":\n rep = precision != null ? padLeft(toHex(rep), precision, \"0\") : toHex(rep);\n if (format === \"X\") {\n rep = rep.toUpperCase();\n }\n break;\n default:\n if (pattern) {\n let sign = \"\";\n rep = pattern.replace(/([0#,]+)(\\.[0#]+)?/, (_, intPart, decimalPart) => {\n if (isLessThan(rep, 0)) {\n rep = multiply(rep, -1);\n sign = \"-\";\n }\n decimalPart = decimalPart == null ? \"\" : decimalPart.substring(1);\n rep = toFixed(rep, Math.max(decimalPart.length, 0));\n let [repInt, repDecimal] = rep.split(\".\");\n repDecimal || (repDecimal = \"\");\n const leftZeroes = intPart.replace(/,/g, \"\").replace(/^#+/, \"\").length;\n repInt = padLeft(repInt, leftZeroes, \"0\");\n const rightZeros = decimalPart.replace(/#+$/, \"\").length;\n if (rightZeros > repDecimal.length) {\n repDecimal = padRight(repDecimal, rightZeros, \"0\");\n }\n else if (rightZeros < repDecimal.length) {\n repDecimal = repDecimal.substring(0, rightZeros) + repDecimal.substring(rightZeros).replace(/0+$/, \"\");\n }\n // Thousands separator\n if (intPart.indexOf(\",\") > 0) {\n const i = repInt.length % 3;\n const thousandGroups = Math.floor(repInt.length / 3);\n let thousands = i > 0 ? repInt.substr(0, i) + (thousandGroups > 0 ? \",\" : \"\") : \"\";\n for (let j = 0; j < thousandGroups; j++) {\n thousands += repInt.substr(i + j * 3, 3) + (j < thousandGroups - 1 ? \",\" : \"\");\n }\n repInt = thousands;\n }\n return repDecimal.length > 0 ? repInt + \".\" + repDecimal : repInt;\n });\n rep = sign + rep;\n }\n }\n }\n else if (rep instanceof Date) {\n rep = dateToString(rep, pattern || format);\n }\n else {\n rep = toString(rep);\n }\n padLength = parseInt((padLength || \" \").substring(1), 10);\n if (!isNaN(padLength)) {\n rep = pad(String(rep), Math.abs(padLength), \" \", padLength < 0);\n }\n return rep;\n });\n}\nexport function endsWith(str, search) {\n const idx = str.lastIndexOf(search);\n return idx >= 0 && idx === str.length - search.length;\n}\nexport function initialize(n, f) {\n if (n < 0) {\n throw new Error(\"String length must be non-negative\");\n }\n const xs = new Array(n);\n for (let i = 0; i < n; i++) {\n xs[i] = f(i);\n }\n return xs.join(\"\");\n}\nexport function insert(str, startIndex, value) {\n if (startIndex < 0 || startIndex > str.length) {\n throw new Error(\"startIndex is negative or greater than the length of this instance.\");\n }\n return str.substring(0, startIndex) + value + str.substring(startIndex);\n}\nexport function isNullOrEmpty(str) {\n return typeof str !== \"string\" || str.length === 0;\n}\nexport function isNullOrWhiteSpace(str) {\n return typeof str !== \"string\" || /^\\s*$/.test(str);\n}\nexport function concat(...xs) {\n return xs.map((x) => String(x)).join(\"\");\n}\nexport function join(delimiter, xs) {\n if (Array.isArray(xs)) {\n return xs.join(delimiter);\n }\n else {\n return Array.from(xs).join(delimiter);\n }\n}\nexport function joinWithIndices(delimiter, xs, startIndex, count) {\n const endIndexPlusOne = startIndex + count;\n if (endIndexPlusOne > xs.length) {\n throw new Error(\"Index and count must refer to a location within the buffer.\");\n }\n return xs.slice(startIndex, endIndexPlusOne).join(delimiter);\n}\nfunction notSupported(name) {\n throw new Error(\"The environment doesn't support '\" + name + \"', please use a polyfill.\");\n}\nexport function toBase64String(inArray) {\n let str = \"\";\n for (let i = 0; i < inArray.length; i++) {\n str += String.fromCharCode(inArray[i]);\n }\n return typeof btoa === \"function\" ? btoa(str) : notSupported(\"btoa\");\n}\nexport function fromBase64String(b64Encoded) {\n const binary = typeof atob === \"function\" ? atob(b64Encoded) : notSupported(\"atob\");\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\nfunction pad(str, len, ch, isRight) {\n ch = ch || \" \";\n len = len - str.length;\n for (let i = 0; i < len; i++) {\n str = isRight ? str + ch : ch + str;\n }\n return str;\n}\nexport function padLeft(str, len, ch) {\n return pad(str, len, ch);\n}\nexport function padRight(str, len, ch) {\n return pad(str, len, ch, true);\n}\nexport function remove(str, startIndex, count) {\n if (startIndex >= str.length) {\n throw new Error(\"startIndex must be less than length of string\");\n }\n if (typeof count === \"number\" && (startIndex + count) > str.length) {\n throw new Error(\"Index and count must refer to a location within the string.\");\n }\n return str.slice(0, startIndex) + (typeof count === \"number\" ? str.substr(startIndex + count) : \"\");\n}\nexport function replace(str, search, replace) {\n return str.replace(new RegExp(escape(search), \"g\"), replace);\n}\nexport function replicate(n, x) {\n return initialize(n, () => x);\n}\nexport function getCharAtIndex(input, index) {\n if (index < 0 || index >= input.length) {\n throw new Error(\"Index was outside the bounds of the array.\");\n }\n return input[index];\n}\nexport function split(str, splitters, count, options) {\n count = typeof count === \"number\" ? count : undefined;\n options = typeof options === \"number\" ? options : 0;\n if (count && count < 0) {\n throw new Error(\"Count cannot be less than zero\");\n }\n if (count === 0) {\n return [];\n }\n const removeEmpty = (options & 1) === 1;\n const trim = (options & 2) === 2;\n splitters = splitters || [];\n splitters = splitters.filter(x => x).map(escape);\n splitters = splitters.length > 0 ? splitters : [\"\\\\s\"];\n const splits = [];\n const reg = new RegExp(splitters.join(\"|\"), \"g\");\n let findSplits = true;\n let i = 0;\n do {\n const match = reg.exec(str);\n if (match === null) {\n const candidate = trim ? str.substring(i).trim() : str.substring(i);\n if (!removeEmpty || candidate.length > 0) {\n splits.push(candidate);\n }\n findSplits = false;\n }\n else {\n const candidate = trim ? str.substring(i, match.index).trim() : str.substring(i, match.index);\n if (!removeEmpty || candidate.length > 0) {\n if (count != null && splits.length + 1 === count) {\n splits.push(trim ? str.substring(i).trim() : str.substring(i));\n findSplits = false;\n }\n else {\n splits.push(candidate);\n }\n }\n i = reg.lastIndex;\n }\n } while (findSplits);\n return splits;\n}\nexport function trim(str, ...chars) {\n if (chars.length === 0) {\n return str.trim();\n }\n const pattern = \"[\" + escape(chars.join(\"\")) + \"]+\";\n return str.replace(new RegExp(\"^\" + pattern), \"\").replace(new RegExp(pattern + \"$\"), \"\");\n}\nexport function trimStart(str, ...chars) {\n return chars.length === 0\n ? str.trimStart()\n : str.replace(new RegExp(\"^[\" + escape(chars.join(\"\")) + \"]+\"), \"\");\n}\nexport function trimEnd(str, ...chars) {\n return chars.length === 0\n ? str.trimEnd()\n : str.replace(new RegExp(\"[\" + escape(chars.join(\"\")) + \"]+$\"), \"\");\n}\nexport function filter(pred, x) {\n return x.split(\"\").filter((c) => pred(c)).join(\"\");\n}\nexport function substring(str, startIndex, length) {\n if ((startIndex + (length || 0) > str.length)) {\n throw new Error(\"Invalid startIndex and/or length\");\n }\n return length != null ? str.substr(startIndex, length) : str.substr(startIndex);\n}\nexport function fmt(strs, ...args) {\n return ({ strs, args });\n}\nexport function fmtWith(fmts) {\n return (strs, ...args) => ({ strs, args, fmts });\n}\nexport function getFormat(s) {\n return s.fmts\n ? s.strs.reduce((acc, newPart, index) => acc + `{${String(index - 1) + s.fmts[index - 1]}}` + newPart)\n : s.strs.reduce((acc, newPart, index) => acc + `{${index - 1}}` + newPart);\n}\n","import { combineHashCodes, compare, compareArrays, equalArrays, equals, sameConstructor, numberHash, structuralHash } from \"./Util.js\";\nexport function seqToString(self) {\n let count = 0;\n let str = \"[\";\n for (const x of self) {\n if (count === 0) {\n str += toString(x);\n }\n else if (count === 100) {\n str += \"; ...\";\n break;\n }\n else {\n str += \"; \" + toString(x);\n }\n count++;\n }\n return str + \"]\";\n}\nexport function toString(x, callStack = 0) {\n var _a, _b;\n if (x != null && typeof x === \"object\") {\n if (typeof x.toString === \"function\") {\n return x.toString();\n }\n else if (Symbol.iterator in x) {\n return seqToString(x);\n }\n else { // TODO: Date?\n const cons = (_a = Object.getPrototypeOf(x)) === null || _a === void 0 ? void 0 : _a.constructor;\n return cons === Object && callStack < 10\n // Same format as recordToString\n ? \"{ \" + Object.entries(x).map(([k, v]) => k + \" = \" + toString(v, callStack + 1)).join(\"\\n \") + \" }\"\n : (_b = cons === null || cons === void 0 ? void 0 : cons.name) !== null && _b !== void 0 ? _b : \"\";\n }\n }\n return String(x);\n}\nexport function unionToString(name, fields) {\n if (fields.length === 0) {\n return name;\n }\n else {\n let fieldStr = \"\";\n let withParens = true;\n if (fields.length === 1) {\n fieldStr = toString(fields[0]);\n withParens = fieldStr.indexOf(\" \") >= 0;\n }\n else {\n fieldStr = fields.map((x) => toString(x)).join(\", \");\n }\n return name + (withParens ? \" (\" : \" \") + fieldStr + (withParens ? \")\" : \"\");\n }\n}\nexport class Union {\n get name() {\n return this.cases()[this.tag];\n }\n toJSON() {\n return this.fields.length === 0 ? this.name : [this.name].concat(this.fields);\n }\n toString() {\n return unionToString(this.name, this.fields);\n }\n GetHashCode() {\n const hashes = this.fields.map((x) => structuralHash(x));\n hashes.splice(0, 0, numberHash(this.tag));\n return combineHashCodes(hashes);\n }\n Equals(other) {\n if (this === other) {\n return true;\n }\n else if (!sameConstructor(this, other)) {\n return false;\n }\n else if (this.tag === other.tag) {\n return equalArrays(this.fields, other.fields);\n }\n else {\n return false;\n }\n }\n CompareTo(other) {\n if (this === other) {\n return 0;\n }\n else if (!sameConstructor(this, other)) {\n return -1;\n }\n else if (this.tag === other.tag) {\n return compareArrays(this.fields, other.fields);\n }\n else {\n return this.tag < other.tag ? -1 : 1;\n }\n }\n}\nfunction recordToJSON(self) {\n const o = {};\n const keys = Object.keys(self);\n for (let i = 0; i < keys.length; i++) {\n o[keys[i]] = self[keys[i]];\n }\n return o;\n}\nfunction recordToString(self) {\n return \"{ \" + Object.entries(self).map(([k, v]) => k + \" = \" + toString(v)).join(\"\\n \") + \" }\";\n}\nfunction recordGetHashCode(self) {\n const hashes = Object.values(self).map((v) => structuralHash(v));\n return combineHashCodes(hashes);\n}\nfunction recordEquals(self, other) {\n if (self === other) {\n return true;\n }\n else if (!sameConstructor(self, other)) {\n return false;\n }\n else {\n const thisNames = Object.keys(self);\n for (let i = 0; i < thisNames.length; i++) {\n if (!equals(self[thisNames[i]], other[thisNames[i]])) {\n return false;\n }\n }\n return true;\n }\n}\nfunction recordCompareTo(self, other) {\n if (self === other) {\n return 0;\n }\n else if (!sameConstructor(self, other)) {\n return -1;\n }\n else {\n const thisNames = Object.keys(self);\n for (let i = 0; i < thisNames.length; i++) {\n const result = compare(self[thisNames[i]], other[thisNames[i]]);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n }\n}\nexport class Record {\n toJSON() { return recordToJSON(this); }\n toString() { return recordToString(this); }\n GetHashCode() { return recordGetHashCode(this); }\n Equals(other) { return recordEquals(this, other); }\n CompareTo(other) { return recordCompareTo(this, other); }\n}\nexport class FSharpRef {\n constructor(contentsOrGetter, setter) {\n if (typeof setter === \"function\") {\n this.getter = contentsOrGetter;\n this.setter = setter;\n }\n else {\n this.getter = () => contentsOrGetter;\n this.setter = (v) => { contentsOrGetter = v; };\n }\n }\n get contents() {\n return this.getter();\n }\n set contents(v) {\n this.setter(v);\n }\n}\n// EXCEPTIONS\n// Exception is intentionally not derived from Error, for performance reasons (see #2160)\nexport class Exception {\n constructor(message) {\n this.message = message;\n }\n}\nexport function isException(x) {\n return x instanceof Exception || x instanceof Error;\n}\nexport function ensureErrorOrException(e) {\n return isException(e) ? e : new Error(String(e));\n}\nexport class FSharpException extends Exception {\n toJSON() { return recordToJSON(this); }\n toString() { return recordToString(this); }\n GetHashCode() { return recordGetHashCode(this); }\n Equals(other) { return recordEquals(this, other); }\n CompareTo(other) { return recordCompareTo(this, other); }\n}\nexport class MatchFailureException extends FSharpException {\n constructor(arg1, arg2, arg3) {\n super();\n this.arg1 = arg1;\n this.arg2 = arg2 | 0;\n this.arg3 = arg3 | 0;\n this.message = \"The match cases were incomplete\";\n }\n}\nexport class Attribute {\n}\n","// tslint:disable:ban-types\nexport function isIterable(x) {\n return x != null && typeof x === \"object\" && Symbol.iterator in x;\n}\nexport function isArrayLike(x) {\n return Array.isArray(x) || ArrayBuffer.isView(x);\n}\nfunction isComparer(x) {\n return typeof x.Compare === \"function\";\n}\nfunction isComparable(x) {\n return typeof x.CompareTo === \"function\";\n}\nfunction isEquatable(x) {\n return typeof x.Equals === \"function\";\n}\nfunction isHashable(x) {\n return typeof x.GetHashCode === \"function\";\n}\nexport function isDisposable(x) {\n return x != null && typeof x.Dispose === \"function\";\n}\nexport function disposeSafe(x) {\n if (isDisposable(x)) {\n x.Dispose();\n }\n}\nexport function sameConstructor(x, y) {\n var _a, _b;\n return ((_a = Object.getPrototypeOf(x)) === null || _a === void 0 ? void 0 : _a.constructor) === ((_b = Object.getPrototypeOf(y)) === null || _b === void 0 ? void 0 : _b.constructor);\n}\nexport class Enumerator {\n constructor(iter) {\n this.iter = iter;\n }\n [\"System.Collections.Generic.IEnumerator`1.get_Current\"]() {\n return this.current;\n }\n [\"System.Collections.IEnumerator.get_Current\"]() {\n return this.current;\n }\n [\"System.Collections.IEnumerator.MoveNext\"]() {\n const cur = this.iter.next();\n this.current = cur.value;\n return !cur.done;\n }\n [\"System.Collections.IEnumerator.Reset\"]() {\n throw new Error(\"JS iterators cannot be reset\");\n }\n Dispose() {\n return;\n }\n}\nexport function getEnumerator(o) {\n return typeof o.GetEnumerator === \"function\"\n ? o.GetEnumerator()\n : new Enumerator(o[Symbol.iterator]());\n}\nexport function toIterator(en) {\n return {\n [Symbol.iterator]() { return this; },\n next() {\n const hasNext = en[\"System.Collections.IEnumerator.MoveNext\"]();\n const current = hasNext ? en[\"System.Collections.IEnumerator.get_Current\"]() : undefined;\n return { done: !hasNext, value: current };\n },\n };\n}\nexport class Comparer {\n constructor(f) {\n this.Compare = f || compare;\n }\n}\nexport function comparerFromEqualityComparer(comparer) {\n // Sometimes IEqualityComparer also implements IComparer\n if (isComparer(comparer)) {\n return new Comparer(comparer.Compare);\n }\n else {\n return new Comparer((x, y) => {\n const xhash = comparer.GetHashCode(x);\n const yhash = comparer.GetHashCode(y);\n if (xhash === yhash) {\n return comparer.Equals(x, y) ? 0 : -1;\n }\n else {\n return xhash < yhash ? -1 : 1;\n }\n });\n }\n}\nexport function assertEqual(actual, expected, msg) {\n if (!equals(actual, expected)) {\n throw Object.assign(new Error(msg || `Expected: ${expected} - Actual: ${actual}`), {\n actual,\n expected,\n });\n }\n}\nexport function assertNotEqual(actual, expected, msg) {\n if (equals(actual, expected)) {\n throw Object.assign(new Error(msg || `Expected: ${expected} - Actual: ${actual}`), {\n actual,\n expected,\n });\n }\n}\nexport class Lazy {\n constructor(factory) {\n this.factory = factory;\n this.isValueCreated = false;\n }\n get Value() {\n if (!this.isValueCreated) {\n this.createdValue = this.factory();\n this.isValueCreated = true;\n }\n return this.createdValue;\n }\n get IsValueCreated() {\n return this.isValueCreated;\n }\n}\nexport function lazyFromValue(v) {\n return new Lazy(() => v);\n}\nexport function padWithZeros(i, length) {\n let str = i.toString(10);\n while (str.length < length) {\n str = \"0\" + str;\n }\n return str;\n}\nexport function padLeftAndRightWithZeros(i, lengthLeft, lengthRight) {\n let str = i.toString(10);\n while (str.length < lengthLeft) {\n str = \"0\" + str;\n }\n while (str.length < lengthRight) {\n str = str + \"0\";\n }\n return str;\n}\nexport function dateOffset(date) {\n const date1 = date;\n return typeof date1.offset === \"number\"\n ? date1.offset\n : (date.kind === 1 /* UTC */\n ? 0 : date.getTimezoneOffset() * -60000);\n}\nexport function int16ToString(i, radix) {\n i = i < 0 && radix != null && radix !== 10 ? 0xFFFF + i + 1 : i;\n return i.toString(radix);\n}\nexport function int32ToString(i, radix) {\n i = i < 0 && radix != null && radix !== 10 ? 0xFFFFFFFF + i + 1 : i;\n return i.toString(radix);\n}\nexport class ObjectRef {\n static id(o) {\n if (!ObjectRef.idMap.has(o)) {\n ObjectRef.idMap.set(o, ++ObjectRef.count);\n }\n return ObjectRef.idMap.get(o);\n }\n}\nObjectRef.idMap = new WeakMap();\nObjectRef.count = 0;\nexport function stringHash(s) {\n let i = 0;\n let h = 5381;\n const len = s.length;\n while (i < len) {\n h = (h * 33) ^ s.charCodeAt(i++);\n }\n return h;\n}\nexport function numberHash(x) {\n return x * 2654435761 | 0;\n}\n// From https://stackoverflow.com/a/37449594\nexport function combineHashCodes(hashes) {\n if (hashes.length === 0) {\n return 0;\n }\n return hashes.reduce((h1, h2) => {\n return ((h1 << 5) + h1) ^ h2;\n });\n}\nexport function physicalHash(x) {\n if (x == null) {\n return 0;\n }\n switch (typeof x) {\n case \"boolean\":\n return x ? 1 : 0;\n case \"number\":\n return numberHash(x);\n case \"string\":\n return stringHash(x);\n default:\n return numberHash(ObjectRef.id(x));\n }\n}\nexport function identityHash(x) {\n if (x == null) {\n return 0;\n }\n else if (isHashable(x)) {\n return x.GetHashCode();\n }\n else {\n return physicalHash(x);\n }\n}\nexport function dateHash(x) {\n return x.getTime();\n}\nexport function arrayHash(x) {\n const len = x.length;\n const hashes = new Array(len);\n for (let i = 0; i < len; i++) {\n hashes[i] = structuralHash(x[i]);\n }\n return combineHashCodes(hashes);\n}\nexport function structuralHash(x) {\n var _a;\n if (x == null) {\n return 0;\n }\n switch (typeof x) {\n case \"boolean\":\n return x ? 1 : 0;\n case \"number\":\n return numberHash(x);\n case \"string\":\n return stringHash(x);\n default: {\n if (isHashable(x)) {\n return x.GetHashCode();\n }\n else if (isArrayLike(x)) {\n return arrayHash(x);\n }\n else if (x instanceof Date) {\n return dateHash(x);\n }\n else if (((_a = Object.getPrototypeOf(x)) === null || _a === void 0 ? void 0 : _a.constructor) === Object) {\n // TODO: check call-stack to prevent cyclic objects?\n const hashes = Object.values(x).map((v) => structuralHash(v));\n return combineHashCodes(hashes);\n }\n else {\n // Classes don't implement GetHashCode by default, but must use identity hashing\n return numberHash(ObjectRef.id(x));\n // return stringHash(String(x));\n }\n }\n }\n}\n// Intended for custom numeric types, like long or decimal\nexport function fastStructuralHash(x) {\n return stringHash(String(x));\n}\n// Intended for declared types that may or may not implement GetHashCode\nexport function safeHash(x) {\n return x == null ? 0 : isHashable(x) ? x.GetHashCode() : numberHash(ObjectRef.id(x));\n}\nexport function equalArraysWith(x, y, eq) {\n if (x == null) {\n return y == null;\n }\n if (y == null) {\n return false;\n }\n if (x.length !== y.length) {\n return false;\n }\n for (let i = 0; i < x.length; i++) {\n if (!eq(x[i], y[i])) {\n return false;\n }\n }\n return true;\n}\nexport function equalArrays(x, y) {\n return equalArraysWith(x, y, equals);\n}\nfunction equalObjects(x, y) {\n const xKeys = Object.keys(x);\n const yKeys = Object.keys(y);\n if (xKeys.length !== yKeys.length) {\n return false;\n }\n xKeys.sort();\n yKeys.sort();\n for (let i = 0; i < xKeys.length; i++) {\n if (xKeys[i] !== yKeys[i] || !equals(x[xKeys[i]], y[yKeys[i]])) {\n return false;\n }\n }\n return true;\n}\nexport function equals(x, y) {\n var _a;\n if (x === y) {\n return true;\n }\n else if (x == null) {\n return y == null;\n }\n else if (y == null) {\n return false;\n }\n else if (typeof x !== \"object\") {\n return false;\n }\n else if (isEquatable(x)) {\n return x.Equals(y);\n }\n else if (isArrayLike(x)) {\n return isArrayLike(y) && equalArrays(x, y);\n }\n else if (x instanceof Date) {\n return (y instanceof Date) && compareDates(x, y) === 0;\n }\n else {\n return ((_a = Object.getPrototypeOf(x)) === null || _a === void 0 ? void 0 : _a.constructor) === Object && equalObjects(x, y);\n }\n}\nexport function compareDates(x, y) {\n let xtime;\n let ytime;\n // DateTimeOffset and DateTime deals with equality differently.\n if (\"offset\" in x && \"offset\" in y) {\n xtime = x.getTime();\n ytime = y.getTime();\n }\n else {\n xtime = x.getTime() + dateOffset(x);\n ytime = y.getTime() + dateOffset(y);\n }\n return xtime === ytime ? 0 : (xtime < ytime ? -1 : 1);\n}\nexport function comparePrimitives(x, y) {\n return x === y ? 0 : (x < y ? -1 : 1);\n}\nexport function compareArraysWith(x, y, comp) {\n if (x == null) {\n return y == null ? 0 : 1;\n }\n if (y == null) {\n return -1;\n }\n if (x.length !== y.length) {\n return x.length < y.length ? -1 : 1;\n }\n for (let i = 0, j = 0; i < x.length; i++) {\n j = comp(x[i], y[i]);\n if (j !== 0) {\n return j;\n }\n }\n return 0;\n}\nexport function compareArrays(x, y) {\n return compareArraysWith(x, y, compare);\n}\nfunction compareObjects(x, y) {\n const xKeys = Object.keys(x);\n const yKeys = Object.keys(y);\n if (xKeys.length !== yKeys.length) {\n return xKeys.length < yKeys.length ? -1 : 1;\n }\n xKeys.sort();\n yKeys.sort();\n for (let i = 0, j = 0; i < xKeys.length; i++) {\n const key = xKeys[i];\n if (key !== yKeys[i]) {\n return key < yKeys[i] ? -1 : 1;\n }\n else {\n j = compare(x[key], y[key]);\n if (j !== 0) {\n return j;\n }\n }\n }\n return 0;\n}\nexport function compare(x, y) {\n var _a;\n if (x === y) {\n return 0;\n }\n else if (x == null) {\n return y == null ? 0 : -1;\n }\n else if (y == null) {\n return 1;\n }\n else if (typeof x !== \"object\") {\n return x < y ? -1 : 1;\n }\n else if (isComparable(x)) {\n return x.CompareTo(y);\n }\n else if (isArrayLike(x)) {\n return isArrayLike(y) ? compareArrays(x, y) : -1;\n }\n else if (x instanceof Date) {\n return y instanceof Date ? compareDates(x, y) : -1;\n }\n else {\n return ((_a = Object.getPrototypeOf(x)) === null || _a === void 0 ? void 0 : _a.constructor) === Object ? compareObjects(x, y) : -1;\n }\n}\nexport function min(comparer, x, y) {\n return comparer(x, y) < 0 ? x : y;\n}\nexport function max(comparer, x, y) {\n return comparer(x, y) > 0 ? x : y;\n}\nexport function clamp(comparer, value, min, max) {\n return (comparer(value, min) < 0) ? min : (comparer(value, max) > 0) ? max : value;\n}\nexport function createAtom(value) {\n let atom = value;\n return (value, isSetter) => {\n if (!isSetter) {\n return atom;\n }\n else {\n atom = value;\n return void 0;\n }\n };\n}\nexport function createObj(fields) {\n const obj = {};\n for (const kv of fields) {\n obj[kv[0]] = kv[1];\n }\n return obj;\n}\nexport function jsOptions(mutator) {\n const opts = {};\n mutator(opts);\n return opts;\n}\nexport function round(value, digits = 0) {\n const m = Math.pow(10, digits);\n const n = +(digits ? value * m : value).toFixed(8);\n const i = Math.floor(n);\n const f = n - i;\n const e = 1e-8;\n const r = (f > 0.5 - e && f < 0.5 + e) ? ((i % 2 === 0) ? i : i + 1) : Math.round(n);\n return digits ? r / m : r;\n}\nexport function sign(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n}\nexport function unescapeDataString(s) {\n // https://stackoverflow.com/a/4458580/524236\n return decodeURIComponent((s).replace(/\\+/g, \"%20\"));\n}\nexport function escapeDataString(s) {\n return encodeURIComponent(s).replace(/!/g, \"%21\")\n .replace(/'/g, \"%27\")\n .replace(/\\(/g, \"%28\")\n .replace(/\\)/g, \"%29\")\n .replace(/\\*/g, \"%2A\");\n}\nexport function escapeUriString(s) {\n return encodeURI(s);\n}\n// ICollection.Clear and Count members can be called on Arrays\n// or Dictionaries so we need a runtime check (see #1120)\nexport function count(col) {\n if (isArrayLike(col)) {\n return col.length;\n }\n else {\n let count = 0;\n for (const _ of col) {\n count++;\n }\n return count;\n }\n}\nexport function clear(col) {\n if (isArrayLike(col)) {\n col.splice(0);\n }\n else {\n col.clear();\n }\n}\nconst CURRIED = Symbol(\"curried\");\nexport function uncurry(arity, f) {\n // f may be a function option with None value\n if (f == null || f.length > 1) {\n return f;\n }\n const uncurried = (...args) => {\n let res = f;\n for (let i = 0; i < arity; i++) {\n res = res(args[i]);\n }\n return res;\n };\n uncurried[CURRIED] = f;\n return uncurried;\n}\nfunction _curry(args, arity, f) {\n return (arg) => arity === 1\n ? f(...args.concat([arg]))\n // Note it's important to generate a new args array every time\n // because a partially applied function can be run multiple times\n : _curry(args.concat([arg]), arity - 1, f);\n}\nexport function curry(arity, f) {\n if (f == null || f.length === 1) {\n return f;\n }\n else if (CURRIED in f) {\n return f[CURRIED];\n }\n else {\n return _curry([], arity, f);\n }\n}\nexport function checkArity(arity, f) {\n return f.length > arity\n ? (...args1) => (...args2) => f.apply(undefined, args1.concat(args2))\n : f;\n}\nexport function partialApply(arity, f, args) {\n if (f == null) {\n return undefined;\n }\n else if (CURRIED in f) {\n f = f[CURRIED];\n for (let i = 0; i < args.length; i++) {\n f = f(args[i]);\n }\n return f;\n }\n else {\n return _curry(args, arity, f);\n }\n}\nexport function mapCurriedArgs(fn, mappings) {\n function mapArg(fn, arg, mappings, idx) {\n const mapping = mappings[idx];\n if (mapping !== 0) {\n const expectedArity = mapping[0];\n const actualArity = mapping[1];\n if (expectedArity > 1) {\n arg = curry(expectedArity, arg);\n }\n if (actualArity > 1) {\n arg = uncurry(actualArity, arg);\n }\n }\n const res = fn(arg);\n if (idx + 1 === mappings.length) {\n return res;\n }\n else {\n return (arg) => mapArg(res, arg, mappings, idx + 1);\n }\n }\n return (arg) => mapArg(fn, arg, mappings, 0);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [938], () => (__webpack_require__(1548)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [938], () => (__webpack_require__(9705)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["kvs","setProperty","target_mut","key_mut","value_mut","target","key","value","matchValue","indexOf","sepIdx","topKey","nestedKey","undefined","target_1","enumerator","forLoopVar","MuiHelpers_reactElement","createElement","el","properties","StyleImports_createMuiTheme_argsArray","main","color","comparer","Compare","x","y","SR_enumerationAlreadyFinished","SR_enumerationNotStarted","Enumerator_notStarted","Error","Enumerator_alreadyFinished","Enumerator_Seq","constructor","f","this","toString","i","str","e","GetEnumerator","Symbol","iterator","Enumerator_FromFunctions$1","current","next","dispose","Enumerator_noReset","Dispose","Enumerator_FromFunctions$1_$ctor_58C54629","mkSeq","Enumerator_Seq_$ctor_673A07F2","ofSeq","xs","argName","generator","sources","outerOpt","innerOpt","curr","started","finished","finish","inner","outer","copyOfStruct","res","inner_1","outer_1","Enumerator_concat","Array","from","generate","create","compute","openf","closef","state","x_1","s","matchValue_1","Enumerator_generateWhileSome","ys","predicate","c","folder","acc","action","unitVar","iterateIndexed","mapping","e_1","CachedSeq$1","cleanup","getEnumerator","toIterator","DateParsing_$007CBetween$007C_$007C","input","DateParsing_isLeapYear","year","DateParsing_$007CInt$007C_$007C","DateParsing_parse","parts","patternInput","pattern_matching_result","month","length","activePatternResult","activePatternResult_1","pattern_matching_result_1","day","month_1","year_1","y_1","activePatternResult_2","activePatternResult_3","activePatternResult_4","pattern_matching_result_2","day_1","month_2","year_2","x_2","y_2","activePatternResult_5","activePatternResult_6","pattern_matching_result_3","parsedDay","time","x_3","y_3","activePatternResult_7","pattern_matching_result_4","hour","minute","x_4","y_4","activePatternResult_8","activePatternResult_9","matchValue_2","pattern_matching_result_5","year_3","month_3","minute_1","hour_1","day_2","matchValue_3","pattern_matching_result_6","pattern_matching_result_7","pattern_matching_result_8","pattern_matching_result_9","matchValue_4","ReactInterop_useEffectWithDeps","getDisposable","deps","useEffect","disposable","ReactInterop_useLayoutEffect","useLayoutEffect","useReact_useReducer_2B9E6EA0","update","initialState","arg","effect","dependencies","_arg","initialValue","useReact_useButtonRef","useReact_useElementRef","useReact_useMemo_CF4EA67","createFunction","arg_1","callback","lastRenderCallbackRef","callbackRef","callbackFunction","initial","RouterModule_String_$007CPrefix$007C","prefix","RouterModule_String_$007CSuffix$007C","suffix","routeMode","path","path_1","path_2","_arg_1","path_4","RouterModule_normalizeRoute","part","encodeURIComponent","mode","history","pushState","replaceState","ev","document","createEvent","initEvent","window","dispatchEvent","RouterModule_urlSegments","segment","segment_1","split","value_1","decodeURIComponent","value_2","query","RouterModule_router","renderElement","name","areEqual","withKey","memoElementType","name_1","displayName","props","props_2","Internal_propsWithKey","Internal_memo_Z603636D8","onChange","urlChanged","onUrlChanged","location","pathname","search","hash","RouterModule_onUrlChange","hashMode","navigator","addEventListener","removeEventListener","ev_1","application","Segment","tag","fields","super","cases","RouteDefinition$1","RouteDefinition","Parameter$1","ParseSegments_finalSuccess","ParseSegments_finalFail","ParseSegments_parse","segments_mut","url_mut","continuation_mut","final_mut","continuation","final","restSegments","restValues","ParseSegments_parse0","segments","url","segments_1","url_1","ParseSegments_toUrl","parameters","parameters_1","Page$2","parse","toUrl","Page$2_$ctor_44372A54","this$","R$1","def","p1","R$1__page_6CB7246","option_1","a","ParseSegments_parse1","R$1__parse_1334CEF1","R$1__toUrl_2B595","R","R_$ctor_Z31E125C8","R_get_String","R_create","R__segment_Z721C83C5","R__param_Z2F4DFF34","p","R__page_1505","R__parse_1334CEF1","R__toUrl","Match_routes","pages","page","login","dossiers","dossierCreate","dossierEdit","dossierDetail","settings","customers","customerCreate","customerEdit","customerDetail","publicCibForm","compensations","quotes","quoteDetail","appRouter","FormValidator$1","Validate","FormValidator$1_map","mapper","formValidate","validator","patternInput_1","setFieldValue","fieldValue","patternInput_2","setError","patternInput_3","setTouched","FieldValue","Reset","SetFieldValue","ShowErrorState","Touched","Validator","Value","fieldValidator","builder","prevValidate","currentFieldResult","CaseRules","None","LowerFirst","SnakeCase","SnakeCaseAllCaps","KebabCase","dashify","separator","replace","m","toLowerCase","charAt","caseRule","obj","definedCaseRule","fail","kvPair","String","assign","slice","toUpperCase","changeCase","concat","isArray","tryGetValue","map","defaultValue","has","contents","get","addToSet","v","set","add","addToDict","dict","k","Dictionary","pairs","hashMap","Map","pair","Dictionary__Add_5BDDA1","toStringTag","toJSON","_key","values","item","Dictionary__Clear","Dictionary__TryFind_2B595","array","arrayIndex","Dictionary__get_Count","Dictionary__Remove_2B595","Dictionary__ContainsKey_2B595","Dictionary__get_Item_2B595","Dictionary__set_Item_5BDDA1","size","clear","delete","entries","keys","forEach","thisArg","Dictionary__TryFindIndex_2B595","h","GetHashCode","outArg","findIndex","Equals","count","push","msg","splice","Html","Html__Stringify","MasterTypeHelpers_cache","cssValue","newValue","StringifyCss","toLocaleLowerCase","StringifyFontFace","StringifyCounter","NameLabel__Unwrap","property","Keywords","tupledArg_1","tupledArg","CustomMaster","property_1","CssRuleWithNone__get_none","CssRuleWithAutoNone","CssRuleWithNormal","CssRuleWithNormalNone","property_2","CssRuleWithAutoNormal","CssRuleWithAutoNormalNone","seperator","Percent","lp","unitHelpers_CssRuleWithLength","unitHelpers_CssRuleWithLength__value_Z498FEB3B","unitHelpers_CssRuleWithLengthNormal","unitHelpers_CssRuleWithAutoLength","unitHelpers_CssRuleWithAutoLength__value_Z498FEB3B","unitHelpers_CssRuleWithAutoLengthNone","property_3","unitHelpers_DirectionalLength","unitHelpers_DirectionalLength__value_Z498FEB3B","Media_Device","Media_Pointer__Stringify","Media_Feature","Media_ColorGamut__Stringify","Media_LightLevel__Stringify","Media_Orientation__Stringify","Media_OverflowBlock__Stringify","Media_ColorScheme__Stringify","Media_Contrast__Stringify","Media_Scan__Stringify","Media_Scripting__Stringify","Media_Update__Stringify","Media_MediaQuery","MediaClasses_Media__query","features","rules","MediaClasses_Media__queryFor","device","FNV_1A_prime","FontFace_Format","FontFace_Style","FontFaceClasses_FontDisplay","FontFaceClasses_FontStyle","FontFaceClasses_FontStretch","FontFaceClasses_FontWeight","FontFaceClasses_SizeAdjust","FontFaceClasses_UnicodeRange","FontFaceClasses_LineGapOverride","FontFaceClasses_FontVariationSettings","FontFaceClasses_AscentDescentOverride","FontFaceClasses_AscentDescentOverride_$ctor_9401DF4","FontFaceClasses_FontFamily","FontFaceClasses_FontFamily__string_Z721C83C5","string","Src","FontFaceClasses_FontDisplay_$ctor_9401DF4","FontStyle","FontFaceClasses_FontStyle_$ctor_9401DF4","FontWeight","FontFaceClasses_FontStretch_$ctor_9401DF4","FontFaceClasses_FontWeight_$ctor_9401DF4","FontFamily","FontFaceClasses_SizeAdjust_$ctor_9401DF4","FontFaceClasses_UnicodeRange_$ctor_9401DF4","FontFaceClasses_LineGapOverride_$ctor_9401DF4","FontFaceClasses_FontVariationSettings_$ctor_9401DF4","FontFaceClasses_FontFamily_$ctor_9401DF4","ColorClass_Color","ColorClass_Color__get_black","ColorClass_Color__get_white","ColorClass_Color__hex_Z721C83C5","ColorClass_ColorAdjust","Font_SettingSwitch","FontClasses_FontSynthesis","FontClasses_FontLanguageOverride","FontClasses_FontKerning","FontClasses_FontSize","FontClasses_FontStretch","FontClasses_FontStyle","FontClasses_FontWeight","FontClasses_FontWeight__value_Z524259A4","weight","FontClasses_LineHeight","FontClasses_LineBreak","FontClasses_LetterSpacing","FontClasses_FontFamily","FontClasses_FontFeatureSettings","FontClasses_FontVariantNumeric","FontClasses_FontVariantCaps","FontClasses_FontVariantEastAsian","FontClasses_FontVariantLigatures","FontClasses_FontVariantPosition","PropertyType","isMedia","isPseudo","isLabel","addBrackets","createMainCSS","tupledArg_2","createMainCssString","propertyName","propertyValue","createFssInternal","label","properties_1","className","fullCssString","charCodeAt","addClassName_1","cssPair","css","css_1","trim","addClassName","arrangedCss","tupledArg_3","propertyType","createPseudoCssString","createPseudoCss","stringifyMedia","features_4","device_1","createMediaCssString","createMediaCss","createCombinatorCssString","createCombinatorCss","currentProperties_mut","previousPropertyType_mut","currentPropertyTypes_mut","arrangePropertyLists_1","currentProperties","previousPropertyType","currentPropertyTypes","currentProperty","newPropertyType","propertyTypeIdentifier","newPropertyTypes","previousPropertyType_1","newPropertyToInsert","previousPropertyType_2","arrangePropertyLists","px","vh","pct","styleCache","Set","injectCss","head","getElementsByTagName","style","setAttribute","appendChild","createTextNode","createFss","processCssRule","rule","Display_Display","DisplayClasses_DisplayClass","DisplayClasses_DisplayClass__get_flex","DisplayClasses_DisplayClass__get_grid","Display","DisplayClasses_DisplayClass_$ctor_Z207A3CFB","Flex_AlignItems","Flex_AlignSelf","Flex_JustifyContent","Flex_JustifySelf","Flex_Wrap","Flex_Direction","FlexClasses_FlexDirection","FlexClasses_FlexWrap","FlexClasses_FlexWrap__get_wrap","FlexClasses_FlexBasis","FlexClasses_JustifyContent","FlexClasses_JustifyContent__get_center","FlexClasses_JustifyContent__get_spaceBetween","FlexClasses_JustifySelf","FlexClasses_JustifyItems","FlexClasses_AlignSelf","FlexClasses_AlignItems","FlexClasses_AlignItems__get_center","FlexClasses_AlignContent","FlexClasses_Order","FlexClasses_FlexShrinkGrow","FlexClasses_FlexShrinkGrow_$ctor_Z207A3CFB","FlexClasses_FlexShrinkGrow__value_5E38073B","grow","FlexDirection","FlexClasses_FlexDirection_$ctor_Z207A3CFB","FlexWrap","FlexClasses_FlexWrap_$ctor_Z207A3CFB","JustifyContent","FlexClasses_FlexBasis_$ctor_Z207A3CFB","FlexClasses_JustifyContent_$ctor_Z207A3CFB","JustifySelf","FlexClasses_JustifySelf_$ctor_Z207A3CFB","AlignSelf","FlexClasses_JustifyItems_$ctor_Z207A3CFB","FlexClasses_AlignSelf_$ctor_Z207A3CFB","AlignItems","FlexClasses_AlignItems_$ctor_Z207A3CFB","FlexGrow","FlexClasses_AlignContent_$ctor_Z207A3CFB","FlexClasses_Order_$ctor_Z207A3CFB","Text_Align","TextClasses_TextAlign","TextClasses_TextAlign_$ctor_Z207A3CFB","TextClasses_TextDecoration","TextClasses_TextDecorationLine","TextClasses_TextDecorationSkip","TextClasses_TextDecorationThickness","TextClasses_TextDecorationStyle","TextClasses_TextDecorationSkipInk","TextClasses_TextTransform","TextClasses_TextIndent","TextClasses_TextShadow","TextClasses_TextOverflow","TextClasses_TextEmphasis","TextClasses_TextEmphasisPosition","TextClasses_TextEmphasisStyle","TextClasses_TextUnderlinePosition","TextClasses_TextUnderlineOffset","TextClasses_Quotes","TextClasses_Hyphens","TextClasses_TextDecorationColor","TextClasses_TextEmphasisColor","TextClasses_TextSizeAdjust","TextClasses_TabSize","TextClasses_TextOrientation","TextClasses_TextRendering","TextClasses_TextJustify","TextClasses_WhiteSpace","TextClasses_UserSelect","TextClasses_HangingPunctuationClass","TextAlign","TextClasses_TextDecoration_$ctor_Z207A3CFB","TextClasses_TextDecorationLine_$ctor_Z207A3CFB","TextClasses_TextDecorationSkip_$ctor_Z207A3CFB","TextClasses_TextDecorationThickness_$ctor_Z207A3CFB","TextClasses_TextDecorationStyle_$ctor_Z207A3CFB","TextClasses_TextDecorationSkipInk_$ctor_Z207A3CFB","TextClasses_TextTransform_$ctor_Z207A3CFB","TextClasses_TextIndent_$ctor_Z207A3CFB","TextClasses_TextShadow_$ctor_Z207A3CFB","TextClasses_TextOverflow_$ctor_Z207A3CFB","TextClasses_TextEmphasis_$ctor_Z207A3CFB","TextClasses_TextEmphasisPosition_$ctor_Z207A3CFB","TextClasses_TextEmphasisStyle_$ctor_Z207A3CFB","TextClasses_TextUnderlinePosition_$ctor_Z207A3CFB","TextClasses_TextUnderlineOffset_$ctor_Z207A3CFB","TextClasses_Quotes_$ctor_Z207A3CFB","TextClasses_Hyphens_$ctor_Z207A3CFB","TextClasses_TextDecorationColor_$ctor_Z207A3CFB","TextClasses_TextEmphasisColor_$ctor_Z207A3CFB","TextClasses_TextSizeAdjust_$ctor_Z207A3CFB","TextClasses_TabSize_$ctor_Z207A3CFB","TextClasses_TextOrientation_$ctor_Z207A3CFB","TextClasses_TextRendering_$ctor_Z207A3CFB","TextClasses_TextJustify_$ctor_Z207A3CFB","TextClasses_WhiteSpace_$ctor_Z207A3CFB","TextClasses_UserSelect_$ctor_Z207A3CFB","TextClasses_HangingPunctuationClass_$ctor_Z207A3CFB","MarginDirection","MarginDirection_$ctor_Z207A3CFB","Margin","Margin__get_auto","Margin_$ctor_Z207A3CFB","PaddingDirection","PaddingDirection_$ctor_Z207A3CFB","Padding","Padding_$ctor_Z207A3CFB","ContentSizeClasses_ContentSize","ContentSizeClasses_ContentSize_$ctor_Z207A3CFB","GridClasses_GridPosition","GridClasses_GridPosition_$ctor_Z207A3CFB","GridClasses_GridColumn","GridClasses_GridColumn_$ctor_Z207A3CFB","GridClasses_GridRow","GridClasses_GridGap","GridClasses_GridGap_$ctor_Z207A3CFB","GridClasses_GridGap__value_Z498FEB3B","gap","GridClasses_GridTwoGap","GridClasses_GridTemplate","GridClasses_GridTemplate_$ctor_Z207A3CFB","GridClasses_GridAuto","property_4","GridClasses_GridAuto_$ctor_Z207A3CFB","GridClasses_GridAutoFlow","GridClasses_GridTemplateAreas","GridClasses_GridRow_$ctor_Z207A3CFB","GridGap","GridClasses_GridTwoGap_$ctor_Z207A3CFB","FontSize","GridClasses_GridAutoFlow_$ctor_Z207A3CFB","GridClasses_GridTemplateAreas_$ctor_Z207A3CFB","FontClasses_FontSynthesis_$ctor_Z207A3CFB","FontClasses_FontLanguageOverride_$ctor_Z207A3CFB","FontClasses_FontKerning_$ctor_Z207A3CFB","FontClasses_FontSize_$ctor_Z207A3CFB","FontClasses_FontStretch_$ctor_Z207A3CFB","FontClasses_FontStyle_$ctor_Z207A3CFB","FontClasses_FontWeight_$ctor_Z207A3CFB","FontClasses_LineHeight_$ctor_Z207A3CFB","FontClasses_LineBreak_$ctor_Z207A3CFB","FontClasses_LetterSpacing_$ctor_Z207A3CFB","FontClasses_FontFamily_$ctor_Z207A3CFB","FontClasses_FontFeatureSettings_$ctor_Z207A3CFB","FontClasses_FontVariantNumeric_$ctor_Z207A3CFB","FontClasses_FontVariantCaps_$ctor_Z207A3CFB","FontClasses_FontVariantEastAsian_$ctor_Z207A3CFB","FontClasses_FontVariantLigatures_$ctor_Z207A3CFB","FontClasses_FontVariantPosition_$ctor_Z207A3CFB","Cursor_Cursor","CursorClasses_CursorParent","Cursor","CursorClasses_CursorParent_$ctor_Z207A3CFB","Width","Height","MinWidth","MinHeight","MaxWidth","Color","ColorClass_Color_$ctor_Z207A3CFB","ColorClass_ColorAdjust_$ctor_Z207A3CFB","Position_Position","PositionClasses_Position","PositionClasses_Position__get_relative","PositionClasses_Position__get_absolute","PositionClasses_TopRightBottomLeft","PositionClasses_TopRightBottomLeft_$ctor_Z207A3CFB","PositionClasses_VerticalAlign","PositionClasses_Float","PositionClasses_BoxSizing","PositionClasses_Direction","PositionClasses_Break","PositionClasses_Break_$ctor_Z207A3CFB","PositionClasses_BreakInside","WritingModeClasses_WritingMode","Top","Right","Left","Position","PositionClasses_VerticalAlign_$ctor_Z207A3CFB","PositionClasses_Float_$ctor_Z207A3CFB","PositionClasses_BoxSizing_$ctor_Z207A3CFB","PositionClasses_Direction_$ctor_Z207A3CFB","WritingModeClasses_WritingMode_$ctor_Z207A3CFB","PositionClasses_BreakInside_$ctor_Z207A3CFB","PositionClasses_Position_$ctor_Z207A3CFB","Transform_Transform","TransformClasses_TransformClass","TransformClasses_TransformClass__value_ZF56B0F4","transforms","TransformClasses_TransformOrigin","TransformClasses_TransformStyle","TransformClasses_TransformOrigin_$ctor_Z207A3CFB","TransformClasses_TransformStyle_$ctor_Z207A3CFB","Transform","TransformClasses_TransformClass_$ctor_Z207A3CFB","ImageClasses_Image_url_Z721C83C5","ImageClasses_ImageClass","ContentClasses_Content","Label_Label","Custom","ContentClasses_Content_$ctor_Z207A3CFB","BackgroundClasses_BackgroundClip","BackgroundClasses_BackgroundOrigin","BackgroundClasses_BackgroundRepeat","BackgroundClasses_BackgroundSize","BackgroundClasses_BackgroundAttachment","BackgroundClasses_BackgroundColor","BackgroundClasses_BackgroundImage","BackgroundClasses_BackgroundPosition","BackgroundClasses_BackgroundBlendMode","BackgroundClasses_Isolation","BackgroundClasses_BoxDecorationBreak","BackgroundClasses_BackgroundClip_$ctor_Z207A3CFB","BackgroundClasses_BackgroundOrigin_$ctor_Z207A3CFB","BackgroundClasses_BackgroundRepeat_$ctor_Z207A3CFB","BackgroundClasses_BackgroundSize_$ctor_Z207A3CFB","BackgroundClasses_BackgroundAttachment_$ctor_Z207A3CFB","BackgroundColor","BackgroundClasses_BackgroundColor_$ctor_Z207A3CFB","BackgroundImage","BackgroundClasses_BackgroundImage_$ctor_Z207A3CFB","BackgroundClasses_BackgroundPosition_$ctor_Z207A3CFB","BackgroundClasses_BackgroundBlendMode_$ctor_Z207A3CFB","BackgroundClasses_Isolation_$ctor_Z207A3CFB","BackgroundClasses_BoxDecorationBreak_$ctor_Z207A3CFB","Border_Width","Border_Style","BorderClasses_BorderColorParent","BorderClasses_BorderColorParent_$ctor_Z207A3CFB","BorderClasses_BorderWidthParent","BorderClasses_BorderWidthParent_$ctor_Z207A3CFB","BorderClasses_BorderStyleParent","BorderClasses_BorderStyleParent_$ctor_Z207A3CFB","BorderClasses_BorderStyleParent__get_solid","BorderClasses_BorderWidth","BorderClasses_BorderRadius","BorderClasses_BorderRadiusEdge","BorderClasses_BorderRadiusEdge_$ctor_Z207A3CFB","BorderClasses_BorderStyle","BorderClasses_BorderCollapse","BorderClasses_BorderImageOutset","BorderClasses_BorderImageRepeat","BorderClasses_BorderColor","BorderClasses_BorderSpacing","BorderClasses_BorderImageWidth","BorderClasses_Border","BorderWidth","BorderClasses_BorderWidth_$ctor_Z207A3CFB","BorderRightWidth","BorderBottomWidth","BorderRadius","BorderClasses_BorderRadius_$ctor_Z207A3CFB","BorderStyle","BorderClasses_BorderStyle_$ctor_Z207A3CFB","BorderRightStyle","BorderBottomStyle","Property","BorderClasses_BorderCollapse_$ctor_Z207A3CFB","BorderClasses_BorderImageOutset_$ctor_Z207A3CFB","BorderClasses_BorderImageRepeat_$ctor_Z207A3CFB","BorderColor","BorderClasses_BorderColor_$ctor_Z207A3CFB","BorderRightColor","BorderBottomColor","Hover","PseudoClassClasses_PseudoClass_hover_72C268A9","BorderClasses_BorderSpacing_$ctor_Z207A3CFB","BorderClasses_BorderImageWidth_$ctor_Z207A3CFB","ImageClasses_ImageClass_$ctor_Z207A3CFB","BorderClasses_Border_$ctor_Z207A3CFB","fontFace","ruleList","property_","property__1","stringifyFontFaceProperty","createFontFaces","processFontFaceRules","fontFaces","FontFaceClasses_Src__opentype_Z721C83C5","FontFaceClasses_FontWeight__get_normal","FontFaceClasses_FontStyle__get_normal","Var","TextSize_1","Xxxl","Xxl","Xl","Spacing","L","M","S","Xs","Xxs","Xxl_1","Xl_1","Border","ExtraSharp","Sharp","Soft","Colors","Background","Danger","Info","Primary","Secondary","Success","Text","TextLight","TextVeryLight","TextWhite","Warning","TextSize","hCenter","hEnd","FlexClasses_JustifyContent__get_end$0027","vCenter","center","textCenter","TextClasses_TextAlign__get_start","TextClasses_TextAlign__get_end$0027","TextClasses_TextAlign__get_center","FlexClasses_JustifySelf__get_start","FlexClasses_AlignSelf__get_start","FlexClasses_JustifySelf__get_center","FlexClasses_AlignSelf__get_center","FlexClasses_JustifySelf__get_end$0027","FlexClasses_AlignSelf__get_end$0027","row","FlexClasses_FlexDirection__get_row","col","FlexClasses_FlexDirection__get_column","flexExpand","Gap","b300","b400","b500","b600","b700","CursorClasses_CursorParent__get_pointer","CursorClasses_CursorParent__get_default$0027","ColorClass_Color__get_red","progress","appBarLogo","hideInPrint","Media","paddingPrint","hideShadowInPrint","paddingDataDisplay","paddingDataDisplayWide","Light","VeryLight","DossierInspectionLocation","Feliz_prop__prop_fss_Static_72C268A9","checked","rowInputProps","children","classes","colInputProps","guidRegex","guidRegexNoHyphen","guidRegexHex","hyphenateGuid","wsTrimAndLowered","test","InfoChip","UrgentChip","ErrorText","errorTextInputProps","text","tableHeaderInputProps","Progress","progressInputProps","elems","LinearProgress","formFieldHook","error","required","EmailField","EmailFieldDisabled","disabled","MultiEmailField","textState_1","setTextState_1","i_1","v_1","t","updatedText","newState","filter","v_2","NumberFieldDecimal","NumberFieldFloat","adornmentString","startAdornment","InputAdornment","id","b","Math","random","newGuid","display","type","files","onClick","stopPropagation","trueValue","radi","Radio","OptionFieldDisabled","multiSelectInputProps","elements_1","elems_1","items","elements","RenderBreadcrumbs","renderBreadcrumbsInputProps","links","Typography","Breadcrumbs","checkIconInputProps","props_1","CheckBox","CheckBoxOutlineBlank","ImageClasses_ImageClass__url_Z721C83C5","DiscountOption","DiscountOption__get_Label","infoInputProps","primary","secondary","InfoTitle","infoTitleInputProps","linkInputProps","href","DataHeader","dataHeaderInputProps","DisplayData","displayDataInputProps","children_1","data","children_2","DisplayDataWide","displayDataWideInputProps","PartnerChip","partnerChipInputProps","partner","CompanyName","Id","onClick_1","CibFormChip","cibFormChipInputProps","isCibDossier","urgentChipInputProps","isUrgent","DownloadLink","downloadLinkInputProps","onDownload","preventDefault","DisplayDiscount","discount","useAddressForm","streetDefault","numberDefault","busDefault","postalCodeDefault","cityDefault","street","number","bus","postalCode","city","BusField","City","NumberField","PostalCodeField","StreetField","x_5","Bus","Street","Number","PostalCode","r_4","r_3","r_2","r_1","r","addressFields","addressForm","CreateAddressForm","createAddressFormInputProps","heading","xs_1","CreateAddressFormSmallHeader","createAddressFormSmallHeaderInputProps","CreateAddressFormWithReset","createAddressFormWithResetInputProps","isSameAddress","resetOption","CancellationToken","cancelled","_id","_cancelled","_listeners","isCancelled","cancel","listener","addListener","removeListener","register","$","Object","setPrototypeOf","prototype","Trampoline","callCount","maxTrampolineCallCount","incrementAndCheck","hijack","setTimeout","ctx","cancelToken","onCancel","trampoline","err","onError","Bind","computation","binder","onSuccess","Combine","computation1","computation2","Delay","For","sequence","body","iter","cur","While","done","Return","ReturnFrom","TryFinally","compensation","TryWith","catchHandler","ex","Using","resource","guard","Zero","emptyContinuation","_x","awaitPromise","conts","then","catch","defaultCancellationToken","cancellationToken","startWithContinuations","start","exceptionContinuation","cancellationContinuation","variant","message","options","enqueueSnackbar","setIsOn","isOn","Off","On","State","Toggle","useDebouncedValue","milliseconds","handler","clearTimeout","useUsername","auth","snackbar","user","console","log","getIdTokenClaims","dateAndTime","GeneralFormats_dateTimeStampShort","GeneralFormats_dateTimeOffset","d","GeneralFormats_dateTime","customer","customer_1","FirstName","LastName","address","bus_1","status","Quote_statusSyndic","Quote_parseStatus","Dossier_parseStatus","Dossier_Comment_comment","comment","Name","UpdatedOn","source","CommentSource_source","CommentSource","Compensation_compensationToDecimal","type$0027","InspectionLocation_extra","extra","SetTreeLeaf$1","SetTreeLeaf$1_$ctor_2B595","SetTreeLeaf$1__get_Key","_","SetTreeNode$1","left","right","SetTreeNode$1_$ctor_Z6E7BE5F7","SetTreeNode$1__get_Left","SetTreeNode$1__get_Right","SetTreeNode$1__get_Height","SetTreeModule_countAux","t_mut","acc_mut","t2","SetTreeModule_count","SetTreeModule_mk","l","hl","hr","SetTreeModule_rebalance","t1","t_2","t2_3","t_3","t2_4","t1h","t2h","SetTreeModule_add","c_1","SetTreeModule_empty","SetTreeModule_mem","comparer_mut","k_mut","SetTreeModule_iter","f_mut","SetTreeModule_SetIterator$1","stack","SetTreeModule_collapseLHS","stack_mut","rest","x2","SetTreeModule_mkIterator","SetTreeModule_current","SetTreeModule_alreadyFinished","SetTreeModule_notStarted","SetTreeModule_mkIEnumerator","SetTreeModule_moveNext","SetTreeModule_compare","l1_mut","l2_mut","SetTreeModule_compareStacks","l1","l2","x1_3","x2_3","t1_6","x1_4","t2_6","x2_4","t1_7","x1_5","t2_7","x2_5","c_3","c_2","matchValue_5","t1_8","x1_6","t2_8","x2_6","t1_2","x1","t2_2","x2_1","t1_4","x1_2","x2_2","SetTreeModule_copyToArray","arr","j","SetTreeModule_ofSeq","SetTreeModule_ofArray","SetTreeModule_ofList","ie","e_mut","SetTreeModule_mkFromEnumerator","FSharpSet","tree","abs","FSharpSet__ComputeHashCode","that","FSharpSet__get_Comparer","FSharpSet__get_Tree","CompareTo","FSharpSet__get_Count","FSharpSet__Contains","FSharpSet_$ctor","set$","DossierCreatePageSource","dossierStatusColor","dossierStatus","quoteStatusColor","quoteStatus","dossierStatusChipInputProps","backgroundColor","quoteStatusChipInputProps","quoteStatusChipSyndicInputProps","AsbestInventoryDataOptions","formField","profile","element","Allowed","Step","stepString","step","steps","QuoteStep","CompensationOptions","compensationOptionsInputProps","showHeader","compensationCustom","compensationData","colSpan","ChooseContact","chooseContactInputProps","homeVisitContactPhoneNo","homeVisitContactName","isPartnerSelected","partnerName","contactOption","pickupKey","arg_3","ChooseContactQuote","chooseContactQuoteInputProps","isOptional","Badge","Invoiced","InvoicedModule_string","invoiced","ChooseAssignmentDocumentContact","chooseAssignmentDocumentContactInputProps","other","syndicEmail","legalRepEmail","assignmentDocumentOption","showEmail","ChooseCertificateContact","chooseCertificateContactInputProps","emailsError","emails","emailToggle","customerToggle","partnerToggle","partnerSelVal","Switch","e_2","CustomerOption","Label","Code","CustomerOption_get_none","CustomerOption_get_create","FindCustomer","findCustomerInputProps","elems_5","elems_4","setFoundCustomer","reset","setShowCustomerForm","getCustomer","setCustomerOption","customerOption","setShowModal","xs_4","_arg_2","_arg_4","width","height","Autocomplete","delegateArg","delegateArg_1","_arg_5","_arg_1_1","params$0027","delegateArg_2","delegateArg_1_1","customerOption_1","xs_2","props_7","Add","VmeSocialToggles","vmeSocialTogglesInputProps","companyTypeField","social","vme","CreateDossierOwnerCompanyForm","createDossierOwnerCompanyFormInputProps","form","Vme","Social","CompanyTypeField","VatNumberField","CompanyNameField","TelephoneField","AddressField","useCreateDossierOwnerCompanyForm","companyName","companyType","email","phoneNumber","vatNumber","addressStreet","addressNumber","addressBus","addressPostalCode","addressCity","vmeToggle","socialToggle","firstName","lastName","f1","f1_1","f1_2","f1_3","companyName_1","email_1","phoneNumber_1","vatNumber_1","vmeToggle_1","socialToggle_1","companyType_1","firstName_1","arg_5","lastName_1","arg_7","x_7","CompanyType","Address","PhoneNumber","VatNumber","Email","CompanyFirstName","CompanyLastName","r_6","x_6","r_5","CreateDossierOwnerPersonForm","createDossierOwnerPersonFormInputProps","FirstNameField","LastNameField","useCreateDossierOwnerPersonForm","CreateCustomerPersonForm","createCustomerPersonFormInputProps","useCreateCustomerPersonForm","isCibCustomerField","CreateCustomerCompanyForm","createCustomerCompanyFormInputProps","IsVMEField","IsSocialHousingCompanyField","useCreateCustomerCompanyForm","isVme","isSocialHousingCompany","isVme_1","isSocialHousingCompanyField","IsCibCustomerField","x_8","ChooseOwner","chooseOwnerInputProps","ownerPersonForm","ownerCompanyForm","ownerOption","ChoosePricing","invoicePricing","ChooseInvoicing","chooseInvoicingInputProps","dossierCreatePageSource","foundCustomer","isPartnerInvoicingAvailable","customerCompany","customerPerson","contactOwner","setInvoicedValue","invoicingPartySameAsOwner","customerControl","invoiceOption","customerControl_1","company","IsVME","IsSocialHousingCompany","person","toOption","defaultErrorMessage","displayDeferredInputProps","view","cached","CreateCustomerForm","createCustomerFormInputProps","f1_4","onBack","isCibCustomer","backButtonText","saveButtonText","onCreateCustomer","companyFirstname","companyLastname","kboNumber","arg_9","saveButtonText_1","backButtonText_1","typeOfCustomer","personForm","IsVme","KboNumber","TypeOfCustomer","companyForm","r_12","x_14","r_11","x_13","r_10","x_12","r_9","x_11","r_8","x_10","r_7","x_9","unitVar_1","unitVar_2","x_15","n_1","n","setDisable","disable","typeOfCustomer_1","data_1","customerData","EditCustomerForm","editCustomerFormInputProps","f1_5","onEditCustomer","arg_2","arg_6","arg_8","arg_10","company_2","arg_15","arg_17","DisplayCustomerInfo","displayCustomerInfoInputProps","onPartnerClick","partner_1","Paper","CopyCustomerAddress","copyCustomerAddressInputProps","setIsSameAddress","CustomerFilter_State","CustomerCode","PageNumber","PageSize","CustomerFilter_Msg","CustomerFilter_initialState","CustomerFilter_update","customerCode","CustomersData","customersDataInputProps","elems_15","elems_14","children_6","children_5","children_3","children_4","children_13","dispatch","elems_12","children_7","children_8","children_9","children_10","children_11","Data","customers_1","TotalPages","Int32Array","value_45","Deferred$1","operation","setDeferred","token_1","cts","token","executeOperation","breadcrumbsInputProps","currentPage","pageInputProps","actions","title","listInputProps","api","state_1","CustomerFilter_searchTerms","GetCustomers","addNewCustomerButton","customerId","Create","createInputProps","onCompleted","VerifyEmail","verifyEmail","verResponse","additionalInfo","CreateCustomer","result","err_1","editInputProps","GetCustomer","EditCustomer","DateTimeOffset","offset","checkOffsetInRange","Date","getTimezoneOffset","fromDate","date","offset2","kind","getTime","offsetMatch","ms","UTC","setFullYear","dateValue","isNaN","_a","d2","getUTCFullYear","getUTCMonth","getUTCDate","ticks","Long","getDayStart","weekStartDate","copyOfStruct_2","copyOfStruct_1","getDaysSinceStartOfWeek","weekEndDate","getDayEnd","SafeNotNullCheck","selectOption","g","DateRange","Date1","Date2","dt","dt_1","dropDownOpen","setDate1","date1","setDate2","date2","setDateRangeText","patternInput_4","setAnchorEl","anchorEl","date1_1","date2_1","openPopover","currentTarget","hidePopover","e_3","e_4","Popover","vertical","horizontal","e_5","copyOfStruct_3","copyOfStruct_5","copyOfStruct_4","e_6","copyOfStruct_6","copyOfStruct_7","copyOfStruct_10","copyOfStruct_9","monthEnd","copyOfStruct_8","e_7","toggleFilterInputProps","elements_2","elements_3","valueRight","labelRight","valueLeft","labelLeft","toggle","ToggleButtonGroup","ToggleButton","whiteSpace","marginLeft","DossierCode","AdiName","PartnerName","CustomerName","PartnerId","Status","CibFilter","PartnerPortal","Urgent","dossierNumber","Auth0UserPrivileges","Auth0UserClaims__HasPrivilege_6B2F319B","privilege","Privilege","Auth0PartnerUserPrivileges","Auth0PartnerUserClaims","Username","Auth0PartnerUserClaims__HasPrivilege_567ADD95","QuoteInvoice","quoteDetails","amt","feeDue","feeString","actualPrice","Quote","CustomPrice","linePrice","vatAmount","netAmount","Customer","vatNo","FindSliceIndex_Queue$1","q","FindSliceIndex_Q_queue$1","empty","FindSliceIndex_Q_toSeq","DeleteCommentModal","deleteCommentModalInputProps","onDeleteComment","setShowDeletionModal","showDeleteModal","Comment","_arg_3","CommentList","commentListInputProps","comments","comment_2","xs_3","value_9","elems_2","props_4","Delete","comment_1","sep","list","notFirst","CommentEditor","commentEditorInputProps","commentType","setComment","placeholder","readOnly","CommentTypeTabs","commentTypeTabsInputProps","commentType_1","showPartner","showAdi","showInternal","content","setCommentType","tabPanel","index","paddingLeft","paddingTop","paddingRight","tabValue","DossiersData","dossiersDataInputProps","klantNameHeader","isBackOffice","showCibFilter","optionalExportCsvFunction","showPartnerName","klantNameHeader_1","exportCsvFunction","elems_29","elems_28","children_12","arg_4","arg_12","arg_14","arg_16","arg_18","arg_20","arg_22","dossierDetails","children_26","detail","elems_26","adiName","AdiFirstName","AdiLastName","open","Dossier","children_15","IsUrgent","children_16","DossierCreationDate","children_17","children_18","IsCibDossier","children_19","Partner","children_20","IsPartnerPortalDossier","children_21","children_22","children_23","children_24","children_25","value_63","InvoicePricing","value_78","DisplayDossierInfo","displayDossierInfoInputProps","appointment_2","appartmentUrl_1","appointment_1","signatureink","onSaveComment","isPartner","appartmentUrl","partnerUrl","customerUrl","downloadFile","sampledUploaded","auth0User","commentButtonDisabled","appointmentLink","appointment","Appointment","assignmentDocumentLink","StartTime","AssignmentConfirmationPhysicallySigned","AssigmentConfirmation","assignmentConfirmation","assignmentDocumentSigned","isAdmin","invoicePaymentReceivedDate","dateStr","InvoicePaymentReceivedDate","ai","TypeOfDossier","matchValue_6","InBehandelingUsername","InBehandelingAdiId","InBehandelingAdiFirstName","InBehandelingAdiLastName","matchValue_9","CompensationAmount","HomeVisitContact","HomeVisitContactName","HomeVisitContactEmail","matchValue_11","QuoteApprovalMeetingDate","meetingDate_1","client","Client","ManualInvoice","Discount","VME_OrganizationName","otherOwnerStatus","OwnerStatusOther","matchValue_13","Owner_CompanyName","ownerFirstname","Owner_FirstName","ownerLastname","Owner_LastName","Owner_IsVME","Owner_Email","Owner_PhoneNumber","Owner_Address","VME_KboNumber","matchValue_14","OwnerStatus","InspectionLocation","matchValue_15","ResidentialBerging","ResidentialGaragebox","matchValue_16","BuildingDetail","matchValue_17","HousingUnit","matchValue_18","YearsOfConstruction","matchValue_19","YearsOfRenovation","matchValue_20","NumberOfEntrances","matchValue_21","PipeIsolationMeters","matchValue_22","HallwaysPerLevel","value_55","BoilerRoom","matchValue_23","SharedAreaOption1","matchValue_24","SharedAreaOption2","matchValue_25","matchValue_26","readOnlyCheckboxField","checkedR","matchValue_28","matchValue_29","matchValue_30","insData","InspectionLocationBerging","InspectionLocationStaanplaats","InspectionLocationGaragebox","matchValue_31","file","matchValue_32","file_1","matchValue_33","file_2","CadastralRecords","Floorplan","PropertyOther","signedDate","matchValue_34","AssignmentConfirmationDigitalSignature","matchValue_35","SignedAt","a_2","arg_25","matchValue_36","Conclusion","matchValue_37","file_3","Certificate","matchValue_38","elems_6","matchValue_39","file_4","Lab","matchValue_40","appointConfirmation","AppointmentConfirmation","PointSampleCount","MixedSampleCount","MixedSamplePipeInsulationCount","showPartnerComments","username_1","props_19","commentElement","commentData","Save","showInternalComments","Detail","detailInputProps","datas","GetDossiers","StartDate","EndDate","FilterOutDossiersWithoutPartners","PartnerIdList","editCustomerButton","dossierId","fileContents","filePath","blob","Blob","buffer","dataUrl","URL","createObjectURL","anchor","download","click","remove","getImage","getDoc","searchTerms","ExportSelection_CSV","fileName","searchTerms_1","endDate_1","startDate_1","endDate","startDate","downloadFile_CSV","InternalUtilities_toUInt8Array","Uint8Array","ByteArrayExtensions_SaveFileAs_72B26259","binaryData","rel","revokeObjectURL","ParseNonNegative","PartnerOption","IsCibPartner","PartnerType","PartnerOption_get_empty","PartnerOption_get_none","filterPartnerOptions","opts","searchTerm","getPartnerType","partnerId","partnersList","InspectionLocationType","ChooseInspectionLocationFormCheckbox","chooseInspectionLocationFormCheckboxInputProps","residentialGaragebox","residentialBerging","hideGroupSelection","selectedLocationGroups","publicOther","inSocialUseOther","nonResidentialOther","residentialOther","inspectionLocationData","inspectionLocationType","setSelectedLocationGroups","selectedLocationGroups_1","CheckboxField","s_1","isGroupSelected","group","elements_4","residentialOtherDisabled","elements_5","nonResidentialOtherDisabled","inSocialUseOtherDisabled","matchValue_7","v_3","publicOtherDisabled","matchValue_8","Review","reviewInputProps","dossierDataContact","dossierData","person_2","person_1","company_1","InvoicingParty","customer_3","customer_2","DossierOwner","person_3","company_3","matchValue_10","matchValue_12","elems_3","AssignmentDocumentContact","CertificateEmailPartner","CertificateEmailClient","CertificateCustomEmails","CreateDossierForm","createDossierFormInputProps","f1_6","f1_7","f1_8","buttonRef","onCreateDossier","partners","backUrl","ownerStatusData","ownerStatusOther","buildingDetail","dossierTypeData","asbestInventoryData","sharedAreaOption1","sharedAreaOption2","sharedAreaOption3","sharedAreaOption4","arg_11","dossierClientData","isUserOwnerOfArea","yearOfConstruction","yearOfRenovation","numberOfEntrances","arg_19","boilerRoom","pipleIsolationMeters","arg_21","hallwaysPerLevel","arg_23","addressCase","sendMailToPartner","manualInvoice","yearOfConstructionRequiredError","ownerCompany","ownerPerson","inspectionLocationBerging","inspectionLocationStaanplaats","inspectionLocationGaragebox","compensationCustomAmt","compensationCustom_1","patternInput_5","patternInput_6","partnerOption","patternInput_7","setSelectPartnerError","selectPartnerError","compensationAmt","compensationCustomAmt_1","validateOther","otherFormField","Other","r_19","x_21","Compensation","DossierClient","DossierType","InspectionLocationOther","IsUserOwnerOfArea","ResidentialGarageBox","SharedAreaOption3","SharedAreaOption4","YearOfRenovation","r_18","x_20","unitVar_8","y_6","r_17","x_19","unitVar_7","y_5","unitVar_6","r_16","x_18","r_15","x_17","r_14","x_16","r_13","unitVar_4","unitVar_5","AsbestInventoryData","patternInput_8","patternInput_9","setDisableDiscountTextInput","patternInput_10","discountOption","floorplan","cadastralRecords","otherPropertyDocument","patternInput_11","otherfieldDisabled","checkboxField","toggleHook","inspectionLocationAddressLabel","sameAsCustomerAddress","s_2","matchValue_27","partners_1","elems_7","partnerOption_1","opts_1","s_3","inputValue","partner_2","elems_8","buttonDisabled","elements_8","elements_6","elems_9","discountOptions","v_4","_arg_1_2","discOption","params$0027_1","elements_7","owner","inspectionLocationAddress","dossier","CreateDossierStepperPage","createDossierStepperPageInputProps","setPartnerId","setCustomer","setActiveStep","activeStep","stepsCompleted","setStepsCompleted","dossierCreateButtonRef","username","setCreatingDossier","creatingDossier","topRef","contact","contactEmail","contactName","invoice","invoiceCustomerPerson","invoiceCustomerCompany","assignmentDocumentContact","assignmentDocumentOther","assignmentDocumentLegalRepEmail","assignmentDocumentSyndicEmail","setPartnerName","patternInput_13","patternInput_14","patternInput_15","patternInput_16","updateStepCompletion","idx","dossierData_2","xs_7","ref","Stepper","StepLabel","value_23","dossierData_3","floorplan_1","cadastralRecords_1","propertyOther_1","sendEmailToPartner_1","findCustomer","customer_5","value_41","dossierData_4","elems_10","dossierData_5","dossierDataContact_2","elems_11","hidden","scrollIntoView","buttonElement","dossierData_1","dossierDataContact_1","homeVisitContact","emails_1","customEmail","assignmentDocContact","Contact","ContactName","ContactEmail","CertificateEmailCustom","AssignmentContactEmail","assignVal","AssignmentDocumentContactEmail","unitVar_9","unitVar_10","CustomerPersonData","CustomerCompanyData","c_4","partnerEmail","emailsVal_1","unitVar_3","emailsVal","compensationAmount","GetCompensationAmount","uploadFile","dossierCode","endpoint","instance","reader","FileReader","onload","readyState","readAsArrayBuffer","output","_arg_8","err_2","GetCustomerOfPartner","_arg_11","err_4","customer_4","compAmt","propertyOtrher","CreateDossier","dossierCode_1","UploadFloorplan","UploadCadastralRecords","propertyOtrher_1","UploadPropertyOther","_arg_7","onCompleted_1","_arg_9","result_1","err_3","_arg_10","EditDossierForm","editDossierFormInputProps","f1_9","f1_10","f1_11","onEditDossier","dossierUrl","otherData","rBerging","rGaragebox","IsUserOwnerOfInspectionArea","ownerFirstName","ownerLastName","ownerEmail","ownerPhoneNumber","arg_27","ownerAddress","arg_34","f_1","f_2","arg_36","f_3","arg_38","f_4","arg_40","f_5","arg_42","f_6","arg_44","f_7","arg_46","ownerForm","asbestInventoryData_1","companyOption","Owner_CompanyType","Owner_VatNumber","Owner_IsSocialHousingCompany","patternInput_12","isSameAddress_1","setDisable_1","r_22","x_25","r_21","x_24","r_20","x_23","x_22","compForm","x_26","trueVal","matchValue_41","xs_5","matchValue_42","matchValue_43","matchValue_44","v_5","xs_8","partner_3","v_6","owner_2","compensationForm","owner_3","EditDossierStepperPage","editDossierStepperPageInputProps","customerOfPartner","addressBus_1","contactPhoneNo","assignmentDocumentLegalRepEmail_1","assignmentDocumentSyndicEmail_1","EmailPartnerCertificate","EmailCustomerCertificate","EmailsToSendCertificate","emails_4","value_3","value_26","value_49","emails_5","GetDossierDetails","GetDossierComments","comments_1","dossier_1","EditDossier","AssignmentConfirmationResult","DisplayDossierInfoSyndic","displayDossierInfoSyndicInputProps","value_47","CancellationModal","cancellationModalInputProps","isBusyCancelling","onCancelDossier","setShowCancellationModal","showCancellationModal","samplesUploaded","setIsBusyCancelling","GetDocument","_arg_6","ex_1","getComments","GetSamplesUploaded","GetQuoteDetailsByDossierCode","quteDetails","onSaveComments","CreateDossierComment","result_3","cancelDossierButton","isCancelDisabled","Close","editDossierButton","_arg_12","availableButtons","filePath_1","filePath_2","customerId_1","CancelDossier","CompensationEditForm","compensationEditFormInputProps","setDisableButtons","compensation_2","data_2","UpdateCompensationAmount","CompensationsEdit","compensationsEditInputProps","comp","QuoteCode","ConvertQuoteModal","convertQuoteModalInputProps","disableBtn","setStatus","showModal","approvalTicked","approvalMeetingDate","invalidDate","onConvertConfirmation","code","approvalMeetingDate_1","contactDet","ConvertQuoteToDossier","code_1","QuoteTableRow","quoteTableRowInputProps","CreatedOn","vmeName","ownerPersonName","oFName","oLName","QuoteDocument","QuotesDataPartnerPortal","quotesDataPartnerPortalInputProps","value_29","quotesInputProps","GetPartnerQuotesDetails","DeleteFileModal","deleteFileModalInputProps","onDeleteFile","ImageList","imageListInputProps","deleteFile","getFile","quoteDocuments","isLoading","images","DocumentFileType","results","d_1","DocumentFilePath","computations","Promise","all","w","startAsPromise","resolve","reject","filesResult","deleteFile_1","CircularProgress","preview","objectFit","borderColor","borderWidth","borderRadius","borderStyle","src","DocumentFileName","DocumentsList","documentsListInputProps","filename","DisplayQuoteInfoSyndic","displayQuoteInfoSyndicInputProps","downloadLink","n_2","value_50","QuoteDocuments","DisplayQuoteInfo","displayQuoteInfoInputProps","value_51","setApprovalTicked","setApprovalMeetingDate","RenderQuoteDetail","renderQuoteDetailInputProps","convertBtn","filePath_3","getDoc_1","filePath_4","QuoteDetail","quoteDetailInputProps","quoteCode","GetQuoteDetails","Overflow_Overflow","OverflowClasses_OverflowClass","OverflowClasses_OverflowClass_$ctor_Z207A3CFB","OverflowClasses_OverflowClass__get_hidden","OverflowClasses_OverflowClass__get_scroll","OverflowClasses_OverflowWrap","OverflowX","Overflow","OverflowClasses_OverflowWrap_$ctor_Z207A3CFB","VisibilityClasses_Visibility","VisibilityClasses_Opacity","VisibilityClasses_ZIndex","VisibilityClasses_ZIndex__value_Z524259A4","zindex","PaintOrderClasses_PaintOrderClass","PaintOrderClasses_PaintOrderClass_$ctor_Z207A3CFB","Opacity","VisibilityClasses_Opacity_$ctor_Z207A3CFB","ZIndex","VisibilityClasses_ZIndex_$ctor_Z207A3CFB","SignatureBox","isSignatureValid","BorderClasses_BorderWidthParent__get_thin","html","VisibilityClasses_Visibility_$ctor_Z207A3CFB","CssRuleWithAuto__get_auto","Selector_child","PartnerPortalSettingsPageContainer","PositionClasses_Position__get_fixed$0027","CanvasProps","SignaturePadOptions","SignatureCanvas","PartnerSignaturePage","isSaving","GetPartnerSignature","signatureCanvasRef","canvasProps","reload","signatureCanvas","signatureBase64","getCanvas","toDataURL","SaveSettings","scrollTo","SettingsForm","settingsFormInputProps","showSavePage","editButton","partnerSignatureImage","HttpMethod","RequestBody","Url","Headers","WithCredentials","HttpResponse","StatusCode","ResponseBody","CustomHeaders","BaseUrl","Authorization","RouteBuilder","CustomResponseSerialization","ProxyRequestException","response","errorMsg","reponseText","ProxyRequestException_$ctor_76BC5104","RecordField","FieldName","FieldType","PropertyInfo","UnionCase","CaseName","CaseTypes","TypeInfo","flattenFuncTypes","typeDef","$007CFuncType$007C_$007C","lazyToDelayed","typeInfoCache","createTypeInfo","resolvedType","ti_1","l_3","l_4","l_5","l_6","l_7","l_8","l_9","l_10","l_11","l_12","l_13","l_14","l_15","l_16","l_17","primType","$007CPrimitiveType$007C_$007C","types","field","l_1","info","prop","$007CUnionType$007C_$007C","l_2","$007CEnumType$007C_$007C","elemType","$007CListType$007C_$007C","elemType_1","$007CResizeArrayType$007C_$007C","elemType_2","$007CHashSetType$007C_$007C","elemType_3","$007CArrayType$007C_$007C","elemType_4","$007CTupleType$007C_$007C","types_1","activePatternResult_10","$007COptionType$007C_$007C","elemType_5","activePatternResult_11","$007CNullable$007C_$007C","elemType_6","activePatternResult_12","$007CSetType$007C_$007C","elemType_7","activePatternResult_13","genArgs","$007CMapType$007C_$007C","keyType","valueType","activePatternResult_14","$007CDictionaryType$007C_$007C","keyType_1","valueType_1","activePatternResult_15","$007CSeqType$007C_$007C","elemType_8","activePatternResult_16","$007CAsyncType$007C_$007C","elemType_9","activePatternResult_17","$007CPromiseType$007C_$007C","elemType_10","_createTypeInfo","isPrimitive","enumUnion","every","case$","defaultRequestConfig","get$","post","withHeaders","headers","req","withCredentials","withCredentials_1","withBody","sendAndRead","preparation","resultMapper","request_1","xhr","XMLHttpRequest","abort","setRequestHeader","onreadystatechange","send","responseText","sendAndReadBinary","responseType","xhr_1","Parsimmon","seed","times","elem","isParser","call","isBuffer","Buffer","makeSuccess","furthest","expected","makeFailure","mergeReplies","last","hasOwnProperty","sort","makeLineColumnIndex","line","column","lines","assertParser","assertNumber","assertFunction","assertString","linesBeforeStringError","linesAfterStringError","bytesPerLine","bytesBefore","bytesAfter","defaultLinePrefix","repeat","amount","join","leftPad","pad","char","rangeFromIndexAndOffsets","before","after","to","formatGot","lineWithErrorIndex","lineRange","lastLineNumberLabelLength","verticalMarkerLength","byteLineWithErrorIndex","columnByteIndex","byteRange","bytesInChunks","chunkSize","chunks","chunkIndex","toChunks","byteLines","byteRow","byteValue","floor","byteRangeToRange","byteLine","inputLines","lineWithErrorCurrentIndex","linesWithLineNumbers","lineSource","lineNumberLabel","isLineWithError","flags","re","lastIndexOf","parsers","arguments","numParsers","accum","seqMap","args","pop","apply","alt","sepBy1","parser","many","rs","regexp","RegExp","assertRegexp","anchored","anchoredRegexp","match","exec","fullMatch","groupMatch","skip","tryParse","formatError","or","alternative","wrap","leftParser","rightParser","middle","thru","wrapper","self","tieWith","assertArray","tie","min","max","prevResult","atMost","atLeast","init","fn","contramap","promap","mark","end","node","sepBy","lookahead","notFollowedBy","desc","reply","fallback","ap","chain","of","digit","optWhitespace","cr","lf","newline","Parsimmon_many","Parsimmon_ofLazy","Parsimmon_digit","Parsimmon_seperateBy","others","Parsimmon_between","skipped","Parsimmon_choose","ps","Parsimmon_satisfy","Parsimmon_str","Parsimmon_optionalWhitespace","Parsimmon_stringReturn","Parsimmon_seq2","Parsimmon_concat","strings","Parsimmon_seq3","MapTreeLeaf$2","MapTreeLeaf$2_$ctor_5BDDA1","MapTreeLeaf$2__get_Key","MapTreeLeaf$2__get_Value","MapTreeNode$2","MapTreeNode$2_$ctor_499A11FD","MapTreeNode$2__get_Left","MapTreeNode$2__get_Right","MapTreeNode$2__get_Height","MapTreeModule_sizeAux","m_mut","m2","MapTreeModule_size","MapTreeModule_mk","m_2","MapTreeModule_rebalance","m2_2","m_3","m2_3","MapTreeModule_add","MapTreeModule_empty","MapTreeModule_tryFind","MapTreeModule_iterOpt","MapTreeModule_iter","MapTreeModule_copyToArray","MapTreeModule_ofSeq","MapTreeModule_ofArray","MapTreeModule_ofList","MapTreeModule_mkFromEnumerator","MapTreeModule_MapIterator$2","MapTreeModule_collapseLHS","MapTreeModule_mkIterator","MapTreeModule_current","MapTreeModule_alreadyFinished","MapTreeModule_notStarted","MapTreeModule_mkIEnumerator","MapTreeModule_moveNext","FSharpMap","combineHash","FSharpMap__ComputeHashCode","e1","e2","loop","m1","e1c","e2c","kv","b1","b2","kvp1","kvp2","FSharpMap__ContainsKey","FSharpMap__get_Item","FSharpMap__get_Count","FSharpMap_$ctor","MapTreeModule_find","MapTreeModule_mem","table","FSharpMap__TryFind","containsKey","FSharpMap_Create","m_1_mut","MapTreeModule_toList","MapTreeModule_toArray","jint","negJint","jfloat","jnumber","jbool","jnull","stringLiteral","escape","ch","Parsimmon_oneOf","anyCharSnippet","otherParser","Parsimmon_orTry","tuple","jstring","withWhitespace","jvalue","comma","json$004080$002D1","jsonParser","BigNat","bound","digits","BigNatModule_FFT_pow32","x_mut","n_mut","BigNatModule_bound","BigNatModule_coeff","BigNatModule_coeff64","BigNatModule_setCoeff","BigNatModule_pow64","BigNatModule_pow32","BigNatModule_FFT_maxTwoPower","BigNatModule_baseBits","BigNatModule_baseN","BigNatModule_baseMask","BigNatModule_baseNi64","BigNatModule_baseMaski64","BigNatModule_divbase","BigNatModule_modbase","BigNatModule_createN","BigNatModule_normN","na_mut","i_mut","na","findLeastBound","BigNatModule_boundInt","BigNatModule_boundInt64","BigNatModule_embed","BigNatModule_eval32","BigNatModule_one","BigNatModule_zero","BigNatModule_degree","rbound","c_mut","p_mut","q_mut","r_mut","z","z_1","i_2","BigNatModule_addP","BigNatModule_lt","pa_mut","qa_mut","pa","qa","check","BigNatModule_compare","BigNatModule_mulSchoolBookCarry","rak","BigNatModule_mulSchoolBookOneSmall","bp","q_1","BigNatModule_encoding","bigL","twoToBigL","bigK","bigN","splits","BigNatModule_mkEncoding","BigNatModule_table","pSmall","qSmall","BigNatModule_mulSchoolBookBothSmall","ra","pai","qaj","BigNatModule_mulSchoolBookNeitherSmall","BigNatModule_mulSchoolBook","BigNatModule_scaleSubInPlace","ad","a_1","zLo","zHi","BigNatModule_scaleAddInPlace","BigNatModule_removeFactor","degx","dega","xa","aa","pn","qai","BigNatModule_copyN","Invariant","BigNatModule_toFloat","evalFloat","BigNatModule_ofInt32","BigNatModule_ofInt64","BigNatModule_embed64","BigNatModule_toString","degn","collect","isLeading_mut","digits_mut","n_1_mut","_arg_mut","isLeading","prior_1","nL","nH","digits_4","prior_mut","ten2k_mut","prior","ten2k","route","BigNatModule_ofString","len","ten","build","BigNatModule_getSmall","signInt","BigInteger__get_SignInt","BigInteger__get_V","BigNatModule_hash","nn","BigInteger_$ctor_Z2BE94A1","BigInteger_nat_Z67CCE57D","smallLim","smallPosTab","BigInteger_posn_Z67CCE57D","one","zero","text_1","toDecimal","BigInteger__get_ToDecimal","InteropUtil_isBigInt","InteropUtil_isObjectLiteral","SimpleJson_parse","Parsimmon_parse","SimpleJson_tryParse","SimpleJson_toString","SimpleJson_toPlainObject","jsObject","enumerator_1","JSON","stringify","jsonValue","SimpleJson_parseNative$0027","$007CNativeString$007C_$007C","$007CNativeNumber$007C_$007C","$007CNativeBool$007C_$007C","$007CNull$007C_$007C","$007CNativeArray$007C_$007C","$007CNativeObject$007C_$007C","object","SimpleJson_parseNative","two","ok","Uri","uri","static","isAbsoluteUri","original","baseUri","relativeUri","kindOrUri","tryCreateWithKind","tryCreateWithBase","tryCreateImpl","out","asUrl","absoluteUri","scheme","protocol","host","absolutePath","pathAndQuery","fragment","originalString","fromDayNumber","dayNumber","littleEndian","getBytesInt32","bytes","DataView","byteOffset","byteLength","setInt32","ArrayBuffer","isView","lowBits","getInt32","highBits","HashSet__Add_2B595","HashSet__Clear","HashSet__Contains_2B595","HashSet__get_Count","HashSet__Remove_2B595","HashSet__TryFindIndex_2B595","Convert_insideBrowser","Convert_InternalMap","Convert_flattenMap","Convert_$007CMapKey$007C_$007C","Convert_generateMap","json","Convert_$007CMapEmpty$007C_$007C","Convert_$007CMapOne$007C_$007C","Convert_$007CMapNode$007C_$007C","key_1","leftMap","rightMap","Convert_flatteFable3Map","Convert_flattenFable3Lists","linkedList","tail","Convert_arrayLike","Convert_unionOfRecords","Convert_isRecord","found","Convert_optional","Convert_isQuoted","Convert_betweenQuotes","Convert_removeQuotes","Convert_fromJsonAs","input_mut","typeInfo_mut","foundCase","foundCase_1","testExpr","values_8","tree_1","typeInfo","value_4","value_5","value_7","value_8","value_10","value_11","value_12","value_13","value_14","value_15","value_16","value_17","value_18","value_19","value_20","value_21","value_22","value_24","value_25","getlElemType","value_27","getElemType","value_28","getElemType_1","genericJson","value_30","value_31","value_32","value_33","value_34","value_35","value_36","value_37","value_38","value_39","value_40","value_42","getTypes_1","jsonValue_5","optionalTypeDelayed_5","caseName_4","getTypes_2","caseName_5","getTypes_3","getFields","serializedRecord","caseValue","getTypes_4","elementTypeDelayed","values_4","elementTypeDelayed_1","values_5","elementTypeDelayed_2","elementTypeDelayed_3","values_6","elementTypeDelayed_4","values_7","array_12","tupleTypesDelayed","dict_1","getTypes_5","getTypes_6","tuples","getTypes_7","tuples_1","dict_2","getTypes_8","getType","getTypes_9","getType_1","NaN","fromCharCode","underlyingType","originalType","outArg_1","WorkerGlobalScope","unionType","caseName_1","values_1","caseName_2","foundCase_2","foundCase_3","foundCase_4","arg_13","expectedCases","case$_1","case$_2","caseInfo","caseName_3","caseType","input_1","typeInfo_1","expectedCases_1","case$_3","foundDiscriminatorKey","keyword","discriminatorValueJson","discriminatorValue","foundUnionCase","case$_4","case$_5","arg_24","arg_26","unexpectedJson","expectedType","caseIndex","fieldValues","foundCase_5","value_48","high","low","caseTypes","case$_6","expectedCases_2","case$_7","caseTypes_1","case$_8","expectedCases_3","case$_9","cases_1","caseName_6","caseName_8","values_3","otherwise_6","case$_10","expectedCases_4","case$_11","case$_12","foundCaseName","caseInfo_4","expectedCases_5","unexpectedJson_1","expectedType_1","elementType","elementType_1","value_57","elementType_2","value_59","elementType_3","value_61","elementType_4","recordType","list_10","f2","clo_48","fieldType","fieldName","dictKeys","arg_51","arg_50","recordFields","arg_54","arg_57","keyValuePair","pairs_1","keyValuePair_1","keyType_2","pairs_2","tupledArg_4","output_1","forLoopVar_1","hashset","enumerator_2","valueType_5","keyType_3","comparer_2","tree_2","comparer_3","tree_3","inputJson","pairs_3","tupledArg_5","key_6","pairs_4","tupledArg_6","key_7","arg_61","arg_60","arg_63","arg_62","Convert_quoteText","inputText","escapable","meta","lastIndex","Convert_serialize","ts","element_1","element_2","element_3","element_4","elementType_5","element_5","usedCase","find","serializedFields_1","serializedValues","serializedKey","serializedValue","serializedValues_1","serializedKey_1","serializedValue_1","tupleTypes","index_1","element_6","Proxy_proxyFetch","typeName","func","funcArgs","argumentCount","returnTypeAsync","binaryInput","baseUrl","Proxy_combineRouteWithBaseUrl","funcNeedParameters","contentType","inputArgumentTypes","executeRequest","Proxy_isAsyncOfByteArray","onOk","serializer","returnType","typ_mut","typ","Proxy_getReturnType","requestBody","statusCode","response_1","responseAsBlob","readAsText","response_2","returnType_1","requestBody_1","response_3","parsedJson","arg0","arg1","arg2","arg3","arg4","arg5","arg6","arg7","inputArguments","clo","schemaType","fieldTypes","delegateArg_3","delegateArg_4","delegateArg_5","delegateArg_6","delegateArg_7","delegateArg_8","delegateArg_9","delegateArg_10","delegateArg_11","delegateArg_12","delegateArg_13","delegateArg_14","delegateArg_15","delegateArg_16","delegateArg_17","delegateArg_18","delegateArg_19","delegateArg_20","delegateArg_21","delegateArg_22","delegateArg_23","delegateArg_24","delegateArg_25","delegateArg_26","delegateArg_27","delegateArg_28","delegateArg_29","delegateArg_30","delegateArg_31","delegateArg_32","delegateArg_33","delegateArg_34","AnimationClasses_AnimationTimingFunction","TransitionClass","TransitionDelay","TransitionTimingFunction","TransitionProperty","TransitionDelay_$ctor_Z207A3CFB","TransitionDuration_$ctor_Z207A3CFB","TransitionTimingFunction_$ctor_Z207A3CFB","TransitionProperty_$ctor_Z207A3CFB","TransitionClass_$ctor_Z207A3CFB","BoxShadowClasses_BoxShadowClass","BoxShadow","BoxShadowClasses_BoxShadowClass_$ctor_Z207A3CFB","logo","SampleData","Type","PricePerSample","PropertyData","StandardPrice","SampleTableRow","total","PropertyTypeRow","formatValue","DisplayModal","displayModalInputProps","elements_10","propertyCompensation","onClose","isOpen","sampleCompensation","sampleData","propertyData","Dialog","DialogTitle","fontWeight","marginTop","DialogContent","DialogActions","PriceListModal","priceListModalInputProps","drawerWidth","menuButtonStyle","FlexClasses_JustifyContent__get_start","menuButtonActive","flexNoWrap","CssRule__get_initial","cornerStyle","MenuButton","menuButtonInputProps","active","icon","Menu","isActivePage","currentPage_1","addNewDossierButton","dossiersLink","Work","quotesLink","icon_1","WorkOutline","customersLink","icon_2","active_1","PeopleAlt","url_2","compensationsLink","icon_3","active_2","Money","url_3","settingsLink","icon_4","active_3","SettingsApplications","url_4","active_4","appBarInputProps","drawerOpen","setPriceListModalOpen","TransitionProperty__get_width","TransitionDuration__value_74CCD5DD","AnimationClasses_AnimationTimingFunction__get_ease","opacity","VisibilityClasses_Opacity__value_5E38073B","AppBar","Toolbar","props_5","IconButton","logout","ExitToApp","titleClass","Login","hostname","loginWithPopup","AppRouter","appRouterInputProps","page_1","page_2","id_1","page_3","page_4","page_5","id_2","page_6","id_3","page_7","page_8","page_9","page_10","page_11","page_12","createApi","options_1","RemotingModule_withAuthorizationHeader","App","userClaims","tkn","__raw","partner_id","MainRouter","currentUrl","render","domain","clientId","redirectUri","origin","StylesProvider","ThemeProvider","CssBaseline","getElementById","virtualPath","eval","combine","paths","normalize","normalizeRoutes","methodName","normalizePublicCibRoutes","partnerPortalPath","method","publicCibFormPath","CommentData","Comment$","CommentType","CommentData$reflection","PartnerData","ContactFirstName","ContactLastName","PartnerAdis","MinimumRole","CommercialName","PartnerData$reflection","IPartnerPortalApi","CreatePartner","GetPartner","IPartnerPortalApi$reflection","ICibFormApi","CreateCibDossier","ICibFormApi$reflection","Validation_min","Validation_nonNegativeFloat","Validation_parseFloat","Integer","Integer$reflection","Decimal","Decimal$reflection","Decimal_get_Create","minVal","Validation_minNumDecimal","Decimal___UnsafeCreate_32C73145","NonEmptyString","NonEmptyString$reflection","NonEmptyString_get_Create","NonEmptyString___UnsafeCreate_Z721C83C5","NonEmptyString___UnsafeUnwrap_Z73AD07C","EmptyString","EmptyString_get_Create","EmptyString___UnsafeCreate_Z721C83C5","FilePath","FilePath$reflection","Email$reflection","Email_get_Create","Email___UnsafeCreate_Z721C83C5","Email___UnsafeUnwrap_Z27D11339","EmailList_fromList","PhoneNumber$reflection","PhoneNumber_get_Create","PhoneNumber___UnsafeCreate_Z721C83C5","PhoneNumber___UnsafeUnwrap_23E45174","VatNumber$reflection","VatNumber_get_Create","VatNumber___UnsafeCreate_Z721C83C5","VatNumber___UnsafeUnwrap_18C04ACB","KboNumber$reflection","KboNumber_get_Create","KboNumber___UnsafeCreate_Z721C83C5","KboNumber___UnsafeUnwrap_146F846E","BankAccount","NationalInsuranceNumber","PersonIdOvam","PartnerType$reflection","Region","InvoicePricing$reflection","InvoicePricingModule_string","CustomerId","CustomerId$reflection","CustomerCode$reflection","LegalRepresentativeId","LegalRepresentativeId$reflection","AdiId","AdiId$reflection","CompanyId","CompanyId$reflection","DossierId","DossierId$reflection","DossierCode$reflection","DossierCommentId","DossierCommentId$reflection","QuoteId","QuoteDocumentType","QuoteFileType","QuoteCode$reflection","InvoicingId","InvoicingId$reflection","DigitalSignatureId","AppointmentId","AppointmentId$reflection","AppointmentConfirmationId","QuoteDocumentId","PartnerId$reflection","QuoteDocumentUploadResult","DocumentType$","DocumentType","QuoteDocumentUploadResult$reflection","PartnerCode","SignatureCode","CommentSource$reflection","CommentType$reflection","CommentType__get_toString","Number$","Address$reflection","AreSampelsUploaded","AdhesiveSampleCount","NightShift","SundayShift","GoingBackToSite","UrgentOrderCib","UrgentOrderPrivate","AppointmentConfirmation$reflection","AppointmentStatus","EndTime","CalendarServiceEventId","Appointment$reflection","DossierComment","DossierComment$reflection","DigitalSignature","ExpiresAt","Signed","DigitalSignature$reflection","Compensation$reflection","Compensation_get_DefaultCompensation","InspectionLocation$reflection","InspectionLocationExtra","AsbestInventory","TypeOfDossier$reflection","DossierClient$reflection","OwnerStatus$reflection","OwnerStatus__get_toString","QuoteStatus","QuoteStatus$reflection","QuoteStatus_get_list","DossierStatus","DossierStatus$reflection","DossierStatus_get_list","DossierDocumentVersion","TypeOfDiscount","TypeOfDiscount$reflection","AssignmentDocument","AssignmentDocument$reflection","AssignmentDocumentModule_string","assignmentDocument","HomeVisitContact$reflection","HomeVisitContactModule_string","AsbestosConclusion","AsbestosConclusion$reflection","AwareOfAsbestosDescription","EmailConfirmations","VME_LastName","VME_FirstName","VME_Address","VME_Email","VME_PhoneNumber","OrderConfirmation","CertificateDate","OrderConfirmationDigitalSignature","OrderConfirmationPhysicallySigned","ManualInvoice_EmailSent","DocumentVersion","HiddenAsbestos","FloorPlanAvailable","IsRealSmartDossier","AssignmentConfirmationSendDate","Dossier$reflection","Quote$reflection","TypeOfCorporation","CompanyInformation","CompanyFormat","Company","TermOfPayment","VatLiable","AdiRole","AdiRole$reflection","Adi","EmailAsbestConsulting","AdiCompany","TrainingCertification","IbexExamCertification","PersonalCertification","DiplomaTraining","ExtraEducation","Regions","Role","IsActive","Adi$reflection","CustomerPerson","TenantPartnerId","IsCibCustomer","CustomerCompany","Customer2","Customer2$reflection","Customer2__get_Id","Customer2__get_PhoneNumber","Customer2__get_Code","Customer2__get_Address","Customer2__get_Email","Customer2__get_CustomerOrCompanyName","LegalRepresentative","LegalRepresentative$reflection","TenantPartnerCustomerId","Partner$reflection","TypeOfDossierData","TypeOfDossierData_Create_Z6219B46","TypeOfDossierData___UnsafeCreate_Z1D754B91","AsbestInventoryData_Create_7B10C0C6","AsbestInventoryData___UnsafeCreate_Z54AF902D","SelectOptionData$1","SelectOptionData$1$reflection","gen0","SelectOptionData$1_Create_Z510A3DC0","SelectOptionData$1___UnsafeCreate_2B595","CreateCustomerResult","CreateCustomerResult$reflection","EmailVerificationResponse","EmailVerificationResponse$reflection","CustomerData2","CustomerData2$reflection","CustomerData2__get_PhoneNumber","CustomerData2__get_Address","CustomerData2__get_Email","DossierCustomerSelection","DossierCustomer","TypeOfCustomerModule_string","ContactOwner","ContactOwnerModule_string","DossierOwnerCompany","DossierOwnerPerson","DossierOwner__get_Address","CreateDossierData","CreateDossierDataContact","CreateDossierData2","CreateDossierData2$reflection","UpdateDossierResult","UpdateDossierResult$reflection","DossierDetails","DossierDetails$reflection","QuoteDetails","QuoteDetails$reflection","CustomerSearchTerms","CustomerSearchTerms$reflection","DossierSearchTerms","DossierSearchTerms$reflection","QuoteSearchTerms","QuoteSearchTerms$reflection","AsbestInventoryProfile","AsbestInventoryProfile_get_defaultInventory","Dossier_contact","Dossier_contactPhoneNumber","Quote_contact","quote","Quote_contactPhoneNumber","Compensation_fromDomain","dbo","PagingQuery","PagingQuery$reflection","PagingResult$1","PagingResult$1$reflection","Helpers_allocateArrayFromCons","cons","indexNotFound","fill","targetIndex","mapIndexed","arrays","arrays_1","totalIdx","totalLength","idx_1","arr_2","contains","eq","item_1","start_1","end$0027","singleton","ar","initialize","initializer","copy","take","tryFind","pick","chooser","choose","fold","reduce","zip","array1","array2","differentLengths","equalsWith","equals","length1","length2","FSharpResult$2","dateOffsetToString","isMinus","hours","minutes","dateToHalfUTCString","half","toISOString","substring","dateToStringWithCustomFormat","format","utc","rep","getFullYear","getMonth","getDate","getUTCHours","getHours","getUTCMinutes","getMinutes","getUTCSeconds","getSeconds","getUTCMilliseconds","getMilliseconds","_provider","_b","_c","dateWithOffset","dateToISOStringWithOffset","dateToStringWithOffset","toUTCString","toLocaleString","toLocaleDateString","toLocaleTimeString","printOffset","dateToISOString","dateToStringWithKind","DateTime","fromDateTimeOffset","getTicks","parseRaw","baseDate","timeInSeconds","timeParts","parseInt","parseFloat","offsetInMinutes","detectUTC","utcNow","now","today","isLeapYear","dayOfWeek","getUTCDay","getDay","addDays","newDate","oldTzOffset","newTzOffset","addMonths","newMonth","newMonth_","yearOffset","newYear","_daysInMonth","daysInMonth","second","millisecond","compare","P","cmp","_this","multiply","mul","toPrecision","sd","toExponential","dp","toFixed","toHex","MAX_DP","NAME","INVALID","INVALID_DP","INVALID_RM","DIV_BY_ZERO","UNDEFINED","NUMERIC","nl","round","Big","DP","RM","rm","more","xc","isZero","xci","unshift","doExponential","isNonzero","isneg","yc","div","bl","bt","ri","bz","al","rl","qc","qi","shift","gt","gte","lt","lte","minus","sub","xlty","plus","xe","ye","reverse","mod","ygtx","pow","prec","sqrt","NE","PE","toNumber","strict","valueOf","_Big_","TypeError","op_Addition","op_Subtraction","op_Multiply","setInt32Bits","hexDigits","bits","fromParts","mid","isNegative","scale","bitSize","decDigits","hex","dec","decCount","carry","val","hexToDecimal","big","defValue","NumberStyles","getRange","unsigned","bitsize","isValid","radix","AllowHexSpecifier","getRadix","invalidDigits","getInvalidDigits","regexMatch","sign","validResponse","umin","umax","op_UnaryNegation_Int32","FSharpList","xs_1_mut","ys_1_mut","ys_1","xt","yt","h_mut","ListEnumerator$1","it","__","FSharpList_get_Empty","FSharpList_Cons_305B8EAC","FSharpList__get_IsEmpty","FSharpList__get_Length","FSharpList__get_Head","FSharpList__get_Tail","isEmpty","toArray","ofArrayWithTail","tail_1","ofArray","root","append","zs","mapFold","tryPick","FSharpList__get_Item_Z524259A4","tryFindIndex","sortByDescending","projection","sortWith","wasm","WebAssembly","Instance","Module","exports","isLong","h1","substr","le","fromBytesLE","fromBytesBE","fromBytes","$this","hi","lo","toBytesLE","toBytesBE","__isLong__","defineProperty","INT_CACHE","UINT_CACHE","fromInt","cachedObj","cache","fromBits","fromNumber","UZERO","ZERO","TWO_PWR_64_DBL","MAX_UNSIGNED_VALUE","TWO_PWR_63_DBL","MIN_VALUE","MAX_VALUE","negate","TWO_PWR_32_DBL","pow_dbl","fromString","RangeError","radixToPower","fromValue","TWO_PWR_16_DBL","TWO_PWR_24","ONE","UONE","NEG_ONE","toInt","radixLong","divide","rem1","subtract","rem","remDiv","isOdd","lessThan","greaterThan","greaterThanOrEqual","thisNeg","otherNeg","not","addend","a48","a32","a16","a00","b48","b32","b16","c48","c32","c16","c00","subtrahend","multiplier","get_high","b00","divisor","approx","div_u","div_s","toUnsigned","numBits","shiftRightUnsigned","shiftLeft","shiftRight","log2","ceil","LN2","delta","approxRes","approxRem","op_Division","op_Modulus","rem_u","rem_s","op_UnaryNegation","op_BitwiseAnd","fromInteger","xh","_bitsize","lessOrEqual","padStart","maxValue","getMaxValue","unixEpochMillisecondsToTicks","ticksToUnixEpochMilliseconds","symbol","isNumeric","Some","some","flatten","opt","defaultArg","map2","opt1","opt2","CaseInfo","declaringType","fullname","generics","construct","parent","enumCases","fullName","getHashCode","getGenerics","fullnameHash","genHashes","getRecordElements","k1","v1","k2","v2","class_type","record_type","union_type","caseNames","lambda_type","argType","option_type","generic","list_type","array_type","unit_type","string_type","bool_type","uint8_type","int32_type","float64_type","getElementType","isGenericType","isEnum","getEnumUnderlyingType","getUnionCases","getTupleElements","isTuple","getFunctionElements","isFunction","gen","isUnion","isRecord","startsWith","getUnionFields","case_","getUnionCaseFields","uci","getRecordField","makeUnion","expectedLength","makeRecord","_t","isMatch","reg","startAt","fsFormatRegExp","interpolateRegExp","formatRegExp","isLessThan","printf","cont","strParts","matches","strIdx","matchIndex","createPrinter","interpolate","valIdx","padLength","precision","formatReplacement","continuePrint","toConsole","toText","toFail","zeroFlag","minusFlag","_strParts","_matches","_result","padArg","_padLength","pattern","padLeft","intPart","decimalPart","repInt","repDecimal","rightZeros","padRight","thousandGroups","thousands","endsWith","isNullOrEmpty","isNullOrWhiteSpace","delimiter","fromBase64String","b64Encoded","binary","atob","notSupported","isRight","splitters","removeEmpty","findSplits","candidate","chars","trimEnd","startIndex","callStack","seqToString","getPrototypeOf","Union","fieldStr","withParens","unionToString","hashes","Record","o","recordToJSON","recordToString","recordGetHashCode","thisNames","recordEquals","recordCompareTo","FSharpRef","contentsOrGetter","setter","getter","Exception","ensureErrorOrException","isIterable","isArrayLike","isHashable","disposeSafe","isDisposable","sameConstructor","Enumerator","en","hasNext","Lazy","factory","isValueCreated","createdValue","IsValueCreated","padWithZeros","dateOffset","int32ToString","ObjectRef","idMap","stringHash","numberHash","combineHashCodes","h2","structuralHash","arrayHash","dateHash","safeHash","equalArraysWith","equalArrays","isEquatable","compareDates","xKeys","yKeys","equalObjects","xtime","ytime","comparePrimitives","compareArrays","compareArraysWith","isComparable","compareObjects","createObj","WeakMap","CURRIED","uncurry","arity","uncurried","_curry","curry","__webpack_module_cache__","deferred","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","__esModule","definition","enumerable","globalThis","Function","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}