{"version":3,"file":"static/js/main.64f00727.js","mappings":"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","sources":["lib/store.js","lib/alerts.js","lib/util.js","lib/api.js","lib/user.js","components/AccountLayout.js","components/Message.js","images/horizontal-light.svg","components/GradientBox.js","components/Link.js","components/Login.js","views/LoginView.js","components/ProfileMenu.js","components/Sidebar.js","views/ErrorView.js","components/AuthRequired.js","components/FetchDatasetsSchemas.js","components/AlertDropDown.js","components/Footer.js","components/CurrentOrganization.js","components/Pixel.js","components/SidebarLayout.js","components/SchemaTabs.js","components/AccountsActivate.js","views/AccountsActivateView.js","icons/IconEdit.js","icons/IconSave.js","components/Account.js","views/AccountView.js","views/ChoosePlanView.js","components/DatasetDetail.js","views/DatasetDetailView.js","images/dataset-card.svg","components/DatasetCard.js","components/DatasetsList.js","views/DatasetsListView.js","components/Debug.js","views/DebugView.js","views/DevTable.js","components/DevAlert.js","components/DevTest.js","views/DevTestView.js","components/ForgotPassword.js","views/ForgotPasswordView.js","views/LogoutView.js","components/OrganizationCreate.js","views/OrganizationCreateView.js","components/PageNotFound.js","views/PageNotFoundView.js","components/Profile.js","views/ProfileView.js","components/RegisterConfirm.js","views/RegisterConfirmView.js","components/TOU.js","components/Register.js","views/RegisterView.js","components/ResetPassword.js","views/ResetPasswordView.js","components/JSONEditor.js","components/SchemaCreate.js","views/SchemaCreateView.js","components/SchemaDetail.js","views/SchemaDetailView.js","lib/fileStore.js","components/UploadRecords.js","components/DataTable.js","lib/formatters.js","icons/IconLock.js","components/TableFilter.js","components/SchemaRecordsList.js","views/SchemaRecordsListView.js","components/Users.js","views/UsersView.js","components/AccountTabs.js","views/TOSView.js","App.js","reportWebVitals.js","components/theme/Colors.js","components/theme/Fonts.js","components/theme/FontWeights.js","components/theme/BorderRadii.js","components/theme/GlobalStyles.js","components/theme/Components.js","components/theme/variants/Accordions.js","components/theme/variants/Alerts.js","components/theme/variants/Buttons.js","components/theme/variants/Checkboxes.js","components/theme/variants/Containers.js","components/theme/variants/Headings.js","components/theme/variants/Inputs.js","components/theme/variants/Modals.js","components/theme/variants/Selects.js","components/theme/variants/Tabs.js","components/theme/variants/Texts.js","components/theme/variants/Tables.js","components/theme/FontSizes.js","components/CustomTheme.js","index.js","lib/env.js"],"sourcesContent":["import { createState } from \"state-pool\"\n\n//The current environment of the Blind Insight application\nexport const CurrentEnvironment = createState(\"\")\n\n// The current user object if we have one\nexport const CurrentUser = createState({})\n\n// Hash of organization.id to the organization object\nexport const Organizations = createState({})\nexport const CurrentOrgId = createState(\"\")\nexport const CurrentOrg = createState(null)\n\n// Hash of dataset.id to the dataset object\nexport const Datasets = createState({})\n\n// Hash of schema.id to the schema\nexport const Schemas = createState({})\n\n// Hash of dataset.id to a list of schema.id\nexport const DatasetSchemas = createState({})\n\n// Hash of the schema.id to the schema with hashed field keys\nexport const HashedSchemas = createState({})\n\n// The current status of the upload job\nexport const JobStatus = createState(null)\n\n// The current name of the file being uploaded\nexport const FileName = createState(\"\")\n\n// The current File specific error\nexport const FileError = createState(null)\n\n// The current API error\nexport const ApiError = createState(null)\n\n// The current upload progress\nexport const UploadProgress = createState(0)\n\n// Upload status enum\nexport const UploadStatus = {\n NONE: \"NONE\",\n UPLOADING: \"UPLOADING\",\n TERMINATED: \"TERMINATED\",\n COMPLETED: \"COMPLETED\",\n}\n\n// Whether or not an upload is in progress\nexport const IsUploading = createState(UploadStatus.NONE)\n\n// Track success/failure of each batch in the upload\nexport const UploadBatchStatus = createState(null)\n\n// Track the current alert index\nexport const CurrentAlertIndex = createState(0)\n\n// Object to use as a default import\nexport function Store(name) {\n const stores = {\n currentUser: CurrentUser,\n organizations: Organizations,\n datasets: Datasets,\n schemas: Schemas,\n datasetSchemas: DatasetSchemas,\n hashedSchemas: HashedSchemas,\n jobStatus: JobStatus,\n fileName: FileName,\n fileError: FileError,\n uploadProgress: UploadProgress,\n isUploading: IsUploading,\n apiError: ApiError,\n uploadBatchStatus: UploadBatchStatus,\n }\n if (!stores[name]) throw new Error(`${name} is not a valid store`)\n return stores[name]\n}\n\n// The current limit\nexport const Limit = createState(25)\n\n// The current offset\nexport const Offset = createState(0)\n\n// List of active filters\nexport const CurrentFilters = createState([])\n\nexport const Pagination = createState({\n limit: Limit.value,\n offset: Offset.value,\n})\n\n// List of alerts to display to the user\nexport const Alerts = createState([])\n\n// List of alerts that the user has dismissed this browser session\nexport const DontShowAgainList = createState([])\n\nexport default Store\n","import { Alerts, DontShowAgainList } from \"./store\"\n\n/**\n * Alert types\n *\n * @type {{ ERROR: string; WARNING: string; INFO: string; SUCCESS: string; }}\n */\nexport const AlertType = {\n ERROR: \"error\",\n WARNING: \"warning\",\n INFO: \"info\",\n SUCCESS: \"success\",\n}\n\n/**\n * Add an alert to the list of alerts\n *\n * @export\n * @param {*} type\n * @param {*} source\n * @param {*} content\n * @param {*} id\n * @param {number} [duration=0]\n * @param {boolean} [dontShowAgain=false]\n * @returns {number}\n */\nexport function addAlert(\n type,\n source,\n content,\n id,\n duration = 0,\n dontShowAgain = false,\n) {\n if (!Object.values(AlertType).includes(type)) {\n console.warn(`Invalid alert type: ${type}`)\n type = AlertType.ERROR\n }\n\n if (typeof id !== \"number\") {\n console.warn(\"Alert ID should be a number\")\n return null\n }\n\n const currentAlerts = Alerts.getValue() || []\n\n if ((DontShowAgainList.getValue() || []).includes(id)) {\n return\n }\n\n if (currentAlerts.some((alert) => alert.id === id)) {\n const newAlerts = currentAlerts.map((alert) =>\n alert.id === id\n ? {\n ...alert,\n type,\n source,\n content,\n timestamp: new Date().toISOString(),\n }\n : alert,\n )\n Alerts.setValue(newAlerts)\n if (dontShowAgain === true) {\n DontShowAgainList.setValue([...DontShowAgainList.getValue(), id])\n }\n return id\n }\n\n const alert = {\n id,\n type,\n source,\n content,\n timestamp: new Date().toISOString(),\n duration,\n dontShowAgain,\n }\n\n const newAlerts = [alert, ...currentAlerts]\n Alerts.setValue(newAlerts)\n\n if (duration > 0) {\n setTimeout(() => {\n removeAlertById(id)\n }, duration * 1000)\n }\n\n return id\n}\n\n/**\n * Remove an alert by ID\n *\n * @export\n * @param {*} id\n */\nexport function removeAlertById(id) {\n const currentAlerts = Alerts.getValue() || []\n const newAlerts = currentAlerts.filter((alert) => alert.id !== id)\n Alerts.setValue(newAlerts)\n}\n\n/**\n * Remove an alert by source\n *\n * @export\n * @param {*} source\n */\nexport function removeAlertBySource(source) {\n if (typeof source !== \"string\") {\n console.warn(`Invalid alert source: ${source}`)\n return\n }\n\n const currentAlerts = Alerts.getValue() || []\n const newAlerts = currentAlerts.filter((alert) => alert.source !== source)\n Alerts.setValue(newAlerts)\n}\n\n/**\n * Remove an alert by type\n *\n * @export\n * @param {*} type\n */\nexport function removeAlertByType(type) {\n const currentAlerts = Alerts.getValue() || []\n const newAlerts = currentAlerts.filter((alert) => alert.type !== type)\n Alerts.setValue(newAlerts)\n}\n\n/**\n * Clear all alerts\n *\n * @export\n */\nexport function clearAlerts() {\n Alerts.setValue([])\n}\n\n/**\n * Clear the list of alerts that should not be shown again\n *\n * @export\n */\nexport function clearDontShowAgainList() {\n DontShowAgainList.setValue([])\n}\n","import { Api } from \"./api\"\n\nexport function isEmpty(value) {\n return (\n value && value.constructor === Object && Object.keys(value).length === 0\n )\n}\n\nexport function onChange(fn) {\n return (e) => {\n return fn(e.target.value)\n }\n}\n\n// TODO(shakefu): samesies\nexport function onEnter(fn) {\n return (e) => {\n if (e.key !== \"Enter\") return\n fn()\n }\n}\n\n//Will need to be updated once we have a full release product\nexport function getEnvironment() {\n const fullUrl = window.location.href\n if (fullUrl.includes(\"demo\")) {\n return \"Demo\"\n } else if (fullUrl.includes(\"beta\") || fullUrl.includes(\"local\")) {\n return \"Beta\"\n } else {\n return \"\"\n }\n}\n\n// Unroll a error Promise or error Object into a human readable message.\nexport async function unrollError(error) {\n if (error instanceof Error) {\n return error.message\n }\n const payload = await error.json()\n if (payload.detail) {\n return payload.detail\n }\n if (payload.error) {\n return payload.error\n }\n // Fallback to the raw JSON error\n return JSON.stringify(payload)\n}\n\n// Create a Stripe customer for the user without waiting for the response.\nexport async function createStripeCustomer() {\n const api = new Api()\n try {\n const resp = await api.stripeCreateCustomer()\n console.log(\"Stripe customer created\", resp)\n } catch (error) {\n console.error(\"Failed to create Stripe customer\", error)\n }\n}\n","import LinkHeader from \"http-link-header\"\nimport Cookies from \"js-cookie\"\nimport {\n CurrentOrg,\n CurrentOrgId,\n CurrentUser,\n Datasets,\n DatasetSchemas,\n HashedSchemas,\n Schemas,\n JobStatus,\n UploadBatchStatus,\n IsUploading,\n UploadStatus,\n UploadProgress,\n} from \"./store\"\nimport env from \"./env\"\nimport process from \"process\"\nimport { throttle } from \"lodash\"\nimport { addAlert, AlertType } from \"./alerts\"\nimport { unrollError } from \"./util\"\n\n// TODO(shakefu): Hoist these to a constants.js?\nexport const AUTH_EMAIL = \"auth.username\"\nexport const AUTH_ORGANIZATION_ID = \"auth.organization_id\"\n\n// TODO(shakefu): Make this work more better\n// This environment variable has NO EFFECT in local development, it's only used\n// by the Docker entrypoint script within the built container\nconst defaultApi =\n process.env.BLINDINSIGHT_PROXY_URL || env.BLINDINSIGHT_PROXY_URL\n\n// The default amoutn of items to return unless otherwise specified by a caller.\nconst DEFAULT_LIMIT = 50\nconst DEFAULT_OFFSET = 0\n\nfunction getIdFromUrl(url) {\n const parts = url.replace(/\\/+$/, \"\").split(\"/\")\n return parts.pop()\n}\n\nfunction updateDatasetSchemas(data) {\n // Create a mapping of datasetId to [schemaIds]\n let datasetMap = {}\n for (let schema of data) {\n if (!schema.dataset) {\n continue\n }\n let datasetId = getIdFromUrl(schema.dataset)\n if (!datasetMap[datasetId]) {\n datasetMap[datasetId] = []\n }\n datasetMap[datasetId].push(schema.id)\n }\n\n // Update the datasetSchemas state\n DatasetSchemas.updateValue((datasetSchemas) => {\n for (let datasetId in datasetMap) {\n if (!datasetSchemas[datasetId]) {\n datasetSchemas[datasetId] = datasetMap[datasetId]\n continue\n }\n datasetSchemas[datasetId] = [\n ...new Set([...datasetSchemas[datasetId], ...datasetMap[datasetId]]),\n ]\n }\n })\n}\n\nexport class Api {\n constructor(options) {\n this.api = options?.api || defaultApi\n for (let key in options) {\n if (!this[key]) {\n throw new Error(`${key} is not a valid option`)\n }\n if (!options[key]) {\n delete options[key]\n }\n this[key] = options[key]\n }\n }\n\n getAuthUsername() {\n return sessionStorage.getItem(AUTH_EMAIL)\n }\n\n makeApiUrl(path) {\n return `${this.api}${path}`\n }\n\n async fetch(path, options = {}) {\n let uri = this.makeApiUrl(path)\n\n // Set the default headers and any provided by caller.\n if (!options?.headers) {\n options.headers = {}\n }\n\n // If no Content-Type is provided, default to JSON.\n if (!options.headers[\"Content-Type\"]) {\n options.headers[\"Content-Type\"] = \"application/json\"\n }\n\n // Pass along the CSRF token if it exists.\n const csrftoken = Cookies.get(\"csrftoken\") || null\n if (csrftoken) {\n console.debug(\"CSRF: Token found\", csrftoken)\n options.headers[\"X-CSRFToken\"] = csrftoken\n } else {\n console.debug(\"CSRF: No token found\")\n }\n\n // Handle query parameters by merging existing params and ovewriting\n if (options.params) {\n let url = new URL(uri)\n let params = {}\n for (const [key, value] of url.searchParams) {\n params[key] = value\n }\n for (const [key, value] of Object.entries(options.params)) {\n params[key] = value\n }\n url.search = new URLSearchParams(params).toString()\n uri = url.toString()\n }\n\n // Always pass through cookies to the API.\n options.credentials = \"include\"\n\n console.debug(\"API call\", uri, options)\n const resp = await fetch(uri, options)\n console.debug(\"API response\", uri, resp?.status)\n\n if (resp && !resp.ok) {\n if (resp.status > 399) {\n console.error(\"Api call failed\", uri, resp.status, resp.statusText)\n }\n throw resp\n } else if (!resp) {\n throw new Response(\"Unknown error\", { status: 500 })\n }\n\n return resp\n }\n\n async call(path, options = {}, callback) {\n const resp = await this.fetch(path, options)\n const data = await resp.json()\n const linkHeader = resp.headers.get(\"Link\")\n const countHeader = resp.headers.get(\"X-Total-Count\")\n\n /// Add data.links if set\n if (linkHeader) {\n const links = LinkHeader.parse(linkHeader)\n Object.defineProperty(data, \"links\", {\n value: {\n first: links.rel(\"first\")[0]?.uri,\n next: links.rel(\"next\")[0]?.uri,\n last: links.rel(\"last\")[0]?.uri,\n },\n writable: false,\n enumerable: false,\n })\n }\n\n /// Add data.count if set\n if (countHeader) {\n Object.defineProperty(data, \"count\", {\n value: parseInt(countHeader),\n writable: false,\n })\n }\n\n if (callback) callback(data)\n return data\n }\n\n setOrFindOrganization(organizations) {\n console.log(\"setOrFindOrganization\", organizations)\n if (!organizations?.length) {\n console.log(\"No organizations\")\n return\n }\n let currentOrgId = sessionStorage.getItem(AUTH_ORGANIZATION_ID)\n if (!currentOrgId) {\n console.log(\"No organization set in session, defaulting to first\")\n currentOrgId = organizations[0].id\n sessionStorage.setItem(AUTH_ORGANIZATION_ID, currentOrgId)\n }\n\n let currentOrg = organizations.find((org) => org.id === currentOrgId)\n if (!currentOrg) {\n console.log(\"Organization not found, defaulting to first\")\n currentOrgId = organizations[0].id\n sessionStorage.setItem(AUTH_ORGANIZATION_ID, currentOrgId)\n currentOrg = organizations[0]\n }\n\n // Update state\n CurrentOrg.setValue(currentOrg)\n CurrentOrgId.setValue(currentOrgId)\n }\n\n clearAuth() {\n sessionStorage.removeItem(AUTH_EMAIL)\n sessionStorage.removeItem(AUTH_ORGANIZATION_ID)\n }\n\n // Manually fetch a CSRF token from API server.\n async getCsrfToken() {\n const resp = await this.fetch(\"/api/csrf/\")\n const payload = await resp.json()\n return payload.csrfToken\n }\n\n async googleLogin(credential, clientId) {\n const csrfToken = await this.getCsrfToken()\n\n // Manually set the CSRF token in a cookie so that the server can verify the request.\n Cookies.set(\"csrftoken\", csrfToken, {\n path: \"/\",\n domain: \".blindinsight.io\",\n secure: true,\n sameSite: \"none\",\n expires: 365,\n })\n\n const options = {\n method: \"POST\",\n body: JSON.stringify({\n provider: \"google\",\n process: \"login\",\n token: {\n client_id: clientId,\n id_token: credential,\n },\n }),\n headers: {\n \"X-CSRFToken\": csrfToken,\n \"Content-Type\": \"application/json\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n },\n }\n\n // TODO(jathan): Handle errors\n this.fetch(\"/api/allauth/browser/v1/auth/provider/token\", options).then(\n async (res) => {\n console.log(\"login result=\", res)\n // Redirect to home page for now\n // TODO(jathan): Make this variable such as if someone was already on a page.\n window.location.href = \"/\"\n },\n )\n }\n\n async accountsLogin(email, password) {\n const options = {\n method: \"POST\",\n body: JSON.stringify({ login: email, password: password }),\n }\n return await this.fetch(\"/api/accounts/login/\", options)\n }\n\n async accountsLogout() {\n const options = {\n method: \"POST\",\n }\n const resp = await this.fetch(\"/api/accounts/logout/\", options)\n this.clearAuth()\n return resp\n }\n\n async accountsRegister(email, password, fullName, organizationName) {\n console.log(\n \"Api.accountsRegister\",\n email,\n password,\n fullName,\n organizationName,\n )\n console.log(\"Full name\", fullName)\n const nameParts = fullName.split(\" \")\n console.log(\"Name parts\", nameParts)\n let firstName = nameParts[0]\n console.log(\"First name\", firstName)\n let lastName = nameParts.slice(1).join(\" \")\n console.log(\"Last name\", lastName)\n const options = {\n method: \"POST\",\n body: JSON.stringify({\n email: email,\n first_name: firstName,\n last_name: lastName,\n organization_name: organizationName,\n password: password,\n password_confirm: password,\n }),\n }\n return await this.call(\"/api/accounts/register/\", options)\n }\n\n async accountsVerifyRegistration(user_id, timestamp, signature) {\n console.log(\"Activating user\", user_id, timestamp, signature)\n const options = {\n method: \"POST\",\n body: JSON.stringify({ user_id, timestamp, signature }),\n }\n return await this.call(\"/api/accounts/verify-registration/\", options)\n }\n\n async accountsChangePassword(oldPassword, password, passwordConfirm) {\n const options = {\n method: \"POST\",\n body: JSON.stringify({\n old_password: oldPassword,\n password: password,\n password_confirm: passwordConfirm,\n }),\n }\n return await this.call(\"/api/accounts/change-password/\", options)\n }\n\n async accountsSendPasswordResetLink(email) {\n console.log(\"Sending password reset link to\", email)\n const options = {\n method: \"POST\",\n body: JSON.stringify({ email }),\n }\n return await this.call(\"/api/accounts/send-reset-password-link/\", options)\n }\n\n async accountsResetPassword(user_id, timestamp, signature, password) {\n console.log(\"Resetting password for\", user_id, timestamp, signature)\n const options = {\n method: \"POST\",\n body: JSON.stringify({ user_id, timestamp, signature, password }),\n }\n return await this.call(\"/api/accounts/reset-password/\", options)\n }\n\n async datasetsRetrieve(id) {\n const data = await this.call(`/api/datasets/${id}/`)\n if (!data) {\n console.error(\"No dataset found with id\", id)\n return null\n }\n Datasets.updateValue((datasets) => (datasets[id] = data))\n return data\n }\n\n async datasetsList(\n organizationId,\n limit = DEFAULT_LIMIT,\n offset = DEFAULT_OFFSET,\n ) {\n const options = {\n params: {\n limit,\n offset,\n },\n }\n if (organizationId) options.params.organization = organizationId\n\n const data = await this.call(\"/api/datasets/\", options)\n\n if (!data) {\n throw new Response(\"Datasets not found\", { status: 404 })\n }\n Datasets.updateValue((datasets) => {\n for (let dataset of data) {\n datasets[dataset.id] = dataset\n }\n })\n return data\n }\n\n async datasetsCreate(name, description, orgUrl) {\n const options = {\n method: \"POST\",\n body: JSON.stringify({ name, description, organization: orgUrl }),\n }\n console.log(\"Creating dataset\", name, description)\n return await this.call(\"/api/datasets/\", options)\n }\n\n async jobsUpload(data, fileType) {\n if (!fileType) {\n fileType = \"application/json\"\n }\n\n const options = {\n method: \"POST\",\n body: data,\n headers: {\n \"Content-Type\": fileType,\n },\n }\n console.log(\"jobsUpload Options:\", options)\n const resp = await this.call(\"/api/jobs/upload/\", options)\n console.log(\"jobsUpload Response:\", resp)\n return resp\n }\n\n async jobsWebsocket(id) {\n console.log(\"Retrieving job\", id)\n const socket = new WebSocket(`${this.api}/api/ws/jobs/${id}/`)\n const throttledSetState = throttle(\n (message) => JobStatus.setValue(message),\n 250,\n )\n\n UploadBatchStatus.setValue([])\n let lastMessageStatus = null\n\n socket.onopen = () => {\n console.log(`WebSocket connection opened for job ${id}`)\n }\n\n socket.onmessage = (event) => {\n const message = JSON.parse(event.data)\n throttledSetState(message)\n console.log(`WebSocket message for job ${id}:`, message)\n IsUploading.setValue(UploadStatus.UPLOADING)\n\n if (message.processed && message.total && message.status !== \"failed\") {\n const progress = Math.round((message.processed / message.total) * 100)\n UploadProgress.setValue(progress)\n }\n\n lastMessageStatus = message\n\n if (message.status === \"complete\") {\n IsUploading.setValue(UploadStatus.COMPLETED)\n UploadProgress.setValue(100)\n throttledSetState.flush()\n socket.close()\n }\n }\n\n socket.onerror = async (error) => {\n const errorMessage = await unrollError(error)\n console.error(`Error for job ${id}:`, errorMessage)\n addAlert(\n AlertType.ERROR,\n \"WebSocket Connection\",\n errorMessage || \"Failed to connect to job status stream\",\n 7,\n )\n }\n\n socket.onclose = (event) => {\n console.log(`Connection closed for job ${id}:`, event)\n if (lastMessageStatus?.status === \"failed\") {\n IsUploading.setValue(UploadStatus.TERMINATED)\n addAlert(\n AlertType.ERROR,\n \"API Error\",\n \"FATAL: \" + lastMessageStatus?.error,\n 8,\n )\n }\n }\n\n return socket\n }\n\n async schemasCreate(datasetUrl, name, description, schema) {\n const options = {\n method: \"POST\",\n body: JSON.stringify({ dataset: datasetUrl, name, description, schema }),\n }\n console.log(\"Creating schema\", name, description)\n return await this.call(\"/api/schemas/\", options)\n }\n\n async schemasRetrieve(id) {\n const data = await this.call(`/api/schemas/${id}/`)\n if (!data) {\n throw new Response(\"Schema not found\", { status: 404 })\n }\n Schemas.updateValue((schemas) => (schemas[id] = data))\n\n if (!data.id || !data.dataset) {\n console.error(\"No dataset found for schema\", id)\n return data\n }\n\n updateDatasetSchemas([data])\n\n return data\n }\n\n async schemasList(datasetId, limit = DEFAULT_LIMIT, offset = DEFAULT_OFFSET) {\n const options = {\n params: {\n limit,\n offset,\n },\n }\n if (datasetId) options.params.dataset = datasetId\n const data = await this.call(\"/api/schemas/\", options)\n\n if (!data) {\n throw new Response(\"Schemas not found\", { status: 404 })\n }\n\n // Update the schemas state\n Schemas.updateValue((schemas) => {\n for (let schema of data) {\n schemas[schema.id] = schema\n }\n })\n\n updateDatasetSchemas(data)\n\n return data\n }\n\n async schemasDecrypt(schema) {\n if (!schema) return null\n console.debug(\"Decrypting schema\", schema.id)\n\n const options = { method: \"POST\", body: JSON.stringify(schema) }\n const data = await this.call(\"/api/schemas/decrypt/\", options)\n if (!data) {\n console.error(\"Schema decryption failed\", schema)\n return null\n }\n HashedSchemas.updateValue(\n (hashedSchemas) => (hashedSchemas[schema.id] = data),\n )\n\n return data\n }\n\n async recordsList(schemaId, limit = DEFAULT_LIMIT, offset = DEFAULT_OFFSET) {\n if (!schemaId) {\n throw new Response(\"No schema provided\", { status: 400 })\n }\n\n const options = {\n params: {\n schema: schemaId,\n limit,\n offset,\n },\n }\n return await this.call(\"/api/records/\", options)\n }\n\n async recordsSearch(\n schemaId,\n filters,\n limit = DEFAULT_LIMIT,\n offset = DEFAULT_OFFSET,\n ) {\n if (!schemaId) {\n throw new Response(\"No schema provided\", { status: 400 })\n }\n\n const options = {\n method: \"POST\",\n body: JSON.stringify({\n schema: schemaId,\n filters,\n limit,\n offset,\n }),\n }\n\n // Try to search; fallback to list.\n try {\n return await this.call(\"/api/records/search/\", options)\n } catch (resp) {\n if (resp.status === 405) {\n console.error(\"Proxy not inline; falling back to recordsList\")\n return await this.recordsList(schemaId, limit, offset)\n }\n\n console.error(\"Failed to search records\", resp)\n throw resp\n }\n }\n\n async recordsDecrypt(records) {\n if (!records || !records.length) return []\n\n const options = { method: \"POST\", body: JSON.stringify(records) }\n return await this.call(\"/api/records/decrypt/\", options)\n }\n\n async usersByNameRetrieve(name) {\n console.log(\"Retrieving user by name\", name)\n return await this.call(\n `/api/users/by_name/${name}/?expand=organizations.organization.organization_user.user`,\n )\n }\n\n async usersSelfRetrieve() {\n console.log(\"Retrieving self\")\n // Expand the user's organizations, owner, and organization members\n return await this.call(\n `/api/users/self/?expand=organizations.organization_users.user,organizations.owner.organization_user.user`,\n )\n }\n\n setAuth({ email }) {\n console.log(\"setAuth: Setting auth\", email)\n if (email) sessionStorage.setItem(AUTH_EMAIL, email)\n }\n\n async currentUserRetrieve() {\n const user = CurrentUser.getValue() || {}\n const username = user?.username || this.getAuthUsername()\n console.debug(\"Retrieving currentUser\", username)\n\n if (!username) {\n console.error(\"No user logged in\")\n // return null\n }\n // const data = await this.usersByNameRetrieve(username)\n const data = await this.usersSelfRetrieve()\n console.log(\"Retrieved currentUser\", data)\n if (!data?.email) {\n console.error(\"No user found with name\", username)\n return data\n }\n this.setAuth(data)\n this.setOrFindOrganization(data.organizations)\n CurrentUser.setValue(data)\n return data\n }\n\n async organizationsList(limit = DEFAULT_LIMIT, offset = DEFAULT_OFFSET) {\n const options = { limit, offset }\n return await this.call(\"/api/organizations/\", options)\n }\n\n async organizationsRetrieve(id) {\n return await this.call(`/api/organizations/${id}/`)\n }\n\n async organizationsCreate(name) {\n const options = {\n method: \"POST\",\n body: JSON.stringify({ name }),\n }\n return await this.call(\"/api/organizations/\", options)\n }\n\n async organizationsUpdate(id, name, slug) {\n let payload = {}\n\n if (name) payload.name = name\n if (slug) payload.slug = slug\n\n const options = {\n method: \"PUT\",\n body: JSON.stringify(payload),\n }\n return await this.call(`/api/organizations/${id}/`, options)\n }\n\n async organizationsUsersList(\n orgId,\n limit = DEFAULT_LIMIT,\n offset = DEFAULT_OFFSET,\n ) {\n const options = { limit, offset }\n return await this.call(\n `/api/organizations/${orgId}/users/?expand=user`,\n options,\n )\n }\n\n async organizationsUsersPartialUpdate(orgId, userId, isAdmin) {\n return await this.call(`/api/organizations/${orgId}/users/${userId}/`, {\n method: \"PATCH\",\n body: JSON.stringify({ is_admin: isAdmin }),\n })\n }\n\n async organizationsInvitationsCreate(orgId, email, isAdmin) {\n return await this.call(`/api/organizations/${orgId}/invitations/`, {\n method: \"POST\",\n body: JSON.stringify({ email, is_admin: isAdmin }),\n })\n }\n\n async statusRetrieve() {\n return await this.call(\"/api/status/\")\n }\n\n // This uses the Stripe API to create a customer with the authenticated user's\n // email address/full name.\n async stripeCreateCustomer() {\n return await this.call(\"/api/stripe/customer/\", {\n method: \"POST\",\n })\n }\n}\n","import { Store, CurrentUser } from \"./store\"\nimport { Api } from \"./api\"\n\nexport async function UserLogin(username, password) {\n const api = new Api()\n const resp = await api.accountsLogin(username, password)\n console.log(\"Logged in\", resp)\n if (!resp) return false\n\n CurrentUser.updateValue((user) => {\n user.username = username\n })\n\n const user = await api.currentUserRetrieve()\n if (!user) return false\n return true\n}\n\nexport async function UserRetrieve() {\n const api = new Api()\n console.log(\"Retrieving currentUser\")\n const user = await api.currentUserRetrieve()\n console.log(\"Retrieved currentUser\", user)\n if (!user) return false\n return true\n}\n\nexport async function UserIsLoggedIn() {\n const loggedIn = await UserRetrieve()\n console.log(\"UserIsLoggedIn\", \"loggedIn=\", loggedIn)\n return loggedIn\n}\n\nexport async function UserLogout() {\n // TODO: This is probably not a great way to manage state\n Store(\"currentUser\").setValue({})\n Store(\"datasets\").setValue({})\n Store(\"schemas\").setValue({})\n Store(\"datasetSchemas\").setValue({})\n Store(\"hashedSchemas\").setValue({})\n\n // TODO(shakefu): Don't hard code this, it should be handled somewhere sane\n // TODO(jathan): Sane? I'll show you sane! 😜\n const api = new Api()\n await api.accountsLogout()\n}\n\nexport async function UserRegister(email, password, fullName, orgName) {\n const api = new Api()\n // console.log(\"Registering new user...\", email, password, fullName, orgName)\n const resp = await api.accountsRegister(email, password, fullName, orgName)\n console.log(\"Registered new user\", resp)\n if (!resp) return false\n return true\n}\n","import React from \"react\"\nimport { SimpleGrid } from \"@chakra-ui/react\"\n\nexport default function AccountLayout({ children }) {\n return (\n \n {children}\n \n )\n}\n","import React from \"react\"\nimport { VStack } from \"@chakra-ui/react\"\n\nexport default function Message({ children }) {\n return (\n \n \n {children}\n \n \n )\n}\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgHorizontalLight = (_ref, ref) => {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 641,\n height: 99,\n viewBox: \"0 0 641 99\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: ref,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.1196 24.6372H119.729C129.218 24.6372 136.067 30.6625 136.067 38.917C136.067 45.3557 131.859 48.9051 129.136 50.3921C134.085 51.9613 139.944 56.3351 139.944 65.581C139.944 76.2291 132.601 83.2457 119.398 83.2457H97.1196V24.6372ZM116.923 46.5139C120.471 46.5139 122.04 44.6158 122.04 41.8909C122.04 38.8372 120.143 37.268 116.595 37.268H111.642V46.5139H116.923ZM118.489 70.6173C123.357 70.6173 125.503 67.977 125.503 64.0142C125.503 60.3004 123.442 57.6577 118.325 57.6577H111.642V70.6173H118.489Z\",\n fill: \"#B19CE1\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.555 24.6372H160.078V69.9549H180.87V83.2457H145.555V24.6372Z\",\n fill: \"#B19CE1\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M186.481 24.6372H201.004V83.2457H186.481V24.6372Z\",\n fill: \"#B19CE1\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M208.265 24.6372H222.788L245.231 59.4711H245.644V24.6372H260.167V83.2457H245.644L223.201 48.4119H222.788V83.2457H208.265V24.6372Z\",\n fill: \"#B19CE1\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M267.429 24.6372H291.44C306.787 24.6372 319.413 36.8546 319.413 53.9415C319.413 71.0284 306.79 83.2457 291.44 83.2457H267.429V24.6372ZM290.945 69.5438C299.856 69.5438 304.23 63.0229 304.23 53.9415C304.23 44.8625 299.858 38.3416 290.945 38.3416H281.952V69.5438H290.945Z\",\n fill: \"#B19CE1\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M333.827 26.146H347.78V82.4575H333.827V26.146Z\",\n fill: \"#D0C4D9\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M354.756 26.146H368.71L390.273 59.6146H390.67V26.146H404.624V82.4575H390.67L369.107 48.9888H368.71V82.4575H354.756V26.146Z\",\n fill: \"#D0C4D9\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M409.618 69.0532L420.875 63.8193C422.461 67.0716 424.997 70.7189 429.913 70.7189C433.164 70.7189 436.097 69.1322 436.097 65.3247C436.097 62.6276 434.827 61.2802 429.834 59.2963L426.346 57.9489C419.052 55.0149 411.68 50.9704 411.68 41.3737C411.68 31.3798 420.083 25.3538 429.992 25.3538C439.982 25.3538 446.166 31.4611 448.941 37.4082L438.635 43.2786C436.178 39.1552 433.482 37.6475 430.549 37.6475C427.616 37.6475 425.397 38.9159 425.397 41.613C425.397 43.6759 426.585 45.3416 432.293 47.5624L436.099 49.0701C446.484 53.2725 450.606 57.9535 450.606 65.4873C450.606 77.623 439.745 83.2519 430.152 83.2519C420.162 83.2496 411.759 77.3025 409.618 69.0532Z\",\n fill: \"#D0C4D9\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M455.601 26.146H469.555V82.4575H455.601V26.146Z\",\n fill: \"#D0C4D9\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M475.738 54.3016C475.738 36.616 489.453 25.3538 505.308 25.3538C513.394 25.3538 522.908 28.3668 528.694 38.4397L518.626 45.3392C515.693 40.9765 511.411 38.5976 505.545 38.5976C496.983 38.5976 490.087 44.3078 490.087 54.3016C490.087 64.2955 496.589 70.4819 505.466 70.4819C510.54 70.4819 515.296 68.498 517.121 62.4719H505.547V50.9727H530.677C534.007 71.2764 520.848 83.2519 504.99 83.2519C489.216 83.2496 475.738 71.9896 475.738 54.3016Z\",\n fill: \"#D0C4D9\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M570.794 60.4881H551.212V82.4575H537.258V26.146H551.212V47.7181H570.794V26.146H584.748V82.4575H570.794V60.4881Z\",\n fill: \"#D0C4D9\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M602.269 38.916H589.744V26.146H628.748V38.916H616.223V82.4575H602.269V38.916Z\",\n fill: \"#D0C4D9\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.9217 58.996V63.3171C68.9217 65.1713 68.1516 66.9145 66.8367 68.1539C66.465 68.5052 66.0517 68.816 65.5978 69.0769L64.9242 69.4667L64.2594 69.8504L55.211 75.0796L42.6102 82.3566C40.5514 83.5431 38.0188 83.5431 35.9631 82.3566L12.9729 69.0769C10.9172 67.8873 9.64648 65.6931 9.64648 63.3176V36.7611C9.64648 34.3851 10.9172 32.1883 12.9729 31.0019L30.8885 20.6544L35.9631 17.7247C36.3173 17.5197 36.6895 17.3497 37.0669 17.2152C37.1285 17.1915 37.1927 17.171 37.2574 17.151C37.4622 17.0837 37.6702 17.0277 37.8812 16.984C37.9484 16.9691 38.0157 16.9548 38.0835 16.9429C38.2154 16.9193 38.3499 16.8988 38.4844 16.8813C38.5984 16.8664 38.7129 16.8551 38.8269 16.8489C38.8531 16.8459 38.8798 16.8433 38.906 16.8433C38.9321 16.8402 38.9614 16.8402 38.9907 16.8376H39.0143V21.6215C39.0143 23.2913 40.3702 24.6478 42.0362 24.6478H48.8328L48.877 25.4712V39.8963C48.877 41.563 50.2329 42.9164 51.8989 42.9164H62.772L62.7838 43.8862V55.9733C62.7838 57.4232 63.8086 58.639 65.1732 58.9292C65.3755 58.9734 65.586 58.9965 65.8027 58.9965H68.9217V58.996Z\",\n fill: \"#D2C1F5\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.9257 69.4682L64.2608 69.8519L55.2124 75.0811L42.6117 82.3581C40.5529 83.5446 38.0202 83.5446 35.9645 82.3581L12.9744 69.0784C11.8823 68.4456 11.0126 67.5313 10.4355 66.4563C9.92879 65.504 9.64795 64.4321 9.64795 63.3186V36.7631C9.64795 34.3871 10.9186 32.1903 12.9744 31.0039L30.8899 20.6564L35.9645 17.7267C36.3188 17.5217 36.691 17.3517 37.0684 17.2171C37.13 17.1935 37.1942 17.173 37.2588 17.1529C37.4637 17.0857 37.6716 17.0297 37.8826 16.986C37.9499 16.9711 38.0172 16.9567 38.0849 16.9449C38.2169 16.9213 38.3514 16.9007 38.4859 16.8833C38.5999 16.8684 38.7144 16.8571 38.8284 16.8509C38.8812 16.8453 38.9367 16.8422 38.9921 16.8391H39.0157V16.9418C36.3804 20.6009 34.9336 25.1126 34.9336 29.6207C34.9336 30.6839 35.0127 31.7445 35.1764 32.7964C36.0287 38.2187 39.0917 43.2492 43.4609 46.5564C44.2017 47.1219 44.9837 47.6376 45.7949 48.0942C49.3292 50.0835 53.3908 51.047 56.8055 53.2325C60.9344 55.8777 63.8804 60.3046 64.7239 65.1383C64.9729 66.5683 65.0402 68.0213 64.9257 69.4682Z\",\n fill: \"#D2C1F5\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.722 65.1383C63.8784 60.3045 62.3548 60.6255 62.8256 51.98C62.8256 50.7253 62.8256 47.4063 62.8256 46.7042L52.1449 53.0743L41.8294 59.0313C40.4149 59.8479 38.6724 59.8495 37.2569 59.0349L29.6876 54.6793C28.267 53.8622 27.3916 52.3475 27.3916 50.708V26.8023C27.3916 24.4263 28.6623 22.2295 30.718 21.0431L37.6497 17.0383C37.5177 17.0733 37.3863 17.1087 37.2574 17.1524C37.1932 17.1729 37.1285 17.1934 37.0669 17.2166C36.6891 17.3511 36.3173 17.5211 35.9631 17.7261L30.8885 20.6558L12.9724 31.0033C10.9167 32.1898 9.646 34.387 9.646 36.7626V46.9102V63.3185C9.646 63.4618 9.65113 63.6046 9.66037 63.7469C9.66397 63.8049 9.67167 63.8624 9.6768 63.9205C9.6845 64.0027 9.69118 64.0853 9.70144 64.167C9.7112 64.241 9.72403 64.3139 9.73636 64.3874C9.74714 64.4516 9.75638 64.5158 9.7687 64.58C9.78462 64.6611 9.80361 64.7407 9.8221 64.8214C9.83493 64.8758 9.84674 64.9308 9.8606 64.9852C9.88217 65.0684 9.90681 65.1506 9.93145 65.2323C9.94686 65.2831 9.96123 65.334 9.97818 65.3843C10.0044 65.4649 10.0331 65.544 10.0629 65.6237C10.0824 65.676 10.1014 65.7284 10.1224 65.7803C10.1512 65.8527 10.182 65.9241 10.2133 65.9955C10.24 66.0566 10.2677 66.1172 10.296 66.1773C10.3237 66.2349 10.3519 66.2924 10.3812 66.3494C10.3997 66.3854 10.4156 66.4218 10.4346 66.4578C10.4521 66.4907 10.4726 66.522 10.4911 66.5549C10.527 66.6196 10.5645 66.6833 10.603 66.747C10.6405 66.8091 10.678 66.8702 10.7175 66.9313C10.7601 66.9971 10.8043 67.0613 10.8489 67.1255C10.8885 67.182 10.928 67.2385 10.9691 67.2935C11.0184 67.3592 11.0692 67.4234 11.121 67.4876C11.1621 67.5385 11.2027 67.5898 11.2453 67.6396C11.3012 67.7054 11.3598 67.7686 11.4188 67.8322C11.4609 67.878 11.5025 67.9242 11.5456 67.9684C11.6098 68.0341 11.6765 68.0968 11.7438 68.1599C11.7854 68.1995 11.8265 68.2395 11.8691 68.2781C11.943 68.3443 12.0205 68.4075 12.0981 68.4707C12.1371 68.5025 12.1751 68.5359 12.2151 68.5672C12.3034 68.6361 12.3953 68.7013 12.4877 68.766C12.5201 68.7886 12.5509 68.8128 12.5838 68.8348C12.7106 68.9201 12.8405 69.0023 12.9734 69.0793L35.9636 82.3591C38.0193 83.5456 40.5525 83.5456 42.6108 82.3591L55.2115 75.0821L58.6699 73.0841L58.6678 73.0846L64.2599 69.8528L64.9248 69.4692C65.0382 68.0213 64.971 66.5682 64.722 65.1383Z\",\n fill: \"#C4B1EE\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.5651 58.8993C62.5448 58.8993 62.7987 56.6987 62.7987 53.4824L55.211 57.7177L42.6103 64.9947C40.5515 66.1812 38.0188 66.1812 35.9631 64.9947L23.3542 57.7115C21.8283 56.8302 20.8877 55.2009 20.8877 53.4382V30.0986C20.8877 28.1946 21.702 26.4071 23.0841 25.1621L12.9724 31.0005C10.9167 32.187 9.646 34.3842 9.646 36.7598V45.9557V63.3162C9.646 63.4595 9.65113 63.6023 9.66037 63.7446C9.66397 63.8026 9.67167 63.8601 9.6768 63.9182C9.6845 64.0004 9.69118 64.0831 9.70144 64.1647C9.7112 64.2387 9.72403 64.3116 9.73636 64.3851C9.74714 64.4493 9.75638 64.5135 9.7687 64.5777C9.78462 64.6588 9.80361 64.7384 9.8221 64.8191C9.83493 64.8735 9.84674 64.9285 9.8606 64.9829C9.88217 65.0661 9.90681 65.1483 9.93145 65.23C9.94686 65.2808 9.96123 65.3317 9.97818 65.382C10.0044 65.4626 10.0331 65.5417 10.0629 65.6214C10.0824 65.6737 10.1014 65.7261 10.1224 65.778C10.1512 65.8504 10.182 65.9218 10.2133 65.9932C10.24 66.0543 10.2677 66.115 10.296 66.175C10.3237 66.2326 10.3519 66.2901 10.3812 66.3471C10.3997 66.3831 10.4156 66.4195 10.4346 66.4555C10.4521 66.4884 10.4726 66.5197 10.4911 66.5526C10.527 66.6173 10.5645 66.681 10.603 66.7447C10.6405 66.8068 10.678 66.8679 10.7175 66.929C10.7601 66.9948 10.8043 67.059 10.8489 67.1232C10.8885 67.1797 10.928 67.2362 10.9691 67.2912C11.0184 67.3569 11.0692 67.4211 11.121 67.4853C11.1621 67.5361 11.2027 67.5875 11.2453 67.6373C11.3012 67.7031 11.3598 67.7663 11.4188 67.8299C11.4609 67.8757 11.5025 67.9219 11.5456 67.9661C11.6098 68.0318 11.6765 68.0945 11.7438 68.1576C11.7854 68.1972 11.8265 68.2372 11.8691 68.2758C11.943 68.342 12.0205 68.4052 12.0981 68.4684C12.1371 68.5002 12.1751 68.5336 12.2151 68.5649C12.3034 68.6338 12.3953 68.699 12.4877 68.7637C12.5201 68.7863 12.5509 68.8105 12.5838 68.8325C12.7106 68.9178 12.8405 69 12.9734 69.077L35.9636 82.3568C38.0193 83.5433 40.5525 83.5433 42.6108 82.3568L55.2115 75.0798L64.2599 69.8505L64.9248 69.4669C64.9304 69.4083 64.9335 69.3528 64.9366 69.2938L64.9356 69.2943C65.0305 67.9029 66.8039 60.2722 66.5651 58.8993Z\",\n fill: \"#BBA8E4\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.9379 63.803C68.9379 62.9939 68.9379 58.8428 68.9379 58.8428H66.792L55.21 65.7569L42.6093 73.034C40.5505 74.2205 38.0178 74.2205 35.9621 73.034L16.188 61.6125C15.0297 60.9438 14.3161 59.707 14.3161 58.3695L14.3151 32.961C14.3151 31.8187 14.6077 30.7113 15.1468 29.7441L12.9709 31.001C10.9152 32.1875 9.64453 34.3847 9.64453 36.7603V53.9949V63.3167C9.64453 63.46 9.64967 63.6028 9.65891 63.7451C9.6625 63.8031 9.6702 63.8606 9.67534 63.9187C9.68304 64.0009 9.68971 64.0836 9.69998 64.1652C9.70973 64.2392 9.72257 64.3121 9.73489 64.3856C9.74567 64.4498 9.75492 64.514 9.76724 64.5782C9.78315 64.6593 9.80215 64.7389 9.82063 64.8196C9.83347 64.874 9.84528 64.929 9.85914 64.9834C9.8807 65.0666 9.90535 65.1488 9.92999 65.2305C9.94539 65.2813 9.95977 65.3322 9.97671 65.3825C10.0029 65.4631 10.0316 65.5422 10.0614 65.6219C10.0809 65.6743 10.0999 65.7266 10.121 65.7785C10.1497 65.8509 10.1805 65.9223 10.2119 65.9937C10.2386 66.0548 10.2663 66.1155 10.2945 66.1755C10.3222 66.2331 10.3505 66.2906 10.3797 66.3476C10.3982 66.3836 10.4141 66.42 10.4331 66.456C10.4506 66.4889 10.4711 66.5202 10.4896 66.5531C10.5255 66.6178 10.563 66.6815 10.6015 66.7452C10.639 66.8073 10.6765 66.8684 10.716 66.9295C10.7586 66.9953 10.8028 67.0595 10.8475 67.1237C10.887 67.1802 10.9265 67.2367 10.9676 67.2917C11.0169 67.3574 11.0677 67.4216 11.1196 67.4858C11.1606 67.5366 11.2012 67.588 11.2438 67.6378C11.2998 67.7036 11.3583 67.7668 11.4173 67.8304C11.4594 67.8762 11.501 67.9224 11.5442 67.9666C11.6083 68.0323 11.6751 68.095 11.7423 68.1581C11.7839 68.1977 11.825 68.2377 11.8676 68.2763C11.9415 68.3425 12.0191 68.4057 12.0966 68.4689C12.1356 68.5007 12.1736 68.5341 12.2137 68.5654C12.302 68.6343 12.3939 68.6995 12.4863 68.7642C12.5186 68.7868 12.5494 68.811 12.5823 68.833C12.7091 68.9183 12.839 69.0005 12.972 69.0775L35.9621 82.3573C38.0178 83.5438 40.551 83.5438 42.6093 82.3573L55.21 75.0803L64.9233 69.4674C67.4604 68.4466 68.9379 65.3157 68.9379 63.803Z\",\n fill: \"#A08BCF\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.3181 24.6418H51.8988C51.4424 24.6418 51.0728 25.0117 51.0728 25.4683V39.8934C51.0728 40.35 51.4424 40.7198 51.8988 40.7198H66.3181C66.7745 40.7198 67.1441 40.35 67.1441 39.8934V25.4683C67.1441 25.0122 66.7745 24.6418 66.3181 24.6418Z\",\n fill: \"url(#paint0_linear_1290_8921)\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.4643 12.3652H42.0351C41.5786 12.3652 41.209 12.735 41.209 13.1917V21.6244C41.209 22.081 41.5786 22.4508 42.0351 22.4508H50.4643C50.9207 22.4508 51.2904 22.081 51.2904 21.6244V13.1917C51.2904 12.735 50.9207 12.3652 50.4643 12.3652Z\",\n fill: \"url(#paint1_linear_1290_8921)\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.8017 56.7998H77.8833C78.3398 56.7998 78.7094 56.43 78.7094 55.9733V43.8867C78.7094 43.4301 78.3398 43.0603 77.8833 43.0603H65.8017C65.3452 43.0603 64.9756 43.4301 64.9756 43.8867V55.9733C64.9756 56.4294 65.3458 56.7998 65.8017 56.7998Z\",\n fill: \"url(#paint2_linear_1290_8921)\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.8271 43.8867V48.5982C79.8271 49.0548 80.1968 49.4246 80.6532 49.4246H85.3628C85.8192 49.4246 86.1889 49.0548 86.1889 48.5982V43.8867C86.1889 43.4301 85.8192 43.0603 85.3628 43.0603H80.6532C80.1973 43.0603 79.8271 43.4301 79.8271 43.8867Z\",\n fill: \"url(#paint3_linear_1290_8921)\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.6252 17.4741H54.0287C53.5723 17.4741 53.2026 17.8439 53.2026 18.3005V21.8985C53.2026 22.3551 53.5723 22.7249 54.0287 22.7249H57.6252C58.0816 22.7249 58.4513 22.3551 58.4513 21.8985V18.3005C58.4513 17.8439 58.0816 17.4741 57.6252 17.4741Z\",\n fill: \"url(#paint4_linear_1290_8921)\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.0819 12.3652H54.0287C53.5723 12.3652 53.2026 12.735 53.2026 13.1917V15.2456C53.2026 15.7023 53.5723 16.0721 54.0287 16.0721H56.0819C56.5383 16.0721 56.9079 15.7023 56.9079 15.2456V13.1917C56.9079 12.735 56.5383 12.3652 56.0819 12.3652Z\",\n fill: \"url(#paint5_linear_1290_8921)\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.5331 12.3652H59.1143C58.6575 12.3652 58.2876 12.7353 58.2876 13.1923V13.6112C58.2876 14.0682 58.6575 14.4383 59.1143 14.4383H59.5331C59.9898 14.4383 60.3598 14.0682 60.3598 13.6112V13.1923C60.3598 12.7353 59.9898 12.3652 59.5331 12.3652Z\",\n fill: \"url(#paint6_linear_1290_8921)\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.8573 15.8386H69.4385C68.9818 15.8386 68.6118 16.2087 68.6118 16.6657V17.0846C68.6118 17.5416 68.9818 17.9116 69.4385 17.9116H69.8573C70.3141 17.9116 70.684 17.5416 70.684 17.0846V16.6657C70.684 16.2087 70.3135 15.8386 69.8573 15.8386Z\",\n fill: \"url(#paint7_linear_1290_8921)\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.9662 22.7222H65.9623C66.4187 22.7222 66.7883 22.3524 66.7883 21.8958V16.8982C66.7883 16.4416 66.4187 16.0718 65.9623 16.0718H60.9662C60.5098 16.0718 60.1401 16.4416 60.1401 16.8982V21.8963C60.1401 22.3524 60.5098 22.7222 60.9662 22.7222Z\",\n fill: \"url(#paint8_linear_1290_8921)\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.5893 22.7217H71.4735C71.9299 22.7217 72.2996 22.3519 72.2996 21.8953V20.0103C72.2996 19.5536 71.9299 19.1838 71.4735 19.1838H69.5893C69.1328 19.1838 68.7632 19.5536 68.7632 20.0103V21.8953C68.7632 22.3519 69.1334 22.7217 69.5893 22.7217Z\",\n fill: \"url(#paint9_linear_1290_8921)\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.706 23.9993H69.5899C69.1331 23.9993 68.7632 24.3694 68.7632 24.8263V24.9425C68.7632 25.3994 69.1331 25.7695 69.5899 25.7695H69.706C70.1628 25.7695 70.5327 25.3994 70.5327 24.9425V24.8263C70.5327 24.3699 70.1628 23.9993 69.706 23.9993Z\",\n fill: \"url(#paint10_linear_1290_8921)\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.5962 25.7695H72.7124C73.1691 25.7695 73.5391 25.3994 73.5391 24.9425V24.8263C73.5391 24.3694 73.1691 23.9993 72.7124 23.9993H72.5962C72.1395 23.9993 71.7695 24.3694 71.7695 24.8263V24.9425C71.7695 25.3994 72.1395 25.7695 72.5962 25.7695Z\",\n fill: \"url(#paint11_linear_1290_8921)\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.6378 33.6409H69.6698C69.2134 33.6409 68.8438 34.0107 68.8438 34.4673V40.4377C68.8438 40.8943 69.2134 41.2641 69.6698 41.2641H75.6378C76.0942 41.2641 76.4638 40.8943 76.4638 40.4377V34.4673C76.4638 34.0112 76.0937 33.6409 75.6378 33.6409Z\",\n fill: \"url(#paint12_linear_1290_8921)\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.8441 41.2647H80.581C81.0375 41.2647 81.4071 40.8949 81.4071 40.4383V38.7007C81.4071 38.2441 81.0375 37.8743 80.581 37.8743H78.8441C78.3877 37.8743 78.0181 38.2441 78.0181 38.7007V40.4383C78.0181 40.8949 78.3882 41.2647 78.8441 41.2647Z\",\n fill: \"url(#paint13_linear_1290_8921)\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.6698 31.8457H73.2658C73.7222 31.8457 74.0919 31.4759 74.0919 31.0193V27.4219C74.0919 26.9653 73.7222 26.5955 73.2658 26.5955H69.6698C69.2134 26.5955 68.8438 26.9653 68.8438 27.4219V31.0193C68.8438 31.4754 69.2134 31.8457 69.6698 31.8457Z\",\n fill: \"url(#paint14_linear_1290_8921)\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.8713 28.5383H76.2191C75.7627 28.5383 75.3931 28.9081 75.3931 29.3648V31.0176C75.3931 31.4742 75.7627 31.844 76.2191 31.844H77.8713C78.3277 31.844 78.6974 31.4742 78.6974 31.0176V29.3648C78.6974 28.9081 78.3277 28.5383 77.8713 28.5383Z\",\n fill: \"url(#paint15_linear_1290_8921)\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.2198 25.7676C75.763 25.7676 75.3931 26.1377 75.3931 26.5946C75.3931 27.0516 75.763 27.4217 76.2198 27.4217C76.6765 27.4217 77.0465 27.0516 77.0465 26.5946C77.0465 26.1377 76.6765 25.7676 76.2198 25.7676Z\",\n fill: \"url(#paint16_linear_1290_8921)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_1290_8921\",\n x1: 66.0332,\n y1: 24.6418,\n x2: 52.5831,\n y2: 21.3696,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_1290_8921\",\n x1: 50.5935,\n y1: 12.3652,\n x2: 42.1564,\n y2: 10.3126,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_1290_8921\",\n x1: 77.76,\n y1: 43.0603,\n x2: 66.2663,\n y2: 40.264,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_1290_8921\",\n x1: 85.7491,\n y1: 43.0603,\n x2: 80.425,\n y2: 41.765,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_1290_8921\",\n x1: 58.0884,\n y1: 17.4741,\n x2: 53.6959,\n y2: 16.4055,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_1290_8921\",\n x1: 56.6518,\n y1: 12.3652,\n x2: 53.5509,\n y2: 11.6108,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_1290_8921\",\n x1: 60.2165,\n y1: 12.3652,\n x2: 58.4823,\n y2: 11.9433,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear_1290_8921\",\n x1: 70.5408,\n y1: 15.8386,\n x2: 68.8066,\n y2: 15.4167,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear_1290_8921\",\n x1: 66.3288,\n y1: 16.0718,\n x2: 60.765,\n y2: 14.7181,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint9_linear_1290_8921\",\n x1: 72.0551,\n y1: 19.1838,\n x2: 69.0955,\n y2: 18.4638,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint10_linear_1290_8921\",\n x1: 70.4104,\n y1: 23.9993,\n x2: 68.9295,\n y2: 23.639,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint11_linear_1290_8921\",\n x1: 73.4167,\n y1: 23.9993,\n x2: 71.9358,\n y2: 23.639,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint12_linear_1290_8921\",\n x1: 75.9371,\n y1: 33.6409,\n x2: 69.5599,\n y2: 32.0894,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint13_linear_1290_8921\",\n x1: 81.1728,\n y1: 37.8743,\n x2: 78.3366,\n y2: 37.1842,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint14_linear_1290_8921\",\n x1: 73.7291,\n y1: 26.5955,\n x2: 69.337,\n y2: 25.5269,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint15_linear_1290_8921\",\n x1: 78.469,\n y1: 28.5383,\n x2: 75.7036,\n y2: 27.8655,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint16_linear_1290_8921\",\n x1: 76.9322,\n y1: 25.7676,\n x2: 75.5485,\n y2: 25.4309,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A08BCF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D2C1F5\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgHorizontalLight);\nexport { ForwardRef as ReactComponent };\nexport default __webpack_public_path__ + \"static/media/horizontal-light.da275af5f77c833604220b3415ced5d1.svg\";","import React from \"react\"\nimport { VStack, Image } from \"@chakra-ui/react\"\nimport Logo from \"../images/horizontal-light.svg\"\n\nexport default function GradientBox({ children }) {\n return (\n \n \n {children}\n \n )\n}\n","import React from \"react\"\nimport { Link as ChakraLink } from \"@chakra-ui/react\"\nimport { Link as ReactRouterLink } from \"react-router-dom\"\n\nexport default function Link({ children, ...props }) {\n return (\n \n {children}\n \n )\n}\n","import React from \"react\"\nimport { Form, useNavigate } from \"react-router-dom\"\nimport {\n Alert,\n Button,\n Heading,\n IconButton,\n Input,\n InputGroup,\n InputRightAddon,\n Text,\n Tooltip,\n VStack,\n} from \"@chakra-ui/react\"\nimport { UserLogin } from \"../lib/user\"\nimport { onChange } from \"../lib/util\"\nimport GradientBox from \"./GradientBox\"\nimport Link from \"./Link\"\nimport { GoogleLogin } from \"@react-oauth/google\"\nimport { Api } from \"../lib/api\"\nimport { ViewIcon, ViewOffIcon } from \"@chakra-ui/icons\"\n\nexport default function Login() {\n const api = new Api()\n const [username, setUsername] = React.useState(\"\")\n const [password, setPassword] = React.useState(\"\")\n const [error, setError] = React.useState(null)\n const [success, setSuccess] = React.useState(null)\n const [inputType, setInputType] = React.useState(\"password\")\n const navigate = useNavigate()\n\n const login = async (event) => {\n event.preventDefault()\n console.log(\"Logging user in...\")\n let success\n try {\n success = await UserLogin(username, password)\n } catch (e) {\n success = false\n }\n\n if (!success) {\n setPassword(\"\")\n setSuccess(null)\n setError(\"Login failed\")\n } else {\n setError(null)\n setUsername(\"\")\n setPassword(\"\")\n console.log(\"Login success\")\n navigate(\"/\")\n }\n }\n\n const redirectToRegister = () => {\n navigate(\"/register\")\n }\n\n const responseMessage = async (response) => {\n console.log(response)\n await api.googleLogin(response.credential, response.clientId)\n }\n\n const errorMessage = (error) => {\n console.log(error)\n setError(error)\n }\n\n const toggleVisibility = () => {\n setInputType(inputType === \"password\" ? \"text\" : \"password\")\n }\n\n return (\n \n \n Sign In\n
\n Sign in to your account\n {error && {error}}\n {success && {success}}\n \n \n {error || \"\"}\n \n \n \n \n : \n }\n onClick={toggleVisibility}\n />\n \n \n \n \n {error || (\n <>\n {\" \"}\n \n Forgot Password?\n \n \n )}\n \n \n \n — OR — \n \n \n \n \n \n \n Don{\"'\"}t have an account?{\" \"}\n \n Register here.\n \n \n
\n )\n}\n","import React from \"react\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport Message from \"@/components/Message\"\nimport Login from \"../components/Login\"\nimport { Text, SimpleGrid } from \"@chakra-ui/react\"\nimport { Image } from \"@chakra-ui/react\"\nimport EmmeLogo from \"../images/emmeLogo.png\"\nimport CallBoxLogo from \"../images/callboxLogo.png\"\nimport LaconicLogo from \"../images/laconicLogo.png\"\nimport GdahaLogo from \"../images/gdahaLogo.png\"\n\nexport default function LoginView() {\n return (\n \n \n \n \n “Partnering with Blind Insight allowed us to accelerate our roadmap by\n a full year, moving us into new product areas and unlocking revenue\n faster than we could on our own.”\n \n\n \n — Erynn Petersen, CEO, Emme\n
\n Former CTO Kessel Run, US Dept. of Defense\n
\n \n \n \n \n \n \n
\n
\n )\n}\n","import React from \"react\"\nimport { useRouteLoaderData } from \"react-router-dom\"\nimport { CurrentOrg, CurrentUser } from \"../lib/store\"\n\nimport {\n Accordion,\n AccordionItem,\n AccordionButton,\n AccordionPanel,\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n IconButton,\n FormControl,\n FormLabel,\n Select,\n Stack,\n Text,\n useBreakpointValue,\n} from \"@chakra-ui/react\"\nimport { SettingsIcon, QuestionIcon } from \"@chakra-ui/icons\"\nimport Link from \"./Link\"\n\nexport default function ProfileMenu() {\n const user = useRouteLoaderData(\"auth\")\n const [currentOrg] = CurrentOrg.useState()\n const [currentUser] = CurrentUser.useState()\n\n const isMobile = useBreakpointValue({ base: true, md: false })\n\n if (!user) return null\n\n const getFullName = () => {\n if (currentUser.first_name && currentUser.last_name) {\n return `${currentUser.first_name} ${currentUser.last_name}`\n }\n return currentUser.email\n }\n\n const menuContent = (\n \n \n Organization:\n \n \n \n Account Settings\n \n \n API Docs\n \n {\n window.Intercom(\"show\")\n }}\n >\n \n Help \n \n \n Logout\n \n )\n\n if (isMobile) {\n return (\n \n }\n variant=\"ghost\"\n color=\"white\"\n height=\"4em\"\n width=\"4em\"\n padding=\"0\"\n mr=\"1em\"\n />\n \n \n \n Organization:\n \n \n \n \n Account Settings\n \n \n API Docs\n \n {\n window.Intercom(\"show\")\n }}\n >\n Help \n \n \n Logout\n \n \n \n )\n }\n\n return (\n \n \n \n \n {getFullName()} \n \n \n {menuContent}\n \n \n )\n}\n","import React from \"react\"\nimport { useParams, useNavigate } from \"react-router-dom\"\nimport logo from \"../images/horizontal-light.svg\"\nimport MobileHomeIcon from \"../icons/MobileHomeIcon.png\"\nimport ProfileMenu from \"./ProfileMenu\"\nimport { DatasetSchemas, Datasets, Schemas } from \"../lib/store\"\nimport {\n Accordion,\n AccordionButton,\n AccordionItem,\n AccordionPanel,\n Box,\n Flex,\n Image,\n useBreakpointValue,\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n Button,\n} from \"@chakra-ui/react\"\nimport Link from \"./Link\"\nimport { ChevronDownIcon } from \"@chakra-ui/icons\"\n\nexport default function Sidebar() {\n const [datasetSchemas] = DatasetSchemas.useState()\n const [datasets] = Datasets.useState()\n const [schemas] = Schemas.useState()\n const { datasetId, schemaId } = useParams()\n const navigate = useNavigate()\n\n const logoSrc = useBreakpointValue({\n base: MobileHomeIcon,\n md: logo,\n })\n\n const isMobile = useBreakpointValue({ base: true, md: false })\n\n const selectedDataset = datasets[datasetId]\n const selectedSchema = schemas[schemaId]\n\n const selectedDatasetSchemas = React.useMemo(() => {\n // If we are viewing all datasets, don't render schemas\n if (!datasetId) return <>\n // If we have no dataset selected, don't render schemas\n const selected = datasetSchemas[datasetId]\n if (!selected) return <>\n // Loop over the selected dataset:schemas mapping creating our entries\n return selected.map((id) => {\n let schema = schemas[id]\n return (\n \n \n {schema.name}\n \n \n )\n })\n }, [schemas, datasetId, schemaId, datasetSchemas])\n\n const mobileMenus = (\n \n \n } minWidth=\"0\">\n \n {selectedDataset?.name || \"Dataset\"}\n \n \n \n {Object.values(datasets).map((dataset) => (\n navigate(`/datasets/${dataset.id}`)}\n >\n {dataset.name}\n \n ))}\n \n \n\n \n }\n isDisabled={!datasetId}\n minWidth=\"0\"\n >\n \n {selectedSchema?.name || \"Schema\"}\n \n \n \n {!datasetId ? (\n Please select dataset first\n ) : (\n datasetSchemas[datasetId]?.map((id) => (\n \n navigate(`/datasets/${datasetId}/schemas/${id}/records`)\n }\n >\n {schemas[id].name}\n \n ))\n )}\n \n \n \n )\n\n return (\n \n \n \n \n \n \n\n {isMobile ? (\n mobileMenus\n ) : (\n id === datasetId)]\n : []\n }\n index={\n datasetId\n ? [Object.keys(datasets).findIndex((id) => id === datasetId)]\n : []\n }\n >\n {Object.values(datasets).map((dataset) => (\n \n navigate(`/datasets/${dataset.id}`)}\n >\n {dataset.name}\n \n \n {dataset.id === datasetId ? selectedDatasetSchemas : null}\n \n \n ))}\n \n )}\n \n \n )\n}\n","import React from \"react\"\nimport { Box, Heading, Text } from \"@chakra-ui/react\"\nimport Sidebar from \"@/components/Sidebar\"\n\nexport default function ErrorView({ errorObject }) {\n console.log(\">>> ErrorView\", errorObject)\n\n return (\n \n \n \n Something is horribly wrong!\n \n If this issue persists, please inspect the console for more details.\n \n \n Error Details\n
{errorObject}
\n
\n
\n \n )\n}\n","import React from \"react\"\nimport {\n Outlet,\n useLoaderData,\n useRouteError,\n isRouteErrorResponse,\n redirect,\n} from \"react-router-dom\"\nimport { CurrentUser } from \"../lib/store\"\nimport { UserIsLoggedIn } from \"../lib/user\"\nimport LoginView from \"../views/LoginView\"\nimport ErrorView from \"../views/ErrorView\"\n\nexport default function AuthRequired() {\n const auth = useLoaderData()\n return \n}\n\nAuthRequired.loader = async () => {\n let loggedIn\n\n try {\n loggedIn = await UserIsLoggedIn()\n } catch (error) {\n console.log(\">>> Error in AuthRequired.loader\")\n const badStatuses = [401, 403]\n if (badStatuses.includes(error.status)) {\n console.log(\">>> Redirecting to login\")\n return redirect(\"/login\")\n }\n throw error\n }\n\n if (!loggedIn) {\n console.log(\"No auth\")\n throw new Response(JSON.stringify({ error: \"No auth\" }), { status: 403 })\n }\n\n if (loggedIn) {\n console.log(\"Is logged in\")\n return CurrentUser.getValue()\n }\n\n console.log(\"Bad auth state\")\n throw new Response(JSON.stringify({ error: \"Bad auth state\" }), {\n status: 403,\n })\n}\n\nexport function AuthRequiredError() {\n console.log(\">>> AuthRequiredError called\")\n const error = useRouteError()\n\n // If the error is not a route error, then it's an unhandled error.\n if (!isRouteErrorResponse(error)) {\n return \n }\n\n // If the error is a route error, then it's a handled error.\n switch (error.status) {\n case 400:\n // No password given\n return \n case 422:\n // TODO(jathan): Display an actual proxy error screen.\n // Proxy error. Most likely failed to pass through auth.\n return \n default:\n return \n }\n}\n","import React from \"react\"\nimport {\n Outlet,\n useLoaderData,\n useRouteLoaderData,\n redirect,\n} from \"react-router-dom\"\n\nimport { Datasets, Schemas, CurrentOrgId } from \"../lib/store\"\nimport { Api } from \"../lib/api\"\nimport { isEmpty } from \"../lib/util\"\n\nexport default function FetchDatasetsSchemas() {\n const user = useRouteLoaderData(\"auth\")\n const [datasets] = useLoaderData()\n\n if (!datasets || !user) return <>\n return \n}\n\nFetchDatasetsSchemas.loader = async () => {\n console.log(\"FetchDatasetsSchemas.loader fetching datasets and schemas\")\n\n // If we're missing either datasets or schemas, fetch them\n if (isEmpty(Datasets.getValue()) || isEmpty(Schemas.getValue())) {\n let currentOrgId = CurrentOrgId.getValue()\n\n // If no current org id is found in state, try to fetch organization data\n if (!currentOrgId) {\n console.log(\n \"No current org id in state, attempting to fetch user organizations\",\n )\n const api = new Api()\n\n try {\n // Try to get the user's organizations\n const organizations = await api.organizationsList()\n\n if (organizations && organizations.length > 0) {\n // Set the organization in state and get the ID\n api.setOrFindOrganization(organizations)\n currentOrgId = CurrentOrgId.getValue()\n console.log(\"Successfully loaded organization data\", currentOrgId)\n }\n } catch (error) {\n console.error(\"Error fetching organization data:\", error)\n }\n\n // If we still don't have an organization, redirect to create one\n if (!currentOrgId) {\n console.log(\"No organizations found, redirecting to create\")\n return redirect(\"/organizations/create\")\n }\n }\n\n const api = new Api()\n const datasets = await api.datasetsList(currentOrgId)\n const schemas = await api.schemasList()\n return [datasets, schemas]\n }\n\n // Otherwise use stored state\n return [Datasets.getValue(), Schemas.getValue()]\n}\n","import React from \"react\"\nimport {\n Alert,\n AlertIcon,\n Box,\n Button,\n Flex,\n Text,\n Checkbox,\n} from \"@chakra-ui/react\"\nimport { Alerts, DontShowAgainList } from \"../lib/store\"\nimport { removeAlertById, clearAlerts } from \"../lib/alerts\"\nimport { ChevronLeftIcon, ChevronRightIcon, CopyIcon } from \"@chakra-ui/icons\"\n\nconst AlertDropDown = () => {\n const [alerts] = Alerts.useState()\n const [dontShowAgainList, setDontShowAgainList] = DontShowAgainList.useState()\n const [currentIndex, setCurrentIndex] = React.useState(0)\n const [copyLabel, setCopyLabel] = React.useState(\"Copy to clipboard\")\n const [isChecked, setIsChecked] = React.useState(false)\n\n // Reset currentIndex if it becomes invalid\n React.useEffect(() => {\n if (currentIndex >= alerts.length && alerts.length > 0) {\n setCurrentIndex(alerts.length - 1)\n }\n }, [alerts.length, currentIndex])\n\n if (!alerts.length) {\n return null\n }\n\n const currentAlert = alerts[currentIndex]\n const totalAlerts = alerts.length\n\n const navigateNext = () => {\n setCurrentIndex((prev) => (prev + 1) % totalAlerts)\n }\n\n const navigatePrev = () => {\n setCurrentIndex((prev) => (prev - 1 + totalAlerts) % totalAlerts)\n }\n\n const handleRemoveAlert = () => {\n setIsChecked(false)\n if (isChecked) {\n handleDontShowAgain(currentAlert.id)\n }\n removeAlertById(\n currentAlert.id,\n dontShowAgainList.includes(currentAlert.id),\n )\n if (currentIndex >= alerts.length - 1) {\n setCurrentIndex(Math.max(0, currentIndex - 1))\n }\n }\n\n const handleCopy = async () => {\n try {\n const textToCopy = `${currentAlert.source}\\n${currentAlert.content}`\n await navigator.clipboard.writeText(textToCopy)\n setCopyLabel(\"Copied!\")\n setTimeout(() => setCopyLabel(\"Copy to clipboard\"), 2000)\n } catch (err) {\n console.error(\"Failed to copy text:\", err)\n }\n }\n\n const handleDontShowAgain = (id) => {\n const newList = [...(dontShowAgainList || []), id]\n setDontShowAgainList(newList)\n localStorage.setItem(\"dontShowAgainList\", JSON.stringify(newList))\n }\n\n const handleCheck = () => {\n setIsChecked(!isChecked)\n }\n\n const alertStatusMap = {\n error: \"error\",\n warning: \"warning\",\n info: \"info\",\n success: \"success\",\n }\n\n const defaultAlertStatus = \"error\"\n\n const alertStatus = alertStatusMap[currentAlert.type] || defaultAlertStatus\n\n const alertBorderColorMap = {\n error: \"red\",\n warning: \"yellow\",\n info: \"blue\",\n success: \"green\",\n }\n\n const defaultAlertBorderColor = \"red\"\n\n const alertBorderColor =\n alertBorderColorMap[currentAlert.type] || defaultAlertBorderColor\n\n return (\n \n \n \n \n \n {currentAlert.source}\n \n \n {currentAlert.type === \"error\" && (\n \n \n \n )}\n {currentAlert.content}\n \n \n \n \n \n \n \n \n {currentIndex + 1}/{totalAlerts}\n \n \n \n \n \n \n \n \n ✕\n \n \n clear all\n \n \n don{\"'\"}t show again\n \n \n )\n}\n\nexport default AlertDropDown\n","import React from \"react\"\nimport { Box, Link } from \"@chakra-ui/react\"\nimport { Outlet, useNavigate, useLocation } from \"react-router-dom\"\nimport AlertDropDown from \"./AlertDropDown\"\nexport default function Footer() {\n const navigate = useNavigate()\n const location = useLocation()\n\n const onOpen = () => {\n // Navigate to terms-of-service while preserving the current location state\n navigate(\"/terms-of-service\", { state: { backgroundLocation: location } })\n }\n\n return (\n <>\n \n \n \n \n \n \n

