From 22e08294267656c4bcdf2f21be40cc2bec79b266 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Tue, 23 Sep 2025 15:03:03 +0200 Subject: [PATCH 01/15] infrastructure changes to allow integrations grid --- docs/integrations/index_new.mdx | 0 docusaurus.config.en.js | 5 + plugins/integration-extractor-plugin.js | 106 ++++++++++++++++++ sidebars.js | 1 + src/components/CUICard/CUICard.tsx | 56 +++++++++ src/components/CUICard/index.tsx | 1 + src/components/CUICard/styles.module.scss | 11 ++ .../IntegrationGrid/IntegrationGrid.tsx | 57 ++++++++++ src/components/IntegrationGrid/index.tsx | 1 + .../IntegrationGrid/styles.module.scss | 22 ++++ static/integrations.json | 47 ++++++++ 11 files changed, 307 insertions(+) create mode 100644 docs/integrations/index_new.mdx create mode 100644 plugins/integration-extractor-plugin.js create mode 100644 src/components/CUICard/CUICard.tsx create mode 100644 src/components/CUICard/index.tsx create mode 100644 src/components/CUICard/styles.module.scss create mode 100644 src/components/IntegrationGrid/IntegrationGrid.tsx create mode 100644 src/components/IntegrationGrid/index.tsx create mode 100644 src/components/IntegrationGrid/styles.module.scss create mode 100644 static/integrations.json diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docusaurus.config.en.js b/docusaurus.config.en.js index 125244df775..db877279a5b 100644 --- a/docusaurus.config.en.js +++ b/docusaurus.config.en.js @@ -11,6 +11,7 @@ const codeImportPlugin = require('./plugins/code-import-plugin'); const { customParseFrontMatter } = require('./plugins/frontmatter-validation/customParseFrontMatter'); const checkFloatingPages = require('./plugins/checkFloatingPages'); const frontmatterValidator = require('./plugins/frontmatter-validation/frontmatterValidatorPlugin'); +const integrationExtractor = require('./plugins/integration-extractor-plugin'); import pluginLlmsTxt from './plugins/llms-txt-plugin.ts' import prismLight from "./src/utils/prismLight"; import prismDark from "./src/utils/prismDark"; @@ -356,6 +357,10 @@ const config = { pluginLlmsTxt, {} ], + [ + integrationExtractor, + {} + ], [ './plugins/tailwind-config.js', {} diff --git a/plugins/integration-extractor-plugin.js b/plugins/integration-extractor-plugin.js new file mode 100644 index 00000000000..83c9aa26ed6 --- /dev/null +++ b/plugins/integration-extractor-plugin.js @@ -0,0 +1,106 @@ +const path = require('path'); +const fs = require('fs'); +const matter = require('gray-matter'); + +/** + * Recursively find all .md and .mdx files in a directory + */ +function findMarkdownFiles(dir) { + const files = []; + + function scanDirectory(currentDir) { + try { + const entries = fs.readdirSync(currentDir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = path.join(currentDir, entry.name); + + if (entry.isDirectory()) { + scanDirectory(fullPath); + } else if (entry.isFile() && /\.(md|mdx)$/.test(entry.name)) { + files.push(fullPath); + } + } + } catch (err) { + // Skip directories that can't be read + } + } + + scanDirectory(dir); + return files; +} + +/** + * Plugin to extract integration data and generate static JSON file + */ +function integrationExtractorPlugin(context, options) { + return { + name: 'integration-extractor-plugin', + + async loadContent() { + const integrationsDir = path.join(context.siteDir, 'docs/integrations'); + + // Find all markdown files in the docs/integrations directory + const integrationFiles = findMarkdownFiles(integrationsDir); + const integrations = []; + + integrationFiles.forEach(fullPath => { + try { + const fileContent = fs.readFileSync(fullPath, 'utf8'); + const { data: frontmatter } = matter(fileContent); + + // Only include files that have both integration_type and integration_logo + if (frontmatter.integration_type && frontmatter.integration_logo) { + // Fix logo path for Docusaurus static serving + let logoPath = frontmatter.integration_logo; + if (logoPath.startsWith('/static/')) { + logoPath = logoPath.replace('/static/', '/'); + } + + integrations.push({ + slug: frontmatter.slug, + integration_logo: logoPath, + integration_type: Array.isArray(frontmatter.integration_type) + ? frontmatter.integration_type + : [frontmatter.integration_type], + integration_title: frontmatter.integration_title + }); + } + } catch (err) { + console.warn(`Warning: Could not process file ${fullPath}:`, err.message); + } + }); + + // Sort integrations alphabetically by integration_title, fallback to slug + integrations.sort((a, b) => { + const titleA = a.integration_title || a.slug; + const titleB = b.integration_title || b.slug; + return titleA.localeCompare(titleB); + }); + + console.log(`βœ… Integration extractor: Found ${integrations.length} integrations`); + return integrations; + }, + + async contentLoaded({ content, actions }) { + // Write JSON file to static directory for easy importing + const staticDir = path.join(context.siteDir, 'static'); + const jsonPath = path.join(staticDir, 'integrations.json'); + + // Ensure static directory exists + if (!fs.existsSync(staticDir)) { + fs.mkdirSync(staticDir, { recursive: true }); + } + + fs.writeFileSync(jsonPath, JSON.stringify(content, null, 2)); + console.log(`βœ… Integration extractor: Generated static/integrations.json`); + }, + + async postBuild({ outDir }) { + // Log how many integrations were processed + console.log(`βœ… Integration extractor: Found and processed ${this.loadContent ? (await this.loadContent()).length : 0} integrations`); + } + }; +} + +module.exports = integrationExtractorPlugin; \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 3821783583e..3929376a57d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -475,6 +475,7 @@ const sidebars = { collapsible: false, link: { type: "doc", id: "integrations/language-clients/index" }, items: [ + "integrations/index_new", "interfaces/cpp", "integrations/language-clients/go/index", "integrations/language-clients/js", diff --git a/src/components/CUICard/CUICard.tsx b/src/components/CUICard/CUICard.tsx new file mode 100644 index 00000000000..f3686e4945b --- /dev/null +++ b/src/components/CUICard/CUICard.tsx @@ -0,0 +1,56 @@ +import React, { HTMLAttributes } from 'react' +import styles from './styles.module.scss' + +type CardComponent = React.FunctionComponent> & { + Header: React.FunctionComponent> + Body: React.FunctionComponent> + Footer: React.FunctionComponent> +} + +const CUICard: CardComponent = ({ + children, + className, + ...props +}): JSX.Element => ( +
+ {children} +
+) + +const Header = ({ + children, + className, + ...props +}: HTMLAttributes) => ( +
+ {children} +
+) + +CUICard.Header = Header + +const Body = ({ + children, + className, + ...props +}: HTMLAttributes) => ( +
+ {children} +
+) +CUICard.Body = Body + +const Footer = ({ + children, + className, + ...props +}: HTMLAttributes) => ( +
+ {children} +
+) +CUICard.Footer = Footer + +export default CUICard \ No newline at end of file diff --git a/src/components/CUICard/index.tsx b/src/components/CUICard/index.tsx new file mode 100644 index 00000000000..7ec31939b49 --- /dev/null +++ b/src/components/CUICard/index.tsx @@ -0,0 +1 @@ +export { default } from './CUICard'; \ No newline at end of file diff --git a/src/components/CUICard/styles.module.scss b/src/components/CUICard/styles.module.scss new file mode 100644 index 00000000000..1fd3c95e089 --- /dev/null +++ b/src/components/CUICard/styles.module.scss @@ -0,0 +1,11 @@ +// CUICard styles - to be added + +.cuiCard { + border-radius: .5rem; + background: #323230; + display: flex; + flex-direction: column; + height: 100%; + border-width: 1px; + border-color: rgba(65, 65, 65, .8); +} \ No newline at end of file diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx new file mode 100644 index 00000000000..4b6482a7dc8 --- /dev/null +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +import Link from '@docusaurus/Link'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import CUICard from '@site/src/components/CUICard'; +// @ts-ignore +import integrationsData from '@site/static/integrations.json'; +import styles from './styles.module.scss'; + +type IntegrationData = { + slug: string; + integration_logo: string; + integration_type: string[]; + integration_title?: string; +}; + +export function IntegrationGrid() { + const integrations: IntegrationData[] = integrationsData; + + if (integrations.length === 0) { + return ( +
+

No integrations found with complete metadata.

+
+ ); + } + + return ( +
+ {integrations.map((integration, index) => ( + + + + {`${integration.integration_title + + +

+ {integration.integration_title || integration.slug} +

+
+
+ + ))} +
+ ); +} \ No newline at end of file diff --git a/src/components/IntegrationGrid/index.tsx b/src/components/IntegrationGrid/index.tsx new file mode 100644 index 00000000000..26cf3326f97 --- /dev/null +++ b/src/components/IntegrationGrid/index.tsx @@ -0,0 +1 @@ +export { IntegrationGrid } from './IntegrationGrid'; \ No newline at end of file diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss new file mode 100644 index 00000000000..f952fe675e2 --- /dev/null +++ b/src/components/IntegrationGrid/styles.module.scss @@ -0,0 +1,22 @@ +@use '../../css/breakpoints.scss' as breakpoints; + +.integrationGrid { + + // Mobile first - single column + grid-template-columns: 1fr; + + // Tablet - 2 columns + @media (min-width: breakpoints.$mobile-breakpoint) { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + // Laptop - 3 columns + @media (min-width: breakpoints.$tablet-breakpoint) { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + // Large desktop - 5 columns + @media (min-width: breakpoints.$laptop-breakpoint) { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } +} \ No newline at end of file diff --git a/static/integrations.json b/static/integrations.json new file mode 100644 index 00000000000..f87a89f8b75 --- /dev/null +++ b/static/integrations.json @@ -0,0 +1,47 @@ +[ + { + "slug": "/integrations/clickpipes/kinesis", + "integration_logo": "/images/integrations/logos/amazon_kinesis_logo.svg", + "integration_type": [ + "core", + "data ingestion" + ], + "integration_title": "Amazon Kinesis" + }, + { + "slug": "/integrations/s3", + "integration_logo": "/images/integrations/logos/amazon_s3_logo.svg", + "integration_type": [ + "core", + "data ingestion" + ], + "integration_title": "Amazon S3" + }, + { + "slug": "/integrations/apache-spark", + "integration_logo": "/images/integrations/logos/apache_spark_logo.svg", + "integration_type": [ + "core", + "data ingestion" + ], + "integration_title": "Apache Spark" + }, + { + "slug": "/integrations/fivetran", + "integration_logo": "/images/integrations/logos/fivetran.svg", + "integration_type": [ + "core", + "data ingestion" + ], + "integration_title": "Fivetran" + }, + { + "slug": "/integrations/kafka", + "integration_logo": "/images/integrations/logos/kafka.svg", + "integration_type": [ + "core", + "data ingestion" + ], + "integration_title": "Kafka" + } +] \ No newline at end of file From 89e2a53318873275c2a7b853a841ec23c52222d7 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Tue, 23 Sep 2025 15:03:23 +0200 Subject: [PATCH 02/15] tag documents with integration_type and integration_logo --- .../data-ingestion/apache-spark/index.md | 3 +++ .../data-ingestion/aws-glue/index.md | 1 + .../data-ingestion/clickpipes/kafka/index.md | 1 + .../data-ingestion/clickpipes/kinesis.md | 3 +++ .../data-ingestion/etl-tools/dbt/index.md | 1 + .../data-ingestion/etl-tools/fivetran/index.md | 3 +++ docs/integrations/data-ingestion/kafka/index.md | 3 +++ .../data-ingestion/kafka/msk/index.md | 1 + docs/integrations/data-ingestion/s3/index.md | 3 +++ .../data-visualization/looker-and-clickhouse.md | 1 + .../looker-studio-and-clickhouse.md | 1 + .../metabase-and-clickhouse.md | 1 + .../data-visualization/powerbi-and-clickhouse.md | 1 + .../quicksight-and-clickhouse.md | 1 + .../superset-and-clickhouse.md | 1 + .../tableau/tableau-and-clickhouse.md | 1 + .../tableau/tableau-online-and-clickhouse.md | 1 + docs/integrations/index.mdx | 2 +- docs/integrations/index_new.mdx | 16 ++++++++++++++++ docs/integrations/language-clients/csharp.md | 1 + docs/integrations/language-clients/go/index.md | 1 + docs/integrations/language-clients/java/index.md | 1 + docs/integrations/language-clients/js.md | 1 + .../language-clients/python/index.md | 1 + docs/integrations/language-clients/rust.md | 1 + 25 files changed, 50 insertions(+), 1 deletion(-) diff --git a/docs/integrations/data-ingestion/apache-spark/index.md b/docs/integrations/data-ingestion/apache-spark/index.md index 7e46f668261..ee4a889cb33 100644 --- a/docs/integrations/data-ingestion/apache-spark/index.md +++ b/docs/integrations/data-ingestion/apache-spark/index.md @@ -6,6 +6,9 @@ description: 'Introduction to Apache Spark with ClickHouse' keywords: ['clickhouse', 'Apache Spark', 'migrating', 'data'] title: 'Integrating Apache Spark with ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] +integration_logo: '/static/images/integrations/logos/apache_spark_logo.svg' +integration_title: 'Apache Spark' --- import Tabs from '@theme/Tabs'; diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index e73296c824a..c2035d67bcb 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -6,6 +6,7 @@ description: 'Integrate ClickHouse and Amazon Glue' keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data', 'spark'] title: 'Integrating Amazon Glue with ClickHouse and Spark' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/clickpipes/kafka/index.md b/docs/integrations/data-ingestion/clickpipes/kafka/index.md index 798e170e550..ab64d2e02ea 100644 --- a/docs/integrations/data-ingestion/clickpipes/kafka/index.md +++ b/docs/integrations/data-ingestion/clickpipes/kafka/index.md @@ -4,6 +4,7 @@ slug: /integrations/clickpipes/kafka sidebar_position: 1 title: 'Kafka ClickPipes' doc_type: 'landing-page' +integration_type: ['core', 'data ingestion'] --- diff --git a/docs/integrations/data-ingestion/clickpipes/kinesis.md b/docs/integrations/data-ingestion/clickpipes/kinesis.md index 052497fd04f..f9661fb65c7 100644 --- a/docs/integrations/data-ingestion/clickpipes/kinesis.md +++ b/docs/integrations/data-ingestion/clickpipes/kinesis.md @@ -4,6 +4,9 @@ description: 'Seamlessly connect your Amazon Kinesis data sources to ClickHouse slug: /integrations/clickpipes/kinesis title: 'Integrating Amazon Kinesis with ClickHouse Cloud' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] +integration_logo: '/static/images/integrations/logos/amazon_kinesis_logo.svg' +integration_title: 'Amazon Kinesis' --- import cp_service from '@site/static/images/integrations/data-ingestion/clickpipes/cp_service.png'; diff --git a/docs/integrations/data-ingestion/etl-tools/dbt/index.md b/docs/integrations/data-ingestion/etl-tools/dbt/index.md index 9d9ac698341..8f9601c8fd5 100644 --- a/docs/integrations/data-ingestion/etl-tools/dbt/index.md +++ b/docs/integrations/data-ingestion/etl-tools/dbt/index.md @@ -5,6 +5,7 @@ sidebar_position: 1 description: 'Users can transform and model their data in ClickHouse using dbt' title: 'Integrating dbt and ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data integration'] --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md index 400ea3a9fd1..363da28368e 100644 --- a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md +++ b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md @@ -5,6 +5,9 @@ sidebar_position: 2 description: 'Users can transform and model their data in ClickHouse using dbt' title: 'Fivetran and ClickHouse Cloud' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] +integration_logo: '/static/images/integrations/logos/fivetran.svg' +integration_title: 'Fivetran' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/kafka/index.md b/docs/integrations/data-ingestion/kafka/index.md index f460d47ef88..04f8ddf4ff6 100644 --- a/docs/integrations/data-ingestion/kafka/index.md +++ b/docs/integrations/data-ingestion/kafka/index.md @@ -5,6 +5,9 @@ slug: /integrations/kafka description: 'Introduction to Kafka with ClickHouse' title: 'Integrating Kafka with ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] +integration_logo: '/static/images/integrations/logos/kafka.svg' +integration_title: 'Kafka' --- # Integrating Kafka with ClickHouse diff --git a/docs/integrations/data-ingestion/kafka/msk/index.md b/docs/integrations/data-ingestion/kafka/msk/index.md index 825e974a213..e0685c3d11d 100644 --- a/docs/integrations/data-ingestion/kafka/msk/index.md +++ b/docs/integrations/data-ingestion/kafka/msk/index.md @@ -6,6 +6,7 @@ description: 'The official Kafka connector from ClickHouse with Amazon MSK' keywords: ['integration', 'kafka', 'amazon msk', 'sink', 'connector'] title: 'Integrating Amazon MSK with ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-ingestion/s3/index.md b/docs/integrations/data-ingestion/s3/index.md index 9a7cd275da8..34aad9f50f9 100644 --- a/docs/integrations/data-ingestion/s3/index.md +++ b/docs/integrations/data-ingestion/s3/index.md @@ -5,6 +5,9 @@ sidebar_label: 'Integrating S3 with ClickHouse' title: 'Integrating S3 with ClickHouse' description: 'Page describing how to integrate S3 with ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data ingestion'] +integration_logo: '/static/images/integrations/logos/amazon_s3_logo.svg' +integration_title: 'Amazon S3' --- import BucketDetails from '@site/docs/_snippets/_S3_authentication_and_bucket.md'; diff --git a/docs/integrations/data-visualization/looker-and-clickhouse.md b/docs/integrations/data-visualization/looker-and-clickhouse.md index cc3be8c1055..4a920dc96f7 100644 --- a/docs/integrations/data-visualization/looker-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-and-clickhouse.md @@ -5,6 +5,7 @@ keywords: ['clickhouse', 'looker', 'connect', 'integrate', 'ui'] description: 'Looker is an enterprise platform for BI, data applications, and embedded analytics that helps you explore and share insights in real time.' title: 'Looker' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md index 07590cf70d6..39c564ecc09 100644 --- a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md @@ -5,6 +5,7 @@ keywords: ['clickhouse', 'looker', 'studio', 'connect', 'mysql', 'integrate', 'u description: 'Looker Studio, formerly Google Data Studio, is an online tool for converting data into customizable informative reports and dashboards.' title: 'Looker Studio' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/metabase-and-clickhouse.md b/docs/integrations/data-visualization/metabase-and-clickhouse.md index 93cde69c5d3..c7b0b940124 100644 --- a/docs/integrations/data-visualization/metabase-and-clickhouse.md +++ b/docs/integrations/data-visualization/metabase-and-clickhouse.md @@ -7,6 +7,7 @@ description: 'Metabase is an easy-to-use, open source UI tool for asking questio title: 'Connecting Metabase to ClickHouse' show_related_blogs: true doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/powerbi-and-clickhouse.md b/docs/integrations/data-visualization/powerbi-and-clickhouse.md index 82a5f578a32..acb126f517b 100644 --- a/docs/integrations/data-visualization/powerbi-and-clickhouse.md +++ b/docs/integrations/data-visualization/powerbi-and-clickhouse.md @@ -5,6 +5,7 @@ keywords: ['clickhouse', 'Power BI', 'connect', 'integrate', 'ui'] description: 'Microsoft Power BI is an interactive data visualization software product developed by Microsoft with a primary focus on business intelligence.' title: 'Power BI' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/quicksight-and-clickhouse.md b/docs/integrations/data-visualization/quicksight-and-clickhouse.md index 47cbf7806ff..40745664493 100644 --- a/docs/integrations/data-visualization/quicksight-and-clickhouse.md +++ b/docs/integrations/data-visualization/quicksight-and-clickhouse.md @@ -5,6 +5,7 @@ keywords: ['clickhouse', 'aws', 'amazon', 'QuickSight', 'mysql', 'connect', 'int description: 'Amazon QuickSight powers data-driven organizations with unified business intelligence (BI).' title: 'QuickSight' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import MySQLOnPremiseSetup from '@site/docs/_snippets/_clickhouse_mysql_on_premise_setup.mdx'; diff --git a/docs/integrations/data-visualization/superset-and-clickhouse.md b/docs/integrations/data-visualization/superset-and-clickhouse.md index e842b9214da..39216c81451 100644 --- a/docs/integrations/data-visualization/superset-and-clickhouse.md +++ b/docs/integrations/data-visualization/superset-and-clickhouse.md @@ -7,6 +7,7 @@ description: 'Apache Superset is an open-source data exploration and visualizati title: 'Connect Superset to ClickHouse' show_related_blogs: true doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md index 422fd4fc7e6..19e7c4cda43 100644 --- a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md @@ -6,6 +6,7 @@ keywords: ['clickhouse', 'tableau', 'connect', 'integrate', 'ui'] description: 'Tableau can use ClickHouse databases and tables as a data source.' title: 'Connecting Tableau to ClickHouse' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md index 7d3dcdd5636..dc81f43eb2d 100644 --- a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md @@ -6,6 +6,7 @@ keywords: ['clickhouse', 'tableau', 'online', 'mysql', 'connect', 'integrate', ' description: 'Tableau Online streamlines the power of data to make people faster and more confident decision makers from anywhere.' title: 'Tableau Online' doc_type: 'guide' +integration_type: ['core', 'data visualization'] --- import MySQLCloudSetup from '@site/docs/_snippets/_clickhouse_mysql_cloud_setup.mdx'; diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index c1977c4954c..d61b8cf156e 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -363,7 +363,7 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Chat-DBT| |AI Integration|Create ClickHouse queries using Chat GPT.|[GitHub](https://github.com/plmercereau/chat-dbt)| |ClickHouse Monitoring Dashboard||Dashboard|A simple monitoring dashboard for ClickHouse|[Github](https://github.com/duyet/clickhouse-monitoring)| |Common Lisp|clickhouse-cl Logo|Language client|Common Lisp ClickHouse Client Library|[GitHub](https://github.com/juliojimenez/clickhouse-cl)| -| Dataflow|Dataflow logo|Data ingestion|Google Dataflow is a serverless service for running batch and streaming data pipelines using Apache Beam.|[Documentation](/integrations/google-dataflow/dataflow)| +|Dataflow|Dataflow logo|Data ingestion|Google Dataflow is a serverless service for running batch and streaming data pipelines using Apache Beam.|[Documentation](/integrations/google-dataflow/dataflow)| |DBNet|Airflow logo|Software IDE|Web-based SQL IDE using Go as a back-end, and the browser as the front-end.|[Github](https://github.com/dbnet-io/dbnet)| |DataLens|Datalens logo|Data visualization|An open-source data analytics and visualization tool.|[Website](https://datalens.tech/),
[Documentation](https://datalens.tech/docs/en/)| |Dataease|Dataease logo|Data visualization|Open source data visualization analysis tool to help users analyze data and gain insight into business trends.|[Website](https://dataease.io/)| diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx index e69de29bb2d..840955a7159 100644 --- a/docs/integrations/index_new.mdx +++ b/docs/integrations/index_new.mdx @@ -0,0 +1,16 @@ +--- +slug: /integrations_new +title: 'Integrations' +keywords: ['integrations', 'integrate', 'integrate with'] +description: 'Integrations with ClickHouse' +doc_type: 'landing-page' +sidebarCollapsed: true +--- + +import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; + +# Integrations + +Connect ClickHouse with your favorite tools and services to build powerful data pipelines and analytics workflows. + + diff --git a/docs/integrations/language-clients/csharp.md b/docs/integrations/language-clients/csharp.md index cc7fd3274ea..e0239b0b0be 100644 --- a/docs/integrations/language-clients/csharp.md +++ b/docs/integrations/language-clients/csharp.md @@ -6,6 +6,7 @@ slug: /integrations/csharp description: 'The official C# client for connecting to ClickHouse.' title: 'ClickHouse C# Driver' doc_type: 'guide' +integration_type: ['core', 'language client'] --- # ClickHouse C# Client diff --git a/docs/integrations/language-clients/go/index.md b/docs/integrations/language-clients/go/index.md index 624dbb35650..ef6c0df59cc 100644 --- a/docs/integrations/language-clients/go/index.md +++ b/docs/integrations/language-clients/go/index.md @@ -6,6 +6,7 @@ slug: /integrations/go description: 'The Go clients for ClickHouse allows users to connect to ClickHouse using either the Go standard database/sql interface or an optimized native interface.' title: 'ClickHouse Go' doc_type: 'reference' +integration_type: ['core', 'language client'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/language-clients/java/index.md b/docs/integrations/language-clients/java/index.md index b816ab32529..b2f130a3853 100644 --- a/docs/integrations/language-clients/java/index.md +++ b/docs/integrations/language-clients/java/index.md @@ -4,6 +4,7 @@ keywords: ['clickhouse', 'java', 'jdbc', 'client', 'integrate', 'r2dbc'] description: 'Options for connecting to ClickHouse from Java' slug: /integrations/java doc_type: 'reference' +integration_type: ['core', 'language client'] --- import Tabs from '@theme/Tabs'; diff --git a/docs/integrations/language-clients/js.md b/docs/integrations/language-clients/js.md index aa5ba02650c..cfc005874a3 100644 --- a/docs/integrations/language-clients/js.md +++ b/docs/integrations/language-clients/js.md @@ -6,6 +6,7 @@ slug: /integrations/javascript description: 'The official JS client for connecting to ClickHouse.' title: 'ClickHouse JS' doc_type: 'reference' +integration_type: ['core', 'language client'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/python/index.md b/docs/integrations/language-clients/python/index.md index 28314d73cb9..f2287352052 100644 --- a/docs/integrations/language-clients/python/index.md +++ b/docs/integrations/language-clients/python/index.md @@ -6,6 +6,7 @@ slug: /integrations/python description: 'The ClickHouse Connect project suite for connecting Python to ClickHouse' title: 'Python Integration with ClickHouse Connect' doc_type: 'guide' +integration_type: ['core', 'language client'] --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/rust.md b/docs/integrations/language-clients/rust.md index 09592eab3f2..5289f371ace 100644 --- a/docs/integrations/language-clients/rust.md +++ b/docs/integrations/language-clients/rust.md @@ -6,6 +6,7 @@ slug: /integrations/rust description: 'The official Rust client for connecting to ClickHouse.' title: 'ClickHouse Rust Client' doc_type: 'reference' +integration_type: ['core', 'language client'] --- # ClickHouse Rust client From eacd961c02c0e3fc826041102f1d6fbe30519562 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Tue, 23 Sep 2025 16:26:00 +0200 Subject: [PATCH 03/15] add more frontmatter --- docs/integrations/data-ingestion/apache-spark/index.md | 2 +- docs/integrations/data-ingestion/aws-glue/index.md | 4 +++- docs/integrations/data-ingestion/azure-data-factory/index.md | 3 +++ docs/integrations/data-ingestion/azure-synapse/index.md | 3 +++ docs/integrations/data-ingestion/emqx/index.md | 3 +++ .../data-ingestion/etl-tools/airbyte-and-clickhouse.md | 3 +++ docs/integrations/data-ingestion/etl-tools/apache-beam.md | 3 +++ .../data-ingestion/etl-tools/bladepipe-and-clickhouse.md | 3 +++ docs/integrations/data-ingestion/etl-tools/dbt/index.md | 4 +++- .../data-ingestion/etl-tools/dlt-and-clickhouse.md | 3 +++ docs/integrations/data-ingestion/etl-tools/fivetran/index.md | 2 +- .../data-ingestion/etl-tools/nifi-and-clickhouse.md | 3 +++ .../data-ingestion/etl-tools/vector-to-clickhouse.md | 3 +++ docs/integrations/data-ingestion/google-dataflow/dataflow.md | 3 +++ .../data-ingestion/kafka/confluent/custom-connector.md | 3 +++ docs/integrations/data-ingestion/kafka/index.md | 2 +- docs/integrations/data-ingestion/s3-minio.md | 3 +++ docs/integrations/data-ingestion/s3/index.md | 2 +- .../integrations/data-visualization/astrato-and-clickhouse.md | 3 +++ .../data-visualization/chartbrew-and-clickhouse.md | 3 +++ docs/integrations/data-visualization/deepnote.md | 3 +++ docs/integrations/data-visualization/draxlr-and-clickhouse.md | 3 +++ docs/integrations/data-visualization/explo-and-clickhouse.md | 3 +++ docs/integrations/data-visualization/fabi-and-clickhouse.md | 3 +++ docs/integrations/data-visualization/grafana/index.md | 3 +++ docs/integrations/data-visualization/looker-and-clickhouse.md | 4 +++- .../data-visualization/looker-studio-and-clickhouse.md | 4 +++- docs/integrations/data-visualization/luzmo-and-clickhouse.md | 3 +++ .../data-visualization/metabase-and-clickhouse.md | 4 +++- docs/integrations/data-visualization/mitzu-and-clickhouse.md | 3 +++ .../integrations/data-visualization/powerbi-and-clickhouse.md | 4 +++- .../data-visualization/quicksight-and-clickhouse.md | 4 +++- .../data-visualization/rocketbi-and-clickhouse.md | 3 +++ .../data-visualization/superset-and-clickhouse.md | 4 +++- .../data-visualization/tableau/tableau-and-clickhouse.md | 4 +++- .../tableau/tableau-online-and-clickhouse.md | 4 +++- docs/integrations/index.mdx | 2 +- docs/integrations/language-clients/csharp.md | 4 +++- docs/integrations/language-clients/go/index.md | 4 +++- docs/integrations/language-clients/java/index.md | 4 +++- docs/integrations/language-clients/js.md | 4 +++- docs/integrations/language-clients/moose-olap.md | 3 +++ docs/integrations/language-clients/python/index.md | 4 +++- docs/integrations/language-clients/rust.md | 4 +++- docs/integrations/sql-clients/datagrip.md | 3 +++ docs/integrations/sql-clients/dbeaver.md | 3 +++ docs/integrations/sql-clients/dbvisualizer.md | 3 +++ docs/integrations/sql-clients/jupysql.md | 3 +++ docs/integrations/sql-clients/tablum.md | 3 +++ docs/integrations/tools/data-integration/easypanel/index.md | 3 +++ docs/integrations/tools/data-integration/retool/index.md | 3 +++ docs/integrations/tools/data-integration/splunk/index.md | 3 +++ 52 files changed, 146 insertions(+), 21 deletions(-) diff --git a/docs/integrations/data-ingestion/apache-spark/index.md b/docs/integrations/data-ingestion/apache-spark/index.md index ee4a889cb33..e8800a02925 100644 --- a/docs/integrations/data-ingestion/apache-spark/index.md +++ b/docs/integrations/data-ingestion/apache-spark/index.md @@ -6,7 +6,7 @@ description: 'Introduction to Apache Spark with ClickHouse' keywords: ['clickhouse', 'Apache Spark', 'migrating', 'data'] title: 'Integrating Apache Spark with ClickHouse' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/apache_spark_logo.svg' integration_title: 'Apache Spark' --- diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index c2035d67bcb..b05354fe732 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -6,7 +6,9 @@ description: 'Integrate ClickHouse and Amazon Glue' keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data', 'spark'] title: 'Integrating Amazon Glue with ClickHouse and Spark' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/glue_logo.png' +integration_title: 'Amazon Glue' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/azure-data-factory/index.md b/docs/integrations/data-ingestion/azure-data-factory/index.md index cb5e01ec5dd..7bfcaf41923 100644 --- a/docs/integrations/data-ingestion/azure-data-factory/index.md +++ b/docs/integrations/data-ingestion/azure-data-factory/index.md @@ -4,6 +4,9 @@ description: 'Bringing Azure Data into ClickHouse' keywords: ['azure data factory', 'azure', 'microsoft', 'data'] title: 'Bringing Azure Data into ClickHouse' doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/azure-data-factory.png' +integration_title: 'Azure Data Factory' --- | Page | Description | diff --git a/docs/integrations/data-ingestion/azure-synapse/index.md b/docs/integrations/data-ingestion/azure-synapse/index.md index a92b98dcaa5..6c95080d7de 100644 --- a/docs/integrations/data-ingestion/azure-synapse/index.md +++ b/docs/integrations/data-ingestion/azure-synapse/index.md @@ -5,6 +5,9 @@ description: 'Introduction to Azure Synapse with ClickHouse' keywords: ['clickhouse', 'azure synapse', 'azure', 'synapse', 'microsoft', 'azure spark', 'data'] title: 'Integrating Azure Synapse with ClickHouse' doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/azure-synapse.png' +integration_title: 'Azure Synapse' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-ingestion/emqx/index.md b/docs/integrations/data-ingestion/emqx/index.md index 288fa1f4b3d..76ed16d981a 100644 --- a/docs/integrations/data-ingestion/emqx/index.md +++ b/docs/integrations/data-ingestion/emqx/index.md @@ -5,6 +5,9 @@ slug: /integrations/emqx description: 'Introduction to EMQX with ClickHouse' title: 'Integrating EMQX with ClickHouse' doc_type: 'guide' +integration_title: 'EMQX' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/emqx.svg' --- import emqx_cloud_artitecture from '@site/static/images/integrations/data-ingestion/emqx/emqx-cloud-artitecture.png'; diff --git a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md index 1a6c82db2e4..19810a6c15a 100644 --- a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md @@ -6,6 +6,9 @@ slug: /integrations/airbyte description: 'Stream data into ClickHouse using Airbyte data pipelines' title: 'Connect Airbyte to ClickHouse' doc_type: 'guide' +integration_title: 'Airbyte' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/airbyte-logo.png' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/etl-tools/apache-beam.md b/docs/integrations/data-ingestion/etl-tools/apache-beam.md index 5139529cb01..1bc5d8ab0aa 100644 --- a/docs/integrations/data-ingestion/etl-tools/apache-beam.md +++ b/docs/integrations/data-ingestion/etl-tools/apache-beam.md @@ -4,6 +4,9 @@ slug: /integrations/apache-beam description: 'Users can ingest data into ClickHouse using Apache Beam' title: 'Integrating Apache Beam and ClickHouse' doc_type: 'guide' +integration_title: 'Apache Beam' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/logo_beam.png' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md index d552e50561b..fd35437246a 100644 --- a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md @@ -6,6 +6,9 @@ slug: /integrations/bladepipe description: 'Stream data into ClickHouse using BladePipe data pipelines' title: 'Connect BladePipe to ClickHouse' doc_type: 'guide' +integration_title: 'BladePipe' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/bladepipe.svg' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/etl-tools/dbt/index.md b/docs/integrations/data-ingestion/etl-tools/dbt/index.md index 8f9601c8fd5..3397631a2cd 100644 --- a/docs/integrations/data-ingestion/etl-tools/dbt/index.md +++ b/docs/integrations/data-ingestion/etl-tools/dbt/index.md @@ -5,7 +5,9 @@ sidebar_position: 1 description: 'Users can transform and model their data in ClickHouse using dbt' title: 'Integrating dbt and ClickHouse' doc_type: 'guide' -integration_type: ['core', 'data integration'] +integration_type: ['data integration'] +integration_logo: '/static/images/integrations/logos/dbt.svg' +integration_title: 'dbt' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md index 566c36bd5ef..136a6ddefcc 100644 --- a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md @@ -5,6 +5,9 @@ description: 'Load data into Clickhouse using dlt integration' title: 'Connect dlt to ClickHouse' slug: /integrations/data-ingestion/etl-tools/dlt-and-clickhouse doc_type: 'guide' +integration_title: 'DLT' +integration_type: ['data integration'] +integration_logo: '/static/images/integrations/logos/dlthub_logo.svg' --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md index 363da28368e..276b345ffed 100644 --- a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md +++ b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md @@ -5,7 +5,7 @@ sidebar_position: 2 description: 'Users can transform and model their data in ClickHouse using dbt' title: 'Fivetran and ClickHouse Cloud' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/fivetran.svg' integration_title: 'Fivetran' --- diff --git a/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md index 6678c164539..3baf4b71ed2 100644 --- a/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md @@ -6,6 +6,9 @@ slug: /integrations/nifi description: 'Stream data into ClickHouse using NiFi data pipelines' title: 'Connect Apache NiFi to ClickHouse' doc_type: 'guide' +integration_title: 'Apache NiFi' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/logo_nifi.png' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md index dc5c36aef08..4cf9e54c867 100644 --- a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md @@ -6,6 +6,9 @@ description: 'How to tail a log file into ClickHouse using Vector' title: 'Integrating Vector with ClickHouse' show_related_blogs: true doc_type: 'guide' +integration_title: 'Vector' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/vector.png' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/google-dataflow/dataflow.md b/docs/integrations/data-ingestion/google-dataflow/dataflow.md index d0560a44a85..2652fc1779d 100644 --- a/docs/integrations/data-ingestion/google-dataflow/dataflow.md +++ b/docs/integrations/data-ingestion/google-dataflow/dataflow.md @@ -5,6 +5,9 @@ sidebar_position: 1 description: 'Users can ingest data into ClickHouse using Google Dataflow' title: 'Integrating Google Dataflow with ClickHouse' doc_type: 'guide' +integration_title: 'Dataflow' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/dataflow_logo.png' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md index 9225c8e16e9..cc0e5d2372f 100644 --- a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md +++ b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md @@ -5,6 +5,9 @@ slug: /integrations/kafka/cloud/confluent/custom-connector description: 'Using ClickHouse Connector Sink with Kafka Connect and ClickHouse' title: 'Integrating Confluent Cloud with ClickHouse' doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/confluent.svg' +integration_title: 'Confluent' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-ingestion/kafka/index.md b/docs/integrations/data-ingestion/kafka/index.md index 04f8ddf4ff6..376762ed4fb 100644 --- a/docs/integrations/data-ingestion/kafka/index.md +++ b/docs/integrations/data-ingestion/kafka/index.md @@ -5,7 +5,7 @@ slug: /integrations/kafka description: 'Introduction to Kafka with ClickHouse' title: 'Integrating Kafka with ClickHouse' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/kafka.svg' integration_title: 'Kafka' --- diff --git a/docs/integrations/data-ingestion/s3-minio.md b/docs/integrations/data-ingestion/s3-minio.md index ee1e05bfe89..d9aa1bb6bcf 100644 --- a/docs/integrations/data-ingestion/s3-minio.md +++ b/docs/integrations/data-ingestion/s3-minio.md @@ -5,6 +5,9 @@ slug: /integrations/minio description: 'Page describing how to use MinIO with ClickHouse' title: 'Using MinIO' doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/minio.png' +integration_title: 'MinIO' --- # Using MinIO diff --git a/docs/integrations/data-ingestion/s3/index.md b/docs/integrations/data-ingestion/s3/index.md index 34aad9f50f9..3fefa5aa8a0 100644 --- a/docs/integrations/data-ingestion/s3/index.md +++ b/docs/integrations/data-ingestion/s3/index.md @@ -5,7 +5,7 @@ sidebar_label: 'Integrating S3 with ClickHouse' title: 'Integrating S3 with ClickHouse' description: 'Page describing how to integrate S3 with ClickHouse' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/amazon_s3_logo.svg' integration_title: 'Amazon S3' --- diff --git a/docs/integrations/data-visualization/astrato-and-clickhouse.md b/docs/integrations/data-visualization/astrato-and-clickhouse.md index 2900a48daad..a99659abac6 100644 --- a/docs/integrations/data-visualization/astrato-and-clickhouse.md +++ b/docs/integrations/data-visualization/astrato-and-clickhouse.md @@ -6,6 +6,9 @@ keywords: ['clickhouse', 'Power BI', 'connect', 'integrate', 'ui', 'data apps', description: 'Astrato brings true Self-Service BI to Enterprises & Data Businesses by putting analytics in the hands of every user, enabling them to build their own dashboards, reports and data apps, enabling the answering of data questions without IT help. Astrato accelerates adoption, speeds up decision-making, and unifies analytics, embedded analytics, data input, and data apps in one platform. Astrato unites action and analytics in one, introduce live write-back, interact with ML models, accelerate your analytics with AI – go beyond dashboarding, thanks to pushdown SQL support in Astrato.' title: 'Connecting Astrato to ClickHouse' doc_type: 'guide' +integration_title: 'Astrato' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/astrato_logo.svg' --- import astrato_1_dataconnection from '@site/static/images/integrations/data-visualization/astrato_1_dataconnection.png'; diff --git a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md index 27cc5e8bfc6..a73a6aa5330 100644 --- a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md +++ b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md @@ -6,6 +6,9 @@ slug: /integrations/chartbrew-and-clickhouse keywords: ['ClickHouse', 'Chartbrew', 'connect', 'integrate', 'visualization'] description: 'Connect Chartbrew to ClickHouse to create real-time dashboards and client reports.' doc_type: 'guide' +integration_title: 'Chartbrew' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/logo_chartbrew.png' --- import chartbrew_01 from '@site/static/images/integrations/data-visualization/chartbrew_01.png'; diff --git a/docs/integrations/data-visualization/deepnote.md b/docs/integrations/data-visualization/deepnote.md index 936c384ea62..c47991890cb 100644 --- a/docs/integrations/data-visualization/deepnote.md +++ b/docs/integrations/data-visualization/deepnote.md @@ -6,6 +6,9 @@ keywords: ['clickhouse', 'Deepnote', 'connect', 'integrate', 'notebook'] description: 'Efficiently query very large datasets, analyzing and modeling in the comfort of known notebook environment.' title: 'Connect ClickHouse to Deepnote' doc_type: 'guide' +integration_title: 'Deepnote' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/deepnote.svg' --- import deepnote_01 from '@site/static/images/integrations/data-visualization/deepnote_01.png'; diff --git a/docs/integrations/data-visualization/draxlr-and-clickhouse.md b/docs/integrations/data-visualization/draxlr-and-clickhouse.md index b010bd07703..4e73cc77565 100644 --- a/docs/integrations/data-visualization/draxlr-and-clickhouse.md +++ b/docs/integrations/data-visualization/draxlr-and-clickhouse.md @@ -6,6 +6,9 @@ keywords: ['clickhouse', 'Draxlr', 'connect', 'integrate', 'ui'] description: 'Draxlr is a Business intelligence tool with data visualization and analytics.' title: 'Connecting Draxlr to ClickHouse' doc_type: 'guide' +integration_title: 'Draxlr' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/draxlr.svg' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/explo-and-clickhouse.md b/docs/integrations/data-visualization/explo-and-clickhouse.md index 071a3b3a275..3e41e1276e9 100644 --- a/docs/integrations/data-visualization/explo-and-clickhouse.md +++ b/docs/integrations/data-visualization/explo-and-clickhouse.md @@ -6,6 +6,9 @@ keywords: ['clickhouse', 'Explo', 'connect', 'integrate', 'ui'] description: 'Explo is an easy-to-use, open source UI tool for asking questions about your data.' title: 'Connecting Explo to ClickHouse' doc_type: 'guide' +integration_title: 'Explo' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/explo.png' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/fabi-and-clickhouse.md b/docs/integrations/data-visualization/fabi-and-clickhouse.md index 878b66a3208..5647136c48c 100644 --- a/docs/integrations/data-visualization/fabi-and-clickhouse.md +++ b/docs/integrations/data-visualization/fabi-and-clickhouse.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'Fabi.ai', 'connect', 'integrate', 'notebook', 'ui', 'a description: 'Fabi.ai is an all-in-one collaborate data analysis platform. You can leverage SQL, Python, AI, and no-code to build dashboard and data workflows faster than ever before' title: 'Connect ClickHouse to Fabi.ai' doc_type: 'guide' +integration_title: 'Fabi.ai' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/fabi.png' --- import fabi_01 from '@site/static/images/integrations/data-visualization/fabi_01.png'; diff --git a/docs/integrations/data-visualization/grafana/index.md b/docs/integrations/data-visualization/grafana/index.md index 1f4ee182e47..1060c4306c6 100644 --- a/docs/integrations/data-visualization/grafana/index.md +++ b/docs/integrations/data-visualization/grafana/index.md @@ -6,6 +6,9 @@ description: 'Introduction to using ClickHouse with Grafana' title: 'ClickHouse data source plugin for Grafana' show_related_blogs: true doc_type: 'guide' +integration_title: 'Grafana' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/grafana.svg' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/data-visualization/looker-and-clickhouse.md b/docs/integrations/data-visualization/looker-and-clickhouse.md index 4a920dc96f7..b121dc9268b 100644 --- a/docs/integrations/data-visualization/looker-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-and-clickhouse.md @@ -5,7 +5,9 @@ keywords: ['clickhouse', 'looker', 'connect', 'integrate', 'ui'] description: 'Looker is an enterprise platform for BI, data applications, and embedded analytics that helps you explore and share insights in real time.' title: 'Looker' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/looker.svg' +integration_title: 'Looker' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md index 39c564ecc09..83d6a500a81 100644 --- a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md @@ -5,7 +5,9 @@ keywords: ['clickhouse', 'looker', 'studio', 'connect', 'mysql', 'integrate', 'u description: 'Looker Studio, formerly Google Data Studio, is an online tool for converting data into customizable informative reports and dashboards.' title: 'Looker Studio' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/looker_studio.svg' +integration_title: 'Looker Studio' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/luzmo-and-clickhouse.md b/docs/integrations/data-visualization/luzmo-and-clickhouse.md index 93b5b8fd4ce..3b7ef19b65f 100644 --- a/docs/integrations/data-visualization/luzmo-and-clickhouse.md +++ b/docs/integrations/data-visualization/luzmo-and-clickhouse.md @@ -6,6 +6,9 @@ description: 'Luzmo is an embedded analytics platform with a native ClickHouse i title: 'Integrating Luzmo with ClickHouse' sidebar: 'integrations' doc_type: 'guide' +integration_title: 'Luzmo' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/luzmo.png' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/metabase-and-clickhouse.md b/docs/integrations/data-visualization/metabase-and-clickhouse.md index c7b0b940124..0cf1db20320 100644 --- a/docs/integrations/data-visualization/metabase-and-clickhouse.md +++ b/docs/integrations/data-visualization/metabase-and-clickhouse.md @@ -7,7 +7,9 @@ description: 'Metabase is an easy-to-use, open source UI tool for asking questio title: 'Connecting Metabase to ClickHouse' show_related_blogs: true doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/logo_metabase.png' +integration_title: 'Metabase' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/mitzu-and-clickhouse.md b/docs/integrations/data-visualization/mitzu-and-clickhouse.md index 97e83b62594..387a29ed43d 100644 --- a/docs/integrations/data-visualization/mitzu-and-clickhouse.md +++ b/docs/integrations/data-visualization/mitzu-and-clickhouse.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'Mitzu', 'connect', 'integrate', 'ui'] description: 'Mitzu is a no-code warehouse-native product analytics application.' title: 'Connecting Mitzu to ClickHouse' doc_type: 'guide' +integration_title: 'Mitzu' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/logo_mitzu.png' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/powerbi-and-clickhouse.md b/docs/integrations/data-visualization/powerbi-and-clickhouse.md index acb126f517b..da598a9e4e8 100644 --- a/docs/integrations/data-visualization/powerbi-and-clickhouse.md +++ b/docs/integrations/data-visualization/powerbi-and-clickhouse.md @@ -5,7 +5,9 @@ keywords: ['clickhouse', 'Power BI', 'connect', 'integrate', 'ui'] description: 'Microsoft Power BI is an interactive data visualization software product developed by Microsoft with a primary focus on business intelligence.' title: 'Power BI' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/powerbi.png' +integration_title: 'PowerBI' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/quicksight-and-clickhouse.md b/docs/integrations/data-visualization/quicksight-and-clickhouse.md index 40745664493..120bf7c5427 100644 --- a/docs/integrations/data-visualization/quicksight-and-clickhouse.md +++ b/docs/integrations/data-visualization/quicksight-and-clickhouse.md @@ -5,7 +5,9 @@ keywords: ['clickhouse', 'aws', 'amazon', 'QuickSight', 'mysql', 'connect', 'int description: 'Amazon QuickSight powers data-driven organizations with unified business intelligence (BI).' title: 'QuickSight' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/quicksight.svg' +integration_title: 'QuickSight' --- import MySQLOnPremiseSetup from '@site/docs/_snippets/_clickhouse_mysql_on_premise_setup.mdx'; diff --git a/docs/integrations/data-visualization/rocketbi-and-clickhouse.md b/docs/integrations/data-visualization/rocketbi-and-clickhouse.md index cf43ecea971..adf240a1843 100644 --- a/docs/integrations/data-visualization/rocketbi-and-clickhouse.md +++ b/docs/integrations/data-visualization/rocketbi-and-clickhouse.md @@ -6,6 +6,9 @@ keywords: ['clickhouse', 'RocketBI', 'connect', 'integrate', 'ui'] description: 'RocketBI is a self-service business intelligence platform that helps you quickly analyze data, build drag-n-drop visualizations and collaborate with colleagues right on your web browser.' title: 'GOAL: BUILD YOUR 1ST DASHBOARD' doc_type: 'guide' +integration_title: 'Rocket.BI' +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/rocketbi-logo.svg' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/superset-and-clickhouse.md b/docs/integrations/data-visualization/superset-and-clickhouse.md index 39216c81451..52bbfde2983 100644 --- a/docs/integrations/data-visualization/superset-and-clickhouse.md +++ b/docs/integrations/data-visualization/superset-and-clickhouse.md @@ -7,7 +7,9 @@ description: 'Apache Superset is an open-source data exploration and visualizati title: 'Connect Superset to ClickHouse' show_related_blogs: true doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/superset.svg' +integration_title: 'Superset' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md index 19e7c4cda43..09d079adf88 100644 --- a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md @@ -6,7 +6,9 @@ keywords: ['clickhouse', 'tableau', 'connect', 'integrate', 'ui'] description: 'Tableau can use ClickHouse databases and tables as a data source.' title: 'Connecting Tableau to ClickHouse' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/logo_tableau.png' +integration_title: 'Tableau' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md index dc81f43eb2d..cd6981dfee4 100644 --- a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md @@ -6,7 +6,9 @@ keywords: ['clickhouse', 'tableau', 'online', 'mysql', 'connect', 'integrate', ' description: 'Tableau Online streamlines the power of data to make people faster and more confident decision makers from anywhere.' title: 'Tableau Online' doc_type: 'guide' -integration_type: ['core', 'data visualization'] +integration_type: ['data visualization'] +integration_logo: '/static/images/integrations/logos/logo_tableau.png' +integration_title: 'Tableau Online' --- import MySQLCloudSetup from '@site/docs/_snippets/_clickhouse_mysql_cloud_setup.mdx'; diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index d61b8cf156e..e08bc16e906 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -327,7 +327,7 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |SiSense|SiSense logo|Data visualization|Embed analytics into any application or workflow|[Website](https://www.sisense.com/data-connectors/)| |SigNoz|SigNoz logo|Data visualization|Open Source Observability Platform|[Documentation](https://www.signoz.io/docs/architecture/)| |Snappy Flow|Snappy Flow logo|Data management|Collects ClickHouse database metrics via plugin.|[Documentation](https://docs.snappyflow.io/docs/Integrations/clickhouse/instance)| -|Soda|Soda logo|Data quality|Soda integration makes it easy for organziations to detect, resolve, and prevent data quality issues by running data quality checks on data before it is loaded into the database.|[Website](https://www.soda.io/integrations/clickhouse)| +|Soda|Soda logo|Data quality|Soda integration makes it easy for organisations to detect, resolve, and prevent data quality issues by running data quality checks on data before it is loaded into the database.|[Website](https://www.soda.io/integrations/clickhouse)| |Splunk|Splunk logo|Data integration|Splunk modular input to import to Splunk the ClickHouse Cloud Audit logs.|[Website](https://splunkbase.splunk.com/app/7709),
[Documentation](/integrations/tools/data-integration/splunk/index.md)| |StreamingFast|StreamingFast logo|Data ingestion| Blockchain-agnostic, parallelized and streaming-first data engine. |[Website](https://www.streamingfast.io/)| |Streamkap|Streamkap logo|Data ingestion|Setup real-time CDC (Change Data Capture) streaming to ClickHouse with high throughput in minutes.|[Documentation](https://docs.streamkap.com/docs/clickhouse)| diff --git a/docs/integrations/language-clients/csharp.md b/docs/integrations/language-clients/csharp.md index e0239b0b0be..4978e7a1f2d 100644 --- a/docs/integrations/language-clients/csharp.md +++ b/docs/integrations/language-clients/csharp.md @@ -6,7 +6,9 @@ slug: /integrations/csharp description: 'The official C# client for connecting to ClickHouse.' title: 'ClickHouse C# Driver' doc_type: 'guide' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/csharp.svg' +integration_title: 'C#' --- # ClickHouse C# Client diff --git a/docs/integrations/language-clients/go/index.md b/docs/integrations/language-clients/go/index.md index ef6c0df59cc..770e92a4efa 100644 --- a/docs/integrations/language-clients/go/index.md +++ b/docs/integrations/language-clients/go/index.md @@ -6,7 +6,9 @@ slug: /integrations/go description: 'The Go clients for ClickHouse allows users to connect to ClickHouse using either the Go standard database/sql interface or an optimized native interface.' title: 'ClickHouse Go' doc_type: 'reference' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/golang.svg' +integration_title: 'Golang' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/language-clients/java/index.md b/docs/integrations/language-clients/java/index.md index b2f130a3853..42f01e37b8e 100644 --- a/docs/integrations/language-clients/java/index.md +++ b/docs/integrations/language-clients/java/index.md @@ -4,7 +4,9 @@ keywords: ['clickhouse', 'java', 'jdbc', 'client', 'integrate', 'r2dbc'] description: 'Options for connecting to ClickHouse from Java' slug: /integrations/java doc_type: 'reference' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/java.svg' +integration_title: 'Java, JDBC' --- import Tabs from '@theme/Tabs'; diff --git a/docs/integrations/language-clients/js.md b/docs/integrations/language-clients/js.md index cfc005874a3..a92abb898d7 100644 --- a/docs/integrations/language-clients/js.md +++ b/docs/integrations/language-clients/js.md @@ -6,7 +6,9 @@ slug: /integrations/javascript description: 'The official JS client for connecting to ClickHouse.' title: 'ClickHouse JS' doc_type: 'reference' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/node_js.svg' +integration_title: 'Node.JS' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/moose-olap.md b/docs/integrations/language-clients/moose-olap.md index 6d6458e0ca9..fbe4ea1559a 100644 --- a/docs/integrations/language-clients/moose-olap.md +++ b/docs/integrations/language-clients/moose-olap.md @@ -6,6 +6,9 @@ slug: /interfaces/third-party/moose-olap title: 'Developing on ClickHouse with Moose OLAP' keywords: ['Moose'] doc_type: 'guide' +integration_title: 'Moose OLAP' +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/moose_logo.svg' --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/language-clients/python/index.md b/docs/integrations/language-clients/python/index.md index f2287352052..3b58006c1b1 100644 --- a/docs/integrations/language-clients/python/index.md +++ b/docs/integrations/language-clients/python/index.md @@ -6,7 +6,9 @@ slug: /integrations/python description: 'The ClickHouse Connect project suite for connecting Python to ClickHouse' title: 'Python Integration with ClickHouse Connect' doc_type: 'guide' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/notext-python.svg' +integration_title: 'Python' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/rust.md b/docs/integrations/language-clients/rust.md index 5289f371ace..3fa43597c17 100644 --- a/docs/integrations/language-clients/rust.md +++ b/docs/integrations/language-clients/rust.md @@ -6,7 +6,9 @@ slug: /integrations/rust description: 'The official Rust client for connecting to ClickHouse.' title: 'ClickHouse Rust Client' doc_type: 'reference' -integration_type: ['core', 'language client'] +integration_type: ['language client'] +integration_logo: '/static/images/integrations/logos/logo_rust.png' +integration_title: 'Rust' --- # ClickHouse Rust client diff --git a/docs/integrations/sql-clients/datagrip.md b/docs/integrations/sql-clients/datagrip.md index 6cfe1bb4039..8aba018ed90 100644 --- a/docs/integrations/sql-clients/datagrip.md +++ b/docs/integrations/sql-clients/datagrip.md @@ -4,6 +4,9 @@ slug: /integrations/datagrip description: 'DataGrip is a database IDE that supports ClickHouse out of the box.' title: 'Connecting DataGrip to ClickHouse' doc_type: 'guide' +integration_title: 'DataGrip' +integration_type: ['sql client'] +integration_logo: '/static/images/integrations/logos/data_grip.svg' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbeaver.md b/docs/integrations/sql-clients/dbeaver.md index e8cbe7337ef..b1ebe21ae1c 100644 --- a/docs/integrations/sql-clients/dbeaver.md +++ b/docs/integrations/sql-clients/dbeaver.md @@ -4,6 +4,9 @@ sidebar_label: 'DBeaver' description: 'DBeaver is a multi-platform database tool.' title: 'Connect DBeaver to ClickHouse' doc_type: 'guide' +integration_title: 'DBeaver' +integration_type: ['sql client'] +integration_logo: '/static/images/integrations/logos/dbeaver_logo.svg' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbvisualizer.md b/docs/integrations/sql-clients/dbvisualizer.md index 35478e8b0b5..bff4658a1c5 100644 --- a/docs/integrations/sql-clients/dbvisualizer.md +++ b/docs/integrations/sql-clients/dbvisualizer.md @@ -4,6 +4,9 @@ slug: /integrations/dbvisualizer description: 'DbVisualizer is a database tool with extended support for ClickHouse.' title: 'Connecting DbVisualizer to ClickHouse' doc_type: 'guide' +integration_title: 'DbVisualizer' +integration_type: ['sql client'] +integration_logo: '/static/images/integrations/logos/logo_dbvisualizer.png' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/sql-clients/jupysql.md b/docs/integrations/sql-clients/jupysql.md index b1663e76575..caa8702ba6c 100644 --- a/docs/integrations/sql-clients/jupysql.md +++ b/docs/integrations/sql-clients/jupysql.md @@ -4,6 +4,9 @@ sidebar_label: 'Jupyter notebooks' description: 'JupySQL is a multi-platform database tool for Jupyter.' title: 'Using JupySQL with ClickHouse' doc_type: 'guide' +integration_title: 'JupySQL' +integration_type: ['sql client'] +integration_logo: '/static/images/integrations/logos/jupyter.png' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/tablum.md b/docs/integrations/sql-clients/tablum.md index 3dcd100d2dc..cdf0a88faa3 100644 --- a/docs/integrations/sql-clients/tablum.md +++ b/docs/integrations/sql-clients/tablum.md @@ -4,6 +4,9 @@ slug: /integrations/tablumio description: 'TABLUM.IO is a data management SaaS that supports ClickHouse out of the box.' title: 'Connecting TABLUM.IO to ClickHouse' doc_type: 'guide' +integration_title: 'TABLUM.IO' +integration_type: ['sql client'] +integration_logo: '/static/images/integrations/logos/tablum.svg' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/tools/data-integration/easypanel/index.md b/docs/integrations/tools/data-integration/easypanel/index.md index f0ac1717b67..256f78f8fb7 100644 --- a/docs/integrations/tools/data-integration/easypanel/index.md +++ b/docs/integrations/tools/data-integration/easypanel/index.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'Easypanel', 'deployment', 'integrate', 'install'] description: 'You can use it to deploy ClickHouse on your own server.' title: 'Deploying ClickHouse on Easypanel' doc_type: 'guide' +integration_title: 'Easypanel' +integration_type: ['deployment method'] +integration_logo: '/static/images/integrations/logos/logo-easypanel.png' --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/tools/data-integration/retool/index.md b/docs/integrations/tools/data-integration/retool/index.md index a33567b4111..196f1227396 100644 --- a/docs/integrations/tools/data-integration/retool/index.md +++ b/docs/integrations/tools/data-integration/retool/index.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'retool', 'connect', 'integrate', 'ui', 'admin', 'panel description: 'Quickly build web and mobile apps with rich user interfaces, automate complex tasks, and integrate AIβ€”all powered by your data.' title: 'Connecting Retool to ClickHouse' doc_type: 'guide' +integration_title: 'Retool' +integration_type: ['no code'] +integration_logo: '/static/images/integrations/logos/retool.svg' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/tools/data-integration/splunk/index.md b/docs/integrations/tools/data-integration/splunk/index.md index f57228f0fa7..1ff05e35193 100644 --- a/docs/integrations/tools/data-integration/splunk/index.md +++ b/docs/integrations/tools/data-integration/splunk/index.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'Splunk', 'audit', 'cloud'] description: 'Store ClickHouse Cloud audit logs into Splunk.' title: 'Storing ClickHouse Cloud Audit logs into Splunk' doc_type: 'guide' +integration_title: 'Splunk' +integration_type: ['data integration'] +integration_logo: '/static/images/integrations/logos/splunk_logo.png' --- import Image from '@theme/IdealImage'; From bc5987e6bb8bb9b4e86ce4d9c8271d928e67db01 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Tue, 23 Sep 2025 16:26:24 +0200 Subject: [PATCH 04/15] styling improvements --- src/components/CUICard/CUICard.tsx | 6 +- src/components/CUICard/styles.module.scss | 21 + .../IntegrationGrid/IntegrationGrid.tsx | 8 +- static/integrations.json | 380 +++++++++++++++++- 4 files changed, 403 insertions(+), 12 deletions(-) diff --git a/src/components/CUICard/CUICard.tsx b/src/components/CUICard/CUICard.tsx index f3686e4945b..a83e383f1de 100644 --- a/src/components/CUICard/CUICard.tsx +++ b/src/components/CUICard/CUICard.tsx @@ -24,7 +24,7 @@ const Header = ({ className, ...props }: HTMLAttributes) => ( -
+
{children}
) @@ -36,7 +36,7 @@ const Body = ({ className, ...props }: HTMLAttributes) => ( -
+
{children}
) @@ -47,7 +47,7 @@ const Footer = ({ className, ...props }: HTMLAttributes) => ( -
+
{children}
) diff --git a/src/components/CUICard/styles.module.scss b/src/components/CUICard/styles.module.scss index 1fd3c95e089..0d27b0009d3 100644 --- a/src/components/CUICard/styles.module.scss +++ b/src/components/CUICard/styles.module.scss @@ -8,4 +8,25 @@ height: 100%; border-width: 1px; border-color: rgba(65, 65, 65, .8); + padding: 0.5rem; + aspect-ratio: 1 / 1; + justify-content: center; +} + +[data-theme='light'] .cuiCard { + background: #f6f7fa; +} + +.cardBody { + line-height: 1.5rem; + font-size: 0.9rem; + font-weight: 600; + text-align: center; +} + +.cardHeader { + text-align: center; +} + +.cardFooter { } \ No newline at end of file diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 4b6482a7dc8..16482b67587 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -37,17 +37,15 @@ export function IntegrationGrid() { style={{ textDecoration: 'none', color: 'inherit' }} > - + {`${integration.integration_title - -

- {integration.integration_title || integration.slug} -

+ + {integration.integration_title}
diff --git a/static/integrations.json b/static/integrations.json index f87a89f8b75..826935fb2db 100644 --- a/static/integrations.json +++ b/static/integrations.json @@ -1,4 +1,20 @@ [ + { + "slug": "/integrations/airbyte", + "integration_logo": "/images/integrations/logos/airbyte-logo.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Airbyte" + }, + { + "slug": "/integrations/glue", + "integration_logo": "/images/integrations/logos/glue_logo.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Amazon Glue" + }, { "slug": "/integrations/clickpipes/kinesis", "integration_logo": "/images/integrations/logos/amazon_kinesis_logo.svg", @@ -12,36 +28,392 @@ "slug": "/integrations/s3", "integration_logo": "/images/integrations/logos/amazon_s3_logo.svg", "integration_type": [ - "core", "data ingestion" ], "integration_title": "Amazon S3" }, + { + "slug": "/integrations/apache-beam", + "integration_logo": "/images/integrations/logos/logo_beam.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Apache Beam" + }, + { + "slug": "/integrations/nifi", + "integration_logo": "/images/integrations/logos/logo_nifi.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Apache NiFi" + }, { "slug": "/integrations/apache-spark", "integration_logo": "/images/integrations/logos/apache_spark_logo.svg", "integration_type": [ - "core", "data ingestion" ], "integration_title": "Apache Spark" }, + { + "slug": "/integrations/astrato", + "integration_logo": "/images/integrations/logos/astrato_logo.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Astrato" + }, + { + "slug": "/integrations/azure-data-factory", + "integration_logo": "/images/integrations/logos/azure-data-factory.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Azure Data Factory" + }, + { + "slug": "/integrations/azure-synapse", + "integration_logo": "/images/integrations/logos/azure-synapse.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Azure Synapse" + }, + { + "slug": "/integrations/bladepipe", + "integration_logo": "/images/integrations/logos/bladepipe.svg", + "integration_type": [ + "data ingestion" + ], + "integration_title": "BladePipe" + }, + { + "slug": "/integrations/csharp", + "integration_logo": "/images/integrations/logos/csharp.svg", + "integration_type": [ + "language client" + ], + "integration_title": "C#" + }, + { + "slug": "/integrations/chartbrew-and-clickhouse", + "integration_logo": "/images/integrations/logos/logo_chartbrew.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Chartbrew" + }, + { + "slug": "/integrations/kafka/cloud/confluent/custom-connector", + "integration_logo": "/images/integrations/logos/confluent.svg", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Confluent" + }, + { + "slug": "/integrations/google-dataflow/dataflow", + "integration_logo": "/images/integrations/logos/dataflow_logo.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Dataflow" + }, + { + "slug": "/integrations/datagrip", + "integration_logo": "/images/integrations/logos/data_grip.svg", + "integration_type": [ + "sql client" + ], + "integration_title": "DataGrip" + }, + { + "slug": "/integrations/dbeaver", + "integration_logo": "/images/integrations/logos/dbeaver_logo.svg", + "integration_type": [ + "sql client" + ], + "integration_title": "DBeaver" + }, + { + "slug": "/integrations/dbt", + "integration_logo": "/images/integrations/logos/dbt.svg", + "integration_type": [ + "data integration" + ], + "integration_title": "dbt" + }, + { + "slug": "/integrations/dbvisualizer", + "integration_logo": "/images/integrations/logos/logo_dbvisualizer.png", + "integration_type": [ + "sql client" + ], + "integration_title": "DbVisualizer" + }, + { + "slug": "/integrations/deepnote", + "integration_logo": "/images/integrations/logos/deepnote.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Deepnote" + }, + { + "slug": "/integrations/data-ingestion/etl-tools/dlt-and-clickhouse", + "integration_logo": "/images/integrations/logos/dlthub_logo.svg", + "integration_type": [ + "data integration" + ], + "integration_title": "DLT" + }, + { + "slug": "/integrations/draxlr", + "integration_logo": "/images/integrations/logos/draxlr.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Draxlr" + }, + { + "slug": "/integrations/easypanel", + "integration_logo": "/images/integrations/logos/logo-easypanel.png", + "integration_type": [ + "deployment method" + ], + "integration_title": "Easypanel" + }, + { + "slug": "/integrations/emqx", + "integration_logo": "/images/integrations/logos/emqx.svg", + "integration_type": [ + "data ingestion" + ], + "integration_title": "EMQX" + }, + { + "slug": "/integrations/explo", + "integration_logo": "/images/integrations/logos/explo.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Explo" + }, + { + "slug": "/integrations/fabi.ai", + "integration_logo": "/images/integrations/logos/fabi.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Fabi.ai" + }, { "slug": "/integrations/fivetran", "integration_logo": "/images/integrations/logos/fivetran.svg", "integration_type": [ - "core", "data ingestion" ], "integration_title": "Fivetran" }, + { + "slug": "/integrations/go", + "integration_logo": "/images/integrations/logos/golang.svg", + "integration_type": [ + "language client" + ], + "integration_title": "Golang" + }, + { + "slug": "/integrations/grafana", + "integration_logo": "/images/integrations/logos/grafana.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Grafana" + }, + { + "slug": "/integrations/java", + "integration_logo": "/images/integrations/logos/java.svg", + "integration_type": [ + "language client" + ], + "integration_title": "Java, JDBC" + }, + { + "slug": "/integrations/jupysql", + "integration_logo": "/images/integrations/logos/jupyter.png", + "integration_type": [ + "sql client" + ], + "integration_title": "JupySQL" + }, { "slug": "/integrations/kafka", "integration_logo": "/images/integrations/logos/kafka.svg", "integration_type": [ - "core", "data ingestion" ], "integration_title": "Kafka" + }, + { + "slug": "/integrations/looker", + "integration_logo": "/images/integrations/logos/looker.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Looker" + }, + { + "slug": "/integrations/lookerstudio", + "integration_logo": "/images/integrations/logos/looker_studio.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Looker Studio" + }, + { + "slug": "/integrations/luzmo", + "integration_logo": "/images/integrations/logos/luzmo.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Luzmo" + }, + { + "slug": "/integrations/metabase", + "integration_logo": "/images/integrations/logos/logo_metabase.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Metabase" + }, + { + "slug": "/integrations/minio", + "integration_logo": "/images/integrations/logos/minio.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "MinIO" + }, + { + "slug": "/integrations/mitzu", + "integration_logo": "/images/integrations/logos/logo_mitzu.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Mitzu" + }, + { + "slug": "/interfaces/third-party/moose-olap", + "integration_logo": "/images/integrations/logos/moose_logo.svg", + "integration_type": [ + "language client" + ], + "integration_title": "Moose OLAP" + }, + { + "slug": "/integrations/javascript", + "integration_logo": "/images/integrations/logos/node_js.svg", + "integration_type": [ + "language client" + ], + "integration_title": "Node.JS" + }, + { + "slug": "/integrations/powerbi", + "integration_logo": "/images/integrations/logos/powerbi.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "PowerBI" + }, + { + "slug": "/integrations/python", + "integration_logo": "/images/integrations/logos/notext-python.svg", + "integration_type": [ + "language client" + ], + "integration_title": "Python" + }, + { + "slug": "/integrations/quicksight", + "integration_logo": "/images/integrations/logos/quicksight.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "QuickSight" + }, + { + "slug": "/integrations/retool", + "integration_logo": "/images/integrations/logos/retool.svg", + "integration_type": [ + "no code" + ], + "integration_title": "Retool" + }, + { + "slug": "/integrations/rocketbi", + "integration_logo": "/images/integrations/logos/rocketbi-logo.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Rocket.BI" + }, + { + "slug": "/integrations/rust", + "integration_logo": "/images/integrations/logos/logo_rust.png", + "integration_type": [ + "language client" + ], + "integration_title": "Rust" + }, + { + "slug": "/integrations/audit-splunk", + "integration_logo": "/images/integrations/logos/splunk_logo.png", + "integration_type": [ + "data integration" + ], + "integration_title": "Splunk" + }, + { + "slug": "/integrations/superset", + "integration_logo": "/images/integrations/logos/superset.svg", + "integration_type": [ + "data visualization" + ], + "integration_title": "Superset" + }, + { + "slug": "/integrations/tableau", + "integration_logo": "/images/integrations/logos/logo_tableau.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Tableau" + }, + { + "slug": "/integrations/tableau-online", + "integration_logo": "/images/integrations/logos/logo_tableau.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Tableau Online" + }, + { + "slug": "/integrations/tablumio", + "integration_logo": "/images/integrations/logos/tablum.svg", + "integration_type": [ + "sql client" + ], + "integration_title": "TABLUM.IO" + }, + { + "slug": "/integrations/vector", + "integration_logo": "/images/integrations/logos/vector.png", + "integration_type": [ + "data ingestion" + ], + "integration_title": "Vector" } ] \ No newline at end of file From fa20943ee1faed7bd06e7851be9ec9c6797aca0d Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 24 Sep 2025 12:33:33 +0200 Subject: [PATCH 05/15] more tagging and improvements --- .../data-ingestion/clickpipes/kafka/index.md | 4 +- .../data-ingestion/clickpipes/kinesis.md | 4 +- .../clickpipes/mongodb/index.md | 3 + .../clickpipes/postgres/index.md | 3 + .../postgresql/connecting-to-postgresql.md | 3 + .../integrations/data-ingestion/emqx/index.md | 1 + .../etl-tools/airbyte-and-clickhouse.md | 1 + .../data-ingestion/etl-tools/apache-beam.md | 3 +- .../etl-tools/bladepipe-and-clickhouse.md | 1 + .../etl-tools/dlt-and-clickhouse.md | 1 + .../etl-tools/nifi-and-clickhouse.md | 3 +- .../etl-tools/vector-to-clickhouse.md | 1 + docs/integrations/data-ingestion/gcs/index.md | 3 + .../google-dataflow/dataflow.md | 3 +- .../kafka/confluent/custom-connector.md | 2 +- .../astrato-and-clickhouse.md | 1 + .../chartbrew-and-clickhouse.md | 1 + .../data-visualization/deepnote.md | 1 + .../draxlr-and-clickhouse.md | 1 + .../explo-and-clickhouse.md | 1 + .../data-visualization/fabi-and-clickhouse.md | 1 + .../data-visualization/grafana/index.md | 1 + .../luzmo-and-clickhouse.md | 1 + .../mitzu-and-clickhouse.md | 1 + .../rocketbi-and-clickhouse.md | 5 +- docs/integrations/index.mdx | 90 +- .../language-clients/moose-olap.md | 1 + docs/integrations/sql-clients/datagrip.md | 1 + docs/integrations/sql-clients/dbeaver.md | 1 + docs/integrations/sql-clients/dbvisualizer.md | 1 + docs/integrations/sql-clients/jupysql.md | 3 +- docs/integrations/sql-clients/tablum.md | 1 + .../tools/data-integration/easypanel/index.md | 3 +- .../tools/data-integration/retool/index.md | 1 + .../tools/data-integration/splunk/index.md | 1 + plugins/integration-extractor-plugin.js | 41 +- .../IntegrationGrid/IntegrationGrid.tsx | 196 ++- .../IntegrationGrid/styles.module.scss | 119 +- .../logos/amazon_kinesis_logo.svg | 2 +- .../images/integrations/logos/amazon_msk.svg | 16 +- .../integrations/logos/azure_event_hubs.svg | 2 +- .../logos/clickpipes_for_amazon_s3.svg | 1 + .../images/integrations/logos/deltalake.png | Bin 5277 -> 0 bytes .../images/integrations/logos/deltalake.svg | 3 + .../images/integrations/logos/lakekeeper.svg | 174 +++ static/images/integrations/logos/logo_cpp.png | Bin 91682 -> 0 bytes static/images/integrations/logos/logo_cpp.svg | 21 + static/images/integrations/logos/nessie.png | Bin 0 -> 588464 bytes static/integrations.json | 233 +++- static/integrations_custom.json | 1102 +++++++++++++++++ 50 files changed, 1959 insertions(+), 104 deletions(-) create mode 100644 static/images/integrations/logos/clickpipes_for_amazon_s3.svg delete mode 100644 static/images/integrations/logos/deltalake.png create mode 100644 static/images/integrations/logos/deltalake.svg create mode 100644 static/images/integrations/logos/lakekeeper.svg delete mode 100644 static/images/integrations/logos/logo_cpp.png create mode 100644 static/images/integrations/logos/logo_cpp.svg create mode 100644 static/images/integrations/logos/nessie.png create mode 100644 static/integrations_custom.json diff --git a/docs/integrations/data-ingestion/clickpipes/kafka/index.md b/docs/integrations/data-ingestion/clickpipes/kafka/index.md index ab64d2e02ea..3ce8280b43e 100644 --- a/docs/integrations/data-ingestion/clickpipes/kafka/index.md +++ b/docs/integrations/data-ingestion/clickpipes/kafka/index.md @@ -4,7 +4,9 @@ slug: /integrations/clickpipes/kafka sidebar_position: 1 title: 'Kafka ClickPipes' doc_type: 'landing-page' -integration_type: ['core', 'data ingestion'] +integration_type: ['clickpipes'] +integration_logo: '/static/images/integrations/logos/kafka.svg' +integration_title: 'ClickPipes for Kafka' --- diff --git a/docs/integrations/data-ingestion/clickpipes/kinesis.md b/docs/integrations/data-ingestion/clickpipes/kinesis.md index f9661fb65c7..a29e60b9d93 100644 --- a/docs/integrations/data-ingestion/clickpipes/kinesis.md +++ b/docs/integrations/data-ingestion/clickpipes/kinesis.md @@ -4,9 +4,9 @@ description: 'Seamlessly connect your Amazon Kinesis data sources to ClickHouse slug: /integrations/clickpipes/kinesis title: 'Integrating Amazon Kinesis with ClickHouse Cloud' doc_type: 'guide' -integration_type: ['core', 'data ingestion'] +integration_type: ['clickpipes'] integration_logo: '/static/images/integrations/logos/amazon_kinesis_logo.svg' -integration_title: 'Amazon Kinesis' +integration_title: 'ClickPipes for Amazon Kinesis' --- import cp_service from '@site/static/images/integrations/data-ingestion/clickpipes/cp_service.png'; diff --git a/docs/integrations/data-ingestion/clickpipes/mongodb/index.md b/docs/integrations/data-ingestion/clickpipes/mongodb/index.md index 9624b2833f5..5a9eb6c5f5c 100644 --- a/docs/integrations/data-ingestion/clickpipes/mongodb/index.md +++ b/docs/integrations/data-ingestion/clickpipes/mongodb/index.md @@ -4,6 +4,9 @@ description: 'Describes how to seamlessly connect your MongoDB to ClickHouse Clo slug: /integrations/clickpipes/mongodb title: 'Ingesting data from MongoDB to ClickHouse (using CDC)' doc_type: 'guide' +integration_type: ['clickpipes'] +integration_logo: '/static/images/integrations/logos/mongodb.svg' +integration_title: 'ClickPipes for MongoDB' --- import BetaBadge from '@theme/badges/BetaBadge'; diff --git a/docs/integrations/data-ingestion/clickpipes/postgres/index.md b/docs/integrations/data-ingestion/clickpipes/postgres/index.md index 8c4af9ed75b..3f300ca2970 100644 --- a/docs/integrations/data-ingestion/clickpipes/postgres/index.md +++ b/docs/integrations/data-ingestion/clickpipes/postgres/index.md @@ -4,6 +4,9 @@ description: 'Seamlessly connect your Postgres to ClickHouse Cloud.' slug: /integrations/clickpipes/postgres title: 'Ingesting Data from Postgres to ClickHouse (using CDC)' doc_type: 'guide' +integration_type: ['clickpipes'] +integration_logo: '/static/images/integrations/logos/postgresql.svg' +integration_title: 'ClickPipes for PostgreSQL' --- import BetaBadge from '@theme/badges/BetaBadge'; diff --git a/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md b/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md index c89664195bb..03f6a45804b 100644 --- a/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md +++ b/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md @@ -5,6 +5,9 @@ keywords: ['clickhouse', 'postgres', 'postgresql', 'connect', 'integrate', 'tabl description: 'Page describing the various ways to connect PostgreSQL to ClickHouse' show_related_blogs: true doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/postgresql.svg' +integration_title: 'PostgreSQL' --- import CloudNotSupportedBadge from '@theme/badges/CloudNotSupportedBadge'; diff --git a/docs/integrations/data-ingestion/emqx/index.md b/docs/integrations/data-ingestion/emqx/index.md index 76ed16d981a..0beff6a7aad 100644 --- a/docs/integrations/data-ingestion/emqx/index.md +++ b/docs/integrations/data-ingestion/emqx/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'EMQX' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/emqx.svg' +integration_tier: partner --- import emqx_cloud_artitecture from '@site/static/images/integrations/data-ingestion/emqx/emqx-cloud-artitecture.png'; diff --git a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md index 19810a6c15a..38e95c3b4af 100644 --- a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Airbyte' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/airbyte-logo.png' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/etl-tools/apache-beam.md b/docs/integrations/data-ingestion/etl-tools/apache-beam.md index 1bc5d8ab0aa..028b0703a83 100644 --- a/docs/integrations/data-ingestion/etl-tools/apache-beam.md +++ b/docs/integrations/data-ingestion/etl-tools/apache-beam.md @@ -5,8 +5,9 @@ description: 'Users can ingest data into ClickHouse using Apache Beam' title: 'Integrating Apache Beam and ClickHouse' doc_type: 'guide' integration_title: 'Apache Beam' -integration_type: ['data ingestion'] +integration_type: ['data ingestion', 'community'] integration_logo: '/static/images/integrations/logos/logo_beam.png' +integration_tier: 'community' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md index fd35437246a..17a922f5fa9 100644 --- a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'BladePipe' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/bladepipe.svg' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md index 136a6ddefcc..b5bf013a8e4 100644 --- a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'DLT' integration_type: ['data integration'] integration_logo: '/static/images/integrations/logos/dlthub_logo.svg' +integration_tier: partner --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md index 3baf4b71ed2..58965d4c290 100644 --- a/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/nifi-and-clickhouse.md @@ -7,8 +7,9 @@ description: 'Stream data into ClickHouse using NiFi data pipelines' title: 'Connect Apache NiFi to ClickHouse' doc_type: 'guide' integration_title: 'Apache NiFi' -integration_type: ['data ingestion'] +integration_type: ['data ingestion', 'community'] integration_logo: '/static/images/integrations/logos/logo_nifi.png' +integration_tier: 'community' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md index 4cf9e54c867..0f2bb4a7487 100644 --- a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Vector' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/vector.png' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/gcs/index.md b/docs/integrations/data-ingestion/gcs/index.md index ee640dc9a6e..11b8235b02f 100644 --- a/docs/integrations/data-ingestion/gcs/index.md +++ b/docs/integrations/data-ingestion/gcs/index.md @@ -5,6 +5,9 @@ slug: /integrations/gcs description: 'Google Cloud Storage (GCS) Backed MergeTree' title: 'Integrate Google Cloud Storage with ClickHouse' doc_type: 'guide' +integration_type: ['data ingestion'] +integration_logo: '/static/images/integrations/logos/gcs.svg' +integration_title: 'Google Cloud Storage (GCS)' --- import BucketDetails from '@site/docs/_snippets/_GCS_authentication_and_bucket.md'; diff --git a/docs/integrations/data-ingestion/google-dataflow/dataflow.md b/docs/integrations/data-ingestion/google-dataflow/dataflow.md index 2652fc1779d..71c30166309 100644 --- a/docs/integrations/data-ingestion/google-dataflow/dataflow.md +++ b/docs/integrations/data-ingestion/google-dataflow/dataflow.md @@ -6,8 +6,9 @@ description: 'Users can ingest data into ClickHouse using Google Dataflow' title: 'Integrating Google Dataflow with ClickHouse' doc_type: 'guide' integration_title: 'Dataflow' -integration_type: ['data ingestion'] +integration_type: ['data ingestion', 'community'] integration_logo: '/static/images/integrations/logos/dataflow_logo.png' +integration_tier: 'community' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md index cc0e5d2372f..f989ba33134 100644 --- a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md +++ b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md @@ -7,7 +7,7 @@ title: 'Integrating Confluent Cloud with ClickHouse' doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/confluent.svg' -integration_title: 'Confluent' +integration_title: 'Kafka connector - Confluent' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/astrato-and-clickhouse.md b/docs/integrations/data-visualization/astrato-and-clickhouse.md index a99659abac6..069d4f024f0 100644 --- a/docs/integrations/data-visualization/astrato-and-clickhouse.md +++ b/docs/integrations/data-visualization/astrato-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Astrato' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/astrato_logo.svg' +integration_tier: partner --- import astrato_1_dataconnection from '@site/static/images/integrations/data-visualization/astrato_1_dataconnection.png'; diff --git a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md index a73a6aa5330..0c2b841f3b1 100644 --- a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md +++ b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Chartbrew' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_chartbrew.png' +integration_tier: partner --- import chartbrew_01 from '@site/static/images/integrations/data-visualization/chartbrew_01.png'; diff --git a/docs/integrations/data-visualization/deepnote.md b/docs/integrations/data-visualization/deepnote.md index c47991890cb..3df406cf56b 100644 --- a/docs/integrations/data-visualization/deepnote.md +++ b/docs/integrations/data-visualization/deepnote.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Deepnote' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/deepnote.svg' +integration_tier: partner --- import deepnote_01 from '@site/static/images/integrations/data-visualization/deepnote_01.png'; diff --git a/docs/integrations/data-visualization/draxlr-and-clickhouse.md b/docs/integrations/data-visualization/draxlr-and-clickhouse.md index 4e73cc77565..36347131a6f 100644 --- a/docs/integrations/data-visualization/draxlr-and-clickhouse.md +++ b/docs/integrations/data-visualization/draxlr-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Draxlr' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/draxlr.svg' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/explo-and-clickhouse.md b/docs/integrations/data-visualization/explo-and-clickhouse.md index 3e41e1276e9..562ded81b25 100644 --- a/docs/integrations/data-visualization/explo-and-clickhouse.md +++ b/docs/integrations/data-visualization/explo-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Explo' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/explo.png' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/fabi-and-clickhouse.md b/docs/integrations/data-visualization/fabi-and-clickhouse.md index 5647136c48c..eadd6e9fe6a 100644 --- a/docs/integrations/data-visualization/fabi-and-clickhouse.md +++ b/docs/integrations/data-visualization/fabi-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'Fabi.ai' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/fabi.png' +integration_tier: partner --- import fabi_01 from '@site/static/images/integrations/data-visualization/fabi_01.png'; diff --git a/docs/integrations/data-visualization/grafana/index.md b/docs/integrations/data-visualization/grafana/index.md index 1060c4306c6..a817a7933e7 100644 --- a/docs/integrations/data-visualization/grafana/index.md +++ b/docs/integrations/data-visualization/grafana/index.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Grafana' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/grafana.svg' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/data-visualization/luzmo-and-clickhouse.md b/docs/integrations/data-visualization/luzmo-and-clickhouse.md index 3b7ef19b65f..053c4f9767b 100644 --- a/docs/integrations/data-visualization/luzmo-and-clickhouse.md +++ b/docs/integrations/data-visualization/luzmo-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Luzmo' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/luzmo.png' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/mitzu-and-clickhouse.md b/docs/integrations/data-visualization/mitzu-and-clickhouse.md index 387a29ed43d..471764a5bf1 100644 --- a/docs/integrations/data-visualization/mitzu-and-clickhouse.md +++ b/docs/integrations/data-visualization/mitzu-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'Mitzu' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_mitzu.png' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/rocketbi-and-clickhouse.md b/docs/integrations/data-visualization/rocketbi-and-clickhouse.md index adf240a1843..3bba34f73d6 100644 --- a/docs/integrations/data-visualization/rocketbi-and-clickhouse.md +++ b/docs/integrations/data-visualization/rocketbi-and-clickhouse.md @@ -7,8 +7,9 @@ description: 'RocketBI is a self-service business intelligence platform that hel title: 'GOAL: BUILD YOUR 1ST DASHBOARD' doc_type: 'guide' integration_title: 'Rocket.BI' -integration_type: ['data visualization'] +integration_type: ['data visualization', 'community'] integration_logo: '/static/images/integrations/logos/rocketbi-logo.svg' +integration_tier: 'community' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; @@ -33,7 +34,7 @@ import rocketbi_17 from '@site/static/images/integrations/data-visualization/roc import rocketbi_18 from '@site/static/images/integrations/data-visualization/rocketbi_18.png'; import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; -# Goal: build your first dashboard +# Goal: build your first dashboard with Rocket.BI diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index e08bc16e906..cca91bc75c3 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -85,9 +85,9 @@ import Bytewaxsvg from '@site/static/images/integrations/logos/bytewax.svg'; import glue_logo from '@site/static/images/integrations/logos/glue_logo.png'; import azure_synapse_logo from '@site/static/images/integrations/logos/azure-synapse.png'; import azure_data_factory_logo from '@site/static/images/integrations/logos/azure-data-factory.png'; -import logo_cpp from '@site/static/images/integrations/logos/logo_cpp.png'; +import logo_cpp from '@site/static/images/integrations/logos/logo_cpp.svg'; import cassandra from '@site/static/images/integrations/logos/cassandra.png'; -import deltalake from '@site/static/images/integrations/logos/deltalake.png'; +import deltalake from '@site/static/images/integrations/logos/deltalake.svg'; import hudi from '@site/static/images/integrations/logos/hudi.png'; import iceberg from '@site/static/images/integrations/logos/iceberg.png'; import metabase from '@site/static/images/integrations/logos/logo_metabase.png'; @@ -211,14 +211,14 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Azure Event Hubs||Data ingestion|A data streaming platform that supports Apache Kafka's native protocol|[Website](https://azure.microsoft.com/en-gb/products/event-hubs)| |Azure Synapse|Azure Synapse logo|Data ingestion|A cloud-based analytics service for big data and data warehousing.|[Documentation](/integrations/azure-synapse)| |Azure Data Factory|Azure Data Factory logo|Data ingestion|A cloud-based data integration service that enables you to create, schedule, and orchestrate data workflows at scale.|[Documentation](/integrations/azure-data-factory)| -|C++|Cpp logo|Language client|C++ client for ClickHouse|[GitHub](https://github.com/ClickHouse/clickhouse-cpp)| +|C++||Language client|C++ client for ClickHouse|[GitHub](https://github.com/ClickHouse/clickhouse-cpp)| |C#||Language client|ADO.NET client implementation for ClickHouse|[Documentation](/integrations/csharp)| |Cassandra|Cassandra logo|Data ingestion|Allows ClickHouse to use [Cassandra](https://cassandra.apache.org/) as a dictionary source.|[Documentation](/sql-reference/dictionaries/index.md#cassandra)| |CHDB||AI/ML|An embedded OLAP SQL Engine|[GitHub](https://github.com/chdb-io/chdb#/),
[Documentation](https://doc.chdb.io/)| |ClickHouse Client||SQL client|ClickHouse Client is the native command-line client for ClickHouse.|[Documentation](/interfaces/cli.md)| |Confluent||Data ingestion|Integration with Apache Kafka on Confluent platform.|[Documentation](/integrations/kafka/cloud/confluent/custom-connector)| |dbt||Data integration|Use dbt (data build tool) to transform data in ClickHouse by simply writing select statements. dbt puts the T in ELT.|[Documentation](/integrations/data-ingestion/etl-tools/dbt/index.md)| -|DeltaLake|Delta Lake logo|Data ingestion| provides a read-only integration with existing [Delta Lake](https://github.com/delta-io/delta) tables in Amazon S3.|[Documentation](/engines/table-engines/integrations/deltalake)| +|DeltaLake||Data ingestion| provides a read-only integration with existing [Delta Lake](https://github.com/delta-io/delta) tables in Amazon S3.|[Documentation](/engines/table-engines/integrations/deltalake)| |EmbeddedRocksDB||Data integration|Allows integrating ClickHouse with [rocksdb](http://rocksdb.org/).|[Documentation](/engines/table-engines/integrations/embedded-rocksdb)| |Fivetran||Data ingestion|[ClickHouse Cloud](https://clickhouse.com/cloud) destination for the [Fivetran data movement platform](https://www.fivetran.com/).|[Documentation](/integrations/data-ingestion/etl-tools/fivetran/index.md)| |Google Cloud Storage||Data ingestion|Import from, export to, and transform GCS data in flight with ClickHouse built-in `S3` functions.|[Documentation](/integrations/data-ingestion/s3/index.md)| @@ -265,16 +265,16 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Name|Logo|Category|Description|Resources| |------|----|----------------|------------------|-------------| |Airbyte|Airbyte logo|Data ingestion|Use Airbyte, to create ELT data pipelines with more than 140 connectors to load and sync your data into ClickHouse.|[Documentation](/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md)| -|AccelData|AccelData Logo|Data management|ADOC allows users to monitor and ensure the dependability and integrity of their visualized data, facilitating rea-time data processing and analytics.|[Documentation](https://docs.acceldata.io/documentation/clickhouse) | -|Atlas|Atlas logo|Schema management|Manage your ClickHouse schema as code. |[Documentation](https://atlasgo.io/guides/clickhouse?utm_source=clickhouse&utm_term=docs)| +|AccelData|AccelData Logo|Data management|ADOC allows users to monitor and ensure the dependability and integrity of their visualized data, facilitating rea-time data processing and analytics.|[External documentation](https://docs.acceldata.io/documentation/clickhouse) | +|Atlas|Atlas logo|Schema management|Manage your ClickHouse schema as code. |[External documentation](https://atlasgo.io/guides/clickhouse?utm_source=clickhouse&utm_term=docs)| |Astrato||Data visualization|Astrato brings true Self-Service BI to Enterprises & Data Businesses by putting analytics in the hands of every user, enabling them to build dashboards, reports & data apps without IT.|[Documentation](/integrations/astrato)| |AutoMQ|AutoMQ logo|Data ingestion|Cloud-native Kafka and RocketMQ alternatives that decouples durability to S3 and EBS|[Website](https://www.automq.com/)| |BladePipe||Data ingestion|A real-time end-to-end data integration tool with sub-second latency.|[Documentation](/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md)| -|BlinkOps|BlinkOps Logo|Security automation|Create automations to manage data and user permissions.|[Documentation](https://docs.blinkops.com/docs/integrations/clickhouse)| -|Bytewax||Data ingestion|Open source Python stream processor for transforming and ingesting data to ClickHouse|[Documentation](https://bytewax.io/blog/building-a-click-house-sink-for-bytewax)| +|BlinkOps|BlinkOps Logo|Security automation|Create automations to manage data and user permissions.|[External documentation](https://docs.blinkops.com/docs/integrations/clickhouse)| +|Bytewax||Data ingestion|Open source Python stream processor for transforming and ingesting data to ClickHouse|[External documentation](https://bytewax.io/blog/building-a-click-house-sink-for-bytewax)| |Calyptia (Fluent Bit)|Calyptia logo|Data ingestion|CNCF graduated open-source project for the collection, processing, and delivery of logs, metrics, and traces|[Blog](https://clickhouse.com/blog/kubernetes-logs-to-clickhouse-fluent-bit)| |Chartbrew|Chartbrew logo|Data visualization|Chartbrew is a data visualization platform that allows users to create dashboards and monitor data in real time.|[Documentation](/integrations/chartbrew-and-clickhouse),
[Website](https://chartbrew.com/integrations/clickhouse),
[Blog](https://chartbrew.com/blog/visualizing-clickhouse-data-with-chartbrew-a-step-by-step-guide/)| -|CloudQuery||Data ingestion|Open source high-performance ELT framework.|[Documentation](https://www.cloudquery.io/docs/plugins/destinations/clickhouse/overview)| +|CloudQuery||Data ingestion|Open source high-performance ELT framework.|[External documentation](https://www.cloudquery.io/docs/plugins/destinations/clickhouse/overview)| |Cube.js||Data visualization|Cube is the Semantic Layer for building data apps.|[Website](https://cube.dev/for/clickhouse-dashboard)| |CloudCanal||Data ingestion|A real-time data replication tool for seamless and easy data flow.|[Website](https://www.clougence.com/)| |DBeaver||SQL client|Free multi-platform database administration tool. Connects to Clickhouse through JDBC driver.|[Documentation](/integrations/sql-clients/dbeaver.md)| @@ -289,57 +289,57 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Explo| Explo logo | Data visualization | Explo is a customer-facing analytics tool for any platform. | [Documentation](/integrations/explo) | |Fabi.ai| Fabi.ai logo | Data visualization | Fabi.ai is an all-in-one collaborate data analysis platform. You can leverage SQL, Python, AI, and no-code to build dashboard and data workflows faster than ever before. | [Documentation](/integrations/data-visualization/fabi-and-clickhouse.md) | |Gigasheet| Gigasheet logo | Data visualization | A cloud big data analytics spreadsheet that enables business users to instantly analyze and explore ClickHouse data. | [Website](https://gigasheet.com/enterprise) | -|GlassFlow| GlassFlow logo | Data ingestion | Real-time event streaming and data transformation in Python for ClickHouse. | [Documentation](https://docs.glassflow.dev/integrations/managed-connectors/sinks/clickhouse) | -|Goldsky| Goldsky logo | Data Integration | High-performance Web3 data indexing via Subgraphs and real-time data replication pipelines. | [Documentation](https://docs.goldsky.com/introduction) | +|GlassFlow| GlassFlow logo | Data ingestion | Real-time event streaming and data transformation in Python for ClickHouse. | [External documentation](https://docs.glassflow.dev/integrations/managed-connectors/sinks/clickhouse) | +|Goldsky| Goldsky logo | Data Integration | High-performance Web3 data indexing via Subgraphs and real-time data replication pipelines. | [External documentation](https://docs.goldsky.com/introduction) | |Grafana||Data visualization|With Grafana you can create, explore and share all of your data through dashboards.|[Documentation](/integrations/data-visualization/grafana/index.md)| |Great Expectations| Great Expectations logo | Data management | An open-source data management tool, with a paid cloud offering. | [Website](https://greatexpectations.io/) | -|GrowthBook| GrowthBook logo | Data visualization | Warehouse native experimentation platform (feature flagging and A/B testing). | [Documentation](https://docs.growthbook.io/warehouses/clickhouse) | -|HEX| HEX logo | Data visualization | Hex is a modern, collaborative platform with notebooks, data apps, SQL, Python, no-code, R, and so much more. | [Documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/overview) | -|Hashboard||Data visualization|[Hashboard](https://hashboard.com) is a business intelligence platform that enables self-service data exploration and metric tracking.|[Documentation](https://docs.hashboard.com/docs/database-connections/clickhouse)| +|GrowthBook| GrowthBook logo | Data visualization | Warehouse native experimentation platform (feature flagging and A/B testing). | [External documentation](https://docs.growthbook.io/warehouses/clickhouse) | +|HEX| HEX logo | Data visualization | Hex is a modern, collaborative platform with notebooks, data apps, SQL, Python, no-code, R, and so much more. | [External documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/overview) | +|Hashboard||Data visualization|[Hashboard](https://hashboard.com) is a business intelligence platform that enables self-service data exploration and metric tracking.|[External documentation](https://docs.hashboard.com/docs/database-connections/clickhouse)| |HighTouch|HighTouch logo|Data integration|Sync your data directly from your warehouse to 140+ destinations|[Website](https://hightouch.com/docs/sources/clickhouse)| |Holistics|Holistics logo|Data visualization|Business Intelligence for ClickHouse database|[Website](https://www.holistics.io/integrations/clickhouse/)| |HouseWatch|HouseWatch logo|Data management| Open source tool for monitoring and managing ClickHouse clusters. |[GitHub](https://github.com/PostHog/HouseWatch)| -|IBM Instana| |Data management|Instana can auto-discover and monitor ClickHouse server processes|[Documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=technologies-monitoring-clickhouse)| -|Jitsu||Data analytics|An open-source event collection platform.|[Documentation](https://docs.jitsu.com/destinations/warehouse/clickhouse)| -|LangChain|πŸ¦œοΈπŸ”—|SDK|LangChain is a framework for developing applications powered by language models|[Documentation](https://python.langchain.com/docs/integrations/vectorstores/clickhouse/)| +|IBM Instana| |Data management|Instana can auto-discover and monitor ClickHouse server processes|[External documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=technologies-monitoring-clickhouse)| +|Jitsu||Data analytics|An open-source event collection platform.|[External documentation](https://docs.jitsu.com/destinations/warehouse/clickhouse)| +|LangChain|πŸ¦œοΈπŸ”—|SDK|LangChain is a framework for developing applications powered by language models|[External documentation](https://python.langchain.com/docs/integrations/vectorstores/clickhouse/)| |Luzmo|Luzmo logo|Data visualization|Luzmo is an embedded analytics platform with a native ClickHouse integration, purpose-built for Software and SaaS applications.|[Documentation](/integrations/data-visualization/luzmo-and-clickhouse.md)| -|Mage|Mage logo|Data Ingestion|Open-source data pipeline tool for transforming and integrating data|[Documentation](https://docs.mage.ai/integrations/databases/ClickHouse) +|Mage|Mage logo|Data Ingestion|Open-source data pipeline tool for transforming and integrating data|[External documentation](https://docs.mage.ai/integrations/databases/ClickHouse) |Metaplane|Metaplane logo|Data management|Data observability for every data team|[Website](https://www.metaplane.dev/integrations)| |MindsDB|MindsDB logo|AI/ML| The platform for customizing AI from enterprise data |[Website](https://mindsdb.com/clickhouse-machine-learning )| |Mitzu|Mitzu logo|Data visualization|Mitzu is a no-code warehouse-native product analytics application. Find funnel, retention, user segmentation insights without copying your data.|[Documentation](/integrations/mitzu)| |Mode Analytics|Mode logo|Data visualization|Business Intelligence built around data teams|[Website](https://mode.com/)| |Moose OLAP||Language client|Moose OLAP offers TypeScript and Python abstractions and ORM-like functionality built natively for ClickHouse|[Documentation](interfaces/third-party/moose-olap),[Website](https://www.fiveonefour.com/moose)| |Omni||Data visualization|Business intelligence that speaks your language. Explore, visualize, and model data your way with Omni. From spreadsheets to SQLβ€”in a single platform.| [Website](https://omni.co/)| -|Openblocks|Openblocks logo|SQL client|Openblocks is a low code platform for building UIs|[Documentation](https://blog.openblocks.dev/blog/openblocks-x-clickhouse)| -|OpsRamp (HP)| OpsRamp Logo|Data management| Provides observability metrics for ClickHouse|[Documentation](https://docs.opsramp.com/integrations/database-no-sql/automonitor-clickhouse-monitoring/)| -|Popsink||Data integration|Build real-time Change Data Capture (CDC) pipelines to ClickHouse.|[Documentation](https://docs.popsink.com/connectors/target/clickhouse/)| -|Prequel||Data sharing|Connect your ClickHouse instance to Prequel to share data to or sync data from your users and partners.|[Documentation](https://docs.prequel.co/docs/sources-clickhouse-generic)| +|Openblocks|Openblocks logo|SQL client|Openblocks is a low code platform for building UIs|[External documentation](https://blog.openblocks.dev/blog/openblocks-x-clickhouse)| +|OpsRamp (HP)| OpsRamp Logo|Data management| Provides observability metrics for ClickHouse|[External documentation](https://docs.opsramp.com/integrations/database-no-sql/automonitor-clickhouse-monitoring/)| +|Popsink||Data integration|Build real-time Change Data Capture (CDC) pipelines to ClickHouse.|[External documentation](https://docs.popsink.com/connectors/target/clickhouse/)| +|Prequel||Data sharing|Connect your ClickHouse instance to Prequel to share data to or sync data from your users and partners.|[External documentation](https://docs.prequel.co/docs/sources-clickhouse-generic)| |Quesma||Data integration|Use Kibana and OpenSearch Dashboards with data in ClickHouse.|[Website](https://quesma.com/quesma-for-elk)| |Redash|Redash logo|Data visualization|Connect and query your data sources, build dashboards to visualize data and share|[Website](https://redash.io/help/data-sources/querying/supported-data-sources)| -|Restack Data Hub|Restack logo|Data governance|Users can achieve more comprehensive data governance and observability framework with Restack Data Hub.|[Documentation](https://www.restack.io/docs/datahub-knowledge-datahub-clickhouse-integration)| -|Restack OpenMetadata|Restack logo|Data quality|Restack OpenMetadata supports metadata extraction, query usage tracking, data profiling, and data quality checks.|[Documentation](https://www.restack.io/docs/openmetadata-knowledge-openmetadata-clickhouse-integration)| +|Restack Data Hub|Restack logo|Data governance|Users can achieve more comprehensive data governance and observability framework with Restack Data Hub.|[External documentation](https://www.restack.io/docs/datahub-knowledge-datahub-clickhouse-integration)| +|Restack OpenMetadata|Restack logo|Data quality|Restack OpenMetadata supports metadata extraction, query usage tracking, data profiling, and data quality checks.|[External documentation](https://www.restack.io/docs/openmetadata-knowledge-openmetadata-clickhouse-integration)| |Retool||No code|Create your application with drag-and-drop interface. |[Documentation](/integrations/retool)| -|Rill||Data visualization|Rill is an Operational BI tool purpose-built for slicing & dicing data with OLAP engines.|[Documentation](https://docs.rilldata.com/reference/olap-engines/clickhouse)| -|RisingWave||Data ingestion| SQL stream processing with a Postgres-like experience. 10x faster and more cost-efficient than Apache Flink. |[Documentation](https://docs.risingwave.com/docs/current/sink-to-clickhouse/)| -|RudderStack||Data ingestion|RudderStack makes it easy to collect and send customer data to the tools and teams that need it|[Documentation](https://www.rudderstack.com/docs/destinations/warehouse-destinations/clickhouse/)| +|Rill||Data visualization|Rill is an Operational BI tool purpose-built for slicing & dicing data with OLAP engines.|[External documentation](https://docs.rilldata.com/reference/olap-engines/clickhouse)| +|RisingWave||Data ingestion| SQL stream processing with a Postgres-like experience. 10x faster and more cost-efficient than Apache Flink. |[External documentation](https://docs.risingwave.com/docs/current/sink-to-clickhouse/)| +|RudderStack||Data ingestion|RudderStack makes it easy to collect and send customer data to the tools and teams that need it|[External documentation](https://www.rudderstack.com/docs/destinations/warehouse-destinations/clickhouse/)| |RunReveal|RunReveal logo|Data ingestion|Ingest and normalize audit logs from any SaaS application into ClickHouse. Create alerts and detections from scheduled queries.|[Website](https://runreveal.com)| -|Sematext|Sematext logo|Data management|Observability monitoring for ClickHouse databases.|[Documentation](https://sematext.com/docs/integration/clickhouse/)| +|Sematext|Sematext logo|Data management|Observability monitoring for ClickHouse databases.|[External documentation](https://sematext.com/docs/integration/clickhouse/)| |SiSense|SiSense logo|Data visualization|Embed analytics into any application or workflow|[Website](https://www.sisense.com/data-connectors/)| -|SigNoz|SigNoz logo|Data visualization|Open Source Observability Platform|[Documentation](https://www.signoz.io/docs/architecture/)| -|Snappy Flow|Snappy Flow logo|Data management|Collects ClickHouse database metrics via plugin.|[Documentation](https://docs.snappyflow.io/docs/Integrations/clickhouse/instance)| +|SigNoz|SigNoz logo|Data visualization|Open Source Observability Platform|[External documentation](https://www.signoz.io/docs/architecture/)| +|Snappy Flow|Snappy Flow logo|Data management|Collects ClickHouse database metrics via plugin.|[External documentation](https://docs.snappyflow.io/docs/Integrations/clickhouse/instance)| |Soda|Soda logo|Data quality|Soda integration makes it easy for organisations to detect, resolve, and prevent data quality issues by running data quality checks on data before it is loaded into the database.|[Website](https://www.soda.io/integrations/clickhouse)| |Splunk|Splunk logo|Data integration|Splunk modular input to import to Splunk the ClickHouse Cloud Audit logs.|[Website](https://splunkbase.splunk.com/app/7709),
[Documentation](/integrations/tools/data-integration/splunk/index.md)| |StreamingFast|StreamingFast logo|Data ingestion| Blockchain-agnostic, parallelized and streaming-first data engine. |[Website](https://www.streamingfast.io/)| -|Streamkap|Streamkap logo|Data ingestion|Setup real-time CDC (Change Data Capture) streaming to ClickHouse with high throughput in minutes.|[Documentation](https://docs.streamkap.com/docs/clickhouse)| +|Streamkap|Streamkap logo|Data ingestion|Setup real-time CDC (Change Data Capture) streaming to ClickHouse with high throughput in minutes.|[External documentation](https://docs.streamkap.com/docs/clickhouse)| |Supabase|Supabase logo|Data ingestion|Open source Firebase alternative|[GitHub](https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/clickhouse_fdw),[Blog](https://clickhouse.com/blog/migrating-data-between-clickhouse-postgres)| -|Teleport|Teleport logo|Secure connection|Teleport Database Service authenticates to ClickHouse using x509 certificates, which are available for the ClickHouse HTTP and Native (TCP) interfaces.|[Documentation](https://goteleport.com/docs/enroll-resources/database-access/enroll-self-hosted-databases/clickhouse-self-hosted/)| +|Teleport|Teleport logo|Secure connection|Teleport Database Service authenticates to ClickHouse using x509 certificates, which are available for the ClickHouse HTTP and Native (TCP) interfaces.|[External documentation](https://goteleport.com/docs/enroll-resources/database-access/enroll-self-hosted-databases/clickhouse-self-hosted/)| |TABLUM.IO||SQL client|TABLUM.IO ingests data from a variety of sources, normalizes and cleans inconsistencies, and gives you access to it via SQL.|[Documentation](/integrations/sql-clients/tablum.md)| -|Tooljet|Tooljet logo|Data Visualization|ToolJet is an open-source low-code framework to build and deploy custom internal tools.|[Documentation](https://docs.tooljet.com/docs/data-sources/clickhouse/)| +|Tooljet|Tooljet logo|Data Visualization|ToolJet is an open-source low-code framework to build and deploy custom internal tools.|[External documentation](https://docs.tooljet.com/docs/data-sources/clickhouse/)| |Upstash||Data Ingestion|A data platform offering serverless Kafka and other solutions|[Website](https://upstash.com/)| |Vector|Vector logo|Data ingestion|A lightweight, ultra-fast tool for building observability pipelines with built-in compatibility with ClickHouse.|[Documentation](/integrations/vector/)| |WarpStream||Data Ingestion|A Kafka compatible data streaming platform built directly on top of object storage|[Website](https://www.warpstream.com/)| -|YepCode||Data integration|YepCode is the integration & automation tool that loves source code.|[Documentation](https://yepcode.io/docs/integrations/clickhouse/)| -|Zing Data|Zing logo|Data visualization|Simple social business intelligence for ClickHouse, made for iOS, Android and the web.|[Documentation](https://docs.getzingdata.com/docs/)| +|YepCode||Data integration|YepCode is the integration & automation tool that loves source code.|[External documentation](https://yepcode.io/docs/integrations/clickhouse/)| +|Zing Data|Zing logo|Data visualization|Simple social business intelligence for ClickHouse, made for iOS, Android and the web.|[External documentation](https://docs.getzingdata.com/docs/)|
@@ -353,27 +353,27 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |------|----|----------------|------------------|-------------| |Apache Airflow|Airflow logo|Data ingestion|Open-source workflow management platform for data engineering pipelines|[Github](https://github.com/bryzgaloff/airflow-clickhouse-plugin)| |Apache Beam|Beam logo|Data ingestion|Open source, unified model and set of language-specific SDKs for defining and executing data processing workflows. Compatible with Google Dataflow.|[Documentation](/integrations/apache-beam),
[Examples](https://github.com/ClickHouse/clickhouse-beam-connector/)| -|Apache InLong|InLong logo|Data ingestion|One-stop integration framework for massive data|[Documentation](https://inlong.apache.org/docs/data_node/load_node/clickhouse)| +|Apache InLong|InLong logo|Data ingestion|One-stop integration framework for massive data|[External documentation](https://inlong.apache.org/docs/data_node/load_node/clickhouse)| |Apache NiFi|NiFi logo|Data ingestion|Automates the flow of data between software systems|[Documentation](/integrations/nifi)| |Apache SeaTunnel|SeaTunnel logo|Data ingestion|SeaTunnel is a very easy-to-use ultra-high-performance distributed data integration platform|[Website](https://seatunnel.apache.org/docs/2.3.0/connector-v2/sink/Clickhouse)| |Apache SkyWalking|SkyWalking logo|Data management|Open-source APM system that provides monitoring, tracing and diagnosing capabilities for distributed systems in Cloud Native architectures.|[Blog](https://skywalking.apache.org/blog/2024-03-12-monitoring-clickhouse-through-skywalking/)| |Apache StreamPark|SeaTunnel logo|Data ingestion|A stream processing application development framework and stream processing operation platform. |[Website](https://streampark.apache.org/docs/intro)| -|Bytebase|ByteBase logo|Data management|Open-source database DevOps tool, it's the GitLab for managing databases throughout the application development lifecycle|[Documentation](https://www.bytebase.com/docs/introduction/supported-databases)| +|Bytebase|ByteBase logo|Data management|Open-source database DevOps tool, it's the GitLab for managing databases throughout the application development lifecycle|[External documentation](https://www.bytebase.com/docs/introduction/supported-databases)| |CHProxy| |Data management|Chproxy is an HTTP proxy and load balancer for the ClickHouse database|[GitHub](https://github.com/ContentSquare/chproxy)| |Chat-DBT| |AI Integration|Create ClickHouse queries using Chat GPT.|[GitHub](https://github.com/plmercereau/chat-dbt)| |ClickHouse Monitoring Dashboard||Dashboard|A simple monitoring dashboard for ClickHouse|[Github](https://github.com/duyet/clickhouse-monitoring)| |Common Lisp|clickhouse-cl Logo|Language client|Common Lisp ClickHouse Client Library|[GitHub](https://github.com/juliojimenez/clickhouse-cl)| |Dataflow|Dataflow logo|Data ingestion|Google Dataflow is a serverless service for running batch and streaming data pipelines using Apache Beam.|[Documentation](/integrations/google-dataflow/dataflow)| |DBNet|Airflow logo|Software IDE|Web-based SQL IDE using Go as a back-end, and the browser as the front-end.|[Github](https://github.com/dbnet-io/dbnet)| -|DataLens|Datalens logo|Data visualization|An open-source data analytics and visualization tool.|[Website](https://datalens.tech/),
[Documentation](https://datalens.tech/docs/en/)| +|DataLens|Datalens logo|Data visualization|An open-source data analytics and visualization tool.|[Website](https://datalens.tech/),
[External documentation](https://datalens.tech/docs/en/)| |Dataease|Dataease logo|Data visualization|Open source data visualization analysis tool to help users analyze data and gain insight into business trends.|[Website](https://dataease.io/)| -|Datahub|Datahub logo|Data management|Open Source Data Catalog that enables data discovery, data observability and federated governance|[Documentation](https://datahubproject.io/docs/generated/ingestion/sources/clickhouse/)| +|Datahub|Datahub logo|Data management|Open Source Data Catalog that enables data discovery, data observability and federated governance|[External documentation](https://datahubproject.io/docs/generated/ingestion/sources/clickhouse/)| |Dbmate| |Data management|Database migration tool that will keep your database schema in sync across multiple developers and servers|[GitHub](https://github.com/amacneil/dbmate#clickhouse)| |DeepFlow|Deepflow logo|Data ingestion|Application Observability using eBPF|[Website](https://deepflow.io)| |Easypanel|Easypanel logo|Deployment method|It's a modern server control panel. You can use it to deploy ClickHouse on your own server.|[Website](https://easypanel.io),
[Documentation](/integrations/tools/data-integration/easypanel/index.md)| |Explo||Data visualization|Explo helps companies build real-time analytics dashboard by providing flexible components.|[Website](https://www.explo.co/integrations/clickhouse)| |Flink|Flink logo|Data ingestion|Flink sink for ClickHouse database, powered by Async Http Client|[GitHub](https://github.com/itinycheng/flink-connector-clickhouse)| -|Goose|Goose logo|Data migration|A database migration tool that supports SQL migrations and Go functions.|[GitHub](https://github.com/pressly/goose),
[Documentation](https://pressly.github.io/goose/)| +|Goose|Goose logo|Data migration|A database migration tool that supports SQL migrations and Go functions.|[GitHub](https://github.com/pressly/goose),
[External documentation](https://pressly.github.io/goose/)| |Ibis|Ibis logo|Language client|The flexibility of Python analytics with the scale and performance of modern SQL|[Website](https://ibis-project.org/backends/ClickHouse/)| |Jaeger|Jaeger logo|Data ingestion|Jaeger gRPC storage plugin implementation for storing traces in ClickHouse|[GitHub](https://github.com/jaegertracing/jaeger-clickhouse)| |JupySQL|JupySQL logo|SQL client|The native SQL client for Jupyter notebooks.|[Documentation](/integrations/jupysql)| @@ -388,18 +388,18 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Pinax|Pinax logo|Blockchain analytics|Indexing, analytics, and search tools for blockchains.|[Blog](https://blog.pinax.network/substreams/simplify-real-time-blockchain-analytics-with-clickhouse/)| |Pulse|PulseUI logo|Data management|A developer platform for internal data UIs.|[Website](https://www.timestored.com/pulse/)| |QStudio|QStudio logo|GUI|A simple to use GUI for interacting with ClickHouse databases.|[Website](https://www.timestored.com/qstudio/database/clickhouse)| -|Qryn|qryn logo|Data Ingestion, Management, Visualization | qryn is a polyglot observability stack built on top of ClickHouse, transparently compatible with Loki, Prometheus, Tempo, Opentelemetry and many other formats and standard APIs without requiring custom clients, code or plugins|[Documentation](https://qryn.dev), [Github](https://github.com/metrico), [Website](https://qryn.cloud)| -|RSyslog|RSyslog logo|Data Ingestion|This module provides native support for logging to ClickHouse.|[Documentation](https://www.rsyslog.com/doc/master/configuration/modules/omclickhouse.html)| +|Qryn|qryn logo|Data Ingestion, Management, Visualization | qryn is a polyglot observability stack built on top of ClickHouse, transparently compatible with Loki, Prometheus, Tempo, Opentelemetry and many other formats and standard APIs without requiring custom clients, code or plugins|[External documentation](https://qryn.dev), [Github](https://github.com/metrico), [Website](https://qryn.cloud)| +|RSyslog|RSyslog logo|Data Ingestion|This module provides native support for logging to ClickHouse.|[External documentation](https://www.rsyslog.com/doc/master/configuration/modules/omclickhouse.html)| |Rocket.BI||Data visualization|RocketBI is a self-service business intelligence platform that helps you quickly analyze data, build drag-n-drop visualizations and collaborate with colleagues right on your web browser.|[GitHub](https://github.com/datainsider-co/rocket-bi),
[Documentation](/integrations/data-visualization/rocketbi-and-clickhouse.md)| |Ruby|Ruby logo|Language client|A modern Ruby database driver for ClickHouse|[GitHub](https://github.com/shlima/click_house)| |R|R logo|Language client|R package is a DBI interface for the ClickHouse database|[GitHub](https://github.com/IMSMWU/RClickHouse)| -|SQLPad||SQL client|SQLPad is a web app for writing and running SQL queries and visualizing the results|[Documentation](https://getsqlpad.com/en/connections/#clickhouse)| +|SQLPad||SQL client|SQLPad is a web app for writing and running SQL queries and visualizing the results|[External documentation](https://getsqlpad.com/en/connections/#clickhouse)| |Scala|Scala logo|Language client|ClickHouse Scala Client that uses Akka Http|[GitHub](https://github.com/crobox/clickhouse-scala-client)| |SchemaSpy|SchemaSpy logo|Data visualization|SchemaSpy supports ClickHouse schema visualuzation|[GitHub](https://github.com/schemaspy/schemaspy)| |TricksterCache||Data visualization| Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator |[Website](https://trickstercache.org/)| |Visual Studio Client|VS logo|Language client|Visual studio lightweight client|[Marketplace](https://marketplace.visualstudio.com/items?itemName=fanruten.clickhouse-light)| -|VulcanSQL|VulcanSQL logo|Data API Framework|It's a Data API Framework for data applications that helps data folks create and share data APIs faster. It turns your SQL templates into data APIs. No backend skills required.|[Website](https://vulcansql.com/),
[Documentation](https://vulcansql.com/docs/connect/clickhouse)| -|marimo|marimo logo|SQL Client|An open-source reactive notebook for Python with SQL built-in. Create data visualizations, shareable apps or executable scripts.|[Website](https://marimo.io/),
[Documentation](https://docs.marimo.io/guides/working_with_data/sql/?h=sql#clickhouse-support)| +|VulcanSQL|VulcanSQL logo|Data API Framework|It's a Data API Framework for data applications that helps data folks create and share data APIs faster. It turns your SQL templates into data APIs. No backend skills required.|[Website](https://vulcansql.com/),
[External documentation](https://vulcansql.com/docs/connect/clickhouse)| +|marimo|marimo logo|SQL Client|An open-source reactive notebook for Python with SQL built-in. Create data visualizations, shareable apps or executable scripts.|[Website](https://marimo.io/),
[External documentation](https://docs.marimo.io/guides/working_with_data/sql/?h=sql#clickhouse-support)|
:::info Notice diff --git a/docs/integrations/language-clients/moose-olap.md b/docs/integrations/language-clients/moose-olap.md index fbe4ea1559a..a960132fa26 100644 --- a/docs/integrations/language-clients/moose-olap.md +++ b/docs/integrations/language-clients/moose-olap.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_title: 'Moose OLAP' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/moose_logo.svg' +integration_tier: partner --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/sql-clients/datagrip.md b/docs/integrations/sql-clients/datagrip.md index 8aba018ed90..9a58eeb00ed 100644 --- a/docs/integrations/sql-clients/datagrip.md +++ b/docs/integrations/sql-clients/datagrip.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_title: 'DataGrip' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/data_grip.svg' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbeaver.md b/docs/integrations/sql-clients/dbeaver.md index b1ebe21ae1c..fa0a96dd79b 100644 --- a/docs/integrations/sql-clients/dbeaver.md +++ b/docs/integrations/sql-clients/dbeaver.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_title: 'DBeaver' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/dbeaver_logo.svg' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbvisualizer.md b/docs/integrations/sql-clients/dbvisualizer.md index bff4658a1c5..e82c968e674 100644 --- a/docs/integrations/sql-clients/dbvisualizer.md +++ b/docs/integrations/sql-clients/dbvisualizer.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_title: 'DbVisualizer' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/logo_dbvisualizer.png' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/sql-clients/jupysql.md b/docs/integrations/sql-clients/jupysql.md index caa8702ba6c..2c8f5fb7a65 100644 --- a/docs/integrations/sql-clients/jupysql.md +++ b/docs/integrations/sql-clients/jupysql.md @@ -5,8 +5,9 @@ description: 'JupySQL is a multi-platform database tool for Jupyter.' title: 'Using JupySQL with ClickHouse' doc_type: 'guide' integration_title: 'JupySQL' -integration_type: ['sql client'] +integration_type: ['sql client', 'community'] integration_logo: '/static/images/integrations/logos/jupyter.png' +integration_tier: 'community' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/tablum.md b/docs/integrations/sql-clients/tablum.md index cdf0a88faa3..35ce3d77f49 100644 --- a/docs/integrations/sql-clients/tablum.md +++ b/docs/integrations/sql-clients/tablum.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_title: 'TABLUM.IO' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/tablum.svg' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/tools/data-integration/easypanel/index.md b/docs/integrations/tools/data-integration/easypanel/index.md index 256f78f8fb7..d8d3a0be762 100644 --- a/docs/integrations/tools/data-integration/easypanel/index.md +++ b/docs/integrations/tools/data-integration/easypanel/index.md @@ -6,8 +6,9 @@ description: 'You can use it to deploy ClickHouse on your own server.' title: 'Deploying ClickHouse on Easypanel' doc_type: 'guide' integration_title: 'Easypanel' -integration_type: ['deployment method'] +integration_type: ['deployment method', 'community'] integration_logo: '/static/images/integrations/logos/logo-easypanel.png' +integration_tier: 'community' --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/tools/data-integration/retool/index.md b/docs/integrations/tools/data-integration/retool/index.md index 196f1227396..2cc84b0d212 100644 --- a/docs/integrations/tools/data-integration/retool/index.md +++ b/docs/integrations/tools/data-integration/retool/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'Retool' integration_type: ['no code'] integration_logo: '/static/images/integrations/logos/retool.svg' +integration_tier: partner --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/tools/data-integration/splunk/index.md b/docs/integrations/tools/data-integration/splunk/index.md index 1ff05e35193..9868ceab08e 100644 --- a/docs/integrations/tools/data-integration/splunk/index.md +++ b/docs/integrations/tools/data-integration/splunk/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_title: 'Splunk' integration_type: ['data integration'] integration_logo: '/static/images/integrations/logos/splunk_logo.png' +integration_tier: partner --- import Image from '@theme/IdealImage'; diff --git a/plugins/integration-extractor-plugin.js b/plugins/integration-extractor-plugin.js index 83c9aa26ed6..c9abb0ed402 100644 --- a/plugins/integration-extractor-plugin.js +++ b/plugins/integration-extractor-plugin.js @@ -71,6 +71,45 @@ function integrationExtractorPlugin(context, options) { } }); + // Load custom integrations from integrations_custom.json + const customIntegrationsPath = path.join(context.siteDir, 'static/integrations_custom.json'); + if (fs.existsSync(customIntegrationsPath)) { + try { + const customIntegrationsContent = fs.readFileSync(customIntegrationsPath, 'utf8'); + const customIntegrations = JSON.parse(customIntegrationsContent); + + customIntegrations.forEach(customIntegration => { + // Validate required fields + if (customIntegration.slug && + customIntegration.integration_logo && + customIntegration.integration_type && + customIntegration.integration_title) { + + // Fix logo path for Docusaurus static serving + let logoPath = customIntegration.integration_logo; + if (logoPath.startsWith('/static/')) { + logoPath = logoPath.replace('/static/', '/'); + } + + integrations.push({ + slug: customIntegration.slug, + integration_logo: logoPath, + integration_type: Array.isArray(customIntegration.integration_type) + ? customIntegration.integration_type + : [customIntegration.integration_type], + integration_title: customIntegration.integration_title + }); + } else { + console.warn(`Warning: Custom integration missing required fields:`, customIntegration); + } + }); + + console.log(`βœ… Integration extractor: Added ${customIntegrations.length} custom integrations`); + } catch (err) { + console.warn(`Warning: Could not process integrations_custom.json:`, err.message); + } + } + // Sort integrations alphabetically by integration_title, fallback to slug integrations.sort((a, b) => { const titleA = a.integration_title || a.slug; @@ -78,7 +117,7 @@ function integrationExtractorPlugin(context, options) { return titleA.localeCompare(titleB); }); - console.log(`βœ… Integration extractor: Found ${integrations.length} integrations`); + console.log(`βœ… Integration extractor: Found ${integrations.length} total integrations`); return integrations; }, diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 16482b67587..4e25269cde1 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState, useMemo } from 'react'; import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; import CUICard from '@site/src/components/CUICard'; @@ -13,8 +13,94 @@ type IntegrationData = { integration_title?: string; }; +function IntegrationCard({ integration }: { integration: IntegrationData }) { + return ( + + + + {`${integration.integration_title + + + {integration.integration_title} + + + + ); +} + +function IntegrationCards({ integrations }: { integrations: IntegrationData[] }) { + return ( +
+ {integrations.map((integration, index) => ( + + ))} +
+ ); +} + export function IntegrationGrid() { const integrations: IntegrationData[] = integrationsData; + const [searchTerm, setSearchTerm] = useState(''); + const [selectedFilter, setSelectedFilter] = useState('All'); + + // Get unique integration types for filter buttons + const integrationTypes = useMemo(() => { + const types = new Set(); + integrations.forEach(integration => { + integration.integration_type.forEach(type => { + types.add(type); + }); + }); + return Array.from(types).sort(); + }, [integrations]); + + // Filter and group integrations + const filteredIntegrations = useMemo(() => { + return integrations.filter(integration => { + const matchesSearch = integration.integration_title?.toLowerCase().includes(searchTerm.toLowerCase()) || + integration.slug.toLowerCase().includes(searchTerm.toLowerCase()); + + const matchesFilter = selectedFilter === 'All' || + integration.integration_type.some(type => type === selectedFilter); + + return matchesSearch && matchesFilter; + }); + }, [integrations, searchTerm, selectedFilter]); + + // Group integrations by type for sectioned view + const groupedIntegrations = useMemo(() => { + const grouped = new Map(); + + filteredIntegrations.forEach(integration => { + integration.integration_type.forEach(type => { + if (!grouped.has(type)) { + grouped.set(type, []); + } + // Avoid duplicates in the same section using slug + title combination + if (!grouped.get(type)?.find(item => item.slug === integration.slug && item.integration_title === integration.integration_title)) { + grouped.get(type)?.push(integration); + } + }); + }); + + // Sort each group by title + grouped.forEach((integrationsArray, key) => { + integrationsArray.sort((a, b) => (a.integration_title || '').localeCompare(b.integration_title || '')); + }); + + return grouped; + }, [filteredIntegrations]); if (integrations.length === 0) { return ( @@ -25,31 +111,91 @@ export function IntegrationGrid() { } return ( -
- {integrations.map((integration, index) => ( - + {/* Search Bar */} +
+ setSearchTerm(e.target.value)} + className={styles.searchInput} + /> +
+ + {/* Filter Buttons */} +
+ + {integrationTypes.map(type => ( + + ))} +
+ + {/* Integration Sections */} + {selectedFilter === 'All' ? ( + // Show sections grouped by type + Array.from(groupedIntegrations.entries()) + .sort(([a], [b]) => a.localeCompare(b)) + .map(([type, typeIntegrations]) => ( +
+

+ {type.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')} +

+

+ {getSectionDescription(type)} +

+ +
+ )) + ) : ( + // Show filtered results +
+

+ {selectedFilter.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')} +

+

+ {getSectionDescription(selectedFilter)} +

+ +
+ )} + + {filteredIntegrations.length === 0 && ( +
+

No integrations found matching your criteria.

+
+ )}
); +} + +function getSectionDescription(type: string): string { + const descriptions: { [key: string]: string } = { + 'core': 'Essential ClickHouse integrations for the most common data sources and destinations.', + 'data ingestion': 'Streamline your data pipelines with ClickHouse! Seamless integrations ensure efficient ingestion, optimizing real-time analytics.', + 'data visualization': 'Illuminate your data stories! ClickHouse integrations enhance visualization, making insights more vivid & actionable.', + 'language client': 'Code in your comfort zone! ClickHouse\'s language client integrations make data access fluent across multiple programming languages.', + 'data integration': 'Integrate ClickHouse with your existing data infrastructure and workflows.', + 'sql client': 'Access and query ClickHouse databases using familiar SQL client tools and interfaces.', + 'data management': 'Manage, monitor, and optimize your ClickHouse data with specialized management tools.', + 'ai/ml': 'Leverage ClickHouse for machine learning and AI workloads with integrated ML tools and frameworks.', + 'no code': 'Build applications and workflows with ClickHouse using visual, no-code development platforms.', + 'deployment method': 'Deploy and manage ClickHouse instances using various deployment and orchestration tools.', + 'security automation': 'Secure your ClickHouse infrastructure with automated security and compliance tools.', + 'data quality': 'Ensure data quality and reliability in your ClickHouse pipelines.', + 'data governance': 'Implement data governance and compliance frameworks for your ClickHouse environment.', + 'clickpipes': 'ClickPipes is an integration engine that makes ingesting massive volumes of data from a diverse set of sources as simple as clicking a few buttons.' + }; + return descriptions[type] || 'Integrate ClickHouse with specialized tools and services.'; } \ No newline at end of file diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss index f952fe675e2..8e6c2610418 100644 --- a/src/components/IntegrationGrid/styles.module.scss +++ b/src/components/IntegrationGrid/styles.module.scss @@ -1,7 +1,113 @@ @use '../../css/breakpoints.scss' as breakpoints; -.integrationGrid { +.integrationsContainer { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; +} + +.searchContainer { + margin: 2rem 0; + display: flex; + justify-content: center; +} + +.searchInput { + width: 100%; + max-width: 400px; + padding: 12px 16px; + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: 8px; + font-size: 1rem; + background: var(--ifm-background-color); + color: var(--ifm-font-color-base); + + &:focus { + outline: none; + border-color: var(--ifm-color-primary); + box-shadow: 0 0 0 2px var(--ifm-color-primary-lightest); + } + + &::placeholder { + color: var(--ifm-color-emphasis-600); + } +} + +.filterContainer { + display: flex; + flex-wrap: wrap; + gap: 8px; + justify-content: center; + margin: 2rem 0; + + @media (max-width: breakpoints.$mobile-breakpoint) { + justify-content: flex-start; + overflow-x: auto; + padding-bottom: 4px; + + &::-webkit-scrollbar { + height: 4px; + } + + &::-webkit-scrollbar-track { + background: var(--ifm-color-emphasis-200); + border-radius: 2px; + } + + &::-webkit-scrollbar-thumb { + background: var(--ifm-color-emphasis-400); + border-radius: 2px; + } + } +} + +.filterButton { + padding: 8px 16px; + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: 20px; + background: var(--ifm-background-color); + color: var(--ifm-font-color-base); + font-size: 0.875rem; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + white-space: nowrap; + &:hover { + border-color: var(--ifm-color-primary); + background: var(--ifm-color-primary-lightest); + } + + &.active { + background: var(--ifm-color-primary); + border-color: var(--ifm-color-primary); + color: white; + } +} + +.integrationSection { + margin: 3rem 0; + + &:first-child { + margin-top: 1rem; + } +} + +.sectionTitle { + font-size: 1.5rem; + font-weight: 700; + margin-bottom: 0.5rem; + color: var(--ifm-font-color-base); +} + +.sectionDescription { + font-size: 1rem; + color: var(--ifm-font-color-secondary); + margin-bottom: 2rem; + line-height: 1.6; +} + +.integrationGrid { // Mobile first - single column grid-template-columns: 1fr; @@ -19,4 +125,15 @@ @media (min-width: breakpoints.$laptop-breakpoint) { grid-template-columns: repeat(5, minmax(0, 1fr)); } +} + +.noResults { + text-align: center; + padding: 3rem 1rem; + color: var(--ifm-font-color-secondary); + + p { + font-size: 1.1rem; + margin: 0; + } } \ No newline at end of file diff --git a/static/images/integrations/logos/amazon_kinesis_logo.svg b/static/images/integrations/logos/amazon_kinesis_logo.svg index c848407b742..b4d0a6dd2d5 100644 --- a/static/images/integrations/logos/amazon_kinesis_logo.svg +++ b/static/images/integrations/logos/amazon_kinesis_logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/integrations/logos/amazon_msk.svg b/static/images/integrations/logos/amazon_msk.svg index c4ba73a0e63..e894c0bfb0f 100644 --- a/static/images/integrations/logos/amazon_msk.svg +++ b/static/images/integrations/logos/amazon_msk.svg @@ -1 +1,15 @@ - \ No newline at end of file + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/images/integrations/logos/azure_event_hubs.svg b/static/images/integrations/logos/azure_event_hubs.svg index 540f89c6b43..098cb5e1024 100644 --- a/static/images/integrations/logos/azure_event_hubs.svg +++ b/static/images/integrations/logos/azure_event_hubs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/integrations/logos/clickpipes_for_amazon_s3.svg b/static/images/integrations/logos/clickpipes_for_amazon_s3.svg new file mode 100644 index 00000000000..cd78a6f4efc --- /dev/null +++ b/static/images/integrations/logos/clickpipes_for_amazon_s3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/integrations/logos/deltalake.png b/static/images/integrations/logos/deltalake.png deleted file mode 100644 index 5028721902445fd16601d08601dc0cd5e28b75e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5277 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 + + \ No newline at end of file diff --git a/static/images/integrations/logos/lakekeeper.svg b/static/images/integrations/logos/lakekeeper.svg new file mode 100644 index 00000000000..ae099d55e59 --- /dev/null +++ b/static/images/integrations/logos/lakekeeper.svg @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/integrations/logos/logo_cpp.png b/static/images/integrations/logos/logo_cpp.png deleted file mode 100644 index 38d99684e065f8663d611b523f5372aaeaf62b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91682 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 diff --git a/static/images/integrations/logos/logo_cpp.svg b/static/images/integrations/logos/logo_cpp.svg new file mode 100644 index 00000000000..4b27aa39373 --- /dev/null +++ b/static/images/integrations/logos/logo_cpp.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/images/integrations/logos/nessie.png b/static/images/integrations/logos/nessie.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0257aadbf0bc1511037a2e6a0d1dbcdff3fcb2 GIT binary patch literal 588464 zcmX_oWmFu`6YVYwi%TH5LvR8F4-zc61_&;TySrwA03oGM`le0ECv;(S!ni-C5d-Hh8@NT~wvT z0TrWU2d@i$Gc8$jMMVJf>l_6D47CCv{`bi1AbB0HuVy3sza4~@Y|#IoH~n|hlscLl z01ySpeil>r1Rl4drqK0$rT6A^SZyt_x2xCqs`<74CP}B-Y#`h=A~+Jb1V=W%2Ya$| zfhh!ieTD9{-eGffwIG|5!r@S07e?0)yAa?RWT3jNCyuVRDSx%uyST!y^)cz}pR(z4 zdVNz~JciBHyR9)i2C^{myZ{+cEZ9JaAK$K zg)*dl?cU{n$P-TKC4T0ov-ujIr3A%S-geT&R5n%~NN7LUbA@!`ZPrgtCVXs`5Q(RfFEO3_SYnU-G;vN49bMp4Xh`lW)V9{ccyhVwOQCsFApJB@UOO|=s_s~_hP=wWiyIBHHGx-+UZJk&EL6$pt2r_IoRgw?0pAoc^|*gL*_c!8;9F7s zw<8LQ!u~9+!r~Fs*jk_7NT=4^)^_?yQ02;5l0jSU+H6^aXNSM)`_vCFMZR6`bj;^g z8r@Vy=mw(p0xRDy)$$|-?*R(-q<%_aXH$|}X{Aho6+uqU%(8@1EHN8&vpG4s0fgi0 zo9n^F!=`s?s7&}ns-+tF$WWNdyz2Urb!`k=uCb;Z{zU-S7QEnEO8-|9%Y~!K zK2cG1sjlWemfYFSbMu+!f>tv?SCe0 z%ni&0?15F&j5AWZh+mvUnso~T1uua-ug*YI@_v|L zF|d7RFyLbN4wFIKW_o#K#BQ&1!E5iS(~HR--^|8`6yqpqs*ERYM5?BcVJV(Hk$K7q zuy!Jz!xt-)2f)gZssTnMC4u2<^Zi9-<(0r~4V+{gj?U`FRyvA(g=AYs@$d*%gax&A zQ*n*U43a+V-8lr7!=A0Qq&*BaEls$but!W5n4$>rB^VU9K>%RK`t%bwv<@sc$Vp6( zJe+{ij-`bWM>vNCV81k4{g5CDQMzeB8YczC(53KiL6{P` zU+27GFNl-O%oH-_aWitcb&*2J5O*hV**)$gAv{mBuea|xAO}cHN*e!?<3CWK8aJHx zq=g|6Fl@hEdiUWQI@AMcmo9z1jK#loRVI*lRh>zYa)5+rLko@~QIwM|7{Q_D#!V@N z_o0J)N75n|OoJ)pfT?$-d)bl|fh+YtbOCs7H>T(=&J!>%crGg!>L>{v(f?8}RSgH( zHI5V!uB&c`-=ux^6C`37%!#d+fEe*tF95Ojll zdoS`PKjJ?WmYWt$@2DL=_?Wu%iK8Ckl;JrEg2;7f;hWmqHhi(W_JSB5)ta}UEG?9e zC|aCuYg@RP(Y5`7B{10$gdFblzQfU^xN`-hFynQVeuD^za;9Jbe#KVV5;tpi3eIt1 zFo{;A_qd^n*qSQDQk-2%Lbyn1FZa+s?SDARA_LM7>cCe& zD=PV)#fe}Z53ZA(p&;zKk8;!}n$Px>FkquUZ$a#JF*VmF;ydgb%T03^j{{IU`zM2Y z4)XJBpBlOLe1NX;`6qExwtvVrYs|~BAjkBZ_P>$C%fUeC11y9EojV24`4edJ(S0Ea zUl?HiL{2LqM>3ZNW;8*A+r%G!0j|(>R3J3~*D>>JL}OBMWP>YtPU(OK=8KVI?z{iQ zft3^Jml%iZp(^(K3BNs%bSrp&6qoQ~zExO92Ml9O;LMtWVsBDO6ony%8{Ms76-Q#! zdWcl@q%98|ryeD(Dl>W)A2taXMF<)>H^B znx-| zSJL#oB|f(&?;{kplfjqwjd{shftZd!diV@c%8vPR-y3lO(B*#t8Q6T45Q-5L4R=mD!-0h>KLEvM)8$mNkZKGLs5G zN1(!>ZUH#^ue#?n$}vL%oTXtW43MDI-==sUMkB|?4H5RXKB6=oc#O$yIy+5WssHdA z^C73#hp=E@@@F@=eKS&wG=H;W%Sh&J*F}JkE!9&_<;h!)=}j5Dd9+8^77{I4kTf!2 zCkegJ8c=<0{*|PA*uV5=0uoA10y)VqQc6<&rqd=HG@kSP&MU`+m#To=RlM*u-j}HU_f4rW z{}Ai-Y7@-OZ@RZIzMJw}kgCnBfDT+QYc*BtAFOB@kT!C7*n4k01;-`^=V$8Vr`gVs z+T&*uY-S=4t#B(4TX!i5tuiRFV#1DU)3Ba)ClkwFx&f4(dL13czJ{Cr=r;{;l^J5Db`z47FM-CReog#7JSmiA20U&vH{<8$oCG~1ba<<(%$ck*EnkX_JYv8LYZ|2?3e2*xs^wZ` z_%#c?4{)eEN#I)ljfXUsWb$h^C`q#aFyn) zy$6>OCQSouRAJr0_Xx9l^=o0TMEA{dNJq93AbGvMZ?%2|A6&MZ2~^H;RRW#=a2Ns} zBS6gH?-kyxt0f%(ZLcf?l9B9pA13M1(R>f0la9HywC2OaZRPwfHu)avYjYw;gMP&P z;gy~H0(9N?N;2x&f&Ni6IXBuHoSo`*1++wd03_!_dbAnhxR4NYv!cR64{-*{Rt4&& zRun2m_Bo-1vQ5CsVnZ2lIx60!vO|s!lI*xnj09f5<#pq6d7NDS&mt2f-i~YQax{-_ zJ=Q(-s+=ocTPV;Ic~1&v)Vn>Md9s?RKsUFxra-@ys4k%W{lkSu`4?^Jz4wrhW+UO( zGtc53#~Afp*swQ}B1BFWbV;1Pu9YUS*U>V&N>P}UQ)Z2=` zZ;9@eV1#2pN=aOfy@MPckEdCF8;!+g_VBnD?>A7J63>`Ovcuf+c}{2EaIxIO_M6qE zC^7ABvd)j!;HTLJZUSd%`n&xmc}=u7xyMJgouzAnjC7ZcSuuSU6bcx=UYq!d7D&L@ z`g!DcrVkg*jqUA6Qw4dF1$^w=3emvzI>pLCJ>`>Um(dJ~GHO0u|`M?T4^Rg$S5<66JwO+T#o6_T+tGF(OU}ap)us zTzqIe=q24&^jM{KX#A_l$(xz{q=F?n5345N(7uV?N#zuTj}r7bqcmu0XlyTcRtw$S z#XJ84VGj^ee3R4A;LF!5Hesk@1vuggmdB!=0Ni$s4t<>3c>iSpX8YeXks@>(i4yT% z@8_9+6dbe;nx*>6*v`RU@JlWi3{zFx(mpRv(Q=hhVCBJ}C&^GX99;MdY{{6^Rt0z} zB13%v?fi4R-FhHYA`sTK_6BT_zj8$M$JJK^m-P}nfpV$^~t0oTHQ}=3A@pmk=*Ci z1pVAiua8yF zZe}$~IwPsO*97Q zHP12*Tk3Fpznzg;8pYoG;{#nlc!KegK%DcLYq(6D8Q>@S4nFBEr#$t8-ShlJLnIi1 zVSyw7(Y)lXyT77i9pk_!O2fXO5#HKtZUs`nCnS}YzB|BYPB+Y(zH2G@(Tw!uZx45c z+a_60gdeYtotTo=)zO(95$UnjmegTZy%;TB^*MH zozU*P9=R;23d4W=fr1?1( zv*#4jFeVc`pc;7J6&x&iKfFf~>+^5-+t7qbVV+iz5mv|C33Oh8bW(y8#HAy4)g!=p zIE@Ikhc*MLFpU=hV~aO+_?4)C;O?p}##`=8@;N!OGr&yxjE?7C+iVcO_Sw3>M~C2G z%ad7Q*{SOorl;b95!~kQEFEsj9}{vvD(*J}Eh%C%CX6qNvnIT?Yzl`l=~ z_?-eXdVJ*fUWP6HP32cdvdlm;Pn8S(C`s-X+*quB#8WF-p#R~YKDykQ5vr6-4Q-=?=D87Kr(&jD! z_8j^$3_6_CSxJ=l8IAOAM{s^nH>PNF zkp~hq`GPwXlKspMBoQl1#lx8wPz6Bsw6x;l8I-I9I9m_Jhl0K`K_Q%}>W=-i9j2VI zSkOvfa>N#8meB)Zt2pATJJX{iWUFBtY>@mcWL1#JwmSPu;l7GgvohW;mk-9!K*ZBm zq0)OlXX;`jZ-p|^ff5y26^Got-wEfx& z3;S5-gUVpnA;VhrC_V7+qB|D%7`Bu%_@iCb!Al$Rh@RA9_5O^M+Z;c+-=n{|#x0^0 z>;l4nXW{1<*@iE})#2Re?W&)Ae9?*|wQd)c=J(_FAw&ZeMcKc2UcJe(XLanm+Qi28mS^ zv@f%s=)s(>RJbnBtzVYx4U=@R_cC&FJ>4ES$ag`f4Y%0!0qWG0dvk#XE7(yh(X!8- zsX%IQs(`a4dON`IZ?3E>GNVLf95|BJNfrX=3iKS&hsYd} z2gJGUy__Oev;k75hOMczu4X2$$HrlUTCk+ zjr zQk*i_%m&T8FxU~#RnIW$Ffv7yLkOAJ!7aX-KtBVYz{WsH_G8lQca|ea<474%=AmKI zWF+RSS;k~!4= z%pPLlbOa8cMK*OvZg0(53O+<|pYKdU?|JT>6Dbl&UvmP0BdJlsk5f;A`CTl0Q1NCX}gu&~v&~5~Fdb**;DMaewb4~{Y?oXh#f+DO71c?;c zT4{ol0dOX>aRDj^yt1E;!Gx7 z-3B}IUJ`v=+(E(v&rmLfnG--#223u=;!12x5Zr7({w{5^L|zd^HeLvJmYtoQHMO#m z9UUGS%IWGeC1$-Ch%Yqr^OMkqq~%ZBfKh79_{Cm>s_1>0d({QSHaC>iM1 zlLQvP4^}}k)^hb}itE!j=HD65rI25JZox`Ac9yF)w;t)R3^0OCuPsUo$SHkBE+0$U z2Va3c9MEp|ha*Cogw8X2H6%GSKP>E`v1;IA$JgJMC0>!BM!1#kIJ#=aRhPv8kJR)X zuG##**@vo*o`PRC2JM-4zPP0N`&bUQ%UyEXwOU5MP5#q24BufQw(}b1E$7<)ujrEi zUR1E}Gh}OJRTss*XPPU$ZMfD@9+EY$M<)$p+0&F#%J{_Ne0WzJdlGpfRwg+Hw8aek znD=d&>?yW@!?|}wgKR&TF-deT4ETft+~=Txf_(QpNKJq;Kb~+pIlj^YIEC!ta34W? zcXwo}d0JZ#Vz8keLOa27M6DPx08@+wNcBWn^qozn4$YtxdwbIv^3ULYAnOU})pdmZ z16c!`tC7qpGF)6V%>-Q49VnsmDs^*!xolFE35=UyHIf zqX`*rC+cA~lAtEk<(RQBytk-GDzUDTn<<-*x04qjKZ_*U4SAkGfS;hjicc(umtR#? z3Z@J*&*n@_HpUV~n={=?w3~;-`@?vXP zRcA?gM^E2SE^f%}G(SHd=K=|drW6d@`b{R{uS1ZmVd~^1Y4_7gbJ&-W;f6(w!YSk3 z#9#`PfYjOrh~;7W=Vo=r<)-xsR-(bA_M$ zD5Lt!POpdoMQKJd)Pip4S~`c-Gqf&%(CS+NRfO3WyGaHw^pC)PZY zMzYRVm14kLQ5h1%L5#4aBTYugX6yJ14<2BG>dRcf*D9-%NOs|M%xloE-vl^4)5TNR z5x*8|0v{Y>NtY64*XLuqpgPb6T-y-s!pQPK`%|aW<&TYy8-Zkk?h2!ZS}`UJN<+Qo zU+U`Qt$p+uHF6-zs=}@N5{?hM7d?n>Q7?hM{b*|c(A0qnOq74?S7s0l(pFO{#tPYy zJb5gpGKDaac8m2{-p-l(eesi$U_opHz~83`qC7t*eW)sGQ@cgz8#epXT`8oG&^I+mQr!`FerD{xjEQhMaxj2 znXJ)^p1uT{QN;xC%|>gMnmRw8=l9TXv!en4>Hx#Wb)FCXEc9KTb`o80JoG|p_EzvW9e@cn;Rus;NaCv{O+ZIhNW$j<@V*KbqQHAvIGub$ zb=CW5;hR5CXW#CMe4lbDr+TzZz4cQ_aUwR1{LCupfq?ub4oYa+t*+j$Xm2{s%w_*a zyGy&ZdpqYoQiu5Bi!THD@t$$;IamwUawb!es%WJ#MON>?jdo^M6L* z6I|GVMkmVsDRU2@+`;0qNgEfN^Ti)O`k9MiiTH>|bqZ~EZZ_FE*ves|AFK-~w90T> zEe2+slCh$w$73c1w)MBjcBVx+ysL*N$8)B&otHyT=EU9yG8;5W{;3eWlDr5)_JS1j zlhp|H(VgeFuhA1w&x)>Upw&*&S7^c_FTDLt8#s7B)P3SpJBKp5;Cu`={on#i)Kv zwBKRYPS>}W2H_5V;3#chDSThxtFlfS5XT&eQO-hQP`w!Lo2OMFS3C(#uTLw3KlV%p)1^rMis_^Dk&A-k^=j)S$As9tKT!D|e!2-0 z)958MW*(Q!sxzzd%?REA?|4!_aI60HB8{LJ{u;wxg15Z$W$cR*-p<^{LJq>5JyMG{ zV~%n%)uo0&qCp2jeSRy~6rp)Vqj%%0*`3nG*%&Nq_ezjrR_gssY_<0CZ80Y{0Dp`)1 zq!EFv(ZM>79e-CkmC_|SYd7F~2a{-}BQyF00U$mN$PL-4mmwukrsFqR#5te|7Cdro z_D)2IYAaU)V&6CY*~r{juOc87zAma1^6(HalgbVaL}1=s0OBChfXfgkW5m8rzy?^f zHky)lfK*1e+zjvK(U&d>|2=;jq
    W|xiqBXesEOZr!CjPPIJw|LqdnyTIW`K+E7NRg0Or_IYe#H+vo?uMA; zDU|xYA+^8Nptx(il^G|c#=jD&Xfdb7eKMP?EwaDc7k(wP6xhnyEvj>GC9lPdPZ4@yvJaay2oVpB+QH`%z3fR-yr8^B}^5K|iRb%yeJTh=l|nkjNNh z5q2lgOb?8YroAUmq#+dz?b&vjh>?$fVr<~C@TS^_zbHS18=->^>_p3W@iFk z7>7cj%AW&HV&!WMjc_jG?NWKR5wR1Tokj2-*?&0A96yzMKv!2xswzh}M*jt#EzCuF z5yvzm6Q?F7*(?rDb#MaO&F_43`Uiji@1$$4+(DBtYY2f%{Delh;$H}j)(~7|OyC3g zQ8?(Orvg0=xfzmNF&mpr&+I#p{@s_p!kD?2)zE2HMd2Or-WK?OJ1dHYk?}I!%J#V( z$PYO{E3{X5w^3AVg64z5tf4h_N=rj|td%~5fo%+SCF3bU_?Qm9BW%pYy)3ceizf*K zVu=6%KmbWZK~y)J$6*?@MT&C_&-@0l7+9$?aonBJI|Qbm6WA5I_lP-clxf@?07O%8 z-;0M!eEerVQac$kcmZ_^IhwhcKKz4jLHMR;1C=3IazJ(IXhXcx$3Wrz)NH2KMz9u#@D~j z$!minm?aLbS-*Ps<}I6751ky^2!ZN@Bl}0sHL8JkVFhzXIXBwFPS5+l^8H{FzW?>~TGvpnN8tw`O;05OMfIX!$TwNqyJ;Dsn8 z%2qTb99Rzm;?aT3Jg{JZ%^*)bwVOd^KK0;UY6VL#>(KZr_-^71`|cjjx#tw5ZVu9L zlZQy|B{7I>E(JKQnZGuv9JPm_JB1c^Dh|WYTw$1vW@>E@9YsijNw^ymk&8h9F;Bwp zz!nb;Qb+?(S`5C`z^mbYFog0)-s-g>pU4ufl$ZlIo zXv{mtK|VB>WPY;hsF!zPq{fSUgN5@!J72shk+%c611|7GgXNOSl#CP2Za48J>Ax$k zypl|0QlzI)z!kxIIWgGz5=Q`L))bQHYs59j*0#F^C%V+*)_(gbF$HLeO z;}^FYgYYXbY<&M}e+xfx8?KqA@FB?>SuDqE?iA%%ud@mCqoxMBHq-1tZSUe?qRNmm z%-tsDvH(F8 znix)>{VShNfBmoia@vevXRXmaE?4^Ygupg%%uVc0>I_-mAObVyNsEjFGr({L8X0GT z$${_bd+g!)@?H0&r#X~^LxmYHTqR}Vh|ky-l_{ns|EOo+CUikwDt0t2Fz*OtuL;2{ zJR`3~ip2(2Mx`&}X>V(rpt`t=>!D1tZVQ4yp*_5tlP2g}(cT~k;}~J`h>}gq50yZ! z(rDf}i?@|2Oc_odJc__OntFJro3r2*Rb2B5&9ReA+9BP0NYBRg>(a-6`oqX8Y;vzQ z-bFj2?bfStJTsRPsAE*9Ej|2$ABBc@1^a7)C-Xkjt`W#B;#KMD`Ki-EvPxqYUbyY} z>hv&NzAPVoqLb8|v%tIda|wn~prU zbLTKxhVglJR?*LbqlN)N7#VXioa`K8IE!gTeSYsf_oqAFb4$A7vTbN=O}KQ2M3)9| z3$#I84pHcVNN&CLZRwtG-JAB}CZ(Wh21bdSkqd3s;B=EcW(}sx3U4oAf!oC8hZwxu_0%M80ywCUYSHd^cWAdB0Hlr|t?6%Ek zCJW9goh8VnWI(*@fp7Ms>AITDGgrOg4T1}}W*0F)QMMF)Im1Ndx#ylsBTQ&IJ6BiC zNtlt9f2um>8rA>m?cs*&e+n(Hi_PvH#%>ahTiR5Qx%4kJZZd0^gI+i^$mT-o$3)5{ zt9ey_z%N!VmMouoH3fSt%BIc*Mom$8Tr#u8(az#c^oxD7MApsktaZdU|HVyMvef20 zGJGqhK|hCJ$`Yij9~GMoA(haru?$!S6oHWEZV2_0rrUpTHzFWqK}JTIpOCBDp&7#o!(p z*K6&!g|MgKg)bW5s~|p|-ixq%;kHf8J8;f}{jSdPs|r(?@GSY~yXG7)tC)0-!?X6# zo*!b4HN$~7E$oNTuD8Yqt*?D#mdl2ce~u9QJeG<3%5=(ju}s?f>&D8I9<08KSLZmi z0?!uKwmtE(8@_c2r45c=(X2Z0gI|OK2p9w(eC>ssjW8&%D$tEy^$(Ym!gd6-9*$=p zQ{ciILkogb9^1f+;LBA$B?FS0Z=p|lxIuHZnW+&JL9J=++V1o>fBo;LU--G7P5lh? zGfZYx;5dPrfsc1^w6+y!gtGL({-9VPn_;pz!-~ONOIO-=@>u%eGmob)eD$uh|LD;) z%uH-f{DKHH^J%XH-E5yLj&VVNt(uluF>o}9g+7%hX9W`Vr4{0&N|OLNf8grG38-bd z@`Hi28britYBblj7k-o@kPq#5+?Hl)WmqOz2s-U{MJxM5YI1VmCfgP^s*Q1I)Tv_# z8$_5_;C37#?gDy|2I&uBm`|OXOz(Zq`_i>nUmfqWoRw>{;4kSSRQ=Qn-Kto_9YY$V z+%Itw<2bHFyH{g2MI759uaU>(KMlE2Dd1o&k>hc<(VB*?yyogdy}exn7+wx`;d__W zy2*o|<7Bn;`T2C`oehc4&Cl0O;H7%i$!p#DRBb-r+re1`YYZZZWh(s6 zArQA~t3;%Ee)BhVk!J_OT?an*6oNw-C%&7UxKWl19M%_iQX^XnAumHA-guyVnzA5N(W33~A<~*(Qw?kb z0B}H$zY+9z9B?O}843%*pENVz2VVoO7J-7DGt}P*Lt`e-VA@F{gcIcgrw*9;8f zyWf5&`dGJSv8+w3T*b`LiXi23o3mj1$R(tAy%XP$@)j8=FxU3c@(qDIIg@x^^oPE3 zPLD&FwCnJ(%6=E|jpWJ+&IHY)bVgy0fg|SYWpP!I+50GitG%xMFwz2Ss8TJw#i1tE zt48-x3uD!vO8p8`60SEcc$W{W9anq<`@CT!*% z`N;DtM%@tKp9PlUW$+qtf%k1rK(u#P)4_%gx|a7DUrg5+GA2?!2`wdXmHryToM@EI zkA_?hd7FQLhW7Eh8~-$`*Z|vdTw7s2R2&#NhWm{=^zysN z&OWD1hMBbE5|?|yTaEpIv3bZD!xnTJv-=*T1Uo*uNyvgyYn}bCy*l!Kx zQGmG77#4i@LsNZgaT_aEev_a5)JflVPGf(%YZoV}oeHy8AaWQ=XetJG7aA>PX(917vKY#nYJRboR9H&;p-yoh60SN zL_If~s@0!lWqFW;qgoh;>?>jFRfBib)*{6rdV&GQ2}CD{i(kXLgk zIBa>gsrC%LdIZ!n&p(^)zwaUNvMczF$~r6Tp-YCGC3O-Pd?v`A_&Gf_Gc&qj^Lc|8 zZriel4X?Y~=jR6j9Ve@8n))Z{GxK*^+1DYwo&qn3`}z4#a`M_1PhRVq8(%TgKYGDM zTSreGJ3c-;InPlJ^Q=sREzb)NOM;&rWh>aXNoo*f=t&j+t1D(cT;>MWH-kumd zTE%dJ{_I=|cW_ZSB_oKKPFDjAQo7`B*LSYaHmKxhN~7i(V>F&;2VpM-YNaXd^u!Q< ztGQLkozpHiQ(oi|X$4-OEhYKW(W;@SMRuUXSI?Q-7}?Yb1mZPmsZ;*C{9lVJL5RdN zs9LbqcMVl3QJ1|N*ETff8*QpmM813!-i@(JTfD3J+qQXg*i_4a)vV89=3uR4VcK`; zie`Y5{PtkaRYKrElwDeqTOqS3z6Hl|o3wgGcY4#CuK`ARrrqu)w_1x!Zp+`*Ub+AH zB-+G7LnpKSF6pD6s)qYp!6M+Xd{(dO%c7-H0Q_nP$5MgDKJuLc&Dr&Q$!YODx|-Jo zryMQq=N2cE`pjiHRYuEynQFvq#$VqXA{}XSUqidl8}4F4bH>aUnst+ld7K&6IZo44$!Cyw%u^*Fc2fn5biS}9t`3va+O2Cl}qIw0!@v!JmJzjj0M^Jz5bEi1+ z{k^x}lzs|3c{Ss{ca=*~Hl&)!-}Dtc!E1X$d*W%9qi0*Y<8()T?~W077A1ySGn3hb zvPYw_N~LM#-uUgm`rp7O`ohNXy99BP!*tWop#y3B1e#Q|yfK{--@(CVd@t!<>pg6{ z>5eS;@vfBWyTN$o=NQE1LWmV7pr`@wZ-$l6FBaq=JcIaW3_1M*<^lkkKufAjwI zrElDemlIqS!sm6->842Mmw}0l*?~Lq0p1yeZ``Zr0{Ms+Uvk^UOS>iZmPCS#+iHBJ zM@iC_NwW^qwm4(FKWGR1rIcBCQe%obT*BlDmmUadE2$5i1PD ziDD$+nRdOnJKc5ned$*}^9u-o+QOkIj^&(sy7=XQD?A&@ zH(sB<@WnqRD&kSaSaN6AiJ;`@`x$II=N(X(#mbc1m@$gc;**sR)Ry^#O{wf54`#LJ zKxpE6mlAS{K)85_7qk;bqF`Hu-LN6zS;CXFfMY~ApU{%!$9fh8i~_6{MDm7+q*W|5 z1oZtOa0$kXHdXbFm&^RAz_#G4u#%t)f%?&`a_$SFp3#H(MBA(SMI!q)+S!<^#BI%a z$Nkc6+tT^#HxNtQ;k{`bkeQ5xt0NfT3p-y-`}Yqp>(-t+IBzhsXnFvFBvmc7rE;}M z=lVN#T$xs{>Zh;sjNNx_p()6MSe0bio6BCDeU)AsIKZYkbQ07>m=)Mt3Hw)DHQO1t z__b`7XZ>Np07==khMr|k3O4qS%kzf7OR6p0%b+KNU4VaQS%%R|Ka`}Q^+6Lm!6`>b zSS+tnljcYz@}hgjAL}H(I)E#*&N3mMB`?-$7NuDDLR@liBc4$ieB6jOHp%kX zo^|H%{Lqlb-pHYp={fdjjKR+_sKj24GwbEJ(gSkP!Sa{!os>qT`n0lsZv;?Y6U7?gaQA?#GCrIa$yWaT>cPeh2DV zX#`X!d;X$f*1xZ}E!}?Wjp?`k&fiL#&tJ!J@_bZJ6=~$&(OBT%J?9}jV7ibYHoEZA zW2{=<_1zz)fBT=lnqEZX*}h^$TCsW^!?iB+RB$+skg;R7co?`9SWKSMXA~CrY2`z( zj%l?VH_S?INDIoNOl&+@0>4;9>N ztKpR4#@b0vgB?4@{ts4`*trvFVqzO|PtKLSfU#F~Yy}slSv~;qujknQ|M1 zt6_Pf%k=@~td8!)o66Vkx|>OFrgO5Xw>$D#`cG)989BRpyQeO{^766n-tJSJba!g5 zb$nt)_p0git#9SdUOM?}e!G0@UUSxDKrdeP%ro<+@bWyyn*Q|k=2+PyiZ;lu z4rGCtFsKU+?;P5`d48+CX{EdtHN8A*rcf>qeDGc4HS1CX$>JirX^2~!&amqQ@eLAR z;}tK@(Vwct(ehW!vcLs~rD=pSdM}xsu#+*>nN#(yietPY2)$xCOGT*4&V2+-0F8a_ z3|;o6|76c^zmU_}?4LOX;2YmeIKA+bE=& zb2WjXFRr@kD*QvQh_;%iW+=_U@(NRH{x*e>GDMEM@G3DCD+KDKMSB<|_l4==i(exf znWal;x&7rHpU(PEW6n8W^LAip%&MXx>8N%!em|4nrhV<95vEKF(P}_1q2bMLwZw%I zWX_FOdG9^)X?S5i;VfTC6+DW;wBdX6&oBxIMw8(m=0ZHX3UGMv$kG#VG7$fn;;pGA;9v;%af z_ZxOxoNl_|dg_Z5On5sqzj&xaX~kBvv?>OZRtsSut0hQq5E(DF@oUw2vcxJMfIuvu0ha zoV7t4ZLFxwyUIr!yc{&lH!dEdR+QJsUkX1g?-t!*8m5bjw8nP?iOcaCSmid@j)j+b z`Q5AJp}^dH`K`oJ4k$tQhV$dt?&8s8f(_3d@CE5E+pWVRLVhZ-b8mVm4jc+Wej4rW z&FO}>U7yEB%sIo%qC~g{#4lbI^|9qZ9v=h z+3DWy>Cv9fmcccvdiLztamk+5t5>r#uWbbF+7x{q@`V@|8eQ+TPRkvweOxQ9L)t;| zr=NH(J@W8lBm(h~5L+=)S4fTl18{k-2b-7&3Y|YonB54UZ)4NZ4R3jKm?_AhgP0{~ zE(aV5*8$W^huRK`cu7eKM4QDGP|R?_@|XeBpE8CxxeP(qyQi^;=$bjSBJ^seP_8(} zM2&O96~Zy=oeIUlV92vZWaceFP!C!Xmu>WS43<^BV>VcCc>F5w%Dw4x?J)>OqNy(9 zFL#;9a=l7@v~!MUVP{(66!=Wr^UoR)|`Y6ywaN zn{K)(;N)*Zfo-|R%hUYPYU&uS)Lug1ouR&-+GAdgm&t{NaEZeeY->aRG{!CUI8Bj@ zJ~j3&fTS=kwX{KZK$Y@B>m9YQCi!xyJYSXefiDa4YAngTq{}L=63=!RthXDJ?L|ZG z%@Tik{IkzV9Lu_6C$Z1txhzRWMyL5>nX&X1b;|uIp}ALZnhhWhCgxvocDbzbgb0C? z2;#X10mw&w%<<);oHCV73Ua$j9@eo77+-Y3);J1V4@T|6hx9=!_Ho7gz-|W2Ha6NE zM+=H@NlCHE&5@NfT^!+QQ0Q5QJH(4Q0B4eN&8rzV>iEH+PaPV@&RX13NALDixtHHQ zFU*%+@R)FX_yg}tYtb&xYQHJuD8Dh3H051+_H@TFpuGzL?rBa|n?bWX5B(}IG-Xke zF1Rb}o$gu?`3xRPy_UN-XVDz*Y`-_hZ+@0WEJI;LZQe;H1>-pQZ-LKZ0ht@$oah`r zi)JzYh~eUc6A>=^w->zhWVb0dN}a+?&{av^i|yiZ#vUspKIA89uCK3;j|j_*h0`+= z;4rq|pZa+EAOGIpN-H_iT~7=OWa3TvXvOzj(QJPUyN1h?2fPf8`IUT|?~#vj!G$S3(U5iy zS{oZYk%nRSMDBs-d%?VKH(4ph$uDkAK!z{l2K@#Jr?4qT$P|A*?dCN1d$U2zjGVpb@ zP3(BX6{j#|IE6p)vDP?QZ8lC;Ys{mT**W}C@3C{3X=7FbZ{4HEXS>#Rj8Dx?4b6A8 z9bB<`<-pd9E*M1C7@D5L;=D!HkF}6cCD>?xmuKH)V{fVp@K53~;mcqB2FL#$rxP;5 zE(NF{*hL={8fVh_H7nAG@Av>aLOE0d4d5#VkOEbq=h3EFG`w>N;PcoHW+DVBMC3q} zNtX|tI8^bW<{kg-$%QXji@)7k7s-Lokob z^nnvNSMqcMbKZvYaW#e+O_kP(V)+g^)dmlbj~$_2qnKHQAZWb=D)?&%76IP0GHck3 zTQFajUDy%foc_sW<}86ZKF&H=_WHmF-@^t`T7Y)9gGs(UP})-XulI$41!4A1xV`Ub z4$0Yz;53a5;VeS1RA&>HvfW*n$4~B)IP8j(>ppF2@v+ey=g3%12V8;%TZB?|oqIS0 z{KZZM8H76VT#q1aIFj-dwJA;?9X*V#I?5kuM?(k2A^R*ZSzEhCd|`ZGJRHY+krT9; z=`lRq%%@-fYrm3y^Vffkv3PZ?%msf&d8Nsh`Iu)LxNVwtHd)Q1NgO2~w#TJEed6)- zH~-N;O7}kTWSZr8`6*U_r>N@;iJ~__AMd< z3ZNY<0BBqgr-MQXrjI;IKDjf{y)sLlOz%Lge?5l>RH9mRj^Gx7iiX*a(q6|I6mEA@ zJ129sBJ@t<`_9>w8byUIZ3?~gvDwCDI*Gi@8hviO@@Td2-Gc9Se04=$AdTfXIMxuU zYHH(i)TPv^;og|8fagr^LatmTzV(st;^KD*yVONES{LEx?}*3uQvXs1zpJ%0eSt&C zd%1fl&%C@u6z>NA+HMW`os{gj=;E{iS5C3i!z%^TdZ0{ZTDv)wW?RcP}uH0fRwA+fxm2waq@ezy>on@KCp72yZ)g?yC3)xC;NV zmDWkm3AS0=@;+7>#92BTK7nQlfJ-}u=yU3#2bfb#s!zK4h8AZ&M}FoRd`(PID40)| zUwR2gsIzQY!=uRRjQx0q8+}hbdg!}0PV_suXCSq3GFcb=RzcX!+1WCYDJCeL z$(r^xv{949@IZw9Zr_T|^yyE3GX3hWd@8M7f%PeTHF!5P>AGi#aQB~-HSO4LU{}^pEtL4DKFw4q$_EOZqgyV}TBZR_!d}?y4XGP!08?L!} zaNWl9_RO`m?!m*&AV)lpuHC+Ux-w^YU6H#HDpeKF{q4@r-#Nee;KA9p@spF2?bAaL z^5DvKD+ab-cG01>t~L&v!Y7;R7((gvJX>_eC=sB}hbX35&JpPPoE?JTzQ}1Q$2e)m z0~(B%5oM`PYi<*cm)W(yVpVtg>7RLjTD_)^v{@h2SO*80e9>`qL(FC+K(sDl%ZtD} z$AA<9XH|st@X}l%mM%b|&>*_}QC&rN^S)pSBZx2yf+ADIBfW?iaA*=iN?D8VWwtG& z$lB04JQpKnRrSTUnq7`*ggk>VyJ_28mB5Q^H@|zJHr>Q~`j0zBZF(8Fg;`v@Tih$; zN&XJlUjDAxRW+0wuA0cuZ?pKJ3cDyWi@4-lw7hD-)X=rhOr{Gqtk2pJ847hPI2D?< zs9;;#gWcDJ8hW(=FvnUP@?03i0m=>EqS)_VaT$42X9jpfGlPqlwkNKP3-(XxLw~zr zZP(!wX&f!r97}29wN&0PKICj_e@lM3OlEmC%(Qj|h6`<{Yl-<`y3!ezl=E|TF2k1b z24k%>Bf`Yf1misg1YPAE_!~Jzef_QA74E?t{OEsA`iaSE#XN1duJbI_P;g?wLwQ-d zQ@;uavZhbm07e!>trV^-s})x~^Vrhco{R?--bd#7PY8y!LA3rM+9WPevrNC_!C*4a zfb0Y*@GEe#YCm!7X>vXVESrO2p&~o>J$or5q+d$Z@HV3BIn2hpoHN@_)-mQ z5gw!i|6QU{KtG;}J2)NaNzd9E~5(B10fAiXm7 zaLqGDOmh<7)Xa&rc1=tA>@R;J{n}ssZ0hgB?i@RCg{6$w2+l#{v{ibit#Z0ac;qPF zJa(~v=70I!f1B?4;nQipZ%vv;4rs$wD03$+Ys&aT`MC~0`>KwJCBIq~bBtV$W!0`m z`d`>LktMt*Xru-;OK!O8MOGycn|F;DP>FB#GVA4+evvoJKMmUJw=yYj#}sdx119v) zp!t<@f{K`CrH-R@Tv0Ca&h%({-+SM~;ahJ8xAH_hGLAL?Gs}_YgYLaoP%>_bySa`PymO|tza^JR_Hn@{CePb+{?J9+w+|x84a~R99^_c` zI9cs@&!fywa$9SOUxy!Zl-ECi&r0v(n|h`?XC_9bTE+)EI@@+%dif>0ai=plH9a$e zIr9`90p3H-4mb@nSpiYM5Cq$?9YM_c&bK)xc<0V=(k=p3z^%1sAv1$GtAQ^g8R*b9 zlWw@-+H~XF-@=S#B5aF1S6)p9h@o)XP$4D+IKHacU)3CycS1wy04>%qJcfo#AhZ(v4(gX5Cl^ zzk4;l3%FJ7Zfvvt>yp3Uy<*B}A=Z_PZV7>V19oCpUVIU@lE61Q1t!67HMs!?%5&%L z49QGS=Z?{W?6{KMmm z$H{r`iBXo`^tG&OCi}Jw?xxD2vHhhFi?AF0LgwBrFKk$aPt|XYd1Uy~m)4hJLK{xh zTA;02BLZWkD*g^Pc+@Q>ZQxW{+N}2#JtsXW-ynFlGWm0f4NuXzzr$;Sf}6BN-;pOH zV2zKKvaOTiu)F(%9C)smQQ;}@Q8;(<`tA9EYBdAhh+x*iQhs0{@@3Xr9qC1b_noW4n9GV3=nJCL~}kH zX1i#xvanYhqjqVx8Yd5kQRtmOfIf`9o`Q(hB6n>!n%WGrfptW(zK>Uc3C{B=mGwQ+WY* z`K1^A8Qx%2(0EaK@v628S;~rc^){4W%5ELf4P(sVm-gbF6kdTjl{_c-j)X!e_!2NK zi5J|Bx7?K@ic9s2GL7#9mG@$-fra$cihcXZy$3i+?P%(zOPjL0(d1Ks==gs z&8;YIy@4wQR=bv;G?Rov(;XeusRBTwL92K+Biq@jaH@O;JSB#)r2 zhDLhLZ}<*vcC())%o%{~uYBg0)0!T95rbO_y+t0fjCydgQ9T9REJJ9vr(x{1|NS3* zDIGn^Mmfe)d4Xx2XrG4mkPZ;(=I5t-dV9vMxZ;ZA>({RxoSU5*bhW>yy**A=OWz7~ zt6Ed9&AI+%@Bf(u0aI*w+gj#Mwsp51TDfM$z}Abl4KhYz%R4iPtP4d$b4!Hi_yDe* zpEnT=!3h5NPrm3XWB@#bB3cwgyF?!KR}djy5@zS7SYGK$@BhGi(#8#|)8x1(ZYhY? zV=nb87!rgt#bFc^7|tv7hIY-!VhdLwk;DVy7GbyCi*Tw7GLfZz<+j;A%>=v`0XB$3 zB0z`^7i<1*APVC~e9B&MFY%i0g|NNX_(4NswKXg-Cu?T=xNBmkUfVp!7tWqa7bEH3 za_x?E?bgkyZBnb0%)DCJco(kKgag6OTxuXxa4SIu74YIk9vI3OctSl|{UyH^)j0&A znRMRTeop7%;12}@28hUyKb`;;r_%sGHB!4?ehK%jXr`!U928P9%msyzr)*zgYiw*J zT-sf6#iihli)+l`B_*+n8CQZ9cbwx>IS}>8XOFBPY{a+4SqlYSSL$&545wHsNTW zf}>Uq{V8eXi&im6Yx&8c$?5SIpG%``Qj$m7=dmBcxaYR=e~xmqapH3h;*OWJ3{!&|Bw!_Z)O?+Zoa3tS`}bI4(^okPPnL1*8aD^)H=m)?{Qg1 z&fgZ6xBNJLu;0o>4kiC3@8neacDXy)9_8ga)obB%bH7+iWsV8tonbbyVhBruitho# z(*DS>`qRNUESH|ZRUijDaCX55(iJ-{RrF+H@2Xf1!Jiu1RSny;6>KZ`0T05GGkx!o z@24k!{B&*eVU`baJ4$|y_p+)yi-A8jzT<1wuRD3^6_*`Cqd!1J23y+OhsMUMlhs~l z?+m40!t&252$`BKZ)aEQ@fBI|8g(&v!*ei2R87hBHVZ<%=lir0^T`(sb|Tj+8dt2xOk`h&b9 zFYD&gi-i!5qJ7K$cXQj+>Kn|fIf#NXQpcAK8`h;w=Wl>{=XB)S6kU8RSN)TWBWtKV z1HC;B96iS7W?kXgk|J!Ql4%-Zc29_obnGzMYOd{&eb{%Bvt1xHBEw7l11?uKaEe;*6JdDRnfC z&~%8(lft}8qK0vf4SzEn`E9*kONjEo7FYp1xX>HWaOEXRUn+OC9>9b8mN214ih-mX zZv(^F*geV~gBi47#tRy-UE&Kk%2YdD%0#h`-RiI(te@lsmPS9&HsK`xs@0igLJ@~q zG~immC)!Qh;YWskHff%}>AVFnEU;{ZXQ^-Vy}-ZRo4;F}`Q$dwr;mN~L*Z-&1J0NX zDh!BI&7sh`{J}xHo%Sg3K7aI3+H?FUZX3JsO{u^ytfyA9(Kh^#6SEE9t4DC(;mF#ng|#Y4``aMZ~$PT;iKo=I`d>q#*N=dnbU3Z*?@6EgE1w1SD`WM|HXCe1Juso-(Ko&ig^0g_tDI?+ zJqntT9%by(MAJGgFs(5fp{x+)C%Pg~x@8Kb$;dU=Tr;?8<;vaor`^rCGKhzUku998 z_IZyHj#*rl>UF$jZuvSE(3tg|NbxmW-m&SSnYrn~jTdYf*t~7aA^6})j)!Gh$Qq@n z?+6qq(U?R1w?OY^N#p48Q|XWX)0fi_MCst5izx@_GV`jZsQ;2UJZjhzxF#k?(Fk^= zkKOT}bl&cT^94#l$?iy!6%S-9?^8UR360r-R zg(i-H*E@WMAmhLt682Y$X)6(S`!M@>!`fBpFW+%T`p`|cq|N;s(#Dl*)2i-O41Rb! zfT_eR7;QuYHzcpX`}#doQH|mG7=+Ee5TPlS4$iLg3_F-)473s}jDeZ#c`g-G{b6v5fvu`@se2= zKHONwQhLFi#(1xWsc9outDA+KWpGoDeW_FZ8F;`C*hM}%F`lO72dpYYkBNU&Sds67 z^(#_eJ1&|u6M|k!*-NMs;BqsD+g`Z@!`oT&&1>@TpM+!+it%F-eDab8iid|FX^SCN$W|Ad%*`H-}>0Uf2A$o-l^OZ2@VjMZX zcMm>yhv2ISX+#V`BH&q4WjL3ob9NW^=u2_3hl)CR9Xm9LhlXj)#1w+XuRKAC3NKNx zJOTw)*p0TePNbjy$otZ7{MzU6#?X)ZK6+fcUE4xqgU5pB3UFDOEJM&v%N2M_4UUjJn&A(W9}y*cK7T^TE*3e_|OBM>bF=pdIb%U|5AL`y+Mok zenWe5KQ+9lewO#AyDv_)@Qqk#SSpYBprS#z(1s3=3}>_87;fn%^wjYR?UL^FxvT3p zPZ<5khd!8Ydh6T56v@@iVqz0~M0zED2(bJrV_xA$*3XH>1K)i(J@m+C&<+>RhmVEKiRit)zJA{&L3>+XdP&6ojWw!-g2^Q?Zo(>mF;e+=c^eTO4_r( z1I?N(Z^y(4hffUluISx;>5fZx_pe$t$Y3!7v-B|gc?2Vcr5(lwIQp!1SIobE=YKd#8;l1?P;mdkg|K`q!T zT_sJ)v-#e^Zq61sQ76axbRnp1N7((SmX9C%ekq zWr}hnU{Hw0a*AN>-Fm5&wLCRB-ffG)=f=3DPVtdH<=K1QaOM{YHoNh;cr*TY&9k8k zqO2+d^WMFCcRImtQ{AeB{b57Cg_uh@IT?%xEx_fMUmgdb$Ta+ZrXdex4EE%q*VtYA z45M(p1x>-fsF$;d3%W~53=;Pd*A+4-^9j53Rf&d6y`75 zC&au}3+JY#^Jb+EOshCYzS0gNR_Y*Xm{v{uu05;>=+a5Nwv0-9tfLcr>)t}#wQE-s zLq!3wjZ(Q)f^Dw8%KLIJbuahwzTBNaj<6xL_t5@yE+gUViMg& zHLCak@x&ib#`+nyp#9Wo)Ls7cao7|J^T=uPAM0c&b@P6__&+uN3w@qkL%Yp7mCJ@t z4l|Yqa?s_Bc=D_o_C>U?Nv%5#;D)RQ!51x9z(lwdA@0~Y&*VBx_cQ_12|82Y^+dor zydd;%>rNy1x~|a=zN=*N+6sVwwpaH7mtA&2`rrrOpE?)KMR;RVF;UeI=Dled zPWiAP%7;%h;Fio)u)n(fw)7{T{X%+XH~eMH&An~xy~s2wzKas-c@fk3RsE5uj+U+{SF>fp&PnA z=)$}4VLX{5HA0J_CWGH02$Q$o4`LQWT+RteBWPjt z+>kf1=Nvso7j}lNL)9y)pNy6G1@$ldl1yb($K>w#_9`t@tc zgPufd=ewDLb@D1`=sjag9m{kn?e1k0iozl_oeY(+6Mz+8Yi{CH4%#>O>VGc8{-7dW~&TY+5# z#_|gB%r=N8Jsc>pucv3CPa?0$_$R$BS-gN%E8&~5&3wpZyyWBkk?}a=zj-yYx}m=3 zhPSFBy}lZJM8c}s2j;7!-3tIs<> z{p!_Mr%N}iPYv)_k2r`j5!@|z<}m%Y=$c9*f7|NnYv%ki{ze+p9pN&M>T;@|<(G{J zoZ(Uvgo)VKM?RSF@n-=-WF|d>$ zUT}i{E3<~eu_mFURU~>+gtXn zJz?#R=C+ou{?Wnip@FgebuY8+ZmHz4OH?Jr3%?7=(JoB!hwE`f+Ss&bVdwnrmFre_ zH#9fkmv^X_P8p&3X7UT|tCW&7UW<9B}R9K0X9&>`IH=qgF8jG~#6*rvORu$gU& zV0ab6^zLPtHXV%70lzv_niGP=`0p9YEqO-%84NKK4qGM$SL+>igrx6iZBDIqBiQV= zrnfSCK4?23yv>JGw#}1iJ$j zm@Fvh0?ZiL0a*yJQ!91EXK@nzN6f6tjNgUNM8c!} zp-+n@J5zT~V19Zj@!)`2b7!TqIiXUsi3#7El>siI=Q>hBo)m7P>*3M$VV0qXh9|e} zMBrr;seBq(vC;6r1O@qNQ)>F3-)viLhpvfi&4NZE|aUHl;4&g?!L;@ZQ0(^rbJ~mY!u3ZWBkM zYp#Vq-I40RK6o)oIg1-)U$rWiQS8qFWodUHoOTphTWqrFTd?>sj$8MvWE#< z-ui*DdZhjO(eA~IXLrqCIA;gD#`o3K)$}prQ0*~oD9kVhGLf~mDLu#1$7eqG#l*Hh zycn=)}Wt#C%{Kw6N=^!_ea$*=le2vTM+p&>2x&i67qKJtB{oKjxC zm-bA#BdF4l@vEi=8^Eyx*hU>pOItWi>Ea90rDvW^n-DN)e;m0;#fLfbypdV?YhQg{ zTD4$K(pg*+?PdrML8NR{3C5~Mu+rGlf7NY2+V7CJh*Z+X03fke7}h9#v0%>J)UM00 zKpkRK`p&qaWn@s^S!D63+&g;HL(0$7>>trr8Mnb7o`6!33behLQKtg6+oTVWZI&qN=)azLfVvyQ=yCu>=*@sCwMCfC;w6M04%;uM)l4^5zU zd*5i<{P5!lyJ#N~9Cazzvwt5GNO4cvLFnLJbtoVSyD~Hl4J>sHBP1s_Z@THtBQD1f z^!l(ptkcdJA+n}2$#9}kG>_=|_)Yz)NIYn{GLaNgrT)@^jMyM7gkykT0wma`iP-UK z(sSv{>bua5K{rQ_d_A!(1ais>e64(on|)M$Rey`$)iqE%i)|{)ulL{gAaV=VjB2|H z*55MJZlEP~k#5!U?nXBd>rwnJlvHTjyp@la zE?I(X&G!P=DY#W&YWyRGvb#FR&oRT_CRlONd1s|X&^jnw;ZcX@B>e27ERYeAiq=wZ z)&bIPYX4Z*=5Qy4UYuOL_dyuCR{r# zUlWBL_RD^qfUV^cN;>ZZ`)Y!M?L+%G_pg24%!@Jh74+>y6~v^GFM$h%=1l$K2XY6| zz*zbL5vPKiEsSY3dk>=BWmN&eSJR4IpIifJso-9|JI-+-gpSoYnIGVQgLkGYE`Kco zTHYsCN(=@vG}Ed=*lu@$ZdmsD&y4-Eq3mift4{K##4 zvHnhm&s2Ej=js|%!_+z`a5l*VIB#GtW?}_pe#Ix_kD#jxJV4ci?PbUsJ=&Z@XLSJ9$JaZ(r&=(9O2I zo%rR&Zg;4r8{cf3)~;Q<33WNPyrVsIDm@e<;6zVU>Qx57urWj<)!a0TO%+Y)o8QJ` z!=sOzA^l^g3KnVL1bIVxR_#6!g3dc{g`u zC%2di&NSgOvkzg)V;AcfdrZrq`c;Hg-fFHbE4KFtm20$nao!7B^rwU;XB^ z2uI@02)6BLa~k0=;eVIj3jv8CnH2H2PUbWPCI!CbeQB4^62J5q@T`2WFX>hKlyA`o zHEH3zMKSOze5qA5tuP4NI^xt}YrK8uJ|;&8@XparKUxp_lz2q+DnUEl5{6-~RxZDKnZDqB#0yO;g9UKd^T^XFA^0<8XOhs$gsneq-SiB<8xZJe9Sl$Us^ea# zhJeX}eWbfQg<}P_I(&1E?9y!#_+QJ}^GGeNFvDK7LT*}9W7^ltB+z9^22JZ?zXbj$ z@DijiFGKW11s+pdNbf}qnZC142LL*dcjRfpX@d2gich7i5E%=Y}kM@{O`;5h&_``;u90X(J|7?Mxcm*qr3yEyA{= zja4gg7g#iK|vEFh9+1XJb#P)G^$v>z(VK6IH(# zj&929QQ=8NZ6Eb>mkf(b%iEhV^Y|a1<$xCB$ zMX^S=D!}D)EI;^+f_RnYc>Cau+vdxWt!O zE*`%loRNFEqAy7nFW`q!-e<_`Q}gx!7Hwj$s_PxQA!u=HDaK&ghfm9L36$MdVY zU-NHQMCniP$$o3AXZi(y9NDp#115SH*ATqGN$XJ^>?bel;@ye*2pZSEp#$mq8{eGX ze)A2uAH!q?Ug8`APq(w;G;4kup&p}bgzjUt zbP%nglQ^#d1n^pvT8n|v+kWBoX;DL4;t=`Jj(5PP8ZZ$$pS>3Ed&|{n8T6$BCQODH z>%`a0N2oP8?Fxk(U_JG-z$LfQXX}=Ej_=C%0<-eHv|;jh`j2*1Uxhc9yY-0tUCJrT zIRQ(`2B7UtxL-q&(DlUAsgG4b$52v?<3n|SSWe~@j?f%C+_OKeTs$|u^KIA1{($UN zNZPR_c4VfhxQC)En}(H%vH*)fbiXSuBcu4rMvnQ|UwtlZrB52_nRLMC9f=C*VfhU84ka@u!6gy62^U5!wf^kOJ4^8H2>av zN8G75(p0mrzNu!%@|DZF=FXqpJup15A5X;t=*7p?UB;g-ghvJtp}wh^17Ld6Xa43^ z?19|-s|XkR-C(FWZKb&oU~J6c<@m&g5ow5>_)QEx*Ix6cw0h;z5Nt}B!Gx)TcY{P8 zh*o))fMj|@EY(Ug!{2JPJ2Fu4K=@U(@p7`3oeGCK!g?49Ceum2B=1+1hv^qv7NpA{0o>> zV^q(;psz+J3{f9$c~`Ow$BZgh$+Totb*Gxg7pTMB*&U>*v^pe=i7f0NwQZZXbzxJ< z5KHA8sC++D$S}BK%fJD1Juujpl)z-|Tq&F-#G9ndD&~$KeJTQ>J13el}4BH*$vk8?e#Fa+LVGBJ;9S!3H$B zq`_6q7=+#6QbUa!;%=>7;0c{Vw+=mMa<69E63FnygsrC!Je`c4IDu)5O4~Xfth4D>ojXIS-zgJ$rU3Vf@qc z{ZZhj#`h3Qr26{3h~wBZ{vQojD|HK?DtxkBPY*ncX+|#%P>6S#+A>PWIFNCry!)4Q z*QVJ^$)mtl6RAdEG{7d>A#7$fhYJ&+DGjdz)08jA|5)LWQHMf5uBu>slWLeqYR)i- z$&d#uX=*cFC<0fp?;qh1rvW@3U2xtR>4U%ae*B@&AsKBUqAXU;eF^rnOXGU!IDnA) z@b2#Psjq!4J+*gFI>5I(4tUz3GB;(j2@uG%=oqMNI-TLa!=_%VK! z6`bs^7@lH*^s_5^YIpG}4xevKKY94kI5pB0-H>%C-(#e$Ln%LUHGPC!29wQ^fsy{c zrq+I|!o*#T z+4#km(q9t2ZpD_d`QwJ`uSM(Iko4FPp`tyD8JaUPo)u&wUw&I32YNTI4d8s=Q*vrS z4sB;-4#q44s%gv2(1FdXw9R|D@+{PuXujke)iypQoau?bYexwd>Pd>fH!T>gWXknh7F6FSJOkRtiFxk3;aw&OIkx zbn>YPyx1tx;zkB~^QOQ6VZfmRi-6ZSLKW32>~mXeoonVVwi83zc!vn3Z?!|b_`AqhJpLup*{qcykSjYWs<;h zqzqrcw}K-IQPEeH%fQ;Rc`Iv)g9yC9feO~Kp(vr{?ZpdKGpZbQIhw z`05HqFN3ru5%hAHxsVGJJt~VZJW|xE+#FwK zAANyfH-^@T*-Kzgt(usiuE>@;+c(mSr&rb7j4N>nT zQd|zfE<-lzL!K{Juq5GDE@4xCPv8YM)WAi7cQ3Zw1G*uDUZ8d=pF6_1Q$q{1@5;w8 zW6T+^Iwk$myWg4Vl<`V&<*=Yah^v&#G&5l1BwO3vL0ne;4PG*~p&;tu$aFY+;Grc? z_I{ChY$bnC8m?PYJ2=egxl5OIcCTKwViTqen^2nkT>S1%ZTD18HTC;T`dn?xJH)9Q z_00|48&2EMwRA=2j-lGoeGCeHcyUw98-ycr93JSj3gWaQbPe_i0MEP3%jHOCW4+iy z4l~%*V!Nl7D|S{^5=C9(x9nzeF#otJuZ>ZCmBGh*5pcch=hGQl^;I2r>hDr2DPpOl z83r+HI4W6xFOKWOw1z#T8T!Djc{i=0XPB`AM%u_NBYyeSuE!g zNg^(@*bG66^Bqil3of*V8B`QFvN=P^bK)L#A%0G)evOTLEIl`3_F_=$F*$$RGWCk6 z(I%OQT8nNp|NUUIr>)U}IYQ+xP>x>#PhmQNW|QLiFttB(%86(u^%7pT#Y-wuh;@0f z2cZ^132l_y|1FvNgsL0 z_%ZReloNFa48xU)%6N>5a5?^b3_qHiIcJ_KKJ?fV%K!9*gM99jNG=^PK({d%cVa5D z2p^@5Xn6H-BF_P#sVDpf7}zztF(>F_5Et(Z)>U(WsI$YNeMDHcyc0MF%Z%se`=`Jp zr>9S`FuRb$dD=UgQ6{Ker~dKL`b=|G>S>>jAiNBMdsrcI*aW9j0#8?oqzi-nF$p&D z_E`Rua*rkM%O9uE>C}?dcGkcj!%Y`vKl^v>K;YH9NQYbm-et(-l%R%SqJiS6R!yIksL8&z<8Dk?=Uu_ zZ%ePc^wntydvk?dUD>H12sn^P<&zZcX2l_R%yu@TedhMBrMn-&43W`7r9d4kwQ;Zw zJXb+YQ<{1zqaWyIaPXu>v(ojiy)-RoL;wa4)i^2)D(vNr(s|V9I5JiyN7H-Qg#J1< zqtB(RHdcii^}i4N47S}+;Nty736;s-)VwTpI-Dr)1Zh3C9$vld^*FHex!45nVJyWI z%sgEk3f}H-`@}o2)>BavW7Ip|{cS}b{7xw=7= z;&)egRfj4`r26&C^cyVAw!DW1M~CPgFfRjX|}J&1>}>M|kf&_oW~H@cs~N!cHdGhdDqRBI7vKP9UJeOlZL(=Mgq3 zwWMEp@4M1M4xpga2D|8_MHp6(@K-z^IpY!^&PfP#$ z7jH}(7A``df$$tRIltT4cpa+kmL`~b{h*>^s zx2qN^;*(x$M3>FW5z6Z644HXNv?8E;BzCY&n zy_{^Z3o~uwfD-mH@shzFe9d1c`ntrgz7uKMU^eACJVL>te9v}k{H7C|=!f0gccPg^ zXtCWx^fPwwja=?)*!R;X(dyTx1+8spQ&>)S(#C{pl)=bVlK}>p5lk6y9l&Oa9YG6C zO`L0QOKDRaz+ltVRB<^Vh2&QmWX9`C+`t9tmiTJu$8G)Mn_B0bXT&36Xui}eGawtP z`&f-`*6!x_)%a547W#-?@)f#)OGmx64V(yw*3@C*0@CshY1gX?w{jY_bw;I4nz2Oc79HTo5Or7tKr7V;?@Z9s75r9p|ofAQ_;C7|`}O31@Yp7j67* z+`Sp1e5xcaS}%jEJcjja*QI8Jftf;q!Ay741-GR~z2~yBi=<0ma}j+)zbddr0bn+D zsJ?_yq2ag-6W+M3@oDgX%f8-pkO5sUC04%#VR9@1HY2MU52ibov?bn4bsw)#{HWj$ zxQc_#xO^S3jPFjko%S;3V7uFkCeI0I4daC7VbVg;>KeV&Ig(cXly~J`{cXD6;z!02 zr;YR;{IAr<32ZwnJcscAdkFh#mP&&b?aP_)#Bz1jh^b~8>_3=Z!(`}PH@`KtI4Pzb zPL}fuSMID@ye;%IVPhHxFKGyV_?dtBYWn;)?@ZfSSsHC>PpP>Lb_CC19F_05>ez(9 z8-aI=I$F~WmtB<3J7H~VLy#8BV+A!Bex)4p*X>^mwA75Yb1vzA`yDr@YcD)6%~OEJ z#Xb3!kjvNOyjX4N^IG6JTZhGrmWF3Jw=9`1?q32uGciG}@dYJ9r zwFARQ!YYP>2>{+Q09xBXv2iT2;}Fn@^B14^WZI9GRqd_WE{9;^grQnXZvCuh*yFh)77ldsx>f1M*S|K+L5oq(tU6rU0J8$W+!yv$hK0@a zn**l|fWK82Kc@{s$okP&Fuzt$f@70}?-*j@UhJo3@%E1=tnI9bMrNSKyR5)bY zIy5dYR~3t6Pj{t*Fx&aq_Rc|YisL9q**XDOtV@sOL8%dc^i%zQ;&%lv)Ho0d-iVX7!DBOpo-lkdLdLn==jKDu^9#?f#j>&j`zsKYdf=4ytZ*od`D2MLh_a34f_I3Sr>3 zcoGw`X_{Dg(hI@Q0_$?OF50&aVxBa7kQEyz^Yo5a;Nmp(aFw9}ep~BI6|L)HaO3@W zWmvX!5xt7(fOu>kwBP*AOS}8PSxl%7Fqr@CU3aA~-Fau~u_9`9N$I#<1L4$TzuSVs zq!l-Z!)(BshfsY|Ykm54w6#}kI0YZ##+C=e>+zbCHIEtJ_2v*BBd8;&6)Pq!;O{S9 z^#&9=XQXx}%Z=K!GR8TknJVKtKVGIFj~oW|HFYcf;P|BQ-U#2^<31BM4C7LhFYjpG=$=_@Ts!I1jolnMxd(*6FE48*P#J<2V}&z{iam+rgESY+9)N=!wQv@- zy7&C>$LTA#eVtBnu+BD6#vKn8VQc)k@*@zCy>eqXN1y9q3-5YYnuFF-w^vy}n+&qT zgiP)id4NX@YbQCtNlPy8I5QKWV=iO?v>^+P2#?e?YoSf86=X%LQkj8IwZpZX>L9U} zI(QGJBBfVCc~)2{mz!f60qNYv;dK7`&h-B4u1r^)acY{);MTA@`rp}Iz)W%G`j(!P^4|U57#2Y$W2W6JUO{5EB>& zAO?Wt%a=0X&$5X*C@hk#*G!>A^}FyH;Lny_&!s`yr~oYVgx$*(gspg}#-N|cm`qgM zQWkYW*o+GxJ&mM;L+RU`T|W=OWG;ReU5^h&tcxH76|ZI{mHVDW6NH_aC$<$h$oL8q z*E7SY+Fh==S2Z+XSM^-|Gi$b>BmRlc-orx#^$)i^zN+l5wh+m7v%Htm?DWs0Yb(8^*?FkFc1CA}XwP?h=y z!hx%96deS(+qQRAC{FAuxKo)Z0&g`fYu0cu3=_Z7rsq@rQhs>E0N!IPwV!g*2E0Jb zL-RI(`Lx?Fj}|ga?avWT3fK)#d~(|k=m379eYL_a!Fs-sx*n|-Kkx5Zqc)jQ$hR~v z8pYc{|8r>VrAJ_FFy>1Qj~L@9$9lM`qF?SoHdqcHLdb%DH^Bzvqkf+@fV0`OMq8ah z4s3dJy5Ouc(M%!{flED_5mu;C(aZ3Blt-=naTbR=&FtYmE5TPtzdH zh8i_@L(TC1>#j@hebbxLJZGcWO}p~sehhg)wXgVT+x#NF6#nu_`K1#-<%)V}yany< z5cbpE&u&eP$Qy2Ycdvx-D?GMTLmD-oz!lo+s@IjTzdT)h!TGQa+Am{2N+@(5c~RaF z%a6TyhWNtY{(b7&-koO6(fuGRdrY=VP(GO^pwqz6VytEmWl&G&(q-KzopSP~hNgy1 zgCj#>yW7{^^pJv5qbx4(NwF8D`vH7N<_mT%^A{{ zdggp{_lRUOU6TpH+$&d}amC;n9`&ey+vp*VkKLc<5A9Fqbk0lfy8LzNx8DAabk^Dp zxS8Tu6bCYyoeFV%^wC}!U%(9}F^KD_LolR%t`XuZyu}XwfCKRyyrO*wy{yk(aq+9u z)t6nImbJH}1uVI=L4y@P6aW%l%`+UkI{HifiH7>?qy?8(3XdO8tz ze@i*)v;(F)m!5nhVzkX zczEmV11C1>6>F*QFw6TC5Sbi_rt@xW@s~^OeB~;hnLvXtBP5g;+HVH$+E%M^ z>*zoO-_BWx(l4+_=g!9|Fy&bo%nS!6k_*BIKzi!M5cO`8fNaH0TEb$?F&9XpJr zWBCDbwM^Z{(X_k4{eIpLMg235=NA0)|68zS=9Xk$A}z?T8kqU94dq=KlgcwlhC)Xk%!&=@(TM5Iq33pE%8*@%Imx8+b0*XLwXFk; z6`C`wT(Jb3(Hqi2lta2~6xV`Rf|Iluf6LG-c&V3#K6vnbX!-x-v$v*AOau?Xi-r~Q zz}+EE2-F*cwh*mc?Fgw0SY113;evDvn%#3dS8|*^Gz<#)G&xE9~XKo6R4NWc32Ut*&@?XILV z?@aq;^5P3GUdPAy=@amy*O_R1=bj&?FJo8T%;v#iOdbPIP->JgZ9T{oTj7zu;emnS zhO~eE$tQNtU%0RfrN@rCnx?Sbo!@dV3;5GDqU8MY+^c)?M8e_!Wm*zykd zjMj{FH#IeHI^*m!m?hMA!?b(22FJ#R;h%Y=3xR~r3qff-Pnr{iitq;HAAR)c^m(*Z zweBt_*jdrt2ppLS*!<}(kWdW-j;k9Xs$ak5m$8joLE1bEkIeWJ3|*$4tHcY5Ee~d% zfvu+ocf5{ZlcT9aFf{87f`w=R0+h50w1E)3Q@jnW7Qe=^y@K`XfE6mrC6Ow`R9{7t zs|L@@rBV(47juZjnak&3838W4f9XlU5+SwlgR{fSZ~QKD5Hz8i7-T zK5*fWY*U~Zm#8u^OeKokPX*%B-<|C*nL9T&$pNrRzhu}7-(l+1hoE}*kA4&auf9zU zmNngFUqpY9uM2G(@ax!w4Vtop@E4{>4B%k3*#|5+J+qVD=}dgWB^kL;ok{p3-c;k$ z(S9GX{24yRAt|;@hNz7#a4+R3SOqS@)ITnrz%zEa~ujQ;Z20)(q8CsN5rD~08c~|aYK*oadrgEno zwn9Kd&<=yah!aRMcGF?8-7WoCQXc-Cl?&F#Z-x>_7{GVNp9}p|-%Gx6w|@geDwtBq zZ#+(XcLOY%RtDcq&uor?!*cTOe9EtaJ>z?t#WG~LC4=tjd7-d7URUU{pDx>iNsLyI zOuI8LD}1L?@EF>*`Ey#*s#PAGgQks@D)Bc4a^gg*Nn<@qDE(iay$hET#}y7WcIUGk z+^FzPTIG@w3Jj;aOS>#_hW+k?&vvC<2)#pSu|u$la0#^G?8H=d~9TSU+$&c zd>04kgQ@WMqiw9ZYY0NT$EAW#)+6m|23iIrIGLg1>Aw|eV7p( zh?T&41d5oS1ha!TfY)GrT%{i@<;dk%w~pVDmvzo`QqoE<;;x*mncvOW@bB5QE!E&t zJ2p%yEb`7i@e+pBb+8_e3!c0ue%*BAHR*&k%ZTR&GHibXPC3m0_{h<+C`K5)L7Fan zQvW|6`$T$34>4?T9#gx^xH62{&ImX*!XQ}-ZyiMt?ZE59rR&$Fe|_Dx=?$1M%u`_l z4`TNPT4{JXah%X;W+r@dKf-IUL)EOYb`+R~&`V2Yu9#FbBBZxN=dU~Ml=NSJ^MmQN z8{zA?iEIVA)S@=QyPO2LiY4s|BQN*oxKc5FIQ)HqSFTfmU(Ux$*kS zsp6tvG(YpwM6uw50t>AXW^*Ebcl&xfS-t;x`Q06_W#z}=y)`w)%k*pqI1A7(F9Rp1an$da zzi3|9vem1)Sw-K^9ByEk^*(@J;nu>qT$3xQn9|lhi;k>MU;NTn(xZ<*70bwqRrasf z5d+9w4+6;8)s(DXvm#w{^%Y^8G^XYkggRP?%|0;g8ia&FOdIMPr1AfnZELLek%M&= z5vvi-Nm-eg1uv2xK`bI>91g&2S%RuZplOC-G#%QPX7%k(ooIH?T{17-bm95w1J~V< zuD;;n)Y-<#XfWEc%hlRQh_YJm4pcRKANFdUo1Vck=Z~2@eE84*BK^ld{*&~T`|eK% zDI4AxT1z!a)`{_fHUeXqlf>w5|5MhkO23Vb*V!kmN{xpOq()}dZ8W4EZIP>AW#d{l znSi*1!Q{JjIZ_CiP(~-300~?<%$(6;x6j> zd@LdQM`!{gi~_>{E>qm2U(%2cr++X$n5Ols3kuw7Wn4>GZ=t z`B)%g1zxdVk(4T%h9pv<#1~*iIXKErcgUztAjCzE(8sSHKU7A#wR(NA< zW8y^YNgD1WH^zDg-0fC08lxU-sq}M%P&B(UMxpIwQn_-hYP)O&-RBo_p2AleaAKt3 z(t}1l+5s-ujDY_X7}R06Smywiop%Ex+U=yXvYzR&%?DU=K7{R|>qOa3(cC5nHM48h ztfG)3!)S7<$xneRz}U&I6M-d*=B0Jeu--}J7ukk-a+;}6f&T~)jcj`92mhaa?zzm{bqQ1L-OKyqy&rLm z12^Kp1^RZFQxS)H@ZAbebi%3tRFoc>Mh-7I?8VW(F6Zdlw_ble=1|yVyK+VEO5=vu zYzZKoq>eBy?Sxl+;wxWG_dmNO;R7PPG=yeXJXhEyZ8O^7+TQ2VG88j!KzRGjo8Ok! z&7F@E2oy#rWzU77QccvfQb8qmim?RuSKH?d?h(l*b`s$nO_nmge89Q29Tf0D_ z?xy-7{O;BdY-jaek6g!)-Af+j`EvG`qGDmo>ukVTL2d2mp7yyN-D@_i?QUpk-or9p zFKm7YJ{9ZU;+=l=cn&W(hEXQpA?mmw9F%pj{Ghund1pNX6?-ew>W(I6v1`)1FTW&x@R~QI>&`hR zojhwnnuV=S9a=nv@$Bz3mlH%yUf$~|Q+G;zL$zru8tUKw#9yaRf9u<+i*lcX!TrTo zZc9Ibc`0x!&OJ?rKmM*%=w*nzcbx(<8^5zE|`WnQD_LeqgoiD z-T;KB@tt8$Ts%`3>oZ*t{y9xbtCy{SWa%0Eh5i=@^4t~oJJQ{M@W<)#k9;!i`2217*?JE+{kdnIl@{aUTIOQE zx!NHO%*6j<5QIRy3V>FP6|d6DaM&a7Bm`W(Y0w5SzQhR#e_pp{z-DnkJ(`Hh$fF(~W5r zLa%uRFRtLFzrFPS;;PaiCP}y7eQ&z$2lu3Xu6nf2!i+&>iZ}vaCI2DDiQ&HeX;CXj z*>iZs``KjHNq+c9O0Do+d5jaVnCO9r!pQNimi!LEtG@T}6REow0p3x-c7VIaaeOOn zQLOfWmxeL4z4-s_Y_3Uf|AmXwfBB7D(zP5?F_+XMY}~7*UmQ!^;9JHYd627iW$#Uf z)A4el3`pxEKakhTBWh5D_3YdouE^>!6VsE9ysm_5zEobTr5#}fdIT>*@B8IXe_nPYk)h1%vEGLI^_QQmT=A&AB`HG`l) zPv^2_-D^)+yNP$3KzeL<8+u+Tw!5Xy&#%Wy>KFO$EMWU~ZF%bl28J*+9UbdlzNWKl z`KlE=kf8Q4EcJ2H6^gPf;7)YN)QW&i%#vz3nlLf@yX|Xtrk_0a6zpH(%EFn<$ZPr_ zcIN>@-mKzf!90%7#a3xHwldoGR$;?5S%^>!^ugp9pV{1_X+u5B#oF`6vBRV)jKRBY zDbH%n8YnmzNhO|zSobWn!(c)%)XfTl{b)Z+Ks{*@M*^>I9!@8=*QLu(UYFi`)s@U( z-<&QxmZE|1RD4_%o@Y zV_x>B2_xHvgYrN7+!xZ5cs>}>oe6o5(B9CVq6rfIYVurw)z+(j@K9<4kXKxCVftN8 z;<@aMQ(!oaEK?zPBlvn)g-cboJ!=htRRu1E>G(V;I3V-F_e&Nm1Uf}K0X%7AA!vn* zC!Tyd^)S$=c~H1GmY@){kb!=V%Wu@pJST^YBNM_!elGT8V`#W!=xoi@OB!Lxa~Rl-MxhPa@US+I450a)buE1`HJ2klTZSQEK;Jq*n&%4(Ha_=f#=V?>4;r*_ zSQ8^)UAdR?)CQMy_h`J}>vXOMvAxIs(f;dvsV{VeU4 zE7K5plYazwV8P7>%4^{oL(m;W)7(fLSK737EmRqkQ6I@sIxKi(ey#$pS-C7-_2w&K zWm)iYOv!0o0p(Oly%VX)W&)_&u`hrB9(*t#VE+dP0CAYapfV{*6k?kg1Lks_&MMve zue>tdbjfSOHKJRPhna9S6*qg7RqTXo$zu#HFYATrr(NCY5B~Dg>3#qEe@fqf`q{Jx zA=q-X5B5Yq$IJqc(XcIKq@#R2M|kw`y2T6AuiSWT`sHh{Ot0$fNX@;wQ%m2$yh=*^ zalgG};_73*giQ{G&dOZ~6?m06Q}1zfy;^a`<1sY-yEZ+GIr4C7rLD0+eoBHeo=G#Z zRn4CUsN=?yPDnT5T}fP`NdOgHEj*y`m?_!BW8kM08VU%vDb}S=eCF2l(}y364TFIO zfiKgg&Nx-UvoXw2+;2DlocC`$_0;aBj@B;7e1{&ln&!>xd!^X!mX_po+w%1Dz9Y$g z2x$M-?Y9rMcX#(Nf9YYZQizUpr>~>Ham@=lWX^OStvoKRyzi6I$pW7 zwx$`|l>O;rY+yTK?SDv%W-}P0ei3QQfI2mOewNTFLA+q_X@ccJm3Fp1BsEY4BOJfusB zrWB!;z=#eO4l)f8^cX^90|Sr?IkOtZ(#i$x=~R{;&tymS(pj@oJH*qW=Ez1MB*=&m zm7^SmLxxA`Bo`jfFansv2%D4CWo|=A{~v$#`E<`CPo#cqIXyI?meX()Y7fAO9@)Ar z{q^m)rw_99v`8U{tcE3EV5^@^;j7T^0PYDn!()BHT-S0U&%eLred))K|15p=TX&@g zpL&W-Ic#pAY;A4TROtg%4WZrC4`bjQZUjd9lx#yV5JoghdsHU|o%0vc0*O9`nb5F1 z8xI)50Pel#$JindrdG5I18TNObHqUTYP39Es=cE%%F3E!Q`u272N_B*Jnz&;CtCY^ z(WU@QSg{J_|rEkEEm?x;| zBh-UI+{C7rh74ojn!Py?6;WMRH89Xhh3fpxcQ=nY@QLF>qn`A`Y#wQx(~;Uacw`K` z8-r#<;5aU~3S{=F;H_%zc>cKw;5g~bS(>n)W6}f7c!Ha_Y(Imnd@s3_J2{ZH)VB&G z6F)^FYVQ?;ytqbw(PzAMP?l5RkMDJxt_UCXqMiCc?qYM%(E1ENu_rXdfy+(@jLUJwC!7!~6T5cdW{PGyxHh1* zIo4pFgX}+07-?x~z_;g_fZD!xl0z;ww%}joJ`NwAqkoC!8GJfYdu+=#?ALj(?L3od zHE+i8styI_($CRC>8qo~`+0rO@BsMOlLoJ`?=c}zgSQv|rmQ_@o-F*t8A5LVF*H6$ zpZ;&)cJ3bG2-ZbBrc>n4=mD-XRHPqLjySb@;51!Jo-R&CMzCAi|B9lt4Kd)PX z>d&kE!^#yos%?2eu^kH*&+l5aytBK$p?*L8ge@-^BZWzj(}X}45L5IZ7WcaJ?eE^5 z?z#6q&1hlXM`8X!=tPXZ;s)XjLm0CZ+5J1yyq>LT z*~s2>>a5yy$-1TKJ#Tnzx&^l@Z+qS4X~W_rX<=JO>R=EJ!2l{7ACRmS?JJisw7yh{ z%_J@CqHamd`O{CCjsN#gek$Gdz=LUke1;`BXux(4W1B0{_K@bAKYB3z(}NGEJP5x0yTC84VckUw=PZ^SR*%^mn^-^;33+VNaBc`)P!{EaaY^k!lI%$_|vEn2iF zPK?vss1cj$;|*=p**;sjildKLbVj~Wm#U0{AK0cTmr;bFw(AFI(3af@>Eu?!W}p!@ zo|VQI7>)OFRo?%sf70hJy=TsvTjHcg0qbBl9y?fuMuG%LbhZ~k8ZC61Qykx4;T?{FqCdQxD>~?&_;J za<&cBBrO;@5ok48jnQ7Utar0A_;)CYhA|~`waZOusxA^H1UU9@s#`ZqV- zoGx6o5zTHh2O%}Hf~3L-9ztH0>nW&m5D%spL@;}f-60R+=JEGG_UZKWeiT3Ooceil zDYGX1mp}Sn=}UKgH}#;n@q|kiH9=S4p0Yq_O{j3dg*OV*j>XNqSb9LKOt@I78AkJ~O1!Ggg@;t%?R$NkdzIhr>+ydYx4X?i(8NvyQazpOtO0-Eg@iB)S zFX~E9sEGLl%E0aTgVt=ymD&=f(zVYyFlH#YfILiq`dZrC_MLIonLAqA+q*cJrhBOA zmE(7})VSP_BKehQFY7(q@^+@7Cp!9io9a9E%vm_E`=paMc0aeRYfu0Fo;g^Dwj#_Z z%}QDf2XyqL5rocAGXi2b;Lts3_uiiL*;~Jq&N^iy=fQJ`fK75XT=2l>$jKiCwI&2D zO#noai!VGk{laTslfLkGUk~BAI=LxxsN`$eTq2{p%iX-z3X^E=n2kLr3)~=Ajq4Lt z!6$`5XKdQ(G{J}(xhIcB#IVN$7Id$&Zt;S&Va?jK@q~40!Q6Qq5HLG-uzG5arUkWV z!*Xzd&1ERYl(wlQ^lc5ZJne8juFwJMAaU+vdF79o@jbD1YZ~Mftwt{VV{kAV0xiO< z!P(>h3}p8}P5RUq|30mJ-@DQ&tJWZ7GNUGAH!H*mb!rj|kclru)gpThV7Ijl|D)Hw z=8|;L8K#lgPQXHV@-gab9%GcVb|ok8Ff-){ zuwdxA4~q~u0fU6G{0y%G3f%fTJd$>|;87gU3d22V{Yg=FP4t%#?l7Q_002M$NklwOnQahJuDp_a>F8;X1@U$>R@jio)<}8l3;mpf)V_zm4N~8cdApDMjoqK5ZvE7}EM!ZoQZ4B6}+oEp97FWdH z&@dNRXPhkfN)dvE%YiOv*kZYKM;0#0sM8A%Vxnzh5Cr!vD}<02n6Yh&cEMZBQ+sp; zP)!7ALF8`rDRNR6W+jLNcEIOKdcK-ojhsA8oR!;cVdG`=6SNxkjOJAVM}g;Tc)>|0 zotz%{$&;1xGUZPy@CXlPH^Qbw>CTgzW;4;RVY$o!^{`M8l**@QKX7$rhhu2cvwQcY zE)IKPVVZh^|CoB&r@;sg%j{pqi|B{I(b75M8Zc$)x_=MuzrbVpqd2a>8!I-Ve;|JD z%=l@dV+yA6G7~Z_kMuznpw#^{t{`w)p57Sr5HZGTNu!9U@YWx-%HyLaPUeylWbP(0;lC6 z2!8XBX)iwM#Pl22-;_?7vmiEhH=q${MyQ7QFgBuG0asj!8e^mCAF_cq({8yh#vsmT4m}7-!vnnafbD&iyJjw)II7^wr zDO6Nc&2e}A{Fb!xn%Ac{a`@EU4?mK=e)m0T>wyC(3>deVSdL)w2a^oi%P_XeBo^km zV=J()yr&GmYt!%W1jl7eALeAc=MZ=grUu3bX+75_qe2Dr%@{;kvcd1} z=xEOwuR686bNSLuu+mMu?H=tJ?pcoC-QP^_9s97z@d^sBM1ePH%lqNFu z@1AtWx4)O({?@AyBtg3TDW{#LQ?e+X5k!aCYEKlHe(7Cr^sTP8YxUrM+VXX+BAef zzmr2UzQNM}XK%Yb?PA#<$(*_{LuT-^l9_Fi6qv%hAR3mqV4j;X8TqqY|2}=-JvXPd zEUz@e1Y3lyu!#Plfn{J6jt+RV(H-SbFZ$%Mv;^k#mdh_suRj0W^o@V|r*!W_52vTL zYzY`HVwt=j^7IV$at)Dhos$9v;*BS)rEaiUIalZvn8te;)BK^3wBY?59jANbKD&t$24sR0JisNA%rO76;SXqW3DeIURsCHf&%}*tID?mCq?P0 zp<3Xc`mH>dww31?w93N__v(D9)}#>6(6BukgFBk<4s4p`9pb$$@|*M!8*0E51%v@K zerkint!$rbwwYdy?;zWNrgkSPUxb|LqY#1rVFmy>dE|Qi;8=KOs6ohaLvy4L zA*+(Zl=4Cdo<4KlPOTgHMS9;)4>WtM9=@%B+XxNyu#sA!JLt->Lf&T1)|)#Y$4hZ# z3Rj`L@5h^1Yq}OekOd+(a5D}t2K93gOugny!Pnq<@Ph7vq4dzE&FO(Bp3zPRUhjxV z-@}2lA6|iP^Xo3TBwc;+#c4iD5e%w=^{7~q&Vx#*t7cZ*;3e>K#+w6R)svhG_orX@ zhqM)wyFtb-wbO0T*kJD=a2B^@j0=0Ak^dJLXrpZCy6Du62-lQPGc}FMLBTY)HAuGvOaJua`_op;iUv?XITj5;fLgkbQa@Yg_BtUI z#aQtOv<(;wX5|sY#K4I`%oq;t+!dRDgAbPIkw)6K?fIp=fh`i$5ZXcMbm94DLYo(a z+%SX*lr{G%n%oIfFZ3nQ( zaEMwA56oRKcmL_HI-|R(rKxLpXkZ6++xuGP_Vw)vzq@ZTlUG!DMGCz3&W8Z}Z*|^2 zScfeyKJmKe&6~UFq|-Le-n41+!h=0Mvu8KAv#>D6-mcio9aN4@37tvj0%AKZ1T+Om zvB0nH8hpntQT6G188XKJow>))7U`P4`J1EqFY;pJJaOFi8 zrUzj#cYgnS>EX?rFnLn|Z(-1Hi#}GEfVGi&G@X0;sj*yW{UmH>zhVE#vt|ul+c&3u zYK_4G2mf3yA7=;-0$IB`g6o~d{qB8 z??TfHuH;Y|0L@?6Q^=9>&$TEuDK(hS8ao%Jeyr?kSkAPMG%7KS+XRxY z?X!QhpY>~K>iJzlOgzBp5h_!@`^|w+_=qu4??{mIFKNr&KAebC-j=%q zZ>0*k{1SKid#P?2AR-M>eIJmAuGoG}z9VT7t1(UzLn8|knMSR;UREsk5SuCYazIVL z8Z?DiHvEy8iwQOZbq!kz%+3=7w4&OZGV4u5G( zy$D+2Q`~w{?#wWmXs0wa!X~2jwx)FIDI2JX+buJ!tgjoIg12xla1fRe_)dkmz+eo$@|Ef}0ZiOo1w^ z37aWI?SzeRqbu83DjvW~ML*hZq(d4G-B-p1>tSzC?idT0IsZ(glVOle5;81HSD0!W}B59z*Vcf>(RHB16sdDJXH za|;o(u44|QF@VyhC;iV){dH=&C5*MURnIW{2Hw6p^wPedfK{~2qB5WE}F zj4OA<%9-!cqtszyS4;g4bnRfnHa>TONsJlM2e}W;!ytCRG2{4l6CXUVH??tE$bbCz zznkXFW-QbO*$$^6(xj=S(Rj!ExYHmfutU(adjwoP9UQ4=l^Qp3_dklfp$@S!AqMZT z!zCAaMWrr20pCjS2i9=4m{Je*o_qeedloEN&^?5M0eIRT+8cg%Uum|xrSh*#ftT6| z><{1h;gK}&?7qIed-t*QzoQe?=9&}NbU*UILkod6oBla9LD??%b7|AGcRQ>BuMN+D ztY7}>?db!*ax<*t>TKO)R5;YCN z;5ie5W$_JC2<+yO0|J-JSAfo?q5ahB+xIfIV41z{}5W&H| z@-z2<4auEp{+%4>yx`n()5T|M+0X8Oome51M@C_R1&6}en;p)V|B{D-55y$hyAKN&_1f(g=M!RgA#RzdCG;k9U zr~M_&Ems@aUQA04VBhTF7m9ak@5F=9kQ%Q7#{w2JEPXZu21c2=KGPOI?Mutieosxo zfGY+kuSs2-m`H$+tuSReaZ);&e$N^3MVh_@EuG0vB&FJy*$lcwLI0q zgvXGOC$xYSSjV6;sg+S)z*9u1{uEy(|FI618TdE((_v4+_$QF-u4@rz~9Th2qBnc!#wv5b6TB12;oE=v3!97{KXTl z5%L;hU3c@Y?Wupw3AisJTXD)hBEOt}2IQ($E7JV=XxqCuGL~jJ;Xn2OP2);z?V8mr zna-kwjQ6hAl)4-#FYVSx8B{TtN!!sR_EDucO4YXTPZ%F*r8CMnQUU)=zA1#(%CJ#% zXwHV@L(_StzjEK&kQat$lR;5%w~{Y>MmWc*T6}UZ#4xLj!|*=9q zyAXC6qhjcf=;MF%Umcr8nJ6|kw56_|gXs@H`8VkU?|MhN=#-PwB3BwP#ZYY|@3EbR z0+0Mu{)(+|IL49&1n@@M);ecyn)|Ab^s1BBr|nE)9)A4E^eAn8V)Iruly;{9-FhKZ zYSQ6B7ELIy+%w{YPk4{2fx&V2M?m{1&$zm=?8^dL#7k^A=hjGyYD(qRqOBH zm)?EzFQzlkI5qbFIG#D_&B3^ZMl+o`)&7f*e{Wx3_Pgsb!XN%{ zrCzU`+wpM0m%G*#TV8hhb#$Pp7}_&yPJ8!B8`pO~`_z+rh7JtOLEvoxS(w&AVbZ5F zRenr#RsP_>;xFw$NARzEE1JwJF1sk5hCQzup7EZI&L#)%(~v+RMr}lwESQsi^Vfeh z{p?@;2egMEBg=l^$apG$=U|NpB4sc;k$xzB>$W@616RK(z43JyVbBl4Yoi3Rh6Yp( zKqbVohOHy5L{T(sY8WcC8ucG<^Y}}NC1>IQl7reJ23SU84f(fYqxYGw{$slRyWdN@ zu`y0K!cN-u07vziQC=mbgQ~<719b*>41RtNGXo8*XyRQzei+U5aC-MOZ%ilRx&|FG z+9H;*(DIUD%$^k=W5!#_J0L_Ig}TMKZ0cF_YV12;8qEt9r<33QuJpdQ-jp_Xcd_I5 z0X#=Mlm@$Zr?K1J#4>uQd z;!Q&Bx&wan{Wu(}63p;3gfrUN%MRqdXqT;r8a;*iU?$^Cin>^z8S;5CU)yFdDD|^U zvF!Ad()NcQ~@WFqNSi-oi3gL0n@Dit(O9F86SF6k)gACvq++pWog7u7-WVo9CC? zL@L{>y>aKVd1-0ql4xb1q$o->?b`#sz|}S#Vh~n~rgxJJEAd3Q z?v=;Nx2yW~rD${MEAv+SFHVmr7{LPv(Ma}VVx@LBIArxWQmIUg8xvhjCQOnMXD!f2u5!^+2~Q*t4FRlCdYdVYjZi2yFG zHd60a#`{G}m!#8CxEz2^b|buQM&Nz;si)G8CccVmce82g)M(L8Rkm!z;flSVDdg7)F_{GrvLJ zIe77yeTKRy#A_ox9JiXFkvC)Vo(t#esr^C2&A;M?M4+1CxZ@EVyWbP773Cbp!m@98U zW?7TwnIq)c#~k4amKy)!bDzhAVH2JiFb|kDPZq;Km1{aK&6Z3{R&j@ESKuXKs0mbS zI*OK8=kh<$2{^*&4OhJ}oz0Ty>{c}CWGi9U(=Ho0QQMrc1nXt-wtWO3X5kvwNZ1k% zBh=1j5ZSP}Gp$*?IKBDO%Q$;)fMqI9s+ls=AA&IjJju>>Kf7rQ{qBYtGM9N(nrLw| z1-)`CSU4{=kuE}o0Zgs;OzA`GLB09_`T+*Iur0TbZ66h=&PU9vex51M>h~F2C*D-I zDe|joWAy;YFvWm@AkKC6RhOq9?ffi4Z(kfT(m+DBxY<58*C?_fbMZJPRlKkboCnb6T z55d8{TWYrHQ5 zov5mNFl!ZBaANS6sJlbxPm?!`q1Top zymeCPN}&DS0MRyc*BALH8@yt?sAd||WG#M3>rqJ#Yk2#OZ^6V4*J5zvf;;j#zc--O z#6cDBM^fK`p7g*EzLRPX?M*B2p78pMFG}ya;Vo$%CVH%eqRc?>M%m)>dOr#QaX!ka zz{0#0(1+O{(*wLV!=FC#*)OFBpWeoVnz019hVV$q*>|vY%puUs%usGQm<+It->f+V z2S-l7tL(4_!ZbKC2O*^XWhboNzi370t~zaZM~AmFreV7~ z_Z4fqOG6^Oq6J>L!iPY9ZF%*}JJc}PjWzDGXPk4^?7choFW9-ItD~`@p^3ptOE-E) zOjn1+jZRX4jA7T`!DJXThUj>D>=P_=Tyez}>GV@h3L>>@#f?ZyM<33VD-h%65Y-5h zJ1*XG%e&JL?|%T~?hanY8G8_b~iVv{^v<5$> zEzJ$Ad|}(GJrY4(OWZtQi_(>g%NV`bTkc1YyW?+Ln1& zYdp(c-%SXy{L{)QXkXA0Os~i_fR?tO-BXX_?^pkXQF$6*TXH*c{PH)y&)x0bn7jF~HR# zzzooaA$(WXcP>sFFTI%i!nB{x8+G90TWBY8b>eS^U)2kLmQIkznm;%o-uYgeUr9Q< z=%afP4i$LE>vLFE6D=*-R!5m!zRVxYDdmZKmFMvA!DF#$tj^;|zpLw|Mn#R4gYt&; zYtkIFq@t#AVnC*9UOQ;+Zj*;9s!5EsZBgr1I)T+>Va5){K#Wz-kE1J zXglm>xD^;WfExcoc9?(q^MA)+$ut)8liXh7Lr+3$0%DVYqpiW~OB;I?PNd#&GKvLY zq~nLMGHnIOrQOxfE`Eo=yLBrY?7$;zCv8*K+EtetS;e1{j}N(oiEqd9t2({$r!VDL zayqs+rM-v6&cp|p5H*37r)cfo)|HPDmPv(>A+=^^B^XQH%iTPWul{C|^Nae}zX8Nd zLt0hnpmGo)Ow$UtIqM?LQ0d0}Q2DDjn_4F43X6te1li@R-dy#D*K>FflP-l+KZu|4 z3tsD?KG^QNGWOkX-H~cB)4K}3aLpU9!7S~p)IkErA~#k?h~;&7w`OLQS9+1~DC-ec z6r>-Iq<(no_VkAwitq>cMSDWTSv@15(iK`VnHxGZ?-|}=P5D}<@LT{#P z>MOjN47L()_N?}_icQ#OtXPd}v-8r{-3QV)zJG7}$8X$~9%iF^FPqhBFmI5q>aqLH zeU-DF^p_6`y-i3ryO9sBzvjyH*6XfDu93p*W8pA4SXakW`&GCI+}Iq;3%#W5XT{}X zxN_Tuo6c4|XEZmpBZ%YO$od0^7)TZVBV;_4Kk?nSBZFvyI9%e;g|B(_9*&UjhPrnl z2k&Kb{VUS%ZlxjPx2fLw!ThdO>(=aSX>Vl% z@NgepKa4QJ7zR_WXi=Iu^zHwO}N433z&~}nOdKmFKEMeZE1$s<@P^6^0D+d_B3&FjDr`N zlqPnZswK-;9uP(CxF}oPv<_a@Ig`BToiF`e)^d4(L?8ElOci#J=uzAQ{ZCFu`{)dm_2lbYbRi@G62Z#9j&Q&?pY;50LNo?td_S_`m;;^pVf} zZMtu3S9*%sZ4WRSbLTfq&B57zF-Z6lUcO{rFqn9jvB)m-)d1U+ak?Q&wgw0&SKXx| zF>oglTP(~n^`Twei-Yx|Q8|`AR!d=9Iy*VsQbs{v9#61eoNB2p->?5=k~<-=txiTt zh`uX*IOSgAOm{z0y3)Q9XS(!i+Xh%>+{2Q|tc|Nv``IU_{&ofg);SMh6~7OA(lJ&< zGF{LXs_uol8!clU!puN{S=IKx|-#8 zK{xgR6IOAfTnb%&vrk@(U_LKaUe)z+Np_S8MH8?(ZR5t+Y$|V@0^Z`hG$YRXBLrGtylx$RizaIj!9`oksX#gTIr0@8A4y>2+tHn`R?` zHU;;VE?m6>3&iyb926r1Y~V?~rf-e2(!tvHbPxM&{_w9pn|{Iy-2i!@i=}+>AYL`z z9@Z4T*MaZSgr;*|)>+%)e#ZVycuM;7fB1*=;g5ba-TC+U0{8mPW$DH@UWwq7I;9Ip= zGKn69qb?+!4Ae6->FM2z-E>F#xBuq1B3}S7smX<>de??oiJ$^derK8$A9O8x*FW8x zZolK3D8QKlp#&?i3|cmJ6@6C~LV=^q-`NT{I=uhHlQ-^Kuw>zun!36ztjg^|)(FM_7Od7Ri%5y{mj##S6sCwRY(Aic6G6OieFw-NP9SQe%HoRPTsY1%l5^aAAfpw zYjYda7JHQuXW82=W2p>^g{aIi&e#SS#+(5%&%NUtcc$-Ob9Z{}Wv@m+{Rh$r9vIyG(ujG7p?{c74AvQf)NiQ48W$MGbA>tiyM*z&5jn#- z6PMm98t}F-+Qd=`c8uLiJH22f#eere*bi55TYwV>{W@F(358i?mrr^0JCC$j(8dwLH)6 zr|5qm++(;0Il#xwYI)bcjUYW&yse>{wKf1bBI;WVxt$Or;bEaFkpEz}i4S`=kHHto zyU1#D76FZQaT?C=BaqUwD z0`Ad=^LXp3Pzz-_+Qwc2T`v+e=R>5%Fo4k6oF2rz*{;9&>$DR8;m^J1>U0A%zZ{zH zBp!wnfxr58h+&4L;a^_dn*B^&G7pKBsY=}udr^SPF>4ad`XgVxFEz7C%|l&0_0#sT zN5s93ITj&3RtecWiVU9K{N~rE3pcGxldS$upuE##(_F#4vLEHDPns_uQc;{)lPzyF7c2E;9x zN!7wsgo4m?@{k2e<>nD~s4rWwFun1OKb{_V;DNM#$DY*M<<92WAjpL3J7_HBD3r0= z^zT0U&*?cIz9HTD^6x>=r4!7IEHw&jWKa(Nb~XpNe1aDO70(j3Te$Y2)qG_4uJoxd zeKCC=LGuWL=M+L0vP^2nrdAZ`&czVStLnL>=z3TqQr(|enymXRjfa2Q!hnEdM1y>= z;E}Vko*_<(+rxo_zjyBk(`P^P<@9|ocu}|$TZ%V^F6P9oXog$CIezAX8SA5%g#35# zC;wnpHnF0Y%!cj;BaK5k#6`55SP{>3Qg(?m+NLLPw>D0t#8G{V*tyGKU#p50;G(=% znC2QayfTdXsdz2&sh{A6R^bQ?inBS=7+07yg!aIS1prkZJX>yEs4>#Im*2*tOXU$P z2Ha_rIfOvc$aK=M+VXpSd-yrDUp^3Q8!zKIEJ$C^ z^ib*?LoKv?;YI7yx^)*&0qc_cnsu=L2948-rqj?Kpy9 zabS3WBT&DdF1>jrXeDu#XWylF%F_&QktBB#2kns7F?9;Qe0=awdchqxr&s>q z%dveH->ht^oQhz5YqTsFLKyJaA*o}2gZ7$}>;B>|{vv&W^8;Er-no^PU$yvR>QsTe zrYHG7G0vgxPLorz8* zqcP-}S5+;SA3|F=nm+sauZF;>UtKx7NB+9_amo;RJA+0*!)GR^>!qzM4gd5{y)OOy zJ#R~gv4^xX>Yk~D+$khv-oYg#ZJ#~JVjKT#C%-D$i1 z-G7ia;5zA!8*hNgY{9kI66_HZ8*wlRaXE)_n3hm?{(?v3Pn>;cZBvH^Xq2V)xI-K; zqgI7w_xG|cv9P53m4|lV-iDpE_({}fY;fpEUSA8dtNqsYt`lZ;(Z)?M7u%O|BjZx* z)8EZczZ<&`9E6(40|qn&jKUQxJ7BEx2|BHne?nu-QCvN|jh{=K)!sWnsC9KQW_vav zsE$Gh2WgkdHtaU9+LA6^zb5Vc{C(-jHy%z?EJ=@f=m@3^361@d^{dmm%eSV57pzW0 zXdMQi#}Q^(W8g=(Q?Z=KZwG_WPDCMmuzmu=ALVA_xhq*AHijp@E8s0$*q8}9vbAdg-2PU-rta;N$O=%08Z#sb86RsL@9<*mW$p=y5(9ot36Y8g-cRBEU)DWaR`)^E9pW9r|*0lzRA3_28|-m=&Tje)C=Q zTL!W4y1?%m$kM)1BW3LOb}bCn_i0sXr>Q+>4Ego&)t_+vpRFt z#TTX;@D0^JmZ_f z`uQgBJrEJ_0+xwXtSNAR?Q7f9JAUguctmTC6X+Cn4F!hU-M8i#0Wgs^np)Y?F*3Me z!^Zs=Z`r(KtabWfCMl0&SRRcq_?3%twl9N?Qp+n)Z1KU>pO}^*%-j{B? z?z(gy0%v;&I4;4QEcIOP=~Rd{FMi=2>5HGeFTMY-J{&f_F~f8A8hP2v9PRy)>B6oN z9ToEeJNAG4$v3CBz3ms$3!Zly%bXadGZ z>uk(=U^~~29chrkG;u(KcBHKw){vJFGZAN4=Bh*EJL#7&gNH)P)q6fUXv8L;h*J;w^0RW?IcUS9JyZu{n|anw{{$jBU%(DxNe}f}mxZ&1wBh=H>Ih@x8!N zD5-!`!>=OilEn+sC6{nGg!pA}ks&!+nVMVFPtDda4WSp0LFiSJh1_R|5Cb^z3$2jS z{*YI6$b(I@18Cuf=?6XfB*p2!WyQcn0eNCNmCjqUDh{$4KB9>aXbfSbz+871PTO^C zFfCcpkw(F*IGD^ORxi$K$;i=?z zw%?=8z?JybYk`aXZ7{yQeSMsmN!`_4R6J39{A&e3p+#sV_}|#jAc9s+@IDm`j*Tj8 zCNXKa>WXc6>)2)s^Nzktr)`E0Q>nOIy~%x;-_WW;UbxtTW@voUWxC1B?2H-29|ITe zYZyf#p-14|tVVw5V;@f+{^Y0A9(Yb0CqcT=+6mN|etchlZ|eTW5%DapxaPF&sikux-H zOjw|2o;js?d~$^U?EC1y>V_-(T02^Hk4%p3nj9ZHFg9;q|5HbfjK1s6J15g^x19o_ zlK}c}@cOI~cx{n8@4R#BfqU*5Pg^<$@%_1n3|aEVM5XY zJ!AtTjK^vXTEngc%q!)srS3z>0*9gVs308&fU@MNbcL8cCs z&qoXP=AU|f`r6kY!Xfoj3?P{~#KsTe@{4k19W};dr*3BHT^BM#BgfKz`pKV3@BRJX zPS1JHwZzr#6a6KF%`}SZ!<@=;;OHTC{tu_GJ@{~XeCMw8_>;TRL3VH+XSUhI?)oVV z{uM&n@w^aIUN?rpsIbC0O-IS1WfsEh5;>H6bRxQngKm8Yj|#kUP&CL?qT|zXBIGG~ ze&nzDOv5OKd2VI*_Bc%VVf=MI{&ycqABMqf+k6qWRF`p}#G3GR*o!8s-HsdB5LdcR zn@athZZm?pz*5R>k3n2U;S_>9y;;qHC*5p+bVo3XVi$F$EOg1D#R$CEA%lNs$=_^H zdpC@WIhW%!9T6LK6vHp^J^Rf!TgEpNKet~_VX5NB7E>HiE78Jy(P zNw0NPXsXoAA9b)pBRs+YK8!lV;YE#}+L`b;VY_lkvo4dB=8t!_3)NLap%3aNw7DHl z-h=}nLOZO6*B5F9-EhKp*IJ(G!TL&fLDynMj>GROFTX5Z&eEv%>H4u1A^wX{-4u9_ zqcPIXeu(#3}F^~q0dP)K#t+L9B=%9 zc30s=<6M?!4<6mg#|#@ELi;0}B}n7;;Ysqm;DSwQAxqN=s_vGz?er=U6BJ+)mJl8+ z&K^g$6h%8SIft+AWCE_Q&oDkDk%Dvx#MC3VaX?avKI`tbitSuABZ3Vr3;x3AE$WsQ zB&SgXw`q6d+YD6=qwdx7tQE)dF5254mQYevA5U`2{Cf6Bc_b7R`%9XUET=GCnt)%n z0#|7_Q{?_SJ8k(Dt0@S)FT*Rqsujzza^b)V#!(YA5`RWNcA#{&6E9G{DF zC!a>g_#pvzymE+y)$`mp z>on6Q_8p=XyyQD=C5ZB%3aw5=rd)0!z>%PB_!-}D;uL*r7<%vQ?oG#0&g^^aiS(uI zkKs#rU3$TF*QX7u&q+&Ah|FWs>F^d~pnXTJacFiOYZ>d|VW0i{7t^~@sL9W?(br=_ z4%RPEP;GX*YtR&Ywh5D>;h_P%GJIG1(I5Q3!qm^c=Om;tME%IX+@wE)(oJM&f265C z_}BkCee%?Yf)|s;(lj@Z;MSN z9#0#CO?2iedbv4JKo~J#R9Tt7ehAN5y)^yQn_kcLbLkj%keVO3SuP8^B(pn~v{in2 zkW&!m&fE$+DW~#aZ`FbIzEcJ_P8>V3 zFI~s7YiqOi$WBfKC@-ruGx)ctnZ+I0F(w1`ZSSC7|N8`psiz)27A;;*9-RD+8AKL% zVUTmwbp{Xh8Np~gXkrZ4GkU;KJapqu(2F-=1&)I2`lR{Uf(n99{Q7jfQHuj0!6=1e z5XbJ?_3C%n)4|-;ub`vJjdv-*<4EljlCMj8!87I7gfii=jwtr{4(?*o2>lVajRAne zC^?`Bk%*<$vHrtRMfLHc^wc(v*Ve}@1~`<5u&Z!P*6uo%&*!13uAC_K-|~;`lj~lf z2xjAP!qDUMpLZ)KEfIsdyXG`CPJH-|I5VXaDSgzk;LYYPPT~X4;|{{44q747OrLe| zBwpZx82YlFVj#w+KZBud<64eFLM0?qNC>ce>0*Q7%2mtLR~~qbIKq(oUV*vX#kXzO z#)0kY)~;b-%oum@bICUMfgIa97!-FxV<|yU{xGy~lzKgiW^)4JMQwDcuTYvS2JR}o zd7Mqbb}OM)1%(^l(#E!hE!9b-ce8iEHS^$ev|mJ`-7@a%`?JF=kzv*k;`tlAo-#xm zR55_ViB<2l&N4RYnlR6~xmzd=#H1DAunT?^6+Uvx)+9;Pxho`RgT zCNBJ&@nAZ?`Icu8B7e!t>x@%Ga*UJS$4QSRar)fD52wHWr+-eL`No4x+(_Nk1-dk+ zVIpo8)@h8%Ik!=oP($dqrDDs%$)uf646~1x-^yx~lM%|aaiow4iQUIvP z7FdA8Z_VAn!-liNBk6y>^N-T<3)ZATmMU9tA2!LM4hqiBpfy)$>1H-e)zpqn2D3Ad z459fd%2>x>aCQdsKS{`+{60I5`DDhJmo%FZPU!<71e$N?&*>bc-1_WKR-OZ=tSayY z{6*waPasp8;__I=L4=~cd-~G-`wj(u^eEx!MV`Rsp{46qElM|BdO0~Uu(I5vGjn-D z4C(>`hd9bn$^Fr|{H~weHEUMGJF2!4L7Bf2Q^r|BX~FV4 z-@`@=Tpb%Y20aK7X{;;R6yJ%_-oA){P?f?9pR_x*|KyM>zY!p(*5pbrJ zTJ1CntprZgiF;G!-imF8{1*N^s5@AI*8EP|V1RaYLZPQ!n>PgA3AA1VJD*BJdkm&p<*xh;ZcNa(N}N<-#oRjDqx9f-MrXK(3i4 zs(Vl)^`dCrl<09cUSo*W4&J+w#KvvG59uhjxLYsYly1BE2KWm7N9|VN156oBJaM03 zupK~X?ZW~8e!Peb6VD^RT@}g$jzR-a7#|#uVvFC_Nr`~h0xfr7X0vkHGVI=6LRa)) z@D7+O5rBTG=N0W{H*CBhO@H*0d{tXaEr2KD&In0)@YSW@6vENkb?1k(eoHo}U7P0kkxxL%7C*&W;{Bgc~e|mVUySFd>&?{e^9(?FAlxmn2N;8xb_!5uOPv9$8FO)zO>{vF&hSdN0tG|{u zuU`i&Y!JcBN(79(%t2!Ljs?cf6a;^gCF6#`KR?a-~=0 zRc=QT7IF|i^Wg>_(C*?mwXJpR`0;_koA0>&z>1YCpFk9TfqaNk?oLi)C6e%r`UyThh&>(aE4_=CVmH~E zj)(9-r-XsVF78Tj3^ENs)wa|DR6(!s;NV22^&jJTc6?uzQNX$hlXuf8AlRv36fiGl zce6Sx5oSUzEB~ze(#$s>d?()Hm|cHYU`0vfuXalz-XKpN=eN$lhrz4DR@+ot>ZNTw zYE>bO+SS#pg1cf0eQKH*h~^rwa|sQ9t2VVQSDdpPMkOFHL~w`#=Zu4OQmZ?NFr#_N zlu}Av2u4>im{wm8Z2$m307*naRJzyS!N-P{0KT&Pl?%-SSL_z9aDZd77!ZWjfnkEd z!w`&_-%*F0I5STPqzY3E3`MB46Ha3f*MxhaF?OtvF^QSNA9Neq_i%+rzij5a8wJ4> zdBJX>aS0`tkzx0_Ot56iPe+jHXHBWiR`lv~u|(%rzKb zwVSl9Ez3#;#WL{l&%-+oVmo~pU#&y*DMeO&lx9IU4@&YUCnlW;lx=)#0&m^Aih>_J z|I$mtaekhPNUQXp=ul`ISu%D~#hdUHF|FGZgdbZbaM^%E-|23u85@)H*-Yxl=Sqj; zncuP?)R2f0OaGP5$KYGXfblT!>9^TUcyUP@Cnn|P*%<;KRfT-EavdlnT4|>)CK8Ht>aGCw$@Ah^_>eUCZ?Qh(Qn;|9fBS-6MHVC+d4oT2cjB)6U_vDYtnby z?YF=uSU-RcTB6hCexl1qC-5O6lBXiQLY{janpx(blJ*d|M)@`ZUAwXMzOUcUfk&TB zpZV%n*@MCIK7!=9G>7D=AXYS!(LW@rfNwU@$cJ+O@vk62qx37`kXAd`Uw}bWTCf1K z2v%(;fu{+f+JVtg!U>pl^;Fctkt;8M*#JcXAG`=0sD6)acN z$0PXZeZ}{`G`-;Yw+S&P(v4(ggD}hl_%--fK@uK11LIuAFP;|F(huL=ibpvYB?Yv$wndhMR9VFx@=y6bB0JLoIc*W6@$xRO>=7 z6^%3l)!Fb++Wl;RwFV`P&VkL&n?o+w=Q*lc#hLq7i=Q)-jWsbis^v6qxut-Z<9RO%ts!QFq0*fml$up*Ql*0qUKEk*s4aB8p>a7csC z)JZy-&=iC z+$UoNgN7Nc%nc$de`(E#5<#pTyFk{g^2^4I7i&``VdCOjOjq*+lpweVEMSSNXCPj6?s z`s&MLT!b)5lIbkcQh+-tpiuJU8=nU8@p~T|r{}F$m5v^tNc#^BrQL^*r0v+|#(mG; zI2wDj4PLAbFDIrc*Jggr_!sD~jNmvYfN0OmK`a_7%9LMFx47tQnxS2?K`AxNI#CThD?LG?pYDzIGVpz*+yBr_U=i)!@*kn`v$}3Ztzp16|_~6qaX6l z68uLXmI_`ERT~}pt{1-KaBD~N0qoQdKx2oIK884uX?*X8J`^aavN>yRXQ#jmdTsc- zHEps8zGr(QJ4d*}H>^ z+PtR8j`Y<2!|B(5^PTB8-uCl&V!|>4Vr1mOFDry)udD{-VDe-m!>bp7G6AvdkCFdH zo7bkF_=z7$cm2YzhtE^|2SZJ{>q;$xVJHGuI3y?ICbR_B@92ReY0-)mX`+WsZ7iR- zJ2u;b5(k)qHY0~K_!Dr~;yIwouw-3AM2_(h8))FsLj=EJnr@i!WS%aVluT2n+c;1{ zb6KD-_gdbKkQH3z0)W~iz!Ny2o(AEt;|7z7S3;LzGrss}fmx~TZF89lCf2S%Od2_^ zgK98O;%Yx@%Kd$Z8N{)vbGhEacw1nx*sAEr!CVZvEvM2sE0@CT$qS(+v%dIzMt@Af zS!L-MOV*KqSfExCMm(mwrRle%dxuXq@ML!Pcqc|U@l6yT4WO9mF9t#c z(FNGczWgOGPUkFPI|rM|#G}Kr{Kcn$pWliKo=7)F-3|^NXVV&{FHY=; z5U826@3o^j*5o?-R+F^_x<}RbN;xR)(^x+O1>)V^OkN@h| z|Am;PrG&S(+Ew_M{b!P0;VW0H)xGdJd-qn63sD_mvyYg2woZ5ixR=_1s~SuaXW~#XXg1NS_@*9J~rGN#`i8uW5la;JO-D7zbpojzYK!FVz z$oLTM!&=h~xCrfJm8g%+W>4%Jz)Xt#H8lvV<#MAu+epGDMEwhqJ6H%GpJVwS0E|^| zE-wnbGK}5{W;QFNo_Gy<^06nwyG>hbCvzV9Fm+V{pbU{i&Lx|Lz{|+XiO2x{hkIEa z`sI6mHeI;>0zA9m$C*N1#SD)_!5@T^z78ag&*rF1Qll|_V#o(t)BE0cZ)~3LVH02r zTJCY{RE1pE@+;qiUWgK=mdzM8HBAmLU$gq?ri(Z4Lo>VwFAWDEnf{@XkafORk>C- zD5KdWL^iSA`TZ|RU%c<@=`TOetsw}XjHACZ=*h_2 z0chpIo;1H_emaWavftC%s6%L@sx+nxTt+VSaOD@;vKay{0Lsg)`CIuLW%DiYp~j+g zW-Cxt!a584LSX5{-c!-aU>!0H{?ZP(H9fuyTSBVU&ZdR1&85?at2mHZHNTOobYcSB z5l7$3t5>g#WipqU9%%oSOE+8?R0`Zrz-E=}YsNBp6&~&3(&>hAj}G} zq^iDA3cnp=`KR`F0)>FbKL7BKy)r%bmK*X!m-m1j_$nrO#-)+{3rt{=ETuo|;6W0B z6UMqvfBK8*PyX}+tU9>&M(+?6-30WJMfGHDd?e3!060n?8XXxQnV1-O!FRu;udBEB z@saW2Cn)T!w%xUwhTIDI`KO`So0;^)~P-Sdx5`=@7+{&-qc9iuxvrPnga>eW0$y4PseDpWMet6 zS`M--uM%qcosCVXHIz~rKr!&co)DpqQLqW&E_O!S zCAs|V(yLuGPSA_=r-tX-{i@JMsi84$akCK(ZQbUgmy?zyog(Zqy+Ui~ejBRLHo^~+K7x)&BvUG%v!O7P22k-x2`p<8<8-K89 zxj4kzWpxK)-6dsn3AIDkfppl#>uYxno0MD@p6R7UvhvNWK47{`J=$TS(`3Wicshj3 zMBP1|iq1`yHD~f5+n}mMaF3iPQBEF6Q=dL018SaO_WtyQLi3HeNh7)<1B$3;Z0tpo zIiRr1L2qywNs_?%7)fqlyb=cSds z-S~2EN|$fkkQQ~fququlQ72|}#B`5M#z*Oo<+pd=HD2Kwl=ra-SH8h>PUAEA%I62! zWir5&5AR8ExVUQd0AlJ{uB?o(Uc!YYmkGkgwX4%lzwz~{2L+QWnI-5IDf(z#{d51x zG2~IF?U8e%)9_W- zUwic2wdd`}ZRj4-@0*;MINGsT+g(mnlh)4CkkxKyDezKyIe~4mqhoMta;UGpsq?XO zFF3bj!{$w05B7HNswbXaW#cl)z{L2T;^@b`arnsaWk$ln)2;ol6?p zAF7w^rZZf?^5)Gfqh81o*HcH>VDr>|+}$vv4B?*!;2HLDvf{|UhHvr0i>RXs0_WUA z+Y56wuJ%>JAj>eK-vrFKk%m9wrW-$qLA-SMVrLxqv5-DZEZ74^qBz<`4#CuCD5Nmj_j{+Uss&gAxQ z@lfzu$`-dJI4I2(q#rf^P1VUw?P%JE834=aXfk2*^*+JD8y>MbJvfqDan03+z}u{{ zg}$N48GQLYdEu7ey&ztE>D7J6`z~T6j$c`j}vY$k43D zWE|XP-jvZ%s|D%5O(HJ+HuEiYf8gBq7cMB-)dIb(==WNizE=8;6VkHs6WEXO%rqG? z$37=bZu+|XvTdx6jRHS_La)*4#4G%vvuhq2{nqrw2k%cGV+HdVdsGIYgX1A!(ZTCN ztcdbEms$5=<`G)*Bjr@FX1+8&r}b=aM?6Ao9v&MRTd-`& z;0s>(qC;b&V}0%2oqf2tJB$!MwDPH^#`j{1O%@d<8Ztc#exBU|F9?<(suS2oTE`Y0 zY3iKX)!xzGaqUf4_w3oZv*YNYBVE{ZcCe%aXM#IrnQ~UsNPyWbiK3gs9m@b5!T0IU zd_KMF_x>oo@%69C%i5MFAwwW14#%}DbEot-131UvV*H(6{Nh{EXW6Ct=YRfTX1nBp zn-qmP1J?u64>94Mr^r7i-AZpMJ_S zM~8R^W$VmyXeL;mW7avJ?6#c0D&2PZrD+4g?tCgdM8|HY{B}oHCIzzAGvV99D6ICB zM!fk>eDeQ{Lg0#yK67NN5=3aENFHqyIR-O2e3;E6RhYpsOvC3!^oVcY`HjwxV33(j z;JRdTihI3q=uCT@N_!HX+U6LH>e5;k#Z;j@oGAuMy3^f*t)C=P#?j2jV5U_g6vTi_ z2e*v3hWJkQ7)(bF;YF5}^?97m))76&fsubG30#JAIer?=fk&E#2G=|pc=K_fv_nRC zXn3dD+1$)v+ls(AingpW&I17PQY}4l|7OFfunGjB>C~)ZlFQ#`8tgfW>~>|2norkV zv6TZJIE@ZrcWCHXXuqRZL8~r*I?;0@W3V6Ur0If#s)5@{q>8cCQOV={7ykf)p zbOCPKmUd%GB<+w!4;B-gs74mSFT|fMQYMA5`x;y}apKxPed=@RSKj{i^e+!S!sNIs zb#=^V@+YoM;RIJr6&wPSs}NoSzqA?UwBvjATux?_7gm-+6*@}$m-}oixmj%(v3w^J zb4__zjH>t&@oj)W>#1;?^NpzdsmAfyg*5!CZ&#Oh>w{Dhe7vs6`uN7J|6La?vZ?RO zz9`=VRn#v^Q?TQk{LI5s#_&Qijb{LZ=^Oc6e0ZAwlyN5Dt12WPcdx}H{Yg&|+JL(^ zB-hEWC1PzLw2z~~gMK_zW+bg!vpTI>wK6oky2;ZmmP&vuDk^AcIZi+2+o!(tHEg#z z*%EE<1hf@>$g#;8UKKJA0gpANH|x2?JK5d(HMWU;LGvjmn;mFbJAi-d+Dp^Ab5=6t zbKGrC7pz>KHm_Nk_F>jx&&%ao|4bpdJb7_$VaH8F{wuEdR|j*BZ(jlj@-j8MYV`4= zJvo5M7SAfmT?am8pfAe$@Pj};Bk9$zdS$xx*6ZklxU*AWjB4=XtolEF7^)$R>|SwHZ|0TcS=m>6klYwf@8 z`s@3s$S!KR3pbU0jD`Iip**se)pR{%rMvHL$mQ($dDaWOpnBE`Y(oQ``_VYGE?vH; z^M>25?fB@2{&C^t$V3nQzJntK(Io}JW71V4fJ_*fI22Aa2=CI3$JFuk`+xYS>FR4P zPd8t8Me4@?tvkvkY13qeBQfy?TCDGs5|T47H8HI$O)l*1NdNa+-k6?xa)0{t7w)4B z&+@J@g~)_Iktd)DU)b!R73;tbs()8s>RGUmbn~JUcx)%qLrGSg?991_-d>9PwhNZ)6og%BbO%>tKq^fII=MyPFv-6>Z1-1WpsI zz~9!2 zN@xq>h~XgWD{Z*!D+8lWfC8DEGKBr*Obp;u&_8LIUAGgXWn9+3mtF&!3J`}h;X0A7 z73XO?mhQU1>CUe|khbB~WSk9EtzEh#;wzk5GY2+}GVpTv2ii-um~GgX3ASyZRwcCT zjw2>>DuD}-B^K_I`wQ$-S8lF+sl92@hZ_Z9a5Fx!dkb>+pG69vc=g`;B zJMY}6ljWXipw-d<*Q2cd3^7?z!>h?vZkM2{Q)VTN8RVa(&C0v-J|a|qN*sSiyg7h1 zj<4(UsgmbgMd$ty&OmDZa>C!teu_|R+5_h6WJ9uyp=yd`ltt!yu__fTc zN>(psy9KPpI^!q$PqZGi)EE@N_0Vt};WZ9?iK1-}U?&v#=sf{vPy+Ft=;$+c>(+}? z@BDdTmZ#pZ3vFSX5Jo;hk+DM4%(D4l`pVaLaG*qI2)t6b9Y~6Qx^X@Jup!^eASB@IcZ8eby(d%fUx^SBI`f2al#L^!xw# z+8PYM8;K<0a&i3}c$)>Sg8#Zp-wf>@YeN8Qs z{p>R2uoR>`NT4yjjNgH&K1diktUi8xGQIsb-j#MfwGRy^3wI1K;e;QeJbjROjm5x+ zE$r%53)7o_`n75Kibd?->4)H84GeDe!E$FVC{Ffa2XlkZ0XAVxA7gV58lDh%Akz}p z&f-;m*XKFcb3PSHmo1dQ%$|eVn6VCEvpbw_+O{eE!1HfQmu=XPR?J@*n~z#?xzodm zGRt}wWF{)JtV3DpJad(Gx_2=!R*_=xIYokCbl}sCWillEVbFGE2@L^6gwtDxIE}90 z_VhT(%*0}y2y`KMXuD>e%r2LC3ZNQ3IVcV=+xKuSS@KyMpm8x=@E6bgRuciAO|57t z(-Tjn-Jkq&T7GOYEx-(D(XsKg03Xt=9Qx6Q2@G~HsTucr?U1>Gt?kR=0Br*!uSj2e z!{R;OP zB#Ad@%I9*aN@_-^9p_l`{YOXATYm0W(y#u1zr!|aGs1qJx*q}3kc3ok`%{qC* zP6Nvqx4=1qt>>EaR;Ojl^czY8)OYR%M3{r0OB?B-c`sV(L%3&RheB*t5|{s0LD-&- z(xVj=3Y^4MLaqWv5I?^SvmNLGu1eCLa4j^>11K@{7C|RF zq2D-Znw{7c8Q)2p>({SE_!WtcapkJjX3{E{{Tw`3{-Ujsti95CMRZBv*8iNG7UP&{hdfNagFaqj=?~yRHV!yn>4`sXi|la9ORB!3wR6<7uxX} z>hbDt%dCaWQ7y@M9#pYl!2%e*@3YpUF?}uV+)oN8gB+8rOEec1=EBR|DQSwT-Y5HB z-j{eMyO((1>fJhfl>w^!E_ciAM9a(B*Xihe52mmE)!(Px|NNyi{Ea74$3Z4eobuD^ zW~tpr($JnmEIBd^x7Vqo zT6qWw^w}|Jatv*(0{*Jr`DrD)sF#A4P6Wml1mz~(5itbCiHZQnQwX`#o;(@I;xc#q z_=3C7ed+7z`(E+N^!^Y2J(|^dIQnNZ9KNz9!MBR6W@r$O$I`Yv!_J=bnO!}EB-(S^ zwrzRoItJOR!`IP%fqMh`0Ntf^Pyxd>> zt(I}@I4~jbI(d|bmiW@P&-TOm;5+-eD`H!=Y^gd|;}}C4(kWmK6Zb0*J`{&Ygoz%R zIp%q(9Su5*dwnT9H@quwHQpOi&HOApAT}*xI>n+&TD4?Rm;xcb`mxt+04$$U~GkE7{B|~Yh5w8u^ z%{+_#HOva+YhL~8bor&*XswKAguiN_xZ2mvc*I&7n`0A zlL<#O7F1^9jRDW7RnU-K!fj&5&X4@a%hRnlT}fwSR_FkUa8+M^NmGPt3Duc*8~1?& zoK}TRQVYu&`s_5+&m`+-lQB3}oxkL1Id&(%`L~Uo)$z4G&mwb0xvxs8| z5p<`Sb#ja#{f=cL7~z6>-RT^(Sv^#>gVEI8ui6(zf0T)yK@j3{6@1qx3z&hdG1x{W zrA)4iPVJDRMmC39UsSU-gli;ipcOVF%sGfxFjvgK2zT>1$~l)u{xiaKRm>UOtRJ+8 zuVPr)jCQD&P)OsV__=V<*q-?}+7arIXZ%(AlFuCXT4|?v5+`%wg*5f=Pl%^09t2tj z`)GSSFpTd%l8!yPGd=d1FQte7;nS(_3lF9}Uwj}PeROwf<)~FBXvP)e;TN?UY&_3i zK|uj<1dWL{hwAPd1G84+euyUkkrbR6q^kN?XJxD4I z{Qx=*drTH>5B5){_x|Z$r`NsVt?8ldyNRzb#$_@E4>Jh<0G|LcrF#~-&ULg9dDsLV zVG^EX&ZAv{NSQh<(OT}WMutM#K9b3e)F$v zo0;}O2#S6RUV%r~W3Axd6W=h#4Nnax6fl!E*FE}`cp&09JbxkXC(l{Fm|wn`JGcqg zwtjr?ezu|@{2~B~N8ON}kSgdwBv;qmS=PNJ9-)9~GJS7{fJdhO|jhAdliy3=6$B*NEh;fhcBNQLDrF@#4XA8TO z1Rm{2UM=)tS5_68+sV5{uM7y7BOD>!>}K3*Q>g7e+x*O`7rqU4khojuZ?{~3P5QA{ z{t${JCfK%DFttoGnJ&d7@8K(mD^>k-v^epN+Ukwv(4ph$w|@Kg(?btF%JIRAr~|3U zV0J$zD?{l&-)z+R%!l*LAfzYUMT@_o=N;oc2bu?`ntS%Mp=8IpO&i+x?AqVH{r>H2 zHpD_O_ZL@L?Mf%fn@uJz*C6zEOfO1(2S?M}-~PL49mf0@Z9Es|LbAG~3dwn(@TJqM zdWHvU3{JpcPN!SSQpV4{^`|)rY*+fmLr6_JV~n^FZQ-ALW>}` zd;4Q)ZSPh#4It2QM5D&*Mf(sig#bq;G6;xYg{H!W9mzo$*CQ;2G-G=PbL2Fa72U1r z_Di;=J74sIw8SGa$)uT$TXw`Y2I9gx0@%%ees6CGWm(2{MlFCD!jj4wl~9Dxncu*4?Dz;? zxL_5Uh4<4;K!_qr@B zqx=*n*5CFk`Kk$b;~Lv~Iaq?7-JSE(Bojk7fK9NhKEeq}idI&nJdtd)ppT_v|$@(B4 zF_d_-;T50Mxe8HU?Pv8ir}sw|cHu0(vffd5+Z9^1p#fB$+vSP?g5NQA+S`DZ9V>g5 znwIK2F}<)We7s93~caenyXvy5(>3 zB5*@>r`1)%z*~<$??vBrxNBZFO2MWBQ*BL$n}(;E#Vs3Kwf6zKdg)bUd6tJ-FF(sG zQoxs3mVDvx9863$$Z&nc7|QN*Q){7<@CAgQtUV4+lPM z*>oX-@_204X+zkZCXFUvGKX&`)U+`f=8~8F&7s>M)0FY3{Iay@<9-VXurw#`adZjB z>*)89(m#H$zh*x0HpCM0SExeRH^0cU7UxW#%xMT_%-Q212xaXAFBN9y2mw)iV(2-O zGJ_CERezr&-|yTjn6ilSLI`uSi-Sum%WIwx*20o{E1knjGltlR!N4=EkP6t+iT6V5 z>vt$%H`{)Bb4&Zs~PFj0VBvh6V(|NVLw%Ct6x%sf|&aO zJepa1T?e{YIS4@>(WW2mBcCh`UU%~X8G=}#8 zBSJ?tc(0bGo#LmBs;9GMaRKr69*YY0Ui;aa6hGp5Y}P za^KGUFIG#yzwYkxbj?XJV-T0|T#@K#MeO5bwd*;E<;shUe; z6uEv58R68($*|jQ#FOym;&Y!A8dd@r=i6Gw(mg--)^zD5n~4C%;1jl8xNZxYBW^{= zahDGSotU36dfD!+>2qKBa(dq%{s}meUTOV`Z`In{G$#h)I#X8~%kFxA!&%+1}P zrIGA(3InZN$Mzja!#J5{q>bI0##SH|7E^>B9q<)+q60F>%FMbDQo9*wx1O^sz3PR} zPcOak+O!0_!&a77dl2pwT>Ph2$(bjI`O>BG)!o&bF5P@FC)r>VMQ07SNiaN@(zMU5 zA0&JZMoeeS#{%bN`a1; zM+T#oqu5uMe9Qez@-YsqJ{@Ba%mObs!QRjMoGt`2p96=D_^HQh!Ea-n)0K6)??Fe> zQe4s%7XZe^J3TCTAd3U8s|)O>h%u7+6mEhL=n#C{xVPbcuf>X?0a0t}$wbxY#yt-x zo|@KX{!HGI6FAyea|s1$m-yZJE=_y?)&i41Xu-iN+LCg!Sq1b%pB20|Obc4k*onu} zwYRiq`Vv=@gdzM0`&&9PeHkddONi7YCZ?UNm~=u9*2t616fkvz7v>>B-Le5`9l>9k zK?gI2Fg=8Z=_6=#f9&;dNng4DQD|x&CJuuZ26@=?lmuW(f zh0cob&={W#LcWBZf%i5x5+ncg9n2>PA}nfqea84d4Lprym*1ssH5fBb^}ThUMgSYv zJzCIQrcu)x>hTmWsy}|0PQ7nfyEeRxllvY(jas$Dde!J|)u34HKfhhtfNK^PTB2JWzD7<6PVY?ZeFM+jE6FzD9FTp<0+4SiE%E zzH4u~;qmFVmWMI<+yMsna~%92+UN1RfHHuZE3>oo-Q1WtODj{rzWeUGr?flK{$zA; zsvo<+J{AUdZM@{dT^DV=uy4G1@+ggqkrN9MS?GmGYJ-IXV02iBJQx^*TMSB=H;nM{ zH-7VX)1G~Y873e;MkV8W88We*2CdB6Mn(s)i)~7;dCd=|%eP$!;Y0kqug&gebBjD! z=R?aXtj5c3SNIVFT7E}Lgb-}BsP;0hmtA*RdflBb!}sTA zHlYD86)^4CC>v+&c)qJbbd(UD^NSUWm!?hUt-F%V*>smm*$rKQrYb7m3c8uQx-=25P1Bb)l90apDBo}*vLoDoD_#zfVUmouw@ zPl-UBdu5ufwPbl$ghIcUcNPPq4eeCWTUBo9TTw1}46RZ1?c2FIs1^8l3L9SClSO%a zJ9UuA!GVJ+f5+H8Hp*b=WVPg}rfUMN-;^iNxo}tsMDAy6XH=iWE5bB=O;3RHaj_S| zZ5`E%BegiAOc?eY7)bB>qrXURz2}$MBX~HqvoWQWK|XAL8R)*%fM^bVT6;G4Y+Ofv zx!>0J{n>f@9ie~$)j^iy781S*(r!EyOwj&u%qjiK9PLkPcXR&|OSOx~Q-{(&%l*`` zPxu5cvqIIJ>_d~&}Fb0GzK z#{NIQ_XFvlKJls4iCIMU24pX;rD^1?xhyloD+6d6othYCf70P=o^!*_#mkrO0D|q% z&rXzBhdV|_h7W(?>^@N~&^E^(G5PEaP*CyOfR^+)hS`TZdO8nWebd!_i4MeES;2HO3qmAJ6@4lE7R_0870sGsvCA->^sII$eekIR z@jT5r;?o@6s=FtNU3MdL3>#KD?Km2!CHVN>i^fxdXV%NQAEk}U03-GX(Xv2eENkawD_hijLL189nV+*p!RN-SWMAHw z-*K15C}ZY|e6wasJjGQ9?YGuo6w#bKcf$AV!ru`Ra2;w30L zVA5zV9pI$T(8R!1i$z4v zg+)Gy!xi5u zJzeRt%eT_6@welMYh z>nhC*?rXnGT<^x$MzUPir!i<^Q!d-OF%($5i_7Rsb@V?Y>^g~wi!!7G>g?7)C;Lq( z8m3rfYqRYjA_ZTCAn8py^Qv#B+H)f`C;l#NcH);BPG;JP_6WGRJ2p(<@x*$Gr&4Cl zFZ0U$O#dTNTtp1hJ;n#!(zQDAp$@T%K@NdEe)~=u?Z=d1-=U-I-(ccKR44Y*lH~_-;VdL7{SAMYiipr^9pe8>=5^!xYtd$La#5l{@Sz< zaaZ3AwzWat8+@l44}7Np$yN^f2)6JHRBM+lNI&_Cm!>;!zag#ZVdBVwZ@a)V;Vy3c zV$A22<{_>;O|vm~h{K;o4r0Q>z6C5Qf)1j-(ax4b{J4-R;D`2Mh=7U6SlYDq+;q?X z^E0^iL>tcPs%|w4+2+0|?8L43qj1jz>!Jo4Vb@YW_xZ1+-+SMm2nGT+)L5;2)$>8q z7Wy#HI0%UImzhY@1WoMco)}zz;l}-!UUS8ck;(CgIbrgN&WW~tY);3{ag+90HYyl+ zb_MC`SsRMi2JKNsTgUt9o_!0KFWP(tE2?3|=Q(YCFU7h!x9y9W( zLNh5&`cU92_Yx6|rXe;b0Pqa6p7~bFk9z|@k%r1u5}fM(&BQ%bK4tW^A0r zU*PcM<(%w`eaKMm3^TY_VptB_?S_H4(8&pRVMFM`ezqT*{_Q&+ONW_ci5Ff69cgRs zz}AilgTkcZk_S?Z59^)9{)8(GXKK|)16T`FY z6m%W>ApqrH3QGo86I2QagCXjZA7}l|^)C6+2WfZrE~w$n z{UWzrv?sKpoqD_n5B;?F0KcayQ!P@18_5#-v0&Q0^xe7c0#c9v`e)<&TTN*|Ck^4> zx*6No*2zI!Wsat+*PowW@!UJoIUEF~MjeTArf!AC~ecnYcWN&BK( zZc5*C^Hpi>{I=9Hd=RbiSenm@m9EY3V30ND3i_;`>WyK7)zmmK64!!yZg4^%PK1|O zQRloG09jzJG{pvW&UQ}Am-M7x{>7h7t2p^>l)Z!FV5k59KmbWZK~yDqB1D3yoAo1} zw)Fh=irnJPV-?(#s;krktnmEyJKvq2!YfWQt2{7{m~c#phq@qK*;%X?S4 zYx+>nzVVTXk-_oSsr?MoJ1*F`?%{2hU;a2io;z9l|zTBkPy;jaU6^11(@dZozzkT;zy2z53f}6!<#$;- zT;kQ=>*F>)*T5<0|a{AmtaG^IA=}Ei-V?{U8THu8HT%o>i)PE0cKk(^i zd-LWC)6!+QqGFKOrBgS3`c%RGsHi?hAAc0@42PlhY3(e*V+{V%dh|7KSui+Ne*YTZ z3clvLOIK2m+Qj@_{K~J;#x?X$zXxR_==ZaaLZ9d!0j(`(*p^Di2*0*FTrUKzGM>y; z&$-~4>)kAV5IJY_8K+UL_7Ma06gIqiXaLS!E8yb!R6$tBndB^4vLr2EzMS~HASis* z)0X*2$2)iL!R;b_oi^7?1EOK@LEGMtQ|EF^UGkUALsS}_EM#s>ewD`8c+DVpa`HGX z#>P0LWo`QRcRV+3S+qQ1aUSMD^$Hu~3v*1S`5x^^JGg@B_~Cv61z+2Gc~5tG#S3pw zuYTDJ(#>1WOA8n)r`cF$f0Q>xKV?jv7#NC;YEyXLX=T;L{RXx-gNwz@1nZhlR%B|5 z!R|OKwry?G>2rQ<_EX2zM+B!&L*AKjZi z&K{!n4$PX`Iq-w%PB?;wZ6AKuF7wQRaSe0pwn@$sU>$h+_>H&Te0as`ZS%dTeL!qIuh|zVY%MYu2vX zIW{?RxT&>in0}yS6eK)XYio>Of(tDjoxQ2=(6RL2e(t}gz55P9bS&v{WqYL@QwA{C z6<;y%msI6dx*MB^Yp~b<#H-RRH(tq1+ZeDBg*7faU`76sG#D9_u5FPsP1iPt_8&+c zEWLDM+R($m+Jz(g#n?JszIs9W4=;R9y7h`JX`!=M1d~<eT02>&v4R3`EvEQV zIJ33XP{iqdl>n7XKQT=$^@&eWAL~?I9(ilM18+0Y&9mX1K#J>=U3IvqnsX+%IUmfY zv>|tK-3BcUvT`uFs57;%U(L)*Eh*ZrYU4_w(cs7x9ZSnW&lT-5ijnUag7bJ9?qFjF zwrvwE`Guy~5&^DU9{n3G-hyK}AZCa%tyMTsc(m?yu<~QhQ0T(DG$xJfiqFk5Ifwkd z#G5OV=nv?Fnp?WkBac3n4jo}&)E_5(Ws=pFF|<6ROe}}#kArB$jsxGAS}|}JT5KkP zV>IX(g4GDu(Xrue*zJ0c$rgROcxKRy!sYDY1Mqw_ot?zd zrJkk)Ep+;6j~9l%CBq`r6qtiF$fUnRzA?hTC@U|R{w0|M-KX-}5rwM8wVBx$_+ zJ-<^!>FIy$?ZDk+Z#Sn*(vH)Zx=cg2dJu6hgew(ItiTLY-jn#$uy+cvIx}0p0 zOkN=jUOq==z$jV9MmB`rn3$1L_nhsN*Ui%29oJo#e)5N3o?d+2wzRRgIrWSlO&w!{ zsS}rB%}fY~IatDpgc+&0Q7K~osFw>%-9xAb|C1anF&~`0{AJ&pUiHI2gee6Rd75RI zaY??B+n-xqs7Bb_e((*e;A9DIo5m(v)8GB$r_vwZ`rO3)yQ!M|f=*9Upk2 zrK9QLTkg1FM@MhR{*m$F0SI=CZeIFf4FeFI1SQ!NVT)daFrz!BdFiWP+n(OVDJLVt zF=W#5=x}sIr<6W{m3bi;+`rC#iaI&jqO z;T1AsH(zKMG|k8>Ov0hdB+DpEVs>r^HZ_%MwzJkQ+_56weeHb#aMv40D`8`0lce7o@auDUFw>MlOl#TT(M1ef4TT?&Wd1Q%uU#a%zr~ z+ix7f30FUOi0@jCjs-J`306GH0Nn}=HL*D^mdj!A?cJVGnCXDOnKq;k`bE%=eWemO zhN2EVQSOe)>!44R85{^vTaZh|Tgc1hDzo z#bQqmpKOY zh?I<&(C|_oR?BJo-o7->%8Zkd5Hg+yfz`6@V<)>#ge}7yv<&RRUxZEX)<$ko_(9Z9 z{w(EFkLYhQTLoMDp7u@lS9n_RCGLK+FRJ}+q8*3!9!%}<-f-rQu*)8*tbl;E%b!(5 zNaNO_z`_&%>I5}m0uHYe-dFX=?FekdIN^$Pzy-;NmKiualt@92Tmug|eeIb{>H>Yn zrF)e*wA=ZsSL08c`Y~3(MIkI#BlxDd2K7-O9YEvx2%DvKNf#4PqGcW{e>Q8&64$e7 zD8rF?h|f+SYL~bNTeJZsrta=;aDo>Fvd|mD0D3@$zj_YBxbxPV)9YUP(scQXRcKiQ+7BN(jNe^&9U6VdMOUMWxtwKL7gtrSt%qHhZ!fm_ap1*em!$vp zmN(-!9ww>LBzVal6~IqLkLFOlq3}^qHYVYbAJ9d0wasGGTUpzcwbY?#I8k47VWz9s%`s``})VHCvd>PsUz+>sAt;Ma~TZk zk<-qSLifCd>E3()CVl)9pVy-jgHb0oH4x+M{+^SW*G%5IbN(Op-aEk3qdM@d?t5?N zFjh$Ml8BrwU?#w<2oW6VB3=f%J?4#LJ@24mJ>!vYJKU>g%0$QToaF%n4< zC~Kq%nw+P*XL_b{y4}6M->L8GzB8H;n0@|Zk!t4lmnxh(b?VfqQ>RY(!ML8%C(er*X zow;&#ilrDBNnSq98sl6p9R}^Pb@TY((j3C&-5Hn7-rvfu*jygE=zS4_#XsW6ITJaLNvnHki4<6^5{r^gX=0UuOpK17qs*i0z2pWN= zqCS+Nkn3q@RWw|oxdJ}%8b4{KQTj4{(8WV+$zyVD0g@)^>xGSPxV zdN-!ozR+W|yZEr&;tB%tJO)V>uieBDc(UDKyN-P5?$KDk*6Z zz8~hU91p~CKJ5}%n1s&LcNC|7P;jLHs28F&Q@<4}mT|ZVJgb;A+D8?JEkpbADc+AU zdFwki2#zQPT=^~6(hlSlmKq1{PhYR#dBhdx`R91a#29+gpY`PAFrI(vX&JoZ8PMi` zd)~9ti>|#ct-&RxYaCj#8)&WKZ?1H#wyY(Q;grE7ZPcz;M(-gRf6y`7cJZOwB{duLm-SBB+3rd}BWK@ERS zJ+e1M__4WVgj~B}!z>4dPmkbd4l!yv7}{}BQSWNPRfYQiFx^8{AAo@J1CQ7 zybzB}oLSG4hqHb)(WeX6F*-W7Rx$veD-L1|N~aFFUDZt6$*RQf$!QkAKj}l1 z#US8hXPkjYS1}F<0Z*ze2 z*@9lj(dzEneIT8U+av2aiXgcAz>&0N`@VFD*rtaRQ5 z=cMl5rLh@hbOudO4WYv&+BvkQWMuuM`#d-Uh_pdVOD_v11gC+|*Fj4~`3+AB+q#DpzjM2#R)V;P}p^X8>S1qGfip65Ok-|D~UjBDg#=WT`A~}^!0PX7AtU& z8cmaVx%>qZ%$u7X7oZB;ui%@OXkOySa58@K+r_^njEiqheJ5)P?I2@OxFf@qMkPR= zSW@08ljZtLQ)(KqAZLuJrS*^hf{dchS}q>Ilw ziz9@mF&|NdBHhz3DKCd2Pc@wcX{tf>pTQf$>=5q9=37#Qv4o;YzZlFXloK?hCpfgUwPWUpf!6p?>SYXk{U5zD zUCK(Wrxwn^Tbfy+F}RxQWIYGon`@D=I1*>k_RtQ*$>gIsee56pA^pq0eu@2Q?Q!~R zRY91~F)<;r$;%vzjLS=I9*$BR8ygvY;?-C5UH16LZ=aqX-%8#v>H6W8*>=1#te;MY z4vE0iWK(AMfB&_hmjC-J^25|1yf$pwRPU}`vU(%C){%3wNU3TtSq3P`b7B|J|qZf7<Qd}Qia61(Fn?i@!kB`@uNx_P1;_R-XW6_B$K#!Y zBdKc)_g0|AGu{<)V*nI25u`6ef&Bci_*Z&tpuxotC*IjcWoW$jowW;l)OG|kb|bHP z(#2`j)1Q#0*DXsU9nGm9-aG{PjJ0CRiq>Wt4e%tA!f=Ia8=4VTGCIy&ljd**H}4U> z(627SqSYI~78eR53J?;21F+$gZ5%{J&jju~xa2m-&~jhWe^f@=vfa>zm@noso*otL zC4CnmqLvRQUB%%f%bnYI9pHBuw}nU2=FNN3U3YCs2M-=g#|FpKCJu|Z^N#z|UAJ#c zTkhMD9@xA)ZRGnsxE*_7>mCO2YP#s+$EGFNQP$8D+25QfD3BQzc*sd*pYCxH^3%m| zC8VC7{FEmW!TXHQg>uAELAxjC;L6V!)V6Q%2sY17@^TE@qU;k+=%b6CocKTSIogc; z1*h@ndw&t2Aw!8<>B-3@2+miZjU$~A6iD>SK#Qan+PIkwiIZ$jtU-Sj?PbARSyu&I zCrIi!J&?xmYsbtX1jGgNH-YtBIS->Lm<~6Y406`~yzVSi-w-<()k;Y43rnXj)B3+$H}3wdRfES#7bK&9cAnq z;5yXY2JdOjyvp*)Bj_dILulop!ph3Ak$U>{XTF#Y>^+FaoO-it8=Cu~K+BP1WHj2o z3g1iyIQ4C2Vi;x2bb84z{A_yh&%H2>jgLehv!CUe5wxO~C}v5#Gbe~ayhx9(rsf~@ z18%Ir(zkBDExrGPA0iIpQf!W=z36Ac5OCP%5b76yKAWSt$JC?Fs^i3pwX27&y6&2O z4%pcT@7y=rJl$Vw9}TYz8?L+V$JQ%DAfn+ScRpfd5)#+g1E1L^()gJ zPExt)ySL#-P`e$OCN{EY#U`|oESWdiNaV4M#(hTx8z|hNRIyij!=Jt-ef(p8lUDXv z9cJ<{7ng?Z4jv(j!8+%O!`7>4w(w~9{q6hH|9tOX!`KGXr@r#_^t7j3m0H;_AoI4o z=uFgE8{#MrgjD%b_FJdABCXCLDr_SxbmHN^qqBzr9pDa8e!_Grh{L&vm%~LmNjUu z#wMAgn|G!ITef45jWTdaS6Z@mO=??*IRHD3Q4JzETW%>Nfs>f%6xxghXesN2s*{d? z4stm_X9BnIByN2+PVpXG$#4w{ywfmo6_nNPYU(_HZCc%fc>-FJ!5w?jI7`4a`c<8Y zfP?cK{h^!PxOUl?6nKIgZn2BD%RrW}c&(!0ZD!zV(k2d}M7uqj zx`02xi9fbwxJV+NpqF6h7}SsUQUcK))nI#gctVY%vn%avQo%ey+sYU+_@>4z1a2}b zX>}1Umh=H)|KTI)-i_NStCIHaIhc-*vze3?8#O?a*n5%#q9T(|`fg|IvNSlr(X8n( z@jIDh^`x%uCFwC7le&4+cFJXy0DH;k8v(q6n6xdS1T($=7(H2 zVa;iywsdE;adYYEPrnL{8tt!E&@_Rpk`9b}QsBE5o-FF8orn6=4CEz$NrUt;aGMu# zO8PK|5?AGY0jZBsWZdwFD&|m-S^2*48lTE|W%PpP1>aykWnYVDapliY)HCd!MUuiT zbYT061GS8XSS2AJHrnIHsx8gqf^lf~{xr|2aus~AH`Cw4e8D#1zlT;>Z&Smj!iQ@U znmtI7e8Go2NjNQ%cPGM^`)m|^ia(9`D?eM3^e_KyhE_(0N9Y%h5sNW|E84zzl~G{J z*v7WIePKQ=r4KH_J)Nh{`YrMxFNHNteQJ16nWj>Qj}CG60+N`Ep`?vt=PAP?bDgAe z19``df5b?}sb4JFQd*hVsZ}kNFg1kUi`JjXp-4|k&*ng+m5i}Vh*@y6Xdly;L7r9S zTH5dWO?=nT)DF_yHq&Nb{+BOcZM7!-%uhTmt?qPR32GkN&i>G&~dp0!t*8v=wb8?FYW_SV@6PQ;-V$A0z&KQ*{y>9T?P^z;Bqu|eFUjis)YcxBk+;7~$g@*nH)@Dg}w zN{M6xrVT?EubybHObya?_tG_MPq^~()`9-MrafDCvC<)>rXHj7lU##jx#pm-w?J^2 zR$5uonBsJ;4}a|A*ui)|p=S z$G?|${Kl)&UhMs9Y;I}hIMFdo7qZaWn8D(`OEpdG>U7C++s*^&WB>e#^xuE|mvDc^ zU1UpPH3BB^ z0=^8gWZ-heuy+F&4ismvS)HEsl*=(^Na;IUwvji8122<2V+j?Z)Oap-u@g~iq?0>x zG=k#<1=}}09$AJKlL&Du7tfqL$_So9lf?iYZ+`F}atU(*wYv{3C@OXMjFBhaVtzl+;Tz+4isS^V&c<99cQp7+jr-E z=>TRUNjG$4I@QyiDubhG8vn0L&O0|%ma*xpjcFDG@2o;|;7g`k!n|;E5{?1DuzujU_piE9ktz~aOv)5=Nko|yDOPo{Cqh*V`G`c8a7S8VX0 z&5lRAL}NWDhZAYm_Uq{AX6bY`-F@HI5CWz!>6qe!2h~Uy0WgmX@xprKL-|@rk=0E%0{YG74I6mT#qx5K_q_0(nQ>fxCE<-zLj_##K8t7 zjpKrCYG5!mbEu5o5ZvxzJwxy_KTzZ(Y2JKEJ1Z|IjuWpe_y~zp;oMKS{QnYygfT5q z_zrDzL#{z14bP{#75*+J%pQiMcGn4%!A)AyoB|=PThj!Bug6Gh%UkE<4W~>IkM!cz zI{L=H4^^(Gx+%p@W2WFZ*UMygIY<3o_t?j$pTdUra(uim2TvTB8@YuELo}k;qn;$r zB}efm{Lyw-PZD!XH1=bE``NF4E8X<1JJ7~Ar;VHLPrvm`FG}k%;c180v^2G*F-$<@ z1OrD$(;wk+>6_oaElt(QA6wiwz(NojLJ0N6b4l86IB%jJ7hil{ddL6#OAapTj{P^W z3P~iz3H#fkLID6vzGGg{NnDJ}*bHH&<0BL4f4udt(&nw(Q(I?OOq!*s+y@uqM?x`P z0+V0Nu@A*oQ4Ak?!V@p=zu=+^_rY5Cjg8}#p|f*{jVcrPL9K7Fxi;|kVGi)trpqtAD81pe z*QejV{tfBK5N>d=4^o5VZ?Sw~$U#QqF5xPjxuvrcZR1$_%;&z8uD#|-=?RZ}H0n4v zp=qNku z-nfY)Z(15nr6%A;D30kF_O<=v4DTp6zk1f|pg-3wS zFbS9hXSS-eo_EJ{ukZjYk!Rq@@6xowFm|>GrBpjYhEpOD60z+?D2n@d@q_<}cQvsU zY#CcPu5*&IGJWN=!ox7mgXI_+%cIR{3pWxfIO@(xjd*N0B$|-aX)`|LAJ3W)1eB23 zk-ovSkDc#T+!*z6`r%r%_QyC*cyN%@tjJG$M7?6zdB8;AhCe)#7=#L2@DHy3D+P`c z1Abo!(2f6Q*)Oo3zS@QxI5(@E5U1=n4apYLbECk!cW^KbVvjs)TRWhiBG}de51$+9 z=@d~5OusZ<9x~2W>rtP9DIhQt<^?z{iSZ zOW0_IHxPKZ^18wIu>#Lk?d~`e)}tJ4^7^8=ur9~ zo5}y}_DyMga4dDAk^c8v?n?LFcW=7>cVCg7{J4u*5Nk?(2L=#wzmq=v_a8|+cC%tp zZ$Wv@>Qpe}hRnGQx&)?J?csX}vOwZwa4nnDUiX^c=WvOY*x9nB6P(#n3+?G_C@|*L zUxDO?dN`)LQEeP;{RjW-3-nF_tSV0r;n08isuhQy z`@EmrH90lCwWYnXz1Cdq8^bHZ8swi>lH-Plk#<)^JsbsICNvv@Oa0~tKRDIX-j0Wc zG3J9UO-onyHa+R8C$@d(Xm@#w~g{yrtaw2A}%xF%v61D!*?rAozcSf zq{IDV=?#DOj`Z$#{#82ntTR};!9F(zI|(*=u}Mw{B}2DU85956B;3Ym20SV#hoOO>ZZ&Tm_qNZ@fS4#jaUx>L!?#n|a0=1nX$L)J7O7>Ow@@R;`G5qZqFIud2t6rk-=pOkHQK zOBL`xhZdtw-fAv0eVu@S5_ql)6)E0{003zS3yhn0!LDWK{4_^1uESAiEg7Y3>uIz= zYBZW;^qeE#f*;D+8HQzwYKAT*(UR4PI|t3=13JJGBdu_98qfkn0U3FyeN$8B%0?Ur zU;_mGof>+fdT_`M3#mki)rOcAWW3ZV2fKdYLl9?EAgHbid!WNi31$7tl8hstD2Ram4=Ldf^yyD|N(edQlgF4u7~B3^ zq>8~cvWq_oDdD>tArOz-oUVqeIk={iJm+BCx>jlay%aw4jWk_Nxqj0ZDRBqsKBB|Xug59XP74P}|C zT*;%>3ow)n6O6*g#?lHVco(i)AO3Zpaml6W9QKgFwV+QjhX=|R_19mYuD$k3c=0Gg^ECXK z*062BOJgY8qi8nJZyw^yzNhQ7DjMnUqz`@MiefBPijcR&IiZt**dFZKvGz2~v zHk)Qg#)l`W?X|(@{M2*z_AKk(J~1=7jnm)uHdp2bTiKmHs8@#PKmSzO{8+zxSPHz+ zqDUHgZ8*4Q%``4ZhFv1Jmp%6KOIr5r+gsaw=l0(AYPG9|?iagRkKnfB`VXRlHiP;k z>P#PT&;i8S%my)+CGNg&Z+hE1-k<*DHLt+c*gD4i3i66V7#$`uuoD%O+c>!JDtM3u z#drMYqGfpXtA2xxlzr*5pSc0SnjOL|%*JDYvV8L*ww;S#P6;DIn_EF9wzWbvk49TKtCYPoKKsYw4!j?n-#9O)JhiKQ*^^F%Zs$Fk+{7Fl&MdeC~^1 zPS3gOigekd9tHH2!TZ>>hIs_tbfMfRpTavBoY!@>rDr|yvb37hd%k|xJ!vaT@<-M1 zAvDh+NX)Xt6rK_2@CtouibbYO&H9J1%d_)mL)KcLxj=g8z;zTciZ+PPk=8a5Zremy zWB^r`i`7n^9CG_v7k+`U97FA4{&sST(?5%E2OAl$8+s-cx*1T_7y(UuiRDi!=2`S= z_~WffC|~~yo=@Eljd*5XH$H0*-hO{NuyJ#mdPRP@EMGIe zM7b@PA~mgAk;WJZ)ttFXV@8=S%s<~-j=|!!tCP&6H{%)0O*Zb(4wqF6adR5eNqT~; z`Gd=tySDFQX_<|Gt5>FFE4tDJk3K8y+Odf)IPu_+*VK=_<2XV_t&`>3 z!21b_PI$1MxfkTu_UTL&#WUYe42@q+O8~Bbga`9#wAqZbMI~|@<=iqauzf|5WttM4 z(4OAgtZsmsW!0e0)lJ9>Bu-Si*tgIMPREZ7q~X2$)7W0LyGKS+br`o~6RcV>fh$Uh zOND1AckKS4P1(rAb<*W>hLvV!7~;-VtuSu@AtB6}lB!x}&;r*o2zz4)xJ$YvpP(^u zLgf^)nbk%f@}a;lT-u(_TCDHtkEc&xdAX89~euU?*0Pwqz!M43EOh$nzpAr4^*-*OKsLG0(Duq=Y{D! zoM;mFV@+tIU-Hryrx*Q~=cBP6i*GG%eC3}oJ}B6~K)Mrx#S`MF7xXFKH)0ayVOB@+ z&QxLSonnQj4$ks->mC2W%VN&bkIE%BO9LhbDWDr~Goz1x%H@3*UhXMm(1D%kn#?20j8`Pz-?to5tYD}U$L)6x#yb-~q|oI1iV zGTA;jCyAE`(b4Ih!6XzBT3CAAu;Kc2^yty_r5nB(%eyt0gv;h31JRMn`EP96qAcOa zz;MhVjA+}oL+LfIc~d&?Q5U97TehY{W20#vzkX{jcnq6D6`-;EWtj=Xc4R0R8w_Ov zCOC?K`gfoH*Yw&~y*#a8H+~bR@U$~HIKx$&Cp!v()!t|wDRz!H*7?$N*P}h?PT#tF zW4f1__uiplPL^WRSt|!a5*@Zo8W}Hkif9UCz;BBk!XmR?@}^`8E{n=0Yb(#>-rZEAYm%8gstQK~JvX%^;-K={v0m4()ELWF=+h z_-GntliJv>L#fV/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
    !3TLyy|BFLNaYs#UAFq< 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 Date: Wed, 24 Sep 2025 15:01:56 +0200 Subject: [PATCH 06/15] add langchain logo --- static/images/integrations/logos/langchain.svg | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 static/images/integrations/logos/langchain.svg diff --git a/static/images/integrations/logos/langchain.svg b/static/images/integrations/logos/langchain.svg new file mode 100644 index 00000000000..06d5f5eb3ca --- /dev/null +++ b/static/images/integrations/logos/langchain.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file From 300b9f6c31e054937e1b3b5701a92296fa319043 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 24 Sep 2025 15:21:09 +0200 Subject: [PATCH 07/15] More improvements, removing integrations without any logo provided --- .../IntegrationGrid/IntegrationGrid.tsx | 73 ++++++++++++++++++- static/images/integrations/logos/chproxy.svg | 10 +++ .../integrations/logos/dbeaver_logo.svg | 16 ++-- static/integrations_custom.json | 47 +----------- 4 files changed, 89 insertions(+), 57 deletions(-) create mode 100644 static/images/integrations/logos/chproxy.svg diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 0f8e2b5a411..d6880c1ba49 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -118,7 +118,26 @@ export function IntegrationGrid() { tiers.add(integration.integration_tier); } }); - return Array.from(tiers).sort(); + + // Custom sort order for tiers + const tierSortOrder = ['core', 'partner', 'community']; + + return Array.from(tiers).sort((a, b) => { + const indexA = tierSortOrder.indexOf(a); + const indexB = tierSortOrder.indexOf(b); + + // If both items are in the sort order, sort by their position + if (indexA !== -1 && indexB !== -1) { + return indexA - indexB; + } + + // If only one item is in the sort order, prioritize it + if (indexA !== -1) return -1; + if (indexB !== -1) return 1; + + // If neither item is in the sort order, fall back to alphabetical + return a.localeCompare(b); + }); }, [integrations]); // Filter and group integrations @@ -206,21 +225,28 @@ export function IntegrationGrid() {

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%0D3+&)z2j{wvT)csVTa20RS@ zTi!p^meS~!2N&FU5jC{x#;ys4$MnOGbWCp#ymjfam3HOT*V(0)Uug>$J;_8L;SjpQ zmk51MIjZjtRwpU=~{#&ag&8~Z4kgt~-tIzhOnkrHiQx`8@ zyxmPV{B>GKOZ(P+9fdJ0zvF=_(}4D{8m7Q0lakmpC+08LV1c)sRKh?R2U`u0Ix%h3 z$SV8X=RRT|`oMc|v%_*P%b(J6iTP-^Z+URWNCx^A2IlZ}fKh3nlwd6eM_Ra)xRvgG z93XMqUH92p-~Ex@`S<$~IK|l!d59pvTzPmpF-Sn|$Bdz`*a3VQJMSmovHjliMi-Ez zB+O&SDCQY$Z$sVDd|?3D zg3V|B2%s2c1~^=>DJw;h35kcekQSuJf!6(AI{d&xyeQE1x!o?ON24hcegqd^84$7C zZC_{oxVmziXM}T?d^GWq8G;a-)LrEQsF2`4)qY-q@T8C7S7}0(JS(1nQC>_gOk#FpnMmz4P zBkk>Pdy9=8RZr8>?rb^@A?d^5nk8di1)3L)hVaT0cvY`0U^l5VEfMLRH|6{-i7@E9 z-UWUYzYg4e1%eEOPxXFjdnNd#;Scivtd{TS?6xIOF1O1s$M5$Qf3l@d(KoZf)JAUU zB<@9s#o}c*EBJKDEuv0>i+osSTPjQNXhK_o0E`b?G`($3zhbB}rcYrKbU51oS94+{ zo7&jq>e_$hGXQ#ty7Wr<2l@yRREC2EJw{p;{mE=AjS?ZvN?j)t!N1PE-G2PjpW8$D z?v-hWY}}<-U@l6g`V&J!cO?iy$M<@vK4C)3FLAqm&Yns2w)J#us;I75Id%H>i{FL6 zUe-9~N1=CE(;M;n%DR`+=PRpb|E;w_MHWv^tL*O>QQ6SY)Zb%MAH4VBS#xiiJFRn5 z*EUtzit&Z6VjYc-C1|FiufHz~^OJAgbR4M4d5HwyXum47x&{sgg1QI(!KN2%0AIcH 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ĭ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 z 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%0A$owj~28I~x@xr~Y4d{?GZ_PfVBdosr}SsiuB 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�anDg>_R+~~ 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

{/* Integration Tier Filters - Second Row */} -
+
{integrationTiers.map(tier => ( ))} @@ -265,6 +291,45 @@ export function IntegrationGrid() { ); } +function getTierIcon(tier: string): React.ReactNode { + switch (tier) { + case 'core': + return ( + + + + + + + + ); + case 'partner': + return ( + + + + + + + + + ); + case 'community': + return ( + + + + + + + + + ); + default: + return null; + } +} + function getProperCapitalization(text: string): string { // Handle special cases const specialCases: { [key: string]: string } = { diff --git a/static/images/integrations/logos/chproxy.svg b/static/images/integrations/logos/chproxy.svg new file mode 100644 index 00000000000..fb558caa8ca --- /dev/null +++ b/static/images/integrations/logos/chproxy.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/static/images/integrations/logos/dbeaver_logo.svg b/static/images/integrations/logos/dbeaver_logo.svg index f55e363df7a..dd8ca06cef0 100644 --- a/static/images/integrations/logos/dbeaver_logo.svg +++ b/static/images/integrations/logos/dbeaver_logo.svg @@ -1,7 +1,9 @@ - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/static/integrations_custom.json b/static/integrations_custom.json index 0dd0bfc5a51..a9bc57d1f02 100644 --- a/static/integrations_custom.json +++ b/static/integrations_custom.json @@ -769,7 +769,7 @@ "integration_type": [ "security governance" ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", + "integration_logo": "/static/images/integrations/logos/chproxy.svg", "integration_title": "CHProxy", "integration_tier": "community" }, @@ -827,15 +827,6 @@ "integration_title": "Datahub", "integration_tier": "community" }, - { - "slug": "https://github.com/amacneil/dbmate#clickhouse", - "integration_type": [ - "data management" - ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", - "integration_title": "Dbmate", - "integration_tier": "community" - }, { "slug": "https://deepflow.io", "integration_type": [ @@ -908,15 +899,6 @@ "integration_title": "Logchain", "integration_tier": "community" }, - { - "slug": "https://hub.meltano.com/extractors/tap-clickhouse", - "integration_type": [ - "data ingestion" - ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", - "integration_title": "Meltano", - "integration_tier": "community" - }, { "slug": "https://mprove.io/", "integration_type": [ @@ -926,15 +908,6 @@ "integration_title": "Mprove", "integration_tier": "community" }, - { - "slug": "https://cloud.redhat.com/blog/deploying-network-observability-without-loki-an-example-with-clickhouse", - "integration_type": [ - "data management" - ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", - "integration_title": "Netobserv", - "integration_tier": "community" - }, { "slug": "https://observablehq.com/@stas-sl/clickhouse-playground", "integration_type": [ @@ -953,15 +926,6 @@ "integration_title": "PHP", "integration_tier": "community" }, - { - "slug": "https://github.com/scottpersinger/pgwarehouse", - "integration_type": [ - "data ingestion" - ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", - "integration_title": "Pgwarehouse", - "integration_tier": "community" - }, { "slug": "https://blog.pinax.network/substreams/simplify-real-time-blockchain-analytics-with-clickhouse/", "integration_type": [ @@ -1025,15 +989,6 @@ "integration_title": "R", "integration_tier": "community" }, - { - "slug": "https://getsqlpad.com/en/connections/#clickhouse", - "integration_type": [ - "sql client" - ], - "integration_logo": "/static/images/integrations/logos/placeholder.png", - "integration_title": "SQLPad", - "integration_tier": "community" - }, { "slug": "https://github.com/crobox/clickhouse-scala-client", "integration_type": [ From cef0cb897e2c955bfca00c8da4be847039d815dd Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:22:42 +0200 Subject: [PATCH 08/15] more improvements --- .../data-ingestion/apache-spark/index.md | 1 + .../data-ingestion/aws-glue/index.md | 1 + .../azure-data-factory/index.md | 1 + .../data-ingestion/azure-synapse/index.md | 1 + .../data-ingestion/clickpipes/kafka/index.md | 1 + .../data-ingestion/clickpipes/kinesis.md | 1 + .../clickpipes/mongodb/index.md | 1 + .../clickpipes/postgres/index.md | 1 + .../postgresql/connecting-to-postgresql.md | 1 + .../data-ingestion/etl-tools/dbt/index.md | 1 + .../etl-tools/fivetran/index.md | 1 + .../kafka/confluent/custom-connector.md | 1 + .../data-ingestion/kafka/index.md | 1 + docs/integrations/data-ingestion/s3-minio.md | 1 + docs/integrations/data-ingestion/s3/index.md | 1 + .../looker-and-clickhouse.md | 1 + .../looker-studio-and-clickhouse.md | 1 + .../metabase-and-clickhouse.md | 1 + .../mitzu-and-clickhouse.md | 4 +- .../powerbi-and-clickhouse.md | 1 + .../quicksight-and-clickhouse.md | 1 + .../superset-and-clickhouse.md | 1 + .../tableau/tableau-and-clickhouse.md | 1 + .../tableau/tableau-online-and-clickhouse.md | 1 + docs/integrations/index_new.mdx | 6 + docs/integrations/language-clients/csharp.md | 1 + .../integrations/language-clients/go/index.md | 1 + .../language-clients/java/index.md | 1 + docs/integrations/language-clients/js.md | 1 + .../language-clients/python/index.md | 1 + docs/integrations/language-clients/rust.md | 1 + .../IntegrationGrid/IntegrationGrid.tsx | 28 ++++- .../IntegrationGrid/styles.module.scss | 2 +- static/integrations.json | 108 +++++++++++------- 34 files changed, 126 insertions(+), 51 deletions(-) diff --git a/docs/integrations/data-ingestion/apache-spark/index.md b/docs/integrations/data-ingestion/apache-spark/index.md index e8800a02925..c722ba9bff0 100644 --- a/docs/integrations/data-ingestion/apache-spark/index.md +++ b/docs/integrations/data-ingestion/apache-spark/index.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/apache_spark_logo.svg' integration_title: 'Apache Spark' +integration_tier: 'core' --- import Tabs from '@theme/Tabs'; diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index b05354fe732..14d06215397 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/glue_logo.png' integration_title: 'Amazon Glue' +integration_tier: 'core' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-ingestion/azure-data-factory/index.md b/docs/integrations/data-ingestion/azure-data-factory/index.md index 7bfcaf41923..42d5e268632 100644 --- a/docs/integrations/data-ingestion/azure-data-factory/index.md +++ b/docs/integrations/data-ingestion/azure-data-factory/index.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/azure-data-factory.png' integration_title: 'Azure Data Factory' +integration_tier: 'core' --- | Page | Description | diff --git a/docs/integrations/data-ingestion/azure-synapse/index.md b/docs/integrations/data-ingestion/azure-synapse/index.md index 6c95080d7de..38b2b2ab1d8 100644 --- a/docs/integrations/data-ingestion/azure-synapse/index.md +++ b/docs/integrations/data-ingestion/azure-synapse/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/azure-synapse.png' integration_title: 'Azure Synapse' +integration_tier: 'core' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-ingestion/clickpipes/kafka/index.md b/docs/integrations/data-ingestion/clickpipes/kafka/index.md index 3ce8280b43e..8531fc6ac29 100644 --- a/docs/integrations/data-ingestion/clickpipes/kafka/index.md +++ b/docs/integrations/data-ingestion/clickpipes/kafka/index.md @@ -7,6 +7,7 @@ doc_type: 'landing-page' integration_type: ['clickpipes'] integration_logo: '/static/images/integrations/logos/kafka.svg' integration_title: 'ClickPipes for Kafka' +integration_tier: 'core' --- diff --git a/docs/integrations/data-ingestion/clickpipes/kinesis.md b/docs/integrations/data-ingestion/clickpipes/kinesis.md index a29e60b9d93..5fd3f37420d 100644 --- a/docs/integrations/data-ingestion/clickpipes/kinesis.md +++ b/docs/integrations/data-ingestion/clickpipes/kinesis.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_type: ['clickpipes'] integration_logo: '/static/images/integrations/logos/amazon_kinesis_logo.svg' integration_title: 'ClickPipes for Amazon Kinesis' +integration_tier: 'core' --- import cp_service from '@site/static/images/integrations/data-ingestion/clickpipes/cp_service.png'; diff --git a/docs/integrations/data-ingestion/clickpipes/mongodb/index.md b/docs/integrations/data-ingestion/clickpipes/mongodb/index.md index 5a9eb6c5f5c..8b6d82ad524 100644 --- a/docs/integrations/data-ingestion/clickpipes/mongodb/index.md +++ b/docs/integrations/data-ingestion/clickpipes/mongodb/index.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_type: ['clickpipes'] integration_logo: '/static/images/integrations/logos/mongodb.svg' integration_title: 'ClickPipes for MongoDB' +integration_tier: 'core' --- import BetaBadge from '@theme/badges/BetaBadge'; diff --git a/docs/integrations/data-ingestion/clickpipes/postgres/index.md b/docs/integrations/data-ingestion/clickpipes/postgres/index.md index 3f300ca2970..e1bf8f69f64 100644 --- a/docs/integrations/data-ingestion/clickpipes/postgres/index.md +++ b/docs/integrations/data-ingestion/clickpipes/postgres/index.md @@ -7,6 +7,7 @@ doc_type: 'guide' integration_type: ['clickpipes'] integration_logo: '/static/images/integrations/logos/postgresql.svg' integration_title: 'ClickPipes for PostgreSQL' +integration_tier: 'core' --- import BetaBadge from '@theme/badges/BetaBadge'; diff --git a/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md b/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md index 03f6a45804b..511f0df8b1c 100644 --- a/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md +++ b/docs/integrations/data-ingestion/dbms/postgresql/connecting-to-postgresql.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/postgresql.svg' integration_title: 'PostgreSQL' +integration_tier: 'core' --- import CloudNotSupportedBadge from '@theme/badges/CloudNotSupportedBadge'; diff --git a/docs/integrations/data-ingestion/etl-tools/dbt/index.md b/docs/integrations/data-ingestion/etl-tools/dbt/index.md index 3397631a2cd..87725d41663 100644 --- a/docs/integrations/data-ingestion/etl-tools/dbt/index.md +++ b/docs/integrations/data-ingestion/etl-tools/dbt/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data integration'] integration_logo: '/static/images/integrations/logos/dbt.svg' integration_title: 'dbt' +integration_tier: 'core' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md index 276b345ffed..e6baf47a4bf 100644 --- a/docs/integrations/data-ingestion/etl-tools/fivetran/index.md +++ b/docs/integrations/data-ingestion/etl-tools/fivetran/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/fivetran.svg' integration_title: 'Fivetran' +integration_tier: 'core' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md index f989ba33134..848125f877d 100644 --- a/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md +++ b/docs/integrations/data-ingestion/kafka/confluent/custom-connector.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/confluent.svg' integration_title: 'Kafka connector - Confluent' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-ingestion/kafka/index.md b/docs/integrations/data-ingestion/kafka/index.md index 376762ed4fb..f65a0812806 100644 --- a/docs/integrations/data-ingestion/kafka/index.md +++ b/docs/integrations/data-ingestion/kafka/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/kafka.svg' integration_title: 'Kafka' +integration_tier: 'core' --- # Integrating Kafka with ClickHouse diff --git a/docs/integrations/data-ingestion/s3-minio.md b/docs/integrations/data-ingestion/s3-minio.md index d9aa1bb6bcf..113606297aa 100644 --- a/docs/integrations/data-ingestion/s3-minio.md +++ b/docs/integrations/data-ingestion/s3-minio.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/minio.png' integration_title: 'MinIO' +integration_tier: 'core' --- # Using MinIO diff --git a/docs/integrations/data-ingestion/s3/index.md b/docs/integrations/data-ingestion/s3/index.md index 6de7c2d6878..bb960a1fd64 100644 --- a/docs/integrations/data-ingestion/s3/index.md +++ b/docs/integrations/data-ingestion/s3/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/amazon_s3_logo.svg' integration_title: 'Amazon S3' +integration_tier: 'core' --- import BucketDetails from '@site/docs/_snippets/_S3_authentication_and_bucket.md'; diff --git a/docs/integrations/data-visualization/looker-and-clickhouse.md b/docs/integrations/data-visualization/looker-and-clickhouse.md index b121dc9268b..4d85b63083b 100644 --- a/docs/integrations/data-visualization/looker-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/looker.svg' integration_title: 'Looker' +integration_tier: 'core' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md index 83d6a500a81..47f8793d33f 100644 --- a/docs/integrations/data-visualization/looker-studio-and-clickhouse.md +++ b/docs/integrations/data-visualization/looker-studio-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/looker_studio.svg' integration_title: 'Looker Studio' +integration_tier: 'core' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/metabase-and-clickhouse.md b/docs/integrations/data-visualization/metabase-and-clickhouse.md index 0cf1db20320..5de034f9298 100644 --- a/docs/integrations/data-visualization/metabase-and-clickhouse.md +++ b/docs/integrations/data-visualization/metabase-and-clickhouse.md @@ -9,6 +9,7 @@ show_related_blogs: true doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_metabase.png' +integration_tier: 'partner' integration_title: 'Metabase' --- diff --git a/docs/integrations/data-visualization/mitzu-and-clickhouse.md b/docs/integrations/data-visualization/mitzu-and-clickhouse.md index a509200d3d2..48ba3e6d6d1 100644 --- a/docs/integrations/data-visualization/mitzu-and-clickhouse.md +++ b/docs/integrations/data-visualization/mitzu-and-clickhouse.md @@ -5,10 +5,10 @@ keywords: ['clickhouse', 'Mitzu', 'connect', 'integrate', 'ui'] description: 'Mitzu is a no-code warehouse-native product analytics application.' title: 'Connecting Mitzu to ClickHouse' doc_type: 'guide' -integration_title: 'Mitzu' +integration_tier: 'partner' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_mitzu.png' -integration_tier: 'partner' +integration_title: 'Mitzu' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/powerbi-and-clickhouse.md b/docs/integrations/data-visualization/powerbi-and-clickhouse.md index da598a9e4e8..c17452b4173 100644 --- a/docs/integrations/data-visualization/powerbi-and-clickhouse.md +++ b/docs/integrations/data-visualization/powerbi-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/powerbi.png' integration_title: 'PowerBI' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/quicksight-and-clickhouse.md b/docs/integrations/data-visualization/quicksight-and-clickhouse.md index 120bf7c5427..9367663f12f 100644 --- a/docs/integrations/data-visualization/quicksight-and-clickhouse.md +++ b/docs/integrations/data-visualization/quicksight-and-clickhouse.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/quicksight.svg' integration_title: 'QuickSight' +integration_tier: 'core' --- import MySQLOnPremiseSetup from '@site/docs/_snippets/_clickhouse_mysql_on_premise_setup.mdx'; diff --git a/docs/integrations/data-visualization/superset-and-clickhouse.md b/docs/integrations/data-visualization/superset-and-clickhouse.md index 52bbfde2983..57869eddc29 100644 --- a/docs/integrations/data-visualization/superset-and-clickhouse.md +++ b/docs/integrations/data-visualization/superset-and-clickhouse.md @@ -10,6 +10,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/superset.svg' integration_title: 'Superset' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md index 09d079adf88..0652b3cd083 100644 --- a/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_tableau.png' integration_title: 'Tableau' +integration_tier: 'core' --- import TOCInline from '@theme/TOCInline'; diff --git a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md index cd6981dfee4..547a8b89fb5 100644 --- a/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md +++ b/docs/integrations/data-visualization/tableau/tableau-online-and-clickhouse.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_tableau.png' integration_title: 'Tableau Online' +integration_tier: 'core' --- import MySQLCloudSetup from '@site/docs/_snippets/_clickhouse_mysql_cloud_setup.mdx'; diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx index 840955a7159..323322739dc 100644 --- a/docs/integrations/index_new.mdx +++ b/docs/integrations/index_new.mdx @@ -13,4 +13,10 @@ import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; Connect ClickHouse with your favorite tools and services to build powerful data pipelines and analytics workflows. +ClickHouse integrations are organized by type, and their level of support: + +- **Core integrations:** these are integrations built or maintained by ClickHouse. They are supported by ClickHouse and live in the ClickHouse GitHub organization. +- **Partner integrations:** these are built or maintained, and supported by, third-party software vendors. +- **Community integrations:** built or maintained and supported by community members. No direct support is available besides the public GitHub repositories and community Slack channels. + diff --git a/docs/integrations/language-clients/csharp.md b/docs/integrations/language-clients/csharp.md index 4978e7a1f2d..736d653903c 100644 --- a/docs/integrations/language-clients/csharp.md +++ b/docs/integrations/language-clients/csharp.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/csharp.svg' integration_title: 'C#' +integration_tier: 'core' --- # ClickHouse C# Client diff --git a/docs/integrations/language-clients/go/index.md b/docs/integrations/language-clients/go/index.md index 770e92a4efa..63c3894c5f9 100644 --- a/docs/integrations/language-clients/go/index.md +++ b/docs/integrations/language-clients/go/index.md @@ -9,6 +9,7 @@ doc_type: 'reference' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/golang.svg' integration_title: 'Golang' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/language-clients/java/index.md b/docs/integrations/language-clients/java/index.md index 42f01e37b8e..5f8a8661c4d 100644 --- a/docs/integrations/language-clients/java/index.md +++ b/docs/integrations/language-clients/java/index.md @@ -7,6 +7,7 @@ doc_type: 'reference' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/java.svg' integration_title: 'Java, JDBC' +integration_tier: 'core' --- import Tabs from '@theme/Tabs'; diff --git a/docs/integrations/language-clients/js.md b/docs/integrations/language-clients/js.md index a92abb898d7..8496b046b48 100644 --- a/docs/integrations/language-clients/js.md +++ b/docs/integrations/language-clients/js.md @@ -9,6 +9,7 @@ doc_type: 'reference' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/node_js.svg' integration_title: 'Node.JS' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/python/index.md b/docs/integrations/language-clients/python/index.md index 3b58006c1b1..43964d636f5 100644 --- a/docs/integrations/language-clients/python/index.md +++ b/docs/integrations/language-clients/python/index.md @@ -9,6 +9,7 @@ doc_type: 'guide' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/notext-python.svg' integration_title: 'Python' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/language-clients/rust.md b/docs/integrations/language-clients/rust.md index 3fa43597c17..3fdd0892f1c 100644 --- a/docs/integrations/language-clients/rust.md +++ b/docs/integrations/language-clients/rust.md @@ -9,6 +9,7 @@ doc_type: 'reference' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/logo_rust.png' integration_title: 'Rust' +integration_tier: 'core' --- # ClickHouse Rust client diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index d6880c1ba49..fe1539aaf2d 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -22,7 +22,20 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { to={integration.slug} style={{ textDecoration: 'none', color: 'inherit' }} > - + + {/* Tier Icon in top right corner */} + {integration.integration_tier && ( +
+ {getTierIcon(integration.integration_tier)} +
+ )} +
{integration.integration_title} +
); @@ -246,7 +260,7 @@ export function IntegrationGrid() { justifyContent: 'center' }} > - {getTierIcon(tier)} + {getTierIcon(tier, true)} {tier.charAt(0).toUpperCase() + tier.slice(1)} ))} @@ -291,11 +305,13 @@ export function IntegrationGrid() { ); } -function getTierIcon(tier: string): React.ReactNode { +function getTierIcon(tier: string, withMargin = false): React.ReactNode { + const marginStyle = withMargin ? { marginRight: '6px' } : {}; + switch (tier) { case 'core': return ( - + @@ -305,7 +321,7 @@ function getTierIcon(tier: string): React.ReactNode { ); case 'partner': return ( - + @@ -316,7 +332,7 @@ function getTierIcon(tier: string): React.ReactNode { ); case 'community': return ( - + diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss index 8e6c2610418..494d849d869 100644 --- a/src/components/IntegrationGrid/styles.module.scss +++ b/src/components/IntegrationGrid/styles.module.scss @@ -123,7 +123,7 @@ // Large desktop - 5 columns @media (min-width: breakpoints.$laptop-breakpoint) { - grid-template-columns: repeat(5, minmax(0, 1fr)); + grid-template-columns: repeat(4 , minmax(0, 1fr)); } } diff --git a/static/integrations.json b/static/integrations.json index f0ad680c998..96adf9730d0 100644 --- a/static/integrations.json +++ b/static/integrations.json @@ -1,4 +1,20 @@ [ + { + "slug": "/integrations/metabase", + "integration_logo": "/images/integrations/logos/logo_metabase.png", + "integration_type": [ + "data visualization" + ], + "integration_tier": "partner" + }, + { + "slug": "/integrations/mitzu", + "integration_logo": "/images/integrations/logos/logo_mitzu.png", + "integration_type": [ + "data visualization" + ], + "integration_tier": "partner" + }, { "slug": "/integrations/airbyte", "integration_logo": "/images/integrations/logos/airbyte-logo.png", @@ -14,7 +30,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Amazon Glue" + "integration_title": "Amazon Glue", + "integration_tier": "core" }, { "slug": "/integrations/s3", @@ -22,7 +39,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Amazon S3" + "integration_title": "Amazon S3", + "integration_tier": "core" }, { "slug": "/integrations/apache-beam", @@ -65,7 +83,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Azure Data Factory" + "integration_title": "Azure Data Factory", + "integration_tier": "core" }, { "slug": "/integrations/azure-synapse", @@ -73,7 +92,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Azure Synapse" + "integration_title": "Azure Synapse", + "integration_tier": "core" }, { "slug": "/integrations/bladepipe", @@ -90,7 +110,8 @@ "integration_type": [ "language client" ], - "integration_title": "C#" + "integration_title": "C#", + "integration_tier": "core" }, { "slug": "/integrations/chartbrew-and-clickhouse", @@ -107,7 +128,8 @@ "integration_type": [ "clickpipes" ], - "integration_title": "ClickPipes for Amazon Kinesis" + "integration_title": "ClickPipes for Amazon Kinesis", + "integration_tier": "core" }, { "slug": "/integrations/clickpipes/kafka", @@ -115,7 +137,8 @@ "integration_type": [ "clickpipes" ], - "integration_title": "ClickPipes for Kafka" + "integration_title": "ClickPipes for Kafka", + "integration_tier": "core" }, { "slug": "/integrations/clickpipes/mongodb", @@ -123,7 +146,8 @@ "integration_type": [ "clickpipes" ], - "integration_title": "ClickPipes for MongoDB" + "integration_title": "ClickPipes for MongoDB", + "integration_tier": "core" }, { "slug": "/integrations/clickpipes/postgres", @@ -131,7 +155,8 @@ "integration_type": [ "clickpipes" ], - "integration_title": "ClickPipes for PostgreSQL" + "integration_title": "ClickPipes for PostgreSQL", + "integration_tier": "core" }, { "slug": "/integrations/google-dataflow/dataflow", @@ -166,7 +191,8 @@ "integration_type": [ "data integration" ], - "integration_title": "dbt" + "integration_title": "dbt", + "integration_tier": "core" }, { "slug": "/integrations/dbvisualizer", @@ -254,7 +280,8 @@ "integration_type": [ "language client" ], - "integration_title": "Golang" + "integration_title": "Golang", + "integration_tier": "core" }, { "slug": "/integrations/gcs", @@ -279,7 +306,8 @@ "integration_type": [ "language client" ], - "integration_title": "Java, JDBC" + "integration_title": "Java, JDBC", + "integration_tier": "core" }, { "slug": "/integrations/jupysql", @@ -296,7 +324,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Kafka" + "integration_title": "Kafka", + "integration_tier": "core" }, { "slug": "/integrations/kafka/cloud/confluent/custom-connector", @@ -304,7 +333,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Kafka connector - Confluent" + "integration_title": "Kafka connector - Confluent", + "integration_tier": "core" }, { "slug": "/integrations/looker", @@ -312,7 +342,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "Looker" + "integration_title": "Looker", + "integration_tier": "core" }, { "slug": "/integrations/lookerstudio", @@ -320,7 +351,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "Looker Studio" + "integration_title": "Looker Studio", + "integration_tier": "core" }, { "slug": "/integrations/luzmo", @@ -331,30 +363,14 @@ "integration_title": "Luzmo", "integration_tier": "partner" }, - { - "slug": "/integrations/metabase", - "integration_logo": "/images/integrations/logos/logo_metabase.png", - "integration_type": [ - "data visualization" - ], - "integration_title": "Metabase" - }, { "slug": "/integrations/minio", "integration_logo": "/images/integrations/logos/minio.png", "integration_type": [ "data ingestion" ], - "integration_title": "MinIO" - }, - { - "slug": "/integrations/mitzu", - "integration_logo": "/images/integrations/logos/logo_mitzu.png", - "integration_type": [ - "data visualization" - ], - "integration_title": "Mitzu", - "integration_tier": "partner" + "integration_title": "MinIO", + "integration_tier": "core" }, { "slug": "/interfaces/third-party/moose-olap", @@ -371,7 +387,8 @@ "integration_type": [ "language client" ], - "integration_title": "Node.JS" + "integration_title": "Node.JS", + "integration_tier": "core" }, { "slug": "/integrations/postgresql/connecting-to-postgresql", @@ -387,7 +404,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "PowerBI" + "integration_title": "PowerBI", + "integration_tier": "core" }, { "slug": "/integrations/python", @@ -395,7 +413,8 @@ "integration_type": [ "language client" ], - "integration_title": "Python" + "integration_title": "Python", + "integration_tier": "core" }, { "slug": "/integrations/quicksight", @@ -403,7 +422,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "QuickSight" + "integration_title": "QuickSight", + "integration_tier": "core" }, { "slug": "/integrations/retool", @@ -429,7 +449,8 @@ "integration_type": [ "language client" ], - "integration_title": "Rust" + "integration_title": "Rust", + "integration_tier": "core" }, { "slug": "/integrations/audit-splunk", @@ -446,7 +467,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "Superset" + "integration_title": "Superset", + "integration_tier": "core" }, { "slug": "/integrations/tableau", @@ -454,7 +476,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "Tableau" + "integration_title": "Tableau", + "integration_tier": "core" }, { "slug": "/integrations/tableau-online", @@ -462,7 +485,8 @@ "integration_type": [ "data visualization" ], - "integration_title": "Tableau Online" + "integration_title": "Tableau Online", + "integration_tier": "core" }, { "slug": "/integrations/tablumio", From 51fcafed3107398771dd94f408f322912f272bcd Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Thu, 25 Sep 2025 13:03:21 +0200 Subject: [PATCH 09/15] more styling changes --- docs/integrations/data-ingestion/gcs/index.md | 1 + docs/integrations/index_new.mdx | 14 +++- src/components/CUICard/styles.module.scss | 49 ++++++++++--- .../IntegrationGrid/IntegrationGrid.tsx | 23 +++++-- .../IntegrationGrid/styles.module.scss | 68 +++++++++++++++---- src/theme/Footer/Layout/styles.module.scss | 1 + static/integrations.json | 43 ++++++------ 7 files changed, 148 insertions(+), 51 deletions(-) diff --git a/docs/integrations/data-ingestion/gcs/index.md b/docs/integrations/data-ingestion/gcs/index.md index 11b8235b02f..0660ff3e73a 100644 --- a/docs/integrations/data-ingestion/gcs/index.md +++ b/docs/integrations/data-ingestion/gcs/index.md @@ -8,6 +8,7 @@ doc_type: 'guide' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/gcs.svg' integration_title: 'Google Cloud Storage (GCS)' +integration_tier: 'core' --- import BucketDetails from '@site/docs/_snippets/_GCS_authentication_and_bucket.md'; diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx index 323322739dc..899a1040b3e 100644 --- a/docs/integrations/index_new.mdx +++ b/docs/integrations/index_new.mdx @@ -5,6 +5,7 @@ keywords: ['integrations', 'integrate', 'integrate with'] description: 'Integrations with ClickHouse' doc_type: 'landing-page' sidebarCollapsed: true +hide_table_of_contents: true --- import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; @@ -15,8 +16,15 @@ Connect ClickHouse with your favorite tools and services to build powerful data ClickHouse integrations are organized by type, and their level of support: -- **Core integrations:** these are integrations built or maintained by ClickHouse. They are supported by ClickHouse and live in the ClickHouse GitHub organization. -- **Partner integrations:** these are built or maintained, and supported by, third-party software vendors. -- **Community integrations:** built or maintained and supported by community members. No direct support is available besides the public GitHub repositories and community Slack channels. +| Integration tier | Description | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| +|**Core integrations:** | these are integrations built or maintained by ClickHouse. They are supported by ClickHouse and live in the ClickHouse GitHub organization. | +|**Partner integrations:** | these are built or maintained, and supported by, third-party software vendors. | +|**Community integrations:**| built or maintained and supported by community members. No direct support is available besides the public GitHub repositories and community Slack channels.| + +:::note Notice +Third-party logos and trademarks belong to their respective owners and are shown only to indicate available integrations. +No endorsement is implied. +::: \ No newline at end of file diff --git a/src/components/CUICard/styles.module.scss b/src/components/CUICard/styles.module.scss index 0d27b0009d3..f5675521a85 100644 --- a/src/components/CUICard/styles.module.scss +++ b/src/components/CUICard/styles.module.scss @@ -5,28 +5,55 @@ background: #323230; display: flex; flex-direction: column; - height: 100%; - border-width: 1px; - border-color: rgba(65, 65, 65, .8); - padding: 0.5rem; - aspect-ratio: 1 / 1; + aspect-ratio: 1; + width: 100%; + border: 1px solid rgba(65, 65, 65, .8); + padding: 1rem; + box-sizing: border-box; justify-content: center; + align-items: center; + text-align: center; } [data-theme='light'] .cuiCard { - background: #f6f7fa; + background: #F6F7FA; } .cardBody { - line-height: 1.5rem; - font-size: 0.9rem; - font-weight: 600; - text-align: center; + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + box-sizing: border-box; + position: relative; + justify-content: center; + align-items: center; + gap: 0.75rem; } .cardHeader { - text-align: center; + flex-shrink: 0; + display: flex; + justify-content: center; + align-items: center; +} + +.cardHeader img { + width: 5rem; + height: 5rem; + object-fit: contain; + max-width: 75%; + max-height: 75%; } .cardFooter { + line-height: 1.2; + font-size: clamp(0.75rem, 2.5vw, 0.9rem); + font-weight: 600; + text-align: center; + word-wrap: break-word; + overflow-wrap: break-word; + hyphens: auto; + flex-shrink: 1; + min-height: 0; } \ No newline at end of file diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index fe1539aaf2d..9ef4deec631 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -35,18 +35,17 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { {getTierIcon(integration.integration_tier)}
)} -
+ {`${integration.integration_title - + {integration.integration_title} + -
); @@ -206,9 +205,23 @@ export function IntegrationGrid() {
{/* Search Bar */}
+ + + setSearchTerm(e.target.value)} className={styles.searchInput} diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss index 494d849d869..7926abb42f0 100644 --- a/src/components/IntegrationGrid/styles.module.scss +++ b/src/components/IntegrationGrid/styles.module.scss @@ -7,32 +7,57 @@ } .searchContainer { - margin: 2rem 0; + margin: 2rem 0 3rem 0; display: flex; - justify-content: center; + justify-content: flex-start; + position: relative; } .searchInput { width: 100%; - max-width: 400px; - padding: 12px 16px; - border: 1px solid var(--ifm-color-emphasis-300); - border-radius: 8px; - font-size: 1rem; - background: var(--ifm-background-color); + max-width: 500px; + height: 38px; + padding: 0.5rem 0.75rem 0.5rem 2.5rem; + border-radius: 12px; + font-size: 0.875rem; + background: #F6F7FA; color: var(--ifm-font-color-base); + border: 1px solid var(--ifm-color-emphasis-300); + line-height: 1.4; + box-sizing: border-box; &:focus { outline: none; - border-color: var(--ifm-color-primary); - box-shadow: 0 0 0 2px var(--ifm-color-primary-lightest); + } + + [data-theme='dark'] &:focus { + border-color: #FAFF69; } &::placeholder { color: var(--ifm-color-emphasis-600); + font-weight: 400; + } + + [data-theme='dark'] & { + --tw-bg-opacity: 1; + background: rgb(40 40 40 / var(--tw-bg-opacity)); + border-color: var(--ifm-color-emphasis-300); } } +.searchIcon { + position: absolute; + left: 12px; + top: 50%; + transform: translateY(-50%); + width: 14px; + height: 14px; + color: var(--ifm-color-emphasis-600); + pointer-events: none; + z-index: 1; +} + .filterContainer { display: flex; flex-wrap: wrap; @@ -78,11 +103,23 @@ background: var(--ifm-color-primary-lightest); } + [data-theme='dark'] &:hover { + background: #FAFF69; + border-color: #FAFF69; + color: #000; + } + &.active { background: var(--ifm-color-primary); border-color: var(--ifm-color-primary); color: white; } + + [data-theme='dark'] &.active { + background: #FAFF69; + border-color: #FAFF69; + color: #000; + } } .integrationSection { @@ -116,14 +153,19 @@ grid-template-columns: repeat(2, minmax(0, 1fr)); } - // Laptop - 3 columns + // Desktop - 3 columns @media (min-width: breakpoints.$tablet-breakpoint) { grid-template-columns: repeat(3, minmax(0, 1fr)); } - // Large desktop - 5 columns + // Large desktop - 4 columns (ideal for most desktop screens) @media (min-width: breakpoints.$laptop-breakpoint) { - grid-template-columns: repeat(4 , minmax(0, 1fr)); + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + // Extra large screens - 5 columns + @media (min-width: 1600px) { + grid-template-columns: repeat(5, minmax(0, 1fr)); } } diff --git a/src/theme/Footer/Layout/styles.module.scss b/src/theme/Footer/Layout/styles.module.scss index c27483959f7..f64636d7211 100644 --- a/src/theme/Footer/Layout/styles.module.scss +++ b/src/theme/Footer/Layout/styles.module.scss @@ -11,6 +11,7 @@ width: 100%; background-color: white; height: 3.5rem; + z-index: 100; } .container { diff --git a/static/integrations.json b/static/integrations.json index 96adf9730d0..b985d60be49 100644 --- a/static/integrations.json +++ b/static/integrations.json @@ -1,20 +1,4 @@ [ - { - "slug": "/integrations/metabase", - "integration_logo": "/images/integrations/logos/logo_metabase.png", - "integration_type": [ - "data visualization" - ], - "integration_tier": "partner" - }, - { - "slug": "/integrations/mitzu", - "integration_logo": "/images/integrations/logos/logo_mitzu.png", - "integration_type": [ - "data visualization" - ], - "integration_tier": "partner" - }, { "slug": "/integrations/airbyte", "integration_logo": "/images/integrations/logos/airbyte-logo.png", @@ -66,7 +50,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Apache Spark" + "integration_title": "Apache Spark", + "integration_tier": "core" }, { "slug": "/integrations/astrato", @@ -272,7 +257,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Fivetran" + "integration_title": "Fivetran", + "integration_tier": "core" }, { "slug": "/integrations/go", @@ -363,6 +349,15 @@ "integration_title": "Luzmo", "integration_tier": "partner" }, + { + "slug": "/integrations/metabase", + "integration_logo": "/images/integrations/logos/logo_metabase.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Metabase", + "integration_tier": "partner" + }, { "slug": "/integrations/minio", "integration_logo": "/images/integrations/logos/minio.png", @@ -372,6 +367,15 @@ "integration_title": "MinIO", "integration_tier": "core" }, + { + "slug": "/integrations/mitzu", + "integration_logo": "/images/integrations/logos/logo_mitzu.png", + "integration_type": [ + "data visualization" + ], + "integration_title": "Mitzu", + "integration_tier": "partner" + }, { "slug": "/interfaces/third-party/moose-olap", "integration_logo": "/images/integrations/logos/moose_logo.svg", @@ -396,7 +400,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "PostgreSQL" + "integration_title": "PostgreSQL", + "integration_tier": "core" }, { "slug": "/integrations/powerbi", From 047d1845143256ed8ffd80b4278599f0d3027825 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Thu, 25 Sep 2025 13:32:55 +0200 Subject: [PATCH 10/15] fix styling --- src/components/CUICard/styles.module.scss | 3 ++- .../IntegrationGrid/styles.module.scss | 24 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/components/CUICard/styles.module.scss b/src/components/CUICard/styles.module.scss index f5675521a85..c840664129e 100644 --- a/src/components/CUICard/styles.module.scss +++ b/src/components/CUICard/styles.module.scss @@ -17,6 +17,7 @@ [data-theme='light'] .cuiCard { background: #F6F7FA; + border-color: var(--ifm-color-emphasis-300); } .cardBody { @@ -48,7 +49,7 @@ .cardFooter { line-height: 1.2; - font-size: clamp(0.75rem, 2.5vw, 0.9rem); + font-size: clamp(0.65rem, 2vw, 0.85rem); font-weight: 600; text-align: center; word-wrap: break-word; diff --git a/src/components/IntegrationGrid/styles.module.scss b/src/components/IntegrationGrid/styles.module.scss index 7926abb42f0..c8dd02049ae 100644 --- a/src/components/IntegrationGrid/styles.module.scss +++ b/src/components/IntegrationGrid/styles.module.scss @@ -7,7 +7,7 @@ } .searchContainer { - margin: 2rem 0 3rem 0; + margin: 2rem 0 12px 0; display: flex; justify-content: flex-start; position: relative; @@ -145,28 +145,28 @@ } .integrationGrid { - // Mobile first - single column - grid-template-columns: 1fr; - // Tablet - 2 columns - @media (min-width: breakpoints.$mobile-breakpoint) { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } + grid-template-columns: repeat(2, minmax(0, 1fr)); - // Desktop - 3 columns + // Small desktop - 3 columns @media (min-width: breakpoints.$tablet-breakpoint) { grid-template-columns: repeat(3, minmax(0, 1fr)); } - // Large desktop - 4 columns (ideal for most desktop screens) - @media (min-width: breakpoints.$laptop-breakpoint) { + // Medium desktop - 4 columns + @media (min-width: 1260px) { grid-template-columns: repeat(4, minmax(0, 1fr)); } - // Extra large screens - 5 columns - @media (min-width: 1600px) { + // Large desktop - 5 columns + @media (min-width: breakpoints.$laptop-breakpoint) { grid-template-columns: repeat(5, minmax(0, 1fr)); } + + // Extra large screens - 6 columns + @media (min-width: 1600px) { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } } .noResults { From 4a63203ca5c14e30cac69f00742dee8e8bbff042 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Thu, 25 Sep 2025 14:15:46 +0200 Subject: [PATCH 11/15] retain state and adjust integration_tier to match badges --- .../etl-tools/airbyte-and-clickhouse.md | 4 +- .../etl-tools/bladepipe-and-clickhouse.md | 4 +- .../etl-tools/dlt-and-clickhouse.md | 4 +- .../etl-tools/vector-to-clickhouse.md | 4 +- .../astrato-and-clickhouse.md | 2 +- .../chartbrew-and-clickhouse.md | 2 +- .../data-visualization/deepnote.md | 2 +- .../draxlr-and-clickhouse.md | 2 +- .../explo-and-clickhouse.md | 2 +- .../data-visualization/fabi-and-clickhouse.md | 2 +- .../data-visualization/grafana/index.md | 2 +- .../luzmo-and-clickhouse.md | 2 +- .../metabase-and-clickhouse.md | 2 +- .../mitzu-and-clickhouse.md | 2 +- .../language-clients/moose-olap.md | 2 +- docs/integrations/sql-clients/datagrip.md | 2 +- docs/integrations/sql-clients/dbeaver.md | 2 +- docs/integrations/sql-clients/dbvisualizer.md | 2 +- docs/integrations/sql-clients/tablum.md | 2 +- .../tools/data-integration/retool/index.md | 4 +- .../tools/data-integration/splunk/index.md | 4 +- .../IntegrationGrid/IntegrationGrid.tsx | 45 +++++++++++++++++-- 22 files changed, 68 insertions(+), 31 deletions(-) diff --git a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md index 956c3d09552..444e2ce7d1d 100644 --- a/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md @@ -22,11 +22,11 @@ import airbyte06 from '@site/static/images/integrations/data-ingestion/etl-tools import airbyte07 from '@site/static/images/integrations/data-ingestion/etl-tools/airbyte_07.png'; import airbyte08 from '@site/static/images/integrations/data-ingestion/etl-tools/airbyte_08.png'; import airbyte09 from '@site/static/images/integrations/data-ingestion/etl-tools/airbyte_09.png'; -import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Connect Airbyte to ClickHouse - + :::note Please note that the Airbyte source and destination for ClickHouse are currently in Alpha status and not suitable for moving large datasets (> 10 million rows) diff --git a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md index 6d63e3c4457..423fcc43ec8 100644 --- a/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md @@ -22,11 +22,11 @@ import bp_ck_6 from '@site/static/images/integrations/data-ingestion/etl-tools/b import bp_ck_7 from '@site/static/images/integrations/data-ingestion/etl-tools/bp_ck_7.png'; import bp_ck_8 from '@site/static/images/integrations/data-ingestion/etl-tools/bp_ck_8.png'; import bp_ck_9 from '@site/static/images/integrations/data-ingestion/etl-tools/bp_ck_9.png'; -import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Connect BladePipe to ClickHouse - + BladePipe is a real-time end-to-end data integration tool with sub-second latency, boosting seamless data flow across platforms. diff --git a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md index a076a4f91a1..a1dbb17f414 100644 --- a/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/dlt-and-clickhouse.md @@ -11,11 +11,11 @@ integration_logo: '/static/images/integrations/logos/dlthub_logo.svg' integration_tier: 'partner' --- -import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Connect dlt to ClickHouse - + dlt is an open-source library that you can add to your Python scripts to load data from various and often messy data sources into well-structured, live datasets. diff --git a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md index cac94c83d89..655e9a3d8b2 100644 --- a/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md +++ b/docs/integrations/data-ingestion/etl-tools/vector-to-clickhouse.md @@ -15,11 +15,11 @@ integration_tier: 'partner' import Image from '@theme/IdealImage'; import vector01 from '@site/static/images/integrations/data-ingestion/etl-tools/vector_01.png'; import vector02 from '@site/static/images/integrations/data-ingestion/etl-tools/vector_02.png'; -import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Integrating Vector with ClickHouse - + Being able to analyze your logs in real time is critical for production applications. Have you ever wondered if ClickHouse is good at storing and analyzing log data? Just checkout Uber's experience with converting their logging infrastructure from ELK to ClickHouse. diff --git a/docs/integrations/data-visualization/astrato-and-clickhouse.md b/docs/integrations/data-visualization/astrato-and-clickhouse.md index 0a7baacdeeb..497be1b2cae 100644 --- a/docs/integrations/data-visualization/astrato-and-clickhouse.md +++ b/docs/integrations/data-visualization/astrato-and-clickhouse.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Astrato' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/astrato_logo.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import astrato_1_dataconnection from '@site/static/images/integrations/data-visualization/astrato_1_dataconnection.png'; diff --git a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md index 6596db92d0e..f68d1745646 100644 --- a/docs/integrations/data-visualization/chartbrew-and-clickhouse.md +++ b/docs/integrations/data-visualization/chartbrew-and-clickhouse.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Chartbrew' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_chartbrew.png' -integration_tier: 'partner' +integration_tier: 'community' --- import chartbrew_01 from '@site/static/images/integrations/data-visualization/chartbrew_01.png'; diff --git a/docs/integrations/data-visualization/deepnote.md b/docs/integrations/data-visualization/deepnote.md index 8a31c5fd798..76f3aba97a0 100644 --- a/docs/integrations/data-visualization/deepnote.md +++ b/docs/integrations/data-visualization/deepnote.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Deepnote' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/deepnote.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import deepnote_01 from '@site/static/images/integrations/data-visualization/deepnote_01.png'; diff --git a/docs/integrations/data-visualization/draxlr-and-clickhouse.md b/docs/integrations/data-visualization/draxlr-and-clickhouse.md index 084c97b472f..5121372087d 100644 --- a/docs/integrations/data-visualization/draxlr-and-clickhouse.md +++ b/docs/integrations/data-visualization/draxlr-and-clickhouse.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Draxlr' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/draxlr.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/explo-and-clickhouse.md b/docs/integrations/data-visualization/explo-and-clickhouse.md index 7f4768daaf9..b1bd1539d6c 100644 --- a/docs/integrations/data-visualization/explo-and-clickhouse.md +++ b/docs/integrations/data-visualization/explo-and-clickhouse.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Explo' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/explo.png' -integration_tier: 'partner' +integration_tier: 'community' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/data-visualization/fabi-and-clickhouse.md b/docs/integrations/data-visualization/fabi-and-clickhouse.md index 7f0ced8156c..958a0c78737 100644 --- a/docs/integrations/data-visualization/fabi-and-clickhouse.md +++ b/docs/integrations/data-visualization/fabi-and-clickhouse.md @@ -8,7 +8,7 @@ doc_type: 'guide' integration_title: 'Fabi.ai' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/fabi.png' -integration_tier: 'partner' +integration_tier: 'community' --- import fabi_01 from '@site/static/images/integrations/data-visualization/fabi_01.png'; diff --git a/docs/integrations/data-visualization/grafana/index.md b/docs/integrations/data-visualization/grafana/index.md index 6d36cd32822..2e9ed418d2e 100644 --- a/docs/integrations/data-visualization/grafana/index.md +++ b/docs/integrations/data-visualization/grafana/index.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Grafana' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/grafana.svg' -integration_tier: 'partner' +integration_tier: 'core' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_native.md'; diff --git a/docs/integrations/data-visualization/luzmo-and-clickhouse.md b/docs/integrations/data-visualization/luzmo-and-clickhouse.md index b1013dd4647..b89dbba9411 100644 --- a/docs/integrations/data-visualization/luzmo-and-clickhouse.md +++ b/docs/integrations/data-visualization/luzmo-and-clickhouse.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Luzmo' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/luzmo.png' -integration_tier: 'partner' +integration_tier: 'community' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/data-visualization/metabase-and-clickhouse.md b/docs/integrations/data-visualization/metabase-and-clickhouse.md index 5de034f9298..826a9cc5e07 100644 --- a/docs/integrations/data-visualization/metabase-and-clickhouse.md +++ b/docs/integrations/data-visualization/metabase-and-clickhouse.md @@ -9,7 +9,7 @@ show_related_blogs: true doc_type: 'guide' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_metabase.png' -integration_tier: 'partner' +integration_tier: 'community' integration_title: 'Metabase' --- diff --git a/docs/integrations/data-visualization/mitzu-and-clickhouse.md b/docs/integrations/data-visualization/mitzu-and-clickhouse.md index 48ba3e6d6d1..9d399fa1441 100644 --- a/docs/integrations/data-visualization/mitzu-and-clickhouse.md +++ b/docs/integrations/data-visualization/mitzu-and-clickhouse.md @@ -5,7 +5,7 @@ keywords: ['clickhouse', 'Mitzu', 'connect', 'integrate', 'ui'] description: 'Mitzu is a no-code warehouse-native product analytics application.' title: 'Connecting Mitzu to ClickHouse' doc_type: 'guide' -integration_tier: 'partner' +integration_tier: 'community' integration_type: ['data visualization'] integration_logo: '/static/images/integrations/logos/logo_mitzu.png' integration_title: 'Mitzu' diff --git a/docs/integrations/language-clients/moose-olap.md b/docs/integrations/language-clients/moose-olap.md index 08d6840e151..984b1704b6b 100644 --- a/docs/integrations/language-clients/moose-olap.md +++ b/docs/integrations/language-clients/moose-olap.md @@ -9,7 +9,7 @@ doc_type: 'guide' integration_title: 'Moose OLAP' integration_type: ['language client'] integration_logo: '/static/images/integrations/logos/moose_logo.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; diff --git a/docs/integrations/sql-clients/datagrip.md b/docs/integrations/sql-clients/datagrip.md index c3dcf684fd5..5fcfd573526 100644 --- a/docs/integrations/sql-clients/datagrip.md +++ b/docs/integrations/sql-clients/datagrip.md @@ -7,7 +7,7 @@ doc_type: 'guide' integration_title: 'DataGrip' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/data_grip.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbeaver.md b/docs/integrations/sql-clients/dbeaver.md index e2c378a789c..07a9b10363b 100644 --- a/docs/integrations/sql-clients/dbeaver.md +++ b/docs/integrations/sql-clients/dbeaver.md @@ -7,7 +7,7 @@ doc_type: 'guide' integration_title: 'DBeaver' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/dbeaver_logo.svg' -integration_tier: 'partner' +integration_tier: 'core' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/sql-clients/dbvisualizer.md b/docs/integrations/sql-clients/dbvisualizer.md index f1b99d28310..4359e84ce3e 100644 --- a/docs/integrations/sql-clients/dbvisualizer.md +++ b/docs/integrations/sql-clients/dbvisualizer.md @@ -7,7 +7,7 @@ doc_type: 'guide' integration_title: 'DbVisualizer' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/logo_dbvisualizer.png' -integration_tier: 'partner' +integration_tier: 'community' --- import ConnectionDetails from '@site/docs/_snippets/_gather_your_details_http.mdx'; diff --git a/docs/integrations/sql-clients/tablum.md b/docs/integrations/sql-clients/tablum.md index 80b83a00c86..10b743d1267 100644 --- a/docs/integrations/sql-clients/tablum.md +++ b/docs/integrations/sql-clients/tablum.md @@ -7,7 +7,7 @@ doc_type: 'guide' integration_title: 'TABLUM.IO' integration_type: ['sql client'] integration_logo: '/static/images/integrations/logos/tablum.svg' -integration_tier: 'partner' +integration_tier: 'community' --- import Image from '@theme/IdealImage'; diff --git a/docs/integrations/tools/data-integration/retool/index.md b/docs/integrations/tools/data-integration/retool/index.md index fb23c8ea218..c9f519c90c6 100644 --- a/docs/integrations/tools/data-integration/retool/index.md +++ b/docs/integrations/tools/data-integration/retool/index.md @@ -18,11 +18,11 @@ import retool_02 from '@site/static/images/integrations/tools/data-integration/r import retool_03 from '@site/static/images/integrations/tools/data-integration/retool/retool_03.png'; import retool_04 from '@site/static/images/integrations/tools/data-integration/retool/retool_04.png'; import retool_05 from '@site/static/images/integrations/tools/data-integration/retool/retool_05.png'; -import CommunityMaintainedBadge from '@theme/badges/CommunityMaintained'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Connecting Retool to ClickHouse - + ## 1. Gather your connection details {#1-gather-your-connection-details} diff --git a/docs/integrations/tools/data-integration/splunk/index.md b/docs/integrations/tools/data-integration/splunk/index.md index 6a54d7dc2b8..7222cbd3b5e 100644 --- a/docs/integrations/tools/data-integration/splunk/index.md +++ b/docs/integrations/tools/data-integration/splunk/index.md @@ -24,11 +24,11 @@ import splunk_009 from '@site/static/images/integrations/tools/data-integration/ import splunk_010 from '@site/static/images/integrations/tools/data-integration/splunk/splunk_010.png'; import splunk_011 from '@site/static/images/integrations/tools/data-integration/splunk/splunk_011.png'; import splunk_012 from '@site/static/images/integrations/tools/data-integration/splunk/splunk_012.png'; -import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; +import PartnerBadge from '@theme/badges/PartnerBadge'; # Storing ClickHouse Cloud Audit logs into Splunk - + [Splunk](https://www.splunk.com/) is a data analytics and monitoring platform. diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 9ef4deec631..f19ce91adc0 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -1,4 +1,4 @@ -import React, { useState, useMemo } from 'react'; +import React, { useState, useMemo, useEffect } from 'react'; import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; import CUICard from '@site/src/components/CUICard'; @@ -79,9 +79,46 @@ export function IntegrationGrid() { return [...integrationsData, ...processedCustomData]; }, []); - const [searchTerm, setSearchTerm] = useState(''); - const [selectedFilter, setSelectedFilter] = useState('All'); - const [selectedTier, setSelectedTier] = useState('All'); + // Initialize state from localStorage or default values + const [searchTerm, setSearchTerm] = useState(() => { + if (typeof window !== 'undefined') { + return localStorage.getItem('integrations-search') || ''; + } + return ''; + }); + + const [selectedFilter, setSelectedFilter] = useState(() => { + if (typeof window !== 'undefined') { + return localStorage.getItem('integrations-filter') || 'All'; + } + return 'All'; + }); + + const [selectedTier, setSelectedTier] = useState(() => { + if (typeof window !== 'undefined') { + return localStorage.getItem('integrations-tier') || 'All'; + } + return 'All'; + }); + + // Save to localStorage whenever state changes + useEffect(() => { + if (typeof window !== 'undefined') { + localStorage.setItem('integrations-search', searchTerm); + } + }, [searchTerm]); + + useEffect(() => { + if (typeof window !== 'undefined') { + localStorage.setItem('integrations-filter', selectedFilter); + } + }, [selectedFilter]); + + useEffect(() => { + if (typeof window !== 'undefined') { + localStorage.setItem('integrations-tier', selectedTier); + } + }, [selectedTier]); // Get unique integration types for filter buttons const integrationTypes = useMemo(() => { From 97fd3aeeba7a6b5fe3df52c71f9401ac3d14b2d5 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Thu, 25 Sep 2025 14:43:15 +0200 Subject: [PATCH 12/15] tagging changes --- .../data-ingestion/etl-tools/apache-beam.md | 2 +- .../google-dataflow/dataflow.md | 2 +- static/integrations.json | 33 +++++------ static/integrations_custom.json | 56 +++++++++---------- 4 files changed, 47 insertions(+), 46 deletions(-) diff --git a/docs/integrations/data-ingestion/etl-tools/apache-beam.md b/docs/integrations/data-ingestion/etl-tools/apache-beam.md index bc2bbb3c230..fdb232f69b8 100644 --- a/docs/integrations/data-ingestion/etl-tools/apache-beam.md +++ b/docs/integrations/data-ingestion/etl-tools/apache-beam.md @@ -7,7 +7,7 @@ doc_type: 'guide' integration_title: 'Apache Beam' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/logo_beam.png' -integration_tier: 'community' +integration_tier: 'core' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/docs/integrations/data-ingestion/google-dataflow/dataflow.md b/docs/integrations/data-ingestion/google-dataflow/dataflow.md index e0083d4dc04..65694b7b61d 100644 --- a/docs/integrations/data-ingestion/google-dataflow/dataflow.md +++ b/docs/integrations/data-ingestion/google-dataflow/dataflow.md @@ -8,7 +8,7 @@ doc_type: 'guide' integration_title: 'Dataflow' integration_type: ['data ingestion'] integration_logo: '/static/images/integrations/logos/dataflow_logo.png' -integration_tier: 'community' +integration_tier: 'core' --- import ClickHouseSupportedBadge from '@theme/badges/ClickHouseSupported'; diff --git a/static/integrations.json b/static/integrations.json index b985d60be49..484216cdada 100644 --- a/static/integrations.json +++ b/static/integrations.json @@ -60,7 +60,7 @@ "data visualization" ], "integration_title": "Astrato", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/azure-data-factory", @@ -105,7 +105,7 @@ "data visualization" ], "integration_title": "Chartbrew", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/clickpipes/kinesis", @@ -159,7 +159,7 @@ "sql client" ], "integration_title": "DataGrip", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/dbeaver", @@ -168,7 +168,7 @@ "sql client" ], "integration_title": "DBeaver", - "integration_tier": "partner" + "integration_tier": "core" }, { "slug": "/integrations/dbt", @@ -186,7 +186,7 @@ "sql client" ], "integration_title": "DbVisualizer", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/deepnote", @@ -195,7 +195,7 @@ "data visualization" ], "integration_title": "Deepnote", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/data-ingestion/etl-tools/dlt-and-clickhouse", @@ -213,7 +213,7 @@ "data visualization" ], "integration_title": "Draxlr", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/easypanel", @@ -240,7 +240,7 @@ "data visualization" ], "integration_title": "Explo", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/fabi.ai", @@ -249,7 +249,7 @@ "data visualization" ], "integration_title": "Fabi.ai", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/fivetran", @@ -275,7 +275,8 @@ "integration_type": [ "data ingestion" ], - "integration_title": "Google Cloud Storage (GCS)" + "integration_title": "Google Cloud Storage (GCS)", + "integration_tier": "core" }, { "slug": "/integrations/grafana", @@ -284,7 +285,7 @@ "data visualization" ], "integration_title": "Grafana", - "integration_tier": "partner" + "integration_tier": "core" }, { "slug": "/integrations/java", @@ -347,7 +348,7 @@ "data visualization" ], "integration_title": "Luzmo", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/metabase", @@ -356,7 +357,7 @@ "data visualization" ], "integration_title": "Metabase", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/minio", @@ -374,7 +375,7 @@ "data visualization" ], "integration_title": "Mitzu", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/interfaces/third-party/moose-olap", @@ -383,7 +384,7 @@ "language client" ], "integration_title": "Moose OLAP", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/javascript", @@ -500,7 +501,7 @@ "sql client" ], "integration_title": "TABLUM.IO", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "/integrations/vector", diff --git a/static/integrations_custom.json b/static/integrations_custom.json index a9bc57d1f02..cad88b67674 100644 --- a/static/integrations_custom.json +++ b/static/integrations_custom.json @@ -240,7 +240,7 @@ ], "integration_logo": "/static/images/integrations/logos/acceldata_logo.png", "integration_title": "AccelData", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://atlasgo.io/guides/clickhouse?utm_source=clickhouse&utm_term=docs", @@ -249,7 +249,7 @@ ], "integration_logo": "/static/images/integrations/logos/atlas-logo.png", "integration_title": "Atlas", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.blinkops.com/docs/integrations/clickhouse", @@ -303,7 +303,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_growthbook.png", "integration_title": "GrowthBook", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://learn.hex.tech/docs/connect-to-data/data-connections/overview", @@ -312,7 +312,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo-hex.png", "integration_title": "HEX", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.hashboard.com/docs/database-connections/clickhouse", @@ -321,7 +321,7 @@ ], "integration_logo": "/static/images/integrations/logos/hashboard.svg", "integration_title": "Hashboard", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://hightouch.com/docs/sources/clickhouse", @@ -357,7 +357,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_openBlocks.png", "integration_title": "Openblocks", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.opsramp.com/integrations/database-no-sql/automonitor-clickhouse-monitoring/", @@ -366,7 +366,7 @@ ], "integration_logo": "/static/images/integrations/logos/ops_ramp_logo.png", "integration_title": "OpsRamp (HP)", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.popsink.com/connectors/target/clickhouse/", @@ -438,7 +438,7 @@ ], "integration_logo": "/static/images/integrations/logos/sematext_logo.png", "integration_title": "Sematext", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.signoz.io/docs/architecture/", @@ -447,7 +447,7 @@ ], "integration_logo": "/static/images/integrations/logos/signoz-logo.png", "integration_title": "SigNoz", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.snappyflow.io/docs/Integrations/clickhouse/instance", @@ -456,7 +456,7 @@ ], "integration_logo": "/static/images/integrations/logos/snappy_flow_logo.png", "integration_title": "Snappy Flow", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://docs.streamkap.com/docs/clickhouse", @@ -483,7 +483,7 @@ ], "integration_logo": "/static/images/integrations/logos/tooljet.png", "integration_title": "Tooljet", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://yepcode.io/docs/integrations/clickhouse/", @@ -501,7 +501,7 @@ ], "integration_logo": "/static/images/integrations/logos/zing-logo.png", "integration_title": "Zing Data", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.automq.com/", @@ -528,7 +528,7 @@ ], "integration_logo": "/static/images/integrations/logos/cubejs.svg", "integration_title": "Cube.js", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.clougence.com/", @@ -564,7 +564,7 @@ ], "integration_logo": "/static/images/integrations/logos/gigasheet.png", "integration_title": "Gigasheet", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://greatexpectations.io/", @@ -573,7 +573,7 @@ ], "integration_logo": "/static/images/integrations/logos/great-expectations.webp", "integration_title": "Great Expectations", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.holistics.io/integrations/clickhouse/", @@ -582,7 +582,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_holistics.png", "integration_title": "Holistics", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://github.com/PostHog/HouseWatch", @@ -591,7 +591,7 @@ ], "integration_logo": "/static/images/integrations/logos/housewatch.png", "integration_title": "HouseWatch", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.metaplane.dev/integrations", @@ -600,7 +600,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_metaplane.png", "integration_title": "Metaplane", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://mindsdb.com/clickhouse-machine-learning", @@ -618,7 +618,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_mode.png", "integration_title": "Mode Analytics", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://omni.co/", @@ -627,7 +627,7 @@ ], "integration_logo": "/static/images/integrations/logos/omni.svg", "integration_title": "Omni", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://quesma.com/quesma-for-elk", @@ -645,7 +645,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_redash.png", "integration_title": "Redash", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://runreveal.com", @@ -663,7 +663,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_sisense.png", "integration_title": "SiSense", - "integration_tier": "partner" + "integration_tier": "community" }, { "slug": "https://www.soda.io/integrations/clickhouse", @@ -717,7 +717,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_airflow.png", "integration_title": "Apache Airflow", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://inlong.apache.org/docs/data_node/load_node/clickhouse", @@ -726,7 +726,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_inlong.png", "integration_title": "Apache InLong", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://seatunnel.apache.org/docs/2.3.0/connector-v2/sink/Clickhouse", @@ -735,7 +735,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_seatunnel.png", "integration_title": "Apache SeaTunnel", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://skywalking.apache.org/blog/2024-03-12-monitoring-clickhouse-through-skywalking/", @@ -753,7 +753,7 @@ ], "integration_logo": "/static/images/integrations/logos/apache-streampark.png", "integration_title": "Apache StreamPark", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://www.bytebase.com/docs/introduction/supported-databases", @@ -834,7 +834,7 @@ ], "integration_logo": "/static/images/integrations/logos/logo_deepflow.png", "integration_title": "DeepFlow", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://www.explo.co/integrations/clickhouse", @@ -933,7 +933,7 @@ ], "integration_logo": "/static/images/integrations/logos/pinax-logo.png", "integration_title": "Pinax", - "integration_tier": "community" + "integration_tier": "partner" }, { "slug": "https://www.timestored.com/pulse/", From 19e0bd30a75ce479701d164fadf943d137d73a89 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 26 Sep 2025 13:04:13 +0200 Subject: [PATCH 13/15] change to category --- static/integrations.json | 4 ++-- static/integrations_custom.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/integrations.json b/static/integrations.json index 484216cdada..edf47ec7982 100644 --- a/static/integrations.json +++ b/static/integrations.json @@ -33,7 +33,7 @@ "data ingestion" ], "integration_title": "Apache Beam", - "integration_tier": "community" + "integration_tier": "core" }, { "slug": "/integrations/nifi", @@ -150,7 +150,7 @@ "data ingestion" ], "integration_title": "Dataflow", - "integration_tier": "community" + "integration_tier": "core" }, { "slug": "/integrations/datagrip", diff --git a/static/integrations_custom.json b/static/integrations_custom.json index cad88b67674..a0a0abc0005 100644 --- a/static/integrations_custom.json +++ b/static/integrations_custom.json @@ -776,7 +776,7 @@ { "slug": "https://github.com/duyet/clickhouse-monitoring", "integration_type": [ - "data visualization" + "security governance" ], "integration_logo": "/static/images/integrations/logos/clickhouse-monitoring-dashboard.svg", "integration_title": "ClickHouse Monitoring Dashboard", From 7bb34eb77128537eb2ddea9a4e32d15e9e0515d8 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:44:24 +0200 Subject: [PATCH 14/15] generate grid from the CMS --- docs/integrations/index_new.mdx | 8 - .../IntegrationGrid/IntegrationGrid.tsx | 156 +++++++++++++++--- 2 files changed, 137 insertions(+), 27 deletions(-) diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx index 899a1040b3e..a6710ce50a8 100644 --- a/docs/integrations/index_new.mdx +++ b/docs/integrations/index_new.mdx @@ -14,14 +14,6 @@ import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; Connect ClickHouse with your favorite tools and services to build powerful data pipelines and analytics workflows. -ClickHouse integrations are organized by type, and their level of support: - -| Integration tier | Description | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| -|**Core integrations:** | these are integrations built or maintained by ClickHouse. They are supported by ClickHouse and live in the ClickHouse GitHub organization. | -|**Partner integrations:** | these are built or maintained, and supported by, third-party software vendors. | -|**Community integrations:**| built or maintained and supported by community members. No direct support is available besides the public GitHub repositories and community Slack channels.| - :::note Notice diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index f19ce91adc0..8fae810b5f8 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -2,14 +2,36 @@ import React, { useState, useMemo, useEffect } from 'react'; import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; import CUICard from '@site/src/components/CUICard'; -// @ts-ignore -import integrationsData from '@site/static/integrations.json'; -// @ts-ignore -import integrationsCustomData from '@site/static/integrations_custom.json'; import styles from './styles.module.scss'; +type CMSIntegrationData = { + id: number; + attributes: { + name: string; + slug: string; + category: string; + supportLevel: string; + docsLink?: string; + logo?: { + data?: { + attributes: { + url: string; + }; + }; + }; + logo_dark?: { + data?: { + attributes: { + url: string; + }; + }; + }; + }; +}; + type IntegrationData = { slug: string; + docsLink?: string; integration_logo: string; integration_type: string[]; integration_title?: string; @@ -17,9 +39,28 @@ type IntegrationData = { }; function IntegrationCard({ integration }: { integration: IntegrationData }) { + // Convert ClickHouse docs URLs to relative links + const getNavigationLink = (docsLink: string | undefined, slug: string): string => { + if (!docsLink) { + return slug; + } + + // Check if it's a ClickHouse docs URL + const clickhouseDocsMatch = docsLink.match(/https:\/\/clickhouse\.com\/docs\/(.+)/); + if (clickhouseDocsMatch) { + // Convert to relative link by removing the domain and keeping everything after /docs + return `/${clickhouseDocsMatch[1]}`; + } + + // For external URLs, return as-is + return docsLink; + }; + + const linkTo = getNavigationLink(integration.docsLink, integration.slug); + return ( @@ -38,7 +79,7 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { {`${integration.integration_title @@ -65,20 +106,77 @@ function IntegrationCards({ integrations }: { integrations: IntegrationData[] }) ); } -export function IntegrationGrid() { - // Combine integrations from both JSON files and normalize logo paths - const integrations: IntegrationData[] = useMemo(() => { - // Process custom integrations to fix logo paths - const processedCustomData = integrationsCustomData.map(integration => ({ - ...integration, - integration_logo: integration.integration_logo.startsWith('/static/') - ? integration.integration_logo.replace('/static/', '/') - : integration.integration_logo - })); - - return [...integrationsData, ...processedCustomData]; +// Helper function to transform CMS data to the expected format +function transformCMSData(cmsData: CMSIntegrationData[]): IntegrationData[] { + // Mapping from CMS category to display-friendly integration type + const categoryMapping: { [key: string]: string } = { + 'AI_ML': 'AI/ML', + 'CLICKPIPES': 'ClickPipes', + 'DATA_INGESTION': 'Data ingestion', + 'DATA_INTEGRATION': 'Data integration', + 'DATA_MANAGEMENT': 'Data management', + 'DATA_VISUALIZATION': 'Data visualization', + 'LANGUAGE_CLIENT': 'Language client', + 'SECURITY_GOVERNANCE': 'Security governance', + 'SQL_CLIENT': 'SQL client' + }; + + return cmsData.map(item => { + // Map category to integration_type array + const integrationTypes = item.attributes.category ? [categoryMapping[item.attributes.category] || item.attributes.category] : []; + + // Map supportLevel to integration_tier + const integrationTier = item.attributes.supportLevel?.toLowerCase() || ''; + + return { + slug: item.attributes.slug.startsWith('/') ? item.attributes.slug : `/${item.attributes.slug}`, + docsLink: item.attributes.docsLink, + integration_logo: item.attributes.logo?.data?.attributes.url ? `https://cms.clickhouse-dev.com:1337${item.attributes.logo.data.attributes.url}` : '', + integration_type: integrationTypes, + integration_title: item.attributes.name, + integration_tier: integrationTier + }; + }); +} + +// Custom hook for fetching CMS data +function useCMSIntegrations() { + const [integrations, setIntegrations] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchIntegrations = async () => { + try { + setLoading(true); + const response = await fetch('https://cms.clickhouse-dev.com:1337/api/integrations?populate[]=logo&populate[]=logo_dark'); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + const transformedData = transformCMSData(data.data || []); + setIntegrations(transformedData); + setError(null); + } catch (err) { + console.error('Failed to fetch integrations from CMS:', err); + setError(err instanceof Error ? err.message : 'Failed to fetch integrations'); + setIntegrations([]); + } finally { + setLoading(false); + } + }; + + fetchIntegrations(); }, []); + return { integrations, loading, error }; +} + +export function IntegrationGrid() { + const { integrations, loading, error } = useCMSIntegrations(); + // Initialize state from localStorage or default values const [searchTerm, setSearchTerm] = useState(() => { if (typeof window !== 'undefined') { @@ -230,10 +328,30 @@ export function IntegrationGrid() { return grouped; }, [filteredIntegrations]); + // Handle loading state + if (loading) { + return ( +
+

Loading integrations...

+
+ ); + } + + // Handle error state + if (error) { + return ( +
+

Failed to load integrations: {error}

+

Please try refreshing the page.

+
+ ); + } + + // Handle empty state if (integrations.length === 0) { return (
-

No integrations found with complete metadata.

+

No integrations found.

); } From 5cda5f27bccf37fd033f8134acbb27b187b3d6a0 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:03:36 +0200 Subject: [PATCH 15/15] incorporate review feedback --- docs/integrations/index.mdx | 408 +----------------- docs/integrations/index_new.mdx | 22 - sidebars.js | 1 - .../IntegrationGrid/IntegrationGrid.tsx | 102 ++++- 4 files changed, 100 insertions(+), 433 deletions(-) delete mode 100644 docs/integrations/index_new.mdx diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index db7cb0d18f3..0d6c7e106b7 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -3,408 +3,20 @@ slug: /integrations title: 'Integrations' keywords: ['integrations', 'integrate', 'integrate with'] description: 'Integrations with ClickHouse' -hide_table_of_contents: true doc_type: 'landing-page' +sidebarCollapsed: true +hide_table_of_contents: true --- -import acceldatapng from '@site/static/images/integrations/logos/acceldata_logo.png'; -import Amazonmsksvg from '@site/static/images/integrations/logos/amazon_msk.svg'; -import Astratosvg from '@site/static/images/integrations/logos/astrato_logo.svg'; -import apachestreamparkpng from '@site/static/images/integrations/logos/apache-streampark.png'; -import Azureeventhubssvg from '@site/static/images/integrations/logos/azure_event_hubs.svg'; -import BladePipesvg from '@site/static/images/integrations/logos/bladepipe.svg'; -import blinkopspng from '@site/static/images/integrations/logos/blinkops_logo.png'; -import CloudCanalsvg from '@site/static/images/integrations/logos/cloudcanal.svg'; -import Chdbsvg from '@site/static/images/integrations/logos/chdb.svg'; -import Clickhousesvg from '@site/static/images/integrations/logos/clickhouse.svg'; -import Clickhousemonitoringdashboardsvg from '@site/static/images/integrations/logos/clickhouse-monitoring-dashboard.svg'; -import Cloudquerysvg from '@site/static/images/integrations/logos/cloudquery_logo.svg'; -import Confluentsvg from '@site/static/images/integrations/logos/confluent.svg'; -import Csharpsvg from '@site/static/images/integrations/logos/csharp.svg'; -import Cubejssvg from '@site/static/images/integrations/logos/cubejs.svg'; -import Datagripsvg from '@site/static/images/integrations/logos/data_grip.svg'; -import Datalenssvg from '@site/static/images/integrations/logos/datalens.svg'; -import Dbeaversvg from '@site/static/images/integrations/logos/dbeaver_logo.svg'; -import Dbtsvg from '@site/static/images/integrations/logos/dbt.svg'; -import Deepnotesvg from '@site/static/images/integrations/logos/deepnote.svg'; -import Dlthubsvg from '@site/static/images/integrations/logos/dlthub_logo.svg'; -import Draxlrsvg from '@site/static/images/integrations/logos/draxlr.svg'; -import Emqxsvg from '@site/static/images/integrations/logos/emqx.svg'; -import Explosvg from '@site/static/images/integrations/logos/explo.svg'; -import Fivetransvg from '@site/static/images/integrations/logos/fivetran.svg'; -import Gcssvg from '@site/static/images/integrations/logos/gcs.svg'; -import Golangsvg from '@site/static/images/integrations/logos/golang.svg'; -import Grafanasvg from '@site/static/images/integrations/logos/grafana.svg'; -import Hdfssvg from '@site/static/images/integrations/logos/hadoop.svg'; -import Hivesvg from '@site/static/images/integrations/logos/hive.svg'; -import Javasvg from '@site/static/images/integrations/logos/java.svg'; -import Jitsusvg from '@site/static/images/integrations/logos/jitsu.svg'; -import Kafkasvg from '@site/static/images/integrations/logos/kafka.svg'; -import Kinesissvg from '@site/static/images/integrations/logos/amazon_kinesis_logo.svg'; -import Kestrasvg from '@site/static/images/integrations/logos/kestra.svg'; -import Lookersvg from '@site/static/images/integrations/logos/looker.svg'; -import Lookerstudiosvg from '@site/static/images/integrations/logos/looker_studio.svg'; -import Mongodbsvg from '@site/static/images/integrations/logos/mongodb.svg'; -import Mysqlsvg from '@site/static/images/integrations/logos/mysql.svg'; -import Natssvg from '@site/static/images/integrations/logos/nats.svg'; -import Nodesvg from '@site/static/images/integrations/logos/node_js.svg'; -import Omnisvg from '@site/static/images/integrations/logos/omni.svg'; -import Observablesvg from '@site/static/images/integrations/logos/observable.svg'; -import opsramppng from '@site/static/images/integrations/logos/ops_ramp_logo.png'; -import Popsinksvg from '@site/static/images/integrations/logos/popsink.svg'; -import Postgresqlsvg from '@site/static/images/integrations/logos/postgresql.svg'; -import Prequelsvg from '@site/static/images/integrations/logos/prequel.svg'; -import Pythonsvg from '@site/static/images/integrations/logos/notext-python.svg'; -import Qrynsvg from '@site/static/images/integrations/logos/qryn.svg'; -import Quesmasvg from '@site/static/images/integrations/logos/quesma.svg'; -import Quicksightsvg from '@site/static/images/integrations/logos/quicksight.svg'; -import Rabbitmqsvg from '@site/static/images/integrations/logos/rabbitmq.svg'; -import Redissvg from '@site/static/images/integrations/logos/redis.svg'; -import restackpng from '@site/static/images/integrations/logos/restack_logo.png'; -import Retoolsvg from '@site/static/images/integrations/logos/retool.svg'; -import Rillsvg from '@site/static/images/integrations/logos/rill.svg'; -import Risingwavesvg from '@site/static/images/integrations/logos/risingwave.svg'; -import RocketbiSVG from '@site/static/images/integrations/logos/rocketbi-logo.svg'; -import Rocksdbsvg from '@site/static/images/integrations/logos/rocksdb.svg'; -import Rudderstacksvg from '@site/static/images/integrations/logos/rudderstack.svg'; -import S3svg from '@site/static/images/integrations/logos/amazon_s3_logo.svg'; -import sematextpng from '@site/static/images/integrations/logos/sematext_logo.png'; -import skywalkingjpeg from '@site/static/images/integrations/logos/skywalking_logo.jpeg'; -import snappyflowpng from '@site/static/images/integrations/logos/snappy_flow_logo.png'; -import Sparksvg from '@site/static/images/integrations/logos/apache_spark_logo.svg'; -import sodapng from '@site/static/images/integrations/logos/soda_logo.png'; -import Sqlitesvg from '@site/static/images/integrations/logos/sqlite.svg'; -import Supersetsvg from '@site/static/images/integrations/logos/superset.svg'; -import Tablumsvg from '@site/static/images/integrations/logos/tablum.svg'; -import teleport from '@site/static/images/integrations/logos/teleport_logo.png'; -import Trickstercachesvg from '@site/static/images/integrations/logos/trickster-logo.svg'; -import Upstashsvg from '@site/static/images/integrations/logos/upstash.svg'; -import Yepcodesvg from '@site/static/images/integrations/logos/yepcode.svg'; -import Warpstreamsvg from '@site/static/images/integrations/logos/warpstream.svg'; -import Bytewaxsvg from '@site/static/images/integrations/logos/bytewax.svg'; -import glue_logo from '@site/static/images/integrations/logos/glue_logo.png'; -import azure_synapse_logo from '@site/static/images/integrations/logos/azure-synapse.png'; -import azure_data_factory_logo from '@site/static/images/integrations/logos/azure-data-factory.png'; -import logo_cpp from '@site/static/images/integrations/logos/logo_cpp.svg'; -import cassandra from '@site/static/images/integrations/logos/cassandra.png'; -import deltalake from '@site/static/images/integrations/logos/deltalake.svg'; -import hudi from '@site/static/images/integrations/logos/hudi.png'; -import iceberg from '@site/static/images/integrations/logos/iceberg.png'; -import metabase from '@site/static/images/integrations/logos/logo_metabase.png'; -import minio from '@site/static/images/integrations/logos/minio.png'; -import odbc from '@site/static/images/integrations/logos/odbc.png'; -import logo_otel from '@site/static/images/integrations/logos/logo_otel.png'; -import powerbi from '@site/static/images/integrations/logos/powerbi.png'; -import redpanda from '@site/static/images/integrations/logos/logo_redpanda.png'; -import rust from '@site/static/images/integrations/logos/logo_rust.png'; -import tableau from '@site/static/images/integrations/logos/logo_tableau.png'; -import airbyte_logo from '@site/static/images/integrations/logos/airbyte-logo.png'; -import acceldata_logo from '@site/static/images/integrations/logos/acceldata_logo.png'; -import atlas_logo from '@site/static/images/integrations/logos/atlas-logo.png'; -import automq_logo from '@site/static/images/integrations/logos/automq.png'; -import blinkops_logo from '@site/static/images/integrations/logos/blinkops_logo.png'; -import calyptia_logo from '@site/static/images/integrations/logos/logo_calyptia.png'; -import dataddo_logo from '@site/static/images/integrations/logos/logo_dataddo.png'; -import dbvisualizer_logo from '@site/static/images/integrations/logos/logo_dbvisualizer.png'; -import decodable_logo from '@site/static/images/integrations/logos/logo_decodable.png'; -import explo_logo from '@site/static/images/integrations/logos/explo.png'; -import fabi_logo from '@site/static/images/integrations/logos/fabi.png'; -import gigasheet_logo from '@site/static/images/integrations/logos/gigasheet.png'; -import glassflow_logo from '@site/static/images/integrations/logos/glassflow.png'; -import goldsky_logo from '@site/static/images/integrations/logos/goldsky.png'; -import growthbook_logo from '@site/static/images/integrations/logos/logo_growthbook.png'; -import hex_logo from '@site/static/images/integrations/logos/logo-hex.png'; -import hightouch_logo from '@site/static/images/integrations/logos/logo_hightouch.png'; -import holistics_logo from '@site/static/images/integrations/logos/logo_holistics.png'; -import housewatch_logo from '@site/static/images/integrations/logos/housewatch.png'; -import mindsdb_logo from '@site/static/images/integrations/logos/logo_mindsdb.png'; -import mitzu_logo from '@site/static/images/integrations/logos/logo_mitzu.png'; -import mode_logo from '@site/static/images/integrations/logos/logo_mode.png'; -import redash_logo from '@site/static/images/integrations/logos/logo_redash.png'; -import restack_logo from '@site/static/images/integrations/logos/restack_logo.png'; -import sematext_logo from '@site/static/images/integrations/logos/sematext_logo.png'; -import streamingfast_logo from '@site/static/images/integrations/logos/streamingfast.png'; -import supabase_logo from '@site/static/images/integrations/logos/logo_supabase.png'; -import teleport_logo from '@site/static/images/integrations/logos/teleport_logo.png'; -import tooljet_logo from '@site/static/images/integrations/logos/tooljet.png'; -import vector_logo from '@site/static/images/integrations/logos/vector.png'; -import zing_logo from '@site/static/images/integrations/logos/zing-logo.png'; -import mage_logo from '@site/static/images/integrations/logos/mage.jpg'; -import metaplane_logo from '@site/static/images/integrations/logos/logo_metaplane.png'; -import openBlocks_logo from '@site/static/images/integrations/logos/logo_openBlocks.png'; -import ramp_logo from '@site/static/images/integrations/logos/ops_ramp_logo.png'; -import runreveal_logo from '@site/static/images/integrations/logos/runreveal.png'; -import sisense_logo from '@site/static/images/integrations/logos/logo_sisense.png'; -import signoz_logo from '@site/static/images/integrations/logos/signoz-logo.png'; -import snappy_flow_logo from '@site/static/images/integrations/logos/snappy_flow_logo.png'; -import soda_logo from '@site/static/images/integrations/logos/soda_logo.png'; -import splunk_logo from '@site/static/images/integrations/logos/splunk_logo.png'; -import streamkap_logo from '@site/static/images/integrations/logos/streamkap-logo.png'; -import airflow_logo from '@site/static/images/integrations/logos/logo_airflow.png'; -import beam_logo from '@site/static/images/integrations/logos/logo_beam.png'; -import inlong_logo from '@site/static/images/integrations/logos/logo_inlong.png'; -import nifi_logo from '@site/static/images/integrations/logos/logo_nifi.png'; -import seatunnel_logo from '@site/static/images/integrations/logos/logo_seatunnel.png'; -import skywalking_logo from '@site/static/images/integrations/logos/skywalking_logo.jpeg'; -import streampark_logo from '@site/static/images/integrations/logos/apache-streampark.png'; -import bytebase_logo from '@site/static/images/integrations/logos/logo_bytebase.png'; -import clickhouse_cl_logo from '@site/static/images/integrations/logos/clickhouse-cl.png'; -import dataflow_logo from '@site/static/images/integrations/logos/dataflow_logo.png'; -import dbnet_logo from '@site/static/images/integrations/logos/dbnet_logo.png'; -import datalens_logo from '@site/static/images/integrations/logos/datalens.png'; -import dataease_logo from '@site/static/images/integrations/logos/dataease.png'; -import datahub_logo from '@site/static/images/integrations/logos/logo_datahub.png'; -import deepflow_logo from '@site/static/images/integrations/logos/logo_deepflow.png'; -import easypanel_logo from '@site/static/images/integrations/logos/logo-easypanel.png'; -import flink_logo from '@site/static/images/integrations/logos/logo_flink.png'; -import goose_logo from '@site/static/images/integrations/logos/goose_logo.png'; -import ibis_logo from '@site/static/images/integrations/logos/logo_ibis.png'; -import jaeger_logo from '@site/static/images/integrations/logos/logo_jaeger.png'; -import jupyter_logo from '@site/static/images/integrations/logos/jupyter.png'; -import adaptive_logo from '@site/static/images/integrations/logos/adaptive_logo.png'; -import mprove_logo from '@site/static/images/integrations/logos/logo_mprove.png'; -import php_logo from '@site/static/images/integrations/logos/logo_php.png'; -import pinax_logo from '@site/static/images/integrations/logos/pinax-logo.png'; -import pulse_logo from '@site/static/images/integrations/logos/pulse.png'; -import qstudio_logo from '@site/static/images/integrations/logos/qstudio.png'; -import qryn_logo from '@site/static/images/integrations/logos/logo_qryn.png'; -import rsyslog_logo from '@site/static/images/integrations/logos/rsyslog.png'; -import ruby_logo from '@site/static/images/integrations/logos/logo_ruby.png'; -import r_logo from '@site/static/images/integrations/logos/logo_r.png'; -import scala_logo from '@site/static/images/integrations/logos/logo_scala.png'; -import schemaspy_logo from '@site/static/images/integrations/logos/schemaspy_logo.png'; -import visual_studio_logo from '@site/static/images/integrations/logos/logo_vs.png'; -import vulcansql_logo from '@site/static/images/integrations/logos/logo-vulcansql.png'; -import great_expectations_logo from '@site/static/images/integrations/logos/great-expectations.webp'; -import Hashboardsvg from '@site/static/images/integrations/logos/hashboard.svg'; -import luzmo_logo from '@site/static/images/integrations/logos/luzmo.png'; -import vs_logo from '@site/static/images/integrations/logos/logo_vs.png'; -import Moosesvg from '@site/static/images/integrations/logos/moose_logo.svg'; -import chartbrew_logo from '@site/static/images/integrations/logos/logo_chartbrew.png'; -import marimo_logo from '@site/static/images/integrations/logos/logo_marimo.png'; -import Image from '@theme/IdealImage'; - -ClickHouse integrations are organized by their support level: - -- **Core integrations:** built or maintained by ClickHouse, they are supported by ClickHouse and live in the ClickHouse GitHub organization -- **Partner integrations:** built or maintained, and supported by, third-party software vendors -- **Community integrations:** built or maintained and supported by community members. No direct support is available besides the public GitHub repositories and community Slack channels - -Each integration is further categorized into **Language client**, **Data ingestion**, **Data visualization** and **SQL client** categories. - -:::note -We are actively compiling this list of ClickHouse integrations below, so it's not exhaustive. Feel free to -[contribute](https://github.com/ClickHouse/clickhouse-docs#contributing) any relevant ClickHouse integration to the list. -::: - -## Core integrations - -
- -|Name|Logo|Category|Description|Resources| -|------|----|----------------|------------------|-------------| -|Amazon Kinesis| |Data ingestion|Integration with Amazon Kinesis.|[Documentation](/integrations/clickpipes/kinesis/)| -|Amazon MSK| |Data ingestion|Integration with Amazon Managed Streaming for Apache Kafka (MSK).|[Documentation](/integrations/kafka/cloud/amazon-msk/)| -|Amazon S3||Data ingestion|Import from, export to, and transform S3 data in flight with ClickHouse built-in S3 functions.|[Documentation](/integrations/data-ingestion/s3/index.md)| -|Amazon Glue|Amazon Glue logo|Data ingestion|Query ClickHouse over Spark using our official Glue connector|[Documentation](/integrations/glue)| -|Apache Spark||Data ingestion|Spark ClickHouse Connector is a high performance connector built on top of Spark DataSource V2.|[GitHub](https://github.com/housepower/spark-clickhouse-connector),
[Documentation](/integrations/data-ingestion/apache-spark/index.md)| -|Azure Event Hubs||Data ingestion|A data streaming platform that supports Apache Kafka's native protocol|[Website](https://azure.microsoft.com/en-gb/products/event-hubs)| -|Azure Synapse|Azure Synapse logo|Data ingestion|A cloud-based analytics service for big data and data warehousing.|[Documentation](/integrations/azure-synapse)| -|Azure Data Factory|Azure Data Factory logo|Data ingestion|A cloud-based data integration service that enables you to create, schedule, and orchestrate data workflows at scale.|[Documentation](/integrations/azure-data-factory)| -|C++||Language client|C++ client for ClickHouse|[GitHub](https://github.com/ClickHouse/clickhouse-cpp)| -|C#||Language client|ADO.NET client implementation for ClickHouse|[Documentation](/integrations/csharp)| -|Cassandra|Cassandra logo|Data ingestion|Allows ClickHouse to use [Cassandra](https://cassandra.apache.org/) as a dictionary source.|[Documentation](/sql-reference/dictionaries/index.md#cassandra)| -|CHDB||AI/ML|An embedded OLAP SQL Engine|[GitHub](https://github.com/chdb-io/chdb#/),
[Documentation](https://doc.chdb.io/)| -|ClickHouse Client||SQL client|ClickHouse Client is the native command-line client for ClickHouse.|[Documentation](/interfaces/cli.md)| -|Confluent||Data ingestion|Integration with Apache Kafka on Confluent platform.|[Documentation](/integrations/kafka/cloud/confluent/custom-connector)| -|dbt||Data integration|Use dbt (data build tool) to transform data in ClickHouse by simply writing select statements. dbt puts the T in ELT.|[Documentation](/integrations/data-ingestion/etl-tools/dbt/index.md)| -|DeltaLake||Data ingestion| provides a read-only integration with existing [Delta Lake](https://github.com/delta-io/delta) tables in Amazon S3.|[Documentation](/engines/table-engines/integrations/deltalake)| -|EmbeddedRocksDB||Data integration|Allows integrating ClickHouse with [rocksdb](http://rocksdb.org/).|[Documentation](/engines/table-engines/integrations/embedded-rocksdb)| -|Fivetran||Data ingestion|[ClickHouse Cloud](https://clickhouse.com/cloud) destination for the [Fivetran data movement platform](https://www.fivetran.com/).|[Documentation](/integrations/data-ingestion/etl-tools/fivetran/index.md)| -|Google Cloud Storage||Data ingestion|Import from, export to, and transform GCS data in flight with ClickHouse built-in `S3` functions.|[Documentation](/integrations/data-ingestion/s3/index.md)| -|Golang||Language client|The Go client uses the native interface for a performant, low-overhead means of connecting to ClickHouse.|[Documentation](/integrations/language-clients/go/index.md)| -|HDFS||Data ingestion|Provides integration with the [Apache Hadoop](https://en.wikipedia.org/wiki/Apache_Hadoop) ecosystem by allowing to manage data on [HDFS](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) via ClickHouse.|[Documentation](/engines/table-engines/integrations/hdfs)| -|Hive||Data ingestionn|The Hive engine allows you to perform `SELECT` queries on HDFS Hive table.|[Documentation](/engines/table-engines/integrations/hive)| -|Hudi|Apache Hudi logo|Data ingestion| provides a read-only integration with existing Apache [Hudi](https://hudi.apache.org/) tables in Amazon S3.|[Documentation](/engines/table-engines/integrations/hudi)| -|Iceberg|Apache Iceberg logo|Data ingestion|Provides a read-only integration with existing Apache [Iceberg](https://iceberg.apache.org/) tables in Amazon S3.|[Documentation](/engines/table-engines/integrations/iceberg)| -|Java, JDBC||Language client|The Java client and JDBC driver.|[Documentation](/integrations/language-clients/java/index.md)| -|Kafka||Data ingestion|Integration with Apache Kafka, the open-source distributed event streaming platform.|[Documentation](/integrations/kafka)| -|Looker Studio||Data visualization|Looker Studio is a free tool that turns your data into informative, easy to read, easy to share, and fully customizable dashboards and reports.|[Documentation](/integrations/lookerstudio)| -|Looker||Data visualization|Looker is an enterprise platform for BI, data applications, and embedded analytics that helps you explore and share insights in real time.|[Documentation](/integrations/looker)| -|Metabase|Metabase logo|Data visualization|Metabase is an easy-to-use, open source UI tool for asking questions about your data.|[Documentation](/integrations/metabase)| -|MinIO|Metabase logo|Data ingestion|MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with the Amazon S3 cloud storage service|[Documentation](/integrations/minio)| -|MongoDB||Data ingestion|MongoDB engine is read-only table engine which allows to read data (`SELECT` queries) from remote MongoDB collection.|[Documentation](/engines/table-engines/integrations/mongodb)| -|MySQL||Data ingestion|The MySQL engine allows you to perform `SELECT` and `INSERT` queries on data that is stored on a remote MySQL server.|[Documentation](/engines/table-engines/integrations/mysql)| -|NATS||Data ingestion|Allows integrating ClickHouse with [NATS](https://nats.io/).|[Documentation](/engines/table-engines/integrations/nats)| -|Node.JS||Language client|The official JS client for connecting to ClickHouse.|[Documentation](/integrations/language-clients/js.md)| -|ODBC|ODBC|Data integration|Allows ClickHouse to connect to external databases via [ODBC](https://en.wikipedia.org/wiki/Open_Database_Connectivity) table engine.|[Documentation](/engines/table-engines/integrations/odbc)| -|OpenTelemetry|OTel logo|Data ingestion|Exporter that supports sending logs, metrics, trace OpenTelemetry data to ClickHouse|[GitHub](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/clickhouseexporter)| -|PostgreSQL||Data ingestion|Snapshot and real-time CDC data replication from PostgreSQL databases to ClickHouse Cloud.|[Documentation](/integrations/postgresql)| -|PowerBI|PowerBI logo|Data visualization|Microsoft Power BI is an interactive data visualization software product developed by Microsoft with a primary focus on business intelligence.|[Documentation](/integrations/powerbi) -|Python||Language client|A suite of Python packages for connecting Python to ClickHouse.|[Documentation](/integrations/language-clients/python/index.md)| -|QuickSight||Data visualization|Amazon QuickSight powers data-driven organizations with unified business intelligence (BI).|[Documentation](/integrations/quicksight)| -|RabbitMQ||Data ingestion|Allows ClickHouse to connect [RabbitMQ](https://www.rabbitmq.com/).|[Documentation](/engines/table-engines/integrations/rabbitmq)| -|Redis||Data ingestion|Allows ClickHouse to use [Redis](https://redis.io/) as a dictionary source.|[Documentation](/sql-reference/dictionaries/index.md#redis)| -|Redpanda|Redpanda logo|Data ingestion|Redpanda is the streaming data platform for developers. It's API-compatible with Apache Kafka, but 10x faster, much easier to use, and more cost effective|[Blog](https://redpanda.com/blog/real-time-olap-database-clickhouse-redpanda)| -|REST Catalog||Data ingestion|Integration with REST Catalog specification for Iceberg tables, supporting multiple catalog providers including Tabular.io.|[Documentation](/use-cases/data-lake/rest-catalog)| -|Lakekeeper||Data ingestion|Integration with Lakekeeper, an open-source REST catalog implementation for Apache Iceberg with multi-tenant support.|[Documentation](/use-cases/data-lake/lakekeeper-catalog)| -|Nessie||Data ingestion|Integration with Nessie, an open-source transactional catalog for data lakes with Git-like data version control.|[Documentation](/use-cases/data-lake/nessie-catalog)| -|Rust|Rust logo|Language client|A typed client for ClickHouse|[Documentation](/integrations/language-clients/rust.md)| -|SQLite||Data ingestion|Allows to import and export data to SQLite and supports queries to SQLite tables directly from ClickHouse.|[Documentation](/engines/table-engines/integrations/sqlite)| -|Superset||Data visualization|Explore and visualize your ClickHouse data with Apache Superset.|[Documentation](/integrations/data-visualization/superset-and-clickhouse.md)| -|Tableau|Tableau logo|Data visualization|Interactive data visualization software focused on business intelligence|[Documentation](/integrations/tableau)| -|Tableau Online|Tableau Online logo|Data visualization|Tableau Online streamlines the power of data to make people faster and more confident decision makers from anywhere|[Documentation](/integrations/tableau-online)| - -
-
- -## Partner integrations - -
- -|Name|Logo|Category|Description|Resources| -|------|----|----------------|------------------|-------------| -|Airbyte|Airbyte logo|Data ingestion|Use Airbyte, to create ELT data pipelines with more than 140 connectors to load and sync your data into ClickHouse.|[Documentation](/integrations/data-ingestion/etl-tools/airbyte-and-clickhouse.md)| -|AccelData|AccelData Logo|Data management|ADOC allows users to monitor and ensure the dependability and integrity of their visualized data, facilitating rea-time data processing and analytics.|[External documentation](https://docs.acceldata.io/documentation/clickhouse) | -|Atlas|Atlas logo|Schema management|Manage your ClickHouse schema as code. |[External documentation](https://atlasgo.io/guides/clickhouse?utm_source=clickhouse&utm_term=docs)| -|Astrato||Data visualization|Astrato brings true Self-Service BI to Enterprises & Data Businesses by putting analytics in the hands of every user, enabling them to build dashboards, reports & data apps without IT.|[Documentation](/integrations/astrato)| -|AutoMQ|AutoMQ logo|Data ingestion|Cloud-native Kafka and RocketMQ alternatives that decouples durability to S3 and EBS|[Website](https://www.automq.com/)| -|BladePipe||Data ingestion|A real-time end-to-end data integration tool with sub-second latency.|[Documentation](/integrations/data-ingestion/etl-tools/bladepipe-and-clickhouse.md)| -|BlinkOps|BlinkOps Logo|Security automation|Create automations to manage data and user permissions.|[External documentation](https://docs.blinkops.com/docs/integrations/clickhouse)| -|Bytewax||Data ingestion|Open source Python stream processor for transforming and ingesting data to ClickHouse|[External documentation](https://bytewax.io/blog/building-a-click-house-sink-for-bytewax)| -|Calyptia (Fluent Bit)|Calyptia logo|Data ingestion|CNCF graduated open-source project for the collection, processing, and delivery of logs, metrics, and traces|[Blog](https://clickhouse.com/blog/kubernetes-logs-to-clickhouse-fluent-bit)| -|Chartbrew|Chartbrew logo|Data visualization|Chartbrew is a data visualization platform that allows users to create dashboards and monitor data in real time.|[Documentation](/integrations/chartbrew-and-clickhouse),
[Website](https://chartbrew.com/integrations/clickhouse),
[Blog](https://chartbrew.com/blog/visualizing-clickhouse-data-with-chartbrew-a-step-by-step-guide/)| -|CloudQuery||Data ingestion|Open source high-performance ELT framework.|[External documentation](https://www.cloudquery.io/docs/plugins/destinations/clickhouse/overview)| -|Cube.js||Data visualization|Cube is the Semantic Layer for building data apps.|[Website](https://cube.dev/for/clickhouse-dashboard)| -|CloudCanal||Data ingestion|A real-time data replication tool for seamless and easy data flow.|[Website](https://www.clougence.com/)| -|DBeaver||SQL client|Free multi-platform database administration tool. Connects to Clickhouse through JDBC driver.|[Documentation](/integrations/sql-clients/dbeaver.md)| -|DataGrip||SQL client|DataGrip is a powerful database IDE with dedicated support for ClickHouse.|[Documentation](/integrations/sql-clients/datagrip.md)| -|Dataddo|Dataddo logo|Data integration|Data integration platform|[Website](https://www.dataddo.com/storage/clickhouse)| -|DbVisualizer|DbVisualizer logo|SQL client|DbVisualizer is a database tool with extended support for ClickHouse.|[Documentation](/integrations/sql-clients/dbvisualizer.md)| -|Decodable|Decodable logo|Data ingestion|Powerful Stream Processing Built On Apache Flink|[Website](https://www.decodable.co/connectors/clickhouse)| -|Deepnote||Data visualization|Deepnote is a collaborative Jupyter-compatible data notebook built for teams to discover and share insights.|[Documentation](/integrations/data-visualization/deepnote.md)| -|DLT||Data integration|An open source Python library that makes data loading easy.|[Documentation](/integrations/data-ingestion/etl-tools/dlt-and-clickhouse)| -|Draxlr||Data visualization|Draxlr is a Business intelligence tool with data visualization and analytics.|[Documentation](/integrations/data-visualization/draxlr-and-clickhouse.md)| -|EMQX||Data ingestion|EMQX is an open source MQTT broker with a high-performance real-time message processing engine, powering event streaming for IoT devices at massive scale.|[Documentation](/integrations/emqx)| -|Explo| Explo logo | Data visualization | Explo is a customer-facing analytics tool for any platform. | [Documentation](/integrations/explo) | -|Fabi.ai| Fabi.ai logo | Data visualization | Fabi.ai is an all-in-one collaborate data analysis platform. You can leverage SQL, Python, AI, and no-code to build dashboard and data workflows faster than ever before. | [Documentation](/integrations/data-visualization/fabi-and-clickhouse.md) | -|Gigasheet| Gigasheet logo | Data visualization | A cloud big data analytics spreadsheet that enables business users to instantly analyze and explore ClickHouse data. | [Website](https://gigasheet.com/enterprise) | -|GlassFlow| GlassFlow logo | Data ingestion | Real-time event streaming and data transformation in Python for ClickHouse. | [External documentation](https://docs.glassflow.dev/integrations/managed-connectors/sinks/clickhouse) | -|Goldsky| Goldsky logo | Data Integration | High-performance Web3 data indexing via Subgraphs and real-time data replication pipelines. | [External documentation](https://docs.goldsky.com/introduction) | -|Grafana||Data visualization|With Grafana you can create, explore and share all of your data through dashboards.|[Documentation](/integrations/data-visualization/grafana/index.md)| -|Great Expectations| Great Expectations logo | Data management | An open-source data management tool, with a paid cloud offering. | [Website](https://greatexpectations.io/) | -|GrowthBook| GrowthBook logo | Data visualization | Warehouse native experimentation platform (feature flagging and A/B testing). | [External documentation](https://docs.growthbook.io/warehouses/clickhouse) | -|HEX| HEX logo | Data visualization | Hex is a modern, collaborative platform with notebooks, data apps, SQL, Python, no-code, R, and so much more. | [External documentation](https://learn.hex.tech/docs/connect-to-data/data-connections/overview) | -|Hashboard||Data visualization|[Hashboard](https://hashboard.com) is a business intelligence platform that enables self-service data exploration and metric tracking.|[External documentation](https://docs.hashboard.com/docs/database-connections/clickhouse)| -|HighTouch|HighTouch logo|Data integration|Sync your data directly from your warehouse to 140+ destinations|[Website](https://hightouch.com/docs/sources/clickhouse)| -|Holistics|Holistics logo|Data visualization|Business Intelligence for ClickHouse database|[Website](https://www.holistics.io/integrations/clickhouse/)| -|HouseWatch|HouseWatch logo|Data management| Open source tool for monitoring and managing ClickHouse clusters. |[GitHub](https://github.com/PostHog/HouseWatch)| -|IBM Instana| |Data management|Instana can auto-discover and monitor ClickHouse server processes|[External documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=technologies-monitoring-clickhouse)| -|Jitsu||Data analytics|An open-source event collection platform.|[External documentation](https://docs.jitsu.com/destinations/warehouse/clickhouse)| -|LangChain|πŸ¦œοΈπŸ”—|SDK|LangChain is a framework for developing applications powered by language models|[External documentation](https://python.langchain.com/docs/integrations/vectorstores/clickhouse/)| -|Luzmo|Luzmo logo|Data visualization|Luzmo is an embedded analytics platform with a native ClickHouse integration, purpose-built for Software and SaaS applications.|[Documentation](/integrations/data-visualization/luzmo-and-clickhouse.md)| -|Mage|Mage logo|Data Ingestion|Open-source data pipeline tool for transforming and integrating data|[External documentation](https://docs.mage.ai/integrations/databases/ClickHouse) -|Metaplane|Metaplane logo|Data management|Data observability for every data team|[Website](https://www.metaplane.dev/integrations)| -|MindsDB|MindsDB logo|AI/ML| The platform for customizing AI from enterprise data |[Website](https://mindsdb.com/clickhouse-machine-learning )| -|Mitzu|Mitzu logo|Data visualization|Mitzu is a no-code warehouse-native product analytics application. Find funnel, retention, user segmentation insights without copying your data.|[Documentation](/integrations/mitzu)| -|Mode Analytics|Mode logo|Data visualization|Business Intelligence built around data teams|[Website](https://mode.com/)| -|Moose OLAP||Language client|Moose OLAP offers TypeScript and Python abstractions and ORM-like functionality built natively for ClickHouse|[Documentation](interfaces/third-party/moose-olap),[Website](https://www.fiveonefour.com/moose)| -|Omni||Data visualization|Business intelligence that speaks your language. Explore, visualize, and model data your way with Omni. From spreadsheets to SQLβ€”in a single platform.| [Website](https://omni.co/)| -|Openblocks|Openblocks logo|SQL client|Openblocks is a low code platform for building UIs|[External documentation](https://blog.openblocks.dev/blog/openblocks-x-clickhouse)| -|OpsRamp (HP)| OpsRamp Logo|Data management| Provides observability metrics for ClickHouse|[External documentation](https://docs.opsramp.com/integrations/database-no-sql/automonitor-clickhouse-monitoring/)| -|Popsink||Data integration|Build real-time Change Data Capture (CDC) pipelines to ClickHouse.|[External documentation](https://docs.popsink.com/connectors/target/clickhouse/)| -|Prequel||Data sharing|Connect your ClickHouse instance to Prequel to share data to or sync data from your users and partners.|[External documentation](https://docs.prequel.co/docs/sources-clickhouse-generic)| -|Quesma||Data integration|Use Kibana and OpenSearch Dashboards with data in ClickHouse.|[Website](https://quesma.com/quesma-for-elk)| -|Redash|Redash logo|Data visualization|Connect and query your data sources, build dashboards to visualize data and share|[Website](https://redash.io/help/data-sources/querying/supported-data-sources)| -|Restack Data Hub|Restack logo|Data governance|Users can achieve more comprehensive data governance and observability framework with Restack Data Hub.|[External documentation](https://www.restack.io/docs/datahub-knowledge-datahub-clickhouse-integration)| -|Restack OpenMetadata|Restack logo|Data quality|Restack OpenMetadata supports metadata extraction, query usage tracking, data profiling, and data quality checks.|[External documentation](https://www.restack.io/docs/openmetadata-knowledge-openmetadata-clickhouse-integration)| -|Retool||No code|Create your application with drag-and-drop interface. |[Documentation](/integrations/retool)| -|Rill||Data visualization|Rill is an Operational BI tool purpose-built for slicing & dicing data with OLAP engines.|[External documentation](https://docs.rilldata.com/reference/olap-engines/clickhouse)| -|RisingWave||Data ingestion| SQL stream processing with a Postgres-like experience. 10x faster and more cost-efficient than Apache Flink. |[External documentation](https://docs.risingwave.com/docs/current/sink-to-clickhouse/)| -|RudderStack||Data ingestion|RudderStack makes it easy to collect and send customer data to the tools and teams that need it|[External documentation](https://www.rudderstack.com/docs/destinations/warehouse-destinations/clickhouse/)| -|RunReveal|RunReveal logo|Data ingestion|Ingest and normalize audit logs from any SaaS application into ClickHouse. Create alerts and detections from scheduled queries.|[Website](https://runreveal.com)| -|Sematext|Sematext logo|Data management|Observability monitoring for ClickHouse databases.|[External documentation](https://sematext.com/docs/integration/clickhouse/)| -|SiSense|SiSense logo|Data visualization|Embed analytics into any application or workflow|[Website](https://www.sisense.com/data-connectors/)| -|SigNoz|SigNoz logo|Data visualization|Open Source Observability Platform|[Documentation](https://www.signoz.io/docs/architecture/)| -|Snappy Flow|Snappy Flow logo|Data management|Collects ClickHouse database metrics via plugin.|[Documentation](https://docs.snappyflow.io/docs/Integrations/clickhouse/instance)| -|Soda|Soda logo|Data quality|Soda integration makes it easy for organizations to detect, resolve, and prevent data quality issues by running data quality checks on data before it is loaded into the database.|[Website](https://www.soda.io/integrations/clickhouse)| -|SigNoz|SigNoz logo|Data visualization|Open Source Observability Platform|[External documentation](https://www.signoz.io/docs/architecture/)| -|Snappy Flow|Snappy Flow logo|Data management|Collects ClickHouse database metrics via plugin.|[External documentation](https://docs.snappyflow.io/docs/Integrations/clickhouse/instance)| -|Soda|Soda logo|Data quality|Soda integration makes it easy for organisations to detect, resolve, and prevent data quality issues by running data quality checks on data before it is loaded into the database.|[Website](https://www.soda.io/integrations/clickhouse)| -|Splunk|Splunk logo|Data integration|Splunk modular input to import to Splunk the ClickHouse Cloud Audit logs.|[Website](https://splunkbase.splunk.com/app/7709),
[Documentation](/integrations/tools/data-integration/splunk/index.md)| -|StreamingFast|StreamingFast logo|Data ingestion| Blockchain-agnostic, parallelized and streaming-first data engine. |[Website](https://www.streamingfast.io/)| -|Streamkap|Streamkap logo|Data ingestion|Setup real-time CDC (Change Data Capture) streaming to ClickHouse with high throughput in minutes.|[External documentation](https://docs.streamkap.com/docs/clickhouse)| -|Supabase|Supabase logo|Data ingestion|Open source Firebase alternative|[GitHub](https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/clickhouse_fdw),[Blog](https://clickhouse.com/blog/migrating-data-between-clickhouse-postgres)| -|Teleport|Teleport logo|Secure connection|Teleport Database Service authenticates to ClickHouse using x509 certificates, which are available for the ClickHouse HTTP and Native (TCP) interfaces.|[External documentation](https://goteleport.com/docs/enroll-resources/database-access/enroll-self-hosted-databases/clickhouse-self-hosted/)| -|TABLUM.IO||SQL client|TABLUM.IO ingests data from a variety of sources, normalizes and cleans inconsistencies, and gives you access to it via SQL.|[Documentation](/integrations/sql-clients/tablum.md)| -|Tooljet|Tooljet logo|Data Visualization|ToolJet is an open-source low-code framework to build and deploy custom internal tools.|[External documentation](https://docs.tooljet.com/docs/data-sources/clickhouse/)| -|Upstash||Data Ingestion|A data platform offering serverless Kafka and other solutions|[Website](https://upstash.com/)| -|Vector|Vector logo|Data ingestion|A lightweight, ultra-fast tool for building observability pipelines with built-in compatibility with ClickHouse.|[Documentation](/integrations/vector/)| -|WarpStream||Data Ingestion|A Kafka compatible data streaming platform built directly on top of object storage|[Website](https://www.warpstream.com/)| -|YepCode||Data integration|YepCode is the integration & automation tool that loves source code.|[External documentation](https://yepcode.io/docs/integrations/clickhouse/)| -|Zing Data|Zing logo|Data visualization|Simple social business intelligence for ClickHouse, made for iOS, Android and the web.|[External documentation](https://docs.getzingdata.com/docs/)| - -
- -
+import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; -## Community integrations +# Integrations -
+Connect ClickHouse with your favorite tools and services to build powerful data pipelines and analytics workflows. -|Name|Logo|Category|Description|Resources| -|------|----|----------------|------------------|-------------| -|Apache Airflow|Airflow logo|Data ingestion|Open-source workflow management platform for data engineering pipelines|[Github](https://github.com/bryzgaloff/airflow-clickhouse-plugin)| -|Apache Beam|Beam logo|Data ingestion|Open source, unified model and set of language-specific SDKs for defining and executing data processing workflows. Compatible with Google Dataflow.|[Documentation](/integrations/apache-beam),
[Examples](https://github.com/ClickHouse/clickhouse-beam-connector/)| -|Apache InLong|InLong logo|Data ingestion|One-stop integration framework for massive data|[External documentation](https://inlong.apache.org/docs/data_node/load_node/clickhouse)| -|Apache NiFi|NiFi logo|Data ingestion|Automates the flow of data between software systems|[Documentation](/integrations/nifi)| -|Apache SeaTunnel|SeaTunnel logo|Data ingestion|SeaTunnel is a very easy-to-use ultra-high-performance distributed data integration platform|[Website](https://seatunnel.apache.org/docs/2.3.0/connector-v2/sink/Clickhouse)| -|Apache SkyWalking|SkyWalking logo|Data management|Open-source APM system that provides monitoring, tracing and diagnosing capabilities for distributed systems in Cloud Native architectures.|[Blog](https://skywalking.apache.org/blog/2024-03-12-monitoring-clickhouse-through-skywalking/)| -|Apache StreamPark|SeaTunnel logo|Data ingestion|A stream processing application development framework and stream processing operation platform. |[Website](https://streampark.apache.org/docs/intro)| -|Bytebase|ByteBase logo|Data management|Open-source database DevOps tool, it's the GitLab for managing databases throughout the application development lifecycle|[External documentation](https://www.bytebase.com/docs/introduction/supported-databases)| -|CHProxy| |Data management|Chproxy is an HTTP proxy and load balancer for the ClickHouse database|[GitHub](https://github.com/ContentSquare/chproxy)| -|Chat-DBT| |AI Integration|Create ClickHouse queries using Chat GPT.|[GitHub](https://github.com/plmercereau/chat-dbt)| -|ClickHouse Monitoring Dashboard||Dashboard|A simple monitoring dashboard for ClickHouse|[Github](https://github.com/duyet/clickhouse-monitoring)| -|Common Lisp|clickhouse-cl Logo|Language client|Common Lisp ClickHouse Client Library|[GitHub](https://github.com/juliojimenez/clickhouse-cl)| -|Dataflow|Dataflow logo|Data ingestion|Google Dataflow is a serverless service for running batch and streaming data pipelines using Apache Beam.|[Documentation](/integrations/google-dataflow/dataflow)| -|DBNet|Airflow logo|Software IDE|Web-based SQL IDE using Go as a back-end, and the browser as the front-end.|[Github](https://github.com/dbnet-io/dbnet)| -|DataLens|Datalens logo|Data visualization|An open-source data analytics and visualization tool.|[Website](https://datalens.tech/),
[External documentation](https://datalens.tech/docs/en/)| -|Dataease|Dataease logo|Data visualization|Open source data visualization analysis tool to help users analyze data and gain insight into business trends.|[Website](https://dataease.io/)| -|Datahub|Datahub logo|Data management|Open Source Data Catalog that enables data discovery, data observability and federated governance|[External documentation](https://datahubproject.io/docs/generated/ingestion/sources/clickhouse/)| -|Dbmate| |Data management|Database migration tool that will keep your database schema in sync across multiple developers and servers|[GitHub](https://github.com/amacneil/dbmate#clickhouse)| -|DeepFlow|Deepflow logo|Data ingestion|Application Observability using eBPF|[Website](https://deepflow.io)| -|Easypanel|Easypanel logo|Deployment method|It's a modern server control panel. You can use it to deploy ClickHouse on your own server.|[Website](https://easypanel.io),
[Documentation](/integrations/tools/data-integration/easypanel/index.md)| -|Explo||Data visualization|Explo helps companies build real-time analytics dashboard by providing flexible components.|[Website](https://www.explo.co/integrations/clickhouse)| -|Flink|Flink logo|Data ingestion|Flink sink for ClickHouse database, powered by Async Http Client|[GitHub](https://github.com/itinycheng/flink-connector-clickhouse)| -|Goose|Goose logo|Data migration|A database migration tool that supports SQL migrations and Go functions.|[GitHub](https://github.com/pressly/goose),
[External documentation](https://pressly.github.io/goose/)| -|Ibis|Ibis logo|Language client|The flexibility of Python analytics with the scale and performance of modern SQL|[Website](https://ibis-project.org/backends/ClickHouse/)| -|Jaeger|Jaeger logo|Data ingestion|Jaeger gRPC storage plugin implementation for storing traces in ClickHouse|[GitHub](https://github.com/jaegertracing/jaeger-clickhouse)| -|JupySQL|JupySQL logo|SQL client|The native SQL client for Jupyter notebooks.|[Documentation](/integrations/jupysql)| -|Kestra||Data orchestration|Open source data orchestration and scheduling platform|[Website](https://kestra.io/plugins/plugin-jdbc-clickhouse/)| -|Logchain|Adaptive Logchain logo|Security|Data security and privileged access management|[Website](https://github.com/adaptive-scale/logchain)| -|Meltano||Data ingestion|Meltano is an open-source, full-stack data integration platform|[Documentation](https://hub.meltano.com/extractors/tap-clickhouse) -|Mprove|mprove logo|Data visualization|Self-service Business Intelligence with Version Control|[Website](https://mprove.io/)| -|Netobserv||Data management|An OpenShift and Kubernetes operator for network observability.|[Blog](https://cloud.redhat.com/blog/deploying-network-observability-without-loki-an-example-with-clickhouse) -|Observable||Data visualization|Observable is a platform where you can collaboratively explore, analyze, visualize, and communicate with data on the web.|[Website](https://observablehq.com/@stas-sl/clickhouse-playground)| -|PHP|PHP logo|Language client|This extension provides the ClickHouse integration for the Yii framework 2.0|[GitHub](https://github.com/smi2/phpClickHouse)| -|Pgwarehouse||Data ingestion|Simple tool to quickly replicate Postgres tables into ClickHouse|[GitHub](https://github.com/scottpersinger/pgwarehouse)| -|Pinax|Pinax logo|Blockchain analytics|Indexing, analytics, and search tools for blockchains.|[Blog](https://blog.pinax.network/substreams/simplify-real-time-blockchain-analytics-with-clickhouse/)| -|Pulse|PulseUI logo|Data management|A developer platform for internal data UIs.|[Website](https://www.timestored.com/pulse/)| -|QStudio|QStudio logo|GUI|A simple to use GUI for interacting with ClickHouse databases.|[Website](https://www.timestored.com/qstudio/database/clickhouse)| -|Qryn|qryn logo|Data Ingestion, Management, Visualization | qryn is a polyglot observability stack built on top of ClickHouse, transparently compatible with Loki, Prometheus, Tempo, Opentelemetry and many other formats and standard APIs without requiring custom clients, code or plugins|[External documentation](https://qryn.dev), [Github](https://github.com/metrico), [Website](https://qryn.cloud)| -|RSyslog|RSyslog logo|Data Ingestion|This module provides native support for logging to ClickHouse.|[External documentation](https://www.rsyslog.com/doc/master/configuration/modules/omclickhouse.html)| -|Rocket.BI||Data visualization|RocketBI is a self-service business intelligence platform that helps you quickly analyze data, build drag-n-drop visualizations and collaborate with colleagues right on your web browser.|[GitHub](https://github.com/datainsider-co/rocket-bi),
[Documentation](/integrations/data-visualization/rocketbi-and-clickhouse.md)| -|Ruby|Ruby logo|Language client|A modern Ruby database driver for ClickHouse|[GitHub](https://github.com/shlima/click_house)| -|R|R logo|Language client|R package is a DBI interface for the ClickHouse database|[GitHub](https://github.com/IMSMWU/RClickHouse)| -|SQLPad||SQL client|SQLPad is a web app for writing and running SQL queries and visualizing the results|[External documentation](https://getsqlpad.com/en/connections/#clickhouse)| -|Scala|Scala logo|Language client|ClickHouse Scala Client that uses Akka Http|[GitHub](https://github.com/crobox/clickhouse-scala-client)| -|SchemaSpy|SchemaSpy logo|Data visualization|SchemaSpy supports ClickHouse schema visualuzation|[GitHub](https://github.com/schemaspy/schemaspy)| -|TricksterCache||Data visualization| Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator |[Website](https://trickstercache.org/)| -|Visual Studio Client|VS logo|Language client|Visual studio lightweight client|[Marketplace](https://marketplace.visualstudio.com/items?itemName=fanruten.clickhouse-light)| -|VulcanSQL|VulcanSQL logo|Data API Framework|It's a Data API Framework for data applications that helps data folks create and share data APIs faster. It turns your SQL templates into data APIs. No backend skills required.|[Website](https://vulcansql.com/),
[External documentation](https://vulcansql.com/docs/connect/clickhouse)| -|marimo|marimo logo|SQL Client|An open-source reactive notebook for Python with SQL built-in. Create data visualizations, shareable apps or executable scripts.|[Website](https://marimo.io/),
[External documentation](https://docs.marimo.io/guides/working_with_data/sql/?h=sql#clickhouse-support)| -
+ -:::info Notice -Third-party logos and trademarks belong to their respective owners and are shown only to indicate available integrations. No endorsement is implied. -::: +:::note Notice +Third-party logos and trademarks belong to their respective owners and are shown only to indicate available integrations. +No endorsement is implied. +::: \ No newline at end of file diff --git a/docs/integrations/index_new.mdx b/docs/integrations/index_new.mdx deleted file mode 100644 index a6710ce50a8..00000000000 --- a/docs/integrations/index_new.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -slug: /integrations_new -title: 'Integrations' -keywords: ['integrations', 'integrate', 'integrate with'] -description: 'Integrations with ClickHouse' -doc_type: 'landing-page' -sidebarCollapsed: true -hide_table_of_contents: true ---- - -import { IntegrationGrid } from '@site/src/components/IntegrationGrid'; - -# Integrations - -Connect ClickHouse with your favorite tools and services to build powerful data pipelines and analytics workflows. - - - -:::note Notice -Third-party logos and trademarks belong to their respective owners and are shown only to indicate available integrations. -No endorsement is implied. -::: \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 3929376a57d..3821783583e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -475,7 +475,6 @@ const sidebars = { collapsible: false, link: { type: "doc", id: "integrations/language-clients/index" }, items: [ - "integrations/index_new", "interfaces/cpp", "integrations/language-clients/go/index", "integrations/language-clients/js", diff --git a/src/components/IntegrationGrid/IntegrationGrid.tsx b/src/components/IntegrationGrid/IntegrationGrid.tsx index 8fae810b5f8..227b07dbe15 100644 --- a/src/components/IntegrationGrid/IntegrationGrid.tsx +++ b/src/components/IntegrationGrid/IntegrationGrid.tsx @@ -1,6 +1,7 @@ import React, { useState, useMemo, useEffect } from 'react'; import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; +import { useColorMode } from '@docusaurus/theme-common'; import CUICard from '@site/src/components/CUICard'; import styles from './styles.module.scss'; @@ -33,12 +34,15 @@ type IntegrationData = { slug: string; docsLink?: string; integration_logo: string; + integration_logo_dark?: string; integration_type: string[]; integration_title?: string; integration_tier?: string; }; function IntegrationCard({ integration }: { integration: IntegrationData }) { + const { colorMode } = useColorMode(); + // Convert ClickHouse docs URLs to relative links const getNavigationLink = (docsLink: string | undefined, slug: string): string => { if (!docsLink) { @@ -56,6 +60,16 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { return docsLink; }; + // Select appropriate logo based on theme and availability + const getLogoSrc = (): string => { + // If we're in dark mode and dark logo is available, use it + if (colorMode === 'dark' && integration.integration_logo_dark) { + return integration.integration_logo_dark; + } + // Otherwise, use the regular logo + return integration.integration_logo; + }; + const linkTo = getNavigationLink(integration.docsLink, integration.slug); return ( @@ -65,11 +79,11 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { > {/* Tier Icon in top right corner */} - {integration.integration_tier && ( + {integration.integration_tier && integration.integration_tier !== 'community' && (
@@ -79,7 +93,7 @@ function IntegrationCard({ integration }: { integration: IntegrationData }) { {`${integration.integration_title @@ -132,6 +146,7 @@ function transformCMSData(cmsData: CMSIntegrationData[]): IntegrationData[] { slug: item.attributes.slug.startsWith('/') ? item.attributes.slug : `/${item.attributes.slug}`, docsLink: item.attributes.docsLink, integration_logo: item.attributes.logo?.data?.attributes.url ? `https://cms.clickhouse-dev.com:1337${item.attributes.logo.data.attributes.url}` : '', + integration_logo_dark: item.attributes.logo_dark?.data?.attributes.url ? `https://cms.clickhouse-dev.com:1337${item.attributes.logo_dark.data.attributes.url}` : undefined, integration_type: integrationTypes, integration_title: item.attributes.name, integration_tier: integrationTier @@ -229,8 +244,8 @@ export function IntegrationGrid() { // Custom sort order const sortOrder = [ - 'ClickPipes', 'Language client', + 'ClickPipes', 'Data ingestion', 'Data visualization', 'AI/ML', @@ -290,7 +305,7 @@ export function IntegrationGrid() { // Filter and group integrations const filteredIntegrations = useMemo(() => { - return integrations.filter(integration => { + const filtered = integrations.filter(integration => { const matchesSearch = integration.integration_title?.toLowerCase().includes(searchTerm.toLowerCase()) || integration.slug.toLowerCase().includes(searchTerm.toLowerCase()); @@ -302,6 +317,25 @@ export function IntegrationGrid() { return matchesSearch && matchesFilter && matchesTier; }); + + // Sort filtered results by tier first, then by title + return filtered.sort((a, b) => { + // Define tier priority order + const tierOrder = ['core', 'partner', 'community', '']; + const tierA = a.integration_tier || ''; + const tierB = b.integration_tier || ''; + + const tierIndexA = tierOrder.indexOf(tierA); + const tierIndexB = tierOrder.indexOf(tierB); + + // If tiers are different, sort by tier priority + if (tierIndexA !== tierIndexB) { + return tierIndexA - tierIndexB; + } + + // If tiers are the same, sort by title alphabetically + return (a.integration_title || '').localeCompare(b.integration_title || ''); + }); }, [integrations, searchTerm, selectedFilter, selectedTier]); // Group integrations by type for sectioned view @@ -320,9 +354,25 @@ export function IntegrationGrid() { }); }); - // Sort each group by title + // Sort each group by tier first, then by title grouped.forEach((integrationsArray, key) => { - integrationsArray.sort((a, b) => (a.integration_title || '').localeCompare(b.integration_title || '')); + integrationsArray.sort((a, b) => { + // Define tier priority order + const tierOrder = ['core', 'partner', 'community', '']; + const tierA = a.integration_tier || ''; + const tierB = b.integration_tier || ''; + + const tierIndexA = tierOrder.indexOf(tierA); + const tierIndexB = tierOrder.indexOf(tierB); + + // If tiers are different, sort by tier priority + if (tierIndexA !== tierIndexB) { + return tierIndexA - tierIndexB; + } + + // If tiers are the same, sort by title alphabetically + return (a.integration_title || '').localeCompare(b.integration_title || ''); + }); }); return grouped; @@ -439,7 +489,35 @@ export function IntegrationGrid() { {selectedFilter === 'All' ? ( // Show sections grouped by type Array.from(groupedIntegrations.entries()) - .sort(([a], [b]) => a.localeCompare(b)) + .sort(([a], [b]) => { + // Use the same sort order as the filter buttons + const sortOrder = [ + 'Language client', + 'ClickPipes', + 'Data ingestion', + 'Data visualization', + 'AI/ML', + 'Data integration', + 'Data management', + 'Security governance', + 'SQL client' + ]; + + const indexA = sortOrder.indexOf(a); + const indexB = sortOrder.indexOf(b); + + // If both items are in the sort order, sort by their position + if (indexA !== -1 && indexB !== -1) { + return indexA - indexB; + } + + // If only one item is in the sort order, prioritize it + if (indexA !== -1) return -1; + if (indexB !== -1) return 1; + + // If neither item is in the sort order, fall back to alphabetical + return a.localeCompare(b); + }) .map(([type, typeIntegrations]) => (

@@ -479,7 +557,7 @@ function getTierIcon(tier: string, withMargin = false): React.ReactNode { switch (tier) { case 'core': return ( - + @@ -489,7 +567,7 @@ function getTierIcon(tier: string, withMargin = false): React.ReactNode { ); case 'partner': return ( - + @@ -500,7 +578,7 @@ function getTierIcon(tier: string, withMargin = false): React.ReactNode { ); case 'community': return ( - +