vibecarbon 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +663 -0
- package/README.md +188 -0
- package/carbon/.claude/hooks/task-completed-gate.sh +19 -0
- package/carbon/.claude/hooks/teammate-idle-gate.sh +29 -0
- package/carbon/.claude/settings.json +29 -0
- package/carbon/.cursor/rules/vibecarbon.mdc +6 -0
- package/carbon/.dockerignore +57 -0
- package/carbon/.env.example +219 -0
- package/carbon/.github/copilot-instructions.md +3 -0
- package/carbon/.github/workflows/deploy.yml +346 -0
- package/carbon/.github/workflows/vibecarbon-build.yml +81 -0
- package/carbon/.windsurfrules +74 -0
- package/carbon/AGENTS.md +422 -0
- package/carbon/CLAUDE.md +3 -0
- package/carbon/DEVELOPMENT.md +187 -0
- package/carbon/Dockerfile +98 -0
- package/carbon/LICENSE +21 -0
- package/carbon/PRODUCTION.md +364 -0
- package/carbon/README.md +193 -0
- package/carbon/TESTING.md +138 -0
- package/carbon/backup/Dockerfile +75 -0
- package/carbon/backup/backup.sh +95 -0
- package/carbon/backup/compose-backup.sh +140 -0
- package/carbon/biome.json +83 -0
- package/carbon/cloud-init/docker-ce-setup.yaml +55 -0
- package/carbon/cloud-init/k3s/master-init.sh +215 -0
- package/carbon/cloud-init/k3s/supabase-init.sh +167 -0
- package/carbon/cloud-init/k3s/worker-init.sh +147 -0
- package/carbon/components.json +24 -0
- package/carbon/content/blog/authentication-guide.mdx +34 -0
- package/carbon/content/blog/getting-started.mdx +41 -0
- package/carbon/content/changelog/v0-1-0.mdx +40 -0
- package/carbon/content/docs/analytics.mdx +90 -0
- package/carbon/content/docs/authentication.mdx +231 -0
- package/carbon/content/docs/background-jobs.mdx +116 -0
- package/carbon/content/docs/cli.mdx +630 -0
- package/carbon/content/docs/database.mdx +236 -0
- package/carbon/content/docs/deployment.mdx +227 -0
- package/carbon/content/docs/development.mdx +238 -0
- package/carbon/content/docs/environments.mdx +84 -0
- package/carbon/content/docs/getting-started.mdx +112 -0
- package/carbon/content/docs/legal/privacy-policy.mdx +89 -0
- package/carbon/content/docs/legal/terms-of-service.mdx +99 -0
- package/carbon/content/docs/optional-services.mdx +160 -0
- package/carbon/db/Dockerfile +23 -0
- package/carbon/docker-compose.dev-init.yml +5 -0
- package/carbon/docker-compose.metabase.override.yml +14 -0
- package/carbon/docker-compose.metabase.prod.yml +28 -0
- package/carbon/docker-compose.metabase.yml +84 -0
- package/carbon/docker-compose.n8n.override.yml +14 -0
- package/carbon/docker-compose.n8n.prod.yml +31 -0
- package/carbon/docker-compose.n8n.yml +97 -0
- package/carbon/docker-compose.observability.override.yml +18 -0
- package/carbon/docker-compose.observability.prod.yml +28 -0
- package/carbon/docker-compose.observability.yml +125 -0
- package/carbon/docker-compose.override.yml +28 -0
- package/carbon/docker-compose.prod.yml +294 -0
- package/carbon/docker-compose.yml +508 -0
- package/carbon/docker-entrypoint.sh +12 -0
- package/carbon/ha/activate-standby.sh +52 -0
- package/carbon/ha/primary-init.sql +36 -0
- package/carbon/ha/standby-init.sh +74 -0
- package/carbon/k8s/LICENSE +99 -0
- package/carbon/k8s/README.md +272 -0
- package/carbon/k8s/base/app/deployment.yaml +130 -0
- package/carbon/k8s/base/app/hpa.yaml +44 -0
- package/carbon/k8s/base/app/kustomization.yaml +10 -0
- package/carbon/k8s/base/app/network-policy.yaml +124 -0
- package/carbon/k8s/base/app/pdb.yaml +14 -0
- package/carbon/k8s/base/app/rbac.yaml +36 -0
- package/carbon/k8s/base/app/service.yaml +16 -0
- package/carbon/k8s/base/backup/cronjob.yaml +120 -0
- package/carbon/k8s/base/backup/kustomization.yaml +7 -0
- package/carbon/k8s/base/backup/network-policy.yaml +31 -0
- package/carbon/k8s/base/backup/rbac.yaml +7 -0
- package/carbon/k8s/base/cluster-autoscaler/deployment.yaml +103 -0
- package/carbon/k8s/base/cluster-autoscaler/kustomization.yaml +17 -0
- package/carbon/k8s/base/cluster-autoscaler/rbac.yaml +109 -0
- package/carbon/k8s/base/config/configmap.yaml +48 -0
- package/carbon/k8s/base/config/kustomization.yaml +8 -0
- package/carbon/k8s/base/hetzner-ccm/kustomization.yaml +9 -0
- package/carbon/k8s/base/hetzner-csi/kustomization.yaml +9 -0
- package/carbon/k8s/base/kustomization.yaml +43 -0
- package/carbon/k8s/base/namespace.yaml +7 -0
- package/carbon/k8s/base/network-policies.yaml +95 -0
- package/carbon/k8s/base/registry/kustomization.yaml +5 -0
- package/carbon/k8s/base/registry/local-registry.yaml +193 -0
- package/carbon/k8s/base/traefik/certificate.yaml +21 -0
- package/carbon/k8s/base/traefik/configmap.yaml +13 -0
- package/carbon/k8s/base/traefik/deployment.yaml +165 -0
- package/carbon/k8s/base/traefik/ingressroute.yaml +141 -0
- package/carbon/k8s/base/traefik/kustomization.yaml +11 -0
- package/carbon/k8s/base/traefik/middleware.yaml +109 -0
- package/carbon/k8s/base/traefik/network-policy.yaml +92 -0
- package/carbon/k8s/base/traefik/service.yaml +38 -0
- package/carbon/k8s/flux/README.md +49 -0
- package/carbon/k8s/flux/clusters/primary/vibecarbon.yaml +128 -0
- package/carbon/k8s/flux/clusters/standby/vibecarbon.yaml +83 -0
- package/carbon/k8s/gitops/cert-manager-webhook-hetzner/helm-release.yaml +38 -0
- package/carbon/k8s/gitops/cert-manager-webhook-hetzner/helm-repository.yaml +16 -0
- package/carbon/k8s/gitops/cert-manager-webhook-hetzner/kustomization.yaml +10 -0
- package/carbon/k8s/gitops/supabase/helm-release.yaml +66 -0
- package/carbon/k8s/gitops/supabase/helm-repository.yaml +18 -0
- package/carbon/k8s/gitops/supabase/kustomization.yaml +33 -0
- package/carbon/k8s/infra/cert-manager-resources/cluster-issuers-cloudflare.yaml +51 -0
- package/carbon/k8s/infra/cert-manager-resources/cluster-issuers-hetzner.yaml +59 -0
- package/carbon/k8s/infra/cert-manager-resources/cluster-issuers-manual.yaml +43 -0
- package/carbon/k8s/infra/cert-manager-resources/kustomization.yaml +15 -0
- package/carbon/k8s/infra/kustomization.yaml +21 -0
- package/carbon/k8s/infra/traefik-crds/kustomization.yaml +10 -0
- package/carbon/k8s/overlays/local/configmap.yaml +23 -0
- package/carbon/k8s/overlays/local/ingressroute-studio.yaml +104 -0
- package/carbon/k8s/overlays/local/kustomization.yaml +215 -0
- package/carbon/k8s/overlays/local/namespace.yaml +8 -0
- package/carbon/k8s/overlays/local/secrets.yaml +32 -0
- package/carbon/k8s/overlays/production/kustomization.yaml +34 -0
- package/carbon/k8s/test-local.sh +318 -0
- package/carbon/k8s/values/supabase.values.yaml +133 -0
- package/carbon/package.json +154 -0
- package/carbon/runtime.Dockerfile +17 -0
- package/carbon/scripts/_dev-jwt.mjs +45 -0
- package/carbon/scripts/check-rls.ts +53 -0
- package/carbon/scripts/dev-init.js +191 -0
- package/carbon/scripts/dev.js +191 -0
- package/carbon/scripts/docker-down.js +63 -0
- package/carbon/scripts/docker-logs.js +59 -0
- package/carbon/scripts/docker-up.js +222 -0
- package/carbon/scripts/generate-dev-configs.sh +131 -0
- package/carbon/scripts/generate-rss.ts +116 -0
- package/carbon/scripts/generate-sitemap.ts +102 -0
- package/carbon/scripts/k8s-apply.js +71 -0
- package/carbon/scripts/k8s-delete.js +75 -0
- package/carbon/scripts/lib/manifest.js +176 -0
- package/carbon/scripts/secret-scan.mjs +278 -0
- package/carbon/scripts/validate-dev-configs.sh +101 -0
- package/carbon/src/client/App.tsx +202 -0
- package/carbon/src/client/assets/hyperformant-dark.svg +29 -0
- package/carbon/src/client/assets/hyperformant-light.svg +29 -0
- package/carbon/src/client/assets/logos/aider.svg +1 -0
- package/carbon/src/client/assets/logos/antigravity.svg +1 -0
- package/carbon/src/client/assets/logos/bolt.svg +1 -0
- package/carbon/src/client/assets/logos/claude-code.svg +1 -0
- package/carbon/src/client/assets/logos/copilot.svg +1 -0
- package/carbon/src/client/assets/logos/cursor.svg +1 -0
- package/carbon/src/client/assets/logos/gemini-cli.svg +1 -0
- package/carbon/src/client/assets/logos/lovable.svg +1 -0
- package/carbon/src/client/assets/logos/openai-codex.svg +1 -0
- package/carbon/src/client/assets/logos/v0.svg +1 -0
- package/carbon/src/client/assets/logos/windsurf.svg +1 -0
- package/carbon/src/client/assets/vibecarbon-icon.svg +19 -0
- package/carbon/src/client/assets/vibecarbon-logo-dark.svg +29 -0
- package/carbon/src/client/assets/vibecarbon-logo-light.svg +29 -0
- package/carbon/src/client/components/AIIntegrationSection.tsx +120 -0
- package/carbon/src/client/components/AppSidebar.tsx +760 -0
- package/carbon/src/client/components/ArchitectureSection.tsx +46 -0
- package/carbon/src/client/components/CTAFooter.tsx +59 -0
- package/carbon/src/client/components/ComparisonSection.tsx +132 -0
- package/carbon/src/client/components/ContentPanel.tsx +66 -0
- package/carbon/src/client/components/ContentSkeleton.tsx +21 -0
- package/carbon/src/client/components/ErrorBoundary.tsx +46 -0
- package/carbon/src/client/components/FAQSection.tsx +76 -0
- package/carbon/src/client/components/FileUpload.tsx +210 -0
- package/carbon/src/client/components/HeaderActions.tsx +17 -0
- package/carbon/src/client/components/Hero.tsx +608 -0
- package/carbon/src/client/components/ImpersonationBanner.tsx +31 -0
- package/carbon/src/client/components/LanguageSwitcher.tsx +67 -0
- package/carbon/src/client/components/Logo.tsx +87 -0
- package/carbon/src/client/components/LogoStrip.tsx +76 -0
- package/carbon/src/client/components/MetricsStrip.tsx +48 -0
- package/carbon/src/client/components/Nav.tsx +195 -0
- package/carbon/src/client/components/NewsletterSignup.tsx +147 -0
- package/carbon/src/client/components/NotificationDrawer.tsx +171 -0
- package/carbon/src/client/components/PageHeader.tsx +24 -0
- package/carbon/src/client/components/PlanGate.tsx +36 -0
- package/carbon/src/client/components/PricingSection.tsx +371 -0
- package/carbon/src/client/components/SEO.tsx +34 -0
- package/carbon/src/client/components/SmoothScroll.tsx +45 -0
- package/carbon/src/client/components/TechStackSection.tsx +165 -0
- package/carbon/src/client/components/WorkflowSection.tsx +604 -0
- package/carbon/src/client/components/admin/DockerLogs.tsx +276 -0
- package/carbon/src/client/components/admin/PerformanceMetrics.tsx +230 -0
- package/carbon/src/client/components/admin/ServiceCard.tsx +45 -0
- package/carbon/src/client/components/admin/ServicesStatus.tsx +296 -0
- package/carbon/src/client/components/architecture/ArchitectureDiagram.tsx +413 -0
- package/carbon/src/client/components/auth/AuthProvider.tsx +466 -0
- package/carbon/src/client/components/effects/FilmGrainOverlay.tsx +35 -0
- package/carbon/src/client/components/effects/FresnelEdge.tsx +49 -0
- package/carbon/src/client/components/effects/GlowTracker.tsx +46 -0
- package/carbon/src/client/components/effects/SparkBurst.tsx +145 -0
- package/carbon/src/client/components/effects/VGlowEffect.tsx +83 -0
- package/carbon/src/client/components/effects/index.ts +2 -0
- package/carbon/src/client/components/layouts/SidebarLayout.tsx +20 -0
- package/carbon/src/client/components/scroll/ScrollSection.tsx +76 -0
- package/carbon/src/client/components/scroll/ScrollytellingProvider.tsx +81 -0
- package/carbon/src/client/components/scroll/index.ts +2 -0
- package/carbon/src/client/components/ui/accordion.tsx +71 -0
- package/carbon/src/client/components/ui/alert-dialog.tsx +162 -0
- package/carbon/src/client/components/ui/alert.tsx +73 -0
- package/carbon/src/client/components/ui/aspect-ratio.tsx +22 -0
- package/carbon/src/client/components/ui/avatar.tsx +91 -0
- package/carbon/src/client/components/ui/badge.tsx +50 -0
- package/carbon/src/client/components/ui/breadcrumb.tsx +100 -0
- package/carbon/src/client/components/ui/button-group.tsx +78 -0
- package/carbon/src/client/components/ui/button.tsx +120 -0
- package/carbon/src/client/components/ui/calendar.tsx +182 -0
- package/carbon/src/client/components/ui/card.tsx +85 -0
- package/carbon/src/client/components/ui/carousel.tsx +227 -0
- package/carbon/src/client/components/ui/chart.tsx +357 -0
- package/carbon/src/client/components/ui/checkbox.tsx +27 -0
- package/carbon/src/client/components/ui/collapsible.tsx +15 -0
- package/carbon/src/client/components/ui/command.tsx +178 -0
- package/carbon/src/client/components/ui/context-menu.tsx +233 -0
- package/carbon/src/client/components/ui/dialog.tsx +132 -0
- package/carbon/src/client/components/ui/drawer.tsx +118 -0
- package/carbon/src/client/components/ui/dropdown-menu.tsx +242 -0
- package/carbon/src/client/components/ui/empty.tsx +94 -0
- package/carbon/src/client/components/ui/field.tsx +226 -0
- package/carbon/src/client/components/ui/hover-card.tsx +44 -0
- package/carbon/src/client/components/ui/input-group.tsx +146 -0
- package/carbon/src/client/components/ui/input-otp.tsx +83 -0
- package/carbon/src/client/components/ui/input.tsx +20 -0
- package/carbon/src/client/components/ui/item.tsx +188 -0
- package/carbon/src/client/components/ui/kbd.tsx +26 -0
- package/carbon/src/client/components/ui/label.tsx +21 -0
- package/carbon/src/client/components/ui/menubar.tsx +250 -0
- package/carbon/src/client/components/ui/navigation-menu.tsx +155 -0
- package/carbon/src/client/components/ui/pagination.tsx +102 -0
- package/carbon/src/client/components/ui/popover.tsx +75 -0
- package/carbon/src/client/components/ui/progress.tsx +66 -0
- package/carbon/src/client/components/ui/radio-group.tsx +36 -0
- package/carbon/src/client/components/ui/resizable.tsx +46 -0
- package/carbon/src/client/components/ui/scroll-area.tsx +48 -0
- package/carbon/src/client/components/ui/select.tsx +186 -0
- package/carbon/src/client/components/ui/separator.tsx +21 -0
- package/carbon/src/client/components/ui/sheet.tsx +124 -0
- package/carbon/src/client/components/ui/sidebar.tsx +702 -0
- package/carbon/src/client/components/ui/skeleton.tsx +13 -0
- package/carbon/src/client/components/ui/slider.tsx +57 -0
- package/carbon/src/client/components/ui/sonner.tsx +45 -0
- package/carbon/src/client/components/ui/spinner.tsx +15 -0
- package/carbon/src/client/components/ui/switch.tsx +30 -0
- package/carbon/src/client/components/ui/table.tsx +89 -0
- package/carbon/src/client/components/ui/tabs.tsx +73 -0
- package/carbon/src/client/components/ui/textarea.tsx +18 -0
- package/carbon/src/client/components/ui/toggle-group.tsx +87 -0
- package/carbon/src/client/components/ui/toggle.tsx +44 -0
- package/carbon/src/client/components/ui/tooltip.tsx +56 -0
- package/carbon/src/client/hooks/api/index.ts +14 -0
- package/carbon/src/client/hooks/api/useAuthSettings.ts +80 -0
- package/carbon/src/client/hooks/api/useSubscription.ts +87 -0
- package/carbon/src/client/hooks/use-mobile.ts +21 -0
- package/carbon/src/client/hooks/useMousePosition.ts +91 -0
- package/carbon/src/client/hooks/useNotifications.tsx +124 -0
- package/carbon/src/client/hooks/useOrganizationMembers.ts +127 -0
- package/carbon/src/client/hooks/useOrganizations.tsx +230 -0
- package/carbon/src/client/hooks/usePackageManager.ts +69 -0
- package/carbon/src/client/hooks/useReducedMotion.ts +20 -0
- package/carbon/src/client/hooks/useRunningServices.ts +114 -0
- package/carbon/src/client/hooks/useScrollProgress.ts +56 -0
- package/carbon/src/client/index.css +467 -0
- package/carbon/src/client/index.html +56 -0
- package/carbon/src/client/lib/admin-services.ts +151 -0
- package/carbon/src/client/lib/api.ts +32 -0
- package/carbon/src/client/lib/blog.ts +35 -0
- package/carbon/src/client/lib/changelog.ts +33 -0
- package/carbon/src/client/lib/docs-search.ts +101 -0
- package/carbon/src/client/lib/docs.ts +37 -0
- package/carbon/src/client/lib/i18n.ts +32 -0
- package/carbon/src/client/lib/supabase.ts +72 -0
- package/carbon/src/client/lib/tailwind-colors.ts +357 -0
- package/carbon/src/client/lib/theme.ts +117 -0
- package/carbon/src/client/lib/utils.ts +22 -0
- package/carbon/src/client/locales/de.json +529 -0
- package/carbon/src/client/locales/en.json +461 -0
- package/carbon/src/client/locales/es.json +529 -0
- package/carbon/src/client/locales/fr.json +529 -0
- package/carbon/src/client/locales/pt.json +529 -0
- package/carbon/src/client/main.tsx +56 -0
- package/carbon/src/client/mdx.d.ts +13 -0
- package/carbon/src/client/pages/ApiDocs.tsx +76 -0
- package/carbon/src/client/pages/AuthCallback.tsx +34 -0
- package/carbon/src/client/pages/Blog.tsx +167 -0
- package/carbon/src/client/pages/Changelog.tsx +171 -0
- package/carbon/src/client/pages/Charts.tsx +388 -0
- package/carbon/src/client/pages/Checkout.tsx +227 -0
- package/carbon/src/client/pages/Contact.tsx +174 -0
- package/carbon/src/client/pages/Dashboard.tsx +368 -0
- package/carbon/src/client/pages/Docs.tsx +372 -0
- package/carbon/src/client/pages/ForgotPassword.tsx +111 -0
- package/carbon/src/client/pages/Home.tsx +187 -0
- package/carbon/src/client/pages/Legal.tsx +100 -0
- package/carbon/src/client/pages/Login.tsx +408 -0
- package/carbon/src/client/pages/MFAVerify.tsx +156 -0
- package/carbon/src/client/pages/NotFound.tsx +21 -0
- package/carbon/src/client/pages/Onboarding.tsx +246 -0
- package/carbon/src/client/pages/ResetPassword.tsx +200 -0
- package/carbon/src/client/pages/UIComponents.tsx +390 -0
- package/carbon/src/client/pages/admin/ContactSubmissions.tsx +220 -0
- package/carbon/src/client/pages/admin/Dashboard.tsx +24 -0
- package/carbon/src/client/pages/admin/Infrastructure.tsx +257 -0
- package/carbon/src/client/pages/admin/Jobs.tsx +225 -0
- package/carbon/src/client/pages/admin/Logs.tsx +18 -0
- package/carbon/src/client/pages/admin/Newsletter.tsx +300 -0
- package/carbon/src/client/pages/admin/Notifications.tsx +603 -0
- package/carbon/src/client/pages/admin/Organizations.tsx +306 -0
- package/carbon/src/client/pages/admin/Settings.tsx +314 -0
- package/carbon/src/client/pages/admin/Theme.tsx +465 -0
- package/carbon/src/client/pages/admin/Users.tsx +365 -0
- package/carbon/src/client/pages/api-docs.css +156 -0
- package/carbon/src/client/pages/organizations/Details.tsx +200 -0
- package/carbon/src/client/pages/organizations/Members.tsx +402 -0
- package/carbon/src/client/pages/settings/Billing.tsx +473 -0
- package/carbon/src/client/pages/settings/Profile.tsx +160 -0
- package/carbon/src/client/pages/settings/Security.tsx +341 -0
- package/carbon/src/client/public/favicon.svg +19 -0
- package/carbon/src/client/public/robots.txt +8 -0
- package/carbon/src/server/billing/index.ts +104 -0
- package/carbon/src/server/billing/provider.ts +81 -0
- package/carbon/src/server/billing/providers/paddle.ts +314 -0
- package/carbon/src/server/billing/providers/polar.ts +325 -0
- package/carbon/src/server/billing/providers/stripe.ts +233 -0
- package/carbon/src/server/emails/templates.ts +116 -0
- package/carbon/src/server/index.ts +554 -0
- package/carbon/src/server/lib/auth.ts +6 -0
- package/carbon/src/server/lib/email.ts +64 -0
- package/carbon/src/server/lib/env.ts +112 -0
- package/carbon/src/server/lib/errors.ts +21 -0
- package/carbon/src/server/lib/logger.ts +17 -0
- package/carbon/src/server/lib/rate-limiter.ts +288 -0
- package/carbon/src/server/lib/request.ts +34 -0
- package/carbon/src/server/lib/stripe.ts +42 -0
- package/carbon/src/server/lib/supabase.ts +65 -0
- package/carbon/src/server/middleware/requirePlan.ts +80 -0
- package/carbon/src/server/routes/_internal/services-status.ts +958 -0
- package/carbon/src/server/routes/_internal/verify-role.ts +185 -0
- package/carbon/src/server/routes/health.ts +48 -0
- package/carbon/src/server/routes/v1/admin/contact.ts +128 -0
- package/carbon/src/server/routes/v1/admin/jobs.ts +171 -0
- package/carbon/src/server/routes/v1/admin/newsletter.ts +237 -0
- package/carbon/src/server/routes/v1/auth.ts +390 -0
- package/carbon/src/server/routes/v1/billing.ts +718 -0
- package/carbon/src/server/routes/v1/contact.ts +93 -0
- package/carbon/src/server/routes/v1/index.ts +1333 -0
- package/carbon/src/server/routes/v1/newsletter.ts +181 -0
- package/carbon/src/server/routes/v1/performance.ts +157 -0
- package/carbon/src/server/routes/v1/stats.ts +170 -0
- package/carbon/src/server/routes/v1/theme.ts +106 -0
- package/carbon/src/server/routes/webhooks/billing.ts +376 -0
- package/carbon/src/server/routes/webhooks/stripe.ts +276 -0
- package/carbon/src/server/types.ts +11 -0
- package/carbon/src/shared/pricing.ts +155 -0
- package/carbon/src/shared/types.ts +338 -0
- package/carbon/supabase/migrations/00001_init.sql +717 -0
- package/carbon/supabase/migrations/00002_theme_settings.sql +13 -0
- package/carbon/supabase/migrations/00003_pg_cron.sql +121 -0
- package/carbon/supabase/migrations/00004_contact_newsletter.sql +81 -0
- package/carbon/supabase/migrations/00005_localization_languages.sql +22 -0
- package/carbon/supabase/seed.sql +16 -0
- package/carbon/tests/_helpers/app.ts +45 -0
- package/carbon/tests/_helpers/env.ts +37 -0
- package/carbon/tests/_helpers/factories.ts +69 -0
- package/carbon/tests/_helpers/jwt.ts +23 -0
- package/carbon/tests/_helpers/setup-integration.ts +20 -0
- package/carbon/tests/_helpers/setup-rtl.ts +12 -0
- package/carbon/tests/component/ErrorBoundary.test.tsx +53 -0
- package/carbon/tests/component/use-auth-settings.test.tsx +119 -0
- package/carbon/tests/integration/server/routes/contact.test.ts +162 -0
- package/carbon/tests/integration/server/routes/health.test.ts +61 -0
- package/carbon/tests/structural/i18n-parity.test.ts +42 -0
- package/carbon/tests/unit/client/utils.test.ts +49 -0
- package/carbon/tests/unit/shared/pricing.test.ts +93 -0
- package/carbon/tsconfig.json +27 -0
- package/carbon/tsconfig.server.json +27 -0
- package/carbon/tsconfig.test.json +9 -0
- package/carbon/vite.config.ts +110 -0
- package/carbon/vitest.config.ts +74 -0
- package/carbon/volumes/db/jwt.sql +57 -0
- package/carbon/volumes/db/metabase-init.sh +29 -0
- package/carbon/volumes/db/n8n-init.sh +25 -0
- package/carbon/volumes/db/realtime.sql +33 -0
- package/carbon/volumes/db/roles.sql +93 -0
- package/carbon/volumes/db/set-passwords.sh +12 -0
- package/carbon/volumes/db/super-admin.dev.sql +113 -0
- package/carbon/volumes/db/super-admin.generated.sql +113 -0
- package/carbon/volumes/db/super-admin.sql +114 -0
- package/carbon/volumes/grafana/dashboards/logs.json +179 -0
- package/carbon/volumes/grafana/dashboards/overview.json +523 -0
- package/carbon/volumes/grafana/dashboards/postgresql.json +337 -0
- package/carbon/volumes/grafana/dashboards.dev/logs.json +179 -0
- package/carbon/volumes/grafana/dashboards.dev/overview.json +156 -0
- package/carbon/volumes/grafana/dashboards.dev/postgresql.json +337 -0
- package/carbon/volumes/grafana/provisioning/dashboards/dashboards.dev.yml +16 -0
- package/carbon/volumes/grafana/provisioning/dashboards/dashboards.yml +16 -0
- package/carbon/volumes/grafana/provisioning/datasources/datasources.yml +43 -0
- package/carbon/volumes/kong/docker-entrypoint.sh +9 -0
- package/carbon/volumes/kong/kong.yml +208 -0
- package/carbon/volumes/loki/loki-config.yml +58 -0
- package/carbon/volumes/n8n/hooks.js +131 -0
- package/carbon/volumes/n8n/scripts/setup.sh +66 -0
- package/carbon/volumes/prometheus/prometheus.yml +43 -0
- package/carbon/volumes/promtail/promtail-config.yml +64 -0
- package/carbon/volumes/traefik/middlewares.dev.yml +83 -0
- package/carbon/volumes/traefik/middlewares.yml +95 -0
- package/carbon/volumes/traefik/vite-dev.yml +20 -0
- package/package.json +95 -0
- package/src/access.js +354 -0
- package/src/activate.js +187 -0
- package/src/add.js +718 -0
- package/src/backup.js +786 -0
- package/src/cli.js +350 -0
- package/src/configure.js +967 -0
- package/src/console.js +155 -0
- package/src/create.js +1499 -0
- package/src/deploy.js +311 -0
- package/src/destroy.js +2033 -0
- package/src/diagnose.js +735 -0
- package/src/down.js +80 -0
- package/src/failover.js +1032 -0
- package/src/lib/backup-s3.js +179 -0
- package/src/lib/build.js +33 -0
- package/src/lib/checksum.js +28 -0
- package/src/lib/ci-setup.js +666 -0
- package/src/lib/cli/help.js +129 -0
- package/src/lib/cli/parse-flags.js +160 -0
- package/src/lib/cli/select-action.js +65 -0
- package/src/lib/cli/select-environment.js +108 -0
- package/src/lib/cli/tty-guard.js +75 -0
- package/src/lib/cloudflare.js +447 -0
- package/src/lib/colors.js +52 -0
- package/src/lib/command.js +361 -0
- package/src/lib/config.js +359 -0
- package/src/lib/cost.js +103 -0
- package/src/lib/deploy/bundle.js +231 -0
- package/src/lib/deploy/compose/acme-verify.js +121 -0
- package/src/lib/deploy/compose/build-args.js +78 -0
- package/src/lib/deploy/compose/ha.js +1874 -0
- package/src/lib/deploy/compose/index.js +1294 -0
- package/src/lib/deploy/compose/reconcile.js +74 -0
- package/src/lib/deploy/github.js +382 -0
- package/src/lib/deploy/image.js +191 -0
- package/src/lib/deploy/index.js +119 -0
- package/src/lib/deploy/k8s/LICENSE +99 -0
- package/src/lib/deploy/k8s/gitops-deploy.js +298 -0
- package/src/lib/deploy/k8s/ha/index.js +1000 -0
- package/src/lib/deploy/k8s/index.js +62 -0
- package/src/lib/deploy/k8s/k3s.js +2515 -0
- package/src/lib/deploy/orchestrator.js +1401 -0
- package/src/lib/deploy/prompts.js +545 -0
- package/src/lib/deploy/remote-build.js +130 -0
- package/src/lib/deploy/state.js +120 -0
- package/src/lib/deploy/utils.js +328 -0
- package/src/lib/deploy-logger.js +93 -0
- package/src/lib/dns-propagation.js +48 -0
- package/src/lib/environment.js +58 -0
- package/src/lib/fetch-retry.js +103 -0
- package/src/lib/github-environments.js +335 -0
- package/src/lib/hetzner-dns.js +377 -0
- package/src/lib/hetzner-guided-setup.js +275 -0
- package/src/lib/host-keys.js +37 -0
- package/src/lib/iac/cloud-init.js +52 -0
- package/src/lib/iac/index.js +325 -0
- package/src/lib/iac/programs/hetzner-compose.js +130 -0
- package/src/lib/iac/programs/hetzner-k8s.js +320 -0
- package/src/lib/kubectl.js +81 -0
- package/src/lib/licensing/index.js +259 -0
- package/src/lib/licensing/tiers.js +181 -0
- package/src/lib/licensing/validator.js +171 -0
- package/src/lib/merge-package-json.js +90 -0
- package/src/lib/operator-ip.js +381 -0
- package/src/lib/package-manager.js +111 -0
- package/src/lib/perf.js +71 -0
- package/src/lib/project-guard.js +39 -0
- package/src/lib/project.js +334 -0
- package/src/lib/providers/base.js +276 -0
- package/src/lib/providers/hetzner-s3.js +656 -0
- package/src/lib/providers/hetzner.js +755 -0
- package/src/lib/providers/index.js +164 -0
- package/src/lib/s3.js +510 -0
- package/src/lib/secret-scan.js +583 -0
- package/src/lib/secrets.js +63 -0
- package/src/lib/server-types.js +195 -0
- package/src/lib/shell.js +91 -0
- package/src/lib/ssh.js +241 -0
- package/src/lib/tracker.js +242 -0
- package/src/lib/upgrade-policy.js +170 -0
- package/src/lib/validators.js +105 -0
- package/src/lib/version.js +5 -0
- package/src/remove.js +292 -0
- package/src/reset.js +97 -0
- package/src/restore.js +871 -0
- package/src/scale.js +1734 -0
- package/src/shell.js +222 -0
- package/src/status.js +981 -0
- package/src/up.js +264 -0
- package/src/upgrade.js +721 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { lazy, Suspense, useEffect } from 'react';
|
|
3
|
+
import { Navigate, Route, Routes, useLocation } from 'react-router-dom';
|
|
4
|
+
import { useAuth } from './components/auth/AuthProvider';
|
|
5
|
+
import { SidebarLayout } from './components/layouts/SidebarLayout';
|
|
6
|
+
import { applyTheme } from './lib/theme';
|
|
7
|
+
|
|
8
|
+
// Eagerly loaded (landing page critical path)
|
|
9
|
+
import Home from './pages/Home';
|
|
10
|
+
|
|
11
|
+
// Lazy-loaded pages
|
|
12
|
+
const AuthCallback = lazy(() => import('./pages/AuthCallback'));
|
|
13
|
+
const Login = lazy(() => import('./pages/Login'));
|
|
14
|
+
const ForgotPassword = lazy(() => import('./pages/ForgotPassword'));
|
|
15
|
+
const ResetPassword = lazy(() => import('./pages/ResetPassword'));
|
|
16
|
+
const MFAVerify = lazy(() => import('./pages/MFAVerify'));
|
|
17
|
+
const Onboarding = lazy(() => import('./pages/Onboarding'));
|
|
18
|
+
const Dashboard = lazy(() => import('./pages/Dashboard'));
|
|
19
|
+
const UIComponents = lazy(() => import('./pages/UIComponents'));
|
|
20
|
+
const Charts = lazy(() => import('./pages/Charts'));
|
|
21
|
+
const NotFound = lazy(() => import('./pages/NotFound'));
|
|
22
|
+
|
|
23
|
+
// Content pages
|
|
24
|
+
const ApiDocs = lazy(() => import('./pages/ApiDocs'));
|
|
25
|
+
const Blog = lazy(() => import('./pages/Blog'));
|
|
26
|
+
const Changelog = lazy(() => import('./pages/Changelog'));
|
|
27
|
+
const Docs = lazy(() => import('./pages/Docs'));
|
|
28
|
+
const Legal = lazy(() => import('./pages/Legal'));
|
|
29
|
+
const Checkout = lazy(() => import('./pages/Checkout'));
|
|
30
|
+
|
|
31
|
+
// Settings
|
|
32
|
+
const Profile = lazy(() => import('./pages/settings/Profile'));
|
|
33
|
+
const Billing = lazy(() => import('./pages/settings/Billing'));
|
|
34
|
+
const Security = lazy(() => import('./pages/settings/Security'));
|
|
35
|
+
|
|
36
|
+
// Organizations
|
|
37
|
+
const OrgDetails = lazy(() => import('./pages/organizations/Details'));
|
|
38
|
+
const OrgMembers = lazy(() => import('./pages/organizations/Members'));
|
|
39
|
+
|
|
40
|
+
// Admin
|
|
41
|
+
const AdminDashboard = lazy(() => import('./pages/admin/Dashboard'));
|
|
42
|
+
const AdminOrganizations = lazy(() => import('./pages/admin/Organizations'));
|
|
43
|
+
const AdminUsers = lazy(() => import('./pages/admin/Users'));
|
|
44
|
+
const AdminLogs = lazy(() => import('./pages/admin/Logs'));
|
|
45
|
+
const AdminNotifications = lazy(() => import('./pages/admin/Notifications'));
|
|
46
|
+
const AdminInfrastructure = lazy(() => import('./pages/admin/Infrastructure'));
|
|
47
|
+
const AdminSettings = lazy(() => import('./pages/admin/Settings'));
|
|
48
|
+
const AdminTheme = lazy(() => import('./pages/admin/Theme'));
|
|
49
|
+
const AdminJobs = lazy(() => import('./pages/admin/Jobs'));
|
|
50
|
+
const AdminContactSubmissions = lazy(() => import('./pages/admin/ContactSubmissions'));
|
|
51
|
+
const AdminNewsletter = lazy(() => import('./pages/admin/Newsletter'));
|
|
52
|
+
const Contact = lazy(() => import('./pages/Contact'));
|
|
53
|
+
|
|
54
|
+
function PageSpinner() {
|
|
55
|
+
return (
|
|
56
|
+
<div className="flex items-center justify-center min-h-screen">
|
|
57
|
+
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600" />
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function ScrollToTop() {
|
|
63
|
+
const { pathname } = useLocation();
|
|
64
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: intentional trigger on route change
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
window.scrollTo(0, 0);
|
|
67
|
+
}, [pathname]);
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function ProtectedRoute({ children }: { children: React.ReactNode }) {
|
|
72
|
+
const { user, isLoading } = useAuth();
|
|
73
|
+
const location = useLocation();
|
|
74
|
+
|
|
75
|
+
if (isLoading) {
|
|
76
|
+
return <PageSpinner />;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (!user) {
|
|
80
|
+
return <Navigate to="/login" replace />;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Redirect to onboarding if not completed (skip for settings/billing so checkout can complete)
|
|
84
|
+
if (
|
|
85
|
+
!user.user_metadata?.onboarding_completed &&
|
|
86
|
+
location.pathname !== '/onboarding' &&
|
|
87
|
+
!location.pathname.startsWith('/settings/billing')
|
|
88
|
+
) {
|
|
89
|
+
return <Navigate to="/onboarding" replace />;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return <>{children}</>;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function SuperAdminProtectedRoute({ children }: { children: React.ReactNode }) {
|
|
96
|
+
const { user, isSuperAdmin, isLoading } = useAuth();
|
|
97
|
+
|
|
98
|
+
if (isLoading) {
|
|
99
|
+
return <PageSpinner />;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (!user) {
|
|
103
|
+
return <Navigate to="/login" replace />;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (!isSuperAdmin) {
|
|
107
|
+
return <Navigate to="/dashboard" replace />;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return <>{children}</>;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export default function App() {
|
|
114
|
+
useQuery({
|
|
115
|
+
queryKey: ['app-theme'],
|
|
116
|
+
queryFn: async () => {
|
|
117
|
+
const r = await fetch('/api/v1/admin/theme');
|
|
118
|
+
if (!r.ok) return null;
|
|
119
|
+
const data = await r.json();
|
|
120
|
+
if (data?.theme && Object.keys(data.theme).length > 0) applyTheme(data.theme);
|
|
121
|
+
return data;
|
|
122
|
+
},
|
|
123
|
+
staleTime: 1000 * 60 * 30, // 30 minutes
|
|
124
|
+
refetchOnWindowFocus: false,
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
return (
|
|
128
|
+
<Suspense fallback={<PageSpinner />}>
|
|
129
|
+
<ScrollToTop />
|
|
130
|
+
<Routes>
|
|
131
|
+
<Route path="/" element={<Home />} />
|
|
132
|
+
<Route path="/api/docs" element={<ApiDocs />} />
|
|
133
|
+
<Route path="/blog" element={<Blog />} />
|
|
134
|
+
<Route path="/blog/:slug" element={<Blog />} />
|
|
135
|
+
<Route path="/changelog" element={<Changelog />} />
|
|
136
|
+
<Route path="/changelog/:slug" element={<Changelog />} />
|
|
137
|
+
<Route path="/checkout" element={<Checkout />} />
|
|
138
|
+
<Route path="/docs" element={<Docs />} />
|
|
139
|
+
<Route path="/docs/:slug" element={<Docs />} />
|
|
140
|
+
<Route path="/contact" element={<Contact />} />
|
|
141
|
+
<Route path="/privacy" element={<Legal />} />
|
|
142
|
+
<Route path="/terms" element={<Legal />} />
|
|
143
|
+
<Route path="/legal/:slug" element={<Legal />} />
|
|
144
|
+
<Route path="/login" element={<Login />} />
|
|
145
|
+
<Route path="/signup" element={<Login />} />
|
|
146
|
+
<Route path="/forgot-password" element={<ForgotPassword />} />
|
|
147
|
+
<Route path="/reset-password" element={<ResetPassword />} />
|
|
148
|
+
<Route path="/mfa-verify" element={<MFAVerify />} />
|
|
149
|
+
<Route path="/auth/callback" element={<AuthCallback />} />
|
|
150
|
+
<Route
|
|
151
|
+
path="/onboarding"
|
|
152
|
+
element={
|
|
153
|
+
<ProtectedRoute>
|
|
154
|
+
<Onboarding />
|
|
155
|
+
</ProtectedRoute>
|
|
156
|
+
}
|
|
157
|
+
/>
|
|
158
|
+
{/* Protected routes with sidebar layout */}
|
|
159
|
+
<Route
|
|
160
|
+
element={
|
|
161
|
+
<ProtectedRoute>
|
|
162
|
+
<SidebarLayout />
|
|
163
|
+
</ProtectedRoute>
|
|
164
|
+
}
|
|
165
|
+
>
|
|
166
|
+
<Route path="/dashboard" element={<Dashboard />} />
|
|
167
|
+
<Route path="/ui-components" element={<UIComponents />} />
|
|
168
|
+
<Route path="/charts" element={<Charts />} />
|
|
169
|
+
<Route path="/settings" element={<Navigate to="/settings/profile" replace />} />
|
|
170
|
+
<Route path="/settings/profile" element={<Profile />} />
|
|
171
|
+
<Route path="/settings/billing" element={<Billing />} />
|
|
172
|
+
<Route path="/settings/security" element={<Security />} />
|
|
173
|
+
<Route path="/organizations/:orgId" element={<Navigate to="details" replace />} />
|
|
174
|
+
<Route path="/organizations/:orgId/details" element={<OrgDetails />} />
|
|
175
|
+
<Route path="/organizations/:orgId/members" element={<OrgMembers />} />
|
|
176
|
+
</Route>
|
|
177
|
+
{/* Admin routes with sidebar layout */}
|
|
178
|
+
<Route
|
|
179
|
+
element={
|
|
180
|
+
<SuperAdminProtectedRoute>
|
|
181
|
+
<SidebarLayout />
|
|
182
|
+
</SuperAdminProtectedRoute>
|
|
183
|
+
}
|
|
184
|
+
>
|
|
185
|
+
<Route path="/admin" element={<Navigate to="/admin/dashboard" replace />} />
|
|
186
|
+
<Route path="/admin/dashboard" element={<AdminDashboard />} />
|
|
187
|
+
<Route path="/admin/organizations" element={<AdminOrganizations />} />
|
|
188
|
+
<Route path="/admin/users" element={<AdminUsers />} />
|
|
189
|
+
<Route path="/admin/logs" element={<AdminLogs />} />
|
|
190
|
+
<Route path="/admin/notifications" element={<AdminNotifications />} />
|
|
191
|
+
<Route path="/admin/infrastructure" element={<AdminInfrastructure />} />
|
|
192
|
+
<Route path="/admin/jobs" element={<AdminJobs />} />
|
|
193
|
+
<Route path="/admin/contact" element={<AdminContactSubmissions />} />
|
|
194
|
+
<Route path="/admin/newsletter" element={<AdminNewsletter />} />
|
|
195
|
+
<Route path="/admin/settings" element={<AdminSettings />} />
|
|
196
|
+
<Route path="/admin/theme" element={<AdminTheme />} />
|
|
197
|
+
</Route>
|
|
198
|
+
<Route path="*" element={<NotFound />} />
|
|
199
|
+
</Routes>
|
|
200
|
+
</Suspense>
|
|
201
|
+
);
|
|
202
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg width="1125" height="180" viewBox="0 0 1125 180" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="20" y="20" width="140" height="140" fill="white"/>
|
|
3
|
+
<mask id="mask0_1062_117" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="180" height="180">
|
|
4
|
+
<path d="M90 0H20.3836C14.7945 0 9.69863 2.30242 6 5.92051C2.30137 9.62083 0 14.719 0 20.3929V159.607C0 165.199 2.30137 170.379 6 173.997C9.69863 177.698 14.7945 180 20.3836 180H159.616C165.205 180 170.301 177.698 174 173.997C177.699 170.379 180 165.199 180 159.607V20.3929C180 14.719 177.699 9.62083 174 5.92051C170.301 2.30242 165.205 0 159.616 0H90ZM118.767 45.2261C117.616 44.0749 116.877 42.4303 116.877 40.6213C116.877 38.8122 117.616 37.1677 118.767 35.9342C120 34.783 121.644 34.0429 123.452 34.0429H142.685C144.493 34.0429 146.137 34.783 147.288 35.9342C148.521 37.1677 149.26 38.8122 149.26 40.6213C149.26 42.4303 148.521 44.0749 147.288 45.2261C146.137 46.4596 144.493 47.1996 142.685 47.1996H123.452C121.644 47.1996 120 46.4596 118.767 45.2261ZM32.6301 45.2261C31.4795 44.0749 30.7397 42.4303 30.7397 40.6213C30.7397 38.8122 31.4795 37.1677 32.6301 35.9342C33.863 34.783 35.5068 34.0429 37.3151 34.0429H56.548C58.3562 34.0429 60 34.783 61.2329 35.9342C62.3836 37.1677 63.1233 38.8122 63.1233 40.6213C63.1233 42.4303 62.3836 44.0749 61.2329 45.2261C60 46.4596 58.3562 47.1996 56.548 47.1996H37.3151C35.5068 47.1996 33.863 46.4596 32.6301 45.2261ZM110.137 69.9772C108.904 68.7437 108.247 67.0991 108.247 65.2901C108.247 63.481 108.904 61.8365 110.137 60.6852C111.288 59.4518 112.932 58.7117 114.74 58.7117H142.685C144.493 58.7117 146.137 59.4518 147.288 60.6852C148.521 61.8365 149.26 63.481 149.26 65.2901C149.26 67.0991 148.521 68.7437 147.288 69.9772C146.137 71.1284 144.493 71.8684 142.685 71.8684H114.74C112.932 71.8684 111.288 71.1284 110.137 69.9772ZM32.6301 69.9772C31.4795 68.7437 30.7397 67.0991 30.7397 65.2901C30.7397 63.481 31.4795 61.8365 32.6301 60.6852C33.863 59.4518 35.5068 58.7117 37.3151 58.7117H65.1781C66.9863 58.7117 68.6301 59.4518 69.863 60.6852C71.0137 61.8365 71.7534 63.481 71.7534 65.2901C71.7534 67.0991 71.0137 68.7437 69.863 69.9772C68.6301 71.1284 66.9863 71.8684 65.1781 71.8684H37.3151C35.5068 71.8684 33.863 71.1284 32.6301 69.9772ZM32.6301 94.646C31.4795 93.4947 30.7397 91.8502 30.7397 89.9589C30.7397 88.1498 31.4795 86.5052 32.6301 85.354C33.863 84.2028 35.5068 83.4628 37.3151 83.4628H142.685C144.493 83.4628 146.137 84.2028 147.288 85.354C148.521 86.5052 149.26 88.1498 149.26 89.9589C149.26 91.8502 148.521 93.4947 147.288 94.646C146.137 95.7972 144.493 96.5372 142.685 96.5372H37.3151C35.5068 96.5372 33.863 95.7972 32.6301 94.646ZM110.137 119.315C108.904 118.164 108.247 116.519 108.247 114.71C108.247 112.901 108.904 111.256 110.137 110.023C111.288 108.872 112.932 108.132 114.74 108.132H142.685C144.493 108.132 146.137 108.872 147.288 110.023C148.521 111.256 149.26 112.901 149.26 114.71C149.26 116.519 148.521 118.164 147.288 119.315C146.137 120.548 144.493 121.288 142.685 121.288H114.74C112.932 121.288 111.288 120.548 110.137 119.315ZM32.6301 119.315C31.4795 118.164 30.7397 116.519 30.7397 114.71C30.7397 112.901 31.4795 111.256 32.6301 110.023C33.863 108.872 35.5068 108.132 37.3151 108.132H65.1781C66.9863 108.132 68.6301 108.872 69.863 110.023C71.0137 111.256 71.7534 112.901 71.7534 114.71C71.7534 116.519 71.0137 118.164 69.863 119.315C68.6301 120.548 66.9863 121.288 65.1781 121.288H37.3151C35.5068 121.288 33.863 120.548 32.6301 119.315ZM118.767 144.066C117.616 142.832 116.877 141.188 116.877 139.379C116.877 137.57 117.616 135.925 118.767 134.774C120 133.54 121.644 132.8 123.452 132.8H142.685C144.493 132.8 146.137 133.54 147.288 134.774C148.521 135.925 149.26 137.57 149.26 139.379C149.26 141.188 148.521 142.832 147.288 144.066C146.137 145.217 144.493 145.957 142.685 145.957H123.452C121.644 145.957 120 145.217 118.767 144.066ZM32.6301 144.066C31.4795 142.832 30.7397 141.188 30.7397 139.379C30.7397 137.57 31.4795 135.925 32.6301 134.774C33.863 133.54 35.5068 132.8 37.3151 132.8H56.548C58.3562 132.8 60 133.54 61.2329 134.774C62.3836 135.925 63.1233 137.57 63.1233 139.379C63.1233 141.188 62.3836 142.832 61.2329 144.066C60 145.217 58.3562 145.957 56.548 145.957H37.3151C35.5068 145.957 33.863 145.217 32.6301 144.066Z" fill="white"/>
|
|
5
|
+
</mask>
|
|
6
|
+
<g mask="url(#mask0_1062_117)">
|
|
7
|
+
<path d="M596.086 -402.111L916.808 153.65L173.928 582.748L-146.794 26.9867L596.086 -402.111Z" fill="url(#paint0_linear_1062_117)"/>
|
|
8
|
+
</g>
|
|
9
|
+
<path d="M272.205 38.0925C272.946 38.0925 273.667 38.2777 274.204 38.7869C274.75 39.3046 274.948 40.006 274.948 40.7V68.5242C279.885 66.6012 285.672 65.3601 292.18 65.3601C301.383 65.3602 309.606 67.6982 315.536 73.0388C321.485 78.3963 324.981 86.6434 324.981 98.1492V141.732C324.981 142.433 324.776 143.134 324.226 143.649C323.686 144.154 322.964 144.34 322.224 144.34H313.627C312.927 144.34 312.242 144.136 311.732 143.627C311.223 143.117 311.019 142.432 311.019 141.732V98.5847C311.019 90.8511 309.191 85.807 305.963 82.6794C302.73 79.5465 297.897 78.1463 291.458 78.1462C285.425 78.1462 279.415 79.4654 274.948 81.574V141.732C274.948 142.426 274.75 143.127 274.204 143.645C273.667 144.154 272.946 144.34 272.205 144.34H263.593C262.893 144.34 262.208 144.136 261.701 143.622C261.196 143.11 261 142.425 261 141.732V40.7C261 40.0072 261.196 39.3231 261.701 38.8113C262.208 38.2975 262.893 38.0926 263.593 38.0925H272.205Z" fill="white" stroke="white" stroke-width="2"/>
|
|
10
|
+
<path d="M352.847 66.9675C353.643 66.9675 354.368 67.2184 354.89 67.7664C355.403 68.3058 355.606 69.0139 355.606 69.7107V111.415C355.606 117.873 357.802 122.19 361.224 124.919C364.683 127.678 369.533 128.924 375.016 128.924C380.774 128.924 386.494 127.605 390.654 125.394V69.7107C390.654 69.021 390.847 68.329 391.316 67.7957C391.799 67.2457 392.484 66.9675 393.246 66.9675H401.859C402.655 66.9676 403.38 67.219 403.899 67.7712C404.407 68.3129 404.602 69.0205 404.602 69.7107V141.297C404.602 151.286 402.161 159.338 396.874 164.911C391.58 170.492 383.588 173.423 372.843 173.5H372.836C360.627 173.5 351.804 169.76 344.04 163.198L344.012 163.175L343.987 163.149C343.489 162.662 343.149 162.072 343.115 161.354C343.084 160.677 343.334 160.04 343.668 159.458L343.696 159.41L343.729 159.365L348.102 153.385C348.485 152.828 349.035 152.346 349.75 152.185C350.502 152.017 351.236 152.249 351.858 152.744L352.41 153.157C358.14 157.395 364.649 160.569 372.841 160.713C378.962 160.637 383.453 159.14 386.381 156.031C389.316 152.914 390.868 147.978 390.654 140.604V138.682C385.553 140.63 379.453 142.011 373.558 142.011C365.497 142.011 357.528 139.625 351.554 134.655C345.555 129.664 341.642 122.125 341.642 112.001V69.7107C341.642 69.0147 341.842 68.3222 342.316 67.7908C342.802 67.2448 343.489 66.9675 344.25 66.9675H352.847Z" fill="white" stroke="white" stroke-width="2"/>
|
|
11
|
+
<path d="M453.043 65.3599C462.68 65.3599 471.081 67.7675 477.083 73.1235C483.106 78.4974 486.567 86.7088 486.567 97.9995V114.029C486.567 124.108 483.203 132.119 477.337 137.604C471.481 143.081 463.233 145.947 453.629 145.947C447.409 145.947 441.421 144.471 436.549 142.077V169.435C436.549 170.136 436.343 170.837 435.792 171.352C435.253 171.857 434.531 172.042 433.791 172.042H425.194C424.494 172.042 423.809 171.839 423.299 171.33C422.79 170.82 422.585 170.135 422.585 169.435V73.5112C422.585 72.9742 422.669 72.3827 422.965 71.8521C423.269 71.3068 423.754 70.9062 424.397 70.686V70.6851C432.822 67.426 443.586 65.3599 453.043 65.3599ZM452.758 77.8608C446.845 77.8608 440.862 78.7815 436.549 80.4507V128.519C440.98 131.439 446.602 133.295 452.893 133.295C459.324 133.295 464.176 131.798 467.421 128.742C470.655 125.696 472.468 120.938 472.468 114.029V97.9995C472.468 90.5019 470.575 85.5294 467.29 82.4155C463.994 79.2921 459.114 77.8609 452.758 77.8608Z" fill="white" stroke="white" stroke-width="2"/>
|
|
12
|
+
<path d="M531.212 65.3599C539.34 65.3599 547.207 67.6707 553.06 72.6138C558.938 77.5779 562.692 85.1203 562.692 95.3696V109.657C562.692 110.391 562.513 111.112 562.013 111.654C561.501 112.209 560.801 112.415 560.099 112.415H513.395V117.53C513.395 122.726 515.326 126.627 518.472 129.246C521.641 131.884 526.137 133.295 531.363 133.295C541.13 133.295 547.771 129.492 553.065 125.35L553.093 125.328L553.123 125.308C553.718 124.908 554.416 124.694 555.133 124.826C555.836 124.954 556.4 125.386 556.805 125.967H556.806L561.03 131.511H561.029C561.484 132.063 561.792 132.729 561.685 133.479C561.58 134.215 561.11 134.78 560.591 135.21L560.592 135.211C553.147 141.472 543.591 145.947 531.077 145.947C523.016 145.947 515.088 143.637 509.152 138.911C503.189 134.163 499.296 127.021 499.296 117.53V95.3696C499.296 85.1134 503.131 77.5702 509.101 72.6089C515.045 67.6695 523.019 65.3599 531.212 65.3599ZM531.212 78.147C525.903 78.147 521.466 79.5277 518.368 82.3042C515.287 85.0643 513.395 89.3236 513.395 95.3696V100.5H549.029V95.3696C549.029 89.405 547.074 85.1411 543.952 82.3569C540.81 79.5565 536.368 78.147 531.212 78.147Z" fill="white" stroke="white" stroke-width="2"/>
|
|
13
|
+
<path d="M604.427 65.3599C608.688 65.3599 613.055 65.6973 617.615 66.2778L619.581 66.5415L619.588 66.5425L619.857 66.5933C620.473 66.7374 620.997 67.0571 621.367 67.5591C621.773 68.1107 621.915 68.7776 621.915 69.4243V76.561C621.915 77.2775 621.739 78.0646 621.134 78.5952C620.525 79.1297 619.737 79.1829 619.003 79.021C614.949 78.4405 610.344 78.0113 606.036 78.0112C600.493 78.0112 595.084 79.1626 591.285 80.6079V141.732C591.285 142.433 591.079 143.134 590.528 143.649C589.988 144.154 589.267 144.339 588.526 144.339H579.929C579.229 144.339 578.544 144.136 578.035 143.626C577.525 143.117 577.321 142.432 577.321 141.732V73.646C577.321 73.1134 577.406 72.5273 577.701 71.9985C577.998 71.4654 578.468 71.0668 579.091 70.8364C586.525 67.2735 595.695 65.3599 604.427 65.3599Z" fill="white" stroke="white" stroke-width="2"/>
|
|
14
|
+
<path d="M657.951 36.5C660.523 36.5 663.327 36.6039 665.782 36.835L666.811 36.9424L666.825 36.9434L667.111 36.9912C667.766 37.1256 668.329 37.4285 668.729 37.9395C669.171 38.5043 669.306 39.1895 669.306 39.8291V46.8291C669.306 47.5286 669.103 48.1967 668.635 48.6982C668.162 49.2064 667.516 49.4365 666.848 49.4365H666.78L666.712 49.4277C664.573 49.1349 661.855 48.9863 659.559 48.9863C655.188 48.9863 651.947 50.3982 649.784 52.873C647.603 55.3683 646.401 59.0775 646.401 63.8809V67.6885H665.541C666.237 67.6885 666.918 67.8947 667.424 68.4043C667.93 68.913 668.134 69.5961 668.134 70.2959V77.582C668.134 78.3227 667.948 79.043 667.447 79.582C666.935 80.1322 666.238 80.3398 665.541 80.3398H646.401V141.732C646.401 142.426 646.203 143.127 645.657 143.645C645.119 144.154 644.398 144.34 643.658 144.34H635.045C634.345 144.34 633.661 144.135 633.154 143.621C632.649 143.109 632.453 142.425 632.453 141.732V64.0312C632.453 55.0742 635.18 48.1683 639.794 43.499C644.406 38.8322 650.804 36.5 657.951 36.5Z" fill="white" stroke="white" stroke-width="2"/>
|
|
15
|
+
<path d="M708.991 65.3599C719.111 65.3599 727.392 68.4125 733.153 73.7358C738.921 79.065 742.079 86.5942 742.079 95.3696V116.373C742.079 125.15 738.919 132.574 733.145 137.795C727.381 143.009 719.101 145.947 708.991 145.947C698.955 145.947 690.676 143.008 684.894 137.797C679.103 132.578 675.903 125.154 675.903 116.373V95.3696C675.903 86.5906 679.102 79.0622 684.887 73.7349C690.665 68.4134 698.945 65.3599 708.991 65.3599ZM708.991 78.147C702.677 78.147 697.956 79.8833 694.82 82.8345C691.691 85.7791 690.018 90.0484 690.017 95.3696V116.373C690.017 121.622 691.688 125.814 694.813 128.701C697.948 131.597 702.671 133.295 708.991 133.295C715.389 133.295 720.15 131.595 723.303 128.699C726.445 125.812 728.116 121.622 728.116 116.373V95.3696C728.116 90.0486 726.442 85.7806 723.296 82.8364C720.142 79.8849 715.383 78.147 708.991 78.147Z" fill="white" stroke="white" stroke-width="2"/>
|
|
16
|
+
<path d="M784.393 65.3599C788.654 65.3599 793.021 65.6973 797.581 66.2778L799.546 66.5415L799.553 66.5425L799.823 66.5933C800.439 66.7374 800.963 67.0571 801.333 67.5591C801.738 68.1107 801.88 68.7776 801.88 69.4243V76.561C801.88 77.2775 801.705 78.0646 801.1 78.5952C800.491 79.1297 799.703 79.1829 798.968 79.021C794.915 78.4405 790.31 78.0113 786.001 78.0112C780.458 78.0112 775.05 79.1626 771.25 80.6079V141.732C771.25 142.433 771.044 143.134 770.494 143.649C769.954 144.154 769.232 144.339 768.492 144.339H759.895C759.195 144.339 758.51 144.136 758 143.626C757.491 143.117 757.287 142.432 757.287 141.732V73.646C757.287 73.1134 757.372 72.5273 757.667 71.9985C757.964 71.4654 758.434 71.0668 759.057 70.8364C766.491 67.2735 775.661 65.3599 784.393 65.3599Z" fill="white" stroke="white" stroke-width="2"/>
|
|
17
|
+
<path d="M882.975 65.3599C892.062 65.3599 899.879 68.005 905.431 73.2319C910.993 78.4677 914.169 86.1879 914.169 96.106V141.732C914.169 142.432 913.966 143.115 913.46 143.624C912.954 144.133 912.273 144.339 911.577 144.339H902.964C902.224 144.339 901.503 144.154 900.965 143.645C900.419 143.127 900.221 142.426 900.221 141.732V95.8052C900.221 90.1364 898.767 85.7567 895.938 82.7954C893.117 79.8422 888.781 78.147 882.69 78.147C877.093 78.147 872 79.7866 867.903 82.4653C869.504 86.2785 870.418 90.9361 870.418 95.9556V141.732C870.418 142.432 870.214 143.117 869.705 143.626C869.195 144.136 868.51 144.339 867.81 144.339H859.063C858.363 144.339 857.678 144.136 857.168 143.626C856.659 143.117 856.455 142.432 856.455 141.732V95.8052C856.455 89.7495 855.063 85.3757 852.405 82.5151C849.76 79.6686 845.697 78.147 839.96 78.147C834.442 78.147 830.067 79.1656 826.232 80.4839V141.732C826.232 142.433 826.026 143.134 825.475 143.649C824.935 144.154 824.214 144.339 823.473 144.339H814.876C814.177 144.339 813.492 144.136 812.982 143.626C812.472 143.117 812.268 142.432 812.268 141.732V74.0972C812.268 73.554 812.355 72.9582 812.672 72.4067C812.996 71.8459 813.501 71.4293 814.164 71.1431V71.1421C822.009 67.5941 830.596 65.3599 839.66 65.3599C848.438 65.3599 855.351 67.8661 860.6 72.2603C867.514 67.7668 874.264 65.3599 882.975 65.3599Z" fill="white" stroke="white" stroke-width="2"/>
|
|
18
|
+
<path d="M958.96 65.3599C968.1 65.3599 975.634 67.7751 980.887 72.7231C986.15 77.6805 988.983 85.0463 988.983 94.6489V138.382C988.983 139.607 988.341 140.767 987.014 141.214L987.015 141.215C980.056 143.732 969.586 145.947 958.525 145.947C950.246 145.947 942.191 144.288 936.173 140.332C930.101 136.339 926.173 130.048 926.173 121.03C926.173 112.992 929.495 106.887 935.275 102.83C941.008 98.8045 949.074 96.8491 958.525 96.8491C964.125 96.8491 970.208 97.6159 975.019 98.4224V94.9341C975.019 89.1364 973.834 84.9965 971.3 82.2964C968.779 79.6095 964.73 78.147 958.525 78.147C950.543 78.147 943.281 80.4422 938.327 83.3989L938.326 83.3979C937.767 83.7622 937.112 83.9887 936.414 83.8491C935.699 83.7061 935.17 83.2268 934.791 82.6626V82.6616L930.574 76.5581L930.532 76.4976L930.5 76.4312C930.282 75.9893 930.047 75.462 930.015 74.9126C929.978 74.2648 930.223 73.7069 930.69 73.2397L930.756 73.1733L930.833 73.1206C937.878 68.3178 947.566 65.3599 958.96 65.3599ZM958.525 109.065C951.988 109.065 947.375 110.29 944.421 112.363C941.523 114.397 940.122 117.318 940.122 121.03C940.122 125.042 941.969 128.054 945.155 130.107C948.385 132.189 953.025 133.295 958.525 133.295C964.627 133.295 970.734 132.143 975.019 130.93V110.641C970.44 109.83 964.088 109.065 958.525 109.065Z" fill="white" stroke="white" stroke-width="2"/>
|
|
19
|
+
<path d="M1036.12 65.3599C1046.02 65.3599 1054.5 67.6903 1060.51 72.9946C1066.54 78.3189 1069.92 86.4986 1069.92 97.8491V141.732C1069.92 142.433 1069.72 143.132 1069.17 143.647C1068.64 144.153 1067.92 144.339 1067.18 144.339H1058.57C1057.87 144.339 1057.18 144.136 1056.68 143.626C1056.17 143.117 1055.96 142.432 1055.96 141.732V98.1489C1055.96 90.7208 1054.07 85.7841 1050.77 82.687C1047.46 79.5785 1042.55 78.147 1036.12 78.147C1030.4 78.147 1024.29 79.1876 1019.91 80.5122V141.732C1019.91 142.433 1019.7 143.134 1019.15 143.649C1018.61 144.154 1017.89 144.339 1017.15 144.339H1008.55C1007.85 144.339 1007.17 144.136 1006.66 143.626C1006.15 143.117 1005.94 142.432 1005.94 141.732V74.0972C1005.94 73.5529 1006.03 72.9753 1006.31 72.4399C1006.6 71.8888 1007.06 71.457 1007.67 71.1558L1007.7 71.1431L1007.73 71.1323L1008.52 70.8032C1016.76 67.447 1026.22 65.3599 1036.12 65.3599Z" fill="white" stroke="white" stroke-width="2"/>
|
|
20
|
+
<path d="M1097.22 53.8435L1097.47 53.8542C1098.05 53.9056 1098.59 54.1378 1099.01 54.5593C1099.41 54.969 1099.65 55.4995 1099.77 56.072L1099.81 56.3201L1099.81 56.3562L1099.81 56.3933L1100.78 73.0886H1118.81C1119.51 73.0886 1120.19 73.2922 1120.7 73.8015C1121.21 74.311 1121.41 74.9961 1121.41 75.696V82.9822C1121.41 83.7227 1121.23 84.4444 1120.72 84.9841C1120.21 85.5345 1119.51 85.74 1118.81 85.74H1100.84V123.951C1100.84 128.605 1102.04 132.161 1104.19 134.546C1106.33 136.915 1109.54 138.259 1113.85 138.26C1115.42 138.26 1118.16 138.127 1120.79 137.976L1120.82 137.974H1120.85C1121.59 137.974 1122.3 138.161 1122.84 138.667C1123.39 139.181 1123.59 139.881 1123.59 140.582V148.303C1123.59 148.898 1123.44 149.531 1123.04 150.058C1122.63 150.603 1122.01 150.94 1121.27 151.038L1121.23 151.043L1121.19 151.045C1118.56 151.195 1115.18 151.347 1113.26 151.347C1105.8 151.347 1099.18 149.332 1094.42 144.901C1089.64 140.458 1086.87 133.711 1086.87 124.537V56.6013C1086.87 55.8613 1087.06 55.1225 1087.61 54.5759C1088.15 54.0294 1088.89 53.8435 1089.63 53.8435H1097.22Z" fill="white" stroke="white" stroke-width="2"/>
|
|
21
|
+
<defs>
|
|
22
|
+
<linearGradient id="paint0_linear_1062_117" x1="32.2683" y1="-10.0263" x2="147.794" y2="189.978" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#43B1FF"/>
|
|
24
|
+
<stop offset="0.235577" stop-color="#1E70FF"/>
|
|
25
|
+
<stop offset="0.557692" stop-color="#8B1FC0"/>
|
|
26
|
+
<stop offset="0.927885" stop-color="#D512CD"/>
|
|
27
|
+
</linearGradient>
|
|
28
|
+
</defs>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg width="1125" height="180" viewBox="0 0 1125 180" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="20" y="20" width="140" height="140" fill="white"/>
|
|
3
|
+
<mask id="mask0_1072_498" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="180" height="180">
|
|
4
|
+
<path d="M90 0H20.3836C14.7945 0 9.69863 2.30242 6 5.92051C2.30137 9.62083 0 14.719 0 20.3929V159.607C0 165.199 2.30137 170.379 6 173.997C9.69863 177.698 14.7945 180 20.3836 180H159.616C165.205 180 170.301 177.698 174 173.997C177.699 170.379 180 165.199 180 159.607V20.3929C180 14.719 177.699 9.62083 174 5.92051C170.301 2.30242 165.205 0 159.616 0H90ZM118.767 45.2261C117.616 44.0749 116.877 42.4303 116.877 40.6213C116.877 38.8122 117.616 37.1677 118.767 35.9342C120 34.783 121.644 34.0429 123.452 34.0429H142.685C144.493 34.0429 146.137 34.783 147.288 35.9342C148.521 37.1677 149.26 38.8122 149.26 40.6213C149.26 42.4303 148.521 44.0749 147.288 45.2261C146.137 46.4596 144.493 47.1996 142.685 47.1996H123.452C121.644 47.1996 120 46.4596 118.767 45.2261ZM32.6301 45.2261C31.4795 44.0749 30.7397 42.4303 30.7397 40.6213C30.7397 38.8122 31.4795 37.1677 32.6301 35.9342C33.863 34.783 35.5068 34.0429 37.3151 34.0429H56.548C58.3562 34.0429 60 34.783 61.2329 35.9342C62.3836 37.1677 63.1233 38.8122 63.1233 40.6213C63.1233 42.4303 62.3836 44.0749 61.2329 45.2261C60 46.4596 58.3562 47.1996 56.548 47.1996H37.3151C35.5068 47.1996 33.863 46.4596 32.6301 45.2261ZM110.137 69.9772C108.904 68.7437 108.247 67.0991 108.247 65.2901C108.247 63.481 108.904 61.8365 110.137 60.6852C111.288 59.4518 112.932 58.7117 114.74 58.7117H142.685C144.493 58.7117 146.137 59.4518 147.288 60.6852C148.521 61.8365 149.26 63.481 149.26 65.2901C149.26 67.0991 148.521 68.7437 147.288 69.9772C146.137 71.1284 144.493 71.8684 142.685 71.8684H114.74C112.932 71.8684 111.288 71.1284 110.137 69.9772ZM32.6301 69.9772C31.4795 68.7437 30.7397 67.0991 30.7397 65.2901C30.7397 63.481 31.4795 61.8365 32.6301 60.6852C33.863 59.4518 35.5068 58.7117 37.3151 58.7117H65.1781C66.9863 58.7117 68.6301 59.4518 69.863 60.6852C71.0137 61.8365 71.7534 63.481 71.7534 65.2901C71.7534 67.0991 71.0137 68.7437 69.863 69.9772C68.6301 71.1284 66.9863 71.8684 65.1781 71.8684H37.3151C35.5068 71.8684 33.863 71.1284 32.6301 69.9772ZM32.6301 94.646C31.4795 93.4947 30.7397 91.8502 30.7397 89.9589C30.7397 88.1498 31.4795 86.5052 32.6301 85.354C33.863 84.2028 35.5068 83.4628 37.3151 83.4628H142.685C144.493 83.4628 146.137 84.2028 147.288 85.354C148.521 86.5052 149.26 88.1498 149.26 89.9589C149.26 91.8502 148.521 93.4947 147.288 94.646C146.137 95.7972 144.493 96.5372 142.685 96.5372H37.3151C35.5068 96.5372 33.863 95.7972 32.6301 94.646ZM110.137 119.315C108.904 118.164 108.247 116.519 108.247 114.71C108.247 112.901 108.904 111.256 110.137 110.023C111.288 108.872 112.932 108.132 114.74 108.132H142.685C144.493 108.132 146.137 108.872 147.288 110.023C148.521 111.256 149.26 112.901 149.26 114.71C149.26 116.519 148.521 118.164 147.288 119.315C146.137 120.548 144.493 121.288 142.685 121.288H114.74C112.932 121.288 111.288 120.548 110.137 119.315ZM32.6301 119.315C31.4795 118.164 30.7397 116.519 30.7397 114.71C30.7397 112.901 31.4795 111.256 32.6301 110.023C33.863 108.872 35.5068 108.132 37.3151 108.132H65.1781C66.9863 108.132 68.6301 108.872 69.863 110.023C71.0137 111.256 71.7534 112.901 71.7534 114.71C71.7534 116.519 71.0137 118.164 69.863 119.315C68.6301 120.548 66.9863 121.288 65.1781 121.288H37.3151C35.5068 121.288 33.863 120.548 32.6301 119.315ZM118.767 144.066C117.616 142.832 116.877 141.188 116.877 139.379C116.877 137.57 117.616 135.925 118.767 134.774C120 133.54 121.644 132.8 123.452 132.8H142.685C144.493 132.8 146.137 133.54 147.288 134.774C148.521 135.925 149.26 137.57 149.26 139.379C149.26 141.188 148.521 142.832 147.288 144.066C146.137 145.217 144.493 145.957 142.685 145.957H123.452C121.644 145.957 120 145.217 118.767 144.066ZM32.6301 144.066C31.4795 142.832 30.7397 141.188 30.7397 139.379C30.7397 137.57 31.4795 135.925 32.6301 134.774C33.863 133.54 35.5068 132.8 37.3151 132.8H56.548C58.3562 132.8 60 133.54 61.2329 134.774C62.3836 135.925 63.1233 137.57 63.1233 139.379C63.1233 141.188 62.3836 142.832 61.2329 144.066C60 145.217 58.3562 145.957 56.548 145.957H37.3151C35.5068 145.957 33.863 145.217 32.6301 144.066Z" fill="white"/>
|
|
5
|
+
</mask>
|
|
6
|
+
<g mask="url(#mask0_1072_498)">
|
|
7
|
+
<path d="M596.086 -402.112L916.808 153.65L173.928 582.748L-146.794 26.9864L596.086 -402.112Z" fill="url(#paint0_linear_1072_498)"/>
|
|
8
|
+
</g>
|
|
9
|
+
<path d="M272.205 38.0925C272.946 38.0925 273.667 38.2777 274.204 38.7869C274.75 39.3046 274.948 40.006 274.948 40.7V68.5242C279.885 66.6012 285.672 65.3601 292.18 65.3601C301.383 65.3602 309.606 67.6982 315.536 73.0388C321.485 78.3963 324.981 86.6434 324.981 98.1492V141.732C324.981 142.433 324.776 143.134 324.226 143.649C323.686 144.154 322.964 144.34 322.224 144.34H313.627C312.927 144.34 312.242 144.136 311.732 143.627C311.223 143.117 311.019 142.432 311.019 141.732V98.5847C311.019 90.8511 309.191 85.807 305.963 82.6794C302.73 79.5465 297.897 78.1463 291.458 78.1462C285.425 78.1462 279.415 79.4654 274.948 81.574V141.732C274.948 142.426 274.75 143.127 274.204 143.645C273.667 144.154 272.946 144.34 272.205 144.34H263.593C262.893 144.34 262.208 144.136 261.701 143.622C261.196 143.11 261 142.425 261 141.732V40.7C261 40.0072 261.196 39.3231 261.701 38.8113C262.208 38.2975 262.893 38.0926 263.593 38.0925H272.205Z" fill="black" stroke="black" stroke-width="2"/>
|
|
10
|
+
<path d="M352.847 66.9675C353.643 66.9675 354.368 67.2184 354.89 67.7664C355.403 68.3058 355.606 69.0139 355.606 69.7107V111.415C355.606 117.873 357.802 122.19 361.224 124.919C364.683 127.678 369.533 128.924 375.016 128.924C380.774 128.924 386.494 127.605 390.654 125.394V69.7107C390.654 69.021 390.847 68.329 391.316 67.7957C391.799 67.2457 392.484 66.9675 393.246 66.9675H401.859C402.655 66.9676 403.38 67.219 403.899 67.7712C404.407 68.3129 404.602 69.0205 404.602 69.7107V141.297C404.602 151.286 402.161 159.338 396.874 164.911C391.58 170.492 383.588 173.423 372.843 173.5H372.836C360.627 173.5 351.804 169.76 344.04 163.198L344.012 163.175L343.987 163.149C343.489 162.662 343.149 162.072 343.115 161.354C343.084 160.677 343.334 160.04 343.668 159.458L343.696 159.41L343.729 159.365L348.102 153.385C348.485 152.828 349.035 152.346 349.75 152.185C350.502 152.017 351.236 152.249 351.858 152.744L352.41 153.157C358.14 157.395 364.649 160.569 372.841 160.713C378.962 160.637 383.453 159.14 386.381 156.031C389.316 152.914 390.868 147.978 390.654 140.604V138.682C385.553 140.63 379.453 142.011 373.558 142.011C365.497 142.011 357.528 139.625 351.554 134.655C345.555 129.664 341.642 122.125 341.642 112.001V69.7107C341.642 69.0147 341.842 68.3222 342.316 67.7908C342.802 67.2448 343.489 66.9675 344.25 66.9675H352.847Z" fill="black" stroke="black" stroke-width="2"/>
|
|
11
|
+
<path d="M453.043 65.3599C462.68 65.3599 471.081 67.7675 477.083 73.1235C483.106 78.4974 486.567 86.7088 486.567 97.9995V114.029C486.567 124.108 483.203 132.119 477.337 137.604C471.481 143.081 463.233 145.947 453.629 145.947C447.409 145.947 441.421 144.471 436.549 142.077V169.435C436.549 170.136 436.343 170.837 435.792 171.352C435.253 171.857 434.531 172.042 433.791 172.042H425.194C424.494 172.042 423.809 171.839 423.299 171.33C422.79 170.82 422.585 170.135 422.585 169.435V73.5112C422.585 72.9742 422.669 72.3827 422.965 71.8521C423.269 71.3068 423.754 70.9062 424.397 70.686V70.6851C432.822 67.426 443.586 65.3599 453.043 65.3599ZM452.758 77.8608C446.845 77.8608 440.862 78.7815 436.549 80.4507V128.519C440.98 131.439 446.602 133.295 452.893 133.295C459.324 133.295 464.176 131.798 467.421 128.742C470.655 125.696 472.468 120.938 472.468 114.029V97.9995C472.468 90.5019 470.575 85.5294 467.29 82.4155C463.994 79.2921 459.114 77.8609 452.758 77.8608Z" fill="black" stroke="black" stroke-width="2"/>
|
|
12
|
+
<path d="M531.212 65.3599C539.34 65.3599 547.207 67.6707 553.06 72.6138C558.938 77.5779 562.692 85.1203 562.692 95.3696V109.657C562.692 110.391 562.513 111.112 562.013 111.654C561.501 112.209 560.801 112.415 560.099 112.415H513.395V117.53C513.395 122.726 515.326 126.627 518.472 129.246C521.641 131.884 526.137 133.295 531.363 133.295C541.13 133.295 547.771 129.492 553.065 125.35L553.093 125.328L553.123 125.308C553.718 124.908 554.416 124.694 555.133 124.826C555.836 124.954 556.4 125.386 556.805 125.967H556.806L561.03 131.511H561.029C561.484 132.063 561.792 132.729 561.685 133.479C561.58 134.215 561.11 134.78 560.591 135.21L560.592 135.211C553.147 141.472 543.591 145.947 531.077 145.947C523.016 145.947 515.088 143.637 509.152 138.911C503.189 134.163 499.296 127.021 499.296 117.53V95.3696C499.296 85.1134 503.131 77.5702 509.101 72.6089C515.045 67.6695 523.019 65.3599 531.212 65.3599ZM531.212 78.147C525.903 78.147 521.466 79.5277 518.368 82.3042C515.287 85.0643 513.395 89.3236 513.395 95.3696V100.5H549.029V95.3696C549.029 89.405 547.074 85.1411 543.952 82.3569C540.81 79.5565 536.368 78.147 531.212 78.147Z" fill="black" stroke="black" stroke-width="2"/>
|
|
13
|
+
<path d="M604.427 65.3599C608.688 65.3599 613.055 65.6973 617.615 66.2778L619.581 66.5415L619.588 66.5425L619.857 66.5933C620.473 66.7374 620.997 67.0571 621.367 67.5591C621.773 68.1107 621.915 68.7776 621.915 69.4243V76.561C621.915 77.2775 621.739 78.0646 621.134 78.5952C620.525 79.1297 619.737 79.1829 619.003 79.021C614.949 78.4405 610.344 78.0113 606.036 78.0112C600.493 78.0112 595.084 79.1626 591.285 80.6079V141.732C591.285 142.433 591.079 143.134 590.528 143.649C589.988 144.154 589.267 144.339 588.526 144.339H579.929C579.229 144.339 578.544 144.136 578.035 143.626C577.525 143.117 577.321 142.432 577.321 141.732V73.646C577.321 73.1134 577.406 72.5273 577.701 71.9985C577.998 71.4654 578.468 71.0668 579.091 70.8364C586.525 67.2735 595.695 65.3599 604.427 65.3599Z" fill="black" stroke="black" stroke-width="2"/>
|
|
14
|
+
<path d="M657.951 36.5C660.523 36.5 663.327 36.6039 665.782 36.835L666.811 36.9424L666.825 36.9434L667.111 36.9912C667.766 37.1256 668.329 37.4285 668.729 37.9395C669.171 38.5043 669.306 39.1895 669.306 39.8291V46.8291C669.306 47.5286 669.103 48.1967 668.635 48.6982C668.162 49.2064 667.516 49.4365 666.848 49.4365H666.78L666.712 49.4277C664.573 49.1349 661.855 48.9863 659.559 48.9863C655.188 48.9863 651.947 50.3982 649.784 52.873C647.603 55.3683 646.401 59.0775 646.401 63.8809V67.6885H665.541C666.237 67.6885 666.918 67.8947 667.424 68.4043C667.93 68.913 668.134 69.5961 668.134 70.2959V77.582C668.134 78.3227 667.948 79.043 667.447 79.582C666.935 80.1322 666.238 80.3398 665.541 80.3398H646.401V141.732C646.401 142.426 646.203 143.127 645.657 143.645C645.119 144.154 644.398 144.34 643.658 144.34H635.045C634.345 144.34 633.661 144.135 633.154 143.621C632.649 143.109 632.453 142.425 632.453 141.732V64.0312C632.453 55.0742 635.18 48.1683 639.794 43.499C644.406 38.8322 650.804 36.5 657.951 36.5Z" fill="black" stroke="black" stroke-width="2"/>
|
|
15
|
+
<path d="M708.991 65.3599C719.111 65.3599 727.392 68.4125 733.153 73.7358C738.921 79.065 742.079 86.5942 742.079 95.3696V116.373C742.079 125.15 738.919 132.574 733.145 137.795C727.381 143.009 719.101 145.947 708.991 145.947C698.955 145.947 690.676 143.008 684.894 137.797C679.103 132.578 675.903 125.154 675.903 116.373V95.3696C675.903 86.5906 679.102 79.0622 684.887 73.7349C690.665 68.4134 698.945 65.3599 708.991 65.3599ZM708.991 78.147C702.677 78.147 697.956 79.8833 694.82 82.8345C691.691 85.7791 690.018 90.0484 690.017 95.3696V116.373C690.017 121.622 691.688 125.814 694.813 128.701C697.948 131.597 702.671 133.295 708.991 133.295C715.389 133.295 720.15 131.595 723.303 128.699C726.445 125.812 728.116 121.622 728.116 116.373V95.3696C728.116 90.0486 726.442 85.7806 723.296 82.8364C720.142 79.8849 715.383 78.147 708.991 78.147Z" fill="black" stroke="black" stroke-width="2"/>
|
|
16
|
+
<path d="M784.393 65.3599C788.654 65.3599 793.021 65.6973 797.581 66.2778L799.546 66.5415L799.553 66.5425L799.823 66.5933C800.439 66.7374 800.963 67.0571 801.333 67.5591C801.738 68.1107 801.88 68.7776 801.88 69.4243V76.561C801.88 77.2775 801.705 78.0646 801.1 78.5952C800.491 79.1297 799.703 79.1829 798.968 79.021C794.915 78.4405 790.31 78.0113 786.001 78.0112C780.458 78.0112 775.05 79.1626 771.25 80.6079V141.732C771.25 142.433 771.044 143.134 770.494 143.649C769.954 144.154 769.232 144.339 768.492 144.339H759.895C759.195 144.339 758.51 144.136 758 143.626C757.491 143.117 757.287 142.432 757.287 141.732V73.646C757.287 73.1134 757.372 72.5273 757.667 71.9985C757.964 71.4654 758.434 71.0668 759.057 70.8364C766.491 67.2735 775.661 65.3599 784.393 65.3599Z" fill="black" stroke="black" stroke-width="2"/>
|
|
17
|
+
<path d="M882.975 65.3599C892.062 65.3599 899.879 68.005 905.431 73.2319C910.993 78.4677 914.169 86.1879 914.169 96.106V141.732C914.169 142.432 913.966 143.115 913.46 143.624C912.954 144.133 912.273 144.339 911.577 144.339H902.964C902.224 144.339 901.503 144.154 900.965 143.645C900.419 143.127 900.221 142.426 900.221 141.732V95.8052C900.221 90.1364 898.767 85.7567 895.938 82.7954C893.117 79.8422 888.781 78.147 882.69 78.147C877.093 78.147 872 79.7866 867.903 82.4653C869.504 86.2785 870.418 90.9361 870.418 95.9556V141.732C870.418 142.432 870.214 143.117 869.705 143.626C869.195 144.136 868.51 144.339 867.81 144.339H859.063C858.363 144.339 857.678 144.136 857.168 143.626C856.659 143.117 856.455 142.432 856.455 141.732V95.8052C856.455 89.7495 855.063 85.3757 852.405 82.5151C849.76 79.6686 845.697 78.147 839.96 78.147C834.442 78.147 830.067 79.1656 826.232 80.4839V141.732C826.232 142.433 826.026 143.134 825.475 143.649C824.935 144.154 824.214 144.339 823.473 144.339H814.876C814.177 144.339 813.492 144.136 812.982 143.626C812.472 143.117 812.268 142.432 812.268 141.732V74.0972C812.268 73.554 812.355 72.9582 812.672 72.4067C812.996 71.8459 813.501 71.4293 814.164 71.1431V71.1421C822.009 67.5941 830.596 65.3599 839.66 65.3599C848.438 65.3599 855.351 67.8661 860.6 72.2603C867.514 67.7668 874.264 65.3599 882.975 65.3599Z" fill="black" stroke="black" stroke-width="2"/>
|
|
18
|
+
<path d="M958.96 65.3599C968.1 65.3599 975.634 67.7751 980.887 72.7231C986.15 77.6805 988.983 85.0463 988.983 94.6489V138.382C988.983 139.607 988.341 140.767 987.014 141.214L987.015 141.215C980.056 143.732 969.586 145.947 958.525 145.947C950.246 145.947 942.191 144.288 936.173 140.332C930.101 136.339 926.173 130.048 926.173 121.03C926.173 112.992 929.495 106.887 935.275 102.83C941.008 98.8045 949.074 96.8491 958.525 96.8491C964.125 96.8491 970.208 97.6159 975.019 98.4224V94.9341C975.019 89.1364 973.834 84.9965 971.3 82.2964C968.779 79.6095 964.73 78.147 958.525 78.147C950.543 78.147 943.281 80.4422 938.327 83.3989L938.326 83.3979C937.767 83.7622 937.112 83.9887 936.414 83.8491C935.699 83.7061 935.17 83.2268 934.791 82.6626V82.6616L930.574 76.5581L930.532 76.4976L930.5 76.4312C930.282 75.9893 930.047 75.462 930.015 74.9126C929.978 74.2648 930.223 73.7069 930.69 73.2397L930.756 73.1733L930.833 73.1206C937.878 68.3178 947.566 65.3599 958.96 65.3599ZM958.525 109.065C951.988 109.065 947.375 110.29 944.421 112.363C941.523 114.397 940.122 117.318 940.122 121.03C940.122 125.042 941.969 128.054 945.155 130.107C948.385 132.189 953.025 133.295 958.525 133.295C964.627 133.295 970.734 132.143 975.019 130.93V110.641C970.44 109.83 964.088 109.065 958.525 109.065Z" fill="black" stroke="black" stroke-width="2"/>
|
|
19
|
+
<path d="M1036.12 65.3599C1046.02 65.3599 1054.5 67.6903 1060.51 72.9946C1066.54 78.3189 1069.92 86.4986 1069.92 97.8491V141.732C1069.92 142.433 1069.72 143.132 1069.17 143.647C1068.64 144.153 1067.92 144.339 1067.18 144.339H1058.57C1057.87 144.339 1057.18 144.136 1056.68 143.626C1056.17 143.117 1055.96 142.432 1055.96 141.732V98.1489C1055.96 90.7208 1054.07 85.7841 1050.77 82.687C1047.46 79.5785 1042.55 78.147 1036.12 78.147C1030.4 78.147 1024.29 79.1876 1019.91 80.5122V141.732C1019.91 142.433 1019.7 143.134 1019.15 143.649C1018.61 144.154 1017.89 144.339 1017.15 144.339H1008.55C1007.85 144.339 1007.17 144.136 1006.66 143.626C1006.15 143.117 1005.94 142.432 1005.94 141.732V74.0972C1005.94 73.5529 1006.03 72.9753 1006.31 72.4399C1006.6 71.8888 1007.06 71.457 1007.67 71.1558L1007.7 71.1431L1007.73 71.1323L1008.52 70.8032C1016.76 67.447 1026.22 65.3599 1036.12 65.3599Z" fill="black" stroke="black" stroke-width="2"/>
|
|
20
|
+
<path d="M1097.22 53.8435L1097.47 53.8542C1098.05 53.9056 1098.59 54.1378 1099.01 54.5593C1099.41 54.969 1099.65 55.4995 1099.77 56.072L1099.81 56.3201L1099.81 56.3562L1099.81 56.3933L1100.78 73.0886H1118.81C1119.51 73.0886 1120.19 73.2922 1120.7 73.8015C1121.21 74.311 1121.41 74.9961 1121.41 75.696V82.9822C1121.41 83.7227 1121.23 84.4444 1120.72 84.9841C1120.21 85.5345 1119.51 85.74 1118.81 85.74H1100.84V123.951C1100.84 128.605 1102.04 132.161 1104.19 134.546C1106.33 136.915 1109.54 138.259 1113.85 138.26C1115.42 138.26 1118.16 138.127 1120.79 137.976L1120.82 137.974H1120.85C1121.59 137.974 1122.3 138.161 1122.84 138.667C1123.39 139.181 1123.59 139.881 1123.59 140.582V148.303C1123.59 148.898 1123.44 149.531 1123.04 150.058C1122.63 150.603 1122.01 150.94 1121.27 151.038L1121.23 151.043L1121.19 151.045C1118.56 151.195 1115.18 151.347 1113.26 151.347C1105.8 151.347 1099.18 149.332 1094.42 144.901C1089.64 140.458 1086.87 133.711 1086.87 124.537V56.6013C1086.87 55.8613 1087.06 55.1225 1087.61 54.5759C1088.15 54.0294 1088.89 53.8435 1089.63 53.8435H1097.22Z" fill="black" stroke="black" stroke-width="2"/>
|
|
21
|
+
<defs>
|
|
22
|
+
<linearGradient id="paint0_linear_1072_498" x1="32.2683" y1="-10.0265" x2="147.794" y2="189.978" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#43B1FF"/>
|
|
24
|
+
<stop offset="0.235577" stop-color="#1E70FF"/>
|
|
25
|
+
<stop offset="0.557692" stop-color="#8B1FC0"/>
|
|
26
|
+
<stop offset="0.927885" stop-color="#D512CD"/>
|
|
27
|
+
</linearGradient>
|
|
28
|
+
</defs>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 4.5l7.5 7.5L2 19.5l1.5 1.5 9-9-9-9zm10 15h10v-2H12z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m19.94,20.59c1.09.82,2.73.27,1.23-1.23-4.5-4.36-3.55-16.36-9.14-16.36S7.39,15,2.89,19.36c-1.64,1.64.14,2.05,1.23,1.23,4.23-2.86,3.95-7.91,7.91-7.91s3.68,5.05,7.91,7.91Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M10.797 14.182H3.635L16.728 0l-3.525 9.818h7.162L7.272 24l3.524-9.818Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.281 0c3.911 0 7.082 3.179 7.082 7.1v2.699h2.356c3.911 0 7.081 3.179 7.081 7.1 0 3.922-3.17 7.101-7.081 7.101H.199V7.1C.199 3.179 3.37 0 7.281 0Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M14.066 6.028v2.22h5.729q.075-.001.148.005l-5.853 5.752a2 2 0 0 1-.024-.309V8.247h-2.353v5.45c0 2.322 1.935 4.222 4.258 4.222h5.675v-2.22h-5.675q-.03 0-.059-.003l5.729-5.629q.006.082.006.166v5.465H24v-5.465a4.204 4.204 0 0 0-4.205-4.205zM0 8.245l8.28 9.266c.839.94 2.396.346 2.396-.914V8.245H8.19v5.44l-4.86-5.44Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M23.55 5.067c-1.2038-.002-2.1806.973-2.1806 2.1765v4.8676c0 .972-.8035 1.7594-1.7597 1.7594-.568 0-1.1352-.286-1.4718-.7659l-4.9713-7.1003c-.4125-.5896-1.0837-.941-1.8103-.941-1.1334 0-2.1533.9635-2.1533 2.153v4.8957c0 .972-.7969 1.7594-1.7596 1.7594-.57 0-1.1363-.286-1.4728-.7658L.4076 5.1598C.2822 4.9798 0 5.0688 0 5.2882v4.2452c0 .2147.0656.4228.1884.599l5.4748 7.8183c.3234.462.8006.8052 1.3509.9298 1.3771.313 2.6446-.747 2.6446-2.0977v-4.893c0-.972.7875-1.7593 1.7596-1.7593h.003a1.798 1.798 0 0 1 1.4718.7658l4.9723 7.0994c.4135.5905 1.05.941 1.8093.941 1.1587 0 2.1515-.9645 2.1515-2.153v-4.8948c0-.972.7875-1.7594 1.7596-1.7594h.194a.22.22 0 0 0 .2204-.2202v-4.622a.22.22 0 0 0-.2203-.2203Z"/></svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg width="877" height="1012" viewBox="0 0 877 1012" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_77_141)">
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M434.346 2.3064C436.82 0.879051 439.867 0.879058 442.342 2.30641L872.685 250.582C875.162 252.01 876.688 254.652 876.688 257.511V754.051C876.688 756.91 875.162 759.552 872.685 760.981L442.342 1009.26C439.867 1010.68 436.82 1010.68 434.346 1009.26L4.00221 760.981C1.52575 759.552 0 756.91 0 754.051V257.511C0 254.652 1.52576 252.01 4.00222 250.582L434.346 2.3064ZM708.094 505.781C708.094 577.323 679.674 645.935 629.086 696.523C578.498 747.111 509.886 775.531 438.344 775.531C366.802 775.531 298.19 747.111 247.602 696.523C197.014 645.935 168.594 577.323 168.594 505.781C168.594 434.239 197.014 365.627 247.602 315.039C298.19 264.451 366.802 236.031 438.344 236.031C509.886 236.031 578.498 264.451 629.086 315.039C679.674 365.627 708.094 434.239 708.094 505.781Z" fill="url(#paint0_linear_77_141)"/>
|
|
4
|
+
<path d="M876.688 252.891V472.062L438.344 606.938L0 472.062V252.891L438.344 0L876.688 252.891Z" fill="url(#paint1_linear_77_141)"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="paint0_linear_77_141" x1="0" y1="0" x2="0" y2="1011.56" gradientUnits="userSpaceOnUse">
|
|
8
|
+
<stop stop-color="#5EEAD4"/>
|
|
9
|
+
<stop offset="1" stop-color="#0D9488"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="paint1_linear_77_141" x1="175.338" y1="-5.42644e-06" x2="516.194" y2="492.348" gradientUnits="userSpaceOnUse">
|
|
12
|
+
<stop stop-color="white" stop-opacity="0.5"/>
|
|
13
|
+
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<clipPath id="clip0_77_141">
|
|
16
|
+
<rect width="876.688" height="1011.56" fill="white"/>
|
|
17
|
+
</clipPath>
|
|
18
|
+
</defs>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg width="6453" height="1012" viewBox="0 0 6453 1012" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M1351.98 758.92C1348.62 758.92 1345.62 756.818 1344.46 753.66L1165.91 263.842C1164.01 258.623 1167.88 253.102 1173.43 253.102H1290.39C1293.8 253.102 1296.84 255.271 1297.95 258.501L1417.67 606.681C1420.15 613.888 1430.34 613.876 1432.8 606.663L1551.59 258.519C1552.7 255.279 1555.74 253.102 1559.17 253.102H1673.15C1678.7 253.102 1682.57 258.623 1680.67 263.842L1502.12 753.66C1500.96 756.818 1497.96 758.92 1494.6 758.92H1351.98Z" fill="white"/>
|
|
3
|
+
<path d="M1748.91 758.92C1744.49 758.92 1740.91 755.338 1740.91 750.92V261.102C1740.91 256.684 1744.49 253.102 1748.91 253.102H1858.13C1862.55 253.102 1866.13 256.684 1866.13 261.102V750.92C1866.13 755.338 1862.55 758.92 1858.13 758.92H1748.91ZM1803.03 187.04C1762.6 187.04 1733.02 157.46 1733.02 118.02C1733.02 78.58 1762.6 49 1803.03 49C1842.47 49 1873.04 78.58 1873.04 118.02C1873.04 157.46 1842.47 187.04 1803.03 187.04Z" fill="white"/>
|
|
4
|
+
<path d="M2254 764.836C2186.91 764.836 2138.3 739.429 2106.13 702.222C2101.46 696.826 2092.13 698.971 2090.88 705.993L2082.63 752.323C2081.95 756.14 2078.63 758.92 2074.75 758.92H1980.01C1975.59 758.92 1972.01 755.338 1972.01 750.92V76.72C1972.01 72.3017 1975.59 68.72 1980.01 68.72H2089.23C2093.65 68.72 2097.23 72.3017 2097.23 76.72V298.558C2097.23 306.201 2107.28 309.773 2112.61 304.285C2144.95 270.932 2190.97 247.186 2254.99 247.186C2391.06 247.186 2490.64 343.814 2490.64 505.518C2490.64 661.306 2391.06 764.836 2254 764.836ZM2229.35 661.306C2310.2 661.306 2363.45 599.188 2363.45 506.504C2363.45 412.834 2310.2 350.716 2229.35 350.716C2148.5 350.716 2095.26 412.834 2095.26 505.518C2095.26 599.188 2148.5 661.306 2229.35 661.306Z" fill="white"/>
|
|
5
|
+
<path d="M2817.33 764.836C2652.67 764.836 2552.1 662.292 2552.1 507.49C2552.1 350.716 2654.64 247.186 2807.47 247.186C2956.36 247.186 3057.92 341.842 3057.92 492.7C3057.92 503.334 3057.92 514.647 3057.35 526.639C3057.16 530.846 3053.66 534.112 3049.45 534.112H2689.15C2685.88 534.112 2683.24 536.761 2683.24 540.028C2683.24 617.922 2735.49 667.222 2811.42 667.222C2870.04 667.222 2912.35 641.829 2927.02 596.261C2928.14 592.793 2931.29 590.314 2934.94 590.314H3043.48C3048.44 590.314 3052.22 594.795 3051.14 599.64C3030.5 691.905 2944.22 764.836 2817.33 764.836ZM2686.87 439.185C2685.84 443.964 2689.6 448.33 2694.49 448.33H2922.6C2927.43 448.33 2931.17 444.061 2930.29 439.314C2918.7 376.993 2874.41 342.828 2809.44 342.828C2749.31 342.828 2699.92 378.645 2686.87 439.185Z" fill="white"/>
|
|
6
|
+
<path d="M3374.61 764.836C3215.87 764.836 3119.24 665.25 3119.24 506.504C3119.24 349.73 3220.8 247.186 3378.56 247.186C3509.1 247.186 3592.93 316.338 3615.47 429.168C3616.44 434.016 3612.67 438.47 3607.73 438.47H3492.48C3488.71 438.47 3485.48 435.836 3484.52 432.199C3471.16 381.668 3433.43 350.716 3376.59 350.716C3297.71 350.716 3247.42 414.806 3247.42 506.504C3247.42 598.202 3296.72 661.306 3376.59 661.306C3434.41 661.306 3472.19 629.409 3485.53 577.881C3486.48 574.229 3489.71 571.58 3493.49 571.58H3607.82C3612.73 571.58 3616.49 575.983 3615.56 580.809C3593.73 694.688 3505.22 764.836 3374.61 764.836Z" fill="white"/>
|
|
7
|
+
<path d="M3912.45 764.836C3778.36 764.836 3674.83 666.236 3674.83 506.504C3674.83 350.716 3778.36 247.186 3912.45 247.186C3979.76 247.186 4027.7 271.986 4060.38 309.906C4065.03 315.295 4074.31 313.151 4075.56 306.146L4083.83 259.699C4084.51 255.882 4087.83 253.102 4091.71 253.102H4186.45C4190.87 253.102 4194.45 256.684 4194.45 261.102V750.92C4194.45 755.338 4190.87 758.92 4186.45 758.92H4091.72C4087.84 758.92 4084.51 756.13 4083.84 752.304L4075.41 704.325C4074.2 697.4 4065.13 695.195 4060.49 700.478C4027.28 738.288 3980.02 764.836 3912.45 764.836ZM3937.1 661.306C4017.96 661.306 4070.21 599.188 4070.21 507.49C4070.21 412.834 4017.96 350.716 3937.1 350.716C3855.27 350.716 3803.01 412.834 3803.01 506.504C3803.01 599.188 3855.27 661.306 3937.1 661.306Z" fill="white"/>
|
|
8
|
+
<path d="M4308.28 758.92C4303.86 758.92 4300.28 755.338 4300.28 750.92V261.102C4300.28 256.684 4303.86 253.102 4308.28 253.102H4402.87C4406.82 253.102 4410.17 255.975 4410.78 259.87L4418.21 307.536C4419.35 314.889 4429.31 316.992 4433.87 311.112C4460.35 276.986 4499.34 253.102 4569.45 253.102H4588.08C4592.49 253.102 4596.08 256.684 4596.08 261.102V359.478C4596.08 363.896 4592.49 367.478 4588.08 367.478H4543.82C4456.06 367.478 4425.5 430.582 4425.5 508.476V750.92C4425.5 755.338 4421.92 758.92 4417.5 758.92H4308.28Z" fill="white"/>
|
|
9
|
+
<path d="M4945.28 764.836C4878.19 764.836 4829.58 739.429 4797.41 702.222C4792.74 696.826 4783.41 698.971 4782.16 705.993L4773.91 752.323C4773.23 756.14 4769.91 758.92 4766.03 758.92H4671.29C4666.87 758.92 4663.29 755.338 4663.29 750.92V76.72C4663.29 72.3017 4666.87 68.72 4671.29 68.72H4780.51C4784.93 68.72 4788.51 72.3017 4788.51 76.72V298.558C4788.51 306.201 4798.56 309.773 4803.88 304.285C4836.23 270.932 4882.25 247.186 4946.27 247.186C5082.34 247.186 5181.92 343.814 5181.92 505.518C5181.92 661.306 5082.34 764.836 4945.28 764.836ZM4920.63 661.306C5001.48 661.306 5054.73 599.188 5054.73 506.504C5054.73 412.834 5001.48 350.716 4920.63 350.716C4839.78 350.716 4786.54 412.834 4786.54 505.518C4786.54 599.188 4839.78 661.306 4920.63 661.306Z" fill="white"/>
|
|
10
|
+
<path d="M5506.64 764.836C5348.88 764.836 5243.38 661.306 5243.38 506.504C5243.38 350.716 5348.88 247.186 5506.64 247.186C5664.4 247.186 5769.9 350.716 5769.9 506.504C5769.9 661.306 5664.4 764.836 5506.64 764.836ZM5506.64 661.306C5589.46 661.306 5641.72 597.216 5641.72 506.504C5641.72 414.806 5589.46 350.716 5506.64 350.716C5423.82 350.716 5371.56 414.806 5371.56 506.504C5371.56 597.216 5423.82 661.306 5506.64 661.306Z" fill="white"/>
|
|
11
|
+
<path d="M5861.42 758.92C5857 758.92 5853.42 755.338 5853.42 750.92V261.102C5853.42 256.684 5857 253.102 5861.42 253.102H5956.19C5960.05 253.102 5963.37 255.867 5964.06 259.671L5971.55 300.893C5972.78 307.645 5981.5 309.909 5986.22 304.93C6017.56 271.903 6062.75 247.186 6133.44 247.186C6243.88 247.186 6336.56 306.346 6336.56 477.91V750.92C6336.56 755.338 6332.98 758.92 6328.56 758.92H6219.34C6214.92 758.92 6211.34 755.338 6211.34 750.92V487.77C6211.34 398.044 6173.87 351.702 6100.9 351.702C6021.04 351.702 5978.64 401.988 5978.64 492.7V750.92C5978.64 755.338 5975.06 758.92 5970.64 758.92H5861.42Z" fill="white"/>
|
|
12
|
+
<g clip-path="url(#clip0_77_150)">
|
|
13
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M434.346 2.3064C436.82 0.879051 439.867 0.879058 442.342 2.30641L872.685 250.582C875.162 252.01 876.688 254.652 876.688 257.511V754.051C876.688 756.91 875.162 759.552 872.685 760.981L442.342 1009.26C439.867 1010.68 436.82 1010.68 434.346 1009.26L4.00221 760.981C1.52575 759.552 0 756.91 0 754.051V257.511C0 254.652 1.52576 252.01 4.00222 250.582L434.346 2.3064ZM708.094 505.781C708.094 577.323 679.674 645.935 629.086 696.523C578.498 747.111 509.886 775.531 438.344 775.531C366.802 775.531 298.19 747.111 247.602 696.523C197.014 645.935 168.594 577.323 168.594 505.781C168.594 434.239 197.014 365.627 247.602 315.039C298.19 264.451 366.802 236.031 438.344 236.031C509.886 236.031 578.498 264.451 629.086 315.039C679.674 365.627 708.094 434.239 708.094 505.781Z" fill="url(#paint0_linear_77_150)"/>
|
|
14
|
+
<path d="M876.688 252.891V472.062L438.344 606.938L0 472.062V252.891L438.344 0L876.688 252.891Z" fill="url(#paint1_linear_77_150)"/>
|
|
15
|
+
</g>
|
|
16
|
+
<defs>
|
|
17
|
+
<linearGradient id="paint0_linear_77_150" x1="0" y1="0" x2="0" y2="1011.56" gradientUnits="userSpaceOnUse">
|
|
18
|
+
<stop stop-color="#5EEAD4"/>
|
|
19
|
+
<stop offset="1" stop-color="#0D9488"/>
|
|
20
|
+
</linearGradient>
|
|
21
|
+
<linearGradient id="paint1_linear_77_150" x1="175.338" y1="-5.42644e-06" x2="516.194" y2="492.348" gradientUnits="userSpaceOnUse">
|
|
22
|
+
<stop stop-color="white" stop-opacity="0.5"/>
|
|
23
|
+
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
|
24
|
+
</linearGradient>
|
|
25
|
+
<clipPath id="clip0_77_150">
|
|
26
|
+
<rect width="876.688" height="1011.56" fill="white"/>
|
|
27
|
+
</clipPath>
|
|
28
|
+
</defs>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg width="6453" height="1012" viewBox="0 0 6453 1012" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M1351.98 758.92C1348.62 758.92 1345.62 756.818 1344.46 753.66L1165.91 263.842C1164.01 258.623 1167.88 253.102 1173.43 253.102H1290.39C1293.8 253.102 1296.84 255.271 1297.95 258.501L1417.67 606.681C1420.15 613.888 1430.34 613.876 1432.8 606.663L1551.59 258.519C1552.7 255.279 1555.74 253.102 1559.17 253.102H1673.15C1678.7 253.102 1682.57 258.623 1680.67 263.842L1502.12 753.66C1500.96 756.818 1497.96 758.92 1494.6 758.92H1351.98Z" fill="black"/>
|
|
3
|
+
<path d="M1748.91 758.92C1744.49 758.92 1740.91 755.338 1740.91 750.92V261.102C1740.91 256.684 1744.49 253.102 1748.91 253.102H1858.13C1862.55 253.102 1866.13 256.684 1866.13 261.102V750.92C1866.13 755.338 1862.55 758.92 1858.13 758.92H1748.91ZM1803.03 187.04C1762.6 187.04 1733.02 157.46 1733.02 118.02C1733.02 78.58 1762.6 49 1803.03 49C1842.47 49 1873.04 78.58 1873.04 118.02C1873.04 157.46 1842.47 187.04 1803.03 187.04Z" fill="black"/>
|
|
4
|
+
<path d="M2254 764.836C2186.91 764.836 2138.3 739.429 2106.13 702.222C2101.46 696.826 2092.13 698.971 2090.88 705.993L2082.63 752.323C2081.95 756.14 2078.63 758.92 2074.75 758.92H1980.01C1975.59 758.92 1972.01 755.338 1972.01 750.92V76.72C1972.01 72.3017 1975.59 68.72 1980.01 68.72H2089.23C2093.65 68.72 2097.23 72.3017 2097.23 76.72V298.558C2097.23 306.201 2107.28 309.773 2112.61 304.285C2144.95 270.932 2190.97 247.186 2254.99 247.186C2391.06 247.186 2490.64 343.814 2490.64 505.518C2490.64 661.306 2391.06 764.836 2254 764.836ZM2229.35 661.306C2310.2 661.306 2363.45 599.188 2363.45 506.504C2363.45 412.834 2310.2 350.716 2229.35 350.716C2148.5 350.716 2095.26 412.834 2095.26 505.518C2095.26 599.188 2148.5 661.306 2229.35 661.306Z" fill="black"/>
|
|
5
|
+
<path d="M2817.33 764.836C2652.67 764.836 2552.1 662.292 2552.1 507.49C2552.1 350.716 2654.64 247.186 2807.47 247.186C2956.36 247.186 3057.92 341.842 3057.92 492.7C3057.92 503.334 3057.92 514.647 3057.35 526.639C3057.16 530.846 3053.66 534.112 3049.45 534.112H2689.15C2685.88 534.112 2683.24 536.761 2683.24 540.028C2683.24 617.922 2735.49 667.222 2811.42 667.222C2870.04 667.222 2912.35 641.829 2927.02 596.261C2928.14 592.793 2931.29 590.314 2934.94 590.314H3043.48C3048.44 590.314 3052.22 594.795 3051.14 599.64C3030.5 691.905 2944.22 764.836 2817.33 764.836ZM2686.87 439.185C2685.84 443.964 2689.6 448.33 2694.49 448.33H2922.6C2927.43 448.33 2931.17 444.061 2930.29 439.314C2918.7 376.993 2874.41 342.828 2809.44 342.828C2749.31 342.828 2699.92 378.645 2686.87 439.185Z" fill="black"/>
|
|
6
|
+
<path d="M3374.61 764.836C3215.87 764.836 3119.24 665.25 3119.24 506.504C3119.24 349.73 3220.8 247.186 3378.56 247.186C3509.1 247.186 3592.93 316.338 3615.47 429.168C3616.44 434.016 3612.67 438.47 3607.73 438.47H3492.48C3488.71 438.47 3485.48 435.836 3484.52 432.199C3471.16 381.668 3433.43 350.716 3376.59 350.716C3297.71 350.716 3247.42 414.806 3247.42 506.504C3247.42 598.202 3296.72 661.306 3376.59 661.306C3434.41 661.306 3472.19 629.409 3485.53 577.881C3486.48 574.229 3489.71 571.58 3493.49 571.58H3607.82C3612.73 571.58 3616.49 575.983 3615.56 580.809C3593.73 694.688 3505.22 764.836 3374.61 764.836Z" fill="black"/>
|
|
7
|
+
<path d="M3912.45 764.836C3778.36 764.836 3674.83 666.236 3674.83 506.504C3674.83 350.716 3778.36 247.186 3912.45 247.186C3979.76 247.186 4027.7 271.986 4060.38 309.905C4065.03 315.295 4074.31 313.151 4075.56 306.146L4083.83 259.699C4084.51 255.882 4087.83 253.102 4091.71 253.102H4186.45C4190.87 253.102 4194.45 256.684 4194.45 261.102V750.92C4194.45 755.338 4190.87 758.92 4186.45 758.92H4091.72C4087.84 758.92 4084.51 756.13 4083.84 752.304L4075.41 704.325C4074.2 697.4 4065.13 695.195 4060.49 700.478C4027.28 738.288 3980.02 764.836 3912.45 764.836ZM3937.1 661.306C4017.96 661.306 4070.21 599.188 4070.21 507.49C4070.21 412.834 4017.96 350.716 3937.1 350.716C3855.27 350.716 3803.01 412.834 3803.01 506.504C3803.01 599.188 3855.27 661.306 3937.1 661.306Z" fill="black"/>
|
|
8
|
+
<path d="M4308.28 758.92C4303.86 758.92 4300.28 755.338 4300.28 750.92V261.102C4300.28 256.684 4303.86 253.102 4308.28 253.102H4402.87C4406.81 253.102 4410.17 255.975 4410.78 259.87L4418.21 307.536C4419.35 314.889 4429.31 316.992 4433.87 311.112C4460.35 276.986 4499.34 253.102 4569.45 253.102H4588.08C4592.49 253.102 4596.08 256.684 4596.08 261.102V359.478C4596.08 363.896 4592.49 367.478 4588.08 367.478H4543.82C4456.06 367.478 4425.5 430.582 4425.5 508.476V750.92C4425.5 755.338 4421.92 758.92 4417.5 758.92H4308.28Z" fill="black"/>
|
|
9
|
+
<path d="M4945.28 764.836C4878.19 764.836 4829.58 739.429 4797.41 702.221C4792.74 696.826 4783.41 698.971 4782.16 705.993L4773.91 752.323C4773.23 756.14 4769.91 758.92 4766.03 758.92H4671.29C4666.87 758.92 4663.29 755.338 4663.29 750.92V76.72C4663.29 72.3017 4666.87 68.72 4671.29 68.72H4780.51C4784.93 68.72 4788.51 72.3017 4788.51 76.72V298.558C4788.51 306.201 4798.56 309.773 4803.88 304.285C4836.23 270.932 4882.25 247.186 4946.27 247.186C5082.34 247.186 5181.92 343.814 5181.92 505.518C5181.92 661.306 5082.34 764.836 4945.28 764.836ZM4920.63 661.306C5001.48 661.306 5054.73 599.188 5054.73 506.504C5054.73 412.834 5001.48 350.716 4920.63 350.716C4839.78 350.716 4786.54 412.834 4786.54 505.518C4786.54 599.188 4839.78 661.306 4920.63 661.306Z" fill="black"/>
|
|
10
|
+
<path d="M5506.64 764.836C5348.88 764.836 5243.38 661.306 5243.38 506.504C5243.38 350.716 5348.88 247.186 5506.64 247.186C5664.4 247.186 5769.9 350.716 5769.9 506.504C5769.9 661.306 5664.4 764.836 5506.64 764.836ZM5506.64 661.306C5589.46 661.306 5641.72 597.216 5641.72 506.504C5641.72 414.806 5589.46 350.716 5506.64 350.716C5423.82 350.716 5371.56 414.806 5371.56 506.504C5371.56 597.216 5423.82 661.306 5506.64 661.306Z" fill="black"/>
|
|
11
|
+
<path d="M5861.42 758.92C5857 758.92 5853.42 755.338 5853.42 750.92V261.102C5853.42 256.684 5857 253.102 5861.42 253.102H5956.19C5960.05 253.102 5963.37 255.867 5964.06 259.671L5971.55 300.893C5972.78 307.645 5981.5 309.909 5986.22 304.93C6017.56 271.903 6062.75 247.186 6133.44 247.186C6243.88 247.186 6336.56 306.346 6336.56 477.91V750.92C6336.56 755.338 6332.98 758.92 6328.56 758.92H6219.34C6214.92 758.92 6211.34 755.338 6211.34 750.92V487.77C6211.34 398.044 6173.87 351.702 6100.9 351.702C6021.04 351.702 5978.64 401.988 5978.64 492.7V750.92C5978.64 755.338 5975.06 758.92 5970.64 758.92H5861.42Z" fill="black"/>
|
|
12
|
+
<g clip-path="url(#clip0_82_53)">
|
|
13
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M434.346 2.3064C436.82 0.879051 439.867 0.879058 442.342 2.30641L872.685 250.582C875.162 252.01 876.688 254.652 876.688 257.511V754.051C876.688 756.91 875.162 759.552 872.685 760.981L442.342 1009.26C439.867 1010.68 436.82 1010.68 434.346 1009.26L4.00221 760.981C1.52575 759.552 0 756.91 0 754.051V257.511C0 254.652 1.52576 252.01 4.00222 250.582L434.346 2.3064ZM708.094 505.781C708.094 577.323 679.674 645.935 629.086 696.523C578.498 747.111 509.886 775.531 438.344 775.531C366.802 775.531 298.19 747.111 247.602 696.523C197.014 645.935 168.594 577.323 168.594 505.781C168.594 434.239 197.014 365.627 247.602 315.039C298.19 264.451 366.802 236.031 438.344 236.031C509.886 236.031 578.498 264.451 629.086 315.039C679.674 365.627 708.094 434.239 708.094 505.781Z" fill="url(#paint0_linear_82_53)"/>
|
|
14
|
+
<path d="M876.688 252.891V472.062L438.344 606.938L0 472.062V252.891L438.344 0L876.688 252.891Z" fill="url(#paint1_linear_82_53)"/>
|
|
15
|
+
</g>
|
|
16
|
+
<defs>
|
|
17
|
+
<linearGradient id="paint0_linear_82_53" x1="0" y1="0" x2="0" y2="1011.56" gradientUnits="userSpaceOnUse">
|
|
18
|
+
<stop stop-color="#5EEAD4"/>
|
|
19
|
+
<stop offset="1" stop-color="#0D9488"/>
|
|
20
|
+
</linearGradient>
|
|
21
|
+
<linearGradient id="paint1_linear_82_53" x1="175.338" y1="-5.42644e-06" x2="516.194" y2="492.348" gradientUnits="userSpaceOnUse">
|
|
22
|
+
<stop stop-color="white" stop-opacity="0.5"/>
|
|
23
|
+
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
|
24
|
+
</linearGradient>
|
|
25
|
+
<clipPath id="clip0_82_53">
|
|
26
|
+
<rect width="876.688" height="1011.56" fill="white"/>
|
|
27
|
+
</clipPath>
|
|
28
|
+
</defs>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { motion, useInView } from 'framer-motion';
|
|
2
|
+
import { Code2, FileCode, FolderTree, ShieldCheck, Sparkles } from 'lucide-react';
|
|
3
|
+
import { useRef } from 'react';
|
|
4
|
+
import { useTranslation } from 'react-i18next';
|
|
5
|
+
import vibecarbonIcon from '../assets/vibecarbon-icon.svg';
|
|
6
|
+
import { GlowTracker } from './effects/GlowTracker';
|
|
7
|
+
|
|
8
|
+
export function AIIntegrationSection() {
|
|
9
|
+
const { t } = useTranslation();
|
|
10
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
11
|
+
const isInView = useInView(containerRef, { once: true, margin: '-100px' });
|
|
12
|
+
|
|
13
|
+
const features = [
|
|
14
|
+
{
|
|
15
|
+
icon: FileCode,
|
|
16
|
+
title: t('landing.aiIntegration.docs.title'),
|
|
17
|
+
description: t('landing.aiIntegration.docs.description'),
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: ShieldCheck,
|
|
21
|
+
title: t('landing.aiIntegration.guardrails.title'),
|
|
22
|
+
description: t('landing.aiIntegration.guardrails.description'),
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
icon: FolderTree,
|
|
26
|
+
title: t('landing.aiIntegration.architecture.title'),
|
|
27
|
+
description: t('landing.aiIntegration.architecture.description'),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
icon: Code2,
|
|
31
|
+
title: t('landing.aiIntegration.patterns.title'),
|
|
32
|
+
description: t('landing.aiIntegration.patterns.description'),
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<section className="relative py-24 md:py-36 overflow-hidden">
|
|
38
|
+
<div ref={containerRef} className="mx-auto max-w-7xl px-6">
|
|
39
|
+
{/* Header */}
|
|
40
|
+
<motion.div
|
|
41
|
+
initial={{ opacity: 0, y: 20 }}
|
|
42
|
+
animate={isInView ? { opacity: 1, y: 0 } : { opacity: 0, y: 20 }}
|
|
43
|
+
transition={{ duration: 0.5 }}
|
|
44
|
+
className="text-center mb-10"
|
|
45
|
+
>
|
|
46
|
+
<motion.div
|
|
47
|
+
className="flex justify-center mb-6"
|
|
48
|
+
animate={{ y: [0, -6, 0] }}
|
|
49
|
+
transition={{ duration: 3, repeat: Infinity, ease: 'easeInOut' }}
|
|
50
|
+
>
|
|
51
|
+
<img
|
|
52
|
+
src={vibecarbonIcon}
|
|
53
|
+
alt=""
|
|
54
|
+
width={56}
|
|
55
|
+
height={56}
|
|
56
|
+
className="drop-shadow-[0_0_12px_oklch(0.82_0.14_192/0.6)]"
|
|
57
|
+
/>
|
|
58
|
+
</motion.div>
|
|
59
|
+
<h2 className="text-3xl md:text-5xl font-black tracking-tight mb-4">
|
|
60
|
+
{t('landing.aiIntegration.headline1')}{' '}
|
|
61
|
+
<span className="bg-gradient-to-r from-primary via-cyan-400 to-secondary-accent bg-clip-text text-transparent">
|
|
62
|
+
{t('landing.aiIntegration.headlineHighlight')}
|
|
63
|
+
</span>{' '}
|
|
64
|
+
{t('landing.aiIntegration.headline2')}
|
|
65
|
+
</h2>
|
|
66
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
67
|
+
{t('landing.aiIntegration.subheading')}
|
|
68
|
+
</p>
|
|
69
|
+
</motion.div>
|
|
70
|
+
|
|
71
|
+
{/* AI Coding Assistants */}
|
|
72
|
+
{/* Features Grid */}
|
|
73
|
+
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-4 mb-16">
|
|
74
|
+
{features.map((feature, index) => (
|
|
75
|
+
<motion.div
|
|
76
|
+
key={feature.title}
|
|
77
|
+
initial={{ opacity: 0, y: 30 }}
|
|
78
|
+
animate={isInView ? { opacity: 1, y: 0 } : { opacity: 0, y: 30 }}
|
|
79
|
+
transition={{ duration: 0.5, delay: 0.5 + index * 0.1 }}
|
|
80
|
+
className="group"
|
|
81
|
+
>
|
|
82
|
+
<div className="relative overflow-hidden h-full p-6 rounded-2xl bg-muted/80 dark:bg-black/40 border border-border dark:border-white/10 hover:border-primary/30 transition-all duration-300">
|
|
83
|
+
<GlowTracker />
|
|
84
|
+
<div className="relative z-10">
|
|
85
|
+
<div className="flex items-center gap-4 mb-4">
|
|
86
|
+
<div className="flex size-12 items-center justify-center rounded-xl bg-gradient-to-br from-primary/20 to-secondary-accent/10 text-primary group-hover:from-primary/30 group-hover:to-secondary-accent/20 transition-colors">
|
|
87
|
+
<feature.icon className="size-6" strokeWidth={1.5} />
|
|
88
|
+
</div>
|
|
89
|
+
<h3 className="text-lg font-semibold text-foreground">{feature.title}</h3>
|
|
90
|
+
</div>
|
|
91
|
+
<p className="text-muted-foreground text-sm leading-relaxed">
|
|
92
|
+
{feature.description}
|
|
93
|
+
</p>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</motion.div>
|
|
97
|
+
))}
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
{/* Bottom message */}
|
|
101
|
+
<motion.div
|
|
102
|
+
initial={{ opacity: 0 }}
|
|
103
|
+
animate={isInView ? { opacity: 1 } : { opacity: 0 }}
|
|
104
|
+
transition={{ duration: 0.5, delay: 1.0 }}
|
|
105
|
+
className="mt-12 text-center"
|
|
106
|
+
>
|
|
107
|
+
<p className="text-muted-foreground inline-flex items-center gap-2">
|
|
108
|
+
<Sparkles className="size-4 text-primary" />
|
|
109
|
+
<span>
|
|
110
|
+
{t('landing.aiIntegration.footer1')}{' '}
|
|
111
|
+
<span className="text-primary font-semibold">
|
|
112
|
+
{t('landing.aiIntegration.footer2')}
|
|
113
|
+
</span>
|
|
114
|
+
</span>
|
|
115
|
+
</p>
|
|
116
|
+
</motion.div>
|
|
117
|
+
</div>
|
|
118
|
+
</section>
|
|
119
|
+
);
|
|
120
|
+
}
|