\n © 2025,{\" \"}\n \n Blind Insight\n {\" \"}\n |{\" \"}\n \n View docs\n {\" \"}\n |{\" \"}\n \n Privacy Policy\n {\" \"}\n |{\" \"}\n \n Terms of Service\n \n

\n \n \n \n )\n}\n","import React from \"react\"\nimport { Outlet } from \"react-router-dom\"\n\nimport { CurrentUser, CurrentOrg, CurrentOrgId } from \"../lib/store\"\nimport { AUTH_ORGANIZATION_ID } from \"../lib/api\"\n\nfunction CurrentOrganization() {\n const [currentUser] = CurrentUser.useState()\n const [org, setOrg] = CurrentOrg.useState()\n const [orgId, setOrgId] = CurrentOrgId.useState()\n console.log(\"Render CurrentOrganization\")\n console.log(\"CurrentOrganization\", { currentUser, org, orgId })\n\n React.useEffect(() => {\n // Can't do anything if we don't have a current User\n if (!currentUser) return\n\n if (!currentUser.organizations?.length) {\n console.log(\"No organizations\")\n return\n }\n\n if (!orgId) {\n // Retrieve it from the session storage\n let sessionOrgId = sessionStorage.getItem(AUTH_ORGANIZATION_ID)\n if (sessionOrgId) {\n setOrgId(sessionOrgId)\n return\n }\n\n // Default to using the first one found\n setOrgId(currentUser.organizations[0].id)\n return\n }\n\n const matching = currentUser.organizations.find((org) => org.id === orgId)\n console.log(\"Matching org\", matching)\n if (!matching) {\n console.log(\"No matching org found\")\n return\n }\n\n setOrg(matching)\n }, [currentUser, org, setOrg, orgId, setOrgId])\n\n if (!currentUser || !org) return <>\n return \n}\n\nexport default CurrentOrganization\n","import React from \"react\"\nimport { Helmet } from \"react-helmet\"\n\nconst Pixel = () => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Pixel\n","import React from \"react\"\nimport { Outlet, useParams, useLocation } from \"react-router-dom\"\nimport {\n Box,\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n} from \"@chakra-ui/react\"\nimport { ChevronRightIcon } from \"@chakra-ui/icons\"\nimport Sidebar from \"./Sidebar\"\nimport Link from \"./Link\"\nimport { Datasets, Schemas } from \"../lib/store\"\nimport Pixel from \"./Pixel\"\n\nexport default function SidebarLayout() {\n const { datasetId, schemaId } = useParams()\n const location = useLocation()\n const [datasets] = Datasets.useState()\n const [schemas] = Schemas.useState()\n\n // TODO(jathan): Factor the breadcrumb logic out of this component and into a hook.\n const getBreadcrumbs = () => {\n const breadcrumbs = []\n\n // Datasets\n if (location.pathname.includes(\"/datasets\")) {\n breadcrumbs.push({\n label: \"Datasets\",\n path: \"/datasets\",\n current: location.pathname === \"/datasets\",\n })\n }\n\n // Dataset\n if (datasetId) {\n const dataset = datasets[datasetId]\n\n // Dataset detail\n if (dataset) {\n breadcrumbs.push({\n label: dataset.name,\n path: `/datasets/${datasetId}`,\n current: location.pathname === `/datasets/${datasetId}`,\n })\n\n // Create schema\n if (location.pathname.includes(\"/schemas/create\")) {\n breadcrumbs.push({\n label: \"Create Schema\",\n path: `/datasets/${datasetId}/schemas/create`,\n current: true,\n })\n }\n }\n }\n\n // Schema\n if (schemaId) {\n const schema = schemas[schemaId]\n if (schema) {\n // Schema detail\n breadcrumbs.push({\n label: schema.name,\n path: `/datasets/${datasetId}/schemas/${schemaId}`,\n current:\n location.pathname === `/datasets/${datasetId}/schemas/${schemaId}`,\n })\n\n // Schema records\n if (location.pathname.includes(\"/records\")) {\n breadcrumbs.push({\n label: \"Records\",\n path: `/datasets/${datasetId}/schemas/${schemaId}/records`,\n current: true,\n })\n }\n }\n }\n\n function addOrganizationBreadcrumb() {\n breadcrumbs.push({\n label: \"Organization\",\n path: \"#\",\n current: false,\n })\n }\n\n // Account\n if (location.pathname.includes(\"/account\")) {\n addOrganizationBreadcrumb()\n breadcrumbs.push({\n label: \"Account\",\n path: \"/account\",\n current: location.pathname === \"/account\",\n })\n }\n\n // Profile\n if (location.pathname.includes(\"/profile\")) {\n addOrganizationBreadcrumb()\n breadcrumbs.push({\n label: \"Profile\",\n path: \"/profile\",\n current: location.pathname === \"/profile\",\n })\n }\n\n // Users\n if (location.pathname.includes(\"/users\")) {\n addOrganizationBreadcrumb()\n breadcrumbs.push({\n label: \"Users\",\n path: \"/users\",\n current: location.pathname === \"/users\",\n })\n }\n\n return breadcrumbs\n }\n\n return (\n \n \n \n }\n >\n {getBreadcrumbs().map((crumb) => (\n \n \n {crumb.label}\n \n \n ))}\n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport { useParams, Outlet, useLocation } from \"react-router-dom\"\n\nimport { Box, Tabs, TabList, Tab, TabPanel, TabPanels } from \"@chakra-ui/react\"\nimport Link from \"./Link\"\n\nexport default function SchemaTabs() {\n const { datasetId, schemaId } = useParams()\n const location = useLocation()\n\n const getTabIndex = React.useCallback(() => {\n if (location.pathname.includes(\"/records\")) {\n return 0\n } else {\n return 1\n }\n }, [location.pathname])\n\n return (\n \n \n \n \n \n Records\n \n \n \n \n Schema\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport { useSearchParams } from \"react-router-dom\"\nimport { Api } from \"../lib/api\"\nimport { Box, Image, Text, SimpleGrid } from \"@chakra-ui/react\"\nimport Logo from \"../images/logoverticallight-1.png\"\nimport Link from \"./Link\"\nimport { createStripeCustomer } from \"../lib/util\"\n\n// The URL to redirect to after activation succeeds.\n// Previously this redirected to the Intercom tour but now we're just going to\n// redirect to the choose plan page, the pricing table will redirect to the Intercom tour.\n// const POST_ACTIVATION_REDIRECT_URL = \"/choose-plan\"\nconst POST_ACTIVATION_REDIRECT_URL = \"/datasets?product_tour_id=528227\"\n\nexport default function AccountsActivate(props) {\n const [searchParams] = useSearchParams()\n const { setActivated, setError } = props\n const api = new Api()\n\n const user_id = searchParams.get(\"user_id\")\n const timestamp = searchParams.get(\"timestamp\")\n const signature = searchParams.get(\"signature\")\n\n React.useEffect(() => {\n if (!user_id || !timestamp || !signature) {\n setError(\"Invalid activation link. Please request a new one.\")\n return\n }\n\n const activate = async () => {\n // const resp = await api.OrganizationInvitationAccept(orgId, invId)\n console.log(\"Sending activation request\")\n const resp = await api.accountsVerifyRegistration(\n user_id,\n timestamp,\n signature,\n )\n return resp\n }\n\n activate()\n .then((resp) => {\n console.log(\"Activation success\")\n setActivated(getSuccessMessage(resp))\n // Create a Stripe customer for the user without waiting for the response.\n createStripeCustomer()\n })\n .catch((error) => error.json().then((r) => setError(r.detail)))\n }, [user_id, timestamp, signature])\n\n const getSuccessMessage = (resp) => {\n console.log(\"getSuccessMessage resp =\", resp)\n return (\n \n

{resp.detail}

\n

\n \n Click here to proceed\n \n

\n
\n )\n }\n\n return (\n \n \n \"Blind\n \n \n )\n}\n","import React from \"react\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport AccountsActivate from \"../components/AccountsActivate\"\nimport Message from \"@/components/Message\"\nimport { Alert, Heading, Text, Box } from \"@chakra-ui/react\"\n\nexport default function AccountsActivateView() {\n const [activated, setActivated] = React.useState(false)\n const [error, setError] = React.useState(null)\n\n return (\n \n \n \n Welcome to Blind Insight!\n Account activation\n \n If you were responding to an Organization invitation:\n \n \n Please check your email for a link to set your initial password.\n \n \n If you self-registered:\n \n \n You chose a password during registration and are good to go!\n \n Let's get you started!\n Please follow the link below to proceed to the app.\n \n {!activated && Activating your account...}\n {activated && {activated}}\n {error && {error}}\n \n \n \n )\n}\n","import React from \"react\"\nimport { Icon } from \"@chakra-ui/react\"\n\nconst IconEdit = (props) => (\n \n \n \n \n)\n\nexport default IconEdit\n","import React from \"react\"\nimport { Icon } from \"@chakra-ui/react\"\n\nconst IconSave = (props) => (\n \n \n \n)\n\nexport default IconSave\n","import React from \"react\"\nimport { useRouteLoaderData, Form } from \"react-router-dom\"\nimport { CurrentOrg } from \"../lib/store\"\nimport {\n Box,\n Button,\n Input,\n Heading,\n InputGroup,\n InputRightAddon,\n InputLeftAddon,\n Text,\n} from \"@chakra-ui/react\"\nimport { MdManageAccounts } from \"react-icons/md\"\nimport IconEdit from \"@/icons/IconEdit\"\nimport IconSave from \"@/icons/IconSave\"\nimport env from \"../lib/env\"\n\nconst stripeBillingUrl =\n process.env.BLINDINSIGHT_STRIPE_BILLING_URL ||\n env.BLINDINSIGHT_STRIPE_BILLING_URL\n\nexport default function Account() {\n let [editMode, setEditMode] = React.useState(\"\")\n const [currentOrg, setCurrentOrg] = CurrentOrg.useState()\n const user = useRouteLoaderData(\"auth\")\n\n return (\n \n Organization name\n {(editMode === \"orgname\" && (\n <>\n
\n \n Organization name: \n \n \n {\n setEditMode(\"\")\n }}\n />\n \n \n
\n \n )) || (\n \n {currentOrg.name}{\" \"}\n {\n setEditMode(\"orgName\")\n }}\n />\n \n )}\n Subdomain (slug)\n {(editMode === \"slug\" && (\n <>\n
\n \n Subdomain: \n \n \n .blindinsight.io\n {\n setEditMode(\"\")\n }}\n />\n \n \n
\n \n )) || (\n \n {currentOrg.slug}.blindinsight.io{\" \"}\n {\n setEditMode(\"slug\")\n }}\n />\n \n )}\n Subscription Type\n \n {user.settings?.stripe?.product_name || \"Free\"} (Beta){\" \"}\n }\n onClick={() => {\n window.open(\n `${stripeBillingUrl}?prefilled_email=${user.email}`,\n \"_blank\",\n )\n }}\n >\n Manage\n \n \n
\n )\n}\n","import React from \"react\"\nimport Account from \"../components/Account\"\nimport { Box } from \"@chakra-ui/react\"\n\nexport default function AccountView() {\n return (\n \n \n \n )\n}\n","import React from \"react\"\nimport { Box, Image, Text } from \"@chakra-ui/react\"\nimport { useRouteLoaderData } from \"react-router-dom\"\nimport env from \"../lib/env\"\nimport Logo from \"../images/horizontal-light.svg\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport GradientBox from \"@/components/GradientBox\"\n\nconst publishableKey =\n process.env.BLINDINSIGHT_STRIPE_PUBLISHABLE_KEY ||\n env.BLINDINSIGHT_STRIPE_PUBLISHABLE_KEY\nconst pricingTableId =\n process.env.BLINDINSIGHT_STRIPE_PRICING_TABLE_ID ||\n env.BLINDINSIGHT_STRIPE_PRICING_TABLE_ID\n\nexport default function ChoosePlanView() {\n const user = useRouteLoaderData(\"auth\")\n return (\n \n \n \"Blind\n \n Please choose a plan\n \n
\n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport { useParams } from \"react-router-dom\"\nimport {\n Button,\n Table,\n Thead,\n Tbody,\n Td,\n Tr,\n TableContainer,\n Box,\n} from \"@chakra-ui/react\"\nimport { AddIcon } from \"@chakra-ui/icons\"\nimport { Datasets, Schemas, DatasetSchemas } from \"../lib/store\"\nimport Link from \"./Link\"\n\nexport default function DatasetDetail() {\n // Global state\n const [datasets] = Datasets.useState()\n const [schemas] = Schemas.useState()\n const [datasetSchemas] = DatasetSchemas.useState()\n\n // Path params\n const { datasetId } = useParams()\n\n // What to display\n const [dataset, setDataset] = React.useState({})\n const [schemasList, setSchemasList] = React.useState([])\n\n // Pick the dataset and the schemas that belong to it\n React.useEffect(() => {\n setDataset(datasets[datasetId])\n setSchemasList((datasetSchemas[datasetId] || []).map((id) => schemas[id]))\n }, [datasetId, datasets, schemas, datasetSchemas])\n\n console.debug(\"Rendering DatasetDetail\", {\n datasetId,\n dataset,\n schemasList,\n datasets,\n schemas,\n datasetSchemas,\n })\n\n return (\n \n \n \n }\n id=\"btn-schema-new\"\n title=\"Create a schema\"\n size=\"md\"\n >\n Create Schema\n \n \n \n \n \n \n \n \n \n \n \n \n {schemasList.map((row, index) => (\n \n \n \n \n ))}\n \n
SchemaFields
\n \n {row.name}\n \n \n {(row.schema?.properties &&\n Object.keys(row.schema.properties).length) ||\n \"Unknown\"}\n
\n \n
\n )\n}\n","import React from \"react\"\nimport DatasetDetail from \"@/components/DatasetDetail\"\n\nexport default function DatasetDetailView() {\n return \n}\n","var _path, _path2, _path3, _path4, _g, _g2, _path5, _path6, _g3, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _g4, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _g5, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _path108, _path109, _path110, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgDatasetCard = (_ref, ref) => {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 91,\n height: 91,\n viewBox: \"0 0 91 91\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: ref,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.4388 66.1195V62.9116L88.2741 61.7635C87.6619 65.2838 83.306 67.6053 79.6686 68.0865L54.8725 81.8891L44.0491 85.6036L9.51193 68.6437L10.3104 68.2047C7.35613 66.8962 5.76811 63.8908 4.17122 61.1556L1.84686 62.4726L0.462891 62.844V66.2377C0.462891 67.6982 1.47425 69.1586 3.50585 70.273L38.114 89.2843C42.1683 91.513 48.7599 91.513 52.8143 89.2843L87.4224 70.273C89.4185 69.1755 90.4299 67.7488 90.4565 66.3052C90.4388 66.2461 90.4388 66.1786 90.4388 66.1195Z\",\n fill: \"url(#paint0_radial_1652_7816)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.5,\n d: \"M79.669 68.0867L54.8728 81.8893L45.4512 85.1226V90.956C48.1127 90.956 50.7741 90.3988 52.7969 89.2845L87.405 70.2732C89.4011 69.1757 90.4125 67.749 90.4391 66.3054C90.4391 66.2379 90.4391 66.1788 90.4391 66.1113H90.448V62.9033L88.4696 61.8565H88.2656C87.5736 65.3262 83.2708 67.614 79.669 68.0867Z\",\n fill: \"#B12BC6\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1054 85.9583L3.49729 66.947C-0.557039 64.7183 -0.557039 61.0967 3.49729 58.8764L38.1054 39.8651C42.1598 37.6364 48.7514 37.6364 52.8057 39.8651L87.4138 58.8764C91.4682 61.1051 91.4682 64.7267 87.4138 66.947L52.8057 85.9583C48.7514 88.187 42.1509 88.187 38.1054 85.9583Z\",\n fill: \"url(#paint1_linear_1652_7816)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1054 85.9583L3.49729 66.947C-0.557039 64.7183 -0.557039 61.0967 3.49729 58.8764L38.1054 39.8651C42.1598 37.6364 48.7514 37.6364 52.8057 39.8651L87.4138 58.8764C91.4682 61.1051 91.4682 64.7267 87.4138 66.947L52.8057 85.9583C48.7514 88.187 42.1509 88.187 38.1054 85.9583Z\",\n fill: \"#8F26F9\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.51\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1054 85.9583L3.49729 66.947C-0.557039 64.7183 -0.557039 61.0967 3.49729 58.8764L38.1054 39.8651C42.1598 37.6364 48.7514 37.6364 52.8057 39.8651L87.4138 58.8764C91.4682 61.1051 91.4682 64.7267 87.4138 66.947L52.8057 85.9583C48.7514 88.187 42.1509 88.187 38.1054 85.9583Z\",\n fill: \"#6157C9\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1054 85.9583L3.49729 66.947C-0.557039 64.7183 -0.557039 61.0967 3.49729 58.8764L38.1054 39.8651C42.1598 37.6364 48.7514 37.6364 52.8057 39.8651L87.4138 58.8764C91.4682 61.1051 91.4682 64.7267 87.4138 66.947L52.8057 85.9583C48.7514 88.187 42.1509 88.187 38.1054 85.9583Z\",\n fill: \"url(#paint2_radial_1652_7816)\"\n }))), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.4048 66.9471L52.7967 85.9584C48.7423 88.1871 42.1507 88.1871 38.0964 85.9584L3.49713 66.9471C1.68732 65.951 0.684826 64.6762 0.498522 63.3762C0.258988 64.9886 1.26148 66.6432 3.49713 67.8757L38.1053 86.887C42.1596 89.1157 48.7512 89.1157 52.8055 86.887L87.4137 67.8757C89.6582 66.6432 90.6518 64.9886 90.4123 63.3762C90.2171 64.6847 89.2146 65.9594 87.4048 66.9471Z\",\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_1652_7816\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 38,\n width: 91,\n height: 50\n }, _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.1054 85.9583L3.49729 66.947C-0.557039 64.7183 -0.557039 61.0967 3.49729 58.8764L38.1054 39.8651C42.1598 37.6364 48.7514 37.6364 52.8057 39.8651L87.4138 58.8764C91.4682 61.1051 91.4682 64.7267 87.4138 66.947L52.8057 85.9583C48.7514 88.187 42.1509 88.187 38.1054 85.9583Z\",\n fill: \"white\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_1652_7816)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.2398L34.7783 77.5583V88.9212L45.1137 94.5942L55.4492 88.9212V77.5583L45.1137 83.2398Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 94.5942L34.7783 88.9212V77.5583L45.1137 83.2398V94.5942Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 88.9212L45.1138 94.5942V83.2398L55.4492 77.5583V88.9212Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.2398L34.7783 77.5584L45.1137 71.8854L55.4492 77.5584L45.1137 83.2398Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.24L35.2308 77.8118L34.7783 78.0566L45.1137 83.7296L55.4492 78.0566L55.0056 77.8118L45.1137 83.24Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5252L48.21 84.8522V96.2066L58.5454 101.888L68.8808 96.2066V84.8522L58.5454 90.5252Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 101.888L48.21 96.2066V84.8522L58.5454 90.5252V101.888Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8808 96.2066L58.5454 101.888V90.5252L68.8808 84.8522V96.2066Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5251L48.21 84.8521L58.5454 79.1707L68.8808 84.8521L58.5454 90.5251Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5251L48.6535 85.0969L48.21 85.3417L58.5454 91.0232L68.8808 85.3417L68.4284 85.0969L58.5454 90.5251Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 97.8192L61.6328 92.1378L71.9682 86.4648L82.3037 92.1378L71.9682 97.8192Z\",\n fill: \"url(#paint3_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.0231L21.3555 85.3416V96.6961L31.6909 102.378L42.0263 96.6961V85.3416L31.6909 91.0231Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 102.378L21.3555 96.6961V85.3416L31.6909 91.0231V102.378Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 96.6961L31.6909 102.378V91.0231L42.0263 85.3416V96.6961Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.0232L21.3555 85.3418L31.6909 79.6688L42.0263 85.3418L31.6909 91.0232Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.023L21.8079 85.5864L21.3555 85.8397L31.6909 91.5127L42.0263 85.8397L41.5827 85.5864L31.6909 91.023Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 98.309L34.7783 92.636L45.1137 86.9546L55.4492 92.636L45.1137 98.309Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 98.8069L7.93311 93.1255L18.2685 87.444L28.604 93.1255L18.2685 98.8069Z\",\n fill: \"url(#paint4_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.1711L34.7783 62.4896V73.8441L45.1137 79.5255L55.4492 73.8441V62.4896L45.1137 68.1711Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 79.5255L34.7783 73.8441V62.4896L45.1137 68.1711V79.5255Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 73.8441L45.1138 79.5255V68.1711L55.4492 62.4896V73.8441Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.171L34.7783 62.4895L45.1137 56.8165L55.4492 62.4895L45.1137 68.171Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.171L35.2308 62.7344L34.7783 62.9876L45.1137 68.6606L55.4492 62.9876L55.0056 62.7344L45.1137 68.171Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.4565L48.21 69.7834V81.1379L58.5454 86.8109L68.8808 81.1379V69.7834L58.5454 75.4565Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 86.8109L48.21 81.1379V69.7834L58.5454 75.4565V86.8109Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8808 81.1379L58.5454 86.8109V75.4565L68.8808 69.7834V81.1379Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.4564L48.21 69.7834L58.5454 64.102L68.8808 69.7834L58.5454 75.4564Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.4567L48.6535 70.0285L48.21 70.2733L58.5454 75.9548L68.8808 70.2733L68.4284 70.0285L58.5454 75.4567Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 82.7502L61.6328 77.0687V88.4232L71.9682 94.1046L82.3037 88.4232V77.0687L71.9682 82.7502Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 94.1046L61.6328 88.4232V77.0687L71.9682 82.7502V94.1046Z\",\n fill: \"url(#paint5_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.3037 88.4232L71.9683 94.1046V82.7502L82.3037 77.0687V88.4232Z\",\n fill: \"url(#paint6_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 82.7503L61.6328 77.0689L71.9682 71.3959L82.3037 77.0689L71.9682 82.7503Z\",\n fill: \"url(#paint7_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 82.7502L62.0764 77.3136L61.6328 77.5584L71.9682 83.2398L82.3037 77.5584V77.0687L71.9682 82.7502Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 75.9548L21.3555 70.2733V81.6278L31.6909 87.3092L42.0263 81.6278V70.2733L31.6909 75.9548Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 87.3092L21.3555 81.6278V70.2733L31.6909 75.9548V87.3092Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 81.6278L31.6909 87.3092V75.9548L42.0263 70.2733V81.6278Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 75.9547L21.3555 70.2732L31.6909 64.5918L42.0263 70.2732L31.6909 75.9547Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 75.955L21.8079 70.5184L21.3555 70.7632L31.6909 76.4446L42.0263 70.7632L41.5827 70.5184L31.6909 75.955Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.2398L34.7783 77.5583V88.9212L45.1137 94.5942L55.4492 88.9212V77.5583L45.1137 83.2398Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 94.5942L34.7783 88.9212V77.5583L45.1137 83.2398V94.5942Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 88.9212L45.1138 94.5942V83.2398L55.4492 77.5583V88.9212Z\",\n fill: \"#2FD3C7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.2398L34.7783 77.5584L45.1137 71.8854L55.4492 77.5584L45.1137 83.2398Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.24L35.2308 77.8118L34.7783 78.0566L45.1137 83.7296L55.4492 78.0566L55.0056 77.8118L45.1137 83.24Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5252L48.21 84.8522V96.2066L58.5454 101.888L68.8808 96.2066V84.8522L58.5454 90.5252Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 101.888L48.21 96.2066V84.8522L58.5454 90.5252V101.888Z\",\n fill: \"url(#paint8_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8808 96.2066L58.5454 101.888V90.5252L68.8808 84.8522V96.2066Z\",\n fill: \"url(#paint9_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5251L48.21 84.8521L58.5454 79.1707L68.8808 84.8521L58.5454 90.5251Z\",\n fill: \"url(#paint10_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 90.5252L48.6535 85.097L48.21 85.3418L58.5454 91.0233L68.8808 85.3418V84.8522L58.5454 90.5252Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 83.7296L7.93311 78.0566V89.411L18.2685 95.0925L28.604 89.411V78.0566L18.2685 83.7296Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 95.0925L7.93311 89.411V78.0566L18.2685 83.7296V95.0925Z\",\n fill: \"url(#paint11_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0395 89.7656L11.1626 87.6382V83.375L15.0395 85.5024V89.7656Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.604 89.411L18.2686 95.0925V83.7296L28.604 78.0566V89.411Z\",\n fill: \"url(#paint12_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 83.7299L7.93311 78.0569L18.2685 72.3754L28.604 78.0569L18.2685 83.7299Z\",\n fill: \"url(#paint13_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 83.7296L7.93311 78.0566V78.5462L18.2685 84.2277L28.604 78.5462L28.1515 78.3014L18.2685 83.7296Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.0231L21.3555 85.3416V96.6961L31.6909 102.378L42.0263 96.6961V85.3416L31.6909 91.0231Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 102.378L21.3555 96.6961V85.3416L31.6909 91.0231V102.378Z\",\n fill: \"url(#paint14_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 96.6961L31.6909 102.378V91.0231L42.0263 85.3416V96.6961Z\",\n fill: \"url(#paint15_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.0232L21.3555 85.3418L31.6909 79.6688L42.0263 85.3418L31.6909 91.0232Z\",\n fill: \"url(#paint16_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 91.0231L21.3555 85.3416V85.8397L31.6909 91.5127L42.0263 85.8397L41.5827 85.5864L31.6909 91.0231Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 98.309L34.7783 92.636L45.1137 86.9546L55.4492 92.636L45.1137 98.309Z\",\n fill: \"url(#paint17_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M71.9953 81.0534L64.9424 77.1785L71.9953 73.3037L79.0394 77.1785L71.9953 81.0534Z\",\n fill: \"#9F4BBE\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M18.2687 81.9482L11.2158 78.0733L18.2687 74.2069L25.3217 78.0733L18.2687 81.9482Z\",\n fill: \"#9F4BBE\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 53.102L34.7783 47.4205V58.775L45.1137 64.4564L55.4492 58.775V47.4205L45.1137 53.102Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 64.4564L34.7783 58.775V47.4205L45.1137 53.102V64.4564Z\",\n fill: \"url(#paint18_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 58.775L45.1138 64.4564V53.102L55.4492 47.4205V58.775Z\",\n fill: \"url(#paint19_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 53.1021L34.7783 47.4206L45.1137 41.7476L55.4492 47.4206L45.1137 53.1021Z\",\n fill: \"url(#paint20_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 53.102L34.7783 47.4205V47.9102L45.1137 53.5916L55.4492 47.9102V47.4205L45.1137 53.102Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 60.3874L48.21 54.7144V66.0688L58.5454 71.7418L68.8808 66.0688V54.7144L58.5454 60.3874Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 71.7418L48.21 66.0688V54.7144L58.5454 60.3874V71.7418Z\",\n fill: \"url(#paint21_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8808 66.0688L58.5454 71.7418V60.3874L68.8808 54.7144V66.0688Z\",\n fill: \"url(#paint22_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 60.3874L48.21 54.7144L58.5454 49.033L68.8808 54.7144L58.5454 60.3874Z\",\n fill: \"url(#paint23_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 60.3874L48.21 54.7144V55.204L58.5454 60.877L68.8808 55.204V54.7144L58.5454 60.3874Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 67.6812L61.6328 61.9998V73.3542L71.9682 79.0357L82.3037 73.3542V61.9998L71.9682 67.6812Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 79.0357L61.6328 73.3542V61.9998L71.9682 67.6812V79.0357Z\",\n fill: \"url(#paint24_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.3037 73.3542L71.9683 79.0357V67.6812L82.3037 61.9998V73.3542Z\",\n fill: \"url(#paint25_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 67.6815L61.6328 62L71.9682 56.3186L82.3037 62L71.9682 67.6815Z\",\n fill: \"url(#paint26_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9682 67.6812L61.6328 61.9998V62.4894L71.9682 68.1708L82.3037 62.4894V61.9998L71.9682 67.6812Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 60.877L21.3555 55.204V66.5584L31.6909 72.2399L42.0263 66.5584V55.204L31.6909 60.877Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 72.2399L21.3555 66.5584V55.204L31.6909 60.877V72.2399Z\",\n fill: \"url(#paint27_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 66.5584L31.6909 72.2399V60.877L42.0263 55.204V66.5584Z\",\n fill: \"url(#paint28_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 60.8771L21.3555 55.2041L31.6909 49.5226L42.0263 55.2041L31.6909 60.8771Z\",\n fill: \"url(#paint29_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 60.877L21.3555 55.204V55.6936L31.6909 61.3751L42.0263 55.6936V55.204L31.6909 60.877Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 68.6603L7.93311 62.9873V74.3418L18.2685 80.0148L28.604 74.3418V62.9873L18.2685 68.6603Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 80.0148L7.93311 74.3418V62.9873L18.2685 68.6603V80.0148Z\",\n fill: \"url(#paint30_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.604 74.3418L18.2686 80.0148V68.6603L28.604 62.9873V74.3418Z\",\n fill: \"url(#paint31_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 68.6605L7.93311 62.9875L18.2685 57.3061L28.604 62.9875L18.2685 68.6605Z\",\n fill: \"url(#paint32_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2685 68.6603L7.93311 62.9873V63.4769L18.2685 69.1584L28.604 63.4769V62.9873L18.2685 68.6603Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M31.6911 89.3519L24.6382 85.477L31.6911 81.6106L38.744 85.477L31.6911 89.3519Z\",\n fill: \"#9F4BBE\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M58.5456 88.8624L51.4927 84.9875L58.5456 81.1127L65.5897 84.9875L58.5456 88.8624Z\",\n fill: \"#9F4BBE\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.3481L34.7783 62.6751V74.0295L45.1137 79.711L55.4492 74.0295V62.6751L45.1137 68.3481Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 79.711L34.7783 74.0295V62.6751L45.1137 68.3481V79.711Z\",\n fill: \"url(#paint33_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 74.0295L45.1138 79.711V68.3481L55.4492 62.6751V74.0295Z\",\n fill: \"url(#paint34_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.3484L34.7783 62.6754L45.1137 56.9939L55.4492 62.6754L45.1137 68.3484Z\",\n fill: \"url(#paint35_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 68.3481L34.7783 62.6751V63.1647L45.1137 68.8462L55.4492 63.1647V62.6751L45.1137 68.3481Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.6422L48.21 69.9607V81.3152L58.5454 86.9966L68.8808 81.3152V69.9607L58.5454 75.6422Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 86.9966L48.21 81.3152V69.9607L58.5454 75.6422V86.9966Z\",\n fill: \"url(#paint36_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8808 81.3152L58.5454 86.9966V75.6422L68.8808 69.9607V81.3152Z\",\n fill: \"url(#paint37_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.6423L48.21 69.9609L58.5454 64.2879L68.8808 69.9609L58.5454 75.6423Z\",\n fill: \"url(#paint38_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5454 75.6422L48.6535 70.2055L48.21 70.4588L58.5454 76.1318L68.8808 70.4588V69.9607L58.5454 75.6422Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 76.1318L21.3555 70.4588V81.8132L31.6909 87.4862L42.0263 81.8132V70.4588L31.6909 76.1318Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 87.4862L21.3555 81.8132V70.4588L31.6909 76.1318V87.4862Z\",\n fill: \"url(#paint39_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 81.8132L31.6909 87.4862V76.1318L42.0263 70.4588V81.8132Z\",\n fill: \"url(#paint40_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 76.1318L21.3555 70.4588L31.6909 64.7773L42.0263 70.4588L31.6909 76.1318Z\",\n fill: \"url(#paint41_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 76.1318L21.3555 70.4588V70.9484L31.6909 76.6214L42.0263 70.9484V70.4588L31.6909 76.1318Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.4256L34.7783 77.7442V89.0986L45.1137 94.7801L55.4492 89.0986V77.7442L45.1137 83.4256Z\",\n fill: \"#42E8E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 94.7801L34.7783 89.0986V77.7442L45.1137 83.4256V94.7801Z\",\n fill: \"url(#paint42_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4492 89.0986L45.1138 94.7801V83.4256L55.4492 77.7442V89.0986Z\",\n fill: \"url(#paint43_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.4257L34.7783 77.7442L45.1137 72.0628L55.4492 77.7442L45.1137 83.4257Z\",\n fill: \"url(#paint44_radial_1652_7816)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1137 83.4256L34.7783 77.7442V78.2338L45.1137 83.9153L55.4492 78.2338V77.7442L45.1137 83.4256Z\",\n fill: \"white\"\n })))), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4565L34.7793 36.775V48.1295L45.1147 53.8109L55.4501 48.1295V36.775L45.1147 42.4565Z\",\n fill: \"#42E8E0\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 53.8109L34.7793 48.1295V36.775L45.1147 42.4565V53.8109Z\",\n fill: \"#42E8E0\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4502 48.1295L45.1147 53.8109V42.4565L55.4502 36.775V48.1295Z\",\n fill: \"#2FD3C7\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4565L34.7793 36.7751L45.1147 31.0936L55.4501 36.7751L45.1147 42.4565Z\",\n fill: \"#42E8E0\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4567L35.2317 37.0201L34.7793 37.2649L45.1147 42.9463L55.4501 37.2649L55.0066 37.0201L45.1147 42.4567Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 49.7417L48.2109 44.0603V55.4232L58.5464 61.0962L68.8818 55.4232V44.0603L58.5464 49.7417Z\",\n fill: \"#42E8E0\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 61.0962L48.2109 55.4232V44.0603L58.5464 49.7417V61.0962Z\",\n fill: \"#42E8E0\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8818 55.4232L58.5464 61.0962V49.7417L68.8818 44.0603V55.4232Z\",\n fill: \"#2FD3C7\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 49.7418L48.2109 44.0603L58.5464 38.3873L68.8818 44.0603L58.5464 49.7418Z\",\n fill: \"#42E8E0\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 49.742L48.6545 44.3138L48.2109 44.5586L58.5464 50.2316L68.8818 44.5586L68.4293 44.3138L58.5464 49.742Z\",\n fill: \"white\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 57.0275L61.6338 51.3545V62.7089L71.9692 68.3904L82.3046 62.7089V51.3545L71.9692 57.0275Z\",\n fill: \"#42E8E0\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 68.3904L61.6338 62.7089V51.3545L71.9692 57.0275V68.3904Z\",\n fill: \"url(#paint45_radial_1652_7816)\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 57.0275L62.0774 51.5993L61.6338 51.8441L71.9692 57.5256L82.3046 51.8441V51.3545L71.9692 57.0275Z\",\n fill: \"white\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 50.2314L21.3555 44.5583V55.9128L31.6909 61.5858L42.0263 55.9128V44.5583L31.6909 50.2314Z\",\n fill: \"#42E8E0\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 61.5858L21.3555 55.9128V44.5583L31.6909 50.2314V61.5858Z\",\n fill: \"#42E8E0\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 55.9128L31.6909 61.5858V50.2314L42.0263 44.5583V55.9128Z\",\n fill: \"#2FD3C7\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 50.2315L21.3555 44.5585L31.6909 38.877L42.0263 44.5585L31.6909 50.2315Z\",\n fill: \"#42E8E0\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 50.2316L21.8079 44.8034L21.3555 45.0482L31.6909 50.7296L42.0263 45.0482L41.5827 44.8034L31.6909 50.2316Z\",\n fill: \"white\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 57.5254L34.7793 51.844V63.1984L45.1147 68.8799L55.4501 63.1984V51.844L45.1147 57.5254Z\",\n fill: \"#42E8E0\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 68.8799L34.7793 63.1984V51.844L45.1147 57.5254V68.8799Z\",\n fill: \"#42E8E0\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4502 63.1984L45.1147 68.8799V57.5254L55.4502 51.844V63.1984Z\",\n fill: \"#2FD3C7\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 57.5254L34.7793 51.8439L45.1147 46.1709L55.4501 51.8439L45.1147 57.5254Z\",\n fill: \"#42E8E0\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 57.5254L35.2317 52.0887L34.7793 52.3336L45.1147 58.015L55.4501 52.3336L55.0066 52.0887L45.1147 57.5254Z\",\n fill: \"white\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 64.8108L48.2104 59.1378V70.4923L58.5459 76.1653L68.8813 70.4923V59.1378L58.5459 64.8108Z\",\n fill: \"#42E8E0\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 76.1653L48.2104 70.4923V59.1378L58.5459 64.8108V76.1653Z\",\n fill: \"url(#paint46_radial_1652_7816)\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 64.8108L48.654 59.3826L48.2104 59.6274L58.5459 65.3004L68.8813 59.6274V59.1378L58.5459 64.8108Z\",\n fill: \"white\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 58.0147L7.93262 52.3332V63.6961L18.268 69.3691L28.6035 63.6961V52.3332L18.268 58.0147Z\",\n fill: \"#42E8E0\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.6035 63.6961L18.2681 69.3691V58.0147L28.6035 52.3332V63.6961Z\",\n fill: \"url(#paint47_radial_1652_7816)\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 58.0147L7.93262 52.3332V52.8313L18.268 58.5043L28.6035 52.8313L28.151 52.5865L18.268 58.0147Z\",\n fill: \"white\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 65.3091L21.3555 59.6277V70.9821L31.6909 76.6636L42.0263 70.9821V59.6277L31.6909 65.3091Z\",\n fill: \"#42E8E0\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 70.9821L31.6909 76.6636V65.3006L42.0263 59.6277V70.9821Z\",\n fill: \"url(#paint48_radial_1652_7816)\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 65.3091L21.3555 59.6277V60.1173L31.6909 65.7987L42.0263 60.1173L41.5827 59.8725L31.6909 65.3091Z\",\n fill: \"white\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 72.5941L34.7788 66.9127V78.2672L45.1142 83.9486L55.4497 78.2672V66.9127L45.1142 72.5941Z\",\n fill: \"#42E8E0\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 72.5941L34.7788 66.9127V67.4108L45.1142 73.0838L55.4497 67.4108V66.9127L45.1142 72.5941Z\",\n fill: \"white\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 27.3789L34.7793 21.7059V33.0604L45.1147 38.7418L55.4501 33.0604V21.7059L45.1147 27.3789Z\",\n fill: \"#42E8E0\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 38.7418L34.7793 33.0604V21.7059L45.1147 27.3789V38.7418Z\",\n fill: \"#42E8E0\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4502 33.0604L45.1147 38.7418V27.3789L55.4502 21.7059V33.0604Z\",\n fill: \"#2FD3C7\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 27.3792L34.7793 21.7062L45.1147 16.0247L55.4501 21.7062L45.1147 27.3792Z\",\n fill: \"#42E8E0\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 27.3792L35.2317 21.951L34.7793 22.1958L45.1147 27.8773L55.4501 22.1958L55.0066 21.951L45.1147 27.3792Z\",\n fill: \"white\"\n })), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M45.1139 70.7456L38.0698 66.8707L45.1139 62.9959L52.1668 66.8707L45.1139 70.7456Z\",\n fill: \"#080344\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M31.6911 63.4517L24.6382 59.5853L31.6911 55.7104L38.744 59.5853L31.6911 63.4517Z\",\n fill: \"#080344\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M58.5451 62.9622L51.4922 59.0873L58.5451 55.2125L65.5892 59.0873L58.5451 62.9622Z\",\n fill: \"#080344\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M71.9948 55.2714L64.9419 51.3965L71.9948 47.5217L79.0389 51.3965L71.9948 55.2714Z\",\n fill: \"#080344\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M18.2683 56.1662L11.2153 52.2914L18.2683 48.4165L25.3212 52.2914L18.2683 56.1662Z\",\n fill: \"#080344\"\n }))), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 34.673L48.2109 28.9916V40.346L58.5464 46.0275L68.8818 40.346V28.9916L58.5464 34.673Z\",\n fill: \"#42E8E0\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 46.0275L48.2109 40.346V28.9916L58.5464 34.673V46.0275Z\",\n fill: \"#42E8E0\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8818 40.346L58.5464 46.0275V34.673L68.8818 28.9916V40.346Z\",\n fill: \"#2FD3C7\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 34.6733L48.2109 28.9918L58.5464 23.3188L68.8818 28.9918L58.5464 34.6733Z\",\n fill: \"#42E8E0\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5464 34.673L48.6545 29.2363L48.2109 29.4896L58.5464 35.1626L68.8818 29.4896L68.4293 29.2363L58.5464 34.673Z\",\n fill: \"white\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 41.9584L61.6338 36.2854V47.6399L71.9692 53.3129L82.3046 47.6399V36.2854L71.9692 41.9584Z\",\n fill: \"#42E8E0\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 53.3129L61.6338 47.6399V36.2854L71.9692 41.9584V53.3129Z\",\n fill: \"url(#paint49_radial_1652_7816)\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 41.9584L62.0774 36.5302L61.6338 36.775L71.9692 42.4565L82.3046 36.775V36.2854L71.9692 41.9584Z\",\n fill: \"white\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 35.1626L21.3555 29.4896V40.8441L31.6909 46.5171L42.0263 40.8441V29.4896L31.6909 35.1626Z\",\n fill: \"#42E8E0\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 46.5171L21.3555 40.8441V29.4896L31.6909 35.1626V46.5171Z\",\n fill: \"#42E8E0\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 40.8441L31.6909 46.5171V35.1626L42.0263 29.4896V40.8441Z\",\n fill: \"#2FD3C7\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 35.1626L21.3555 29.4896L31.6909 23.8082L42.0263 29.4896L31.6909 35.1626Z\",\n fill: \"#42E8E0\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 35.1629L21.8079 29.7347L21.3555 29.9795L31.6909 35.6609L42.0263 29.9795L41.5827 29.7347L31.6909 35.1629Z\",\n fill: \"white\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4565L34.7793 36.775V48.1295L45.1147 53.8109L55.4501 48.1295V36.775L45.1147 42.4565Z\",\n fill: \"#42E8E0\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 53.8109L34.7793 48.1295V36.775L45.1147 42.4565V53.8109Z\",\n fill: \"#42E8E0\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4502 48.1295L45.1147 53.8109V42.4565L55.4502 36.775V48.1295Z\",\n fill: \"#2FD3C7\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4565L34.7793 36.7751L45.1147 31.0936L55.4501 36.7751L45.1147 42.4565Z\",\n fill: \"#42E8E0\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1147 42.4567L35.2317 37.0201L34.7793 37.2649L45.1147 42.9463L55.4501 37.2649L55.0066 37.0201L45.1147 42.4567Z\",\n fill: \"white\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 49.7417L48.2104 44.0603V55.4232L58.5459 61.0962L68.8813 55.4232V44.0603L58.5459 49.7417Z\",\n fill: \"#42E8E0\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 61.0962L48.2104 55.4232V44.0603L58.5459 49.7417V61.0962Z\",\n fill: \"url(#paint50_radial_1652_7816)\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 49.7417L48.654 44.3136L48.2104 44.5584L58.5459 50.2314L68.8813 44.5584V44.0603L58.5459 49.7417Z\",\n fill: \"white\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 42.9462L7.93262 37.2647V48.6192L18.268 54.3007L28.6035 48.6192V37.2647L18.268 42.9462Z\",\n fill: \"#42E8E0\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.6035 48.6192L18.2681 54.3007V42.9462L28.6035 37.2647V48.6192Z\",\n fill: \"url(#paint51_radial_1652_7816)\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 42.9462L7.93262 37.2647V37.7628L18.268 43.4358L28.6035 37.7628L28.151 37.518L18.268 42.9462Z\",\n fill: \"white\"\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 50.2313L21.3555 44.5583V55.9128L31.6909 61.5858L42.0263 55.9128V44.5583L31.6909 50.2313Z\",\n fill: \"#42E8E0\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 55.9128L31.6909 61.5858V50.2313L42.0263 44.5583V55.9128Z\",\n fill: \"url(#paint52_radial_1652_7816)\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 50.2313L21.3555 44.5583V45.048L31.6909 50.7294L42.0263 45.048L41.5827 44.8032L31.6909 50.2313Z\",\n fill: \"white\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 57.5254L34.7788 51.844V63.1984L45.1142 68.8799L55.4497 63.1984V51.844L45.1142 57.5254Z\",\n fill: \"#42E8E0\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M61.6335 36.2858L71.9689 41.9588L82.3044 36.2858L71.9689 30.6043L61.6335 36.2858ZM61.6335 51.3544L71.9689 57.0274L82.3044 51.3544L71.9689 45.673L61.6335 51.3544ZM48.2106 59.1379L58.546 64.8109L68.8815 59.1379L58.546 53.4565L48.2106 59.1379ZM18.268 58.0152L7.93262 52.3337L18.268 46.6607L28.6035 52.3421L18.268 58.0152ZM21.3553 59.6277L31.6908 65.3007L42.0262 59.6277L31.6908 53.9463L21.3553 59.6277ZM45.1143 72.5944L34.7789 66.913L45.1143 61.24L55.4498 66.913L45.1143 72.5944ZM58.546 49.7423L48.2106 44.0608L58.546 38.3878L68.8815 44.0608L58.546 49.7423ZM7.93262 37.265L18.268 42.9465L28.6035 37.265L18.268 31.592L7.93262 37.265ZM31.6908 50.2317L21.3553 44.5587L31.6908 38.8772L42.0262 44.5587L31.6908 50.2317ZM34.7789 51.8439L45.1143 57.5254L55.4498 51.8439L45.1143 46.1709L34.7789 51.8439Z\",\n fill: \"#C9C8F8\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 57.5254L34.7788 51.844V52.3336L45.1142 58.0151L55.4497 52.3421V51.844L45.1142 57.5254Z\",\n fill: \"white\"\n })), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M71.9948 40.2699L64.9419 36.3951L71.9948 32.5202L79.0389 36.3951L71.9948 40.2699Z\",\n fill: \"#080344\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M18.2683 41.1648L11.2153 37.2899L18.2683 33.415L25.3212 37.2899L18.2683 41.1648Z\",\n fill: \"#080344\"\n }))), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 12.3102L34.7788 6.63722V17.9917L45.1142 23.6647L55.4497 17.9917V6.63722L45.1142 12.3102Z\",\n fill: \"#42E8E0\"\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 23.6647L34.7788 17.9917V6.63722L45.1142 12.3102V23.6647Z\",\n fill: \"url(#paint53_radial_1652_7816)\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4497 17.9917L45.1143 23.6647V12.3102L55.4497 6.63722V17.9917Z\",\n fill: \"url(#paint54_radial_1652_7816)\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 12.3102L34.7788 6.63722V7.12686L45.1142 12.8083L55.4497 7.12686V6.63722L45.1142 12.3102Z\",\n fill: \"white\"\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 19.6038L48.2104 13.9224V25.2768L58.5459 30.9583L68.8813 25.2768V13.9224L58.5459 19.6038Z\",\n fill: \"#42E8E0\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 30.9583L48.2104 25.2768V13.9224L58.5459 19.6038V30.9583Z\",\n fill: \"url(#paint55_radial_1652_7816)\"\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.8813 25.2768L58.5459 30.9583V19.6038L68.8813 13.9224V25.2768Z\",\n fill: \"url(#paint56_radial_1652_7816)\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 19.6038L48.2104 13.9224V14.412L58.5459 20.0935L68.8813 14.412V13.9224L58.5459 19.6038Z\",\n fill: \"white\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 26.8897L61.6338 21.2083V32.5712L71.9692 38.2442L82.3046 32.5712V21.2083L71.9692 26.8897Z\",\n fill: \"#42E8E0\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 38.2442L61.6338 32.5712V21.2083L71.9692 26.8897V38.2442Z\",\n fill: \"url(#paint57_radial_1652_7816)\"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.9692 26.8897L61.6338 21.2083V21.7063L71.9692 27.3793L82.3046 21.7063V21.2083L71.9692 26.8897Z\",\n fill: \"white\"\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 20.0936L21.3555 14.4121V25.775L31.6909 31.448L42.0263 25.775V14.4121L31.6909 20.0936Z\",\n fill: \"#42E8E0\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 31.448L21.3555 25.775V14.4121L31.6909 20.0936V31.448Z\",\n fill: \"url(#paint58_radial_1652_7816)\"\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 25.775L31.6909 31.448V20.0936L42.0263 14.4121V25.775Z\",\n fill: \"url(#paint59_radial_1652_7816)\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 20.0936L21.3555 14.4121V14.9102L31.6909 20.5832L42.0263 14.9102V14.4121L31.6909 20.0936Z\",\n fill: \"white\"\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 27.8772L7.93262 22.1958V33.5502L18.268 39.2317L28.6035 33.5502V22.1958L18.268 27.8772Z\",\n fill: \"#42E8E0\"\n })), _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.6035 33.5502L18.2681 39.2317V27.8772L28.6035 22.1958V33.5502Z\",\n fill: \"url(#paint60_radial_1652_7816)\"\n })), _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.268 27.8772L7.93262 22.1958V22.6939L18.268 28.3669L28.6035 22.6939V22.1958L18.268 27.8772Z\",\n fill: \"white\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M45.1149 55.854L38.0708 51.9792L45.1149 48.1127L52.1678 51.9792L45.1149 55.854Z\",\n fill: \"#080344\"\n })), _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M31.6911 48.5686L24.6382 44.6937L31.6911 40.8188L38.744 44.6937L31.6911 48.5686Z\",\n fill: \"#080344\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.2,\n d: \"M58.5466 48.0703L51.4937 44.2039L58.5466 40.329L65.5906 44.2039L58.5466 48.0703Z\",\n fill: \"#080344\"\n })), _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 27.565L34.7788 21.8836V33.2381L45.1142 38.9195L55.4497 33.2381V21.8836L45.1142 27.565Z\",\n fill: \"#42E8E0\"\n })), _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 38.9195L34.7788 33.2381V21.8836L45.1142 27.565V38.9195Z\",\n fill: \"url(#paint61_radial_1652_7816)\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.4497 33.2381L45.1143 38.9195V27.565L55.4497 21.8836V33.2381Z\",\n fill: \"url(#paint62_radial_1652_7816)\"\n })), _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 27.565L34.7788 21.8836V22.3817L45.1142 28.0547L55.4497 22.3817V21.8836L45.1142 27.565Z\",\n fill: \"white\"\n })), _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 34.8502L48.2104 29.1772V40.5317L58.5459 46.2046L68.8813 40.5317V29.1772L58.5459 34.8502Z\",\n fill: \"#42E8E0\"\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 46.2046L48.2104 40.5317V29.1772L58.5459 34.8502V46.2046Z\",\n fill: \"url(#paint63_radial_1652_7816)\"\n })), _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.5459 34.8502L48.654 29.422L48.2104 29.6668L58.5459 35.3483L68.8813 29.6668V29.1772L58.5459 34.8502Z\",\n fill: \"white\"\n })), _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 35.3485L21.3555 29.667V41.0215L31.6909 46.7029L42.0263 41.0215V29.667L31.6909 35.3485Z\",\n fill: \"#42E8E0\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0263 41.0215L31.6909 46.7029V35.3485L42.0263 29.667V41.0215Z\",\n fill: \"url(#paint64_radial_1652_7816)\"\n })), _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.6909 35.3485L21.3555 29.667V30.1567L31.6909 35.8381L42.0263 30.1567V29.667L31.6909 35.3485Z\",\n fill: \"white\"\n })), _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 42.6337L34.7788 36.9523V48.3152L45.1142 53.9882L55.4497 48.3152V36.9523L45.1142 42.6337Z\",\n fill: \"#42E8E0\"\n })), _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M82.3046 32.571L71.9691 38.244V26.8896L82.3046 21.2081V32.571ZM82.3046 47.6398L71.9691 53.3128V41.9584L82.3046 36.2854V47.6398ZM71.9691 68.3903L82.3046 62.7089V51.3544L71.9691 57.0274V68.3903ZM58.546 76.165L68.8815 70.492V59.1375L58.546 64.8105V76.165ZM18.268 69.3691L7.93262 63.6961V52.3332L18.268 58.0146V69.3691ZM21.3554 70.9818L31.6909 76.6632V65.3003L21.3554 59.6273V70.9818ZM45.1143 83.9484L34.779 78.2669V66.9125L45.1143 72.5939H45.1144L55.4498 66.9125V78.2669L45.1144 83.9484H45.1143ZM58.546 61.0962L68.8815 55.4232V44.0603L58.546 49.7417V61.0962ZM18.268 54.3004L7.93262 48.619V37.2645L18.268 42.946V54.3004ZM21.3554 55.9127L31.6909 61.5857V50.2313L21.3554 44.5583V55.9127ZM45.1143 68.8797L34.779 63.1983V51.8438L45.1143 57.5252H45.1144L55.4498 51.8438V63.1983L45.1144 68.8797H45.1143ZM7.93262 33.5499L18.268 39.2314V27.8769L7.93262 22.1955V33.5499ZM68.8815 40.5317L58.546 46.2047V34.8502L68.8815 29.1772V40.5317ZM21.3554 41.0214L31.6909 46.7029V35.3484L21.3554 29.667V41.0214ZM45.1143 53.988L34.779 48.315V36.9521L45.1143 42.6336H45.1144L55.4498 36.9521V48.315L45.1144 53.988H45.1143Z\",\n fill: \"url(#paint65_linear_1652_7816)\"\n })), _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.1143 12.3102L34.7789 6.63724L45.1143 0.955795L55.4498 6.63724L45.1143 12.3102ZM31.6908 35.3483L21.3553 29.6668L31.6908 23.9854L42.0262 29.6668L31.6908 35.3483ZM48.2106 13.9224L58.546 19.6039L68.8815 13.9224L58.546 8.24097L48.2106 13.9224ZM71.9689 26.8895L61.6335 21.2081L71.9689 15.5351L82.3044 21.2081L71.9689 26.8895ZM21.3553 14.4123L31.6908 20.0937L42.0262 14.4123L31.6908 8.73929L21.3553 14.4123ZM18.268 27.8769L7.93262 22.1954L18.268 16.5224L28.6035 22.1954L18.268 27.8769ZM34.7789 21.8834L45.1143 27.5649L55.4498 21.8834L45.1143 16.2104L34.7789 21.8834ZM58.546 34.85L48.2106 29.177L58.546 23.4956L68.8815 29.177L58.546 34.85ZM34.7789 36.9525L45.1143 42.6339L55.4498 36.9525L45.1143 31.2795L34.7789 36.9525Z\",\n fill: \"#C9C8F8\"\n })), _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1142 42.6337L34.7788 36.9523V37.4504L45.1142 43.1234L55.4497 37.4504V36.9523L45.1142 42.6337Z\",\n fill: \"white\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint0_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(88.6652 72.8603) scale(80.0829 76.2046)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_1652_7816\",\n x1: 0.458495,\n y1: 62.9127,\n x2: 90.4421,\n y2: 62.9127,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E9E9FD\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3601,\n stopColor: \"#D3D2F9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7062,\n stopColor: \"#C5C4F7\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#C0BFF6\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint2_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(95.5432 64.4688) scale(86.261 82.0835)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint3_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.92 91.0405) scale(93.803 89.2604)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint4_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.92 91.0405) scale(93.8033 89.2605)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint5_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6873) scale(98.0557 93.3071)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint6_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(91.5351 109.59) scale(52.8099 50.2525)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint7_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.92 91.0405) scale(93.8029 89.2603)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint8_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6873) scale(98.0561 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint9_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(91.535 109.59) scale(52.8099 50.2525)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint10_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.92 91.0403) scale(93.8032 89.2604)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint11_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.092 92.6875) scale(98.0562 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint12_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 75.9004) scale(104.937 99.8549)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint13_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.92 91.0408) scale(93.8031 89.2604)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint14_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0912 92.6871) scale(98.0557 93.307)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint15_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 75.8999) scale(104.938 99.8557)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint16_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.919 91.0402) scale(93.8028 89.26)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint17_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(101.919 91.0406) scale(93.8029 89.2601)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint18_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6874) scale(98.0563 93.3078)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint19_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0207 75.9002) scale(104.937 99.8551)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint20_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.254 50.7053) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint21_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6873) scale(98.0561 93.3074)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint22_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0209 75.9003) scale(104.938 99.8556)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint23_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7053) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint24_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6874) scale(98.0559 93.3072)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint25_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(91.5351 109.59) scale(52.8098 50.2523)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint26_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7055) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint27_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0912 92.6873) scale(98.0557 93.307)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint28_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 75.9002) scale(104.938 99.8555)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint29_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.254 50.7053) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint30_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.092 92.6871) scale(98.0561 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#843092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#723091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#8F3091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint31_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 75.9001) scale(104.937 99.855)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint32_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7053) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint33_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6872) scale(98.056 93.3073)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint34_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0207 75.9001) scale(104.937 99.855)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint35_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7055) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint36_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0917 92.6874) scale(98.0562 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#D152DC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#CA4BDF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#BC53D6\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D056DA\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint37_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(91.535 109.59) scale(52.8098 50.2523)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint38_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7055) scale(177.324 168.737)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint39_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0912 92.6873) scale(98.0557 93.3071)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint40_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 75.9003) scale(104.938 99.8556)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint41_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.254 50.7052) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint42_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0916 92.6873) scale(98.056 93.3073)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint43_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(91.5349 109.59) scale(52.8097 50.2522)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint44_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(148.255 50.7054) scale(177.38 168.79)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint45_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0926 51.9001) scale(98.0558 93.3071)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint46_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.8999) scale(98.0523 93.3039)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint47_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0204 35.1124) scale(104.937 99.8549)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint48_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 35.1132) scale(104.937 99.8555)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint49_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0926 51.8999) scale(98.0557 93.3071)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint50_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.8998) scale(98.0561 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint51_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0204 35.113) scale(104.937 99.855)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint52_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 35.1126) scale(104.938 99.8557)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint53_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.9) scale(98.0563 93.3077)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint54_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0211 35.1128) scale(104.937 99.855)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint55_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.8996) scale(98.056 93.3073)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint56_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0214 35.1126) scale(104.938 99.8556)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint57_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0926 51.9002) scale(98.0558 93.3071)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint58_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0912 51.8997) scale(98.0557 93.307)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint59_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 35.1127) scale(104.937 99.8555)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint60_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0204 35.1129) scale(104.937 99.8549)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint61_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.9002) scale(98.056 93.3074)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint62_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0211 35.1131) scale(104.937 99.8551)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint63_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(97.0921 51.8999) scale(98.0562 93.3075)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.1126,\n stopColor: \"#D82D9A\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2701,\n stopColor: \"#A82E97\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.4269,\n stopColor: \"#802F95\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5803,\n stopColor: \"#612F93\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7291,\n stopColor: \"#4B3092\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8714,\n stopColor: \"#3E3091\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#393091\"\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"paint64_radial_1652_7816\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"translate(92.0208 35.113) scale(104.938 99.8558)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF2C9C\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.0301,\n stopColor: \"#F62F9F\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.2023,\n stopColor: \"#C63EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.3737,\n stopColor: \"#9E4BBE\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.5413,\n stopColor: \"#7F54C9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.7039,\n stopColor: \"#695BD1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.8594,\n stopColor: \"#5C60D5\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#5761D7\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint65_linear_1652_7816\",\n x1: 0.895103,\n y1: 52.5783,\n x2: 91.5075,\n y2: 52.5783,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#A31FA9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.07,\n stopColor: \"#C450B9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.15,\n stopColor: \"#AF25B2\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.24,\n stopColor: \"#9C1EA6\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.34,\n stopColor: \"#821FA4\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.48,\n stopColor: \"#8F17A3\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.63,\n stopColor: \"#8C2DB8\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.94,\n stopColor: \"#3167D9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#2C75E4\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgDatasetCard);\nexport { ForwardRef as ReactComponent };\nexport default __webpack_public_path__ + \"static/media/dataset-card.1c4bae7e33be04588958945cd51019ea.svg\";","import React from \"react\"\nimport {\n Alert,\n Box,\n Button,\n Flex,\n Heading,\n Image,\n Input,\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalBody,\n ModalCloseButton,\n Spacer,\n Text,\n Stack,\n VStack,\n} from \"@chakra-ui/react\"\nimport { AddIcon } from \"@chakra-ui/icons\"\nimport { Form, useNavigate } from \"react-router-dom\"\nimport datasetCard from \"../images/dataset-card.svg\"\nimport { Api } from \"../lib/api\"\nimport { DatasetSchemas, CurrentOrg } from \"../lib/store\"\nimport Link from \"./Link\"\n\nexport default function DatasetCard({ dataset }) {\n const [datasetSchemas] = DatasetSchemas.useState()\n const [currentOrg] = CurrentOrg.useState()\n const count = React.useMemo(\n () => datasetSchemas[dataset.id]?.length || 0,\n [datasetSchemas, dataset],\n )\n const [open, setOpen] = React.useState(false)\n const [error, setError] = React.useState(null)\n const api = new Api()\n const navigate = useNavigate()\n const handleSubmit = async (event) => {\n event.preventDefault()\n const { name, description } = event.target.elements\n try {\n const response = await api.datasetsCreate(\n name.value,\n description.value,\n currentOrg.url,\n )\n setOpen(false)\n setError(null)\n await api.datasetsList(currentOrg.id)\n console.log(\"Created dataset\", response)\n navigate(`/datasets/${response.id}`)\n } catch (e) {\n console.log(\"Failed to create dataset\", e)\n setError((await e.json()).detail)\n }\n }\n\n const handleClose = () => {\n setOpen(false)\n setError(null)\n }\n\n const handleOpen = () => {\n setOpen(true)\n }\n if (dataset === \"default\") {\n return (\n \n \n \n \n \n }\n >\n Create Dataset\n \n\n \n \n \n Add a new Dataset\n \n \n {error && {error}}\n
\n \n \n \n \n {error || \"Give your dataset a name\"}\n \n \n \n \n \n And optional description\n \n \n \n \n \n Cancel\n \n \n Create\n \n \n \n
\n
\n
\n
\n
\n \n )\n }\n\n return (\n \n \n \n \n \n \n \n {dataset.name}\n \n \n \n {dataset.description}\n \n \n {count} schema{count > 1 ? \"s\" : \"\"}\n \n \n \n )\n}\n","import React from \"react\"\nimport { useRouteLoaderData } from \"react-router-dom\"\nimport DatasetCard from \"./DatasetCard\"\nimport { Datasets } from \"../lib/store\"\nimport {\n Box,\n Heading,\n Link,\n ListItem,\n OrderedList,\n Text,\n} from \"@chakra-ui/react\"\n\nexport default function DatasetsList() {\n const user = useRouteLoaderData(\"auth\")\n const [datasets] = Datasets.useState()\n\n if (!user) return null\n\n return (\n \n \n \n {Object.keys(datasets).length < 1 && (\n \n \n Welcome to the Blind Insight Beta!\n \n \n Start exploring the UI or check out the links below for the full\n developer experience.\n \n Developer Quickstart\n \n \n \n Download the Blind Proxy\n \n \n \n \n Download a sample dataset, or use your own\n \n \n \n \n Check out the Getting Started Guide\n \n \n \n \n )}\n {Object.values(datasets).map((dataset, index) => (\n \n \n \n ))}\n \n \n )\n}\n","import React from \"react\"\nimport DatasetsList from \"../components/DatasetsList\"\n\nexport default function DatasetListView() {\n return \n}\n","import process from \"process\"\nimport React from \"react\"\nimport Box from \"@mui/material/Box\"\n\nexport default function Debug() {\n return (\n \n \n

Debug

\n
\n BLINDINSIGHT_PROXY_URL: {process.env.BLINDINSIGHT_PROXY_URL}\n
\n )\n}\n","import React from \"react\"\nimport Debug from \"@/components/Debug\"\n\nexport default function DebugView() {\n return \n}\n","import React from \"react\"\nimport {\n Table,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n TableContainer,\n Text,\n} from \"@chakra-ui/react\"\n\nexport default function DevTable() {\n const names = [\"John\", \"Jane\", \"Jim\", \"Jill\"]\n const lastNames = [\"Doe\", \"Smith\", \"Johnson\", \"Williams\", \"Adamns\"]\n const ages = [25, 32, 35, 48, 51, 63]\n const genders = [\"Male\", \"Female\"]\n const addresses = [\n \"123 PizzaPie St\",\n \"456 MooDeng Ave\",\n \"6399 Bepis St\",\n \"420 Altitude St\",\n \"404 Dad street\",\n \"80085 CalculatorJoke Way\",\n \"8888 Erebus culdesac\",\n ]\n const telephoneNumbers = [\n \"555-456-7890\",\n \"555-654-3210\",\n \"555-123-4567\",\n \"555-222-3333\",\n \"555-867-5309\",\n \"555-867-5309\",\n \"555-867-5309\",\n \"555-867-5309\",\n ]\n\n const generateTableData = () => {\n const tableData = []\n for (let i = 0; i < 50; i++) {\n tableData.push({\n firstName: names[Math.floor(Math.random() * names.length)],\n lastName: lastNames[Math.floor(Math.random() * lastNames.length)],\n age: ages[Math.floor(Math.random() * ages.length)],\n gender: genders[Math.floor(Math.random() * genders.length)],\n address: addresses[Math.floor(Math.random() * addresses.length)],\n telephone:\n telephoneNumbers[Math.floor(Math.random() * telephoneNumbers.length)],\n })\n }\n return tableData\n }\n\n const tableData = generateTableData()\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {tableData.map((row, index) => (\n \n \n \n \n \n \n \n \n ))}\n \n
\n First Name\n \n Last Name\n \n Age\n \n Gender\n \n Address\n \n Telephone Number\n
{row.firstName}{row.lastName}{row.age}{row.gender}{row.address}{row.telephone}
\n
\n )\n}\n","import React from \"react\"\nimport {\n VStack,\n HStack,\n Text,\n Button,\n Divider,\n Textarea,\n SimpleGrid,\n} from \"@chakra-ui/react\"\nimport { AddIcon, CloseIcon, SmallCloseIcon } from \"@chakra-ui/icons\"\nimport {\n AlertType,\n addAlert,\n clearAlerts,\n clearDontShowAgainList,\n removeAlertBySource,\n} from \"@/lib/alerts\"\n\nexport default function DevAlert() {\n const addInfoAlert = () => {\n addAlert(AlertType.INFO, \"INFO\", \"This is an info alert\", 1)\n }\n\n const addThreeInfoAlerts = () => {\n for (let i = 2; i < 5; i++) {\n addAlert(AlertType.INFO, \"INFO\", \"This is an info alert\", i)\n }\n }\n\n const addErrorAlert = () => {\n addAlert(AlertType.ERROR, \"ERROR\", \"This is an error alert\", 6)\n }\n\n const addThreeErrorAlerts = () => {\n for (let i = 7; i < 10; i++) {\n addAlert(AlertType.ERROR, \"ERROR\", \"This is an error alert\", i)\n }\n }\n\n const addWarningAlert = () => {\n addAlert(AlertType.WARNING, \"WARNING\", \"This is a warning alert\", 11)\n }\n\n const addThreeWarningAlerts = () => {\n for (let i = 12; i < 15; i++) {\n addAlert(AlertType.WARNING, \"WARNING\", \"This is a warning alert\", i)\n }\n }\n\n const addSuccessAlert = () => {\n addAlert(AlertType.SUCCESS, \"SUCCESS\", \"This is a success alert\", 16)\n }\n\n const addThreeSuccessAlerts = () => {\n for (let i = 17; i < 20; i++) {\n addAlert(AlertType.SUCCESS, \"SUCCESS\", \"This is a success alert\", i)\n }\n }\n\n const addOneOfEachAlert = () => {\n addInfoAlert()\n addErrorAlert()\n addWarningAlert()\n addSuccessAlert()\n }\n\n const addThreeOfEachAlert = () => {\n addThreeInfoAlerts()\n addThreeErrorAlerts()\n addThreeWarningAlerts()\n addThreeSuccessAlerts()\n }\n\n const clearAllAlerts = () => {\n clearAlerts()\n }\n\n const addAlertsWith4Sources = () => {\n addAlert(AlertType.INFO, \"File\", \"This is an file info alert\", 21)\n addAlert(AlertType.ERROR, \"File\", \"This is an file error alert\", 22)\n addAlert(AlertType.WARNING, \"File\", \"This is an file warning alert\", 23)\n addAlert(AlertType.SUCCESS, \"File\", \"This is an file success alert\", 24)\n addAlert(AlertType.INFO, \"Database\", \"This is an database info alert\", 25)\n addAlert(AlertType.ERROR, \"Database\", \"This is an database error alert\", 26)\n addAlert(\n AlertType.WARNING,\n \"Database\",\n \"This is an database warning alert\",\n 27,\n )\n addAlert(\n AlertType.SUCCESS,\n \"Database\",\n \"This is an database success alert\",\n 28,\n )\n addAlert(AlertType.INFO, \"API\", \"This is an api info alert\", 29)\n addAlert(AlertType.ERROR, \"API\", \"This is an api error alert\", 30)\n addAlert(AlertType.WARNING, \"API\", \"This is an api warning alert\", 31)\n addAlert(AlertType.SUCCESS, \"API\", \"This is an api success alert\", 32)\n addAlert(AlertType.INFO, \"User\", \"This is an user info alert\", 33)\n addAlert(AlertType.ERROR, \"User\", \"This is an user error alert\", 34)\n addAlert(AlertType.WARNING, \"User\", \"This is an user warning alert\", 35)\n addAlert(AlertType.SUCCESS, \"User\", \"This is an user success alert\", 36)\n }\n\n const clearFileAlerts = () => {\n removeAlertBySource(\"File\")\n }\n\n const clearDatabaseAlerts = () => {\n removeAlertBySource(\"Database\")\n }\n\n const clearApiAlerts = () => {\n removeAlertBySource(\"API\")\n }\n\n const clearUserAlerts = () => {\n removeAlertBySource(\"User\")\n }\n\n const addTimedAlerts = () => {\n addAlert(\n AlertType.SUCCESS,\n \"Timer\",\n \"This Success Alert will self-destruct in 20 seconds\",\n 40,\n 20,\n )\n addAlert(\n AlertType.WARNING,\n \"Timer\",\n \"This Warning Alert will self-destruct in 15 seconds\",\n 39,\n 15,\n )\n addAlert(\n AlertType.ERROR,\n \"Timer\",\n \"This Error Alert will self-destruct in 10 seconds\",\n 38,\n 10,\n )\n addAlert(\n AlertType.INFO,\n \"Timer\",\n \"This Info Alert will self-destruct in 5 seconds\",\n 37,\n 5,\n )\n }\n\n const clearDontShowAgainState = () => {\n clearDontShowAgainList()\n }\n\n const addDontShowAgainAlert = () => {\n addAlert(\n AlertType.INFO,\n \"Alert One\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 41,\n 0,\n true,\n )\n addAlert(\n AlertType.ERROR,\n \"Alert Two\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 42,\n 0,\n true,\n )\n addAlert(\n AlertType.WARNING,\n \"Alert Three\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 43,\n 0,\n true,\n )\n addAlert(\n AlertType.SUCCESS,\n \"Alert Four\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 44,\n 0,\n true,\n )\n addAlert(\n AlertType.INFO,\n \"Alert Five\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 45,\n 0,\n true,\n )\n addAlert(\n AlertType.ERROR,\n \"Alert Six\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 46,\n 0,\n true,\n )\n addAlert(\n AlertType.WARNING,\n \"Alert Seven\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 47,\n 0,\n true,\n )\n addAlert(\n AlertType.SUCCESS,\n \"Alert Eight\",\n \"Click the checkbox to prevent alert from popping once closed\",\n 48,\n 0,\n true,\n )\n }\n\n const addLengthErrorAlert = () => {\n const length = 5000\n const randomString = Array.from({ length }, () =>\n String.fromCharCode(Math.floor(Math.random() * (126 - 32 + 1)) + 32),\n ).join(\"\")\n\n addAlert(AlertType.ERROR, \"LengthError\", randomString, 49, 0, true)\n }\n\n return (\n \n \n \n \n Add Info Alert\n \n \n \n \n {\" 3\"}\n \n \n \n \n Add Error Alert\n \n \n \n \n {\" 3\"}\n \n \n \n \n Add Warning Alert\n \n \n \n \n {\" 3\"}\n \n \n \n \n Add Success Alert\n \n \n \n \n {\" 3\"}\n \n \n \n \n \n Add One of Each Alert\n \n \n \n \n \n \n {\" 3\"}\n \n \n \n \n \n \n Clear All Alerts\n \n \n \n \n \n \n \n Add Alerts w/ 4 sources\n \n \n \n \n \n \n \n \n Add Timed Alerts\n \n \n \n \n Add Length Error Alert\n \n \n \n \n \n \n \n \n Clear File Alerts\n \n \n \n Clear Database Alerts\n \n \n \n \n \n Clear API Alerts\n \n \n \n Clear User Alerts\n \n \n \n \n Clear All Alerts\n \n \n \n \n \n \n \n Add Dont Show Again Alerts\n \n \n \n \n \n \n \n Clear Don{\"'\"}t Show Again State\n \n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport { Box, Tabs, TabList, TabPanels, Tab, TabPanel } from \"@chakra-ui/react\"\nimport DevTable from \"../views/DevTable\"\nimport DevAlert from \"../components/DevAlert\"\nexport default function DevTest() {\n return (\n \n {/* TODO: develop a tap component that auto handles different routes (if possible idk if it is) */}\n \n \n Alerts\n Tables\n Modals\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport DevTest from \"../components/DevTest\"\n// Semi-permanent view for testing features and CSS changes\nexport default function DevTestView() {\n return \n}\n","import React from \"react\"\nimport { Form } from \"react-router-dom\"\nimport { Api } from \"../lib/api\"\n\nimport { Input, Button, VStack, HStack, Text, Image } from \"@chakra-ui/react\"\n\nimport Logo from \"../images/logoverticallight-1.png\"\n\nimport \"../components/Login.css\"\nimport GradientBox from \"./GradientBox\"\n\nexport default function ForgotPassword({ setLinkSent, setToEmail }) {\n const api = new Api()\n\n const handlePasswordReset = (event) => {\n event.preventDefault()\n const email = event.target.email.value\n console.log(\"Resetting password for\", email)\n const resetPassword = async () => {\n console.log(\"Sending password reset request\")\n const resp = await api.accountsSendPasswordResetLink(email)\n return resp\n }\n setToEmail(email)\n const ok = Boolean(resetPassword())\n setLinkSent(ok)\n }\n\n return (\n \n \"Blind\n \n
\n Email\n \n \n \n \n \n \n \n
\n )\n}\n","import React from \"react\"\nimport ForgotPassword from \"@/components/ForgotPassword\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport Message from \"@/components/Message\"\n\nimport { Alert, Text } from \"@chakra-ui/react\"\n\nexport default function ForgotPasswordView() {\n const [linkSent, setLinkSent] = React.useState(false)\n const [toEmail, setToEmail] = React.useState(\"\")\n\n return (\n \n \n \n Forgot your Blind Insight password?\n \n Enter your email and we will send you a link.\n \n {linkSent && (\n \n \n Password reset link sent to {toEmail}\n \n \n Please check your email and click the link!\n \n \n )}\n \n \n )\n}\n","import React from \"react\"\nimport { UserLogout } from \"../lib/user\"\nimport { useNavigate } from \"react-router-dom\"\n\nconst LogoutView = () => {\n const navigate = useNavigate()\n React.useEffect(() => {\n UserLogout()\n navigate(\"/login\")\n }, [])\n\n return <>\n}\n\nexport default LogoutView\n","import React from \"react\"\nimport { Form, useNavigate } from \"react-router-dom\"\nimport { Api } from \"../lib/api\"\nimport { unrollError, createStripeCustomer } from \"../lib/util\"\n\nimport {\n Alert,\n Button,\n FormControl,\n Heading,\n Image,\n Input,\n Text,\n VStack,\n} from \"@chakra-ui/react\"\n\nimport Logo from \"../images/horizontal-light.svg\"\nimport { CurrentOrgId } from \"../lib/store\"\nimport GradientBox from \"./GradientBox\"\n\n// This is the URL to redirect to after the organization is created.\n// Previously this redirected to the Intercom tour but now we're just going to\n// redirect to the choose plan page, the pricing table will redirect to the Intercom tour.\n// const POST_ACTIVATION_REDIRECT_URL = -1\nconst POST_ACTIVATION_REDIRECT_URL = \"/datasets?product_tour_id=528227\"\n\nexport default function OrganizationCreate() {\n const [error, setError] = React.useState(null)\n const navigate = useNavigate()\n const api = new Api()\n const currentOrgId = CurrentOrgId.getValue()\n\n React.useEffect(() => {\n // If the user already has an organization, redirect them to the main application\n // This prevents users from creating multiple organizations and handles direct\n // navigation to this page when an organization already exists\n if (currentOrgId) {\n console.log(\n \"User already has an organization, redirecting to\",\n POST_ACTIVATION_REDIRECT_URL,\n )\n navigate(POST_ACTIVATION_REDIRECT_URL)\n }\n }, [currentOrgId])\n\n async function handleSubmit(e) {\n e.preventDefault()\n try {\n // Create the organization; get the response\n const org = await api.organizationsCreate(e.target.name.value)\n const orgs = [org]\n api.setOrFindOrganization(orgs)\n // Create a Stripe customer for the user without waiting for the response.\n createStripeCustomer()\n // navigate(\"/choose-plan\")\n navigate(POST_ACTIVATION_REDIRECT_URL)\n } catch (e) {\n console.log(\"Error creating organization\", e)\n setError(await unrollError(e))\n }\n }\n\n return (\n \n \"Blind\n \n
\n Create an Organization\n {error && {error}}\n \n \n \n A human-readable name for your organization.\n \n \n \n Create\n \n \n \n
\n
\n
\n
\n )\n}\n","import React from \"react\"\nimport OrganizationCreate from \"@/components/OrganizationCreate\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport { Text } from \"@chakra-ui/react\"\nimport Message from \"@/components/Message\"\n\nexport default function OrganizationCreateView() {\n return (\n \n \n \n \n You{\"'\"}ll need to create an organization to continue. Organizations\n are used to manage your data and users in Blind Insight.\n \n \n \n )\n}\n","import React from \"react\"\n\nexport default function PageNotFound() {\n return (\n \n
\n
\n
\n

404 - Not Found

\n

Oops! The page you are looking for does not exist.

\n
\n
\n
\n
\n
\n
\n \n )\n}\n","import React from \"react\"\nimport PageNotFound from \"@/components/PageNotFound\"\n\nexport default function PageNotFoundView() {\n return \n}\n","import React from \"react\"\nimport { Form } from \"react-router-dom\"\nimport { useRouteLoaderData } from \"react-router-dom\"\nimport { onChange } from \"../lib/util\"\nimport {\n Alert,\n Box,\n Button,\n Heading,\n Input,\n InputGroup,\n InputLeftAddon,\n Modal,\n ModalContent,\n ModalCloseButton,\n ModalHeader,\n ModalOverlay,\n ModalFooter,\n} from \"@chakra-ui/react\"\nimport IconEdit from \"@/icons/IconEdit\"\nimport { Api } from \"@/lib/api\"\n\nexport default function ProfileView() {\n const api = new Api()\n const user = useRouteLoaderData(\"auth\")\n let [editMode, setEditMode] = React.useState(\"\")\n const [error, setError] = React.useState(null)\n const [passwordError, setPasswordError] = React.useState(null)\n const [success, setSuccess] = React.useState(null)\n const [open, setOpen] = React.useState(false)\n\n const handleOpen = () => {\n setOpen(true)\n }\n\n const handleClose = () => {\n setOpen(false)\n }\n\n const handleChangePassword = async (event) => {\n event.preventDefault()\n const { oldPassword, password, passwordConfirm } = event.target.elements\n\n if (password.value !== passwordConfirm.value) {\n setPasswordError(\"Passwords do not match\")\n return\n }\n\n let success\n try {\n success = await api.accountsChangePassword(\n oldPassword.value,\n password.value,\n passwordConfirm.value,\n )\n } catch (e) {\n success = false\n }\n\n if (!success) {\n setError(\"Failed to update password\")\n setSuccess(null)\n } else {\n console.log(\"Updated password successfully\")\n setError(null)\n setSuccess(\"Password updated successfully.\")\n }\n\n // After updating the password, close the modal and reset the edit mode\n handleClose()\n setEditMode(\"\")\n }\n\n if (!user) return null\n return (\n \n Login & Security\n {error && {error}}\n {success && {success}}\n \n Email address: {user.email}\n {\n handleOpen()\n setEditMode(\"email\")\n }}\n />\n \n \n Password: ********\n {\n handleOpen()\n setEditMode(\"password\")\n }}\n />\n \n Personal info\n \n Full name: {user.first_name} {user.last_name}\n {\n handleOpen()\n setEditMode(\"name\")\n }}\n />\n \n \n \n {(editMode === \"name\" && (\n \n Update Name\n \n
\n \n First name: \n \n \n {/* Update Name isn't implemented yet */}\n \n {\n handleClose()\n setEditMode(\"\")\n }}\n >\n Update Name\n \n \n
\n
\n )) ||\n (editMode === \"email\" && (\n \n Update Email\n \n
\n \n Email Address: \n \n \n \n {\n handleClose()\n setEditMode(\"\")\n }}\n >\n Update Email\n \n \n
\n
\n )) ||\n (editMode === \"password\" && (\n \n Update Password\n {passwordError && {passwordError}}\n \n
\n \n Old password: \n \n \n \n New password: \n \n \n \n New password (confirm): \n \n \n \n \n \n
\n
\n ))}\n
\n
\n )\n}\n","import React from \"react\"\nimport { useRouteLoaderData } from \"react-router-dom\"\nimport Profile from \"@/components/Profile\"\n\nexport default function ProfileView() {\n const user = useRouteLoaderData(\"auth\")\n\n if (!user) return null\n return (\n <>\n \n \n )\n}\n","import React from \"react\"\nimport Logo from \"../images/horizontal-light.svg\"\n\nimport { Image, SimpleGrid, Box } from \"@chakra-ui/react\"\n\nexport default function RegisterConfirm() {\n return (\n \n \n \"Blind\n \n \n )\n}\n","import React from \"react\"\n\nimport { Text } from \"@chakra-ui/react\"\n\nimport RegisterConfirm from \"@/components/RegisterConfirm\"\nimport Message from \"@/components/Message\"\nimport AccountLayout from \"@/components/AccountLayout\"\n\nexport default function RegisterConfirmView() {\n return (\n \n \n \n Thank you for signing up for Blind Insight!\n \n Please check your email for an activation link!\n \n \n \n )\n}\n","import React from \"react\"\n\nexport default function TOU() {\n return (\n <>\n
\n SOVEREIGN SYSTEMS, INC.\n
\n TERMS OF USE\n
\n Last Updated: April 16, 2024\n
\n
\n These Terms of Use (these ‘Terms’) are a legally binding\n agreement between the party accepting these Terms as set forth in this\n paragraph (‘you’) and Sovereign Systems, Inc.\n (‘SSI’) and applies to your access and use of SSI’s Blind\n Insight® proprietary software (including application programming\n interfaces) and related tools and services (collectively, the\n ‘Services’). PLEASE READ THESE TERMS CAREFULLY. WHEN YOU\n CLICK ‘SUBMIT’ CHECK A BOX, OR OTHERWISE ACCESS OR USE THE\n SERVICES, YOU ARE AGREEING TO BE BOUND BY THESE TERMS. IF YOU DO NOT\n AGREE WITH ANY OF THESE TERMS, YOU MAY NOT ACCESS OR USE THE SERVICES.\n BY AGREEING TO THESE TERMS, EXCEPT FOR (A) CERTAIN TYPES OF DISPUTES\n DESCRIBED IN SECTION 11, (B) WHERE YOU EXERCISE YOUR RIGHT TO OPT OUT OF\n ARBITRATION AS DESCRIBED IN SECTION 11, OR (C) TO THE EXTENT PROHIBITED\n BY LAW, DISPUTES BETWEEN YOU AND SSI WILL BE RESOLVED SOLELY ON AN\n INDIVIDUAL BASIS AND NOT AS A CLASS ARBITRATION, CLASS ACTION, ANY OTHER\n KIND OF REPRESENTATIVE PROCEEDING, OR BY JURY TRIAL. SSI may make\n changes to these Terms. If SSI makes changes, SSI may provide you with\n notice of such changes, such as by sending an email, providing a notice\n through the Services, or otherwise. Unless SSI says otherwise in its\n notice, the amended Terms will be effective immediately, and your\n continued use of the Services after SSI provides such notice will\n confirm your acceptance of the changes. If you do not agree to the\n amended Terms, you must immediately stop using the Services. Any changes\n to these Terms will not apply to any dispute between you and SSI arising\n prior to the date on which SSI posted the updated Terms incorporating\n such changes or otherwise notified you of such changes.\n
\n
\n 1. THE SERVICES\n
\n

\n 1.1 Right to Use. Subject to your compliance with the terms and\n conditions of these Terms, SSI grants you a limited, non-exclusive,\n revocable right to use the Services solely for your internal business\n purposes on a device that you own or control. You may not resell,\n transfer, assign, or sublicense your rights under these Terms to any\n third party or use the Services to provide services for the benefit of\n any third party.\n

\n
\n

\n 1.2 Third-Party Providers. You acknowledge that SSI may use the\n services of third-party contractors, including third-party data\n centers, cloud providers, and software implementation consultants, in\n providing the Services (collectively, "Service Providers")\n and that the Services (including Your Encrypted Data, as defined\n below) may be hosted and processed on a network owned and maintained\n by a Service Provider. The performance of Service Providers is outside\n SSI's control. SSI WILL NOT BE LIABLE FOR, AND SSI EXPRESSLY\n DISCLAIMS, ANY LIABILITY FOR LOSSES, COSTS, OR EXPENSES CAUSED BY ANY\n SERVICE PROVIDERS.\n

\n
\n

\n 1.3 Modifications. Notwithstanding anything to the contrary in these\n Terms, (a) SSI may conduct maintenance on the Services from time to\n time without prior notice to you and (b) SSI may modify features of\n the Services from time to time at SSI's sole discretion.\n

\n
\n
\n 2. ELIGIBILITY AND ACCOUNTS\n
\n

\n 2.1 Authorization. If you use the Services on behalf of another person\n or entity, (a) all references to "you" throughout these\n Terms (other than in this Section 2.1(a), (b) and (c)) will include\n that person or entity, (b) you represent that you are authorized to\n accept these Terms on that person’s or entity's behalf, and (c)\n in the event you or that person or entity violates these Terms, that\n person or entity also agrees to be responsible to us.\n

\n
\n

\n 2.2 Jurisdiction. You may only use the Services in jurisdictions\n authorized by SSI. You represent, warrant and covenant that you are\n not (a) located in, or a resident or a national of, any country\n subject to a U.S. government embargo or other restriction, or that has\n been designated by the U.S. government as a "terrorist\n supporting" country or (b) on any of the U.S. government lists of\n restricted end users.\n

\n
\n

\n 2.3 Use and Sharing. The Services are provided to you only for your\n internal business use and not for the benefit or use of any third\n party. SSI may enable you to designate authorized individuals (either\n "Data Owners" with read, write, encrypt, and decrypt\n capabilities or "Data Requesters" with access to encrypted\n search and encrypted results only) ("Authorized Users") to\n use the Services, and if so, only Authorized Users may use the\n Services.\n

\n
\n

\n 2.4 Access Credentials. You must create an account to use our\n Services. You are responsible for access to your account and use of\n the Services by any Authorized User, as well as for your account\n access and use of the Services by any third party through your access\n credentials, whether authorized or not. You are responsible for\n implementing security measures to safeguard your access credentials\n and to prevent use and disclosure by unauthorized third parties. You\n will promptly notify SSI in writing of any unauthorized use of the\n Services or access credentials that comes to your attention. Neither\n SSI nor any of its Service Providers has any obligation to inquire\n about the authority of anyone using your personally identifiable\n information that can be used to identify your account. SSI WILL NOT BE\n LIABLE FOR, AND SSI EXPRESSLY DISCLAIMS, ANY LIABILITY FOR LOSSES,\n COSTS, OR EXPENSES CAUSED BY ANY UNAUTHORIZED USE OF THE SERVICES\n THROUGH YOUR ACCOUNT.\n

\n
\n
\n 3. YOUR OBLIGATIONS\n
\n

\n 3.1 Restrictions. You agree that the Services contain trade secrets\n and other valuable proprietary information belonging to SSI. You will\n not, and will ensure that Authorized Users do not: (a) alter, copy,\n modify, translate, or make derivative works of, or permit the\n alteration, copying, modification, translation, or making derivative\n works of, the Services or any component thereof; (b) attempt to derive\n the source code or object code for the Services, including by reverse\n engineering, decompiling, disassembling, or similar means; (c) seek to\n acquire any ownership interest in or to the Services; (d) license,\n offer, sell, transfer, or lease the Services or attempt any of the\n foregoing; (e) remove, alter, or obfuscate any copyright, trademark,\n or other proprietary rights notices included with the Services; (f)\n access or use the Services in order to design, develop, or build a\n similar product or competitive product; (g) enable access to the\n Services by anyone not authorized to use the Services; (h) develop any\n scripts or software applications that interact with or integrate with\n the Services unless first authorized in writing by SSI; or (i)\n circumvent or modify any security technologies designed to prevent\n unauthorized access to the Services. You will not frame or utilize\n framing techniques to enclose any trademark, logo, or other\n proprietary information (including images, text, page layout, or form)\n of SSI without SSI's express written consent. You will not use\n any meta-tags or any other "hidden text" utilizing any of\n SSI's names, trademarks, or service marks without the express\n written consent of SSI.\n

\n
\n

\n 3.2 Acceptable Use. You will not use the Services, and will ensure\n that Authorized Users do not use the Services, to: (a) infringe on,\n violate, dilute, or misappropriate the intellectual property rights,\n rights of publicity, privacy rights, or other rights of any person;\n (b) engage in any fraudulent, unlawful, or abusive activities; (c)\n store, send, or post defamatory, inflammatory, trade libelous,\n threatening, abusive, hateful, harassing, obscene, pornographic, or\n indecent content or data; (d) interfere with or attempt to interfere\n with or disrupt the integrity, security, functionality, or proper\n working of the Services or SSI provision of services to other\n customers; (e) attempt to discover, access, read, alter, destroy, or\n damage any programs, data, or other information stored on or in\n connection with the Services; or (f) upload or transmit any content\n that constitutes unsolicited or unauthorized advertising promotional\n materials, commercial activities, or any other form of solicitation.\n

\n
\n
\n 4. YOUR ENCRYPTED DATA\n
\n

\n 4.1 Ownership; Encryption. You own and retain all right, title, and\n interest in and to all data and/or other information transmitted,\n uploaded, or stored in association with your use of the Services\n ("Your Encrypted Data"), including all intellectual property\n rights therein. You acknowledge and agree that (a) you (not SSI) have\n control over Your Encrypted Data stored by operation of the Services\n and (b) you will fully encrypt Your Encrypted Data (whether in\n transit, at rest, or otherwise) using the provided tools and services\n in your own computing environment (i) before transmitting Your\n Encrypted Data over the Services and (ii) at all times while storing\n Your Encrypted Data in association with the Services.\n

\n
\n

\n 4.2 Use of Your Encrypted Data. SSI and its affiliates may use Your\n Encrypted Data only as necessary to provide the Services, respond to\n support requests that you may initiate or otherwise communicate with\n you, and/or as otherwise agreed to between the parties in writing.\n

\n
\n

\n 4.3 Rights in Your Encrypted Data. You represent and warrant to SSI\n that you have the rights, licenses, and permissions necessary to\n transmit Your Encrypted Data over the Services. You will comply with\n all applicable local, state, national, and foreign laws in connection\n with your use of the Services, including those laws related to data\n privacy and the transmission of personal information. You will be\n solely responsible for ensuring that any processing of Your Encrypted\n Data by SSI and/or you via the Services does not violate any\n applicable laws. You acknowledge that SSI exercises no control over\n the content of Your Encrypted Data. You will not upload, post,\n reproduce, or distribute any information, software, or other material\n protected by copyright, privacy rights, or any other intellectual\n property rights without first obtaining the permission of the owner of\n such rights.\n

\n
\n

\n 4.4 Compliance with Laws. You will comply with all applicable local,\n state, national, and foreign laws in connection with your use of the\n Services. You acknowledge that all system hardware, system software,\n proprietary data, know-how, or other data or information (herein\n referred to as "Systems") obtained from SSI may be subject\n to the import and/or export control laws of one or more countries and,\n accordingly, their import, export, re-export, and transfer may be\n restricted or prohibited. You agree not to, directly or indirectly,\n import, export, re-export, transfer, or cause to be imported,\n exported, re exported, or transferred, any such Systems to any\n destination, entity, or persons prohibited or restricted under any law\n or regulation, unless you have first obtained prior written consent of\n SSI and any applicable governmental entity, either in writing or as\n provided by applicable regulation, as the same may be amended from\n time to time.\n

\n
\n
\n 5. INTELLECTUAL PROPERTY RIGHTS\n
\n

\n 5.1 Ownership by SSI. Subject to the use rights granted under these\n Terms, as between the parties, SSI owns and retains all right, title,\n and interest in and to the Services and any improvements,\n modifications, enhancements, or derivatives of the foregoing, all work\n product (including any software) and deliverables created, and all\n intellectual property rights relating to any of the foregoing. These\n Terms do not convey to you any rights of ownership in or related to\n the Services, work product, or deliverables. Except for the rights\n expressly granted in these Terms, no other rights are granted to you\n in, to, or under SSI's intellectual property rights, whether by\n implication, estoppel, waiver, or otherwise.\n

\n
\n

\n 5.2 Metadata. Notwithstanding anything to the contrary in these Terms,\n you agree that SSI may generate, collect, store, use, transfer, and/or\n disclose to third parties metadata gathered, prepared, computed,\n originated, or stored by SSI resulting from the use or provision of\n the Services, including (a) size of Your Encrypted Data stored, (b)\n throughput size and volume of Your Encrypted Data, and (c) other\n metadata derived from or based on Your Encrypted Data\n ("Metadata") (a) to perform data analytics, (b) to monitor,\n improve, and support the Services, (c) to design, develop, and offer\n SSI products and services, and/or (d) for any other lawful purpose.\n SSI owns and retains all rights to Metadata, and no rights are granted\n to you, whether by implication, estoppel, waiver, or otherwise in or\n to any Metadata. SSI has no obligation to provide or make any Metadata\n available to you.\n

\n
\n
\n 6. TERM AND TERMINATION; SUBSCRIPTIONS\n
\n

\n 6.1 Term. The term of these Terms commences on your acceptance of\n these Terms and, unless either party terminates your access to the\n Services as set forth in this Section 6, continues until your access\n to the Services terminates or expires (the "Term").\n

\n
\n

\n 6.2 Recurring Subscriptions.\n

    \n
  • \n Your use of the Services may require enrollment in a payment plan\n involving automatic renewal (a "Recurring\n Subscription"). If you enroll in a Recurring Subscription,\n you authorize us to maintain your account information and charge\n that account automatically upon the renewal with no further action\n required by you. The length of your Recurring Subscription will be\n provided when you make your purchase. Your Recurring Subscription\n will automatically renew unless you cancel it. If we are unable to\n charge your account as authorized by you when you enrolled in a\n Recurring Subscription, we may in our sole discretion (a) bill you\n for the Services and suspend your access to the Services until\n payment is received or (b) seek to update your account information\n through third-party sources (i.e., your bank or a payment\n processor) to continue charging your account as authorized by you.\n
  • \n
  • \n You may cancel your subscription through your account. You may\n cancel a Recurring Subscription at any time, but if you cancel\n your Recurring Subscription before the end of the current\n subscription period, we will not refund any subscription fees\n already paid to us. Following any cancellation, however, you will\n continue to have access to the applicable Services through the end\n of your current subscription period.\n
  • \n
  • \n We may change the prices charged for Recurring Subscriptions at\n any time by posting updated pricing through the Services;\n provided, however, that the prices for your Recurring Subscription\n will remain in force for the duration of the subscription period\n for which you have paid. After that period ends, your use of the\n applicable Services will be charged at the then-current\n subscription price. If you do not agree to these price changes,\n you must cancel your Recurring Subscription. If you do not cancel,\n your Recurring Subscription will automatically renew at the\n then-current price at the time of renewal and for the same\n duration as the initial subscription term, and we will charge your\n on-file payment card or method on the first day of the renewal of\n the subscription term.\n
  • \n
\n

\n
\n

\n 6.3 Termination. You may terminate your access to the Services as set\n forth above. SSI may terminate your access to the Services by\n notifying you in writing (with email notice being sufficient).\n

\n
\n

\n 6.4 Suspension. SSI may suspend or limit access to the Services at any\n time: (a) if SSI determines or reasonably suspects that you are using\n the Services in violation of applicable law or in connection with any\n fraudulent activity; (b) if SSI reasonably determines that your use of\n the Services adversely affects or interferes with the normal operation\n of the Services or any service to others; (c) if SSI is prohibited by\n an order of a court or other governmental agency from providing the\n Services; (d) if SSI reasonably believes there exists a security\n incident that threatens the security of the Services, Your Encrypted\n Data, or any data of others; or (e) for any other reason in SSI's\n reasonable discretion. SSI WILL HAVE NO LIABILITY FOR ANY DAMAGES,\n LIABILITIES, OR LOSSES AS A RESULT OF ANY SUSPENSION OR LIMITATION OF\n YOUR USE OF THE SERVICES IN ACCORDANCE WITH THIS PARAGRAPH.\n

\n
\n

\n 6.5 Effect of Expiration or Termination. Upon any expiration or\n termination of these Terms, all rights granted to you under these\n Terms and SSI's obligations will immediately cease, and you will\n stop accessing or using the Services, except the following provisions\n will survive: Sections 3.1 (Restrictions), 4.1 (Ownership), 4.2 (Use\n of Your Encrypted Data), 5 (Intellectual Property Rights), 6.5 (Effect\n of Expiration or Termination), 7 (Confidentiality), 8\n (Indemnification), 9 (Disclaimers), 10 (Limitation of Liability), 11\n (Arbitration), and 12 (General Provisions).\n

\n
\n
\n 7. CONFIDENTIALITY\n
\n

\n 7.1 Protection. You may be exposed to or receive certain information\n that is not generally known to the public and is marked as\n confidential or proprietary, or which, under the circumstances ought\n to be treated as confidential ("Confidential Information").\n You agree that if you are exposed to or receive Confidential\n Information, you: (a) will protect Confidential Information from\n unauthorized disclosure using at least a commercially reasonable\n degree of care; (b) will not disclose Confidential Information to any\n third party; and (c) will not use the Confidential Information for any\n purpose.\n

\n
\n

\n 7.2 Return. After any expiration or termination of these Terms, or at\n any time upon request from SSI, you will immediately return or destroy\n (at SSI's sole direction) all materials or media containing any\n Confidential Information, including all copies thereof, and will\n certify in writing to SSI that all such Confidential Information has\n been returned or destroyed.\n

\n
\n

\n 7.3 Injunctive Relief. You expressly acknowledge and agree that no\n adequate remedy exists at law for an actual or threatened breach of\n this Section 7 and that in such event SSI will be entitled to seek and\n obtain immediate injunctive and other equitable relief, without\n waiving any other rights or remedies available to it.\n

\n
\n

\n 7.4 Feedback. You may from time to time voluntarily provide\n suggestions, enhancements, recommendations, requests for features or\n functionality, comments, or other feedback to SSI regarding SSI and/or\n the Services ("Feedback"). Feedback, even if designated as\n "confidential" or "proprietary" by you, will not\n create any confidentiality or other obligation for SSI, and you hereby\n assign to SSI all rights (including intellectual property rights),\n title and interest in and to such Feedback. All Feedback is\n Confidential Information.\n

\n
\n
\n 8. INDEMNIFICATION\n
\n

\n You will indemnify and hold SSI and its affiliates, and its and their\n officers, employees, and agents harmless against any damages,\n liabilities, losses, costs, or expenses (including reasonable\n attorneys' fees) arising from or in connection with (a) your\n access to or use of the Services, (b) Your Encrypted Data, (c) your\n breach or alleged breach of these Terms, and/or (d) your infringement,\n misappropriation, or violation of any intellectual property rights,\n rights of publicity, privacy rights, or other rights of a third party\n (each, an "Indemnifiable Claim"). Additionally, you will, at\n SSI's sole election, defend SSI from any Indemnifiable Claims. If\n SSI directs you to defend an Indemnifiable Claim, then (i) SSI has the\n right to approve the counsel you select to defend the Indemnifiable\n Claim and (ii) SSI may also have its own counsel participate in the\n defense and settlement of the Indemnifiable Claim at your expense. SSI\n may also exclusively retain control of the defense of an Indemnifiable\n Claim. You will not settle an Indemnifiable Claim without SSI's\n written consent.\n

\n
\n
\n 9. DISCLAIMERS\n
\n

\n THE SERVICES ARE PROVIDED "AS IS," AND TO THE FULLEST EXTENT\n PERMITTED BY APPLICABLE LAW, SSI HEREBY EXPRESSLY DISCLAIMS ALL\n REPRESENTATIONS AND WARRANTIES WITH RESPECT TO THE SERVICES AND\n SERVICE PROVIDERS, WHETHER STATUTORY, EXPRESS, IMPLIED, OR THROUGH A\n COURSE OF DEALING, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS\n FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. SSI DOES NOT\n WARRANT, AND SPECIFICALLY DISCLAIMS, THAT THE SERVICES WILL OPERATE\n UNINTERRUPTED, BE ERROR-FREE, OR THAT ALL DEFECTS WILL BE CORRECTED.\n SSI MAKES NO WARRANTY CONCERNING TIMELINESS, ACCURACY, PERFORMANCE,\n QUALITY, RELIABILITY, OR COMPLETENESS OF ANY INFORMATION OR RESULTS\n OBTAINED OR DERIVED THROUGH THE USE OF THE SERVICES. SSI DISCLAIMS ANY\n LIABILITY FOR UNAUTHORIZED ACCESS, USE, OR RELEASE OF ANY OF YOUR\n ENCRYPTED DATA.\n

\n
\n
\n 10. LIMITATION OF LIABILITY\n
\n

\n TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, UNDER NO\n CIRCUMSTANCES WILL (A) SSI OR ANY OF ITS SERVICE PROVIDERS BE LIABLE\n TO YOU OR ANY THIRD PARTY FOR PERSONAL INJURY, PROPERTY DAMAGE, ERROR\n OR INTERRUPTION OF USE, LOSS, INACCURACY, OR CORRUPTION OF DATA,\n COVER, LOST PROFITS OR REVENUE, LOSS OF BUSINESS, OR ANY\n CONSEQUENTIAL, INDIRECT, SPECIAL, EXEMPLARY, PUNITIVE, OR INCIDENTAL\n DAMAGES, REGARDLESS OF THE FORM IN WHICH THE ACTION IS BROUGHT\n (INCLUDING NEGLIGENCE), ARISING OUT OF OR RELATING TO THE RELATIONSHIP\n BETWEEN THE PARTIES (INCLUDING THESE TERMS), INCLUDING THE USE OR\n INABILITY TO USE THE SERVICES, WHETHER OR NOT SSI HAS BEEN ADVISED OF\n THE POSSIBILITY OF ANY SUCH DAMAGES, OR (B) SSI'S TOTAL LIABILITY\n UNDER THESE TERMS, REGARDLESS OF LEGAL THEORY (INCLUDING NEGLIGENCE),\n EXCEED, IN THE AGGREGATE FOR ALL CLAIMS, $50. MULTIPLE CLAIMS WILL NOT\n EXPAND THIS LIMIT. THE PARTIES ACKNOWLEDGE THAT THIS SECTION 10\n REFLECTS THE AGREED UPON ALLOCATION OF RISK BETWEEN THE PARTIES AND\n THAT NEITHER PARTY WOULD ENTER INTO THESE TERMS WITHOUT THESE\n LIMITATIONS ON ITS LIABILITY. THIS LIMITATION ON LIABILITY WILL APPLY\n DESPITE THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY SET\n FORTH IN THESE TERMS.\n

\n
\n
\n 11. ARBITRATION\n
\n

\n PLEASE READ THIS SECTION CAREFULLY BECAUSE IT REQUIRES YOU AND SSI TO\n ARBITRATE CERTAIN DISPUTES AND CLAIMS AND LIMITS THE MANNER IN WHICH\n THE PARTIES CAN SEEK RELIEF FROM EACH OTHER. ARBITRATION PRECLUDES YOU\n AND SSI FROM SUING IN COURT OR HAVING A JURY TRIAL. YOU AND SSI AGREE\n THAT ARBITRATION WILL BE SOLELY ON AN INDIVIDUAL BASIS AND NOT AS A\n CLASS ARBITRATION, CLASS ACTION, OR ANY OTHER KIND OF REPRESENTATIVE\n PROCEEDING. SSI AND YOU ARE EACH WAIVING THE RIGHT TO TRIAL BY A JURY.\n FOLLOW THE INSTRUCTIONS BELOW IF YOU WISH TO OPT OUT OF THE\n REQUIREMENT OF ARBITRATION ON AN INDIVIDUAL BASIS. NO CLASS OR\n REPRESENTATIVE ACTIONS OR ARBITRATIONS ARE ALLOWED UNDER THIS\n ARBITRATION AGREEMENT.\n

\n
\n

\n 11.1 Informal Dispute Resolution Prior to Arbitration. For any dispute\n or claim that you have against SSI, that SSI has against you, or that\n you have or SSI has arising from or relating to these Terms, the\n Services, or any aspect of the relationship between you and SSI as\n relates to these Terms, the Services, including any privacy or data\n security claims (collectively, "Claims," and each a\n "Claim"), you and SSI agree to attempt to first resolve the\n Claim informally via the following process:\n

\n
    \n
  • \n If you assert a Claim against SSI, you will first contact SSI by\n sending a written notice of your Claim ("Claimant\n Notice’) to SSI by certified mail addressed to Sovereign\n Systems, Inc., 1902 Lincoln Blvd., Ste. 711, Santa Monica, CA 90405\n or by email to legal@blindinsight.com. The Claimant Notice must (a)\n include your name, residence address, email address, and telephone\n number, (b) describe the nature and basis of the Claim, and (c) set\n forth the specific relief sought.\n
  • \n
  • \n If SSI asserts a Claim against you, SSI will first contact you by\n sending a written notice of SSI's Claim ("SSI\n Notice"), and each of a Claimant Notice and SSI Notice, a\n "Notice") to you via email to the primary email address\n associated with your account. The SSI Notice must (a) include the\n name of a SSI contact and the contact’s email address and telephone\n number, (b) describe the nature and basis of the Claim, and (c) set\n forth the specific relief sought.\n
  • \n
  • \n If you and SSI cannot reach an agreement to resolve the Claim within\n thirty (30) days after you or SSI receives such a Notice, then\n either party may submit the Claim to binding arbitration as set\n forth below. The statute of limitations and any filing fee deadlines\n shall be tolled for thirty (30) days from the date that either you\n or SSI first send the applicable Notice so that the parties can\n engage in this informal dispute-resolution process.\n
  • \n
\n

\n 11.2 Claims Subject to Binding Arbitration; Exceptions. Except for\n individual disputes that qualify for small claims court and any\n disputes exclusively related to the intellectual property or\n intellectual property rights of you or SSI, including any disputes in\n which you or SSI seek injunctive or other equitable relief for the\n alleged unlawful use of your or SSI's intellectual property or\n other infringement of your or SSI’s intellectual property rights\n ("IP Claims"), all Claims, whether based in contract, tort,\n statute, fraud, misrepresentation, or any other legal theory,\n including Claims that are not related to intellectual property or\n intellectual property rights but are jointly filed with IP Claims,\n that are not resolved in accordance with Section 11.1 will be resolved\n by a neutral arbitrator through final and binding arbitration instead\n of in a court by a judge or jury. Such Claims include, without\n limitation, disputes arising out of or relating to interpretation or\n application of this arbitration provision, including the\n enforceability, revocability, or validity of the arbitration provision\n or any portion of the arbitration provision. The arbitrator will have\n the authority to grant any remedy or relief that would otherwise be\n available in court.\n

\n
\n

\n 11.3 Federal Arbitration Act. These Terms affect interstate commerce,\n and the enforceability of this Section 11 will be substantively and\n procedurally governed by the Federal Arbitration Act, 9 U.S.C. § 1, et\n seq. (the "FAA"), to the extent permitted by law. As limited\n by the FAA, these Terms, and the AAA Rules (as defined below), the\n arbitrator will have exclusive authority to make all procedural and\n substantive decisions regarding any dispute and to grant any remedy\n that would otherwise be available in court, including the power to\n determine the question of arbitrability.\n

\n
\n

\n 11.4 Arbitration Procedure. All Claims must be submitted to the\n American Arbitration Association (the "AAA") and will be\n resolved through binding arbitration before one arbitrator. The AAA\n administers arbitration pursuant to the due process standards set\n forth by the AAA and rules set forth by the AAA. The then-current\n version of the AAA’s Commercial Arbitration Rules and Mediation\n Procedures, which are available on the AAA’s website (adr.org) (the\n "AAA Rules"), as amended by these Terms as follows, will\n apply to any arbitration between you and SSI:\n

\n
    \n
  • \n YOU AND SSI AGREE THAT ANY ARBITRATION UNDER THESE TERMS WILL TAKE\n PLACE ON AN INDIVIDUAL BASIS; CLASS ARBITRATIONS AND CLASS ACTIONS\n ARE NOT PERMITTED, AND YOU AND SSI ARE AGREEING TO GIVE UP THE\n ABILITY TO PARTICIPATE IN A CLASS ACTION. The arbitrator may conduct\n only an individual arbitration and, except as described below for\n the additional procedures to govern if twenty-five (25) or more\n similar or coordinated claims are asserted against SSI or you by the\n same or coordinated counsel, may not consolidate more than one\n individual’s claims, preside over any type of class or\n representative proceeding, or preside over any proceeding involving\n more than one individual.\n
  • \n
  • \n Any in-person appearances will be held in Los Angeles, California.\n
  • \n
  • \n You and SSI agree to cooperate to seek from the arbitrator\n protection for any confidential, proprietary, trade secret, or\n otherwise sensitive information, documents, testimony, and/or other\n materials that might be exchanged or the subject of discovery in the\n arbitration. You and SSI agree to seek such protection before any\n such information, documents, testimony, and/or materials are\n exchanged or otherwise become the subject of discovery in the\n arbitration.\n
  • \n
  • \n The arbitrator’s decision will follow these Terms and will be\n final and binding. The arbitrator will have authority to award\n temporary, interim or permanent injunctive relief or relief\n providing for specific performance of these Terms, but only to the\n extent necessary to provide relief warranted by the individual claim\n before the arbitrator. The award rendered by the arbitrator may be\n confirmed and enforced in any court having jurisdiction thereof.\n Notwithstanding any of the foregoing, nothing in these Terms will\n preclude you from bringing issues to the attention of federal, state\n or local agencies and, if the law allows, they can seek relief\n against SSI for you.\n
  • \n
  • \n The AAA Supplementary Rules for Multiple Case Filings and the AAA\n Multiple Consumer Case Filing Fee Schedule will apply if twenty-five\n (25) or more similar claims are asserted against SSI or against you\n by the same or coordinated counsel or are otherwise coordinated.\n
  • \n
      \n
    • \n In addition to the application of the AAA Supplementary Rules for\n Multiple Case Filings and the AAA Multiple Consumer Case Filing\n Fee Schedule, you and SSI understand and agree that when\n twenty-five (25) or more similar claims are asserted against SSI\n or you by the same or coordinated counsel or are otherwise\n coordinated resolution of your or SSI 's Claim might be\n delayed.\n
    • \n
    • \n For such coordinated actions, you and SSI also agree to the\n following coordinated bellwether process. Counsel for claimants\n and counsel for SSI shall each select ten (10) cases (per side) to\n proceed first in individual arbitration proceedings. The remaining\n cases shall be deemed filed for purposes of the statute of\n limitations but not for the purpose of assessing AAA fees. No AAA\n fees shall be assessed in connection with those cases until they\n are selected to proceed to individual arbitration proceedings as\n part of a bellwether process. If the parties are unable to resolve\n the remaining cases after the conclusion of the initial twenty\n (20) proceedings, each side shall select another ten (10) cases\n (per side) to proceed to individual arbitration proceedings as\n part of a second bellwether process.\n
    • \n
    • \n A single arbitrator shall preside over each case. Only one case\n may be assigned to each arbitrator as part of a bellwether process\n unless the parties agree otherwise.\n
    • \n
    • \n This bellwether process shall continue, consistent with the\n parameters identified above, until all the claims included in\n these coordinated filings, including your case, are adjudicated or\n otherwise resolved.\n
    • \n
    • \n The statute of limitations and any filing fee deadlines shall be\n tolled for claims subject to this bellwether process from the time\n the first cases are selected for a bellwether process until the\n time your or SSI's case is selected for a bellwether process,\n withdrawn, or otherwise resolved.\n
    • \n
    • \n A court shall have authority to enforce this paragraph and, if\n necessary, to enjoin the mass filing or prosecution of arbitration\n demands against SSI or you.\n
    • \n
    \n
\n

\n 11.5 One Year to Assert Claims. To the extent permitted by law, any\n Claim by you or SSI relating in any way to these Terms, the Services,\n or any aspect of the relationship between you and SSI as relates to\n these Terms or the Services, must be filed within one year after such\n Claim arises; otherwise, the Claim is permanently barred, which means\n that you and SSI will not have the right to assert the Claim.\n

\n
\n

\n 11.6 Opting Out of Arbitration. You have the right to opt out of\n binding arbitration within 30 days of the date you first accepted\n these Terms by providing SSI with notice of your decision to opt-out\n via email at legal@blindinsight.com or by certified mail addressed to\n Sovereign Systems, Inc., 1902 Lincoln Blvd., Ste. 711, Santa Monica,\n CA 90405. In order to be effective, the opt-out notice must include\n your full name, mailing address, and email address. The notice must\n also clearly indicate your intent to opt out of binding arbitration.\n By opting out of binding arbitration, you are agreeing to resolve\n disputes in accordance with Section 12.9.\n

\n
\n

\n 11.7 Rejection of Future Arbitration Changes. You may reject any\n change we make to Section 11 (except address changes) by personally\n signing and sending SSI a notice within 30 days of the change via\n email at legal@blindinsight.com or by certified mail addressed to\n Sovereign Systems, Inc., 1902 Lincoln Blvd., Ste. 711, Santa Monica,\n CA 90405. If you do, the most recent version of Section 11 before the\n change you rejected will apply.\n

\n
\n

\n 11.8 Severability. If any portion of this Section 11 is found to be\n unenforceable or unlawful for any reason, including but not limited to\n because it is found to be unconscionable: (a) the unenforceable or\n unlawful provision will be severed from these Terms; (b) severance of\n the unenforceable or unlawful provision will have no impact whatsoever\n on the remainder of this Section 11 or the parties’ ability to compel\n arbitration of any remaining claims on an individual basis pursuant to\n this Section 11; and (c) to the extent that any claims must therefore\n proceed on a class, collective, consolidated, or representative basis,\n such claims must be litigated in a civil court of competent\n jurisdiction and not in arbitration. The litigation of those claims\n will be stayed pending the outcome of any individual claims in\n arbitration. Further, if any part of this Section 11 is found to\n prohibit an individual claim seeking public injunctive relief, that\n provision will have no effect to the extent such relief is allowed to\n be sought out of arbitration, and the remainder of this Section 11\n will be enforceable.\n

\n
\n

\n 11.9 Disputes Outside the United States. Notwithstanding any terms to\n the contrary in these Terms, if you reside in any country outside of\n the United States, you may bring legal proceedings regarding these\n Terms either by following the arbitration procedure detailed above in\n this Section 11 or, if given the right by applicable law, by\n submitting the dispute to an arbitration administrator in the\n jurisdiction in which you reside. To the extent any proceeding is not\n subject to arbitration under applicable law, you may submit the\n dispute to the courts of the jurisdiction in which you reside.\n

\n
\n
\n 12. GENERAL PROVISIONS\n
\n

\n 12.1 Entire Agreement. These Terms constitute the entire understanding\n of the parties with respect to their subject matter and supersede all\n prior or contemporaneous proposals, understandings, and agreements. If\n you provide SSI with any pre-printed terms and conditions that appear\n on any purchase order or other form document, such terms will be of no\n force or effect.\n

\n
\n

\n 12.2 Assignment. You may not assign or transfer these Terms or any of\n your rights or obligations under it without SSI's prior written\n consent. SSI may freely assign these Terms, including to its\n affiliates. Any attempted assignment in violation of this paragraph\n will be null and void. Subject to the foregoing, these Terms are\n binding upon and inures to the benefit of the parties and their\n respective successors and permitted assigns.\n

\n
\n

\n 2.3 Severability. If a court finds any term of these Terms, other than\n Section 11, to be invalid or unenforceable, that term will be enforced\n to the maximum extent permissible so as to reflect the parties’\n intent, and the remainder of these Terms will remain in full force and\n effect.\n

\n
\n

\n 12.4 Waiver. Either party's delay or failure to exercise any\n right under these Terms or any law does not mean a party waives that\n right or any other rights under these Terms in the future. No waiver\n of any provision of these Terms, or any rights or obligations of\n either party under these Terms, will be effective except pursuant to a\n written instrument signed by the party against whom the waiver is\n sought.\n

\n
\n

\n 12.5 Use of Name and Logo. Notwithstanding any terms to the contrary\n in this Agreement, you consent to SSI's use of your name and logo\n on SSI's website and on SSI's promotional and marketing\n related materials, identifying you as a customer of SSI and describing\n your use of the Services.\n

\n
\n

\n 12.6 Independent Contractors. Nothing contained in these Terms will be\n construed to create a joint venture or partnership between the\n parties. Neither party is authorized as an agent or legal\n representative of the other party. Neither party will have the right\n or authority to bind or create any obligation on the other party.\n

\n
\n

\n 12.7 Force Majeure. SSI is excused from performance of these Terms and\n will not be liable for any delay in whole or in part caused by any\n event outside of its control.\n

\n
\n

\n 12.8 No Third-Party Beneficiary. Nothing contained in these Terms will\n be deemed to create, or be construed as creating, any third-party\n beneficiary right of action upon any third party in any manner\n whatsoever.\n

\n
\n

\n 12.9 Governing Law and Venue. These Terms will be governed in all\n respects in accordance with the laws of the State of California,\n without regard to conflict of law principles that would cause the laws\n of any other jurisdiction to apply. Except as set forth in Section 11,\n you expressly agree that federal and state courts located in Los\n Angeles, California will have exclusive jurisdiction over any action\n or claim that you bring that arises out of or relating to these Terms.\n You expressly consent to personal jurisdiction in any such court and\n hereby irrevocably waive any objection to or claim of lack of\n jurisdiction or forum non conveniens.\n

\n
\n

\n 12.10 Interpretation. The headings of these Terms are for reference\n only and will not be used to interpret the meaning of these Terms. Any\n reference to "includes" or "including" will be\n understood to be exemplary and not limiting and followed by "but\n not limited to." Each party has had the opportunity to review\n these Terms with legal counsel, and there will be no presumption that\n ambiguities will be construed or interpreted against the drafter.\n

\n
{\" \"}\n \n )\n}\n","import React from \"react\"\nimport { Form, useNavigate } from \"react-router-dom\"\n\nimport {\n Alert,\n Button,\n Checkbox,\n Heading,\n Input,\n Link,\n Modal,\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n VStack,\n Text,\n InputGroup,\n InputRightAddon,\n IconButton,\n Tooltip,\n} from \"@chakra-ui/react\"\n\nimport { UserRegister } from \"../lib/user\"\nimport { onChange } from \"../lib/util\"\nimport TOU from \"./TOU\"\nimport { GoogleLogin } from \"@react-oauth/google\"\nimport { Api } from \"../lib/api\"\n\n// Styles\nimport \"./Login.css\"\nimport GradientBox from \"./GradientBox\"\nimport { ViewIcon, ViewOffIcon } from \"@chakra-ui/icons\"\n\nexport default function Register() {\n const api = new Api()\n const [username, setUsername] = React.useState(\"\")\n const [password, setPassword] = React.useState(\"\")\n const [error, setError] = React.useState(null)\n const [success, setSuccess] = React.useState(null)\n const [inputType, setInputType] = React.useState(\"password\")\n const navigate = useNavigate()\n\n const handleRegister = async (event) => {\n event.preventDefault()\n\n const { email, password, fullName, organizationName } =\n event.target.elements\n let success\n try {\n success = await UserRegister(\n email.value,\n password.value,\n fullName.value,\n organizationName.value,\n )\n } catch (e) {\n success = false\n }\n\n if (!success) {\n setError(\"Registration failed\")\n setSuccess(null)\n } else {\n console.log(\"Registration success\")\n setError(null)\n setSuccess(\n \"Registration successful. Please check your email for an activation link.\",\n )\n navigate(\"/accounts/register-confirm\")\n }\n }\n const [open, setOpen] = React.useState(false)\n const [TOSState, setTOSState] = React.useState(false)\n\n const handleOpen = () => {\n setOpen(true)\n }\n\n const handleClose = () => {\n setOpen(false)\n setTOSState(!TOSState)\n }\n\n const handleCheckboxChange = (event) => {\n setTOSState(event.target.checked)\n }\n\n const handleConfirmedClose = () => {\n setOpen(false)\n setTOSState(true)\n }\n\n const redirectToLogin = () => {\n navigate(\"/login\")\n }\n\n const responseMessage = async (response) => {\n console.log(response)\n await api.googleLogin(response.credential, response.clientId)\n }\n\n const errorMessage = (error) => {\n console.log(error)\n setError(error)\n }\n\n const toggleVisibility = () => {\n setInputType(inputType === \"password\" ? \"text\" : \"password\")\n }\n\n return (\n \n \n
\n Sign Up for free\n \n {\"Let's get started with your 30 day free trial\"}\n \n {error && {error}}\n {success && {success}}\n \n \n {error || \"\"}\n \n \n \n \n : \n }\n onClick={toggleVisibility}\n />\n \n \n \n {error || \" \"}\n \n {error || \" \"}\n \n {error || \" \"}\n \n \n I agree to the{\" \"}\n \n Terms of Use.\n \n \n \n \n I am not a robot.\n \n \n \n \n — OR — \n \n \n \n \n \n \n \n Terms of use\n \n \n \n \n \n \n \n \n \n \n Already a user?{\" \"}\n \n Sign In\n \n \n
\n )\n}\n","import React from \"react\"\nimport AccountLayout from \"@/components/AccountLayout\"\nimport Message from \"@/components/Message\"\nimport Register from \"../components/Register\"\nimport { Text, SimpleGrid } from \"@chakra-ui/react\"\nimport { Image } from \"@chakra-ui/react\"\nimport EmmeLogo from \"../images/emmeLogo.png\"\nimport CallBoxLogo from \"../images/callboxLogo.png\"\nimport LaconicLogo from \"../images/laconicLogo.png\"\nimport GdahaLogo from \"../images/gdahaLogo.png\"\n\nexport default function RegisterView() {\n return (\n \n \n \n \n “Partnering with Blind Insight allowed us to accelerate our roadmap by\n a full year, moving us into new product areas and unlocking revenue\n faster than we could on our own.”\n \n\n \n — Erynn Petersen, CEO, Emme\n
\n Former CTO Kessel Run, US Dept. of Defense\n
\n \n \"Emme\n \"Call\n \"Laconic\n \"Gdaha\n \n
\n
\n )\n}\n","import React from \"react\"\nimport { Form, useSearchParams } from \"react-router-dom\"\nimport { Api } from \"../lib/api\"\nimport {\n Alert,\n Image,\n Input,\n Button,\n Link,\n Text,\n VStack,\n} from \"@chakra-ui/react\"\nimport Logo from \"../images/logoverticallight-1.png\"\nimport GradientBox from \"./GradientBox\"\n\nexport default function ResetPassword({ setResetSuccess, setResetError }) {\n const [searchParams] = useSearchParams()\n const [error, setError] = React.useState(null)\n const api = new Api()\n\n const user_id = searchParams.get(\"user_id\")\n const timestamp = searchParams.get(\"timestamp\")\n const signature = searchParams.get(\"signature\")\n\n React.useEffect(() => {\n if (!user_id || !timestamp || !signature) {\n setResetError(\"Invalid password reset link. Please request a new one.\")\n }\n }, [user_id, timestamp, signature])\n\n const handlePasswordReset = (event) => {\n event.preventDefault()\n\n const password = event.target.password.value\n const password_confirm = event.target.password_confirm.value\n\n if (password !== password_confirm) {\n console.log(\"Passwords do not match\")\n setError(\"Passwords do not match\")\n return\n }\n\n const resetPassword = async () => {\n console.log(\"Sending password reset request\")\n const resp = await api.accountsResetPassword(\n user_id,\n timestamp,\n signature,\n password,\n )\n return resp\n }\n const resp = resetPassword()\n if (!resp) {\n console.log(\"Reset failed\")\n setResetError(resp.detail)\n return\n }\n console.log(\"Reset success\")\n resp.then((resp) => {\n setResetSuccess(getSuccessMessage(resp))\n })\n }\n\n const getSuccessMessage = (resp) => {\n return (\n \n \n {resp.detail}. Click here to login\n \n \n )\n }\n\n return (\n \n \"Blind\n {error && {error}}\n \n
\n \n Enter your new password\n \n {error || \" \"}\n \n Re-type your new password\n \n \n {error || \" \"}\n \n \n \n \n
\n )\n}\n","import React from \"react\"\n\nimport { Alert } from \"@chakra-ui/react\"\n\nimport ResetPassword from \"@/components/ResetPassword\"\nimport Message from \"@/components/Message\"\nimport AccountLayout from \"@/components/AccountLayout\"\n\nexport default function ResetPasswordView() {\n const [resetSuccess, setResetSuccess] = React.useState(null)\n const [resetError, setResetError] = React.useState(null)\n\n return (\n \n \n \n {`Reset your Blind Insight password`}\n {`Please select a new password.`}\n {resetSuccess && (\n \n {resetSuccess}\n \n )}\n {resetError && (\n \n {resetError}\n \n )}\n \n \n )\n}\n","import { JSONEditor } from \"vanilla-jsoneditor\"\nimport React from \"react\"\nimport \"./JSONEditor.css\"\n\nexport default function BIJSONEditor(props) {\n const refContainer = React.useRef(null)\n const refEditor = React.useRef(null)\n\n React.useEffect(() => {\n // create editor\n console.log(\"create editor\", refContainer.current)\n refEditor.current = new JSONEditor({\n target: refContainer.current,\n props: {},\n })\n\n return () => {\n // destroy editor\n if (refEditor.current) {\n console.log(\"destroy editor\")\n refEditor.current.destroy()\n refEditor.current = null\n }\n }\n }, [])\n\n // update props\n React.useEffect(() => {\n if (refEditor.current) {\n console.log(\"update props\", props)\n refEditor.current.updateProps(props)\n }\n }, [props])\n\n return
\n}\n","import React from \"react\"\nimport { Form, useParams, useNavigate } from \"react-router-dom\"\nimport BIJSONEditor from \"./JSONEditor\"\nimport { Api } from \"../lib/api\"\nimport {\n Alert,\n Button,\n Heading,\n Input,\n ListItem,\n Link,\n Text,\n UnorderedList,\n SimpleGrid,\n GridItem,\n VStack,\n Stack,\n AlertIcon,\n AlertTitle,\n Spacer,\n} from \"@chakra-ui/react\"\nimport { Datasets } from \"../lib/store\"\nimport { unrollError } from \"../lib/util\"\n\nexport default function SchemaCreate() {\n const [error, setError] = React.useState(null)\n const [dataset, setDataset] = React.useState({})\n const [datasets] = Datasets.useState()\n const { datasetId } = useParams()\n React.useEffect(() => {\n setDataset(datasets[datasetId])\n }, [datasets])\n\n const api = new Api()\n\n // Example schema\n const initialContent = {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n age: {\n type: \"integer\",\n minimum: 1,\n maximum: 100,\n },\n },\n required: [\"name\", \"age\"],\n }\n\n // Set the initial content to a pretty indented version that can be immediately submitted.\n const [jsonContent, setJsonContent] = React.useState({\n json: undefined,\n text: JSON.stringify(initialContent, null, 2),\n })\n\n const onChangeJSON = React.useCallback(\n (updatedContent, previousContent, status) => {\n console.log(\"onChange\", { updatedContent, previousContent, status })\n setJsonContent(updatedContent)\n console.log(\">>> jsonContent\", jsonContent)\n },\n [jsonContent],\n )\n\n const navigate = useNavigate()\n\n const handleSubmit = async (event) => {\n event.preventDefault()\n const { name, description } = event.target.elements\n let schema\n\n // Invalid JSON will not parse.\n try {\n schema = JSON.parse(jsonContent.text)\n } catch (e) {\n setError(\n \"JSON schema is invalid. Please correct the errors before submitting.\",\n )\n return\n }\n\n try {\n await api.schemasCreate(\n dataset.url,\n name.value,\n description.value,\n schema,\n )\n setError(null)\n await api.schemasList()\n navigate(`/datasets/${datasetId}`)\n } catch (e) {\n console.log(\"Failed to create schema\", e)\n setError(await unrollError(e))\n }\n }\n\n return (\n \n \n Add a new Schema\n \n \n
\n \n \n \n \n \n \n Human-readable name\n \n \n \n \n \n Brief description\n \n \n \n {error && {error}}\n \n \n \n \n \n \n Create\n \n \n \n \n \n \n \n \n \n Blind Insight currently supports JSON Schema format\n \n \n \n \n Use the sample schema above as a guide. Learn more in the{\" \"}\n \n Schema documentation\n \n \n \n Schemas must be in{\" \"}\n \n JSON Schema\n {\" \"}\n format and consist of fields with string or{\" \"}\n number types.\n \n \n Each number field must include values for it's{\" \"}\n minimum and maximum bounds.\n \n {\" \"}\n \n \n \n \n
\n
\n
\n )\n}\n","import React from \"react\"\nimport SchemaCreate from \"@/components/SchemaCreate\"\n\nexport default function SchemaCreateView() {\n return \n}\n","import React from \"react\"\nimport { useRouteLoaderData, useParams } from \"react-router-dom\"\nimport {\n Grid,\n Box,\n TableContainer,\n Table,\n Thead,\n Th,\n Tr,\n Td,\n Tbody,\n Alert,\n} from \"@chakra-ui/react\"\nimport { Schemas } from \"../lib/store\"\n\nexport default function SchemaDetail() {\n const user = useRouteLoaderData(\"auth\")\n const [schemas] = Schemas.useState()\n const { schemaId } = useParams()\n // Find the selected schema\n const schema = React.useMemo(() => schemas[schemaId], [schemas, schemaId])\n // Get the schema properties\n const properties = React.useMemo(\n () => schema?.schema?.properties || {},\n [schema],\n )\n // Render table rows\n const rows = React.useMemo(() => {\n const entries = Object.entries(properties)\n if (!entries.length) return []\n return entries.map(([name, value]) => {\n let allowed = value.enum || [\"Any\"]\n allowed = allowed.map((v) => (\n \n {v}\n \n ))\n allowed = allowed ? {allowed} : null\n\n let constraints = []\n if (value?.maximum) constraints.push(`maximum: ${value.maximum}`)\n if (value?.minimum) constraints.push(`minimum: ${value.minimum}`)\n if (value?.precision) constraints.push(`precision: ${value.precision}`)\n if (value?.format) constraints.push(`format: ${value.format}`)\n constraints = constraints.map((c) => (\n \n {c}\n \n ))\n\n const required = schema?.schema?.required?.includes(name) ? \"Yes\" : \"No\"\n\n return (\n \n {name}\n {value.type}\n {required}\n {allowed}\n {constraints}\n \n )\n })\n }, [schema, properties])\n\n // Render nothing if we don't have a user\n if (!user) return null\n // Render a not found if we couldn't find a schema in state\n if (!schema)\n return (\n \n Schema not found\n \n )\n\n return (\n \n {schema.description}\n \n \n \n \n \n \n \n \n \n \n \n {rows}\n
NameTypeRequiredAllowed ValuesConstraints
\n \n
\n )\n}\n","import React from \"react\"\nimport SchemaDetail from \"@/components/SchemaDetail\"\n\nexport default function SchemaDetailView() {\n return \n}\n","import { create } from \"zustand\"\n\nconst useFileStore = create((set) => ({\n selectedFile: null,\n setSelectedFile: (file) => set({ selectedFile: file }),\n clearSelectedFile: () => set({ selectedFile: null }),\n}))\n\nexport default useFileStore\n","import React from \"react\"\nimport {\n Box,\n VStack,\n Text,\n Button,\n Heading,\n Progress,\n HStack,\n} from \"@chakra-ui/react\"\nimport { Api } from \"../lib/api\"\nimport Papa from \"papaparse\"\nimport { addAlert, AlertType, removeAlertBySource } from \"../lib/alerts\"\nimport {\n JobStatus,\n FileName,\n FileError,\n UploadProgress,\n IsUploading,\n UploadStatus,\n} from \"../lib/store\"\nimport { useParams } from \"react-router-dom\"\nimport useFileStore from \"../lib/fileStore\"\n\nexport default function UploadRecords() {\n const { schemaId } = useParams()\n const fileInputRef = React.useRef(null)\n const api = new Api()\n const [jobId, setJobId] = React.useState(null)\n\n const [jobStatus, setJobStatus] = JobStatus.useState()\n const [fileName, setFileName] = FileName.useState()\n const [fileError, setFileError] = FileError.useState()\n const [uploadProgress, setUploadProgress] = UploadProgress.useState()\n const [isUploading, setIsUploading] = IsUploading.useState()\n\n const { selectedFile, setSelectedFile, clearSelectedFile } = useFileStore()\n\n React.useEffect(() => {\n return () => {\n setIsUploading(UploadStatus.NONE)\n setUploadProgress(0)\n setJobStatus(null)\n setFileName(\"\")\n setFileError(null)\n if (selectedFile) {\n setSelectedFile(null)\n }\n }\n }, [])\n\n React.useEffect(() => {\n if (jobId === null) return\n api.jobsWebsocket(jobId)\n }, [jobId])\n\n function openAttachment() {\n fileInputRef.current.click()\n }\n\n const handleFileDrop = (e) => {\n e.preventDefault()\n const file = e.dataTransfer.files[0]\n const fileTypes = [\"application/json\", \"text/csv\"]\n if (fileTypes.includes(file.type)) {\n removeAlertBySource(\"File Upload\")\n setSelectedFile(file)\n setFileName(file.name)\n setUploadProgress(0)\n setIsUploading(UploadStatus.NONE)\n setJobStatus(null)\n } else {\n addAlert(AlertType.ERROR, \"File Upload\", \"Invalid file type\", 1)\n console.log(\"File error on handleFileDrop:\", fileError)\n }\n }\n\n const handleFileChange = (event) => {\n const file = event.target.files[0]\n if (file) {\n setSelectedFile(file)\n setFileName(file.name)\n removeAlertBySource(\"File Upload\")\n setUploadProgress(0)\n setIsUploading(UploadStatus.NONE)\n setJobStatus(null)\n }\n }\n\n const uploadData = async () => {\n try {\n setIsUploading(UploadStatus.UPLOADING)\n setFileName(selectedFile.name)\n let [file, fileType] = await parseFile(selectedFile).catch((error) => {\n setFileError(error.message)\n setIsUploading(UploadStatus.TERMINATED)\n setUploadProgress(0)\n })\n const response = await api.jobsUpload(file, fileType)\n console.log(\"Job ID:\", response.job_id)\n setJobId(response.job_id)\n } catch (error) {\n console.error(\"Error uploading data:\", error)\n setIsUploading(UploadStatus.TERMINATED)\n setUploadProgress(0)\n }\n }\n\n //TODO(Alexandrite): handle buffered file upload for supermassive files\n const parseFile = (file) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n\n reader.onload = (event) => {\n try {\n const fileContent = event.target.result\n\n if (file.type === \"text/csv\") {\n resolve([handleCSV(fileContent), file.type])\n } else {\n resolve([handleJSON(fileContent), file.type])\n }\n } catch (error) {\n setIsUploading(UploadStatus.TERMINATED)\n reject(new Error(`File parsing failed: ${error.message}`))\n }\n }\n\n const handleCSV = (fileContent) => {\n let csv = Papa.parse(fileContent, {\n header: false, // We need to handle the header manually.\n skipEmptyLines: true,\n transformHeader: (header) => header.trim(),\n transform: (value) => value.trim(),\n })\n\n console.log(\"csv=\", csv)\n\n if (csv.errors.length > 0) {\n throw new Error(\"CSV parsing errors\", csv.errors)\n }\n\n const rows = csv.data\n let header = rows[0]\n\n // If the header is the same length as the rows, we need to add a schema header.\n if (header.length == rows[1].length) {\n const schemaHeader = `schema_id:${schemaId}`\n header.push(schemaHeader)\n }\n\n return Papa.unparse(rows)\n }\n\n const handleJSON = (fileContent) => {\n let json\n try {\n json = JSON.parse(fileContent)\n } catch (error) {\n if (fileContent.trim() === \"\") {\n addAlert(\n AlertType.ERROR,\n \"File Upload\",\n \"File is empty, please select a different file.\",\n 2,\n )\n throw new Error()\n }\n addAlert(\n AlertType.ERROR,\n \"File Upload\",\n \"Invalid JSON object, please check file format or select a different file.\",\n 3,\n )\n throw new Error()\n }\n\n // Convert to array if single object\n const records = Array.isArray(json) ? json : [json]\n\n // If the schemaId is set (which it should be), add the schema URL to each record.\n if (schemaId) {\n const schemaUrl = `/api/schemas/${schemaId}/`\n // If the record already has a schema, skip it.\n for (let record of records) {\n if (!record?.schema) {\n record.schema = schemaUrl\n }\n }\n }\n\n return JSON.stringify(records)\n }\n\n reader.onerror = () => {\n setIsUploading(UploadStatus.TERMINATED)\n addAlert(AlertType.ERROR, \"File Upload\", \"Failed to read file.\", 4)\n reject(new Error(\"Failed to read file\"))\n }\n\n reader.readAsText(file)\n })\n }\n\n const clearFile = (e) => {\n if (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n // Reset file input\n if (fileInputRef.current) {\n fileInputRef.current.value = \"\"\n }\n\n // Clear states\n setIsUploading(UploadStatus.NONE)\n setUploadProgress(0)\n setJobStatus(null)\n if (!jobStatus) {\n setFileName(\"\")\n }\n removeAlertBySource(\"File Upload\")\n removeAlertBySource(\"Api Error\")\n clearSelectedFile()\n }\n\n return (\n \n \n {isUploading !== UploadStatus.NONE ? (\n \n {isUploading === UploadStatus.UPLOADING ? (\n \n \n Uploading\n \n \n Uploading records from file:\n
\n {fileName}\n
\n \n {jobStatus?.status}: {jobStatus?.processed} of{\" \"}\n {jobStatus?.total} records\n \n {uploadProgress}%\n \n \n ) : (\n \n \n {isUploading === UploadStatus.TERMINATED\n ? \"Upload Terminated\"\n : \"Upload Complete\"}\n \n \n {isUploading === UploadStatus.TERMINATED\n ? `Failed to upload records from file: ${fileName}`\n : `Uploaded ${jobStatus?.total} records from file: ${fileName}`}\n \n {jobStatus?.status}\n {isUploading === UploadStatus.TERMINATED && (\n {uploadProgress}%\n )}\n \n \n )}\n
\n ) : (\n e.preventDefault()}\n >\n Drag and drop your data here\n or\n \n \n {selectedFile ? fileName : \"Select File\"}\n \n {selectedFile && (\n \n ✕\n \n )}\n \n \n \n )}\n
\n \n \n \n {isUploading === UploadStatus.UPLOADING ? \"Uploading...\" : \"Upload\"}\n \n \n \n )\n}\n","/*\nThis code was adapted from https://github.com/adaydesign/react-chakra-ui-table-v2\n\nIt was converted from TypeScript to JavaScript and enhanced to support pagination, sorting, and filtering.\n*/\n\nimport React from \"react\"\nimport {\n Table as CKTable,\n Thead,\n Tbody,\n Tr,\n Th,\n Td,\n Tfoot,\n HStack,\n Button,\n Select,\n Text,\n Input,\n Flex,\n TableContainer,\n Icon,\n Checkbox,\n MenuButton,\n MenuList,\n VStack,\n Box,\n Spinner,\n CheckboxGroup,\n Menu,\n Alert,\n AlertTitle,\n AlertIcon,\n} from \"@chakra-ui/react\"\n\nimport {\n ArrowBackIcon,\n ArrowForwardIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n Search2Icon,\n SearchIcon,\n TriangleDownIcon,\n TriangleUpIcon,\n WarningTwoIcon,\n} from \"@chakra-ui/icons\"\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n getPaginationRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFacetedMinMaxValues,\n getFilteredRowModel,\n} from \"@tanstack/react-table\"\nimport { FaFile, FaTrash, FaDownload } from \"react-icons/fa6\"\nimport { SingleDatepicker } from \"chakra-dayzed-datepicker\"\nimport { Link } from \"@chakra-ui/react\"\nimport { getNumformat } from \"@/lib/formatters\"\nimport UploadRecords from \"./UploadRecords\"\nimport { Pagination, Limit, Offset } from \"../lib/store\"\n\nexport const DEFAULT_PAGES = [25, 50, 100]\n\nexport const NoDataDisplay = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n Looks like you need to add some data!\n \n \n \n Only encrypted data ever enters or exits Blind Insight, and we\n don't hold any keys. Download the Blind Proxy to encrypt\n data in your own environment before sending to Blind Insight.\n Soon, the Blind Proxy will be available as a browser extension,\n mobile library, and via secure enclave.\n \n \n \n \n }\n >\n Download a sample dataset\n \n \n \n }\n >\n Download the Blind Proxy\n \n \n \n \n \n \n \n )\n}\n\nexport const HasProxyDataDisplay = ({\n uploadState,\n onUploadStateChange,\n onUpdateRecords,\n fileDropProps,\n}) => {\n return (\n \n \n \n \n \n \n \n \n Looks like you need to add some data!\n \n \n \n Congratulations! You are running the Blind Proxy. You are ready\n to start uploading. Your data must be in JSON or CSV format.{\" \"}\n \n Please see the documentation on how to format it.\n \n \n \n Then when you're ready, go ahead and drag and drop your\n file into the box on the right and click Upload.\n \n \n \n \n }\n >\n Download a sample dataset\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const LoadingDataDisplay = () => {\n return (\n \n \n Loading Data\n \n )\n}\n\nexport const ErrorDisplay = ({ message }) => {\n const DEFAULT_ERROR_MESSAGE = \"Error\"\n\n return (\n \n \n {message ?? DEFAULT_ERROR_MESSAGE}\n \n )\n}\n\nexport function DataTable({\n EncryptButton,\n hasProxy,\n data = [],\n columns,\n isLoading = false,\n error = undefined,\n initialSortingState = [],\n initialColumnVisibility = {},\n filterIsOpen = false,\n rowCount = -1,\n uploadState,\n onUploadStateChange,\n onUpdateRecords,\n fileInputRef,\n selectedFile,\n onFileChange,\n onFileDrop,\n onOpenAttachment,\n onClearFile,\n setError,\n}) {\n const [sorting, setSorting] = React.useState(initialSortingState)\n const [columnVisibility, setColumnVisibility] = React.useState(\n initialColumnVisibility,\n )\n const [limit, setLimit] = Limit.useState()\n const [offset, setOffset] = Offset.useState()\n const [, setPagination] = Pagination.useState()\n\n const handlePageSizeChange = React.useCallback(\n (e) => {\n const newSize = Number(e.target.value)\n const currentStartRow = offset\n const newPageIndex = Math.floor(currentStartRow / newSize)\n const newOffset = newPageIndex * newSize\n\n setLimit(newSize)\n setOffset(newOffset)\n setPagination({\n pageIndex: newPageIndex,\n pageSize: newSize,\n })\n },\n [offset, setLimit, setOffset, setPagination],\n )\n\n const handlePaginationChange = React.useCallback(\n (newPagination) => {\n const newLimit = Number(newPagination.pageSize)\n const newPageIndex = Number(newPagination.pageIndex)\n const newOffset = newPageIndex * newLimit\n\n if (!isNaN(newLimit) && !isNaN(newOffset)) {\n setLimit(newLimit)\n setOffset(newOffset)\n setPagination({\n pageIndex: newPageIndex,\n pageSize: newLimit,\n })\n }\n },\n [setLimit, setOffset, setPagination],\n )\n\n const table = useReactTable({\n columns,\n data: data || [],\n initialState: {\n pagination: {\n pageIndex: Math.floor(offset / limit),\n pageSize: limit,\n },\n },\n autoResetPageIndex: false,\n enableColumnResizing: true,\n columnResizeMode: \"onChange\",\n defaultColumn: {\n width: \"auto\",\n },\n state: {\n pagination: {\n pageIndex: Math.floor(offset / limit),\n pageSize: limit,\n },\n sorting,\n columnVisibility,\n },\n getCoreRowModel: getCoreRowModel(),\n onSortingChange: setSorting,\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n onPaginationChange: handlePaginationChange,\n manualPagination: true,\n rowCount: rowCount,\n onColumnVisibilityChange: setColumnVisibility,\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\n })\n\n return (\n \n {/* table controls */}\n \n \n \n handlePaginationChange({\n pageIndex: 0,\n pageSize: table.getState().pagination.pageSize,\n })\n }\n isDisabled={!table.getCanPreviousPage()}\n >\n \n \n \n handlePaginationChange({\n pageIndex: table.getState().pagination.pageIndex - 1,\n pageSize: table.getState().pagination.pageSize,\n })\n }\n isDisabled={!table.getCanPreviousPage()}\n >\n \n \n \n {`Page ${\n table.getState().pagination.pageIndex + 1\n } / ${table.getPageCount()}`}\n \n \n handlePaginationChange({\n pageIndex: table.getState().pagination.pageIndex + 1,\n pageSize: table.getState().pagination.pageSize,\n })\n }\n isDisabled={!table.getCanNextPage()}\n >\n \n \n \n handlePaginationChange({\n pageIndex: table.getPageCount() - 1,\n pageSize: table.getState().pagination.pageSize,\n })\n }\n isDisabled={!table.getCanNextPage()}\n >\n \n \n \n \n Go To : \n {\n const page = e.target.value ? Number(e.target.value) - 1 : 0\n table.setPageIndex(page)\n }}\n size=\"sm\"\n />\n \n \n {DEFAULT_PAGES.map((pageSize, index) => (\n \n ))}\n \n \n \n \n \n Showing{\" \"}\n {table.getState().pagination.pageIndex === 0\n ? table.getState().pagination.pageIndex + 1\n : table.getState().pagination.pageIndex *\n table.getState().pagination.pageSize +\n 1}\n -\n {(table.getState().pagination.pageIndex + 1) *\n table.getState().pagination.pageSize <\n table.getRowCount()\n ? (table.getState().pagination.pageIndex + 1) *\n table.getState().pagination.pageSize\n : table.getRowCount()}{\" \"}\n of {getNumformat(table.getRowCount())}\n \n \n \n \n \n \n\n {/* table header row */}\n\n \n {isLoading ? (\n \n \n \n ) : error ? (\n \n \n \n ) : hasProxy && data?.length === 0 ? (\n \n \n \n ) : data == null || data == undefined || data?.length == 0 ? (\n \n \n \n ) : (\n \n \n {table.getHeaderGroups().map((headerGroup) => {\n return (\n \n {headerGroup.headers.map((header) => {\n const meta = header.column.columnDef\n return (\n \n \n \n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n \n {header.column.getCanResize() && (\n header.column.resetSize()}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n className={`resizer ${\n header.column.getIsResizing()\n ? \"isResizing\"\n : \"\"\n }`}\n />\n )}\n \n {header.column.getIsSorted() &&\n (header.column.getIsSorted() === \"desc\" ? (\n \n ) : (\n \n ))}\n \n \n\n \n {filterIsOpen && (\n \n \n ) : (\n \n )\n }\n isRound={true}\n variant=\"ghost\"\n colorScheme={\n header.column.getFilterValue() === undefined\n ? \"gray\"\n : \"orange\"\n }\n fontSize=\"1rem\"\n aria-label=\"column filter\"\n size=\"sm\"\n />\n \n \n {header.column.getCanFilter() && (\n \n \n \n )}\n }\n colorScheme=\"blue\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() =>\n header.column.setFilterValue(undefined)\n }\n >\n Reset\n \n \n \n \n )}\n \n \n )\n })}\n \n )\n })}\n \n \n {table.getRowModel().rows?.map((row) => (\n \n {row.getVisibleCells().map((cell) => {\n return (\n \n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n \n )\n })}\n \n ))}\n \n \n {table.getFooterGroups().map((footerGroup) => (\n \n {footerGroup.headers.map((header) => (\n \n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.footer,\n header.getContext(),\n )}\n \n ))}\n \n ))}\n \n \n )}\n \n \n )\n}\n\n// Filter Component\nconst Filter = ({ column, table }) => {\n const firstValue = table\n .getPreFilteredRowModel()\n .flatRows[0]?.getValue(column.id)\n\n const columnFilterValue = column.getFilterValue()\n\n const columnType = getType(firstValue)\n const facets = column?.getFacetedUniqueValues()\n // Custom facets if keys is array then sum the equal value and remove duplicate\n const customFacets = new Map()\n for (const [key, value] of facets) {\n if (Array.isArray(key)) {\n for (const k of key) {\n const prevValue = customFacets.get(k) || 0\n customFacets.set(k, prevValue + value)\n }\n } else {\n const prevValue = customFacets.get(key) || 0\n customFacets.set(key, prevValue + value)\n }\n }\n\n const sortedUniqueValues = React.useMemo(\n () =>\n columnType === \"number\" || columnType === \"date\"\n ? []\n : Array.from(customFacets.keys()).sort(),\n [customFacets],\n )\n\n const meta = column.columnDef.meta\n const switchEval =\n meta && meta.columnType\n ? meta.columnType.toLowerCase()\n : getType(firstValue)\n\n switch (switchEval) {\n case \"number\":\n return (\n \n \n column.setFilterValue((old) => [e.target.value, old?.[1]])\n }\n placeholder={`min ${\n column.getFacetedMinMaxValues()?.[0] !== undefined &&\n column.getFacetedMinMaxValues()?.[0] !== null\n ? `(${column.getFacetedMinMaxValues()?.[0]})`\n : \"\"\n }`}\n />\n {\n column.setFilterValue((old) => [old?.[0], e.target.value])\n }}\n placeholder={`max ${\n column.getFacetedMinMaxValues()?.[1] !== undefined &&\n column.getFacetedMinMaxValues()?.[1] !== null\n ? `(${column.getFacetedMinMaxValues()?.[1]})`\n : \"\"\n }`}\n />\n \n )\n\n case \"date\":\n return (\n \n \n column.setFilterValue((old) => [newStartDate, old?.[1]])\n }\n propsConfigs={{\n inputProps: {\n size: \"sm\",\n placeholder: \"from...\",\n },\n }}\n configs={{\n dateFormat: \"yyyy-MM-dd\",\n }}\n />\n\n \n column.setFilterValue((old) => [old?.[0], newEndDate])\n }\n propsConfigs={{\n inputProps: {\n size: \"sm\",\n placeholder: \"to...\",\n },\n }}\n configs={{\n dateFormat: \"yyyy-MM-dd\",\n }}\n />\n \n )\n\n case \"boolean\":\n return (\n \n {\n column.setFilterValue(\n !e.target.value ? undefined : e.target.value === \"true\",\n )\n }}\n value={column.getFilterValue() ?? \"\"}\n >\n {sortedUniqueValues.slice(0, 5000).map((value) => (\n \n ))}\n \n \n )\n\n case \"enum\":\n return (\n \n column.setFilterValue(e.target.value)}\n value={column.getFilterValue() || \"\"}\n >\n {sortedUniqueValues.slice(0, 5000).map((value) => (\n \n ))}\n \n \n )\n\n case \"multienum\":\n return (\n \n column.setFilterValue(e)}\n value={column.getFilterValue() || sortedUniqueValues.slice(0, 5000)}\n >\n \n {sortedUniqueValues.slice(0, 5000).map((value) => (\n \n {value}\n \n ))}\n \n \n \n )\n\n case \"array\":\n return (\n \n column.setFilterValue(e)}\n value={column.getFilterValue() || sortedUniqueValues.slice(0, 5000)}\n >\n \n {sortedUniqueValues.slice(0, 5000).map((value) => (\n \n {value}\n \n ))}\n \n \n \n )\n\n case \"string\":\n return (\n \n column.setFilterValue(e.target.value)}\n placeholder={`find...`}\n list={column.id + \"list\"}\n />\n \n )\n\n default:\n return (\n \n column.setFilterValue(e.target.value)}\n placeholder={`find...`}\n list={column.id + \"list\"}\n />\n \n )\n }\n}\n\nfunction getType(variable) {\n if (variable === null) {\n return \"null\"\n }\n\n switch (typeof variable) {\n case \"string\":\n return \"string\"\n case \"number\":\n return \"number\"\n case \"boolean\":\n return \"boolean\"\n case \"undefined\":\n return \"undefined\"\n case \"function\":\n return \"function\"\n case \"object\":\n if (variable instanceof Date) {\n return \"date\"\n }\n if (Array.isArray(variable)) {\n return \"array\"\n }\n return \"object\"\n default:\n return \"unknown\"\n }\n}\n\n// summary column\nexport const getSummary = (table, field) => {\n const sum = table\n .getFilteredRowModel()\n .rows.reduce((total, row) => total + row.getValue(field), 0)\n return sum || 0\n}\n","/*\nThis code was adapted from https://github.com/adaydesign/react-chakra-ui-table-v2\n\nIt was converted from TypeScript to JavaScript.\n*/\n\nexport const getCurrency = (n, f = 2) => {\n if (!n) return 0\n\n const options = {\n style: \"decimal\", // Other options: 'currency', 'percent', etc.\n minimumFractionDigits: f,\n maximumFractionDigits: f,\n }\n return n.toLocaleString(\"en-US\", options)\n}\n\nexport const getNumformat = (n) => {\n if (!n) return 0\n\n const options = {\n style: \"decimal\", // Other options: 'currency', 'percent', etc.\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n }\n return n.toLocaleString(\"en-US\", options)\n}\n","import React from \"react\"\nimport { Icon } from \"@chakra-ui/react\"\n\nfunction IconLock(props) {\n const encrypted = props.encrypted\n\n return (\n \n {encrypted ? (\n \n ) : (\n \n )}\n \n )\n}\n\nexport default IconLock\n","import React from \"react\"\nimport { Form, useParams, useSearchParams } from \"react-router-dom\"\nimport {\n Flex,\n HStack,\n Box,\n Select,\n Input,\n Button,\n Text,\n} from \"@chakra-ui/react\"\nimport { AddIcon, MinusIcon } from \"@chakra-ui/icons\"\nimport { FaFilter } from \"react-icons/fa\"\nimport { FaX } from \"react-icons/fa6\"\nimport {\n Schemas,\n Limit,\n Offset,\n CurrentFilters,\n Pagination,\n} from \"../lib/store\"\n\nconst TableFilter = () => {\n const [schemas] = Schemas.useState()\n const { schemaId } = useParams()\n const [searchParams, setSearchParams] = useSearchParams()\n const [limit] = Limit.useState()\n const [offset, setOffset] = Offset.useState()\n const [pagination] = Pagination.useState()\n\n // Reset the filters and offset when the schema changes\n React.useEffect(() => {\n clearFilters()\n setOffset(0)\n }, [schemaId])\n\n // Update URL when limit/offset/pagination change\n React.useEffect(() => {\n if (!isNaN(limit) && !isNaN(offset)) {\n const currentParams = Object.fromEntries(searchParams.entries())\n const newParams = {\n ...currentParams,\n limit: limit.toString(),\n offset: offset.toString(),\n }\n setSearchParams(newParams)\n }\n }, [limit, offset, pagination, setSearchParams, searchParams])\n\n // Find the selected schema\n const schema = React.useMemo(() => schemas[schemaId], [schemas, schemaId])\n\n const properties = React.useMemo(\n () => schema?.schema?.properties || {},\n [schema],\n )\n // Clear the filters and reset the search params\n const [filters, setFilters] = React.useState([\n { label: \"\", operator: \"\", value: \"\", value2: \"\" },\n ])\n\n const clearFilters = React.useCallback(() => {\n setFilters([{ label: \"\", operator: \"=\", value: \"\", value2: \"\" }])\n CurrentFilters.setValue([])\n setSearchParams({})\n }, [setFilters, setSearchParams])\n\n // Only update the filters if they actually changed\n const handleSearch = React.useCallback(() => {\n // Batch the filter updates\n const newFilters = filters.reduce((acc, filter) => {\n if (!filter.label || !filter.value) return acc\n\n let newValue = filter.value\n if (filter.value2) {\n newValue = `${filter.value}${filter.operator}${filter.value2}`\n } else if (filter.operator !== \"=\") {\n newValue = `${filter.operator}${filter.value}`\n }\n\n return [...acc, { label: filter.label, value: newValue }]\n }, [])\n\n // Only update if filters actually changed\n if (\n JSON.stringify(CurrentFilters.getValue()) !== JSON.stringify(newFilters)\n ) {\n CurrentFilters.setValue(newFilters)\n }\n }, [filters])\n\n const handleAddFilter = React.useCallback(() => {\n setFilters([...filters, { label: \"\", operator: \"\", value: \"\", value2: \"\" }])\n }, [filters, setFilters])\n\n const handleRemoveFilter = React.useCallback(() => {\n setFilters([...filters.slice(0, -1)])\n }, [filters, setFilters])\n\n const handleInputChange = React.useCallback(\n (e, index) => {\n const values = [...filters]\n if (e.target.name === \"label\") {\n values[index].label = e.target.value\n } else if (e.target.name === \"operator\") {\n values[index].operator = e.target.value\n } else if (e.target.name === \"value\") {\n values[index].value = e.target.value\n } else {\n values[index].value2 = e.target.value\n }\n setFilters(values)\n },\n [filters, setFilters],\n )\n\n const filterMenuItems = React.useMemo(() => {\n const entries = Object.entries(properties)\n if (!entries.length) return []\n return entries\n .sort(([nameA], [nameB]) => nameA.localeCompare(nameB))\n .map(([name]) => (\n \n ))\n }, [properties])\n\n return (\n
\n \n \n {filters.map((filter, index) => (\n \n handleInputChange(e, index)}\n value={filter.label ?? \"\"}\n title=\"Select a column to filter by\"\n size=\"sm\"\n >\n \n {filterMenuItems}\n \n {filter.label &&\n [\"number\", \"integer\"].includes(\n properties[filter.label]?.type,\n ) && (\n \n \n handleInputChange(e, index)}\n defaultValue=\"=\"\n width=\"4em\"\n >\n \n \n \n \n \n \n \n \n handleInputChange(e, index)}\n placeholder=\"Value\"\n title=\"Enter a value to filter by\"\n size=\"small\"\n />\n \n )}\n {filter.operator && filter.operator === \"~\" && (\n handleInputChange(e, index)}\n placeholder=\"Value\"\n title=\"Enter a max value to filter by\"\n size=\"small\"\n />\n )}\n {filter.label && properties[filter.label]?.type === \"string\" && (\n <>\n =\n handleInputChange(e, index)}\n name=\"value\"\n placeholder=\"Value\"\n size=\"small\"\n title=\"Value to filter by\"\n />\n \n )}\n \n ))}\n \n \n {filters.length > 1 && (\n \n \n \n )}\n {filters.length < filterMenuItems.length && filters.length > 0 && (\n \n )}\n }\n title=\"Filter data\"\n size=\"sm\"\n >\n Filter\n \n }\n title=\"Clear filters\"\n size=\"sm\"\n >\n Clear filters\n \n \n \n \n )\n}\n\nexport default TableFilter\n","import React from \"react\"\nimport { useParams, useRouteLoaderData } from \"react-router-dom\"\n\nimport {\n Box,\n Flex,\n Button,\n Alert,\n Text,\n HStack,\n Link,\n Modal,\n ModalOverlay,\n ModalContent,\n ModalCloseButton,\n CircularProgress,\n} from \"@chakra-ui/react\"\nimport { DataTable } from \"./DataTable\"\nimport UploadRecords from \"./UploadRecords\"\nimport {\n HashedSchemas,\n Schemas,\n UploadProgress,\n FileName,\n IsUploading,\n UploadStatus,\n Limit,\n Offset,\n CurrentFilters,\n} from \"../lib/store\"\nimport useFileStore from \"../lib/fileStore\"\n\nimport { Api } from \"../lib/api\"\nimport { isEmpty, unrollError } from \"../lib/util\"\nimport { FaUpload } from \"react-icons/fa6\"\nimport IconLock from \"@/icons/IconLock\"\nimport { removeAlertBySource } from \"@/lib/alerts\"\nimport TableFilter from \"./TableFilter\"\n\nexport default function SchemaRecordsList() {\n const [limit] = Limit.useState()\n const [offset] = Offset.useState()\n const [isLoading, setIsLoading] = React.useState(false)\n const [error, setError] = React.useState(null)\n const user = useRouteLoaderData(\"auth\")\n const { schemaId } = useParams()\n const api = new Api()\n\n // Initialize state-pool values\n const [schemas] = Schemas.useState()\n const [currentFilters] = CurrentFilters.useState()\n const [hashedSchemas] = HashedSchemas.useState()\n const [uploadProgress, setUploadProgress] = UploadProgress.useState()\n const [, setFileName] = FileName.useState()\n const [isUploading, setIsUploading] = IsUploading.useState()\n const clearSelectedFile = useFileStore((state) => state.clearSelectedFile)\n // List of current records in view\n const [records, setRecords] = React.useState([])\n\n // Find the selected schema\n const schema = React.useMemo(() => schemas[schemaId], [schemas, schemaId])\n // Get the hashed (decrypted) schema\n const hashedSchema = React.useMemo(\n () => hashedSchemas[schemaId],\n [hashedSchemas, schemaId],\n )\n\n // Decryption toggle\n const [encrypted, setEncrypted] = React.useState(true)\n // Can decrypt schema?\n const [canDecryptSchema, setCanDecryptSchema] = React.useState(true)\n\n const isDataOwner = React.useMemo(() => {\n return !user?.email?.startsWith(\"data_requester\")\n }, [user])\n\n // Can decrypt records?\n const [canDecryptRecords, setCanDecryptRecords] = React.useState(() => {\n // TODO(jathan): This is a temporary hack to disallow decryption for data_requester for now.\n if (!isDataOwner) return false\n // TODO(shakefu): Get decrypt permission state from the API when we\n // support that metadata call\n // Default to allowing decryption, once\n return true\n })\n // Records count\n const count = React.useMemo(() => {\n if (!records?.count) {\n return -1\n }\n return records.count\n }, [records])\n\n // Records to decrypt\n const [missingRecords, setMissingRecords] = React.useState({})\n // Decrypted records\n const [decryptedRecords, setDecryptedRecords] = React.useState({})\n // Records pending decryption\n const [pendingRecords, setPendingRecords] = React.useState({})\n // Schema pending decryption\n const [pendingSchema, setPendingSchema] = React.useState(false)\n\n const properties = React.useMemo(\n () => schema?.schema?.properties || {},\n [schema],\n )\n\n // Record type used for table column display.\n const RecordType = React.useMemo(() => {\n if (!hashedSchema) return {}\n let x = {}\n const typeMap = { string: String, number: Number, integer: Number }\n\n // If we're encrypted, use the hashed schema.\n if (encrypted) {\n for (const [key, value] of Object.entries(hashedSchema)) {\n x[key] = typeMap[value.type]\n }\n } else {\n // Otherwise, use the decrypted schema.\n for (const [key, value] of Object.entries(schema.schema.properties)) {\n x[key] = typeMap[value.type]\n }\n }\n return x\n }, [hashedSchema, schema, encrypted])\n console.log(\"RecordType = \", RecordType)\n\n const recordMap = React.useMemo(() => {\n if (pendingSchema) {\n console.debug(\"recordMap waiting for schema...\")\n return\n }\n console.debug(\"Creating recordMap...\")\n let inverted = {}\n for (const record of records) {\n inverted[record.id] = record.data\n }\n if (encrypted) {\n console.debug(\"Returning encrypted recordMap\", inverted)\n return inverted\n }\n\n let changed = false\n let missing = {}\n for (const id in missingRecords) {\n missing[id] = missingRecords[id]\n }\n for (const record of records) {\n if (!decryptedRecords[record.id]) {\n if (pendingRecords[record.id]) continue\n if (!missing[record.id]) {\n changed = true\n missing[record.id] = record\n }\n }\n }\n if (changed) {\n console.debug(\"Need to decrypt missing records\", missing)\n setMissingRecords(missing)\n }\n\n console.debug(\"Returning decryptedRecords\", decryptedRecords)\n return decryptedRecords\n }, [\n records,\n decryptedRecords,\n missingRecords,\n pendingRecords,\n pendingSchema,\n encrypted,\n ])\n\n // This effect will attempt to decrypt the schema if it's not already decrypted.\n // If it fails, it won't retry.\n React.useEffect(() => {\n if (!schema) return\n // If we're not decrypting, get out early\n if (!canDecryptSchema) return\n if (pendingSchema) return\n if (hashedSchemas[schema.id]) return\n setPendingSchema(true)\n console.debug(\"Decrypting schema for SchemaRecordsList\", schema.id)\n api\n .schemasDecrypt(schema)\n .then(() => {\n setPendingSchema(false)\n })\n .catch(() => {\n setPendingSchema(false)\n setCanDecryptSchema(false)\n })\n }, [\n hashedSchemas,\n schema,\n pendingSchema,\n setPendingSchema,\n canDecryptSchema,\n setCanDecryptSchema,\n ])\n\n const [hasStatus, setHasStatus] = React.useState(false)\n\n React.useEffect(() => {\n if (!records) return\n const getStatus = async () => {\n return await api.statusRetrieve()\n }\n const resp = getStatus()\n resp.then((resp) => {\n setHasStatus(resp)\n })\n }, [records])\n\n const hasProxy = React.useMemo(() => {\n if (!hasStatus) return\n console.log(\"hasStatus=\", hasStatus.behind_proxy)\n return hasStatus.behind_proxy\n }, [hasStatus])\n\n // This effect will attempt to decrypt the records if \"encrypted\" is false.\n // If it fails, it should revert to displaying the encrypted records.\n React.useEffect(() => {\n // If we're not decrypting, get out early\n if (encrypted) return\n\n // If we aren't allowed to decrypt, get out early\n if (!canDecryptRecords) return\n\n // Calculate actual missing records vs what is pending in an API query\n let missing = []\n if (Object.keys(missingRecords).length > 0) {\n console.debug(\"Merging missing and pending records\", {\n missingRecords,\n pendingRecords,\n })\n let pending = {}\n for (const id in missingRecords) {\n if (!pendingRecords[id]) {\n missing.push(missingRecords[id])\n pending[id] = true\n }\n }\n for (const id in pendingRecords) {\n pending[id] = true\n }\n\n // If we didn't find any changes, get out\n if (missing.length === 0) return\n\n // Clear missing records that were set\n console.debug(\"Clearing missing records\", missing)\n setMissingRecords({})\n\n // Update the pending record state\n console.debug(\"Updating pending records\")\n setPendingRecords(pending)\n }\n\n console.debug(\"Missing records\", missing)\n\n // If we're already pending decryption, get out early\n if (missing.length === 0) return\n\n api\n .recordsDecrypt(missing)\n .then((data) => {\n console.debug(\"Raw decrypted data\", data)\n let newDecrypted = {}\n for (const record of data) {\n newDecrypted[record.id] = record.data\n }\n for (const id in decryptedRecords) {\n newDecrypted[id] = decryptedRecords[id]\n }\n console.debug(\"Updating decrypted records\", decryptedRecords)\n setDecryptedRecords(newDecrypted)\n })\n .catch((error) => {\n console.log(\"Error decrypting records\", error)\n setMissingRecords({})\n if (error?.status === 404) {\n console.log(\"Decrypt records not found\")\n setError(\"Decrypted records not found, please refresh the page.\")\n return\n }\n setEncrypted(true)\n if (error?.status === 403) {\n console.log(\"Decrypt permission denied\")\n setError(\"You do not have permission to decrypt these records.\")\n return setCanDecryptRecords(false)\n }\n // TODO(shakefu): This 405 is a wonky status code.\n if (error?.status === 405) {\n console.error(\"Decrypt not available on API\")\n //commented this out so there isn't a duplicate message displayed in the UI (see line 375-ish)\n //setError(Decryption unavailable, please run the Blind Proxy to decrypt.)\n // return setHasProxy(false)\n }\n })\n }, [\n encrypted,\n setEncrypted,\n canDecryptRecords,\n setCanDecryptRecords,\n missingRecords,\n setMissingRecords,\n decryptedRecords,\n setDecryptedRecords,\n pendingRecords,\n setPendingRecords,\n ])\n\n // Render nothing if we don't have a user\n if (!user) return null\n // Render a not found if we couldn't find a schema in state\n if (!schema) return Schema not found\n\n const toggleEncryption = React.useCallback(() => {\n if (!canDecryptRecords && encrypted) {\n console.debug(\"Can't toggle encryption, can't decrypt\")\n return\n }\n console.debug(\"Toggling encryption\")\n setEncrypted(!encrypted)\n }, [encrypted, canDecryptRecords, setEncrypted])\n\n const fieldNames = React.useMemo(() => {\n if (!recordMap) return []\n\n if (!hashedSchema || isEmpty(hashedSchema)) {\n // Flatten the recordMap to get the field names and remove duplicates as a set.\n const encryptedKeys = Object.values(recordMap).map((record) =>\n Object.keys(record),\n )\n const flattenedKeys = encryptedKeys.flat()\n const uniqueKeys = new Set(flattenedKeys)\n // console.log(\"fieldNames flattenedKeys=\", flattenedKeys)\n return Array.from(uniqueKeys)\n } else {\n return Object.keys(hashedSchema || {}).map((key) => {\n if (encrypted) return key\n return hashedSchema[key]?.name\n })\n }\n }, [recordMap, hashedSchema, encrypted])\n\n // missing here is the idField in the row - JP just can't\n const columns = React.useMemo(() => {\n return fieldNames.map((name) => ({\n accessorKey: name,\n header: name,\n field: name,\n type: properties[name]?.type,\n size: 150,\n }))\n }, [fieldNames, properties])\n console.log(\"columns=\", columns)\n\n const data = React.useMemo(() => {\n return records.map((record) => {\n if (encrypted) {\n return { id: record.id, ...record.data }\n }\n return { id: record.id, ...decryptedRecords[record.id] }\n })\n }, [records, decryptedRecords, encrypted])\n console.log(\"data=\", data)\n\n // Add debugging to the store to see what's happening when the filters change\n CurrentFilters.subscribe((value) => {\n console.debug(\"CurrentFilters updated:\", value)\n })\n\n const updateRecords = React.useCallback(async () => {\n if (isLoading) return\n\n setIsLoading(true)\n try {\n const resp = await api.recordsSearch(\n schemaId,\n currentFilters,\n limit,\n offset,\n )\n setRecords(resp)\n } catch (error) {\n console.log(\"Error fetching records\", error)\n setError(await unrollError(error))\n } finally {\n setIsLoading(false)\n }\n }, [\n schemaId,\n currentFilters,\n limit,\n offset,\n isLoading,\n setIsLoading,\n setRecords,\n setError,\n ])\n\n // Only update records when the URL params or filters change\n React.useEffect(() => {\n updateRecords()\n }, [currentFilters, limit, offset])\n\n // Remove the pagination dependency from the other effect\n React.useEffect(() => {\n if (isUploading === UploadStatus.COMPLETED) {\n updateRecords()\n }\n }, [isUploading])\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const clearStates = () => {\n if (isUploading === UploadStatus.COMPLETED) {\n updateRecords()\n setUploadProgress(0)\n setIsUploading(UploadStatus.NONE)\n setFileName(null)\n }\n }\n\n const openModal = () => {\n clearStates()\n setIsOpen(true)\n }\n const closeModal = () => {\n clearStates()\n removeAlertBySource(\"File Upload\")\n clearSelectedFile()\n setIsOpen(false)\n }\n\n // TODO(jathan): Since this is a component, is it wise to use a callback?\n const EncryptButton = React.useCallback(() => {\n return (\n <>\n \n \n {encrypted ? \"Decrypt\" : \"Encrypt\"}\n \n \n )\n }, [encrypted, canDecryptRecords, toggleEncryption])\n\n // Toggle encryption on initial mount\n // TODO(jathan): Trigger decryptRecords on load to get proxy overlay to show. Remove this when we have proxy detect endpoint.\n React.useEffect(() => {\n toggleEncryption()\n }, [])\n\n return (\n \n {schema.description}\n \n {hasProxy === false && (\n \n \n \n Please{\" \"}\n \n download and run the Blind Proxy\n {\" \"}\n to search and decrypt locally. Feel free to get in touch if you\n need assistance.\n \n \n \n )}\n \n {hasProxy && (\n \n \n \n ) : (\n \n )\n }\n onClick={openModal}\n >\n {isUploading === UploadStatus.UPLOADING\n ? \"Uploading\"\n : \"Upload Records\"}\n \n \n )}\n \n \n \n {error && (\n \n {\" \"}\n \n {error}\n \n \n )}\n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport SchemaRecordsList from \"@/components/SchemaRecordsList\"\n\nexport default function SchemaRecordsListView() {\n return \n}\n","import React from \"react\"\nimport {\n Form,\n useLocation,\n useNavigate,\n useRouteLoaderData,\n} from \"react-router-dom\"\nimport { Api } from \"../lib/api\"\nimport {\n Alert,\n Box,\n Button,\n Checkbox,\n Table,\n Tbody,\n Td,\n TableContainer,\n Thead,\n Th,\n Tr,\n Text,\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalCloseButton,\n ModalBody,\n Input,\n} from \"@chakra-ui/react\"\nimport { CurrentOrg } from \"../lib/store\"\nimport { AddIcon } from \"@chakra-ui/icons\"\nimport IconEdit from \"@/icons/IconEdit\"\n\nexport default function Users() {\n const [organization] = CurrentOrg.useState()\n const currentUser = useRouteLoaderData(\"auth\")\n const [userEditOpen, setUserEditOpen] = React.useState(false)\n const [userCreateOpen, setUserCreateOpen] = React.useState(false)\n const [selectedUser, setSelectedUser] = React.useState({}) //state for table\n const [success, setSuccess] = React.useState(false)\n const [error, setError] = React.useState(null)\n const navigate = useNavigate()\n const location = useLocation()\n const api = new Api()\n\n const handleUserEditOpen = () => {\n setUserEditOpen(true)\n }\n\n const handleUserEditClose = () => {\n setUserEditOpen(false)\n }\n\n const handleUserCreateOpen = () => {\n setUserCreateOpen(true)\n }\n\n const handleUserCreateClose = () => {\n setUserCreateOpen(false)\n }\n\n const handleUserCreateSubmit = async (event) => {\n event.preventDefault()\n const { email, isAdmin } = event.target.elements\n let success\n try {\n success = await api.organizationsInvitationsCreate(\n organization.id,\n email.value,\n isAdmin.checked,\n )\n } catch (e) {\n success = false\n }\n if (!success) {\n console.log(\"Failed to create user\")\n setError(\"Failed to create user\")\n setSuccess(null)\n } else {\n console.log(\"User created successfully\")\n setError(null)\n setUserCreateOpen(false)\n setSuccess(\"User created successfully\")\n navigate(location)\n }\n }\n\n const handleUserEditSubmit = async (event) => {\n event.preventDefault()\n const { userId, isAdmin } = event.target.elements\n let success\n try {\n success = await api.organizationsUsersPartialUpdate(\n organization.id,\n userId.value,\n isAdmin.checked,\n )\n } catch (e) {\n success = false\n }\n if (!success) {\n console.log(\"Failed to update user\")\n setSuccess(null)\n setError(\"Failed to update user\")\n } else {\n console.log(\"User updated successfully\")\n setError(null)\n setUserEditOpen(false)\n setSuccess(\"User updated successfully\")\n navigate(location)\n }\n }\n\n const orgOwner = React.useMemo(() => {\n return organization.owner.organization_user\n }, [organization])\n\n const currentOrgUser = React.useMemo(() => {\n return organization.organization_users.find(\n (ou) => ou.user.email === currentUser.email,\n )\n }, [organization, currentUser])\n\n const orgUsers = React.useMemo(() => {\n return organization.organization_users\n }, [organization])\n\n const getUserRole = (orgUser) => {\n if (!orgUser) return\n\n if (orgUser.user.email === orgOwner.user.email) {\n return \"Owner\"\n } else if (orgUser.is_admin) {\n return \"Data Owner\"\n }\n return \"Data Requester\"\n }\n\n const shouldDisableIsAdmin = (orgUser) => {\n if (!orgUser || !orgUser?.user) return\n\n if (orgUser.user.email === currentUser.email) {\n return true\n } else if (orgUser.user.email === orgOwner.user.email) {\n return true\n } else if (!currentOrgUser?.is_admin) {\n return true\n }\n\n return false\n }\n\n return (\n <>\n \n Organization Owner: {orgOwner.user.email}\n \n }\n >\n Add User\n \n \n \n {error && (\n {\n setError(null)\n }}\n >\n {error}\n \n )}\n {success && (\n {\n setSuccess(null)\n }}\n >\n {success}\n \n )}\n \n \n \n \n \n \n \n \n \n \n {orgUsers.map((orgUser) => (\n setSelectedUser(orgUser)}>\n \n \n \n \n \n ))}\n \n
EmailStatusRoleActions
{orgUser.user.email}{orgUser.user.is_active ? \"Active\" : \"Invited\"}{getUserRole(orgUser)}\n \n \n \n
\n \n
\n \n \n \n Edit User\n \n \n
\n \n Email:\n \n\n \n \n Data Owner\n \n \n \n \n Cancel\n \n \n Update\n \n \n
\n
\n
\n
\n \n \n \n Add User\n \n \n
\n \n \n Invite a user to join your organization. If they don{\"'\"}t\n have an account, they will be invited to create one.\n \n\n \n \n Data Owner\n \n \n \n Cancel\n \n \n Submit\n \n \n \n
\n
\n
\n \n \n )\n}\n","import React from \"react\"\nimport Users from \"@/components/Users\"\n\nexport default function UsersView() {\n return \n}\n","import React from \"react\"\nimport { Outlet } from \"react-router-dom\"\n\nimport { Box, Tabs, TabList, Tab, TabPanel, TabPanels } from \"@chakra-ui/react\"\nimport Link from \"./Link\"\n\nexport default function AccountTabs() {\n return (\n \n \n \n \n \n Account\n \n \n \n \n Users\n \n \n \n \n Profile\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalBody,\n ModalCloseButton,\n} from \"@chakra-ui/react\"\nimport TOU from \"@/components/TOU\"\nimport { useNavigate } from \"react-router-dom\"\n\nexport default function TOSView() {\n const navigate = useNavigate()\n\n return (\n navigate(-1)}\n variant=\"standard\"\n size=\"xl\"\n >\n \n \n Terms of Use\n navigate(-1)} />\n \n \n \n \n \n )\n}\n","import React from \"react\"\nimport {\n Route,\n Navigate,\n createRoutesFromChildren,\n matchRoutes,\n useLocation,\n useNavigationType,\n createRoutesFromElements,\n} from \"react-router-dom\"\n\nimport AuthRequired, { AuthRequiredError } from \"./components/AuthRequired\"\nimport FetchDatasetsSchemas from \"./components/FetchDatasetsSchemas\"\nimport Footer from \"./components/Footer\"\nimport CurrentOrganization from \"./components/CurrentOrganization\"\nimport SidebarLayout from \"./components/SidebarLayout\"\nimport SchemaTabs from \"./components/SchemaTabs\"\n\nimport AccountsActivateView from \"./views/AccountsActivateView\"\nimport AccountView from \"./views/AccountView\"\nimport ChoosePlanView from \"./views/ChoosePlanView\"\nimport DatasetDetailView from \"./views/DatasetDetailView\"\nimport DatasetsListView from \"./views/DatasetsListView\"\nimport DebugView from \"./views/DebugView\"\nimport DevTestView from \"./views/DevTestView\"\nimport ForgotPasswordView from \"./views/ForgotPasswordView\"\nimport LoginView from \"./views/LoginView\"\nimport LogoutView from \"./views/LogoutView\"\nimport OrganizationCreateView from \"./views/OrganizationCreateView\"\nimport PageNotFoundView from \"./views/PageNotFoundView\"\nimport ProfileView from \"./views/ProfileView\"\nimport RegisterConfirmView from \"./views/RegisterConfirmView\"\nimport RegisterView from \"./views/RegisterView\"\nimport ResetPasswordView from \"./views/ResetPasswordView.js\"\nimport SchemaCreateView from \"./views/SchemaCreateView\"\nimport SchemaDetailView from \"./views/SchemaDetailView\"\nimport SchemaRecordsListView from \"./views/SchemaRecordsListView\"\nimport UsersView from \"./views/UsersView\"\n\nimport * as Sentry from \"@sentry/react\"\nimport AccountTabs from \"./components/AccountTabs\"\nimport TOSView from \"./views/TOSView\"\n\nconst SENTRY_DSN = process.env.BLINDINSIGHT_UI_SENTRY_DSN\n\n// Only initialize Sentry if the DSN is set.\nif (SENTRY_DSN) {\n Sentry.init({\n dsn: SENTRY_DSN,\n integrations: [\n // See docs for support of different versions of variation of react router\n // https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/\n Sentry.reactRouterV6BrowserTracingIntegration({\n useEffect: React.useEffect,\n useLocation,\n useNavigationType,\n createRoutesFromChildren,\n matchRoutes,\n }),\n Sentry.replayIntegration(),\n Sentry.browserTracingIntegration(),\n ],\n\n // Set tracesSampleRate to 1.0 to capture 100%\n // of transactions for performance monitoring.\n tracesSampleRate: 1.0,\n\n // Set `tracePropagationTargets` to control for which URLs distributed tracing should be enabled\n tracePropagationTargets: [\"localhost\", /^https:\\/\\/.*\\.blindinsight\\.io\\//],\n\n // Capture Replay for 10% of all sessions,\n // plus for 100% of sessions with an error\n replaysSessionSampleRate: 0.1,\n replaysOnErrorSampleRate: 1.0,\n })\n}\n\nconst App = createRoutesFromElements(\n }>\n \n } />\n } />\n } />\n } />\n \n } />\n } />\n } />\n } />\n \n }\n loader={AuthRequired.loader}\n errorElement={}\n >\n } />\n \n \n } />\n \n \n } />\n }>\n }\n loader={FetchDatasetsSchemas.loader}\n >\n }>\n } />\n \n } />\n \n } />\n \n }\n />\n \n } />\n \n }>\n \n } />\n \n } />\n \n \n \n \n \n \n }>\n } />\n } />\n } />\n \n \n \n } />\n \n \n } />\n \n ,\n)\n\nexport default App\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n })\n }\n}\n\nexport default reportWebVitals\n","const Colors = {\n Primary: {\n 50: \"#E3E0EF\",\n 100: \"#BAAEDF\",\n 200: \"#9786D0\",\n 300: \"#7059BD\",\n 400: \"#6349B8\",\n 500: \"#4C2EAC\",\n 600: \"#4021A3\",\n 700: \"#3E2688\",\n 800: \"#39257B\",\n 900: \"#31206A\",\n },\n Secondary: {\n 50: \"#E6F1F9\",\n 100: \"#C1DDF1\",\n 200: \"#5EA6D9\",\n 300: \"529FD6\",\n 400: \"#2D8BCE\",\n 500: \"#0876C5\",\n 600: \"#0764A7\",\n 700: \"#06538A\",\n 800: \"#054776\",\n 900: \"#043B63\",\n },\n Accent: {\n 50: \"#FBE5F4\",\n 100: \"#F1A6D8\",\n 200: \"#E559B6\",\n 300: \"#E34DB1\",\n 400: \"#DF33A5\",\n 500: \"#D6008F\",\n 600: \"#C10081\",\n 700: \"#AB0072\",\n 800: \"#8B005D\",\n 900: \"#6B0048\",\n },\n Gray: {\n 50: \"#FAFAFA\",\n 100: \"#F3F3F3\",\n 200: \"#E6E6E6\",\n 300: \"#CECECE\",\n 400: \"#B5B5B5\",\n 500: \"#67657B\",\n 600: \"#535166\",\n 700: \"#393F4A\",\n 800: \"#31313E\",\n 900: \"#09090A\",\n },\n Alert: \"#ff4545\",\n}\n\nexport default Colors\n","const Fonts = {\n body: \"Teachers, Helvetica\",\n heading: \"Montserrat, Helvetica\",\n mono: \"Open Sans, Helvetica\",\n}\n\nexport default Fonts\n","const FontWeights = {\n headerWeight: 500,\n textWeight: 400,\n subtextWeight: 300,\n}\n\nexport default FontWeights\n","const BorderRadii = {\n sm: \".25rem\",\n md: \".75rem\",\n lg: \"1.75rem\",\n}\n\nexport default BorderRadii\n","const GlobalStyles = {\n global: {\n \"&::-webkit-scrollbar\": {\n width: \"2\",\n borderRadius: \"8px\",\n backgroundColor: `transparent`,\n },\n \"&::-webkit-scrollbar-thumb\": {\n borderRadius: \"lg\",\n backgroundColor: `Secondary.100`,\n },\n \".resizer\": {\n position: \"absolute\",\n right: 0,\n top: 0,\n height: \"100%\",\n width: \"3px\",\n background: \"rgba(0, 0, 0, 0.5)\",\n cursor: \"col-resize\",\n userSelect: \"none\",\n touchAction: \"none\",\n },\n \".resizer.isResizing\": {\n background: \"Secondary.500\",\n opacity: 1,\n },\n \"@media (hover: hover)\": {\n \".resizer\": {\n opacity: 0,\n },\n \":hover > .resizer\": {\n opacity: 1,\n },\n },\n },\n}\n\nexport default GlobalStyles\n","import Buttons from \"./variants/Buttons\"\nimport Checkboxes from \"./variants/Checkboxes\"\nimport Headings from \"./variants/Headings\"\nimport Inputs from \"./variants/Inputs\"\nimport Modals from \"./variants/Modals\"\nimport Texts from \"./variants/Texts\"\nimport Tabs from \"./variants/Tabs\"\nimport Accordions from \"./variants/Accordions\"\nimport Containers from \"./variants/Containers\"\nimport Tables from \"./variants/Tables\"\nimport Alerts from \"./variants/Alerts\"\nimport Selects from \"./variants/Selects\"\n\nconst Components = {\n Accordion: Accordions,\n Alert: Alerts,\n Button: Buttons,\n Checkbox: Checkboxes,\n Container: Containers,\n Heading: Headings,\n Input: Inputs,\n Modal: Modals,\n Select: Selects,\n Tabs: Tabs,\n Text: Texts,\n Table: Tables,\n}\n\nexport default Components\n","const Accordions = {\n baseStyle: {},\n variants: {\n standard: {\n allowMultiple: true,\n container: {\n border: \"none\",\n borderStyle: \"none\",\n color: \"white\",\n width: \"14em\",\n },\n button: {\n justifyContent: \"center\",\n pt: \"2em\",\n pb: \"2em\",\n as: \"Link\",\n bg: \"Primary.800\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"none\",\n boxShadow: \"none\",\n width: \"100%\",\n _hover: {\n borderRadius: \"none\",\n bg: \"Primary.900\",\n textDecoration: \"underline\",\n },\n panel: {\n bg: \"Primary.700\",\n },\n },\n },\n dataSets: {\n allowMultiple: true,\n font: \"body\",\n root: {\n margin: \"0\",\n },\n container: {\n border: \"none\",\n borderStyle: \"none\",\n color: \"white\",\n },\n button: {\n paddingLeft: \"1em\",\n bg: \"Primary.700\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"none\",\n boxShadow: \"none\",\n width: \"100%\",\n _hover: {\n bg: \"Primary.800\",\n },\n },\n panel: {\n paddingLeft: \"2em\",\n bg: \"Primary.700\",\n pb: \"0.25em\",\n pt: \"0.25em\",\n },\n },\n },\n}\n\nexport default Accordions\n","const Alerts = {\n baseStyle: {\n container: {\n padding: \"1em\",\n borderRadius: \"0.5em\",\n },\n },\n variants: {\n standard: {\n container: {\n mt: \"0.5em\",\n mb: \"0.5em\",\n padding: \"0.5em\",\n borderRadius: \"0.5em\",\n bg: \"Alert\",\n color: \"black\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n },\n },\n}\n\nexport default Alerts\n","const Buttons = {\n baseStyle: {},\n variants: {\n mdlClose: {\n color: \"white\",\n bg: \"BrandAccent\",\n _hover: {\n color: \"black\",\n bg: \"BrandAccentLight\",\n },\n },\n primary: {\n color: \"white\",\n borderRadius: \"lg\",\n bg: \"Primary.500\",\n p: \"2\",\n _hover: {\n bg: \"Primary.600\",\n color: \"white\",\n _disabled: {\n bg: \"Gray.400\",\n opacity: 1,\n },\n },\n _disabled: {\n bg: \"Gray.400\",\n opacity: 1,\n },\n },\n secondary: {\n color: \"white\",\n borderRadius: \"lg\",\n bg: \"Secondary.500\",\n _hover: {\n bg: \"Secondary.600\",\n color: \"white\",\n _disabled: {\n bg: \"Gray.400\",\n color: \"white\",\n },\n },\n _disabled: {\n bg: \"Gray.400\",\n color: \"white\",\n },\n },\n grayRounded: {\n color: \"white\",\n borderRadius: \"full\",\n bg: \"Gray.500\",\n _hover: {\n bg: \"Gray.600\",\n color: \"white\",\n },\n },\n outline: {\n color: \"white\",\n border: \"1px\",\n borderColor: \"white\",\n bg: \"none\",\n _hover: {\n bg: \"Brand.PrimaryDark\",\n color: \"white\",\n },\n },\n standardSqr: {\n color: \"white\",\n bg: \"Brand.Secondary\",\n _hover: {\n bg: \"Brand.SecondaryDark\",\n color: \"white\",\n _disabled: {\n bg: \"Gray.400\",\n color: \"Gray.600\",\n },\n },\n _disabled: {\n bg: \"Gray.400\",\n color: \"Gray.600\",\n },\n },\n link: {\n padding: \"0.5em\",\n color: \"white\",\n bg: \"Secondary.80\",\n borderRadius: \"0\",\n boxShadow: \"none\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontSize: \"1.25em\",\n fontWeight: \"100\",\n _hover: {\n bg: \"secondary\",\n },\n },\n profile: {\n padding: \"0.5em\",\n color: \"white\",\n bg: \"transparent\",\n borderRadius: \"0\",\n boxShadow: \"none\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: \"100\",\n _hover: {\n bg: \"secondary\",\n },\n },\n table: {\n size: \"sm\",\n color: \"Primary.500\",\n bg: \"Gray.100\",\n _hover: {\n bg: \"Secondary.30\",\n },\n },\n filter: {\n borderRadius: \"8em\",\n height: \"2em\",\n width: \"fit-content\",\n pl: \"0.4em\",\n pr: \"0.4em\",\n fontSize: \"0.85em\",\n color: \"white\",\n bg: \"Primary.500\",\n _hover: {\n bg: \"primaryDark\",\n color: \"white\",\n },\n },\n clearFilter: {\n borderRadius: \"8em\",\n height: \"2em\",\n width: \"fit-content\",\n pl: \"0.4em\",\n pr: \"0.4em\",\n fontSize: \"0.85em\",\n color: \"Secondary.500\",\n _hover: {\n color: \"Secondary.600\",\n },\n },\n account: {\n color: \"Accent.700\",\n bg: \"Gray.100\",\n borderRadius: \"1em\",\n minWidth: \"100%\",\n height: \"3em\",\n _hover: {\n bg: \"Gray.200\",\n },\n },\n },\n}\n\nexport default Buttons\n","const Checkboxes = {\n baseStyle: {\n label: {\n color: \"white\",\n fontFamily: \"body\",\n },\n },\n variants: {\n standard: {\n control: {\n borderColor: \"Primary.500\",\n bg: \"white\",\n _checked: {\n bg: \"Primary.500\",\n borderColor: \"Primary.500\",\n _hover: {\n bg: \"primaryLight\",\n borderColor: \"Primary.500\",\n },\n },\n _hover: {\n bg: \"primaryLight\",\n },\n _disabled: {\n color: \"Gray.900\",\n borderColor: \"Gray.300\",\n },\n },\n },\n standardModal: {\n control: {\n borderColor: \"Primary.500\",\n bg: \"white\",\n _checked: {\n bg: \"Primary.500\",\n borderColor: \"Primary.500\",\n _hover: {\n bg: \"primaryLight\",\n borderColor: \"Primary.500\",\n },\n },\n _hover: {\n bg: \"primaryLight\",\n },\n },\n },\n },\n}\n\nexport default Checkboxes\n","const Containers = {\n baseStyle: {},\n variants: {\n viewStandard: {\n display: \"flex\",\n flexDirection: \"row\",\n margin: \"0\",\n padding: \"0\",\n height: \"100vh\",\n width: \"100vw\",\n },\n contentStandard: {\n width: \"16em\",\n padding: \"1em\",\n display: \"flex\",\n flexDirection: \"column\",\n bg: \"Gray.500\",\n overflow: \"auto\",\n },\n menuStandard: {\n display: \"flex\",\n flexDirection: \"column\",\n width: \"14em\",\n height: \"100%\",\n padding: \"0\",\n bg: \"Primary.700\",\n justifyContent: \"flex-start\",\n },\n },\n}\n\nexport default Containers\n","const Headings = {\n baseStyle: {},\n variants: {\n standard: {\n color: \"white\",\n fontFamily: \"heading\",\n fontWeight: 500,\n m: 0,\n },\n standardBlack: {\n color: \"black\",\n fontFamily: \"heading\",\n fontWeight: 500,\n },\n standardSub: {\n fontFamily: \"heading\",\n fontWeight: 400,\n fontSize: \"1.75em\",\n },\n standardMicro: {\n fontFamily: \"heading\",\n fontWeight: 400,\n fontSize: \"1.25em\",\n },\n base: {\n color: \"black\",\n size: [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"3xl\"],\n },\n },\n}\n\nexport default Headings\n","const Inputs = {\n baseStyle: {},\n variants: {\n standard: {\n field: {\n borderRadius: 100,\n },\n addon: {\n borderRadius: 100,\n },\n background: \"white\",\n borderRadius: \"smallRadii\",\n },\n standardAddon: {\n size: \"sm\",\n addon: {\n padding: \"0.5em\",\n borderRadius: \"0.5em\",\n bg: \"Gray.200\",\n fontWeight: \"bold\",\n },\n field: {\n bg: \"Gray.200\",\n padding: \"lg\",\n borderRadius: \"lg\",\n },\n },\n primary: {\n background: \"white\",\n borderRadius: \"sm\",\n borderColor: \"Gray.200\",\n field: {\n bg: \"Gray.100\",\n },\n },\n filter: {\n field: {\n maxHeight: \"1.5em\",\n padding: \"0.25em\",\n bg: \"Gray.100\",\n borderStyle: \"none\",\n borderRadius: \"0.25em\",\n },\n },\n account: {\n field: {\n color: \"white\",\n opacity: \"95%\",\n fontSize: \"1.2em\",\n borderRadius: \"0\",\n bg: \"transparent\",\n pt: \"0.5vh\",\n pb: \"0.5vh\",\n pl: \"0em\",\n borderStyle: \"solid\",\n borderColor: \"white\",\n borderWidth: \"0 0 1px 0\",\n _placeholder: {\n color: \"white\",\n opacity: \"75%\",\n },\n },\n addon: {\n color: \"white\",\n opacity: \"95%\",\n fontSize: \"1.2em\",\n borderRadius: \"0\",\n bg: \"transparent\",\n padding: \"0\",\n borderStyle: \"solid\",\n borderColor: \"white\",\n borderWidth: \"0 0 1px 0\",\n },\n },\n accountPlaceholder: {\n field: {\n color: \"white\",\n opacity: \"95%\",\n fontSize: \"1.2em\",\n borderRadius: \"0\",\n bg: \"transparent\",\n borderStyle: \"solid\",\n borderColor: \"white\",\n borderWidth: \"0 0 1px 0\",\n },\n addon: {\n bg: \"transparent\",\n borderRadius: \"0\",\n color: \"white\",\n fontSize: \"1.2em\",\n padding: \"0.5em\",\n borderStyle: \"solid\",\n borderColor: \"white\",\n borderWidth: \"0 0 1px 0\",\n },\n },\n },\n}\n\nexport default Inputs\n","const Modals = {\n baseStyle: {},\n sizes: {\n standard: {\n height: \"90%\",\n maxW: \"90%\",\n overflowY: \"auto\",\n },\n },\n variants: {\n standard: {\n dialog: {\n height: \"85%\",\n maxW: \"90%\",\n overflowY: \"auto\",\n color: \"black\",\n },\n closeButton: {\n variant: \"grayRounded\",\n },\n },\n pricing: {\n dialog: {\n maxW: \"60%\",\n maxH: \"80%\",\n overflowY: \"auto\",\n color: \"black\",\n },\n closeButton: {\n color: \"white\",\n bg: \"Primary.500\",\n _hover: {\n bg: \"primaryLight\",\n },\n },\n },\n mini: {\n body: {\n pl: \"8\",\n pr: \"8\",\n pb: \"8\",\n pt: \"4\",\n },\n closeButton: {\n variant: \"grayRounded\",\n },\n header: {\n pl: \"8\",\n pr: \"8\",\n pb: \"0\",\n },\n },\n dataUpload: {\n dialogContainer: {\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dialog: {\n maxW: \"30em\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n color: \"black\",\n },\n closeButton: {\n variant: \"grayRounded\",\n },\n body: {\n padding: \"0\",\n justifyContent: \"space-between\",\n },\n footer: {\n justifyContent: \"space-between\",\n },\n },\n },\n}\n\nexport default Modals\n","const Selects = {\n default: {},\n variants: {\n filter: {\n field: {\n height: \"2em\",\n fontSize: \"0.85em\",\n bg: \"white\",\n color: \"black\",\n fontWeight: 500,\n padding: \"0.25em\",\n borderRadius: \"8em\",\n },\n },\n filterOperand: {\n field: {\n fontSize: \"0.75em\",\n height: \"1.8em\",\n bg: \"secondaryLight\",\n color: \"black\",\n fontWeight: 500,\n padding: \"0.25em\",\n borderRadius: \"0.25em\",\n mt: \"0.1em\",\n mb: \"0.1em\",\n },\n icon: {\n iconSize: \"1em\",\n },\n },\n },\n}\n\nexport default Selects\n","const Tabs = {\n baseStyle: {},\n variants: {\n base: {\n root: {\n margin: \"0\",\n height: \"calc(100vh - 10em)\",\n },\n tabpanels: {\n padding: \"1em\",\n height: \"100%\",\n bg: \"white\",\n boxShadow: \"0 7px 7px 0 rgba(0, 0, 0, 0.5)\",\n borderRadius: \"0 0.75em 0.75em 0.75em\",\n },\n tabpanel: {\n padding: \"0em\",\n height: \"100%\",\n width: \"100%\",\n overflowY: \"auto\",\n },\n tab: {\n height: \"2em\",\n color: \"Gray.700\",\n bg: \"Gray.100\",\n fonts: \"heading\",\n spacing: \"0.5em\",\n fontSize: \"1.5em\",\n borderStyle: \"none\",\n boxShadow: \"none\",\n fontWeight: \"100\",\n textDecoration: \"none\",\n borderRadius: \"0.4em 0.4em 0 0\",\n _hover: {\n color: \"Gray.800\",\n bg: \"Gray.300\",\n textDecoration: \"none\",\n _disabled: {\n textDecoration: \"none\",\n },\n },\n _disabled: {\n color: \"Gray.300\",\n },\n _selected: {\n bg: \"Gray.200\",\n color: \"Gray.500\",\n borderStyle: \"solid\",\n borderColor: \"Primary.500\",\n borderWidth: \"0 0 0.1em 0\",\n },\n },\n },\n standard: {\n marginLeft: \"0\",\n root: {\n justifySelf: \"flex-start\",\n },\n tabpanel: {\n margin: \"0.5em\",\n padding: \"0\",\n },\n tab: {\n height: \"2em\",\n color: \"Gray.700\",\n fonts: \"heading\",\n spacing: \"0.5em\",\n fontSize: \"1.5em\",\n borderRadius: \"0\",\n borderStyle: \"none\",\n boxShadow: \"none\",\n fontWeight: \"100\",\n textDecoration: \"none\",\n _hover: {\n color: \"Gray.800\",\n bg: \"Gray.200\",\n borderRadius: \"0.4em 0.4em 0 0\",\n textDecoration: \"none\",\n _disabled: {\n textDecoration: \"none\",\n },\n },\n _disabled: {\n color: \"Gray.300\",\n bg: \"none\",\n },\n _selected: {\n color: \"Gray.500\",\n borderStyle: \"solid\",\n borderColor: \"Primary.500\",\n borderWidth: \"0 0 0.1em 0\",\n },\n },\n },\n },\n}\n\nexport default Tabs\n","const Texts = {\n baseStyle: {\n color: \"black\",\n fontFamily: \"body\",\n },\n variants: {\n subtext: {\n color: \"white\",\n fontWeight: \"subtextWeight\",\n opacity: 0.75,\n },\n card: {\n color: \"black\",\n fontSize: \"0.9em\",\n },\n register: {\n color: \"black\",\n fontSize: \"1.3em\",\n fontStyle: \"italic\",\n },\n base: {\n color: \"black\",\n fontSize: [\"0.9em\", \"0.95em\", \"1em\", \"1.1em\", \"1.2em\", \"1.5em\"],\n },\n },\n}\n\nexport default Texts\n","const Tables = {\n baseStyle: {},\n variants: {\n standard: {\n table: {\n mt: \"0em\",\n bg: \"white\",\n borderRadius: \"0.5em\",\n },\n thead: {\n position: \"sticky\",\n top: \"0\",\n borderBottom: \"1px solid\",\n borderColor: \"Gray.300\",\n borderRadius: \"0.5em\",\n bg: \"Gray.50\",\n },\n },\n dataTable: {\n table: {\n mt: \"0em\",\n bg: \"white\",\n borderRadius: \"0.5em\",\n tableLayout: \"fixed\",\n width: \"100%\",\n overflowY: \"auto\",\n },\n thead: {\n position: \"sticky\",\n top: \"0\",\n borderBottom: \"1px solid\",\n borderColor: \"Gray.300\",\n borderRadius: \"0.5em\",\n bg: \"Gray.50\",\n },\n td: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n fontSize: \"0.8em\",\n padding: \"1em\",\n },\n th: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n fontSize: \"0.8em\",\n padding: \"1em\",\n },\n },\n },\n}\n\nexport default Tables\n","const FontSizes = {\n headerSize: 500,\n standardSize: 400,\n subtextSize: 300,\n}\n\nexport default FontSizes\n","import { extendTheme } from \"@chakra-ui/react\"\nimport Colors from \"./theme/Colors\"\nimport Fonts from \"./theme/Fonts\"\nimport FontWeight from \"./theme/FontWeights\"\nimport BorderRadii from \"./theme/BorderRadii\"\nimport GlobalStyle from \"./theme/GlobalStyles\"\nimport Components from \"./theme/Components\"\nimport FontSizes from \"./theme/FontSizes\"\n\nconst CustomTheme = extendTheme({\n colors: Colors,\n fonts: Fonts,\n fontWeight: FontWeight,\n fontSize: FontSizes,\n borderRadius: BorderRadii,\n styles: GlobalStyle,\n components: Components,\n})\n\nexport default CustomTheme\n","import React from \"react\"\nimport ReactDOM from \"react-dom/client\"\nimport \"./index.css\"\nimport Routes from \"./App\"\nimport reportWebVitals from \"./reportWebVitals\"\nimport { RouterProvider, createBrowserRouter } from \"react-router-dom\"\nimport { ChakraProvider } from \"@chakra-ui/react\"\nimport { GoogleOAuthProvider } from \"@react-oauth/google\"\nimport CustomTheme from \"./components/CustomTheme\"\nimport env from \"./lib/env\"\n\nconst router = createBrowserRouter(Routes)\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"))\nconst googleClientId =\n process.env.BLINDINSIGHT_GOOGLE_CLIENT_ID || env.BLINDINSIGHT_GOOGLE_CLIENT_ID\n\nroot.render(\n \n \n \n \n ,\n)\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals()\nwindow.Intercom(\"boot\", {\n api_base: \"https://api-iam.intercom.io\",\n app_id: \"gldix7ww\",\n name: sessionStorage.getItem(\"auth.username\"), // Full name\n email: sessionStorage.getItem(\"auth.username\"), // the email for your user\n //created_at: \"user.createdAt\", // Signup date as a Unix timestamp\n})\n\nwindow.Intercom(\"update\")\n","module.exports = exports = {\n BLINDINSIGHT_PROXY_URL: \"https://proxy.local.blindinsight.io\",\n BLINDINSIGHT_UI_SENTRY_DSN: \"\",\n BLINDINSIGHT_STRIPE_PUBLISHABLE_KEY:\n \"pk_test_51OyyPU2LBQb5RXBfjukfne8e0AJHcEfZoGRSRB9N64deDU8vLbTB9R0SX5G6n8h740WDynuRkbnu6rFDwnoDzRSH00mtUSyLKT\",\n BLINDINSIGHT_STRIPE_PRICING_TABLE_ID: \"prctbl_1QII1e2LBQb5RXBfgULwkpoj\",\n BLINDINSIGHT_STRIPE_BILLING_URL:\n \"https://billing.stripe.com/p/login/test_bIYaHT0Ub6xw21qbII\",\n BLINDINSIGHT_GOOGLE_CLIENT_ID:\n \"258925018220-f7a0nql23g3fcb94ubq3ihj13o2ov8on.apps.googleusercontent.com\",\n}\n"],"names":["createState","CurrentUser","Organizations","CurrentOrgId","CurrentOrg","Datasets","Schemas","DatasetSchemas","HashedSchemas","JobStatus","FileName","FileError","ApiError","UploadProgress","UploadStatus","IsUploading","UploadBatchStatus","Store","name","stores","currentUser","organizations","datasets","schemas","datasetSchemas","hashedSchemas","jobStatus","fileName","fileError","uploadProgress","isUploading","apiError","uploadBatchStatus","Error","Limit","Offset","CurrentFilters","Pagination","limit","value","offset","Alerts","DontShowAgainList","AlertType","ERROR","WARNING","INFO","SUCCESS","addAlert","type","source","content","id","duration","arguments","length","undefined","dontShowAgain","Object","values","includes","console","warn","currentAlerts","getValue","some","alert","newAlerts","map","timestamp","Date","toISOString","setValue","setTimeout","removeAlertById","filter","removeAlertBySource","clearAlerts","isEmpty","constructor","keys","onChange","fn","e","target","async","unrollError","error","message","payload","json","detail","JSON","stringify","createStripeCustomer","api","Api","resp","stripeCreateCustomer","log","AUTH_EMAIL","AUTH_ORGANIZATION_ID","DEFAULT_LIMIT","updateDatasetSchemas","data","datasetMap","schema","dataset","datasetId","replace","split","pop","push","updateValue","Set","options","this","process","key","getAuthUsername","sessionStorage","getItem","makeApiUrl","path","fetch","uri","headers","csrftoken","Cookies","get","debug","params","url","URL","searchParams","entries","search","URLSearchParams","toString","credentials","status","ok","statusText","Response","call","callback","linkHeader","countHeader","_links$rel$","_links$rel$2","_links$rel$3","links","LinkHeader","defineProperty","first","rel","next","last","writable","enumerable","parseInt","setOrFindOrganization","currentOrgId","setItem","currentOrg","find","org","clearAuth","removeItem","getCsrfToken","csrfToken","googleLogin","credential","clientId","set","domain","secure","sameSite","expires","method","body","provider","token","client_id","id_token","then","res","window","location","href","accountsLogin","email","password","login","accountsLogout","accountsRegister","fullName","organizationName","nameParts","firstName","lastName","slice","join","first_name","last_name","organization_name","password_confirm","accountsVerifyRegistration","user_id","signature","accountsChangePassword","oldPassword","passwordConfirm","old_password","accountsSendPasswordResetLink","accountsResetPassword","datasetsRetrieve","datasetsList","organizationId","organization","datasetsCreate","description","orgUrl","jobsUpload","fileType","jobsWebsocket","socket","WebSocket","throttledSetState","throttle","lastMessageStatus","onopen","onmessage","event","parse","processed","total","progress","Math","round","flush","close","onerror","errorMessage","onclose","_lastMessageStatus","_lastMessageStatus2","schemasCreate","datasetUrl","schemasRetrieve","schemasList","schemasDecrypt","recordsList","schemaId","recordsSearch","filters","recordsDecrypt","records","usersByNameRetrieve","usersSelfRetrieve","setAuth","_ref","currentUserRetrieve","user","username","organizationsList","organizationsRetrieve","organizationsCreate","organizationsUpdate","slug","organizationsUsersList","orgId","organizationsUsersPartialUpdate","userId","isAdmin","is_admin","organizationsInvitationsCreate","statusRetrieve","UserIsLoggedIn","loggedIn","UserRetrieve","AccountLayout","children","React","SimpleGrid","minChildWidth","gap","minHeight","Message","VStack","alignItems","justifyContent","GradientBox","w","h","p","bgGradient","Image","width","base","md","src","Logo","alt","Link","props","ChakraLink","_extends","as","ReactRouterLink","Login","setUsername","setPassword","setError","success","setSuccess","inputType","setInputType","navigate","useNavigate","Heading","variant","Form","onSubmit","preventDefault","UserLogin","Text","Alert","mt","display","flexDirection","minWidth","spacing","Input","placeholder","autoComplete","label","isRequired","InputGroup","InputRightAddon","Tooltip","IconButton","icon","ViewIcon","ViewOffIcon","onClick","toggleVisibility","ml","textDecoration","to","alignContent","Button","GoogleLogin","onSuccess","response","onError","shape","text","context","ux_mode","redirectToRegister","color","LoginView","pt","columns","EmmeLogo","CallBoxLogo","LaconicLogo","GdahaLogo","ProfileMenu","useRouteLoaderData","useState","isMobile","useBreakpointValue","menuContent","Stack","direction","bgColor","FormControl","FormLabel","Select","defaultValue","Intercom","QuestionIcon","Menu","MenuButton","SettingsIcon","height","padding","mr","MenuList","MenuItem","Accordion","allowToggle","position","bottom","maxW","zIndex","AccordionItem","AccordionButton","AccordionPanel","Sidebar","_datasetSchemas$datas","useParams","logoSrc","MobileHomeIcon","logo","selectedDataset","selectedSchema","selectedDatasetSchemas","selected","Box","mobileMenus","Flex","overflow","rightIcon","ChevronDownIcon","textOverflow","whiteSpace","pr","isDisabled","bg","overflowY","css","flexShrink","scrollbar","margin","mb","defaultIndex","findIndex","index","ErrorView","errorObject","maxWidth","maxHeight","size","AuthRequired","auth","useLoaderData","Outlet","AuthRequiredError","useRouteError","isRouteErrorResponse","stack","FetchDatasetsSchemas","loader","redirect","AlertDropDown","alerts","dontShowAgainList","setDontShowAgainList","currentIndex","setCurrentIndex","copyLabel","setCopyLabel","isChecked","setIsChecked","currentAlert","totalAlerts","handleDontShowAgain","newList","localStorage","alertStatus","warning","info","alertBorderColor","left","transform","top","lg","borderRadius","boxShadow","AlertIcon","pl","fontWeight","background","right","textToCopy","navigator","clipboard","writeText","err","opacity","_hover","CopyIcon","align","navigatePrev","prev","ChevronLeftIcon","fontSize","navigateNext","ChevronRightIcon","handleRemoveAlert","max","cursor","Checkbox","borderColor","colorScheme","handleCheck","Footer","useLocation","pb","isExternal","onOpen","state","backgroundLocation","setOrg","setOrgId","_currentUser$organiza","sessionOrgId","matching","Pixel","Helmet","SidebarLayout","flex","Breadcrumb","separator","getBreadcrumbs","breadcrumbs","pathname","current","addOrganizationBreadcrumb","crumb","BreadcrumbItem","isCurrentPage","BreadcrumbLink","SchemaTabs","getTabIndex","Tabs","TabList","Tab","style","TabPanels","TabPanel","AccountsActivate","useSearchParams","setActivated","activate","getSuccessMessage","catch","r","textAlign","m","AccountsActivateView","activated","Icon","viewBox","boxSize","fill","d","Account","_user$settings","_user$settings$stripe","editMode","setEditMode","setCurrentOrg","className","InputLeftAddon","IconSave","IconEdit","settings","stripe","product_name","MdManageAccounts","open","AccountView","ChoosePlanView","DatasetDetail","setDataset","setSchemasList","flexDir","AddIcon","title","TableContainer","Table","Thead","Tr","Td","Tbody","row","_row$schema","properties","DatasetDetailView","DatasetCard","count","setOpen","handleSubmit","elements","handleClose","handleOpen","borderTopRadius","datasetCard","Modal","isOpen","onClose","ModalOverlay","ModalContent","ModalHeader","ModalCloseButton","ModalBody","Spacer","buttonStyle","WebkitBoxOrient","WebkitLineClamp","DatasetsList","flexWrap","OrderedList","ListItem","DatasetListView","Debug","DebugView","DevTable","names","lastNames","ages","genders","addresses","telephoneNumbers","tableData","generateTableData","i","floor","random","age","gender","address","telephone","Th","DevAlert","addInfoAlert","addThreeInfoAlerts","addErrorAlert","addThreeErrorAlerts","addWarningAlert","addThreeWarningAlerts","addSuccessAlert","addThreeSuccessAlerts","clearAllAlerts","HStack","SmallCloseIcon","Divider","borderWidth","addOneOfEachAlert","addThreeOfEachAlert","CloseIcon","addAlertsWith4Sources","addTimedAlerts","addLengthErrorAlert","randomString","Array","from","String","fromCharCode","Textarea","clearFileAlerts","clearDatabaseAlerts","clearApiAlerts","clearUserAlerts","addDontShowAgainAlert","clearDontShowAgainState","DevTest","DevTestView","ForgotPassword","setLinkSent","setToEmail","Boolean","resetPassword","ForgotPasswordView","linkSent","toEmail","LogoutView","UserLogout","POST_ACTIVATION_REDIRECT_URL","OrganizationCreate","orgs","OrganizationCreateView","PageNotFound","PageNotFoundView","ProfileView","passwordError","setPasswordError","ModalFooter","float","Profile","RegisterConfirm","RegisterConfirmView","fontSie","TOU","Register","TOSState","setTOSState","orgName","UserRegister","checked","handleConfirmedClose","redirectToLogin","RegisterView","ResetPassword","setResetSuccess","setResetError","ResetPasswordView","resetSuccess","resetError","BIJSONEditor","refContainer","refEditor","JSONEditor","destroy","updateProps","ref","SchemaCreate","jsonContent","setJsonContent","minimum","maximum","required","onChangeJSON","updatedContent","previousContent","sm","GridItem","colSpan","readOnly","mode","mainMenuBar","alignSelf","AlertTitle","UnorderedList","SchemaCreateView","SchemaDetail","_schema$schema","rows","_schema$schema2","_schema$schema2$requi","allowed","enum","v","Grid","xs","constraints","precision","format","c","sx","border","SchemaDetailView","create","selectedFile","setSelectedFile","file","clearSelectedFile","UploadRecords","fileInputRef","jobId","setJobId","setJobStatus","setFileName","setFileError","setUploadProgress","setIsUploading","useFileStore","parseFile","Promise","resolve","reject","reader","FileReader","onload","fileContent","result","handleCSV","handleJSON","csv","Papa","header","skipEmptyLines","transformHeader","trim","errors","schemaHeader","isArray","schemaUrl","record","readAsText","aspectRatio","Progress","min","onDrop","dataTransfer","files","onDragOver","click","stopPropagation","accept","justify","job_id","DEFAULT_PAGES","NoDataDisplay","paddingBottom","allow","allowFullScreen","overflowWrap","FaFile","FaDownload","HasProxyDataDisplay","uploadState","onUploadStateChange","onUpdateRecords","fileDropProps","flexGrow","minH","minW","LoadingDataDisplay","Spinner","thickness","ErrorDisplay","_ref2","WarningTwoIcon","DataTable","_ref3","_error$message","_table$getRowModel$ro","EncryptButton","hasProxy","isLoading","initialSortingState","initialColumnVisibility","filterIsOpen","rowCount","onFileChange","onFileDrop","onOpenAttachment","onClearFile","sorting","setSorting","columnVisibility","setColumnVisibility","setLimit","setOffset","setPagination","handlePageSizeChange","newSize","Number","currentStartRow","newPageIndex","newOffset","pageIndex","pageSize","handlePaginationChange","newPagination","newLimit","isNaN","table","useReactTable","initialState","pagination","autoResetPageIndex","enableColumnResizing","columnResizeMode","defaultColumn","getCoreRowModel","onSortingChange","getSortedRowModel","getPaginationRowModel","onPaginationChange","manualPagination","onColumnVisibilityChange","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues","maxH","wrap","getState","getCanPreviousPage","ArrowBackIcon","getPageCount","getCanNextPage","ArrowForwardIcon","page","setPageIndex","getRowCount","n","toLocaleString","minimumFractionDigits","maximumFractionDigits","overflowX","CKTable","getHeaderGroups","headerGroup","meta","column","columnDef","isNumeric","getSize","getToggleSortingHandler","isPlaceholder","flexRender","getContext","getCanResize","onDoubleClick","resetSize","onMouseDown","getResizeHandler","onTouchStart","getIsResizing","getIsSorted","TriangleDownIcon","TriangleUpIcon","closeOnSelect","getFilterValue","SearchIcon","Search2Icon","isRound","getCanFilter","Filter","FaTrash","setFilterValue","getRowModel","shadow","getVisibleCells","cell","Tfoot","getFooterGroups","footerGroup","footer","_ref4","_table$getPreFiltered","_column$getFacetedMin","_column$getFacetedMin2","_column$getFacetedMin3","_column$getFacetedMin4","_column$getFacetedMin5","_column$getFacetedMin6","_columnFilterValue$","_column$getFacetedMin7","_column$getFacetedMin8","_column$getFacetedMin9","_column$getFacetedMin10","_column$getFacetedMin11","_column$getFacetedMin12","_column$getFacetedMin13","_column$getFacetedMin14","_column$getFacetedMin15","_columnFilterValue$2","_column$getFacetedMin16","_column$getFacetedMin17","_column$getFacetedMin18","_columnFilterValue$3","_columnFilterValue$4","_column$getFilterValu","firstValue","getPreFilteredRowModel","flatRows","columnFilterValue","columnType","getType","facets","customFacets","Map","k","prevValue","sortedUniqueValues","sort","toLowerCase","old","SingleDatepicker","date","onDateChange","newStartDate","propsConfigs","inputProps","configs","dateFormat","newEndDate","CheckboxGroup","list","variable","encrypted","locked","fillRule","clipRule","unlocked","TableFilter","setSearchParams","clearFilters","newParams","fromEntries","setFilters","operator","value2","handleSearch","newFilters","reduce","acc","newValue","handleAddFilter","handleRemoveFilter","handleInputChange","filterMenuItems","nameA","nameB","localeCompare","verticalAlign","_filter$label","_properties$filter$la","_properties$filter$la2","maxheight","searchValue","searchValue2","MinusIcon","FaFilter","FaX","SchemaRecordsList","setIsLoading","currentFilters","setRecords","hashedSchema","setEncrypted","canDecryptSchema","setCanDecryptSchema","isDataOwner","_user$email","startsWith","canDecryptRecords","setCanDecryptRecords","missingRecords","setMissingRecords","decryptedRecords","setDecryptedRecords","pendingRecords","setPendingRecords","pendingSchema","setPendingSchema","RecordType","x","typeMap","string","number","integer","recordMap","inverted","changed","missing","hasStatus","setHasStatus","getStatus","behind_proxy","pending","newDecrypted","toggleEncryption","fieldNames","flattenedKeys","flat","uniqueKeys","_hashedSchema$key","_properties$name","accessorKey","field","subscribe","updateRecords","setIsOpen","clearStates","IconLock","CircularProgress","FaUpload","openModal","closeModal","SchemaRecordsListView","Users","_selectedUser$user","userEditOpen","setUserEditOpen","userCreateOpen","setUserCreateOpen","selectedUser","setSelectedUser","handleUserEditOpen","handleUserEditClose","handleUserCreateClose","orgOwner","owner","organization_user","currentOrgUser","organization_users","ou","orgUsers","shouldDisableIsAdmin","orgUser","handleUserCreateOpen","is_active","getUserRole","disabled","defaultChecked","UsersView","AccountTabs","TOSView","createRoutesFromElements","Route","element","exact","errorElement","Navigate","CurrentOrganization","DatasetsListView","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","Primary","Secondary","Accent","Gray","heading","mono","headerWeight","textWeight","subtextWeight","global","backgroundColor","userSelect","touchAction","baseStyle","variants","standard","allowMultiple","container","borderStyle","button","panel","dataSets","font","root","paddingLeft","mdlClose","primary","_disabled","secondary","grayRounded","outline","standardSqr","link","profile","clearFilter","account","fontFamily","control","_checked","standardModal","Container","viewStandard","contentStandard","menuStandard","standardBlack","standardSub","standardMicro","addon","standardAddon","_placeholder","accountPlaceholder","sizes","dialog","closeButton","pricing","mini","dataUpload","dialogContainer","default","filterOperand","iconSize","tabpanels","tabpanel","tab","fonts","_selected","marginLeft","justifySelf","subtext","card","register","fontStyle","thead","borderBottom","dataTable","tableLayout","td","th","headerSize","standardSize","subtextSize","extendTheme","colors","Colors","Fonts","FontWeight","FontSizes","BorderRadii","styles","GlobalStyle","components","Components","router","createBrowserRouter","Routes","ReactDOM","document","getElementById","render","GoogleOAuthProvider","ChakraProvider","theme","CustomTheme","RouterProvider","reportWebVitals","api_base","app_id","module","exports","BLINDINSIGHT_PROXY_URL","BLINDINSIGHT_UI_SENTRY_DSN","BLINDINSIGHT_STRIPE_PUBLISHABLE_KEY","BLINDINSIGHT_STRIPE_PRICING_TABLE_ID","BLINDINSIGHT_STRIPE_BILLING_URL","BLINDINSIGHT_GOOGLE_CLIENT_ID"],"sourceRoot":""}