CINXE.COM
Integrate CARTO in your existing application | CARTO Documentation
<!DOCTYPE html><html lang="en" class="scroll-pt-[76px] plain-background"><head><meta charSet="utf-8"/><link rel="preconnect" href="https://api.gitbook.com"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" fetchPriority="high" imageSrcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=1&quality=100&sign=4296e2e5&sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=2&quality=100&sign=4296e2e5&sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=3&quality=100&sign=4296e2e5&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=4&quality=100&sign=4296e2e5&sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=1&quality=100&sign=4296e2e5&sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=2&quality=100&sign=4296e2e5&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=3&quality=100&sign=4296e2e5&sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=4&quality=100&sign=4296e2e5&sv=1 768w" imageSizes="(max-width: 1024px) 128px, 192px"/><link rel="stylesheet" href="/_next/static/css/2d00a2f28ca4dc5d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/99f50cfb598d2941.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d42d805b938873da.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/cda78a8fc1d3426c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c311d6484335995a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5a687dea857dc6f5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7235fa9d119901d4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/86d6274f3e6d760c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a91fbeec63857000.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2d0986519abf0323.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0f891de5863d7182.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2" href="/_next/static/chunks/webpack-21fb00c223e55731.js"/><script src="/_next/static/chunks/1dd3208c-b11c3db6cd7d86b2.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/9978-293e379e3e1468f4.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/main-app-e62bf13c78816e56.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/app/global-error-19768e91f18f21d9.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/b5d5b83b-3d9186fb60556c53.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/7609-ae1015bd89577747.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/1281-411df876b32e19c2.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/4012-d5519c7c19347ff0.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/app/(site)/layout-512d7fc9258aa558.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/app/(site)/error-aabf7054fe6497a1.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/9505-a8f112b566ef7f41.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/4531-b39a0af8c700f9ea.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/4746-fcf448a964a3d7bb.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/1285-2b0f91300e0c0b9a.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/3902-19c217a299034164.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script async="" src="https://integrations.gitbook.com/v1/integrations/googleanalytics/installations/25c0f4287d6076c5f9832ee6b32aef45ce0cde8eb60125252d9b3753588ba0b8/sites/site_mOqvA/script.js?version=149.0" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/6150-57a79db9099e4be8.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/8510-2f41b25832a6d317.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/8325-5bb891172c79071a.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/9028-bdf215f649fe02e9.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><script src="/_next/static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js" async="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script><link rel="privacy-policy" href="https://carto.com/privacy/"/><meta name="color-scheme" content="light"/><title>Integrate CARTO in your existing application | CARTO Documentation</title><meta name="description" content="Learn how to securely embed CARTO into your existing architecture providing fine-grained data access"/><meta name="generator" content="GitBook (575587e)"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://docs.carto.com/carto-for-developers/guides/integrate-carto-in-your-existing-application"/><meta property="og:title" content="Integrate CARTO in your existing application | CARTO Documentation"/><meta property="og:description" content="Learn how to securely embed CARTO into your existing architecture providing fine-grained data access"/><meta property="og:image" content="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fsocialpreview%2F4aOcZ2HFEMgtQX5Bfqwo%2FCARTO-Doc-Social-Media-v02-Hi-Res.png?alt=media&token=31e180d8-fa03-4b9e-94f4-5e7fd111d984"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Integrate CARTO in your existing application | CARTO Documentation"/><meta name="twitter:description" content="Learn how to securely embed CARTO into your existing architecture providing fine-grained data access"/><meta name="twitter:image" content="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fsocialpreview%2F4aOcZ2HFEMgtQX5Bfqwo%2FCARTO-Doc-Social-Media-v02-Hi-Res.png?alt=media&token=31e180d8-fa03-4b9e-94f4-5e7fd111d984"/><link rel="icon" href="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Ficon%2FB3hACdII6yj7SY4T1JdW%2FCARTO%20Logo%20Marker%20Positive%402x.png?alt=media&token=ec640053-0e92-4141-ada1-c04a628dc965" type="image/png" media="(prefers-color-scheme: light)"/><link rel="icon" href="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Ficon%2FB3hACdII6yj7SY4T1JdW%2FCARTO%20Logo%20Marker%20Positive%402x.png?alt=media&token=ec640053-0e92-4141-ada1-c04a628dc965" type="image/png" media="(prefers-color-scheme: dark)"/><meta name="next-size-adjust"/><style> :root { --primary-color-50: 230 241 252; --primary-color-100: 205 226 249; --primary-color-200: 154 197 243; --primary-color-300: 104 169 238; --primary-color-400: 53 140 232; --primary-color-500: 3 111 226; --primary-color-600: 2 89 181; --primary-color-700: 2 67 136; --primary-color-800: 1 44 90; --primary-color-900: 1 22 45; --contrast-primary-50: 0 0 0; --contrast-primary-100: 0 0 0; --contrast-primary-200: 0 0 0; --contrast-primary-300: 0 0 0; --contrast-primary-400: 0 0 0; --contrast-primary-500: 255 255 255; --contrast-primary-600: 255 255 255; --contrast-primary-700: 255 255 255; --contrast-primary-800: 255 255 255; --contrast-primary-900: 255 255 255; --primary-base-50: 230 241 252; --primary-base-100: 205 226 249; --primary-base-200: 154 197 243; --primary-base-300: 104 169 238; --primary-base-400: 53 140 232; --primary-base-500: 3 111 226; --primary-base-600: 2 89 181; --primary-base-700: 2 67 136; --primary-base-800: 1 44 90; --primary-base-900: 1 22 45; --header-background-50: 232 234 236; --header-background-100: 208 212 218; --header-background-200: 162 169 181; --header-background-300: 115 127 143; --header-background-400: 69 84 106; --header-background-500: 22 41 69; --header-background-600: 18 33 55; --header-background-700: 13 25 41; --header-background-800: 9 16 28; --header-background-900: 4 8 14; --header-link-50: 255 255 255; --header-link-100: 255 255 255; --header-link-200: 255 255 255; --header-link-300: 255 255 255; --header-link-400: 255 255 255; --header-link-500: 255 255 255; --header-link-600: 204 204 204; --header-link-700: 153 153 153; --header-link-800: 102 102 102; --header-link-900: 51 51 51; --header-button-text-50: 230 230 230; --header-button-text-100: 204 204 204; --header-button-text-200: 153 153 153; --header-button-text-300: 102 102 102; --header-button-text-400: 51 51 51; --header-button-text-500: 0 0 0; --header-button-text-600: 0 0 0; --header-button-text-700: 0 0 0; --header-button-text-800: 0 0 0; --header-button-text-900: 0 0 0; } .dark { --primary-color-50: 230 241 252; --primary-color-100: 205 226 249; --primary-color-200: 154 197 243; --primary-color-300: 104 169 238; --primary-color-400: 53 140 232; --primary-color-500: 3 111 226; --primary-color-600: 2 89 181; --primary-color-700: 2 67 136; --primary-color-800: 1 44 90; --primary-color-900: 1 22 45; --primary-base-50: 230 241 252; --primary-base-100: 205 226 249; --primary-base-200: 154 197 243; --primary-base-300: 104 169 238; --primary-base-400: 53 140 232; --primary-base-500: 3 111 226; --primary-base-600: 2 89 181; --primary-base-700: 2 67 136; --primary-base-800: 1 44 90; --primary-base-900: 1 22 45; --contrast-primary-50: 0 0 0; --contrast-primary-100: 0 0 0; --contrast-primary-200: 0 0 0; --contrast-primary-300: 0 0 0; --contrast-primary-400: 0 0 0; --contrast-primary-500: 255 255 255; --contrast-primary-600: 255 255 255; --contrast-primary-700: 255 255 255; --contrast-primary-800: 255 255 255; --contrast-primary-900: 255 255 255; --header-background-50: 232 234 236; --header-background-100: 208 212 218; --header-background-200: 162 169 181; --header-background-300: 115 127 143; --header-background-400: 69 84 106; --header-background-500: 22 41 69; --header-background-600: 18 33 55; --header-background-700: 13 25 41; --header-background-800: 9 16 28; --header-background-900: 4 8 14; --header-link-50: 255 255 255; --header-link-100: 255 255 255; --header-link-200: 255 255 255; --header-link-300: 255 255 255; --header-link-400: 255 255 255; --header-link-500: 255 255 255; --header-link-600: 204 204 204; --header-link-700: 153 153 153; --header-link-800: 102 102 102; --header-link-900: 51 51 51; --header-button-text-50: 230 230 230; --header-button-text-100: 204 204 204; --header-button-text-200: 153 153 153; --header-button-text-300: 102 102 102; --header-button-text-400: 51 51 51; --header-button-text-500: 0 0 0; --header-button-text-600: 0 0 0; --header-button-text-700: 0 0 0; --header-button-text-800: 0 0 0; --header-button-text-900: 0 0 0; } </style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule="" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2"></script></head><body class="__variable_274faa __variable_a7f53a __variable_e782a9 __className_7e024b __variable_0e9704 bg-light dark:bg-dark"><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">!function(){var d=document.documentElement,c=d.classList;c.remove('light','dark');d.style.colorScheme = 'light';c.add('light')}()</script><header class="flex flex-col h-[64px] sticky top-0 z-10 w-full flex-none shadow-thinbottom lg:z-10 dark:shadow-light/1 bg-header-background"><div class="scroll-nojump"><div class="gap-4 grid grid-flow-col auto-cols-[auto_auto_1fr_auto] h-16 items-center align-center justify-between w-full px-4 sm:px-6 md:px-8 max-w-screen-2xl mx-auto page-full-width:max-w-full"><div class="flex flex-row gap-2"><button class="flex flex-row items-center hover:bg-dark/3 py-1 px-2 dark:hover:bg-light/2 rounded straight-corners:rounded-sm page-no-toc:hidden lg:hidden text-header-link" aria-label="Open table of contents"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/bars.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4 text-inherit"></svg></button><a class="group/headerlogo flex-1 flex flex-row items-center shrink-0" href="/"><img alt="Logo" fetchPriority="high" class="block dark:hidden max-w-[8rem] lg:max-w-[12rem] max-h-[3rem] rounded straight-corners:rounded-sm overflow-hidden object-contain object-left" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=4&quality=100&sign=4296e2e5&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=1&quality=100&sign=4296e2e5&sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=2&quality=100&sign=4296e2e5&sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=3&quality=100&sign=4296e2e5&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=128&dpr=4&quality=100&sign=4296e2e5&sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=1&quality=100&sign=4296e2e5&sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=2&quality=100&sign=4296e2e5&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=3&quality=100&sign=4296e2e5&sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75&width=192&dpr=4&quality=100&sign=4296e2e5&sv=1 768w" sizes="(max-width: 1024px) 128px, 192px" width="504" height="80"/><img alt="Logo" loading="lazy" fetchPriority="low" class="hidden dark:block max-w-[8rem] lg:max-w-[12rem] max-h-[3rem] rounded straight-corners:rounded-sm overflow-hidden object-contain object-left" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=192&dpr=4&quality=100&sign=bba21d6&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=128&dpr=1&quality=100&sign=bba21d6&sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=128&dpr=2&quality=100&sign=bba21d6&sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=128&dpr=3&quality=100&sign=bba21d6&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=128&dpr=4&quality=100&sign=bba21d6&sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=192&dpr=1&quality=100&sign=bba21d6&sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=192&dpr=2&quality=100&sign=bba21d6&sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=192&dpr=3&quality=100&sign=bba21d6&sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55&width=192&dpr=4&quality=100&sign=bba21d6&sv=1 768w" sizes="(max-width: 1024px) 128px, 192px" width="1008" height="160"/></a></div><div class="z-20"></div><div class="headerLinks_containerHeaderlinks__GUgiv flex justify-end items-center gap-x-2.5 mr-2.5 lg:gap-x-5 lg:mr-2.5 *:max-w-56 z-20"><a class="overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400" href="https://carto.com"><span class="truncate">Home</span></a><a class="overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400" href="https://academy.carto.com"><span class="truncate">Academy</span></a><a class="overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400" href="https://app.carto.com"><span class="truncate">Login</span></a><a class="overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400" href="https://app.carto.com/signup"><span class="truncate">Try for free</span></a><div class="headerLinks_linkEllipsis__Z01IN items-center z-20"><div class="group/dropdown relative flex"><button class="px-1 text-header-link-500 hover:text-header-link-400"><span class="sr-only">More</span><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/ellipsis.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon opacity-6 size-3 ms-1"></svg></button><div tabindex="-1" role="menu" aria-orientation="vertical" aria-labelledby=":S1:" class="w-52 max-h-56 flex absolute top-full left-0 z-20 origin-top-left invisible transition-opacity duration-1000 group-hover/dropdown:visible group-focus-within/dropdown:visible -translate-x-48 md:translate-x-0"><div class="mt-2 w-full bg-light rounded-lg straight-corners:rounded-sm p-2 shadow-1xs overflow-auto ring-1 ring-dark/1 ring-opacity-8 focus:outline-none dark:bg-dark dark:ring-light/2"><div class="flex flex-col gap-1"><a class="flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2" href="https://carto.com">Home</a><a class="flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2" href="https://academy.carto.com">Academy</a><a class="flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2" href="https://app.carto.com">Login</a><a class="flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2" href="https://app.carto.com/signup">Try for free</a></div></div></div></div></div></div><div class="flex md:w-56 grow-0 shrink-0 justify-self-end"><!--$--><button aria-label="Search" class="flex flex-1 flex-row justify-center items-center px-2 gap-3 text-dark/7 min-h-[2.5rem] w-[2.5rem] rounded-lg straight-corners:rounded-none transition-opacity ease-out hover:opacity-8 ring-1 ring-inset contrast-more:text-dark dark:text-light/7 contrast-more:dark:text-light [&>p]:hidden [&>span]:hidden md:justify-start md:[&>p]:flex md:[&>span]:flex md:w-full md:px-3.5 text-base bg-header-link/3 shadow-sm ring-header-link/3 [&_svg]:text-header-link contrast-more:bg-transparent contrast-more:ring-header-link contrast-more:[&>span]:!text-header-link dark:bg-header-link/3 dark:ring-header-link/3 [&>span]:!text-header-link/7 dark:[&_svg]:text-header-link dark:contrast-more:bg-transparent dark:contrast-more:ring-header-link dark:contrast-more:[&>span]:!text-header-link"><div class="text-dark/7 pt-1.5 pb-2 dark:text-light/7"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/magnifying-glass.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon shrink-0 size-4"></svg></div><span class="flex-1">Ask or Search</span><span class="hidden md:inline justify-end text-xs text-dark/5 contrast-more:text-dark dark:text-light/5 contrast-more:dark:text-light [font-feature-settings:"calt",_"case"]">Ctrl +<!-- --> K</span></button><!--/$--></div></div></div></header><div class="scroll-nojump"><div class="flex flex-col lg:flex-row px-4 sm:px-6 md:px-8 max-w-screen-2xl mx-auto page-full-width:max-w-full min-h-[calc(100vh-64px)]"><aside class="relative group flex flex-col basis-full bg-light grow-0 shrink-0 shadow-thinbottom navigation-open:shadow-dark/2 z-[1] top-0 h-[100vh] lg:basis-72 lg:navigation-open:border-b-0 lg:sticky dark:bg-dark dark:navigation-open:shadow-light/2 page-no-toc:hidden lg:top-16 lg:h-[calc(100vh_-_4rem)]"><div class="pt-4 hidden lg:flex flex-grow flex-col overflow-y-auto lg:gutter-stable lg:pr-2 group-hover:[&::-webkit-scrollbar]:bg-dark/1 group-hover:[&::-webkit-scrollbar-thumb]:bg-dark/3 [&::-webkit-scrollbar]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-transparent dark:[&::-webkit-scrollbar]:bg-transparent dark:[&::-webkit-scrollbar-thumb]:bg-transparent dark:group-hover:[&::-webkit-scrollbar]:bg-light/1 dark:group-hover:[&::-webkit-scrollbar-thumb]:bg-light/3 navigation-open:flex lg:-ml-5 lg:pb-20"><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/">Welcome</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new">What's new<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q4-2024">Q4 2024</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q3-2024">Q3 2024</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q2-2024">Q2 2024</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q1-2024">Q1 2024</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q4-2023">Q4 2023</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q3-2023">Q3 2023</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q2-2023">Q2 2023</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q1-2023">Q1 2023</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q4-2022">Q4 2022</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/whats-new/q3-2022">Q3 2022</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs">FAQs<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/accounts">Accounts</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/migration-to-the-new-platform">Migration to the new platform</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/user-and-organization-setup">User & organization setup</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/workspace">General</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/builder">Builder</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/workflows">Workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/data-observatory">Data Observatory</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/analytics-toolbox">Analytics Toolbox</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/development-tools">Development Tools</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/deployment-options">Deployment Options</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/support-packages">Support Packages</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/carto-for-education">CARTO for Education</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/faqs/security-and-compliance">Security and Compliance</a></div></li></ul></div></div></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">Getting started</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/carto-in-a-nutshell">What is CARTO?</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/quickstart-guides">Quickstart guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/quickstart-guides/connecting-to-your-data">Connecting to your data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/quickstart-guides/creating-your-first-map">Creating your first map</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/quickstart-guides/creating-your-first-workflow">Creating your first workflow</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/getting-started/quickstart-guides/developing-your-first-application">Developing your first application</a></div></li></ul></div></div></li><li class="flex flex-col"><a class="flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2" href="https://academy.carto.com">CARTO Academy<svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/arrow-up-right-from-square.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [&>path]:transition-[opacity] [&>path]:[opacity:0.40] group-hover:[&>path]:[opacity:1]"></svg></a></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">CARTO User Manual</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/overview">Overview<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/overview/creating-your-carto-organization">Creating your CARTO organization</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/overview/carto-cloud-regions">CARTO Cloud Regions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/overview/carto-workspace-overview">CARTO Workspace overview</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps">Maps<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources">Data sources<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/simple-features">Simple features</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/spatial-indexes">Spatial Indexes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/pre-generated-tilesets">Pre-generated tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/defining-source-spatial-data">Defining source spatial data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/managing-data-freshness">Managing data freshness</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/data-sources/changing-data-source-location">Changing data source location</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers">Layers<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/point">Point<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/point/grid-point-aggregation">Grid point aggregation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/point/h3-point-aggregation">H3 point aggregation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/point/heatmap-point-aggregation">Heatmap point aggregation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/point/cluster-point-aggregation">Cluster point aggregation</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/polygon">Polygon</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/line">Line</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/grid">Grid</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/h3">H3</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/layers/zoom-to-layer">Zoom to layer</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets">Widgets<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/formula-widget">Formula widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/category-widget">Category widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/pie-widget">Pie widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/histogram-widget">Histogram widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/range-widget">Range widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/time-series-widget">Time Series widget</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/widgets/table-widget">Table widget</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-parameters">SQL Parameters<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-parameters/date-parameter">Date parameter</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-parameters/text-parameter">Text parameter</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-parameters/numeric-parameter">Numeric parameter</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-parameters/publishing-sql-parameters">Publishing SQL parameters</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/interactions">Interactions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/legend">Legend</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/basemaps">Basemaps<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/basemaps/basemap-selector">Basemap selector</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/sql-analyses">SQL Analyses</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/map-view-modes">Map view modes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/map-description">Map description</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/feature-selection-tool">Feature Selection tool</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/search-locations">Search locations</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/measure-distances">Measure distances</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/exporting-data">Exporting data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/download-pdf-reports">Download PDF reports</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/managing-maps">Managing maps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps">Publishing and sharing maps<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps/map-settings-for-viewers">Map settings for viewers</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps/map-preview-for-editors">Map preview for editors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps/collaborative-maps">Collaborative maps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps/embedding-maps">Embedding maps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/publishing-and-sharing-maps/url-parameters">URL parameters</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/maps/performance-considerations">Performance considerations</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows">Workflows<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/workflow-canvas">Workflow canvas</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/results-panel">Results panel</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components">Components<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/aggregation">Aggregation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/custom">Custom</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/data-enrichment">Data Enrichment</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/data-preparation">Data Preparation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/generative-ai">Generative AI</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/input-output">Input / Output</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/joins">Joins</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/parsers">Parsers</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/raster-operations">Raster Operations</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/spatial-accessors">Spatial Accessors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/spatial-analysis">Spatial Analysis</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/spatial-constructors">Spatial Constructors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/spatial-indexes">Spatial Indexes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/spatial-operations">Spatial Operations</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/statistics">Statistics</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/tileset-creation">Tileset Creation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/google-earth-engine">Google Earth Engine</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/components/telco-signal-propagation-models">Telco Signal Propagation Models</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/data-sources">Data Sources</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/scheduling-workflows">Scheduling workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/sharing-workflows">Sharing workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/using-variables-in-workflows">Using variables in workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/executing-workflows-via-api">Executing workflows via API</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/temporary-data-in-workflows">Temporary data in Workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/extension-packages">Extension Packages</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/managing-maps">Managing workflows</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/workflows/how-to-optimize-generated-tables">Workflows best practices</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer">Data Explorer<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/creating-a-map-from-your-data">Creating a map from your data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/creating-a-tileset-from-your-data">Creating a tileset from your data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/importing-data">Importing data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/geocoding-data">Geocoding data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/enriching-data">Enriching data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-explorer/optimizing-your-data">Optimizing your data</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/data-observatory">Data Observatory</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections">Connections<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/bigquery">Google BigQuery</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/snowflake">Snowflake</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/redshift">Amazon Redshift</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/postgresql">PostgreSQL</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/databricks">Databricks</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/carto-data-warehouse">CARTO Data Warehouse</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/sharing-a-connection">Sharing connections</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/deleting-a-connection">Deleting a connection</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/required-permissions">Required permissions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/ip-whitelisting">IP whitelisting</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/connections/customer-data-responsibilities">Customer data responsibilities</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/applications">Applications</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings">Settings<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/understanding-your-organization-quotas">Understanding your organization quotas</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/activity-data">Activity Data<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/activity-data/activity-data-reference">Activity Data Reference</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/activity-data/activity-data-examples">Activity Data Examples</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups">Users and Groups<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/inviting-users-to-your-organization">Inviting users to your organization</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/managing-user-roles">Managing user roles</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/deleting-users">Deleting users</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/managing-user-groups">Groups</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/sso">SSO</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/users-and-groups/mapping-groups-to-user-roles">Mapping groups to user roles</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/carto-support-access">CARTO Support Access</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/customizations">Customizations<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/customizations/customizing-appearance-and-branding">Customizing appearance and branding</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/customizations/configuring-custom-color-palettes">Configuring custom color palettes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/customizations/configuring-your-organization-basemaps">Configuring your organization basemaps</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/advanced-settings">Advanced Settings<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/advanced-settings/managing-registered-apps">Managing applications</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/advanced-settings/configuring-s3-bucket-for-redshift-imports">Configuring S3 Bucket for Redshift Imports</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/advanced-settings/configuring-oauth-connections-to-snowflake">Configuring OAuth connections to Snowflake</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/advanced-settings/configuring-s3-bucket-integration-for-rds-for-postgresql-exports-in-builder">Configuring S3 Bucket integration for RDS for PostgreSQL Exports in Builder</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/settings/deleting-your-organization">Deleting your organization</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers">Developers<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers/managing-credentials">Managing Credentials<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers/managing-credentials/api-base-url">API Base URL</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers/managing-credentials/api-access-tokens">API Access Tokens</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers/managing-credentials/spa-oauth-clients">SPA OAuth Clients</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-user-manual/developers/managing-credentials/m2m-oauth-clients">M2M OAuth Clients</a></div></li></ul></div></div></li></ul></div></div></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">Data and Analysis</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-overview">Analytics Toolbox Overview</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery">Analytics Toolbox for BigQuery<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/getting-access">Getting access<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/projects-maintained-by-carto-in-different-bigquery-regions">Projects maintained by CARTO in different BigQuery regions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/manual-installation-in-your-own-project">Manual installation in your own project</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/installation-in-a-google-cloud-vpc">Installation in a Google Cloud VPC</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/core-module">Core module</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/tilesets">Tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/spatial-indexes">Spatial indexes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference">SQL Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/accessors">accessors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/clustering">clustering</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/constructors">constructors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/cpg">cpg</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/data">data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/http_request">http_request</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/import">import</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/geohash">geohash</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/h3">h3</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/lds">lds</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/measurements">measurements</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/placekey">placekey</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/processing">processing</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/quadbin">quadbin</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/random">random</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/raster">raster</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/retail">retail</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/routing">routing</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/s2">s2</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/statistics">statistics</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/telco">telco</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/tiler">tiler</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/transformations">transformations</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/guides/creating-and-visualizing-tilesets">Creating and visualizing tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/guides/running-queries-from-builder">Running queries from Builder</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/guides/working-with-raster-data">Working with Raster data</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/release-notes">Release notes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-bigquery/about-analytics-toolbox-regions">About Analytics Toolbox regions</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake">Analytics Toolbox for Snowflake<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/getting-access">Getting access<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/getting-access/native-app-from-snowflakes-marketplace">Native App from Snowflake's Marketplace</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/getting-access/manual-installation">Manual installation</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/spatial-indexes">Spatial indexes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/tilesets">Tilesets</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference">SQL Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/accessors">accessors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/clustering">clustering</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/constructors">constructors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/data">data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/http_request">http_request</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/import">import</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/h3">h3</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/lds">lds</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/measurements">measurements</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/placekey">placekey</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/processing">processing</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/quadbin">quadbin</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/random">random</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/raster">raster</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/retail">retail</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/s2">s2</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/statistics">statistics</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/tiler">tiler</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/transformations">transformations</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/guides/creating-and-visualizing-tilesets">Creating and visualizing tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/guides/running-queries-from-builder">Running queries from Builder</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/guides/working-with-raster-data">Working with Raster data</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-snowflake/release-notes">Release Notes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift">Analytics Toolbox for Redshift<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/getting-access">Getting access<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/getting-access/manual-installation-in-your-database">Manual installation in your database</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-in-a-aws-vpc">Installation in an Amazon Web Services VPC</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-of-the-core-package">Core version</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/key-concepts/tilesets">Tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/key-concepts/spatial-indexes">Spatial indexes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference">SQL Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/clustering">clustering</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/constructors">constructors</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/data">data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/http_request">http_request</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/import">import</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/lds">lds</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/placekey">placekey</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/processing">processing</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/quadbin">quadbin</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/random">random</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/s2">s2</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/statistics">statistics</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/tiler">tiler</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/transformations">transformations</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/guides/creating-and-visualizing-tilesets">Creating and visualizing tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/guides/running-queries-from-builder">Running queries from Builder</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-redshift/release-notes">Release Notes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks">Analytics Toolbox for Databricks<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/getting-access">Getting access<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/getting-access/single-user-cluster">Single User cluster</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/getting-access/shared-cluster">Shared cluster</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/reference">Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/reference/tiler">tiler</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/guides">Guides</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-databricks/release-notes">Release Notes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql">Analytics Toolbox for PostgreSQL<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/getting-access">Getting access<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/getting-access/manual-installation">Manual installation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/getting-access/core-version">Core version</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/tilesets">Tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/spatial-indexes">Spatial Indexes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference">SQL Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/h3">h3</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/quadbin">quadbin</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/tiler">tiler</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-and-visualizing-tilesets">Creating and visualizing tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-spatial-index-tilesets">Creating spatial index tilesets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/guides/running-queries-from-builder">Running queries from Builder</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/analytics-toolbox-for-postgresql/release-notes">Release Notes</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory">Data Observatory<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/terminology">Terminology</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/accessing-and-browsing-the-spatial-data-catalog">Accessing and browsing the spatial data catalog</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/accessing-free-data-samples">Accessing free data samples</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/subscribing-to-public-and-premium-datasets">Subscribing to public and premium datasets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/managing-your-subscriptions">Managing your subscriptions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/accessing-your-subscriptions-from-your-data-warehouse">Accessing your subscriptions from your data warehouse</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/guides/visualizing-data-observatory-datasets">Visualizing Data Observatory datasets</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/data-observatory/example-tilesets">Example Tilesets</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python">CARTO + Python<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/installation">Installation</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/authentication-methods">Authentication Methods</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/visualizing-data">Visualizing Data</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data">Working with Data<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data/how-to-work-with-your-data-in-the-carto-data-warehouse">How to work with your data in the CARTO Data Warehouse</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data/how-to-access-your-data-observatory-subscriptions">How to access your Data Observatory subscriptions</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-bigquery-and-create-visualizations-via-python-notebooks">How to access CARTO's Analytics Toolbox for BigQuery and create visualizations via Python notebooks</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-snowflake-and-create-visualizations-via-python-notebooks">How to access CARTO’s Analytics Toolbox for Snowflake and create visualizations via Python notebooks</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/working-with-data/how-to-visualize-data-from-databricks">How to visualize data from Databricks</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/data-and-analysis/carto-+-python/reference">Reference</a></div></li></ul></div></div></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">CARTO for Developers</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/overview">Overview</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/connections">Connections</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/apis">APIs</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/authentication-methods">Authentication methods<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/authentication-methods/api-access-tokens">API Access Tokens</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/authentication-methods/oauth-access-tokens">OAuth Access Tokens</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/authentication-methods/applications">OAuth Clients</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/visualization">Visualization</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/widgets">Widgets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/key-concepts/summary">Summary</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/quickstart">Quickstart<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/quickstart/how-to-make-my-first-api-call">Make your first API call</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/quickstart/visualize-your-first-dataset">Visualize your first dataset</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/quickstart/create-your-first-widget">Create your first widget</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-90"></svg></span></a><div class="" style="opacity:1;height:auto;display:block"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides/build-a-public-application">Build a public application</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides/build-a-private-application">Build a private application</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides/build-a-private-application-using-sso">Build a private application using SSO</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides/visualize-massive-datasets">Visualize massive datasets</a></div></li><li class="flex flex-col"><div><a aria-current="page" class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-primary-500 font-semibold text-primary hover:bg-primary/3 dark:before:border-primary-400 dark:text-primary-400 hover:before:border-primary dark:hover:bg-primary-500/3 dark:hover:before:border-primary" href="/carto-for-developers/guides/integrate-carto-in-your-existing-application">Integrate CARTO in your existing application</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/guides/use-boundaries-in-your-application">Use Boundaries in your application</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl">Visualization with deck.gl<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps">Basemaps<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-basemap">CARTO Basemap</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps">Google Maps<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1">Examples<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/gallery">Gallery</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/getting-started">Getting Started</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples">Basic Examples<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/hello-world">Hello World</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/bigquery-tileset-layer">BigQuery Tileset Layer</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/data-observatory-tileset-layer">Data Observatory Tileset Layer</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples">Advanced Examples<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/arc-layer">Arc Layer</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/extrusion">Extrusion</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/trips-layer">Trips Layer</a></div></li></ul></div></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/whats-new">What's New</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location">Amazon Location<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1">Examples<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/hello-world">Hello World</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/cartolayer">CartoLayer</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/whats-new">What's New</a></div></li></ul></div></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-deck.gl/rapid-map-prototyping">Rapid Map Prototyping</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/charts-and-widgets">Charts and widgets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference">Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><a class="flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2" href="https://deck.gl/docs">@deck.gl Reference<svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/arrow-up-right-from-square.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [&>path]:transition-[opacity] [&>path]:[opacity:0.40] group-hover:[&>path]:[opacity:1]"></svg></a></li><li class="flex flex-col"><a class="flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2" href="https://deck.gl/docs/api-reference/carto/overview">@deck.gl/carto Reference<svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/arrow-up-right-from-square.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [&>path]:transition-[opacity] [&>path]:[opacity:0.40] group-hover:[&>path]:[opacity:1]"></svg></a></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference">CARTO Widgets Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/data-sources">Data Sources</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models">Models<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/getformula">getFormula</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/getcategories">getCategories</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/gethistogram">getHistogram</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/getrange">getRange</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/getscatter">getScatter</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/gettimeseries">getTimeSeries</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/models/gettable">getTable</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/filters">Filters<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/filters/column-filters">Column filters</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/reference/carto-widgets-reference/filters/spatial-filters">Spatial filters</a></div></li></ul></div></div></li></ul></div></div></li><li class="flex flex-col"><a class="flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2" href="https://api-docs.carto.com">CARTO APIs Reference<svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/arrow-up-right-from-square.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [&>path]:transition-[opacity] [&>path]:[opacity:0.40] group-hover:[&>path]:[opacity:1]"></svg></a></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/release-notes">Release Notes</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/examples">Examples</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react">CARTO for React<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/getting-started">Getting Started</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/views">Views</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/data-sources">Data Sources</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/layers">Layers</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/widgets">Widgets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/authentication-and-authorization">Authentication and Authorization</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/basemaps">Basemaps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/look-and-feel">Look and Feel</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/query-parameters">Query Parameters</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/code-generator">Code Generator</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/sample-applications">Sample Applications</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/deployment">Deployment</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/guides/upgrade-guide">Upgrade Guide</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/examples">Examples</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference">Library Reference<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/introduction">Introduction</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/api">API</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/auth">Auth</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/basemaps">Basemaps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/core">Core</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/redux">Redux</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/ui">UI</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/library-reference/widgets">Widgets</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-for-developers/carto-for-react/release-notes">Release Notes</a></div></li></ul></div></div></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">CARTO Self-Hosted</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/overview">Overview</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/key-concepts/architecture">Architecture</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/key-concepts/deployment-requirements">Deployment requirements</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/deployment-guides">Quickstarts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/deployment-guides/single-vm-deployment">Single VM deployment</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/deployment-guides/kubernetes">Orchestrated container deployment</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/configure-your-own-buckets">Configure your own buckets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/configure-an-external-in-memory-cache">Configure an external in-memory cache</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/enable-google-basemaps">Enable Google Basemaps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/enable-the-carto-data-warehouse">Enable the CARTO Data Warehouse</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/configure-an-external-proxy">Configure an external proxy</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/enable-bigquery-oauth-connections">Enable BigQuery OAuth connections</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/configure-single-sign-on-sso">Configure Single Sign-On (SSO)</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/use-workload-identity-in-gcp">Use Workload Identity in GCP</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/high-availability-configuration-for-carto-self-hosted">High availability configuration for CARTO Self-Hosted</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/guides/configure-your-custom-service-account">Configure your custom service account</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance">Maintenance<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/updates">Updates</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/backups">Backups</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/uninstall">Uninstall</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/rotating-keys">Rotating keys</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/monitoring">Monitoring</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/maintenance/change-the-admin-console-password">Change the Admin Console password</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/support">Support</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy">CARTO Self-Hosted Legacy<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/key-concepts">Key concepts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/key-concepts/architecture">Architecture</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/key-concepts/deployment-requirements">Deployment requirements</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/quickstarts">Quickstarts<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/quickstarts/single-vm-deployment">Single VM deployment</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/quickstarts/orchestrated-container-deployment">Orchestrated container deployment</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides">Guides<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-own-buckets">Configure your own buckets</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-in-memory-cache">Configure an external in-memory cache</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/enable-google-basemaps">Enable Google Basemaps</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/enable-the-carto-data-warehouse">Enable the CARTO Data Warehouse</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-proxy">Configure an external proxy</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/enable-bigquery-oauth-connections">Enable BigQuery OAuth connections</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/configure-single-sign-on-sso">Configure Single Sign-On (SSO)</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/enable-redshift-imports">Enable Redshift imports</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/use-workload-identity-in-gcp">Use Workload Identity in GCP</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-custom-service-account">Configure your custom service account</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/advanced-customizations">Advanced customizations</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/guides/migrating-carto-self-hosted-installation-to-an-external-database">Migrating CARTO Self-Hosted installation to an external database</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance">Maintenance<span class="group relative rounded-full straight-corners:rounded-sm w-5 h-5 after:grid-area-1-1 after:absolute after:-top-1 after:grid after:-left-1 after:w-7 after:h-7 hover:bg-dark/2 hover:text-current dark:hover:bg-light/2 dark:hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon grid flex-shrink-0 size-3 m-1 text-current transition-transform [opacity:0.40] group-hover:[opacity:1] rotate-0"></svg></span></a><div class="[&_ul>li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance/updates">Updates</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance/backups">Backups</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance/uninstall">Uninstall</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance/rotating-keys">Rotating keys</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/maintenance/monitoring">Monitoring</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/carto-self-hosted-legacy/support">Support</a></div></li></ul></div></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-self-hosted/release-notes">Release Notes</a></div></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">CARTO Native App for Snowflake Containers</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/carto-native-app-for-snowflake-containers/deploying-carto-using-snowflake-container-services">Deploying CARTO using Snowflake Container Services</a></div></li></ul></li><li class="flex flex-col"><div class="flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent">Get Help</div><ul class="flex flex-1 flex-col gap-y-0.5"><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/get-help/legal-and-compliance">Legal & Compliance</a></div></li><li class="flex flex-col"><div><a class="group/toclink flex flex-row justify-between pl-5 pr-1.5 py-1.5 text-sm transition-colors relative text-balance before:border-l before:absolute before:left-[-1px] before:top-0 before:h-full rounded-md straight-corners:rounded-none [&+div_a]:rounded-l-none before:border-transparent font-normal text-dark/8 hover:bg-dark/1 hover:text-dark/9 hover:before:border-dark/3 dark:text-light/8 dark:hover:bg-light/2 dark:hover:before:border-light/3 dark:hover:text-light/9" href="/get-help/previous-libraries-and-components">Previous libraries and components</a></div></li></ul></li></ul><div class="relative z-[2] lg:absolute bottom-0 right-0 left-0 flex flex-col pointer-events-none lg:-left-5"><div class="text-sm text-dark/8 pr-0 pt-2 pb-2 mt-4 mb-4 bg-[size:250%_125%] bg-[position:50%_35%] bg-[radial-gradient(farthest-side_at_50%_-70%,_var(--tw-gradient-stops))] from-transparent from-60% to-light to-80% lg:pr-2 lg:mt-0 lg:mb-0 lg:mr-2 lg:pt-16 dark:text-light/6 dark:dark:to-dark"><a target="_blank" href="https://www.gitbook.com/?utm_source=content&utm_medium=trademark&utm_campaign=ybPdpmLltPkzGFvz7m8A" class="font-semibold ring-1 ring-inset ring-dark/2 pointer-events-auto transition-colors flex flex-row items-center hover:bg-dark/1 bg-light dark:bg-dark px-4 py-4 rounded-lg straight-corners:rounded-none hover:backdrop-blur-sm lg:ring-0 tracking-[-0.016em] dark:hover:bg-light/1 dark:ring-light/1 border border-dark/2 dark:border-light/2"><svg style="mask-image:url(/~gitbook/static/icons/svgs/custom-icons/gitbook.svg?v=2);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-3"></svg>Powered by GitBook</a></div></div></div></aside><div class="flex-1 flex flex-col"><!--$--><div class="flex flex-row-reverse justify-end"><aside class="group/aside hidden xl:flex flex-col basis-56 grow-0 shrink-0 sticky py-8 break-anywhere lg:h-full h-[100vh] page-api-block:xl:max-2xl:z-[1] page-api-block:xl:max-2xl:backdrop-blur-md page-api-block:xl:max-2xl:fixed page-api-block:xl:max-2xl:right-8 page-api-block:xl:max-2xl:w-56 page-api-block:xl:max-2xl:bg-light-2/9 page-api-block:xl:max-2xl:rounded page-api-block:xl:max-2xl:h-auto page-api-block:xl:max-2xl:py-0 page-api-block:xl:max-2xl:mt-3 dark:page-api-block:xl:max-2xl:bg-dark-2/8 lg:max-h-[calc(100vh_-_4rem)] top-16 page-api-block:xl:max-2xl:top-16"><div class="hidden page-api-block:xl:max-2xl:flex flex-row items-center gap-3 text-sm font-semibold px-2 py-2"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/bars.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3"></svg>On this page</div><div class="overflow-auto flex-1 flex flex-col gap-4 [&::-webkit-scrollbar]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-transparent page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:group-hover/aside:flex"><!--$--><ul class="border-l border-dark/2 dark:border-light/1 pl-1"><li class="flex flex-row relative h-fit"><a href="#overview" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">Overview</a></li><li class="flex flex-row relative h-fit"><a href="#scaffolding-your-backend" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">Scaffolding your backend</a></li><li class="flex flex-row relative h-fit"><a href="#creating-a-m2m-oauth-client-in-carto" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">Creating a M2M OAuth Client in CARTO</a></li><li class="flex flex-row relative h-fit"><a href="#coding-the-endpoint" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">Coding the endpoint</a></li><li class="flex flex-row relative h-fit"><a href="#frontend-side-integration" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">Frontend side integration</a></li><li class="flex flex-row relative h-fit"><a href="#whats-next" class="flex flex-row z-10 w-full items-baseline left-[-1px] relative text-sm py-1 ps-3 pe-2 transition-all duration-200 text-neutral-500 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-100">What's next?</a></li></ul><!--/$--><div class="flex flex-col gap-3 page-api-block:xl:max-2xl:px-3"><!--$--><div class="flex flex-col items-start gap-2 mt-2"><p class="text-sm text-dark/6 dark:text-light/5">Was this helpful?</p><div class="inline-flex items-center justify-center flex-row rounded-full straight-corners:rounded-sm ring-1 ring-inset ring-dark/2 h-8 dark:ring-light/1"><div class="inline-flex [&>*:last-child]:rounded-r-full [&>*:first-child]:rounded-l-full straight-corners:[&>*:last-child]:rounded-none straight-corners:[&>*:first-child]:rounded-none"><button class="flex flex-col items-center justify-center h-8 w-8 rounded-sm text-dark/6 hover:bg-primary/4 hover:text-primary-600 dark:text-light/5 dark:hover:text-primary-300 dark:hover:bg-primary-300/2" aria-label="No" title="No"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="9" cy="9" r="9" fill="currentColor" fill-opacity="0.24"></circle><path fill-rule="evenodd" clip-rule="evenodd" d="M5 8.25C4.58579 8.25 4.25 7.91421 4.25 7.5V6C4.25 5.58579 4.58579 5.25 5 5.25C5.41421 5.25 5.75 5.58579 5.75 6V7.5C5.75 7.91421 5.41421 8.25 5 8.25ZM4.66782 13.3737C4.87421 13.5572 5.19025 13.5386 5.3737 13.3322C7.30371 11.1609 10.6963 11.1609 12.6263 13.3322C12.8098 13.5386 13.1258 13.5572 13.3322 13.3737C13.5386 13.1902 13.5572 12.8742 13.3737 12.6678C11.0459 10.049 6.9541 10.049 4.6263 12.6678C4.44284 12.8742 4.46143 13.1902 4.66782 13.3737ZM12.25 7.5C12.25 7.91421 12.5858 8.25 13 8.25C13.4142 8.25 13.75 7.91421 13.75 7.5V6C13.75 5.58579 13.4142 5.25 13 5.25C12.5858 5.25 12.25 5.58579 12.25 6V7.5Z" fill="currentColor"></path></svg></button><button class="flex flex-col items-center justify-center h-8 w-8 rounded-sm text-dark/6 hover:bg-primary/4 hover:text-primary-600 dark:text-light/5 dark:hover:text-primary-300 dark:hover:bg-primary-300/2" aria-label="Not sure" title="Not sure"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="9" cy="9" r="9" fill="currentColor" fill-opacity="0.24"></circle><path fill-rule="evenodd" clip-rule="evenodd" d="M5 8.25C4.58579 8.25 4.25 7.91421 4.25 7.5V6C4.25 5.58579 4.58579 5.25 5 5.25C5.41421 5.25 5.75 5.58579 5.75 6V7.5C5.75 7.91421 5.41421 8.25 5 8.25ZM4.5 12C4.5 11.7239 4.72386 11.5 5 11.5H13C13.2761 11.5 13.5 11.7239 13.5 12C13.5 12.2761 13.2761 12.5 13 12.5H5C4.72386 12.5 4.5 12.2761 4.5 12ZM12.25 7.5C12.25 7.91421 12.5858 8.25 13 8.25C13.4142 8.25 13.75 7.91421 13.75 7.5V6C13.75 5.58579 13.4142 5.25 13 5.25C12.5858 5.25 12.25 5.58579 12.25 6V7.5Z" fill="currentColor"></path></svg></button><button class="flex flex-col items-center justify-center h-8 w-8 rounded-sm text-dark/6 hover:bg-primary/4 hover:text-primary-600 dark:text-light/5 dark:hover:text-primary-300 dark:hover:bg-primary-300/2" aria-label="Yes, it was!" title="Yes, it was!"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="9" cy="9" r="9" fill="currentColor" fill-opacity="0.24"></circle><path fill-rule="evenodd" clip-rule="evenodd" d="M5 8.25C4.58579 8.25 4.25 7.91421 4.25 7.5V6C4.25 5.58579 4.58579 5.25 5 5.25C5.41421 5.25 5.75 5.58579 5.75 6V7.5C5.75 7.91421 5.41421 8.25 5 8.25ZM4.66782 11.6263C4.87421 11.4428 5.19025 11.4614 5.3737 11.6678C7.30371 13.8391 10.6963 13.8391 12.6263 11.6678C12.8098 11.4614 13.1258 11.4428 13.3322 11.6263C13.5386 11.8098 13.5572 12.1258 13.3737 12.3322C11.0459 14.951 6.9541 14.951 4.6263 12.3322C4.44284 12.1258 4.46143 11.8098 4.66782 11.6263ZM12.25 7.5C12.25 7.91421 12.5858 8.25 13 8.25C13.4142 8.25 13.75 7.91421 13.75 7.5V6C13.75 5.58579 13.4142 5.25 13 5.25C12.5858 5.25 12.25 5.58579 12.25 6V7.5Z" fill="currentColor"></path></svg></button></div></div></div><!--/$--><div><a href="/~gitbook/pdf?page=p7GxYTrfpfsERBkyen7w&only=yes" class="flex flex-row items-center text-sm text-dark/6 hover:text-primary py-2 dark:text-light/5"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/file-pdf.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4 mr-1.5"></svg>Export as PDF</a></div></div></div><div class="mt-4" data-visual-test="removed"></div></aside><main class="flex-1 relative py-8 lg:px-12 break-anywhere page-api-block:xl:max-2xl:pr-0 page-api-block:max-w-[1654px] page-api-block:mx-auto"><header class="max-w-3xl mx-auto mb-6 space-y-3 page-api-block:ml-0"><h1 class="text-4xl font-bold flex items-center gap-4">Integrate CARTO in your existing application</h1><p class="text-lg text-dark-4 dark:text-light-4">Learn how to securely embed CARTO into your existing architecture providing fine-grained data access</p></header><!--$?--><template id="B:0"></template><div class="flex flex-col gap-4"><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="overview" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="scaffolding-your-backend" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="creating-a-m2m-oauth-client-in-carto" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="coding-the-endpoint" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="frontend-side-integration" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div id="whats-next" role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div></div><!--/$--><div class="flex flex-col md:flex-row mt-6 gap-2 max-w-3xl mx-auto page-api-block:ml-0"><a class="group text-sm p-2.5 flex gap-4 flex-1 flex-row-reverse items-center pl-4 border border-dark/3 rounded straight-corners:rounded-none hover:border-primary/6 dark:border-light/2 text-pretty dark:hover:border-primary-300/4 md:p-4 md:text-base" href="/carto-for-developers/guides/visualize-massive-datasets"><span class="flex flex-col flex-1 text-right"><span class="text-xs">Previous</span><span class="text-dark dark:text-light/6 group-hover:text-primary line-clamp-2">Visualize massive datasets</span></span><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-left.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon hidden size-4 text-dark/5 group-hover:text-primary dark:text-light/4 md:block"></svg></a><a class="group text-sm p-2.5 flex gap-4 flex-1 flex-row items-center pr-4 border border-dark/3 rounded straight-corners:rounded-none hover:border-primary/6 dark:border-light/2 text-pretty dark:hover:border-primary-300/4 md:p-4 md:text-base" href="/carto-for-developers/guides/use-boundaries-in-your-application"><span class="flex flex-col flex-1"><span class="text-xs">Next</span><span class="text-dark dark:text-light/6 group-hover:text-primary line-clamp-2">Use Boundaries in your application</span></span><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon hidden size-4 text-dark/5 group-hover:text-primary dark:text-light/4 md:block"></svg></a></div><div class="flex flex-row items-center mt-6 max-w-3xl mx-auto page-api-block:ml-0"><p class="flex-1 text-sm text-dark/6 dark:text-light/5">Last updated <time data-visual-test="transparent" dateTime="2024-05-09T11:41:58.028Z" title="5/9/2024, 11:41:58 AM">6 months ago</time></p></div></main></div><!--$--><!--/$--><!--/$--></div></div></div><!--$--><!--/$--><!--$--><!--/$--><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2" data-cfasync="false"> document.addEventListener("DOMContentLoaded", () => { if (Array.from(document.scripts).find(script => script.src.includes('rocket-loader.min.js'))) { const alert = document.createElement('div'); alert.className = 'p-4 mb-4 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400 mt-8 mx-8'; alert.innerHTML = ` <strong>Error in site configuration:</strong> It looks like ${window.location.hostname} has been incorrectly configured in Cloudflare. This may lead to unexpected behavior or issues with the page loading. If you are the owner of this site, please refer to <a href="https://docs.gitbook.com/published-documentation/custom-domain/configure-dns#are-you-using-cloudflare" class="underline">GitBook's documentation</a> for steps to fix the problem. `; document.body.prepend(alert); } });</script><script src="/_next/static/chunks/webpack-21fb00c223e55731.js" nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2" async=""></script><div hidden id="S:0"><div class="[&>*+*]:mt-5 grid whitespace-pre-wrap"><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">When you build a solution from scratch using CARTO you can choose between the three different <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/authentication-methods">authentication strategies</a> to secure your application. However, in many other cases the starting point is an existing application with its own login system where you want to add a geospatial component, such as a map visualization.</p><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">In this guide you will learn how to integrate CARTO with an existing application that has its own login system, implementing the machine-to-machine authentication in order to provide fine-grained data access to the end users.</p><h2 id="overview" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#overview" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">Overview</div></h2><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">In this guide, the ACME company has decided to add maps to their existing application and CARTO will be the platform used for it. They have two important requirements:</p><ul class="space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">ACME wants to keep its own login system.</p></div></li><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">The maps will show different data based on the user, in this case, based on the user's group.</p></div></li></ul><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">With this in mind, we are going to develop a backend endpoint in order to generate a CARTO<strong class="font-bold"> </strong><a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/authentication-methods/api-access-tokens">API Access Token</a> with only access to the data the user has permission for in our application, the frontend application will use that token to interact with the rest of the CARTO APIs.</p><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">The backend is responsible for generating an API Access Token without exceding the actual permissions of the users.</p></div></div></div><div class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center"><template id="P:1"></template></div><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">The data used for this guide will be the table <strong class="font-bold">retail_stores </strong>contains all the retails in the US, It's available at <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">carto-demo-data.demo_tables.retail_stores</code>.</p><!--/$--><!--$?--><template id="B:2"></template><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">In our demo application we will have two users:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="6436c0da5fbb4705816ff411262be6cb" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">{</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"username"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"user.boston@acme.com"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"password"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"boston"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"group"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"BOSTON"</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">},</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">{</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"username"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"user.ny@acme.com"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"password"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"ny"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"group"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"NEW YORK"</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">} </span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">The user in the group of <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">BOSTON</code> will only see the stores in the city of Boston, the user in group <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">NEW YORK</code> will be limited to New York.</p><!--/$--><!--$--><h2 id="scaffolding-your-backend" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#scaffolding-your-backend" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">Scaffolding your backend</div></h2><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Since this guide needs a backend and a frontend application, the first thing we have to do is create the structure to store the code for these components. Let's start with the backend side and install the needed dependencies to work with <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://expressjs.com/">Express</a>:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="8e77876e995e41c9b31ed52852721e58" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">mkdir</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">backend</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">cd</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">backend</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">init</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">--yes</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">install</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">express</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">dotenv</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">cors</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">jsonwebtoken</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">We are going to use <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://www.typescriptlang.org/">Typescript</a> on both the backend and frontend sides, so we need to install the required dependencies:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="9ebc9665826f4754adb57301c5c15a61" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">i</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">-D</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">typescript</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">@types/express</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">@types/node</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">@types/cors</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">@types/jsonwebtoken</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npx</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">tsc</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">--init</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Now, the next step is to uncomment the following line in the file (it specifies an output folder for all emitted files):</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="75c45b63ff934c4f806506ece4981342" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-string-expression)">"outDir"</span><span style="color:var(--shiki-foreground)">: </span><span style="color:var(--shiki-token-string-expression)">"./dist"</span><span style="color:var(--shiki-foreground)">,</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">As an optional step, you would like to add to have extra help to develop by restarting your application automatically when there are changes in your code. To do that, install the following dependencies:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="7dffe863bc2c4c9480d216322c9a3ffb" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">install</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">-D</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">concurrently</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">nodemon</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">And add the following content to the file <span class="text-blue-500">package.json:</span></p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="385a000d3c3944dbba80ece66834c130" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">{</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"scripts"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"build"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"npx tsc"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"start"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"node dist/index.js"</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">"dev"</span><span style="color:var(--shiki-token-punctuation)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">"concurrently \"npx tsc --watch\" \"nodemon -q dist/index.js\""</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">}</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Now, just typing <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">npm run dev</code> the server will run up and you can see the changes in the code immediately.</p><!--/$--><!--$--><h2 id="creating-a-m2m-oauth-client-in-carto" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#creating-a-m2m-oauth-client-in-carto" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">Creating a M2M OAuth Client in CARTO</div></h2><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">In order to use the CARTO APIs you need to authenticate your requests. For a backend-side application, the recommended approach is to do so by creating a <strong class="font-bold">Machine to Machine OAuth Client </strong>(<a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-user-manual/developers/managing-credentials/m2m-oauth-clients">M2M OAuth Client</a>). To create this OAuth Client, you need to go to <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://app.carto.com">CARTO Workspace</a> -> Developers -> Credentials -> Create New -> M2M OAuth Client</p><!--/$--><!--$?--><template id="B:3"></template><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><!--/$--><!--$--><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">For development purposes, you can set the URL for localhost in the <span class="text-blue-500">App URL</span> and <span class="text-blue-500">Application Login URI. </span>Just set the URL <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">https://127.0.0.1:8000</code> in both fields.</p><!--/$--></div></div></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Once the application is created, you will have to get the <span class="text-blue-500">Client ID</span> and the <span class="text-blue-500">Client Secret </span></p><!--/$--><!--$--><h2 id="coding-the-endpoint" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#coding-the-endpoint" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">Coding the endpoint</div></h2><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Now, we have to create a couple of endpoints: a basic login endpoint to authenticate the user and an endpoint to generate the CARTO token.</p><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">For <strong class="font-bold">the login endpoint</strong>, the responsibilities will be:</p><!--/$--><!--$--><ul class="space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Check the login and password.</p><!--/$--></div></li><!--/$--><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Get the group of the user and create a JWT token.</p><!--/$--></div></li><!--/$--></ul><!--/$--><!--$--><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">In a real production environment, you should already have a login endpoint. </p><!--/$--></div></div></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">While the endpoint to <strong class="font-bold">get the CARTO token</strong> will do:</p><!--/$--><!--$--><ul class="space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Validate the JWT in the Authentication header.</p><!--/$--></div></li><!--/$--><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Extract the group and create the token via <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://api-docs.carto.com/#6977be37-183c-40a5-8442-386d1dcb47d9">CARTO API</a>.</p><!--/$--></div></li><!--/$--></ul><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Replace the file <span class="text-orange-500">index.ts</span> with the following content:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="aab380111c104fa1863dad6858dd051a" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md highlighted bg-light-3 dark:bg-dark-3"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">import</span><span style="color:var(--shiki-foreground)"> express</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> { Express</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> Request</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> Response } </span><span style="color:var(--shiki-token-keyword)">from</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'express'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">import</span><span style="color:var(--shiki-foreground)"> dotenv </span><span style="color:var(--shiki-token-keyword)">from</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'dotenv'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">import</span><span style="color:var(--shiki-foreground)"> cors </span><span style="color:var(--shiki-token-keyword)">from</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'cors'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">import</span><span style="color:var(--shiki-foreground)"> jwt </span><span style="color:var(--shiki-token-keyword)">from</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'jsonwebtoken'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">import</span><span style="color:var(--shiki-foreground)"> fetch </span><span style="color:var(--shiki-token-keyword)">from</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'node-fetch'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">dotenv</span><span style="color:var(--shiki-token-function)">.config</span><span style="color:var(--shiki-foreground)">()</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Express</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">express</span><span style="color:var(--shiki-foreground)">()</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">port</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">process</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">env</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">PORT</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">||</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">8000</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">jwtSecret</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">process</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">env</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">JWT_SECRET</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-function)">.use</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">express</span><span style="color:var(--shiki-token-function)">.json</span><span style="color:var(--shiki-foreground)">())</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-function)">.use</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-function)">cors</span><span style="color:var(--shiki-foreground)">())</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">interface</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">LoginRequestBody</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> username</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> password</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">}</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">interface</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">LoginResponseBody</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> token</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">}</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">interface</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">AccessApiTokenResponse</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> token</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> error</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> description</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">}</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)">// hard-coded users. Don't use this in production! This should come from an IdP or a database.</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">users</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> [{</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> username</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'user.boston@acme.com'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> password</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'boston'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> group</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'BOSTON'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> username</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'user.ny@acme.com'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> password</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'ny'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> group</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'NEW YORK'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> } </span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">]</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)">// This endpoint simulates a login system. It checks the credentials and returns a JWT token</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)">// with the user group as a claim.</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-function)">.post</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">'/login'</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">async</span><span style="color:var(--shiki-foreground)"> (req</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Request</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> res</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Response</span><span style="color:var(--shiki-foreground)">) </span><span style="color:var(--shiki-token-keyword)">=></span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> { </span><span style="color:var(--shiki-token-constant)">username</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">password</span><span style="color:var(--shiki-foreground)"> } </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">req</span><span style="color:var(--shiki-foreground)">.body </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">LoginRequestBody</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">user</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">users</span><span style="color:var(--shiki-token-function)">.find</span><span style="color:var(--shiki-foreground)">((u) </span><span style="color:var(--shiki-token-keyword)">=></span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">u</span><span style="color:var(--shiki-foreground)">.username </span><span style="color:var(--shiki-token-keyword)">===</span><span style="color:var(--shiki-foreground)"> username)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">if</span><span style="color:var(--shiki-foreground)"> (</span><span style="color:var(--shiki-token-keyword)">!</span><span style="color:var(--shiki-foreground)">user </span><span style="color:var(--shiki-token-keyword)">||</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">user</span><span style="color:var(--shiki-foreground)">.password </span><span style="color:var(--shiki-token-keyword)">!==</span><span style="color:var(--shiki-foreground)"> password) {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">res</span><span style="color:var(--shiki-token-function)">.status</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">401</span><span style="color:var(--shiki-foreground)">)</span><span style="color:var(--shiki-token-function)">.send</span><span style="color:var(--shiki-foreground)">({ </span><span style="color:var(--shiki-token-string-expression)">'error'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'Invalid credentials'</span><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">return</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">loginToken</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">jwt</span><span style="color:var(--shiki-token-function)">.sign</span><span style="color:var(--shiki-foreground)">({ group</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">user</span><span style="color:var(--shiki-foreground)">.group }</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> jwtSecret</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> { expiresIn</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'1h'</span><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">loginResponse</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> { token</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> loginToken } </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">LoginResponseBody</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">res</span><span style="color:var(--shiki-token-function)">.send</span><span style="color:var(--shiki-foreground)">(loginResponse)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">})</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)">// This endpoint returns a CARTO API Access Token for the user group. The token will be used</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)">// to query the tables for the city of the user.</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-function)">.post</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">'/carto-token'</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">async</span><span style="color:var(--shiki-foreground)"> (req</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Request</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> res</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Response</span><span style="color:var(--shiki-foreground)">) </span><span style="color:var(--shiki-token-keyword)">=></span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">try</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Get the token from the Authorization header with Bearer prefix</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">authHeader</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">req</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">headers</span><span style="color:var(--shiki-foreground)">.authorization </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">loginToken</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">authHeader</span><span style="color:var(--shiki-token-function)">.replace</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">'Bearer '</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">''</span><span style="color:var(--shiki-foreground)">)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Decode the token to get the group</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">tokenGroup</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">jwt</span><span style="color:var(--shiki-token-function)">.verify</span><span style="color:var(--shiki-foreground)">(loginToken</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> jwtSecret) </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> { group</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">token</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">await</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">getAPIAccessTokenForGroup</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">tokenGroup</span><span style="color:var(--shiki-foreground)">.group)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">response</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> { token</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> city</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">tokenGroup</span><span style="color:var(--shiki-foreground)">.group } </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">LoginResponseBody</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">res</span><span style="color:var(--shiki-token-function)">.send</span><span style="color:var(--shiki-foreground)">(response)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> } </span><span style="color:var(--shiki-token-keyword)">catch</span><span style="color:var(--shiki-foreground)"> (error) {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">console</span><span style="color:var(--shiki-token-function)">.log</span><span style="color:var(--shiki-foreground)">(error)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">res</span><span style="color:var(--shiki-token-function)">.status</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">401</span><span style="color:var(--shiki-foreground)">)</span><span style="color:var(--shiki-token-function)">.send</span><span style="color:var(--shiki-foreground)">({ </span><span style="color:var(--shiki-token-string-expression)">'error'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'Invalid token'</span><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">})</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-constant)">app</span><span style="color:var(--shiki-token-function)">.listen</span><span style="color:var(--shiki-foreground)">(port</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> () </span><span style="color:var(--shiki-token-keyword)">=></span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">console</span><span style="color:var(--shiki-token-function)">.log</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">`⚡️[server]: Server is running at http://localhost:</span><span style="color:var(--shiki-token-keyword)">${</span><span style="color:var(--shiki-foreground)">port</span><span style="color:var(--shiki-token-keyword)">}</span><span style="color:var(--shiki-token-string-expression)">`</span><span style="color:var(--shiki-foreground)">)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">})</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Create a <span class="text-blue-500">.env</span> file located in the root of the backend with the following content:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="83f12d60020a49ca97b3506450550ca6" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">PORT</span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-token-string)">8000</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)"># The JWT Secret to sign the JWT token</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">JWT_SECRET</span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-token-string)">PUT_YOUR_SECRET_HERE</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)"># API Base URL (copy this from CARTO Workspace -> Developers)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">CARTO_BASE_URL</span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-token-string)">PUT_YOUR_API_BASE_URL_HERE</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-comment)"># ClientID and Secret of your Machine to Machine Application</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">CARTO_CLIENT_ID</span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-token-string)">PUT_YOUR_CLIENT_ID_HERE</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">CARTO_CLIENT_SECRET</span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-token-string)">PUT_YOUR_CLIENT_ID_HERE</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">The most important function involved in the endpoint is the one called <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">getAPIAccessTokenForGroup</code> that owns the logic to interact with CARTO in order to get a valid token for the frontend side. Let's see what its implementation looks like:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="c84c3fc4c1e7414681c03a7525036599" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line] whitespace-pre-wrap"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-keyword)">async</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">function</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">getAPIAccessTokenForGroup</span><span style="color:var(--shiki-foreground)">(group</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-foreground)">)</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Promise</span><span style="color:var(--shiki-foreground)"><</span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-foreground)">> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">cartoBaseUrl</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">process</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">env</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">CARTO_BASE_URL</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">clientId</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">process</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">env</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">CARTO_CLIENT_ID</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">clientSecret</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">process</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">env</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">CARTO_CLIENT_SECRET</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Step 1: Get an OAuth Access Token using the clientId and clientSecret of a Machine to Machine Application.</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">accessTokenResponse</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">await</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">fetch</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">'https://auth.carto.com/oauth/token'</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> method</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'POST'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> headers</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'Content-Type'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'application/x-www-form-urlencoded'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> body: `grant_type=client_credentials&client_id=${clientId}&client_secret=${clientSecret}&audience=carto-cloud-native-api`<!-- --> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> { </span><span style="color:var(--shiki-token-constant)">access_token</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">error</span><span style="color:var(--shiki-foreground)"> } </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">await</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">accessTokenResponse</span><span style="color:var(--shiki-token-function)">.json</span><span style="color:var(--shiki-foreground)">() </span><span style="color:var(--shiki-token-keyword)">as</span><span style="color:var(--shiki-foreground)"> { access_token</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> error</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">string</span><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">if</span><span style="color:var(--shiki-foreground)"> (error) {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">console</span><span style="color:var(--shiki-token-function)">.log</span><span style="color:var(--shiki-foreground)">(error)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">throw</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">new</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Error</span><span style="color:var(--shiki-foreground)">(error)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Step 2: Generate an API Access Token for the logged user (with limited grants).</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">grants</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> [</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'connection_name'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'carto_dw'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'source'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">`SELECT * FROM \`carto-demo-data\`.demo_tables.retail_stores WHERE city = @groupcity`</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> ]</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Call the tokens API using the OAuth Access Token from step 1.</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">const</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">accessApiTokenResponse</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">=</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">await</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">fetch</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-string-expression)">`</span><span style="color:var(--shiki-token-keyword)">${</span><span style="color:var(--shiki-foreground)">cartoBaseUrl</span><span style="color:var(--shiki-token-keyword)">}</span><span style="color:var(--shiki-token-string-expression)">/v3/tokens`</span><span style="color:var(--shiki-token-punctuation)">,</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> method</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'POST'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> headers</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'Content-Type'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'application/json'</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'Authorization'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">`Bearer </span><span style="color:var(--shiki-token-keyword)">${</span><span style="color:var(--shiki-foreground)">access_token</span><span style="color:var(--shiki-token-keyword)">}</span><span style="color:var(--shiki-token-string-expression)">`</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> body</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">JSON</span><span style="color:var(--shiki-token-function)">.stringify</span><span style="color:var(--shiki-foreground)">({</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'grants'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> grants</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// Put here the referers of your frontend application in production</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'referers'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> []</span><span style="color:var(--shiki-token-punctuation)">,</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'allowed_apis'</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> [</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-comment)">// 'sql', // Uncomment this line to allow SQL API calls</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string-expression)">'maps'</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> ]</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> })</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> const { token, error: tokenError, description: tokenDescription } = await accessApiTokenResponse.json() as AccessApiTokenResponse<!-- --> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">if</span><span style="color:var(--shiki-foreground)"> (tokenError) {</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-constant)">console</span><span style="color:var(--shiki-token-function)">.log</span><span style="color:var(--shiki-foreground)">(error)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">throw</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">new</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-function)">Error</span><span style="color:var(--shiki-foreground)">(tokenError)</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> }</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-keyword)">return</span><span style="color:var(--shiki-foreground)"> token</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4"></span><span class="ml-3 block text-sm"><span style="color:var(--shiki-foreground)">}</span></span></span></code></pre></div><!--/$--><!--$--><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">Tokens are limited based on the quota of your plan. In a production environment, you should implement a mechanism to create only the tokens that you need:</p><!--/$--><!--$--><ul class="space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash"><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0"><strong class="font-bold">API Access Tokens: </strong>avoid creating two tokens with the same grants for the same user.</p><!--/$--></div></li><!--/$--><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0"><strong class="font-bold">OAuth Access Tokens:</strong> OAuth Access Tokens are valid for 24 hours, so you should avoid creating more than one token per day per application/API instance.</p><!--/$--></div></li><!--/$--></ul><!--/$--></div></div></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">The function will take one parameter indicating the group in order to create the right token. The first thing to do is to get the environment variables to interact with the CARTO API. The next step is to obtain an<a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/authentication-methods/oauth-access-tokens"> OAuth Access Token</a> to deal with the rest of the APIs. To get this first token you can see in the line 7 to 13 how to use the <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">Client ID</code> and the <code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">Client Secret</code> to make the request and get this token. Once, you have a valid OAuth Access Token, the last step is to create an <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-user-manual/developers/managing-credentials/api-access-tokens">API Access Token</a> for the specific grants. In this case, the grants include the permission to execute a specific SQL query to get all the retail for a specific city.</p><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">That means, that once the token is created, the client using this token only will have permission to execute the defined query and get only the data declared in the grants.</p><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Finally, once the code for the backend is ready you can run the server just by typing in your terminal:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="306b5a88cc4748b0abd5fd0e453ad911" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">run</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">dev</span></span></span></code></pre></div><!--/$--><!--$--><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">If your application requires dynamic queries, you can use <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://api-docs.carto.com/#3f1407e6-8c40-43c3-a8f8-21ae7d3618b6">query parameters</a> in <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/apis#sql">SQL</a> and <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/apis#maps">Maps</a> API. </p><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash"><code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">SELECT * FROM carto-demo-data.demo_tables.retail_stores </code></p><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash"><code class="py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]">WHERE city = 'BOSTON' AND storetype = @storetype</code></p><!--/$--></div></div></div><!--/$--><!--$--><h2 id="frontend-side-integration" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#frontend-side-integration" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">Frontend side integration</div></h2><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">At this point, our backend is ready to generate tokens for our users. In the following code you can see an example of a frontend application that does:</p><!--/$--><!--$--><ul class="space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Login.</p><!--/$--></div></li><!--/$--><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Call the previous endpoint to get an <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/key-concepts/authentication-methods/api-access-tokens">API Access Token</a> with the permissions limited to the user.</p><!--/$--></div></li><!--/$--><!--$--><li class="leading-normal flex items-start"><div class="text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5"><div class="before:font-var before:content-[--pseudoBefore--content]" style="--pseudoBefore--content:'•';--font-family:Arial;font-size:min(1.5em, 24px);line-height:1"></div></div><div class="space-y-2 flex flex-col flex-1"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [&:is(h2)>div]:mt-0 [&:is(h3)>div]:mt-0 [&:is(h4)>div]:mt-0">Use the token to call CARTO APIs.</p><!--/$--></div></li><!--/$--></ul><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">To run this, first, you need to clone the project:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="9d526acae1f241a2ba787d1428de79fb" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">git</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">clone</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">https://github.com/CartoDB/carto-for-developers-guides.git</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">cd</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">carto-for-developers-guides/integrate-existing-app/frontend</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Edit the <span class="text-orange-500">.env</span> file at set the VITE_API_BASE_URL:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="6b55e9d37ca24660b4fadf501d220dc2" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"># API Base URL (copy this from CARTO Workspace -> Developers)<!-- --> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md highlighted bg-light-3 dark:bg-dark-3"><span class="ml-3 block text-sm">VITE_CARTO_API_BASE_URL=https://gcp-us-east1.api.carto.com<!-- --> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"># Custom company backend<!-- --> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm">VITE_COMPANY_API_BASE_URL=http://localhost:8000</span></span></code></pre></div><!--/$--><!--$--><div class="hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [&_.can-override-bg]:bg-dark-1/2 [&_.can-override-text]:text-dark dark:[&_.can-override-bg]:bg-light/2 dark:[&_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex flex-row"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/circle-info.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400"></svg><div class="flex-1 space-y-4 [&_.hint]:border [&_pre]:border"><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl [&_a]:text-primary-500 [&_a:hover]:text-primary-600 dark:[&_a]:text-primary-400 dark:[&_a:hover]:text-primary-300 flip-heading-hash">If you have a different region, you need to modify VITE_CARTO_API_BASE_URL.</p><!--/$--></div></div></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">Run:</p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="1b9f0ac29a554563849969d5bc902ec3" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">npm</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">run</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">dev</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"></p><!--/$--><!--$?--><template id="B:4"></template><div role="status" aria-busy="true" class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]"><div class="w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]"><div class="aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6"></div></div></div></div><!--/$--><!--$--><h2 id="whats-next" class="text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]"><a href="#whats-next" aria-label="Direct link to heading" class="inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] mt-[1em]">What's next?</div></h2><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">All the code for this guide is available on <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="https://github.com/CartoDB/carto-for-developers-guides/tree/master/guides/integrate-existing-app">GitHub</a>. </p><!--/$--><!--$--><div class="group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="flex items-center justify-start [grid-area:1/1] text-sm gap-2"></div><button class="group-hover/codeblock:opacity-[1] transition-opacity duration-75 opacity-0 text-xs [grid-area:2/1] z-[2] justify-self-end backdrop-blur-md leading-none self-start ring-1 ring-dark/2 text-dark/7 bg-transparent rounded-md mr-2 mt-2 p-1 hover:ring-dark/3 dark:ring-light/2 dark:text-light/7 dark:hover:ring-light/3 print:hidden">Copy</button><pre class="[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm"><code id="7521f1e11bd149418e5715a056e8194e" class="min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]"><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">git</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">clone</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">https://github.com/CartoDB/carto-for-developers-guides.git</span> </span></span><span class="grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [&.highlighted:first-child]:rounded-t-md [&.highlighted:first-child>*]:mt-1 [&.highlighted:last-child]:rounded-b-md [&.highlighted:last-child>*]:mb-1 [&:only-child]:hover:ring-transparent [&.highlighted]:rounded-none [&:not(.highlighted)_+_.highlighted]:rounded-t-md [&:not(.highlighted)_+_.highlighted>*]:mt-1 [&.highlighted:has(+:not(.highlighted))]:rounded-b-md [&.highlighted:has(+:not(.highlighted))>*]:mb-1 [&:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md"><span class="ml-3 block text-sm"><span style="color:var(--shiki-token-function)">cd</span><span style="color:var(--shiki-foreground)"> </span><span style="color:var(--shiki-token-string)">carto-for-developers-guides/integrate-existing-app</span></span></span></code></pre></div><!--/$--><!--$--><p class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0">We recommend you to visit <a class="underline underline-offset-2 decoration-primary/6 text-primary hover:text-primary-700 transition-colors" href="/carto-for-developers/carto-for-deck.gl">Visualization with deck.gl</a> to learn more about the different visualizations you can create using deck.gl. There are many examples in our <a class="underline underline-offset-2 text-primary hover:text-primary-700 transition-colors " href="/carto-for-developers/examples">gallery</a> that might be useful to improve your application!</p><!--/$--></div></div><div hidden id="S:2"><div class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center"><template id="P:5"></template></div></div><div hidden id="S:3"><div class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center"><template id="P:6"></template></div></div><div hidden id="S:4"><div class="w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center"><template id="P:7"></template></div></div><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"1:HC[\"/\",\"\"]\n2:HL[\"/_next/static/css/2d00a2f28ca4dc5d.css\",\"style\"]\n3:HL[\"/_next/static/css/99f50cfb598d2941.css\",\"style\"]\n4:HL[\"/_next/static/css/d42d805b938873da.css\",\"style\"]\n5:HL[\"/_next/static/css/cda78a8fc1d3426c.css\",\"style\"]\n6:HL[\"/_next/static/css/c311d6484335995a.css\",\"style\"]\n7:HL[\"/_next/static/css/5a687dea857dc6f5.css\",\"style\"]\n8:HL[\"/_next/static/css/7235fa9d119901d4.css\",\"style\"]\n9:HL[\"/_next/static/css/86d6274f3e6d760c.css\",\"style\"]\na:HL[\"/_next/static/css/a91fbeec63857000.css\",\"style\"]\nb:HL[\"/_next/static/css/2d0986519abf0323.css\",\"style\"]\nc:HL[\"/_next/static/css/0f891de5863d7182.css\",\"style\"]\nd:I[11815,[],\"default\"]\n10:I[55092,[],\"default\"]\n12:I[82023,[],\"default\"]\n17:I[44622,[\"6470\",\"static/chunks/app/global-error-19768e91f18f21d9.js\"],\"default\"]\n11:[\"pathname\",\"carto-for-developers/guides/integrate-carto-in-your-existing-application\",\"oc\"]\n18:[]\n0:[\"$\",\"$Ld\",null,{\"buildId\":\"pEzpmdwyTfwY9TlduKkyB\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"carto-for-developers\",\"guides\",\"integrate-carto-in-your-existing-application\"],\"initialTree\":[\"\",{\"children\":[\"(site)\",{\"children\":[\"(content)\",{\"children\":[[\"pathname\",\"carto-for-developers/guides/integrate-carto-in-your-existing-application\",\"oc\"],{\"children\":[\"__PAGE__?{\\\"pathname\\\":[\\\"carto-for-developers\\\",\\\"guides\\\",\\\"integrate-carto-in-your-existing-application\\\"]}\",{}]}]}]},\"$undefined\",\"$undefined\",true]}],\"initialSeedData\":[\"\",{\"children\":[\"(site)\",{\"children\":[\"(content)\",{\"children\":[[\"pathname\",\"carto-for-developers/guides/integrate-carto-in-your-existing-application\",\"oc\"],{\"children\":[\"__PAGE__\",{},[[\"$Le\",\"$Lf\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7235fa9d119901d4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/86d6274f3e6d760c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a91fbeec63857000.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2d0986519abf0323.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0f891de5863d7182.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(site)\",\"children\",\"(content)\",\"children\",\"$11\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$L13\",\"notFoundStyles\":[]}]],[[\"$\",\"div\",null,{\"className\":\"flex flex-row flex-1 relative py-8 lg:px-16 xl:mr-56 items-center lg:items-start\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex-1 max-w-3xl mx-auto page-full-width:mx-0\",\"children\":[[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"mb-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] mb-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overf"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"low-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}]]}]}],[],[]]]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5a687dea857dc6f5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],\"$L14\"],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2d00a2f28ca4dc5d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/99f50cfb598d2941.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d42d805b938873da.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/cda78a8fc1d3426c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c311d6484335995a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],\"$L15\"],null],null]},[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L16\"],\"globalErrorComponent\":\"$17\",\"missingSlots\":\"$W18\"}]\n13:[\"$\",\"div\",null,{\"className\":\"flex-1 flex flex-row items-center justify-center py-9\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-80\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-semibold mb-2\",\"children\":\"Page not found\"}],[\"$\",\"p\",null,{\"className\":\"text-base mb-4\",\"children\":\"The page you are looking for doesn't exist.\"}]]}]}]\n1a:I[5145,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"4012\",\"static/chunks/4012-d5519c7c19347ff0.js\",\"7457\",\"static/chunks/app/(site)/layout-512d7fc9258aa558.js\"],\"IconsProvider\"]\n1b:I[75489,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"4012\",\"static/chunks/4012-d5519c7c19347ff0.js\",\"7457\",\"static/chunks/app/(site)/layout-512d7fc9258aa558.js\"],\"ClientContexts\"]\n1c:I[51169,[\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"3638\",\"static/chunks/app/(site)/error-aabf7054fe6497a1.js\"],\"default\"]\n19:T113e,\n :root {\n --primary-color-50: 230 241 252;\n--primary-color-100: 205 226 249;\n--primary-color-200: 154 197 243;\n--primary-color"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-300: 104 169 238;\n--primary-color-400: 53 140 232;\n--primary-color-500: 3 111 226;\n--primary-color-600: 2 89 181;\n--primary-color-700: 2 67 136;\n--primary-color-800: 1 44 90;\n--primary-color-900: 1 22 45;\n --contrast-primary-50: 0 0 0;\n--contrast-primary-100: 0 0 0;\n--contrast-primary-200: 0 0 0;\n--contrast-primary-300: 0 0 0;\n--contrast-primary-400: 0 0 0;\n--contrast-primary-500: 255 255 255;\n--contrast-primary-600: 255 255 255;\n--contrast-primary-700: 255 255 255;\n--contrast-primary-800: 255 255 255;\n--contrast-primary-900: 255 255 255;\n\n --primary-base-50: 230 241 252;\n--primary-base-100: 205 226 249;\n--primary-base-200: 154 197 243;\n--primary-base-300: 104 169 238;\n--primary-base-400: 53 140 232;\n--primary-base-500: 3 111 226;\n--primary-base-600: 2 89 181;\n--primary-base-700: 2 67 136;\n--primary-base-800: 1 44 90;\n--primary-base-900: 1 22 45;\n --header-background-50: 232 234 236;\n--header-background-100: 208 212 218;\n--header-background-200: 162 169 181;\n--header-background-300: 115 127 143;\n--header-background-400: 69 84 106;\n--header-background-500: 22 41 69;\n--header-background-600: 18 33 55;\n--header-background-700: 13 25 41;\n--header-background-800: 9 16 28;\n--header-background-900: 4 8 14;\n --header-link-50: 255 255 255;\n--header-link-100: 255 255 255;\n--header-link-200: 255 255 255;\n--header-link-300: 255 255 255;\n--header-link-400: 255 255 255;\n--header-link-500: 255 255 255;\n--header-link-600: 204 204 204;\n--header-link-700: 153 153 153;\n--header-link-800: 102 102 102;\n--header-link-900: 51 51 51;\n --header-button-text-50: 230 230 230;\n--header-button-text-100: 204 204 204;\n--header-button-text-200: 153 153 153;\n--header-button-text-300: 102 102 102;\n--header-button-text-400: 51 51 51;\n--header-button-text-500: 0 0 0;\n--header-button-text-600: 0 0 0;\n--header-button-text-700: 0 0 0;\n--header-button-text-800: 0 0 0;\n--header-button-text-900: 0 0 0;\n }\n .dark {\n --primary-color-50: 230 241 252;\n--primary-color-100: 205 226 249;\n--primary-color-200: 154 197 243;\n--primary-color-300: 104 169 238;\n--primary-color-400: 53 140 232;\n--primary-color-500: 3 111 226;\n--primary-color-600: 2 89 181;\n--primary-color-700: 2 67 136;\n--primary-color-800: 1 44 90;\n--primary-color-900: 1 22 45;\n --primary-base-50: 230 241 252;\n--primary-base-100: 205 226 249;\n--primary-base-200: 154 197 243;\n--primary-base-300: 104 169 238;\n--primary-base-400: 53 140 232;\n--primary-base-500: 3 111 226;\n--primary-base-600: 2 89 181;\n--primary-base-700: 2 67 136;\n--primary-base-800: 1 44 90;\n--primary-base-900: 1 22 45;\n --contrast-primary-50: 0 0 0;\n--contrast-primary-100: 0 0 0;\n--contrast-primary-200: 0 0 0;\n--contrast-primary-300: 0 0 0;\n--contrast-primary-400: 0 0 0;\n--contrast-primary-500: 255 255 255;\n--contrast-primary-600: 255 255 255;\n--contrast-primary-700: 255 255 255;\n--contrast-primary-800: 255 255 255;\n--contrast-primary-900: 255 255 255;\n --header-background-50: 232 234 236;\n--header-background-100: 208 212 218;\n--header-background-200: 162 169 181;\n--header-background-300: 115 127 143;\n--header-background-400: 69 84 106;\n--header-background-500: 22 41 69;\n--header-background-600: 18 33 55;\n--header-background-700: 13 25 41;\n--header-background-800: 9 16 28;\n--header-background-900: 4 8 14;\n --header-link-50: 255 255 255;\n--header-link-100: 255 255 255;\n--header-link-200: 255 255 255;\n--header-link-300: 255 255 255;\n--header-link-400: 255 255 255;\n--header-link-500: 255 255 255;\n--header-link-600: 204 204 204;\n--header-link-700: 153 153 153;\n--header-link-800: 102 102 102;\n--header-link-900: 51 51 51;\n --header-button-text-50: 230 230 230;\n--header-button-text-100: 204 204 204;\n--header-button-text-200: 153 153 153;\n--header-button-text-300: 102 102 102;\n--header-button-text-400: 51 51 51;\n--header-button-text-500: 0 0 0;\n--header-button-text-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"600: 0 0 0;\n--header-button-text-700: 0 0 0;\n--header-button-text-800: 0 0 0;\n--header-button-text-900: 0 0 0;\n }\n 1d:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n1e:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n1f:{\"display\":\"inline-block\"}\n20:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n15:[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"scroll-pt-[76px] plain-background\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"privacy-policy\",\"href\":\"https://carto.com/privacy/\"}],[\"$\",\"style\",null,{\"nonce\":\"$undefined\",\"children\":\"$19\"}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_274faa __variable_a7f53a __variable_e782a9 __className_7e024b __variable_0e9704 bg-light dark:bg-dark\",\"children\":[\"$\",\"$L1a\",null,{\"assetsURL\":\"https://ka-p.fontawesome.com/releases/v6.6.0/\",\"assetsURLToken\":\"a463935e93\",\"assetsByStyles\":{\"custom-icons\":{\"assetsURL\":\"/~gitbook/static/icons\"}},\"iconStyle\":\"regular\",\"children\":[\"$\",\"$L1b\",null,{\"language\":{\"locale\":\"en\",\"powered_by_gitbook\":\"Powered by GitBook\",\"sponsored_via_gitbook\":\"Sponsored via GitBook\",\"switch_to_dark_theme\":\"Switch to dark theme\",\"switch_to_light_theme\":\"Switch to light theme\",\"switch_to_system_theme\":\"Switch to system theme\",\"search\":\"Search\",\"search_or_ask\":\"Ask or Search\",\"search_input_placeholder\":\"Search content\",\"search_ask_input_placeholder\":\"Search content or ask a question\",\"search_no_results\":\"No results for \\\"${1}\\\".\",\"search_scope_space\":\"$${1}\",\"search_scope_all\":\"All content\",\"search_ask\":\"Ask \\\"${1}\\\"\",\"search_ask_sources\":\"Sources\",\"search_ask_sources_no_answer\":\"Related pages\",\"search_ask_no_answer\":\"An answer could not be found for your question. You could try rephrasing it, or be more specific.\",\"search_ask_error\":\"Something went wrong. Please try again later.\",\"on_this_page\":\"On this page\",\"next_page\":\"Next\",\"previous_page\":\"Previous\",\"page_last_modified\":\"Last updated ${1}\",\"was_this_helpful\":\"Was this helpful?\",\"was_this_helpful_positive\":\"Yes, it was!\",\"was_this_helpful_neutral\":\"Not sure\",\"was_this_helpful_negative\":\"No\",\"was_this_helpful_thank_you\":\"Thank you!\",\"annotation_button_label\":\"Open annotation\",\"code_copied\":\"Copied!\",\"code_copy\":\"Copy\",\"table_of_contents_button_label\":\"Open table of contents\",\"cookies_title\":\"Cookies\",\"cookies_prompt\":\"This site uses cookies to deliver its service and to analyse traffic. By browsing this site, you accept the ${1}.\",\"cookies_prompt_privacy\":\"privacy policy\",\"cookies_accept\":\"Accept\",\"cookies_reject\":\"Reject\",\"cookies_close\":\"Close\",\"edit_on_git\":\"Edit on ${1}\",\"notfound_title\":\"Page not found\",\"notfound\":\"The page you are looking for doesn't exist.\",\"unexpected_error_title\":\"An error occurred\",\"unexpected_error\":\"Sorry, an unexpected error has occurred. Please try again later.\",\"unexpected_error_retry\":\"Retry\",\"pdf_download\":\"Export as PDF\",\"pdf_goback\":\"Go back to content\",\"pdf_print\":\"Print or Save as PDF\",\"pdf_page_of\":\"$${1} of ${2}\",\"pdf_mode_only_page\":\"Only this page\",\"pdf_mode_all\":\"All pages\",\"pdf_limit_reached\":\"Couldn't generate the PDF for ${1} pages, generation stopped at ${2}.\",\"pdf_limit_reached_continue\":\"Extend with ${1} more pages.\",\"more\":\"More\"},\"children\":[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(site)\",\"children\"],\"error\":\"$1c\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$1d\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$1e\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$1f\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$20\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]]}]\n21:HC\"https://api.gitbook.com\"\n22:HL[\"https://integrations.gitbook.com/v1/integrations/googleanalytics/installations/25c0f4287d6076c5f9832ee6b32aef45ce0cde8eb60125252d9b3753588ba0b8/sites/site_mOqvA/script.js?version=149.0\",\"script\",{\"nonce\":\"YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2\"}]\n23:I[17760,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"ClientContexts\"]\n24:I[72020,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"HeaderMobileMenu\"]\n25:I[22833,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"4012\",\"static/chunks/4012-d5519c7c19347ff0.js\",\"7457\",\"static/chunks/app/(site)/layout-512d7fc9258aa558.js\"],\"Link\"]\n29:\"$Sreact.suspense\"\n2a:I[86604,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"SearchButton\"]\n2b:I[19656,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"TOCScrollContainer\"]\n2c:I[66185,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"ToggleableLinkItem\"]\n31:I[22563,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"4012\",\"static/chunks/4012-d5519c7c19347ff0.js\",\"7457\",\"static/chunks/app/(site)/layout-512d7fc9258aa558.js\"],\"Icon\"]\n32:I[59814,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"hunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"SearchModal\"]\n33:I[49780,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"LoadIntegrations\"]\n34:I[35489,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"CookiesToast\"]\n14:[\"$\",\"$L23\",null,{\"nonce\":\"YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2\",\"forcedTheme\":\"light\",\"children\":[[[\"$\",\"header\",null,{\"className\":\"flex flex-col h-[64px] sticky top-0 z-10 w-full flex-none shadow-thinbottom lg:z-10 dark:shadow-light/1 bg-header-background\",\"children\":[[\"$\",\"div\",null,{\"className\":\"scroll-nojump\",\"children\":[\"$\",\"div\",null,{\"className\":\"gap-4 grid grid-flow-col auto-cols-[auto_auto_1fr_auto] h-16 items-center align-center justify-between w-full px-4 sm:px-6 md:px-8 max-w-screen-2xl mx-auto page-full-width:max-w-full\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-row gap-2\",\"children\":[[\"$\",\"$L24\",null,{\"className\":\"lg:hidden text-header-link\"}],[\"$\",\"$L25\",null,{\"href\":\"/\",\"className\":\"group/headerlogo flex-1 flex flex-row items-center shrink-0\",\"children\":[\"$L26\",\"$L27\"]}]]}],[\"$\",\"div\",null,{\"className\":\"z-20\",\"children\":null}],\"$L28\",[\"$\",\"div\",null,{\"className\":\"flex md:w-56 grow-0 shrink-0 justify-self-end\",\"children\":[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L2a\",null,{\"style\":[\"bg-header-link/3\",\"shadow-sm\",\"ring-header-link/3\",\"[\u0026\u003espan]:!text-header-link/7\",\"[\u0026_svg]:text-header-link\",\"contrast-more:bg-transparent\",\"contrast-more:ring-header-link\",\"contrast-more:[\u0026\u003espan]:!text-header-link\",\"dark:bg-header-link/3\",\"dark:ring-header-link/3\",\"[\u0026\u003espan]:!text-header-link/7\",\"dark:[\u0026_svg]:text-header-link\",\"dark:contrast-more:bg-transparent\",\"dark:contrast-more:ring-header-link\",\"dark:contrast-more:[\u0026\u003espan]:!text-header-link\"],\"children\":[\"$\",\"span\",null,{\"className\":\"flex-1\",\"children\":\"Ask or Search\"}]}]}]}]]}]}],null]}],[\"$\",\"div\",null,{\"className\":\"scroll-nojump\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:flex-row px-4 sm:px-6 md:px-8 max-w-screen-2xl mx-auto page-full-width:max-w-full min-h-[calc(100vh-64px)]\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"relative group flex flex-col basis-full bg-light grow-0 shrink-0 shadow-thinbottom navigation-open:shadow-dark/2 z-[1] top-0 h-[100vh] lg:basis-72 lg:navigation-open:border-b-0 lg:sticky dark:bg-dark dark:navigation-open:shadow-light/2 page-no-toc:hidden lg:top-16 lg:h-[calc(100vh_-_4rem)]\",\"children\":[null,[\"$\",\"$L2b\",null,{\"className\":\"pt-4 hidden lg:flex flex-grow flex-col overflow-y-auto lg:gutter-stable lg:pr-2 group-hover:[\u0026::-webkit-scrollbar]:bg-dark/1 group-hover:[\u0026::-webkit-scrollbar-thumb]:bg-dark/3 [\u0026::-webkit-scrollbar]:bg-transparent [\u0026::-webkit-scrollbar-thumb]:bg-transparent dark:[\u0026::-webkit-scrollbar]:bg-transparent dark:[\u0026::-webkit-scrollbar-thumb]:bg-transparent dark:group-hover:[\u0026::-webkit-scrollbar]:bg-light/1 dark:group-hover:[\u0026::-webkit-scrollbar-thumb]:bg-light/3 navigation-open:flex lg:-ml-5 lg:pb-20\",\"children\":[null,[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/\",\"pathname\":\"\",\"descendants\":null,\"children\":\"Welcome\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new\",\"pathname\":\"whats-new\",\"desce"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ndants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q4-2024\",\"pathname\":\"whats-new/q4-2024\",\"descendants\":null,\"children\":\"Q4 2024\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q3-2024\",\"pathname\":\"whats-new/q3-2024\",\"descendants\":null,\"children\":\"Q3 2024\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q2-2024\",\"pathname\":\"whats-new/q2-2024\",\"descendants\":null,\"children\":\"Q2 2024\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q1-2024\",\"pathname\":\"whats-new/q1-2024\",\"descendants\":null,\"children\":\"Q1 2024\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q4-2023\",\"pathname\":\"whats-new/q4-2023\",\"descendants\":null,\"children\":\"Q4 2023\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q3-2023\",\"pathname\":\"whats-new/q3-2023\",\"descendants\":null,\"children\":\"Q3 2023\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q2-2023\",\"pathname\":\"whats-new/q2-2023\",\"descendants\":null,\"children\":\"Q2 2023\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q1-2023\",\"pathname\":\"whats-new/q1-2023\",\"descendants\":null,\"children\":\"Q1 2023\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q4-2022\",\"pathname\":\"whats-new/q4-2022\",\"descendants\":null,\"children\":\"Q4 2022\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/whats-new/q3-2022\",\"pathname\":\"whats-new/q3-2022\",\"descendants\":null,\"children\":\"Q3 2022\"}]}]]}],\"children\":\"What's new\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs\",\"pathname\":\"faqs\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/accounts\",\"pathname\":\"faqs/accounts\",\"descendants\":null,\"children\":\"Accounts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/migration-to-the-new-platform\",\"pathname\":\"faqs/migration-to-the-new-platform\",\"descendants\":null,\"children\":\"Migration to the new platform\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/user-and-organization-setup\",\"pathname\":\"faqs/user-and-organization-setup\",\"descendants\":null,\"children\":\"User \u0026 organization setup\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/workspace\",\"pathname\":\"faqs/workspace\",\"descendants\":null,\"children\":\"General\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/builder\",\"pathname\":\"faqs/builder\",\"descendants\":null,\"children\":\"Builder\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/workflows\",\"pathname\":\"faqs/workflows\",\"descendants\":null,\"children\":\"Workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/data-observatory\",\"pathname\":\"faqs/data-observatory\",\"descendants\":null,\"children\":\"Data Observatory\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/analytics-toolbox\",\"pathname\":\"faqs/analytics-toolbox\",\"descendants\":null,\"children\":\"Analytics Toolbox\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/development-tools\",\"pathname\":\"faqs/development-tools\",\"descendants\":null,\"children\":\"Development Tools\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/deployment-options\",\"pathname\":\"faqs/deployment-options\",\"descendants\":null,\"children\":\"Deployment Options\"}]}],[\"$\",\"li"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/support-packages\",\"pathname\":\"faqs/support-packages\",\"descendants\":null,\"children\":\"Support Packages\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/carto-for-education\",\"pathname\":\"faqs/carto-for-education\",\"descendants\":null,\"children\":\"CARTO for Education\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/faqs/security-and-compliance\",\"pathname\":\"faqs/security-and-compliance\",\"descendants\":null,\"children\":\"Security and Compliance\"}]}]]}],\"children\":\"FAQs\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"Getting started\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/carto-in-a-nutshell\",\"pathname\":\"getting-started/carto-in-a-nutshell\",\"descendants\":null,\"children\":\"What is CARTO?\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/quickstart-guides\",\"pathname\":\"getting-started/quickstart-guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/quickstart-guides/connecting-to-your-data\",\"pathname\":\"getting-started/quickstart-guides/connecting-to-your-data\",\"descendants\":null,\"children\":\"Connecting to your data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/quickstart-guides/creating-your-first-map\",\"pathname\":\"getting-started/quickstart-guides/creating-your-first-map\",\"descendants\":null,\"children\":\"Creating your first map\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/quickstart-guides/creating-your-first-workflow\",\"pathname\":\"getting-started/quickstart-guides/creating-your-first-workflow\",\"descendants\":null,\"children\":\"Creating your first workflow\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/getting-started/quickstart-guides/developing-your-first-application\",\"pathname\":\"getting-started/quickstart-guides/developing-your-first-application\",\"descendants\":null,\"children\":\"Developing your first application\"}]}]]}],\"children\":\"Quickstart guides\"}]}],\"$L2d\"]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"CARTO User Manual\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/overview\",\"pathname\":\"carto-user-manual/overview\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/overview/creating-your-carto-organization\",\"pathname\":\"carto-user-manual/overview/creating-your-carto-organization\",\"descendants\":null,\"children\":\"Creating your CARTO organization\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/overview/carto-cloud-regions\",\"pathname\":\"carto-user-manual/overview/carto-cloud-regions\",\"descendants\":null,\"children\":\"CARTO Cloud Regions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"overview/carto-workspace-overview\",\"pathname\":\"carto-user-manual/overview/carto-workspace-overview\",\"descendants\":null,\"children\":\"CARTO Workspace overview\"}]}]]}],\"children\":\"Overview\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps\",\"pathname\":\"carto-user-manual/maps\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources\",\"pathname\":\"carto-user-manual/maps/data-sources\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/simple-features\",\"pathname\":\"carto-user-manual/maps/data-sources/simple-features\",\"descendants\":null,\"children\":\"Simple features\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/spatial-indexes\",\"pathname\":\"carto-user-manual/maps/data-sources/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial Indexes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/pre-generated-tilesets\",\"pathname\":\"carto-user-manual/maps/data-sources/pre-generated-tilesets\",\"descendants\":null,\"children\":\"Pre-generated tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/defining-source-spatial-data\",\"pathname\":\"carto-user-manual/maps/data-sources/defining-source-spatial-data\",\"descendants\":null,\"children\":\"Defining source spatial data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/managing-data-freshness\",\"pathname\":\"carto-user-manual/maps/data-sources/managing-data-freshness\",\"descendants\":null,\"children\":\"Managing data freshness\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/data-sources/changing-data-source-location\",\"pathname\":\"carto-user-manual/maps/data-sources/changing-data-source-location\",\"descendants\":null,\"children\":\"Changing data source location\"}]}]]}],\"children\":\"Data sources\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers\",\"pathname\":\"carto-user-manual/maps/layers\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/point\",\"pathname\":\"carto-user-manual/maps/layers/point\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/point/grid-point-aggregation\",\"pathname\":\"carto-user-manual/maps/layers/point/grid-point-aggregation\",\"descendants\":null,\"children\":\"Grid point aggregation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/point/h3-point-aggregation\",\"pathname\":\"carto-user-manual/maps/layers/point/h3-point-aggregation\",\"descendants\":null,\"children\":\"H3 point aggregation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/point/heatmap-point-aggregation\",\"pathname\":\"carto-user-manual/maps/layers/point/heatmap-point-aggregation\",\"descendants\":null,\"children\":\"Heatmap point aggregation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/point/cluster-point-aggregation\",\"pathname\":\"carto-user-manual/maps/layers/point/cluster-point-aggregation\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,",\"descendants\":null,\"children\":\"Cluster point aggregation\"}]}]]}],\"children\":\"Point\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/polygon\",\"pathname\":\"carto-user-manual/maps/layers/polygon\",\"descendants\":null,\"children\":\"Polygon\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/line\",\"pathname\":\"carto-user-manual/maps/layers/line\",\"descendants\":null,\"children\":\"Line\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/grid\",\"pathname\":\"carto-user-manual/maps/layers/grid\",\"descendants\":null,\"children\":\"Grid\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/h3\",\"pathname\":\"carto-user-manual/maps/layers/h3\",\"descendants\":null,\"children\":\"H3\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/layers/zoom-to-layer\",\"pathname\":\"carto-user-manual/maps/layers/zoom-to-layer\",\"descendants\":null,\"children\":\"Zoom to layer\"}]}]]}],\"children\":\"Layers\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets\",\"pathname\":\"carto-user-manual/maps/widgets\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/formula-widget\",\"pathname\":\"carto-user-manual/maps/widgets/formula-widget\",\"descendants\":null,\"children\":\"Formula widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/category-widget\",\"pathname\":\"carto-user-manual/maps/widgets/category-widget\",\"descendants\":null,\"children\":\"Category widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/pie-widget\",\"pathname\":\"carto-user-manual/maps/widgets/pie-widget\",\"descendants\":null,\"children\":\"Pie widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/histogram-widget\",\"pathname\":\"carto-user-manual/maps/widgets/histogram-widget\",\"descendants\":null,\"children\":\"Histogram widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/range-widget\",\"pathname\":\"carto-user-manual/maps/widgets/range-widget\",\"descendants\":null,\"children\":\"Range widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/time-series-widget\",\"pathname\":\"carto-user-manual/maps/widgets/time-series-widget\",\"descendants\":null,\"children\":\"Time Series widget\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/widgets/table-widget\",\"pathname\":\"carto-user-manual/maps/widgets/table-widget\",\"descendants\":null,\"children\":\"Table widget\"}]}]]}],\"children\":\"Widgets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/sql-parameters\",\"pathname\":\"carto-user-manual/maps/sql-parameters\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/sql-parameters/date-parameter\",\"pathname\":\"carto-user-manual/maps/sql-parameters/date-parameter\",\"descendants\":null,\"children\":\"Date parameter\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/sql-parameters/text-parameter\",\"pathname\":\"carto-user-manual/maps/sql-parameters/text-parameter\",\"descendants\":null,\"children\":\"Text parameter\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/m"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"aps/sql-parameters/numeric-parameter\",\"pathname\":\"carto-user-manual/maps/sql-parameters/numeric-parameter\",\"descendants\":null,\"children\":\"Numeric parameter\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/sql-parameters/publishing-sql-parameters\",\"pathname\":\"carto-user-manual/maps/sql-parameters/publishing-sql-parameters\",\"descendants\":null,\"children\":\"Publishing SQL parameters\"}]}]]}],\"children\":\"SQL Parameters\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/interactions\",\"pathname\":\"carto-user-manual/maps/interactions\",\"descendants\":null,\"children\":\"Interactions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/legend\",\"pathname\":\"carto-user-manual/maps/legend\",\"descendants\":null,\"children\":\"Legend\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/basemaps\",\"pathname\":\"carto-user-manual/maps/basemaps\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/basemaps/basemap-selector\",\"pathname\":\"carto-user-manual/maps/basemaps/basemap-selector\",\"descendants\":null,\"children\":\"Basemap selector\"}]}]]}],\"children\":\"Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/sql-analyses\",\"pathname\":\"carto-user-manual/maps/sql-analyses\",\"descendants\":null,\"children\":\"SQL Analyses\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/map-view-modes\",\"pathname\":\"carto-user-manual/maps/map-view-modes\",\"descendants\":null,\"children\":\"Map view modes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/map-description\",\"pathname\":\"carto-user-manual/maps/map-description\",\"descendants\":null,\"children\":\"Map description\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/feature-selection-tool\",\"pathname\":\"carto-user-manual/maps/feature-selection-tool\",\"descendants\":null,\"children\":\"Feature Selection tool\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/search-locations\",\"pathname\":\"carto-user-manual/maps/search-locations\",\"descendants\":null,\"children\":\"Search locations\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/measure-distances\",\"pathname\":\"carto-user-manual/maps/measure-distances\",\"descendants\":null,\"children\":\"Measure distances\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/exporting-data\",\"pathname\":\"carto-user-manual/maps/exporting-data\",\"descendants\":null,\"children\":\"Exporting data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/download-pdf-reports\",\"pathname\":\"carto-user-manual/maps/download-pdf-reports\",\"descendants\":null,\"children\":\"Download PDF reports\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/managing-maps\",\"pathname\":\"carto-user-manual/maps/managing-maps\",\"descendants\":null,\"children\":\"Managing maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps/map-settings-for-viewers\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps/map-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"settings-for-viewers\",\"descendants\":null,\"children\":\"Map settings for viewers\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps/map-preview-for-editors\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps/map-preview-for-editors\",\"descendants\":null,\"children\":\"Map preview for editors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps/collaborative-maps\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps/collaborative-maps\",\"descendants\":null,\"children\":\"Collaborative maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps/embedding-maps\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps/embedding-maps\",\"descendants\":null,\"children\":\"Embedding maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/publishing-and-sharing-maps/url-parameters\",\"pathname\":\"carto-user-manual/maps/publishing-and-sharing-maps/url-parameters\",\"descendants\":null,\"children\":\"URL parameters\"}]}]]}],\"children\":\"Publishing and sharing maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/maps/performance-considerations\",\"pathname\":\"carto-user-manual/maps/performance-considerations\",\"descendants\":null,\"children\":\"Performance considerations\"}]}]]}],\"children\":\"Maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows\",\"pathname\":\"carto-user-manual/workflows\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/workflow-canvas\",\"pathname\":\"carto-user-manual/workflows/workflow-canvas\",\"descendants\":null,\"children\":\"Workflow canvas\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/results-panel\",\"pathname\":\"carto-user-manual/workflows/results-panel\",\"descendants\":null,\"children\":\"Results panel\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components\",\"pathname\":\"carto-user-manual/workflows/components\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/aggregation\",\"pathname\":\"carto-user-manual/workflows/components/aggregation\",\"descendants\":null,\"children\":\"Aggregation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/custom\",\"pathname\":\"carto-user-manual/workflows/components/custom\",\"descendants\":null,\"children\":\"Custom\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/data-enrichment\",\"pathname\":\"carto-user-manual/workflows/components/data-enrichment\",\"descendants\":null,\"children\":\"Data Enrichment\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/data-preparation\",\"pathname\":\"carto-user-manual/workflows/components/data-preparation\",\"descendants\":null,\"children\":\"Data Preparation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/generative-ai\",\"pathname\":\"carto-user-manual/workflows/components/generative-ai\",\"descendants\":null,\"children\":\"Generative AI\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/input-output\",\"pathname\":\"carto-user-manual/workflows/components/input-output\",\"desce"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ndants\":null,\"children\":\"Input / Output\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/joins\",\"pathname\":\"carto-user-manual/workflows/components/joins\",\"descendants\":null,\"children\":\"Joins\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/parsers\",\"pathname\":\"carto-user-manual/workflows/components/parsers\",\"descendants\":null,\"children\":\"Parsers\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/raster-operations\",\"pathname\":\"carto-user-manual/workflows/components/raster-operations\",\"descendants\":null,\"children\":\"Raster Operations\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/spatial-accessors\",\"pathname\":\"carto-user-manual/workflows/components/spatial-accessors\",\"descendants\":null,\"children\":\"Spatial Accessors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/spatial-analysis\",\"pathname\":\"carto-user-manual/workflows/components/spatial-analysis\",\"descendants\":null,\"children\":\"Spatial Analysis\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/spatial-constructors\",\"pathname\":\"carto-user-manual/workflows/components/spatial-constructors\",\"descendants\":null,\"children\":\"Spatial Constructors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/spatial-indexes\",\"pathname\":\"carto-user-manual/workflows/components/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial Indexes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/spatial-operations\",\"pathname\":\"carto-user-manual/workflows/components/spatial-operations\",\"descendants\":null,\"children\":\"Spatial Operations\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/statistics\",\"pathname\":\"carto-user-manual/workflows/components/statistics\",\"descendants\":null,\"children\":\"Statistics\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/tileset-creation\",\"pathname\":\"carto-user-manual/workflows/components/tileset-creation\",\"descendants\":null,\"children\":\"Tileset Creation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/google-earth-engine\",\"pathname\":\"carto-user-manual/workflows/components/google-earth-engine\",\"descendants\":null,\"children\":\"Google Earth Engine\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/components/telco-signal-propagation-models\",\"pathname\":\"carto-user-manual/workflows/components/telco-signal-propagation-models\",\"descendants\":null,\"children\":\"Telco Signal Propagation Models\"}]}]]}],\"children\":\"Components\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/data-sources\",\"pathname\":\"carto-user-manual/workflows/data-sources\",\"descendants\":null,\"children\":\"Data Sources\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/scheduling-workflows\",\"pathname\":\"carto-user-manual/workflows/scheduling-workflows\",\"descendants\":null,\"children\":\"Scheduling workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/sharing-workflows\",\"pathname\":\"carto-user-manual/workflows/sharing-workflows\",\"descendants\":null,\"children\":\"Sharing workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/using-variables-in-workflows\",\"pathname\":\"carto-user-manual/w"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"orkflows/using-variables-in-workflows\",\"descendants\":null,\"children\":\"Using variables in workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/executing-workflows-via-api\",\"pathname\":\"carto-user-manual/workflows/executing-workflows-via-api\",\"descendants\":null,\"children\":\"Executing workflows via API\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/temporary-data-in-workflows\",\"pathname\":\"carto-user-manual/workflows/temporary-data-in-workflows\",\"descendants\":null,\"children\":\"Temporary data in Workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/extension-packages\",\"pathname\":\"carto-user-manual/workflows/extension-packages\",\"descendants\":null,\"children\":\"Extension Packages\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/managing-maps\",\"pathname\":\"carto-user-manual/workflows/managing-maps\",\"descendants\":null,\"children\":\"Managing workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/workflows/how-to-optimize-generated-tables\",\"pathname\":\"carto-user-manual/workflows/how-to-optimize-generated-tables\",\"descendants\":null,\"children\":\"Workflows best practices\"}]}]]}],\"children\":\"Workflows\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer\",\"pathname\":\"carto-user-manual/data-explorer\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/creating-a-map-from-your-data\",\"pathname\":\"carto-user-manual/data-explorer/creating-a-map-from-your-data\",\"descendants\":null,\"children\":\"Creating a map from your data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/creating-a-tileset-from-your-data\",\"pathname\":\"carto-user-manual/data-explorer/creating-a-tileset-from-your-data\",\"descendants\":null,\"children\":\"Creating a tileset from your data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/importing-data\",\"pathname\":\"carto-user-manual/data-explorer/importing-data\",\"descendants\":null,\"children\":\"Importing data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/geocoding-data\",\"pathname\":\"carto-user-manual/data-explorer/geocoding-data\",\"descendants\":null,\"children\":\"Geocoding data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/enriching-data\",\"pathname\":\"carto-user-manual/data-explorer/enriching-data\",\"descendants\":null,\"children\":\"Enriching data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-explorer/optimizing-your-data\",\"pathname\":\"carto-user-manual/data-explorer/optimizing-your-data\",\"descendants\":null,\"children\":\"Optimizing your data\"}]}]]}],\"children\":\"Data Explorer\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/data-observatory\",\"pathname\":\"carto-user-manual/data-observatory\",\"descendants\":null,\"children\":\"Data Observatory\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections\",\"pathname\":\"carto-user-manual/connections\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/bigquery\",\"pathname\":\"carto-user-manual/connections/bigquery\",\"descendants\":null,\"children\":\"Google BigQuery\"}]}],[\"$\",\"li\",null,{\"c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"lassName\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/snowflake\",\"pathname\":\"carto-user-manual/connections/snowflake\",\"descendants\":null,\"children\":\"Snowflake\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/redshift\",\"pathname\":\"carto-user-manual/connections/redshift\",\"descendants\":null,\"children\":\"Amazon Redshift\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/postgresql\",\"pathname\":\"carto-user-manual/connections/postgresql\",\"descendants\":null,\"children\":\"PostgreSQL\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/databricks\",\"pathname\":\"carto-user-manual/connections/databricks\",\"descendants\":null,\"children\":\"Databricks\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/carto-data-warehouse\",\"pathname\":\"carto-user-manual/connections/carto-data-warehouse\",\"descendants\":null,\"children\":\"CARTO Data Warehouse\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/sharing-a-connection\",\"pathname\":\"carto-user-manual/connections/sharing-a-connection\",\"descendants\":null,\"children\":\"Sharing connections\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/deleting-a-connection\",\"pathname\":\"carto-user-manual/connections/deleting-a-connection\",\"descendants\":null,\"children\":\"Deleting a connection\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/required-permissions\",\"pathname\":\"carto-user-manual/connections/required-permissions\",\"descendants\":null,\"children\":\"Required permissions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/ip-whitelisting\",\"pathname\":\"carto-user-manual/connections/ip-whitelisting\",\"descendants\":null,\"children\":\"IP whitelisting\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/connections/customer-data-responsibilities\",\"pathname\":\"carto-user-manual/connections/customer-data-responsibilities\",\"descendants\":null,\"children\":\"Customer data responsibilities\"}]}]]}],\"children\":\"Connections\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/applications\",\"pathname\":\"carto-user-manual/applications\",\"descendants\":null,\"children\":\"Applications\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings\",\"pathname\":\"carto-user-manual/settings\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/understanding-your-organization-quotas\",\"pathname\":\"carto-user-manual/settings/understanding-your-organization-quotas\",\"descendants\":null,\"children\":\"Understanding your organization quotas\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/activity-data\",\"pathname\":\"carto-user-manual/settings/activity-data\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/activity-data/activity-data-reference\",\"pathname\":\"carto-user-manual/settings/activity-data/activity-data-reference\",\"descendants\":null,\"children\":\"Activity Data Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/activity-data/activity-data-examples\",\"pathname\":\"carto-user-manual/settings/activity-data/activity-data-examples\",\"descenda"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"nts\":null,\"children\":\"Activity Data Examples\"}]}]]}],\"children\":\"Activity Data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups\",\"pathname\":\"carto-user-manual/settings/users-and-groups\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/inviting-users-to-your-organization\",\"pathname\":\"carto-user-manual/settings/users-and-groups/inviting-users-to-your-organization\",\"descendants\":null,\"children\":\"Inviting users to your organization\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/managing-user-roles\",\"pathname\":\"carto-user-manual/settings/users-and-groups/managing-user-roles\",\"descendants\":null,\"children\":\"Managing user roles\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/deleting-users\",\"pathname\":\"carto-user-manual/settings/users-and-groups/deleting-users\",\"descendants\":null,\"children\":\"Deleting users\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/managing-user-groups\",\"pathname\":\"carto-user-manual/settings/users-and-groups/managing-user-groups\",\"descendants\":null,\"children\":\"Groups\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/sso\",\"pathname\":\"carto-user-manual/settings/users-and-groups/sso\",\"descendants\":null,\"children\":\"SSO\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/users-and-groups/mapping-groups-to-user-roles\",\"pathname\":\"carto-user-manual/settings/users-and-groups/mapping-groups-to-user-roles\",\"descendants\":null,\"children\":\"Mapping groups to user roles\"}]}]]}],\"children\":\"Users and Groups\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/carto-support-access\",\"pathname\":\"carto-user-manual/settings/carto-support-access\",\"descendants\":null,\"children\":\"CARTO Support Access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/customizations\",\"pathname\":\"carto-user-manual/settings/customizations\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/customizations/customizing-appearance-and-branding\",\"pathname\":\"carto-user-manual/settings/customizations/customizing-appearance-and-branding\",\"descendants\":null,\"children\":\"Customizing appearance and branding\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/customizations/configuring-custom-color-palettes\",\"pathname\":\"carto-user-manual/settings/customizations/configuring-custom-color-palettes\",\"descendants\":null,\"children\":\"Configuring custom color palettes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/customizations/configuring-your-organization-basemaps\",\"pathname\":\"carto-user-manual/settings/customizations/configuring-your-organization-basemaps\",\"descendants\":null,\"children\":\"Configuring your organization basemaps\"}]}]]}],\"children\":\"Customizations\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/advanced-settings\",\"pathname\":\"carto-user-manual/settings/advanced-settings\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\",null,{\"href\":\"/carto-user-manual/settings/advanced-settings/managing-registered-apps\",\"pathname\":\"carto-user-manual/settings/advanced-settings/managing-registered-apps\",\"descendants\":null,\"children\":\"Managing applications\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/advanced-settings/configuring-s3-bucket-for-redshift-imports\",\"pathname\":\"carto-user-manual/settings/advanced-settings/configuring-s3-bucket-for-redshift-imports\",\"descendants\":null,\"children\":\"Configuring S3 Bucket for Redshift Imports\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/advanced-settings/configuring-oauth-connections-to-snowflake\",\"pathname\":\"carto-user-manual/settings/advanced-settings/configuring-oauth-connections-to-snowflake\",\"descendants\":null,\"children\":\"Configuring OAuth connections to Snowflake\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/advanced-settings/configuring-s3-bucket-integration-for-rds-for-postgresql-exports-in-builder\",\"pathname\":\"carto-user-manual/settings/advanced-settings/configuring-s3-bucket-integration-for-rds-for-postgresql-exports-in-builder\",\"descendants\":null,\"children\":\"Configuring S3 Bucket integration for RDS for PostgreSQL Exports in Builder\"}]}]]}],\"children\":\"Advanced Settings\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/settings/deleting-your-organization\",\"pathname\":\"carto-user-manual/settings/deleting-your-organization\",\"descendants\":null,\"children\":\"Deleting your organization\"}]}]]}],\"children\":\"Settings\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers\",\"pathname\":\"carto-user-manual/developers\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials\",\"pathname\":\"carto-user-manual/developers/managing-credentials\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/api-base-url\",\"pathname\":\"carto-user-manual/developers/managing-credentials/api-base-url\",\"descendants\":null,\"children\":\"API Base URL\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/api-access-tokens\",\"pathname\":\"carto-user-manual/developers/managing-credentials/api-access-tokens\",\"descendants\":null,\"children\":\"API Access Tokens\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/spa-oauth-clients\",\"pathname\":\"carto-user-manual/developers/managing-credentials/spa-oauth-clients\",\"descendants\":null,\"children\":\"SPA OAuth Clients\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/m2m-oauth-clients\",\"pathname\":\"carto-user-manual/developers/managing-credentials/m2m-oauth-clients\",\"descendants\":null,\"children\":\"M2M OAuth Clients\"}]}]]}],\"children\":\"Managing Credentials\"}]}]]}],\"children\":\"Developers\"}]}]]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"Data and Analysis\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-over"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"view\",\"pathname\":\"data-and-analysis/analytics-toolbox-overview\",\"descendants\":null,\"children\":\"Analytics Toolbox Overview\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/getting-access\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/getting-access\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/projects-maintained-by-carto-in-different-bigquery-regions\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/getting-access/projects-maintained-by-carto-in-different-bigquery-regions\",\"descendants\":null,\"children\":\"Projects maintained by CARTO in different BigQuery regions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/manual-installation-in-your-own-project\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/getting-access/manual-installation-in-your-own-project\",\"descendants\":null,\"children\":\"Manual installation in your own project\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/installation-in-a-google-cloud-vpc\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/getting-access/installation-in-a-google-cloud-vpc\",\"descendants\":null,\"children\":\"Installation in a Google Cloud VPC\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/getting-access/core-module\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/getting-access/core-module\",\"descendants\":null,\"children\":\"Core module\"}]}]]}],\"children\":\"Getting access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/tilesets\",\"descendants\":null,\"children\":\"Tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/spatial-indexes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/key-concepts/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial indexes\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/accessors\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/accessors\",\"descendants\":null,\"children\":\"accessors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigque"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ry/sql-reference/clustering\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/clustering\",\"descendants\":null,\"children\":\"clustering\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/constructors\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/constructors\",\"descendants\":null,\"children\":\"constructors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/cpg\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/cpg\",\"descendants\":null,\"children\":\"cpg\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/data\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/data\",\"descendants\":null,\"children\":\"data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/http_request\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/http_request\",\"descendants\":null,\"children\":\"http_request\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/import\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/import\",\"descendants\":null,\"children\":\"import\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/geohash\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/geohash\",\"descendants\":null,\"children\":\"geohash\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/h3\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/h3\",\"descendants\":null,\"children\":\"h3\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/lds\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/lds\",\"descendants\":null,\"children\":\"lds\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/measurements\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/measurements\",\"descendants\":null,\"children\":\"measurements\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/placekey\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/placekey\",\"descendants\":null,\"children\":\"placekey\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/processing\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/processing\",\"descendants\":null,\"children\":\"processing\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/quadbin\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/quadbin\",\"descendants\":null,\"children\":\"quadbin\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/random\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/random\",\"descendants\":null,\"children\":\"random\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/raster\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/raster\",\"descendants\":null,\"children"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\":\"raster\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/retail\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/retail\",\"descendants\":null,\"children\":\"retail\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/routing\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/routing\",\"descendants\":null,\"children\":\"routing\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/s2\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/s2\",\"descendants\":null,\"children\":\"s2\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/statistics\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/statistics\",\"descendants\":null,\"children\":\"statistics\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/telco\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/telco\",\"descendants\":null,\"children\":\"telco\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/tiler\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/tiler\",\"descendants\":null,\"children\":\"tiler\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/transformations\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/sql-reference/transformations\",\"descendants\":null,\"children\":\"transformations\"}]}]]}],\"children\":\"SQL Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/guides\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/guides/creating-and-visualizing-tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/guides/creating-and-visualizing-tilesets\",\"descendants\":null,\"children\":\"Creating and visualizing tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/guides/running-queries-from-builder\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/guides/running-queries-from-builder\",\"descendants\":null,\"children\":\"Running queries from Builder\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/guides/working-with-raster-data\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/guides/working-with-raster-data\",\"descendants\":null,\"children\":\"Working with Raster data\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/release-notes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/release-notes\",\"descendants\":null,\"children\":\"Release notes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-bigquery/about-analytics-toolbox-regions\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-bigquery/about-analytics-toolbox-regions\",\"descendants\":null,\"children\":\"About Analytics Toolbox regions\"}]}]]}],\"children\":\"Analytics Toolbox for BigQuery\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"child"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ren\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/getting-access\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/getting-access\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/getting-access/native-app-from-snowflakes-marketplace\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/getting-access/native-app-from-snowflakes-marketplace\",\"descendants\":null,\"children\":\"Native App from Snowflake's Marketplace\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/getting-access/manual-installation\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/getting-access/manual-installation\",\"descendants\":null,\"children\":\"Manual installation\"}]}]]}],\"children\":\"Getting access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/spatial-indexes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial indexes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/key-concepts/tilesets\",\"descendants\":null,\"children\":\"Tilesets\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/accessors\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/accessors\",\"descendants\":null,\"children\":\"accessors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/clustering\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/clustering\",\"descendants\":null,\"children\":\"clustering\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/constructors\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/constructors\",\"descendants\":null,\"children\":\"constructors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/data\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/data\",\"descendants\":null,\"children\":\"data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/http_request\",\"pathname\":\"data-and-analysis/analytics-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"toolbox-for-snowflake/sql-reference/http_request\",\"descendants\":null,\"children\":\"http_request\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/import\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/import\",\"descendants\":null,\"children\":\"import\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/h3\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/h3\",\"descendants\":null,\"children\":\"h3\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/lds\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/lds\",\"descendants\":null,\"children\":\"lds\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/measurements\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/measurements\",\"descendants\":null,\"children\":\"measurements\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/placekey\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/placekey\",\"descendants\":null,\"children\":\"placekey\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/processing\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/processing\",\"descendants\":null,\"children\":\"processing\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/quadbin\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/quadbin\",\"descendants\":null,\"children\":\"quadbin\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/random\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/random\",\"descendants\":null,\"children\":\"random\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/raster\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/raster\",\"descendants\":null,\"children\":\"raster\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/retail\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/retail\",\"descendants\":null,\"children\":\"retail\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/s2\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/s2\",\"descendants\":null,\"children\":\"s2\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/statistics\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/statistics\",\"descendants\":null,\"children\":\"statistics\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/tiler\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/tiler\",\"descendants\":null,\"children\":\"tiler\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/transformations\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/sql-reference/transformations\",\"descendants\":null,\"children\":\"transformations\"}]}]]}],\"children\":\"SQL Re"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/guides\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/guides/creating-and-visualizing-tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/guides/creating-and-visualizing-tilesets\",\"descendants\":null,\"children\":\"Creating and visualizing tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/guides/running-queries-from-builder\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/guides/running-queries-from-builder\",\"descendants\":null,\"children\":\"Running queries from Builder\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/guides/working-with-raster-data\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/guides/working-with-raster-data\",\"descendants\":null,\"children\":\"Working with Raster data\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-snowflake/release-notes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-snowflake/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}],\"children\":\"Analytics Toolbox for Snowflake\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/getting-access\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/getting-access\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/getting-access/manual-installation-in-your-database\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/getting-access/manual-installation-in-your-database\",\"descendants\":null,\"children\":\"Manual installation in your database\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-in-a-aws-vpc\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-in-a-aws-vpc\",\"descendants\":null,\"children\":\"Installation in an Amazon Web Services VPC\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-of-the-core-package\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/getting-access/installation-of-the-core-package\",\"descendants\":null,\"children\":\"Core version\"}]}]]}],\"children\":\"Getting access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/key-concepts\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/key-concepts/tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/key-c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"oncepts/tilesets\",\"descendants\":null,\"children\":\"Tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/key-concepts/spatial-indexes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/key-concepts/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial indexes\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/clustering\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/clustering\",\"descendants\":null,\"children\":\"clustering\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/constructors\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/constructors\",\"descendants\":null,\"children\":\"constructors\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/data\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/data\",\"descendants\":null,\"children\":\"data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/http_request\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/http_request\",\"descendants\":null,\"children\":\"http_request\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/import\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/import\",\"descendants\":null,\"children\":\"import\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/lds\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/lds\",\"descendants\":null,\"children\":\"lds\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/placekey\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/placekey\",\"descendants\":null,\"children\":\"placekey\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/processing\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/processing\",\"descendants\":null,\"children\":\"processing\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/quadbin\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/quadbin\",\"descendants\":null,\"children\":\"quadbin\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/random\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/random\",\"descendants\":null,\"children\":\"random\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/s2\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/s2\",\"descendants\":null,\"children\":\"s2\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/statistics\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-r"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"eference/statistics\",\"descendants\":null,\"children\":\"statistics\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/tiler\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/tiler\",\"descendants\":null,\"children\":\"tiler\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/sql-reference/transformations\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/sql-reference/transformations\",\"descendants\":null,\"children\":\"transformations\"}]}]]}],\"children\":\"SQL Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/guides\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/guides/creating-and-visualizing-tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/guides/creating-and-visualizing-tilesets\",\"descendants\":null,\"children\":\"Creating and visualizing tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/guides/running-queries-from-builder\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/guides/running-queries-from-builder\",\"descendants\":null,\"children\":\"Running queries from Builder\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-redshift/release-notes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-redshift/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}],\"children\":\"Analytics Toolbox for Redshift\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/getting-access\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/getting-access\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/getting-access/single-user-cluster\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/getting-access/single-user-cluster\",\"descendants\":null,\"children\":\"Single User cluster\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/getting-access/shared-cluster\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/getting-access/shared-cluster\",\"descendants\":null,\"children\":\"Shared cluster\"}]}]]}],\"children\":\"Getting access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/reference\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/reference/tiler\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/reference/tiler\",\"descendants\":null,\"children\":\"tiler\"}]}]]}],\"children\":\"Reference\"}]}],[\"$"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/guides\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/guides\",\"descendants\":null,\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-databricks/release-notes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-databricks/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}],\"children\":\"Analytics Toolbox for Databricks\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/getting-access\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/getting-access\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/getting-access/manual-installation\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/getting-access/manual-installation\",\"descendants\":null,\"children\":\"Manual installation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/getting-access/core-version\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/getting-access/core-version\",\"descendants\":null,\"children\":\"Core version\"}]}]]}],\"children\":\"Getting access\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/tilesets\",\"descendants\":null,\"children\":\"Tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/spatial-indexes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/key-concepts/spatial-indexes\",\"descendants\":null,\"children\":\"Spatial Indexes\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/sql-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/h3\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/h3\",\"descendants\":null,\"children\":\"h3\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/quadbin\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/quadbin\",\"descendants\":null,\"children\":\"quadbin\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/tiler\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/sql-reference/t"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"iler\",\"descendants\":null,\"children\":\"tiler\"}]}]]}],\"children\":\"SQL Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/guides\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-and-visualizing-tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-and-visualizing-tilesets\",\"descendants\":null,\"children\":\"Creating and visualizing tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-spatial-index-tilesets\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/guides/creating-spatial-index-tilesets\",\"descendants\":null,\"children\":\"Creating spatial index tilesets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/guides/running-queries-from-builder\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/guides/running-queries-from-builder\",\"descendants\":null,\"children\":\"Running queries from Builder\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/analytics-toolbox-for-postgresql/release-notes\",\"pathname\":\"data-and-analysis/analytics-toolbox-for-postgresql/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}],\"children\":\"Analytics Toolbox for PostgreSQL\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory\",\"pathname\":\"data-and-analysis/data-observatory\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/terminology\",\"pathname\":\"data-and-analysis/data-observatory/terminology\",\"descendants\":null,\"children\":\"Terminology\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides\",\"pathname\":\"data-and-analysis/data-observatory/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides/accessing-and-browsing-the-spatial-data-catalog\",\"pathname\":\"data-and-analysis/data-observatory/guides/accessing-and-browsing-the-spatial-data-catalog\",\"descendants\":null,\"children\":\"Accessing and browsing the spatial data catalog\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides/accessing-free-data-samples\",\"pathname\":\"data-and-analysis/data-observatory/guides/accessing-free-data-samples\",\"descendants\":null,\"children\":\"Accessing free data samples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides/subscribing-to-public-and-premium-datasets\",\"pathname\":\"data-and-analysis/data-observatory/guides/subscribing-to-public-and-premium-datasets\",\"descendants\":null,\"children\":\"Subscribing to public and premium datasets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides/managing-your-subscriptions\",\"pathname\":\"data-and-analysis/data-observatory/guides/managing-your-subscriptions\",\"descendants\":null,\"children\":\"Managing your subscriptions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-obs"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ervatory/guides/accessing-your-subscriptions-from-your-data-warehouse\",\"pathname\":\"data-and-analysis/data-observatory/guides/accessing-your-subscriptions-from-your-data-warehouse\",\"descendants\":null,\"children\":\"Accessing your subscriptions from your data warehouse\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/guides/visualizing-data-observatory-datasets\",\"pathname\":\"data-and-analysis/data-observatory/guides/visualizing-data-observatory-datasets\",\"descendants\":null,\"children\":\"Visualizing Data Observatory datasets\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/data-observatory/example-tilesets\",\"pathname\":\"data-and-analysis/data-observatory/example-tilesets\",\"descendants\":null,\"children\":\"Example Tilesets\"}]}]]}],\"children\":\"Data Observatory\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python\",\"pathname\":\"data-and-analysis/carto-+-python\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/installation\",\"pathname\":\"data-and-analysis/carto-+-python/installation\",\"descendants\":null,\"children\":\"Installation\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/authentication-methods\",\"pathname\":\"data-and-analysis/carto-+-python/authentication-methods\",\"descendants\":null,\"children\":\"Authentication Methods\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/visualizing-data\",\"pathname\":\"data-and-analysis/carto-+-python/visualizing-data\",\"descendants\":null,\"children\":\"Visualizing Data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data/how-to-work-with-your-data-in-the-carto-data-warehouse\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data/how-to-work-with-your-data-in-the-carto-data-warehouse\",\"descendants\":null,\"children\":\"How to work with your data in the CARTO Data Warehouse\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data/how-to-access-your-data-observatory-subscriptions\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data/how-to-access-your-data-observatory-subscriptions\",\"descendants\":null,\"children\":\"How to access your Data Observatory subscriptions\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-bigquery-and-create-visualizations-via-python-notebooks\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-bigquery-and-create-visualizations-via-python-notebooks\",\"descendants\":null,\"children\":\"How to access CARTO's Analytics Toolbox for BigQuery and create visualizations via Python notebooks\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-snowflake-and-create-visualizations-via-python-notebooks\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data/how-to-access-cartos-analytics-toolbox-for-snowflake-and-create-visualizations-via-python-notebooks\",\"descendants\":null,\"children\":\"How to access CARTO’s Analytics Toolbox "])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"for Snowflake and create visualizations via Python notebooks\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/working-with-data/how-to-visualize-data-from-databricks\",\"pathname\":\"data-and-analysis/carto-+-python/working-with-data/how-to-visualize-data-from-databricks\",\"descendants\":null,\"children\":\"How to visualize data from Databricks\"}]}]]}],\"children\":\"Working with Data\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/data-and-analysis/carto-+-python/reference\",\"pathname\":\"data-and-analysis/carto-+-python/reference\",\"descendants\":null,\"children\":\"Reference\"}]}]]}],\"children\":\"CARTO + Python\"}]}],null]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"CARTO for Developers\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/overview\",\"pathname\":\"carto-for-developers/overview\",\"descendants\":null,\"children\":\"Overview\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts\",\"pathname\":\"carto-for-developers/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/connections\",\"pathname\":\"carto-for-developers/key-concepts/connections\",\"descendants\":null,\"children\":\"Connections\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/apis\",\"pathname\":\"carto-for-developers/key-concepts/apis\",\"descendants\":null,\"children\":\"APIs\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods\",\"pathname\":\"carto-for-developers/key-concepts/authentication-methods\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/api-access-tokens\",\"pathname\":\"carto-for-developers/key-concepts/authentication-methods/api-access-tokens\",\"descendants\":null,\"children\":\"API Access Tokens\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/oauth-access-tokens\",\"pathname\":\"carto-for-developers/key-concepts/authentication-methods/oauth-access-tokens\",\"descendants\":null,\"children\":\"OAuth Access Tokens\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/applications\",\"pathname\":\"carto-for-developers/key-concepts/authentication-methods/applications\",\"descendants\":null,\"children\":\"OAuth Clients\"}]}]]}],\"children\":\"Authentication methods\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/visualization\",\"pathname\":\"carto-for-developers/key-concepts/visualization\",\"descendants\":null,\"children\":\"Visualization\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/widgets\",\"pathname\":\"carto-for-developers/key-concepts/widgets\",\"descendants\":null,\"children\":\"Widgets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/key-concepts/summary\",\"pathname\":\"carto-for-developers/key-concepts/summary\",\"descendants\":null,\"children\":\"Summary\"}]}]]}],\"children\":"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/quickstart\",\"pathname\":\"carto-for-developers/quickstart\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/quickstart/how-to-make-my-first-api-call\",\"pathname\":\"carto-for-developers/quickstart/how-to-make-my-first-api-call\",\"descendants\":null,\"children\":\"Make your first API call\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/quickstart/visualize-your-first-dataset\",\"pathname\":\"carto-for-developers/quickstart/visualize-your-first-dataset\",\"descendants\":null,\"children\":\"Visualize your first dataset\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/quickstart/create-your-first-widget\",\"pathname\":\"carto-for-developers/quickstart/create-your-first-widget\",\"descendants\":null,\"children\":\"Create your first widget\"}]}]]}],\"children\":\"Quickstart\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides\",\"pathname\":\"carto-for-developers/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/build-a-public-application\",\"pathname\":\"carto-for-developers/guides/build-a-public-application\",\"descendants\":null,\"children\":\"Build a public application\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/build-a-private-application\",\"pathname\":\"carto-for-developers/guides/build-a-private-application\",\"descendants\":null,\"children\":\"Build a private application\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/build-a-private-application-using-sso\",\"pathname\":\"carto-for-developers/guides/build-a-private-application-using-sso\",\"descendants\":null,\"children\":\"Build a private application using SSO\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/visualize-massive-datasets\",\"pathname\":\"carto-for-developers/guides/visualize-massive-datasets\",\"descendants\":null,\"children\":\"Visualize massive datasets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/integrate-carto-in-your-existing-application\",\"pathname\":\"carto-for-developers/guides/integrate-carto-in-your-existing-application\",\"descendants\":null,\"children\":\"Integrate CARTO in your existing application\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/guides/use-boundaries-in-your-application\",\"pathname\":\"carto-for-developers/guides/use-boundaries-in-your-application\",\"descendants\":null,\"children\":\"Use Boundaries in your application\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl\",\"pathname\":\"carto-for-developers/carto-for-deck.gl\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-basemap\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-basemap"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\",\"descendants\":null,\"children\":\"CARTO Basemap\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/gallery\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/gallery\",\"descendants\":null,\"children\":\"Gallery\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/getting-started\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/getting-started\",\"descendants\":null,\"children\":\"Getting Started\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/hello-world\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/hello-world\",\"descendants\":null,\"children\":\"Hello World\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/bigquery-tileset-layer\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/bigquery-tileset-layer\",\"descendants\":null,\"children\":\"BigQuery Tileset Layer\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/data-observatory-tileset-layer\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/basic-examples/data-observatory-tileset-layer\",\"descendants\":null,\"children\":\"Data Observatory Tileset Layer\"}]}]]}],\"children\":\"Basic Examples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/arc-layer\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/arc-layer\",\"descendants\":null,\"children\":\"Arc Layer\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/extrusion\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/extrusio"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"n\",\"descendants\":null,\"children\":\"Extrusion\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/trips-layer\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/readme-1/advanced-examples/trips-layer\",\"descendants\":null,\"children\":\"Trips Layer\"}]}]]}],\"children\":\"Advanced Examples\"}]}]]}],\"children\":\"Examples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/whats-new\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-google-maps/whats-new\",\"descendants\":null,\"children\":\"What's New\"}]}]]}],\"children\":\"Google Maps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/hello-world\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/hello-world\",\"descendants\":null,\"children\":\"Hello World\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/cartolayer\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/readme-1/cartolayer\",\"descendants\":null,\"children\":\"CartoLayer\"}]}]]}],\"children\":\"Examples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/whats-new\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/basemaps/carto-amazon-location/whats-new\",\"descendants\":null,\"children\":\"What's New\"}]}]]}],\"children\":\"Amazon Location\"}]}]]}],\"children\":\"Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl/rapid-map-prototyping\",\"pathname\":\"carto-for-developers/carto-for-deck.gl/rapid-map-prototyping\",\"descendants\":null,\"children\":\"Rapid Map Prototyping\"}]}]]}],\"children\":\"Visualization with deck.gl\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/charts-and-widgets\",\"pathname\":\"carto-for-developers/charts-and-widgets\",\"descendants\":null,\"children\":\"Charts and widgets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference\",\"pathname\":\"carto-for-developers/reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[\"$L2e\",\"$L2f\",[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/data-sources\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/data-sources\",\"descendants\":null,\"children\":\"Data Sou"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rces\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/getformula\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/getformula\",\"descendants\":null,\"children\":\"getFormula\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/getcategories\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/getcategories\",\"descendants\":null,\"children\":\"getCategories\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/gethistogram\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/gethistogram\",\"descendants\":null,\"children\":\"getHistogram\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/getrange\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/getrange\",\"descendants\":null,\"children\":\"getRange\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/getscatter\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/getscatter\",\"descendants\":null,\"children\":\"getScatter\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/gettimeseries\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/gettimeseries\",\"descendants\":null,\"children\":\"getTimeSeries\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/models/gettable\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/models/gettable\",\"descendants\":null,\"children\":\"getTable\"}]}]]}],\"children\":\"Models\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/filters\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/filters\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/filters/column-filters\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/filters/column-filters\",\"descendants\":null,\"children\":\"Column filters\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/reference/carto-widgets-reference/filters/spatial-filters\",\"pathname\":\"carto-for-developers/reference/carto-widgets-reference/filters/spatial-filters\",\"descendants\":null,\"children\":\"Spatial filters\"}]}]]}],\"children\":\"Filters\"}]}]]}],\"children\":\"CARTO Widgets Reference\"}]}],\"$L30\"]}],\"children\":\"Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/release-notes\",\"pathname\":\"carto-for-developers/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/examples\",\"pathname\":\"carto-for-developers/examples\",\"descendants\":null,\"children\":\"Examples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react\",\"pathname\":\"carto-for-developers/carto-for-reac"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"t\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides\",\"pathname\":\"carto-for-developers/carto-for-react/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/getting-started\",\"pathname\":\"carto-for-developers/carto-for-react/guides/getting-started\",\"descendants\":null,\"children\":\"Getting Started\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/views\",\"pathname\":\"carto-for-developers/carto-for-react/guides/views\",\"descendants\":null,\"children\":\"Views\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/data-sources\",\"pathname\":\"carto-for-developers/carto-for-react/guides/data-sources\",\"descendants\":null,\"children\":\"Data Sources\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/layers\",\"pathname\":\"carto-for-developers/carto-for-react/guides/layers\",\"descendants\":null,\"children\":\"Layers\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/widgets\",\"pathname\":\"carto-for-developers/carto-for-react/guides/widgets\",\"descendants\":null,\"children\":\"Widgets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/authentication-and-authorization\",\"pathname\":\"carto-for-developers/carto-for-react/guides/authentication-and-authorization\",\"descendants\":null,\"children\":\"Authentication and Authorization\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/basemaps\",\"pathname\":\"carto-for-developers/carto-for-react/guides/basemaps\",\"descendants\":null,\"children\":\"Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/look-and-feel\",\"pathname\":\"carto-for-developers/carto-for-react/guides/look-and-feel\",\"descendants\":null,\"children\":\"Look and Feel\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/query-parameters\",\"pathname\":\"carto-for-developers/carto-for-react/guides/query-parameters\",\"descendants\":null,\"children\":\"Query Parameters\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/code-generator\",\"pathname\":\"carto-for-developers/carto-for-react/guides/code-generator\",\"descendants\":null,\"children\":\"Code Generator\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/sample-applications\",\"pathname\":\"carto-for-developers/carto-for-react/guides/sample-applications\",\"descendants\":null,\"children\":\"Sample Applications\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/deployment\",\"pathname\":\"carto-for-developers/carto-for-react/guides/deployment\",\"descendants\":null,\"children\":\"Deployment\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/guides/upgrade-guide\",\"pathname\":\"carto-for-developers/carto-for-react/guides/upgrade-guide\",\"descendants\":null,\"children\":\"Upgrade Guide\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/examples\",\"pathname\":\"carto-for-developers/carto-for-react/examples\",\"desc"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"endants\":null,\"children\":\"Examples\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/introduction\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/introduction\",\"descendants\":null,\"children\":\"Introduction\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/api\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/api\",\"descendants\":null,\"children\":\"API\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/auth\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/auth\",\"descendants\":null,\"children\":\"Auth\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/basemaps\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/basemaps\",\"descendants\":null,\"children\":\"Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/core\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/core\",\"descendants\":null,\"children\":\"Core\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/redux\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/redux\",\"descendants\":null,\"children\":\"Redux\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/ui\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/ui\",\"descendants\":null,\"children\":\"UI\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/library-reference/widgets\",\"pathname\":\"carto-for-developers/carto-for-react/library-reference/widgets\",\"descendants\":null,\"children\":\"Widgets\"}]}]]}],\"children\":\"Library Reference\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-for-developers/carto-for-react/release-notes\",\"pathname\":\"carto-for-developers/carto-for-react/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}],\"children\":\"CARTO for React\"}]}]]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"CARTO Self-Hosted\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/overview\",\"pathname\":\"carto-self-hosted/overview\",\"descendants\":null,\"children\":\"Overview\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/key-concepts\",\"pathname\":\"carto-self-hosted/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/key-concepts/architecture\",\"pathname\":\"carto-self-hosted/key-concepts/architecture\",\"descendants\":null,\"children\":\"Architecture\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/key-concepts/deployment-requirements\",\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"pathname\":\"carto-self-hosted/key-concepts/deployment-requirements\",\"descendants\":null,\"children\":\"Deployment requirements\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/deployment-guides\",\"pathname\":\"carto-self-hosted/deployment-guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/deployment-guides/single-vm-deployment\",\"pathname\":\"carto-self-hosted/deployment-guides/single-vm-deployment\",\"descendants\":null,\"children\":\"Single VM deployment\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/deployment-guides/kubernetes\",\"pathname\":\"carto-self-hosted/deployment-guides/kubernetes\",\"descendants\":null,\"children\":\"Orchestrated container deployment\"}]}]]}],\"children\":\"Quickstarts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides\",\"pathname\":\"carto-self-hosted/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/configure-your-own-buckets\",\"pathname\":\"carto-self-hosted/guides/configure-your-own-buckets\",\"descendants\":null,\"children\":\"Configure your own buckets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/configure-an-external-in-memory-cache\",\"pathname\":\"carto-self-hosted/guides/configure-an-external-in-memory-cache\",\"descendants\":null,\"children\":\"Configure an external in-memory cache\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/enable-google-basemaps\",\"pathname\":\"carto-self-hosted/guides/enable-google-basemaps\",\"descendants\":null,\"children\":\"Enable Google Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/enable-the-carto-data-warehouse\",\"pathname\":\"carto-self-hosted/guides/enable-the-carto-data-warehouse\",\"descendants\":null,\"children\":\"Enable the CARTO Data Warehouse\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/configure-an-external-proxy\",\"pathname\":\"carto-self-hosted/guides/configure-an-external-proxy\",\"descendants\":null,\"children\":\"Configure an external proxy\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/enable-bigquery-oauth-connections\",\"pathname\":\"carto-self-hosted/guides/enable-bigquery-oauth-connections\",\"descendants\":null,\"children\":\"Enable BigQuery OAuth connections\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/configure-single-sign-on-sso\",\"pathname\":\"carto-self-hosted/guides/configure-single-sign-on-sso\",\"descendants\":null,\"children\":\"Configure Single Sign-On (SSO)\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/use-workload-identity-in-gcp\",\"pathname\":\"carto-self-hosted/guides/use-workload-identity-in-gcp\",\"descendants\":null,\"children\":\"Use Workload Identity in GCP\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/high-availability-configuration-for-carto-self-hosted\",\"pathname\":\"carto-self-hosted/guides/high-availability-configuration-for-carto-self-hosted\",\"descendants\":null,\"children\":\"High availability configuration for CARTO Self-Hosted\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/guides/configure-your-custom-service-account\",\"pathname\":\"carto-self-hosted/guides/configure-your-custom-service-account\",\"descendants\":null,\"children\":\"Configur"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"e your custom service account\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance\",\"pathname\":\"carto-self-hosted/maintenance\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/updates\",\"pathname\":\"carto-self-hosted/maintenance/updates\",\"descendants\":null,\"children\":\"Updates\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/backups\",\"pathname\":\"carto-self-hosted/maintenance/backups\",\"descendants\":null,\"children\":\"Backups\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/uninstall\",\"pathname\":\"carto-self-hosted/maintenance/uninstall\",\"descendants\":null,\"children\":\"Uninstall\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/rotating-keys\",\"pathname\":\"carto-self-hosted/maintenance/rotating-keys\",\"descendants\":null,\"children\":\"Rotating keys\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/monitoring\",\"pathname\":\"carto-self-hosted/maintenance/monitoring\",\"descendants\":null,\"children\":\"Monitoring\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/maintenance/change-the-admin-console-password\",\"pathname\":\"carto-self-hosted/maintenance/change-the-admin-console-password\",\"descendants\":null,\"children\":\"Change the Admin Console password\"}]}]]}],\"children\":\"Maintenance\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/support\",\"pathname\":\"carto-self-hosted/support\",\"descendants\":null,\"children\":\"Support\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/key-concepts\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/key-concepts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/key-concepts/architecture\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/key-concepts/architecture\",\"descendants\":null,\"children\":\"Architecture\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/key-concepts/deployment-requirements\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/key-concepts/deployment-requirements\",\"descendants\":null,\"children\":\"Deployment requirements\"}]}]]}],\"children\":\"Key concepts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/quickstarts\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/quickstarts\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/quickstarts/single-vm-deployment\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/quickstarts/single-vm-deployment\",\"descendants\":null,\"children\":\"Single VM deployment\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/quickstarts/orchestrated-cont"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ainer-deployment\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/quickstarts/orchestrated-container-deployment\",\"descendants\":null,\"children\":\"Orchestrated container deployment\"}]}]]}],\"children\":\"Quickstarts\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-own-buckets\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-own-buckets\",\"descendants\":null,\"children\":\"Configure your own buckets\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-in-memory-cache\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-in-memory-cache\",\"descendants\":null,\"children\":\"Configure an external in-memory cache\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/enable-google-basemaps\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/enable-google-basemaps\",\"descendants\":null,\"children\":\"Enable Google Basemaps\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/enable-the-carto-data-warehouse\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/enable-the-carto-data-warehouse\",\"descendants\":null,\"children\":\"Enable the CARTO Data Warehouse\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-proxy\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/configure-an-external-proxy\",\"descendants\":null,\"children\":\"Configure an external proxy\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/enable-bigquery-oauth-connections\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/enable-bigquery-oauth-connections\",\"descendants\":null,\"children\":\"Enable BigQuery OAuth connections\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/configure-single-sign-on-sso\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/configure-single-sign-on-sso\",\"descendants\":null,\"children\":\"Configure Single Sign-On (SSO)\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/enable-redshift-imports\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/enable-redshift-imports\",\"descendants\":null,\"children\":\"Enable Redshift imports\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/use-workload-identity-in-gcp\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/use-workload-identity-in-gcp\",\"descendants\":null,\"children\":\"Use Workload Identity in GCP\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-custom-service-account\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/configure-your-custom-service-account\",\"descendants\":null,\"children\":\"Configure your custom service account\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/advanced-customizations\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/advanced-customizations\",\"descendants\":null,\"children\":\"Advanced customizations\"}]}],[\"$\",\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/guides/migrating-carto-self-hosted-installation-to-an-external-database\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/guides/migrating-carto-self-hosted-installation-to-an-external-database\",\"descendants\":null,\"children\":\"Migrating CARTO Self-Hosted installation to an external database\"}]}]]}],\"children\":\"Guides\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance\",\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5 ms-5 my-2 border-l border-dark/3 dark:border-light/2\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance/updates\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance/updates\",\"descendants\":null,\"children\":\"Updates\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance/backups\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance/backups\",\"descendants\":null,\"children\":\"Backups\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance/uninstall\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance/uninstall\",\"descendants\":null,\"children\":\"Uninstall\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance/rotating-keys\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance/rotating-keys\",\"descendants\":null,\"children\":\"Rotating keys\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/maintenance/monitoring\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/maintenance/monitoring\",\"descendants\":null,\"children\":\"Monitoring\"}]}]]}],\"children\":\"Maintenance\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/carto-self-hosted-legacy/support\",\"pathname\":\"carto-self-hosted/carto-self-hosted-legacy/support\",\"descendants\":null,\"children\":\"Support\"}]}]]}],\"children\":\"CARTO Self-Hosted Legacy\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-self-hosted/release-notes\",\"pathname\":\"carto-self-hosted/release-notes\",\"descendants\":null,\"children\":\"Release Notes\"}]}]]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"CARTO Native App for Snowflake Containers\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/carto-native-app-for-snowflake-containers/deploying-carto-using-snowflake-container-services\",\"pathname\":\"carto-native-app-for-snowflake-containers/deploying-carto-using-snowflake-container-services\",\"descendants\":null,\"children\":\"Deploying CARTO using Snowflake Container Services\"}]}]]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-5 pt-6 pb-1.5 text-xs tracking-wide font-semibold uppercase z-[1] sticky -top-4 bg-gradient-to-b from-light to-transparent from-65% dark:from-dark dark:tracking-wider dark:to-transparent\",\"children\":[\"$undefined\",\"Get Help\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-1 flex-col gap-y-0.5\",\"children\":[[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/get-help/legal-and-compliance\",\"pathname\":\"get-help/legal-and-compliance\",\"descendants\":"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"null,\"children\":\"Legal \u0026 Compliance\"}]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L2c\",null,{\"href\":\"/get-help/previous-libraries-and-components\",\"pathname\":\"get-help/previous-libraries-and-components\",\"descendants\":null,\"children\":\"Previous libraries and components\"}]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"relative z-[2] lg:absolute bottom-0 right-0 left-0 flex flex-col pointer-events-none lg:-left-5\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-sm text-dark/8 pr-0 pt-2 pb-2 mt-4 mb-4 bg-[size:250%_125%] bg-[position:50%_35%] bg-[radial-gradient(farthest-side_at_50%_-70%,_var(--tw-gradient-stops))] from-transparent from-60% to-light to-80% lg:pr-2 lg:mt-0 lg:mb-0 lg:mr-2 lg:pt-16 dark:text-light/6 dark:dark:to-dark\",\"children\":[\"$\",\"a\",null,{\"target\":\"_blank\",\"href\":\"https://www.gitbook.com/?utm_source=content\u0026utm_medium=trademark\u0026utm_campaign=ybPdpmLltPkzGFvz7m8A\",\"className\":\"font-semibold ring-1 ring-inset ring-dark/2 pointer-events-auto transition-colors flex flex-row items-center hover:bg-dark/1 bg-light dark:bg-dark px-4 py-4 rounded-lg straight-corners:rounded-none hover:backdrop-blur-sm lg:ring-0 tracking-[-0.016em] dark:hover:bg-light/1 dark:ring-light/1 border border-dark/2 dark:border-light/2\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"gitbook\",\"className\":\"size-5 mr-3\"}],\"Powered by GitBook\"]}]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 flex flex-col\",\"children\":[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(site)\",\"children\",\"(content)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]}]]}]}],null,[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L32\",null,{\"spaceId\":\"ybPdpmLltPkzGFvz7m8A\",\"revisionId\":\"agGDHBL2KzBlBPaLk8ad\",\"spaceTitle\":\"CARTO Documentation\",\"withAsk\":true,\"isMultiVariants\":false,\"pointer\":{\"siteId\":\"site_mOqvA\",\"spaceId\":\"ybPdpmLltPkzGFvz7m8A\",\"siteSectionId\":\"$undefined\",\"siteSpaceId\":\"sitesp_6kMLT\",\"siteShareKey\":\"$undefined\",\"organizationId\":\"zP3LT2Qhlb5jPWQCfWV3\",\"revisionId\":\"$undefined\",\"changeRequestId\":\"$undefined\"}}]}]],[[\"$\",\"$L33\",null,{}],[[\"$\",\"script\",\"https://integrations.gitbook.com/v1/integrations/googleanalytics/installations/25c0f4287d6076c5f9832ee6b32aef45ce0cde8eb60125252d9b3753588ba0b8/sites/site_mOqvA/script.js?version=149.0\",{\"async\":true,\"src\":\"https://integrations.gitbook.com/v1/integrations/googleanalytics/installations/25c0f4287d6076c5f9832ee6b32aef45ce0cde8eb60125252d9b3753588ba0b8/sites/site_mOqvA/script.js?version=149.0\",\"nonce\":\"YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2\"}]]],[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L34\",null,{\"privacyPolicy\":\"https://carto.com/privacy/\"}]}],[\"$\",\"script\",null,{\"nonce\":\"YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2\",\"suppressHydrationWarning\":true,\"data-cfasync\":\"false\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n document.addEventListener(\\\"DOMContentLoaded\\\", () =\u003e {\\n if (Array.from(document.scripts).find(script =\u003e script.src.includes('rocket-loader.min.js'))) {\\n const alert = document.createElement('div');\\n alert.className = 'p-4 mb-4 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400 mt-8 mx-8';\\n alert.innerHTML = `\\n \u003cstrong\u003eError in site configuration:\u003c/strong\u003e\\n It looks like ${window.location.hostname} has been incorrectly configured in Cloudflare. This may lead to unexpected behavior or issues with the page loading. If you are the owner of this site, please refer to \u003ca href=\\\"https://docs.gitbook.com/published-documentation/custom-domain/configure-dns#are-you-using-cloudflare\\\" class=\\\"underline\\\"\u003eGitBook's documentation\u003c/a\u003e for steps to fix the problem.\\n `;\\n\\n document.body.prepend(alert);\\n }\\n });\"}}],null]}]\n28:[\"$\",\"div\",null,{\"className\":\"headerLinks_containerHeaderlinks__GUgiv flex justify-end items-center gap-x"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-2.5 mr-2.5 lg:gap-x-5 lg:mr-2.5 *:max-w-56 z-20\",\"children\":[[\"$L35\",\"$L36\",\"$L37\",\"$L38\"],[\"$\",\"div\",null,{\"className\":\"headerLinks_linkEllipsis__Z01IN items-center z-20\",\"children\":[\"$\",\"div\",null,{\"className\":\"group/dropdown relative flex\",\"children\":[[\"$\",\"button\",null,{\"className\":\"px-1 text-header-link-500 hover:text-header-link-400\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"More\"}],[\"$\",\"$L31\",null,{\"icon\":\"ellipsis\",\"className\":\"opacity-6 size-3 ms-1\"}]]}],[\"$\",\"div\",null,{\"tabIndex\":-1,\"role\":\"menu\",\"aria-orientation\":\"vertical\",\"aria-labelledby\":\":S1:\",\"className\":\"w-52 max-h-56 flex absolute top-full left-0 z-20 origin-top-left invisible transition-opacity duration-1000 group-hover/dropdown:visible group-focus-within/dropdown:visible -translate-x-48 md:translate-x-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"mt-2 w-full bg-light rounded-lg straight-corners:rounded-sm p-2 shadow-1xs overflow-auto ring-1 ring-dark/1 ring-opacity-8 focus:outline-none dark:bg-dark dark:ring-light/2\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\"]}]}]}]]}]}]]}]\n2d:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L25\",null,{\"href\":\"https://academy.carto.com\",\"className\":\"flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2\",\"children\":[\"$undefined\",\"CARTO Academy\",[\"$\",\"$L31\",null,{\"icon\":\"arrow-up-right-from-square\",\"className\":\"size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [\u0026\u003epath]:transition-[opacity] [\u0026\u003epath]:[opacity:0.40] group-hover:[\u0026\u003epath]:[opacity:1]\"}]]}]}]\n2e:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L25\",null,{\"href\":\"https://deck.gl/docs\",\"className\":\"flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2\",\"children\":[\"$undefined\",\"@deck.gl Reference\",[\"$\",\"$L31\",null,{\"icon\":\"arrow-up-right-from-square\",\"className\":\"size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [\u0026\u003epath]:transition-[opacity] [\u0026\u003epath]:[opacity:0.40] group-hover:[\u0026\u003epath]:[opacity:1]\"}]]}]}]\n2f:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L25\",null,{\"href\":\"https://deck.gl/docs/api-reference/carto/overview\",\"className\":\"flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2\",\"children\":[\"$undefined\",\"@deck.gl/carto Reference\",[\"$\",\"$L31\",null,{\"icon\":\"arrow-up-right-from-square\",\"className\":\"size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [\u0026\u003epath]:transition-[opacity] [\u0026\u003epath]:[opacity:0.40] group-hover:[\u0026\u003epath]:[opacity:1]\"}]]}]}]\n30:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L25\",null,{\"href\":\"https://api-docs.carto.com\",\"className\":\"flex justify-start items-center gap-3 pl-5 pr-1.5 py-1.5 text-sm transition-colors duration-100 text-dark/8 rounded-md straight-corners:rounded-none dark:text-light/7 font-normal hover:bg-dark/1 dark:hover:bg-light/2\",\"children\":[\"$undefined\",\"CARTO APIs Reference\",[\"$\",\"$L31\",null,{\"icon\":\"arrow-up-right-from-square\",\"className\":\"size-3 mr-1 mt-1 place-self-start shrink-0 text-current transition-colors [\u0026\u003epath]:transition-[opacity] [\u0026\u003epath]:[opacity:0.40] group-hover:[\u0026\u003epath]:[opacity:1]\"}]]}]}]\n35:[\"$\",\"$L25\",null,{\"href\":\"https://carto.com\",\"className\":\"overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Home\"}],null]}]\n36:[\"$\",\"$L25\",null,{\"href\":\"https://academy.carto.com\",\"className\":\"overflow-hidden text-sm lg:text-base flex flex-row items-center white"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"space-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Academy\"}],null]}]\n37:[\"$\",\"$L25\",null,{\"href\":\"https://app.carto.com\",\"className\":\"overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Login\"}],null]}]\n38:[\"$\",\"$L25\",null,{\"href\":\"https://app.carto.com/signup\",\"className\":\"overflow-hidden text-sm lg:text-base flex flex-row items-center whitespace-nowrap dark:hover:text-light text-header-link-500 hover:text-header-link-400\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"Try for free\"}],null]}]\n39:[\"$\",\"$L25\",null,{\"href\":\"https://carto.com\",\"prefetch\":false,\"className\":\"flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2\",\"children\":\"Home\"}]\n3a:[\"$\",\"$L25\",null,{\"href\":\"https://academy.carto.com\",\"prefetch\":false,\"className\":\"flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2\",\"children\":\"Academy\"}]\n3b:[\"$\",\"$L25\",null,{\"href\":\"https://app.carto.com\",\"prefetch\":false,\"className\":\"flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2\",\"children\":\"Login\"}]\n3c:[\"$\",\"$L25\",null,{\"href\":\"https://app.carto.com/signup\",\"prefetch\":false,\"className\":\"flex flex-row items-center text-sm px-3 py-1 rounded straight-corners:rounded-sm hover:bg-dark/2 dark:hover:bg-light/2\",\"children\":\"Try for free\"}]\n3e:I[92083,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"PageFeedbackForm\"]\n3f:I[2554,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"Ad\"]\n40:I[46451,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"PreservePageLayout\"]\n41:\"$Sreact.fragment\"\n64:I[66819,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"4012\",\"static/chunks/4012-d5519c7c19347ff0.js\",\"7457\",\"static/chunks/app/(site)/layout-512d7fc9258aa558.js\"],\"DateRelative\"]\n65:I[70155,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"TrackPageView\"]\n66:I[50004,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"PageClientLayout\"]\n67:HL[\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1\",\"image\",{\"fetchPriority\":\"high\",\"imageSrcSet\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=1\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=2\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=3\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=1\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=2\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=3\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-7"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"85cfb265f75\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 768w\",\"imageSizes\":\"(max-width: 1024px) 128px, 192px\"}]\nf:[null,[\"$\",\"div\",null,{\"className\":\"flex flex-row-reverse justify-end\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"group/aside hidden xl:flex flex-col basis-56 grow-0 shrink-0 sticky py-8 break-anywhere lg:h-full h-[100vh] page-api-block:xl:max-2xl:z-[1] page-api-block:xl:max-2xl:backdrop-blur-md page-api-block:xl:max-2xl:fixed page-api-block:xl:max-2xl:right-8 page-api-block:xl:max-2xl:w-56 page-api-block:xl:max-2xl:bg-light-2/9 page-api-block:xl:max-2xl:rounded page-api-block:xl:max-2xl:h-auto page-api-block:xl:max-2xl:py-0 page-api-block:xl:max-2xl:mt-3 dark:page-api-block:xl:max-2xl:bg-dark-2/8 lg:max-h-[calc(100vh_-_4rem)] top-16 page-api-block:xl:max-2xl:top-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hidden page-api-block:xl:max-2xl:flex flex-row items-center gap-3 text-sm font-semibold px-2 py-2\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"bars\",\"className\":\"size-3\"}],\"On this page\"]}],[\"$\",\"div\",null,{\"className\":\"overflow-auto flex-1 flex flex-col gap-4 [\u0026::-webkit-scrollbar]:bg-transparent [\u0026::-webkit-scrollbar-thumb]:bg-transparent page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:group-hover/aside:flex\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":null,\"children\":\"$L3d\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-3 page-api-block:xl:max-2xl:px-3\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L3e\",null,{\"pageId\":\"p7GxYTrfpfsERBkyen7w\",\"className\":\"mt-2\"}]}],null,[\"$\",\"div\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"/~gitbook/pdf?page=p7GxYTrfpfsERBkyen7w\u0026only=yes\",\"className\":\"flex flex-row items-center text-sm text-dark/6 hover:text-primary py-2 dark:text-light/5\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"file-pdf\",\"className\":\"size-4 mr-1.5\"}],\"Export as PDF\"]}]}]]}]]}],[\"$\",\"$L3f\",null,{\"zoneId\":null,\"placement\":\"page.aside\",\"spaceId\":\"ybPdpmLltPkzGFvz7m8A\",\"siteAdsStatus\":\"$undefined\",\"ignore\":false,\"style\":\"mt-4\"}]]}],[[\"$\",\"main\",null,{\"className\":\"flex-1 relative py-8 lg:px-12 break-anywhere page-api-block:xl:max-2xl:pr-0 page-api-block:max-w-[1654px] page-api-block:mx-auto\",\"children\":[[\"$\",\"$L40\",null,{\"asFullWidth\":false}],null,[\"$\",\"header\",null,{\"className\":\"max-w-3xl mx-auto mb-6 space-y-3 page-api-block:ml-0\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-4xl font-bold flex items-center gap-4\",\"children\":[\"$undefined\",\"Integrate CARTO in your existing application\"]}],[\"$\",\"p\",null,{\"className\":\"text-lg text-dark-4 dark:text-light-4\",\"children\":\"Learn how to securely embed CARTO into your existing architecture providing fine-grained data access\"}]]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4\",\"children\":[[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mas"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"k:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"overview\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-i"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"mage:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"scaffolding-your-backend\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:coni"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"c-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"creating-a-m2m-oauth-client-in-carto\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(fr"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"om_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"coding-the-endpoint\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:con"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overf"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"low-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform a"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"nimate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"frontend-side-integration\",\"role\":\"status\",\"aria-busy\":tr"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ue,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 da"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rk:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretc"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"h bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"whats-next\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":t"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rue,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}]]}],\"children\":[\"$\",\"div\",null,{\"className\":\"[\u0026\u003e*+*]:mt-5 grid whitespace-pre-wrap\",\"children\":[[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"When you build a solution from scratch using CARTO you can choose between the three different \"}]],\"$L42\",[[\"$\",\"$41\",\"0\",{\"children\":\" to secure your application. However, in many other cases the starting point is an existing application with its own login system where you want to add a geospatial component, such as a map visualization.\"}]]]}],[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"In this guide you will learn how to integrate CARTO with an existing application that has its own login system, implementing the machine-to-machine authentication in order to provide fine-grained data access to the end users.\"}]]]}],[\"$\",\"h2\",null,{\"id\":\"overview\",\"className\":\"text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"$\",\"a\",null,{\"href\":\"#overview\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Overview\"}]]]}]]}],[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"In this guide, the ACME company has decided to add maps to their existing application and CARTO will be the platform used for it. They have two important requirements:\"}]]]}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"ACME wants to keep its own login system.\"}]]]}]]}]]}],[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The maps will show different data based on the user, in this case, based on the user's group.\"}]]]}]]}]]}]]}],[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"With this in mind, we are going to develop a backend endpoint in order to generate a CARTO\"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\" \"}]}]],\"$L43\",[[\"$\",\"$41\",\"0\",{\"children\":\" with only access to the data the user has permission for in our application, the frontend application will use that token to interact with the rest of the CARTO APIs.\"}]]]}],[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The backend is responsible for generating an API Access Token without exceding the actual permissions of the users.\"}]]]}]]}]]}]}],[\"$\",\"div\",null,{\"className\":\"w-ful"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"l mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center\",\"children\":[\"$L44\"]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The data used for this guide will be the table \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"retail_stores \"}]}],[\"$\",\"$41\",\"2\",{\"children\":\"contains all the retails in the US, It's available at \"}],[\"$\",\"$41\",\"3\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"carto-demo-data.demo_tables.retail_stores\"}]}],[\"$\",\"$41\",\"4\",{\"children\":\".\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center\",\"children\":[\"$L45\"]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"ch"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ildren\":\"In our demo application we will have two users:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L46\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The user in the group of \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"BOSTON\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" will only see the stores in the city of Boston, the user in group \"}],[\"$\",\"$41\",\"3\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"NEW YORK\"}]}],[\"$\",\"$41\",\"4\",{\"children\":\" will be limited to New York.\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"scaffolding-your-backend\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"h2\",null,{\"id\":\"scaffolding-your-backend\",\"className\":\"text-3xl font-semibo"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ld group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#scaffolding-your-backend\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Scaffolding your backend\"}]]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Since this guide needs a backend and a frontend application, the first thing we have to do is create the structure to store the code for these components. Let's start with the backend side and install the needed dependencies to work with \"}]],\"$L47\",[[\"$\",\"$41\",\"0\",{\"children\":\":\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L48\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0d"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"eg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"We are going to use \"}]],\"$L49\",[[\"$\",\"$41\",\"0\",{\"children\":\" on both the backend and frontend sides, so we need to install the required dependencies:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L4a\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Now, the next step is to uncomment the following line in the file (it specifies an output folder for all emitted files):\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L4b\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"As an optional step, you would like to add to have extra help to develop by restarting your application automatically when there are changes in your code. To do that, install the following dependencies:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L4c\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"And add the following content to the file \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\"package.json:\"}]}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90de"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"g,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L4d\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Now, just typing \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"npm run dev\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" the server will run up and you can see the changes in the code immediately.\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"creating-a-m2m-oauth-client-in-carto\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"h2\",null,{\"id\":\"creating-a-m2m-oauth-client-in-carto\",\"className\":\"text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#creating-a-m2m-oauth-client-in-carto\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Creating a M2M OAuth Client in CARTO\"}]]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"In order to use the CARTO APIs you need to authenticate your requests. For a backend-side application, the recommended approach is to do so by creating a \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"Machine to Machine OAuth Client \"}]}],[\"$\",\"$41\",\"2\",{\"children\":\"(\"}]],\"$L4e\",[[\"$\",\"$41\",\"0\",{\"children\":\"). To create this OAuth Client, you need to go to \"}]],\"$L4f\",[[\"$\",\"$41\",\"0\",{\"children\":\" -\u003e Developers -\u003e Credentials -\u003e Create New -\u003e M2M OAuth Client\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center\",\"children\":[\"$L50\"]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"For development purposes, you can set the URL for localhost in the \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\"App URL\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" and \"}],[\"$\",\"$41\",\"3\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\"Application Login URI. \"}]}],[\"$\",\"$41\",\"4\",{\"children\":\"Just set the URL \"}],[\"$\",\"$41\",\"5\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"https://127.0.0.1:8000\"}]}],[\"$\",\"$41\",\"6\",{\"children\":\" in both fields.\"}]]]}]}]]}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Once the application is created, you will have to get the \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\"Client ID\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" and the \"}],[\"$\",\"$41\",\"3\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\"Client Secret \"}]}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"coding-the-endpoint\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-["])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"h2\",null,{\"id\":\"coding-the-endpoint\",\"className\":\"text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#coding-the-endpoint\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Coding the endpoint\"}]]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Now, we have to create a couple of endpoints: a basic login endpoint to authenticate the user and an endpoint to generate the CARTO token.\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"For \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"the login endpoint\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\", the responsibilities will be:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"ul\",null,{\"className\":\"space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Check the login and password.\"}]]]}]}]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-squar"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"e from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Get the group of the user and create a JWT token.\"}]]]}]}]]}]]}]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"In a real production environment, you should already have a login endpoint. \"}]]]}]}]]}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"While the endpoint to \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"get the CARTO token\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" will do:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"ul\",null,{\"className\":\"space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Validate the JWT in the Authentication header.\"}]]]}]}]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1," overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Extract the group and create the token via \"}]],\"$L51\",[[\"$\",\"$41\",\"0\",{\"children\":\".\"}]]]}]}]]}]]}]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Replace the file \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-orange-500\",\"children\":\"index.ts\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" with the following content:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L52\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform ani"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"mate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Create a \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-blue-500\",\"children\":\".env\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" file located in the root of the backend with the following content:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L53\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The most important function involved in the endpoint is the one called \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"getAPIAccessTokenForGroup\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" that owns the logic to interact with CARTO in order to get a valid token for the frontend side. Let's see what its implementation looks like:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_line"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ar_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L54\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Tokens are limited based on the quota of your plan. In a production environment, you should implement a mechanism to create only the tokens that you need:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",n"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ull,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"ul\",null,{\"className\":\"space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"API Access Tokens: \"}]}],[\"$\",\"$41\",\"1\",{\"children\":\"avoid creating two tokens with the same grants for the same user.\"}]]]}]}]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_ca"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"lc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"OAuth Access Tokens:\"}]}],[\"$\",\"$41\",\"1\",{\"children\":\" OAuth Access Tokens are valid for 24 hours, so you should avoid creating more than one token per day per application/API instance.\"}]]]}]}]]}]]}]}]]}]}]]}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"The function will take one parameter indicating the group in order to create the right token. The first thing to do is to get the environment variables to interact with the CARTO API. The next step is to obtain an\"}]],\"$L55\",[[\"$\",\"$41\",\"0\",{\"children\":\" to deal with the rest of the APIs. To get this first token you can see in the line 7 to 13 how to use the \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-da"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rk/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"Client ID\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" and the \"}],[\"$\",\"$41\",\"3\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"Client Secret\"}]}],[\"$\",\"$41\",\"4\",{\"children\":\" to make the request and get this token. Once, you have a valid OAuth Access Token, the last step is to create an \"}]],\"$L56\",[[\"$\",\"$41\",\"0\",{\"children\":\" for the specific grants. In this case, the grants include the permission to execute a specific SQL query to get all the retail for a specific city.\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"That means, that once the token is created, the client using this token only will have permission to execute the defined query and get only the data declared in the grants.\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Finally, once the code for the backend is ready you can run the server just by typing in your terminal:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_5"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"0%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L57\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"If your application requires dynamic queries, you can use \"}]],\"$L58\",[[\"$\",\"$41\",\"0\",{\"children\":\" in \"}]],\"$L59\",[[\"$\",\"$41\",\"0\",{\"children\":\" and \"}]],\"$L5a\",[[\"$\",\"$41\",\"0\",{\"children\":\" API. \"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_a"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"t_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"SELECT * FROM carto-demo-data.demo_tables.retail_stores \"}]}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":[\"$\",\"code\",null,{\"className\":\"py-[1px] px-1.5 min-w-[1.625rem] inline-flex justify-center items-center ring-1 ring-inset ring-dark/1 bg-dark/[0.06] rounded text-dark/8 dark:ring-light/1 dark:bg-light/1 dark:text-light/7 text-[.875em] leading-[calc(max(1.20em,1.25rem))]\",\"children\":\"WHERE city = 'BOSTON' AND storetype = @storetype\"}]}]]]}]}]]}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"frontend-side-integration\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"h2\",null,{\"id\":\"frontend-side-integration\",\"className\":\"text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opacity-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#frontend-side-integration\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Frontend side integration\"}]]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"At this point, our backend is ready to generate tokens for our users. In the following code you can see an example of a frontend application that does:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"ul\",null,{\"className\":\"space-y-2 w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center j"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ustify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Login.\"}]]]}]}]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--t"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"w-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Call the previous endpoint to get an \"}]],\"$L5b\",[[\"$\",\"$41\",\"0\",{\"children\":\" with the permissions limited to the user.\"}]]]}]}]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"li\",null,{\"className\":\"leading-normal flex items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-base leading-normal flex items-center justify-center mr-1 min-h-[1lh] min-w-6 text-dark/6 dark:text-light/5\",\"children\":[\"$\",\"div\",null,{\"className\":\"before:font-var before:content-[--pseudoBefore--content]\",\"style\":{\"--pseudoBefore--content\":\"'•'\",\"--font-family\":\"Arial\",\"fontSize\":\"min(1.5em, 24px)\",\"lineHeight\":1}}]}],[\"$\",\"div\",null,{\"className\":\"space-y-2 flex flex-col flex-1\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl min-h-[1lh] flip-heading-hash [\u0026:is(h2)\u003ediv]:mt-0 [\u0026:is(h3)\u003ediv]:mt-0 [\u0026:is(h4)\u003ediv]:mt-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Use the token to call CARTO APIs.\"}]]]}]}]]}]]}]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_9"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"0deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"To run this, first, you need to clone the project:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L5c\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Edit the \"}],[\"$\",\"$41\",\"1\",{\"children\":[\"$\",\"span\",null,{\"className\":\"text-orange-500\",\"children\":\".env\"}]}],[\"$\",\"$41\",\"2\",{\"children\":\" file at set the VITE_API_BASE_URL:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L5d\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(f"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"rom_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"hint p-4 transition-colors rounded-md straight-corners:rounded-none bg-dark-1/1 border-dark/3 dark:bg-light/1 dark:border-light/3 [\u0026_.can-override-bg]:bg-dark-1/2 [\u0026_.can-override-text]:text-dark dark:[\u0026_.can-override-bg]:bg-light/2 dark:[\u0026_.can-override-text]:text-light w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-row\",\"children\":[[\"$\",\"$L31\",null,{\"icon\":\"circle-info\",\"className\":\"size-5 mr-4 mt-0.5 leading-normal text-primary-500 dark:text-primary-400\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4 [\u0026_.hint]:border [\u0026_pre]:border\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl [\u0026_a]:text-primary-500 [\u0026_a:hover]:text-primary-600 dark:[\u0026_a]:text-primary-400 dark:[\u0026_a:hover]:text-primary-300 flip-heading-hash\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"If you have a different region, you need to modify VITE_CARTO_API_BASE_URL.\"}]]]}]}]]}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Run:\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",nu"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ll,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L5e\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"\"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-full aspect-video [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_96px_96px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"div\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0 flex flex-row gap-3 justify-center\",\"children\":[\"$L5f\"]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"whats-next\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"h2\",null,{\"id\":\"whats-next\",\"className\":\"text-3xl font-semibold group relative grid w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-area-1-1 relative -ml-6 w-7 border-0 opaci"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ty-0 group-hover:opacity-[0] group-focus:opacity-[0] md:group-hover:md:opacity-[1] md:group-focus:md:opacity-[1] mt-[1em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#whats-next\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start dark:text-light/3 dark:shadow-none dark:ring-0 leading-tight\",\"children\":[\"$\",\"$L31\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1lh] transition-colors text-transparent group-hover:text-dark/6 dark:group-hover:text-light/5 lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] mt-[1em]\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"What's next?\"}]]]}]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"All the code for this guide is available on \"}]],\"$L60\",[[\"$\",\"$41\",\"0\",{\"children\":\". \"}]]]}]}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_48px_48px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":\"$L61\"}],[\"$\",\"$29\",null,{\"fallback\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-dark/2 overflow-hidden relative grid dark:ring-light/1 rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-dark-4/4 dark:bg-light-3/1 grid grid-area-1-1 overflow-hidden [mask:conic-gradient(from_90deg_at_1px_1px,_#0000_90deg,_#0003_0)_calc(50%+1px)_calc(0%+47px)_/_12px_12px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-dark-4 to-transparent grid-area-1-1 relative origin-[50%_50%] top-[50%] self-stretch bg-transparent will-change-transform animate-[rotateLoop_2s_linear_infinite] [background-image:conic-gradient(from_-90deg_at_50%_50%,_var(--tw-gradient-stops)_0deg,_var(--tw-gradient-stops)_90deg,_var(--tw-gradient-stops)_280deg)] dark:from-light-4/6\"}]}]}]}],\"children\":[\"$\",\"p\",null,{\"className\":\"w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"We recommend you to visit \"}]],\"$L62\",[[\"$\",\"$41\",\"0\",{\"children\":\" to learn more about the different visualizations you can create using deck.gl. There are "])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"many examples in our \"}]],\"$L63\",[[\"$\",\"$41\",\"0\",{\"children\":\" that might be useful to improve your application!\"}]]]}]}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row mt-6 gap-2 max-w-3xl mx-auto page-api-block:ml-0\",\"children\":[[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/guides/visualize-massive-datasets\",\"className\":\"group text-sm p-2.5 flex gap-4 flex-1 flex-row-reverse items-center pl-4 border border-dark/3 rounded straight-corners:rounded-none hover:border-primary/6 dark:border-light/2 text-pretty dark:hover:border-primary-300/4 md:p-4 md:text-base\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex flex-col flex-1 text-right\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs\",\"children\":\"Previous\"}],[\"$\",\"span\",null,{\"className\":\"text-dark dark:text-light/6 group-hover:text-primary line-clamp-2\",\"children\":\"Visualize massive datasets\"}]]}],[\"$\",\"$L31\",null,{\"icon\":\"chevron-left\",\"className\":\"hidden size-4 text-dark/5 group-hover:text-primary dark:text-light/4 md:block\"}]]}],[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/guides/use-boundaries-in-your-application\",\"className\":\"group text-sm p-2.5 flex gap-4 flex-1 flex-row items-center pr-4 border border-dark/3 rounded straight-corners:rounded-none hover:border-primary/6 dark:border-light/2 text-pretty dark:hover:border-primary-300/4 md:p-4 md:text-base\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex flex-col flex-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs\",\"children\":\"Next\"}],[\"$\",\"span\",null,{\"className\":\"text-dark dark:text-light/6 group-hover:text-primary line-clamp-2\",\"children\":\"Use Boundaries in your application\"}]]}],[\"$\",\"$L31\",null,{\"icon\":\"chevron-right\",\"className\":\"hidden size-4 text-dark/5 group-hover:text-primary dark:text-light/4 md:block\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-row items-center mt-6 max-w-3xl mx-auto page-api-block:ml-0\",\"children\":[[\"$\",\"p\",null,{\"className\":\"flex-1 text-sm text-dark/6 dark:text-light/5\",\"children\":[[[\"$\",\"$41\",\"string-0\",{\"children\":\"Last updated \"}],[\"$\",\"$41\",\"arg-0\",{\"children\":[\"$\",\"$L64\",null,{\"value\":\"2024-05-09T11:41:58.028Z\"}]}]],\"\"]}],null]}]]}],[\"$\",\"$L65\",null,{\"sitePointer\":{\"siteId\":\"site_mOqvA\",\"spaceId\":\"ybPdpmLltPkzGFvz7m8A\",\"siteSectionId\":\"$undefined\",\"siteSpaceId\":\"sitesp_6kMLT\",\"siteShareKey\":\"$undefined\",\"organizationId\":\"zP3LT2Qhlb5jPWQCfWV3\",\"revisionId\":\"$undefined\",\"changeRequestId\":\"$undefined\"},\"spaceId\":\"ybPdpmLltPkzGFvz7m8A\",\"pageId\":\"p7GxYTrfpfsERBkyen7w\",\"apiHost\":\"https://api.gitbook.com\"}]]]}],[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L66\",null,{\"withSections\":false}]}]]\n68:Tb06,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=1\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=2\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=3\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=128\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files."])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=1\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=2\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=3\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1 768w26:[\"$\",\"img\",null,{\"alt\":\"Logo\",\"style\":{},\"loading\":\"$undefined\",\"fetchPriority\":\"high\",\"className\":\"block dark:hidden max-w-[8rem] lg:max-w-[12rem] max-h-[3rem] rounded straight-corners:rounded-sm overflow-hidden object-contain object-left\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FZVTxzfWkahJnci9PfduI%252Fcartologodocumentation.png%3Falt%3Dmedia%26token%3Db28d0162-6302-4a47-ace4-785cfb265f75\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=4296e2e5\u0026sv=1\",\"srcSet\":\"$68\",\"sizes\":\"(max-width: 1024px) 128px, 192px\",\"width\":504,\"height\":80}]\n69:Tb36,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=128\u0026dpr=1\u0026quality=100\u0026sign=bba21d6\u0026sv=1 128w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=128\u0026dpr=2\u0026quality=100\u0026sign=bba21d6\u0026sv=1 256w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=128\u0026dpr=3\u0026quality=100\u0026sign=bba21d6\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=128\u0026dpr=4\u0026quality=100\u0026sign=bba21d6\u0026sv=1 512w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=192\u0026dpr=1\u0026quality=100\u0026sign=bba21d6\u0026sv=1 192w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a8"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"1cf2a-2776-41ee-b22c-c5c537705e55\u0026width=192\u0026dpr=2\u0026quality=100\u0026sign=bba21d6\u0026sv=1 384w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=192\u0026dpr=3\u0026quality=100\u0026sign=bba21d6\u0026sv=1 576w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=bba21d6\u0026sv=1 768w27:[\"$\",\"img\",null,{\"alt\":\"Logo\",\"style\":{},\"loading\":\"lazy\",\"fetchPriority\":\"low\",\"className\":\"hidden dark:block max-w-[8rem] lg:max-w-[12rem] max-h-[3rem] rounded straight-corners:rounded-sm overflow-hidden object-contain object-left\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Flogo%252FA4VK5ytUquzZXnOeIzbt%252FCARTO-Doc-Header-Image%25402x.png%3Falt%3Dmedia%26token%3D0a81cf2a-2776-41ee-b22c-c5c537705e55\u0026width=192\u0026dpr=4\u0026quality=100\u0026sign=bba21d6\u0026sv=1\",\"srcSet\":\"$69\",\"sizes\":\"(max-width: 1024px) 128px, 192px\",\"width\":1008,\"height\":160}]\n6a:I[64355,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"ScrollSectionsList\"]\n6b:I[17370,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"6150\",\"static/chunks/6150-57a79db9099e4be8.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"8510\",\"static/chunks/8510-2f41b25832a6d317.js\",\"8325\",\"static/chunks/8325-5bb891172c79071a.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"9028\",\"static/chunks/9028-bdf215f649fe02e9.js\",\"4848\",\"static/chunks/app/(site)/(content)/%5B%5B...pathname%5D%5D/page-bb35daef9f1179e4.js\"],\"CopyCodeButton\"]\n3d:[\"$\",\"$L6a\",null,{\"sections\":[{\"id\":\"overview\",\"title\":\"Overview\",\"depth\":1},{\"id\":\"scaffolding-your-backend\",\"title\":\"Scaffolding your backend\",\"depth\":1},{\"id\":\"creating-a-m2m-oauth-client-in-carto\",\"title\":\"Creating a M2M OAuth Client in CARTO\",\"depth\":1},{\"id\":\"coding-the-endpoint\",\"title\":\"Coding the endpoint\",\"depth\":1},{\"id\":\"frontend-side-integration\",\"title\":\"Frontend side integration\",\"depth\":1},{\"id\":\"whats-next\",\"title\":\"What's next?\",\"depth\":1}]}]\n42:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"authentication strategies\"}]]]}]\n43:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/api-access-tokens\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"API Access Token\"}]]]}]\n47:[\"$\",\"$L25\",null,{\"href\":\"https://expressjs.com/\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Express\"}]]]}]\n49:[\"$\",\"$L25\",null,{\"href\":\"https://www.typescriptlang.org/\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\",{\"children\":\"Typescript\"}]]]}]\n4e:[\"$\",\"$L25\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/m2m-oauth-clients\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"M2M OAuth Client\"}]]]}]\n4f:[\"$\",\"$L25\",null,{\"href\":\"https://app.carto.com\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"CARTO Workspace\"}]]]}]\n51:[\"$\",\"$L25\",null,{\"href\":\"https://api-docs.carto.com/#6977be37-183c-40a5-8442-386d1dcb47d9\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"CARTO API\"}]]]}]\n55:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/oauth-access-tokens\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\" OAuth Access Token\"}]]]}]\n56:[\"$\",\"$L25\",null,{\"href\":\"/carto-user-manual/developers/managing-credentials/api-access-tokens\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"API Access Token\"}]]]}]\n58:[\"$\",\"$L25\",null,{\"href\":\"https://api-docs.carto.com/#3f1407e6-8c40-43c3-a8f8-21ae7d3618b6\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"query parameters\"}]]]}]\n59:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/apis#sql\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"SQL\"}]]]}]\n5a:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/apis#maps\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Maps\"}]]]}]\n5b:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/key-concepts/authentication-methods/api-access-tokens\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"API Access Token\"}]]]}]\n5d:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"6b55e9d37ca24660b4fadf501d220dc2\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"6b55e9d37ca24660b4fadf501d220dc2\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\"# API Base URL (copy th"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"is from CARTO Workspace -\u003e Developers)\"],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md highlighted bg-light-3 dark:bg-dark-3\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\"VITE_CARTO_API_BASE_URL=https://gcp-us-east1.api.carto.com\"],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\"# Custom company backend\"],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\"VITE_COMPANY_API_BASE_URL=http://localhost:8000\"],null]}]]}]]}]}]]}]\n60:[\"$\",\"$L25\",null,{\"href\":\"https://github.com/CartoDB/carto-for-developers-guides/tree/master/guides/integrate-existing-app\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"GitHub\"}]]]}]\n62:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/carto-for-deck.gl\",\"children\":\"Visualization with deck.gl\",\"className\":\"underline underline-offset-2 decoration-primary/6 text-primary hover:text-primary-700 transition-colors\"}]\n63:[\"$\",\"$L25\",null,{\"href\":\"/carto-for-developers/examples\",\"className\":\"underline underline-offset-2 text-primary hover:text-primary-700 transition-colors \",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"gallery\"}]]]}]\n46:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"6436c0da5fbb4705816ff411262be6cb\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:r"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"6436c0da5fbb4705816ff411262be6cb\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"{\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"username\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"user.boston@acme.com\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"password\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"boston\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"group\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"BOSTON\\\"\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"},\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"{\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"username\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"user.ny@acme.com\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.h"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ighlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"password\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"ny\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"group\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"NEW YORK\\\"\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"} \"}]],null]}]]}]]}]}]]}]\n48:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"8e77876e995e41c9b31ed52852721e58\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"8e77876e995e41c9b31ed52852721e58\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"mkdir\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"backend\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"backend\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"init\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"--yes\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"install\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-fore"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"dotenv\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"cors\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"jsonwebtoken\"}]],null]}]]}]]}]}]]}]\n4a:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"9ebc9665826f4754adb57301c5c15a61\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"9ebc9665826f4754adb57301c5c15a61\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"i\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"-D\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"typescript\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"@types/express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"@types/node\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"@types/cors\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"@types/jsonwebtoken\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:roun"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npx\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"tsc\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"--init\"}]],null]}]]}]]}]}]]}]\n4b:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"75c45b63ff934c4f806506ece4981342\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"75c45b63ff934c4f806506ece4981342\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"outDir\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\": \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"./dist\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\",\"}]],null]}]]}]]}]}]]}]\n4c:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"7dffe863bc2c4c9480d216322c9a3ffb\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"7dffe863bc2c4c9480d216322c9a3ffb\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"install\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"-D\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"concurrently\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"nodemon\"}]],null]}]]}]]}]}]]}]\n4d:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"385a000d3c3944dbba80ece66834c130\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"385a000d3c3944dbba80ece66834c130\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"{\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,",{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"scripts\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"build\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"npx tsc\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"start\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"node dist/index.js\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"\\\"dev\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"\\\"c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"oncurrently \\\\\\\"npx tsc --watch\\\\\\\" \\\\\\\"nodemon -q dist/index.js\\\\\\\"\\\"\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"}\"}]],null]}]]}]]}]}]]}]\n52:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"aab380111c104fa1863dad6858dd051a\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"aab380111c104fa1863dad6858dd051a\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md highlighted bg-light-3 dark:bg-dark-3\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { Express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foregr"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ound)\"},\"children\":\" Request\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" Response } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'express'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" dotenv \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'dotenv'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" cors \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'cors'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" jwt \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'jsonwebtoken'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" fetch \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'node-fetch'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"dotenv\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".config\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"()\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"()\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"port\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"process\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"env\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"PORT\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"||\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"8000\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"jwtSecret\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"process\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"env\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"JWT_SECRET\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".use\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"express\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".json\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"())\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\"children\":\".use\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"cors\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"())\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"interface\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"LoginRequestBody\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" username\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" password\"}],[\"$\",\"span\",null,{\"style\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"}\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"interface\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"LoginResponseBody\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"}\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"interface\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"AccessApiTokenResponse\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transpare"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"nt [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" error\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" description\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"}\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:m"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"b-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// hard-coded users. Don't use this in production! This should come from an IdP or a database.\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"users\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" [{\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" username\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'user.boston@acme.com'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" password\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'boston'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 r"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ing-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" group\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'BOSTON'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" username\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'user.ny@acme.com'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:r"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ing-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" password\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'ny'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" group\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'NEW YORK'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" } \"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"]\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-c"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"hild\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// This endpoint simulates a login system. It checks the credentials and returns a JWT token\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// with the user group as a claim.\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".post\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'/login'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"async\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (req\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Request\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"sp"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"an\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Response\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\") \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\u003e\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"username\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"password\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"req\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".body \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"LoginRequestBody\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"user\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"users\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".find\"}],[\"$\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"((u) \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\u003e\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"u\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".username \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"===\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" username)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"if\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"!\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"user \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"||\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"user\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".password \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"!==\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" password) {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".status\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"401\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\")\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".send\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"({ \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'error'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Invalid credentials'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"return\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",n"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ull,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"loginToken\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"jwt\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".sign\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"({ group\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"user\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".group }\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" jwtSecret\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { expiresIn\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'1h'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"loginResponse\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" loginToken } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"LoginResponseBody\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlight"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ed)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".send\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(loginResponse)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"})\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// This endpoint returns a CARTO API Access Token for the user group. The token will be used\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// to query the tables for the city of the user.\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".post\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'/carto-token'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"async\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (req\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Request\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Response\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\") \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\u003e\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"try\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",nul"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"l,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Get the token from the Authorization header with Bearer prefix\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"authHeader\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"req\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"headers\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".authorization \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:r"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"loginToken\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"authHeader\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".replace\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Bearer '\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"''\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\")\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Decode the token to get the group\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"colo"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"r\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"tokenGroup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"jwt\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".verify\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(loginToken\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" jwtSecret) \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { group\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"await\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"getAPIAccessTokenForGroup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"tokenGroup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".group)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"childr"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"en\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"response\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" city\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"tokenGroup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".group } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"LoginResponseBody\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".send\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(response)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"catch\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (error) {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,")_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"console\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".log\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(error)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"res\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".status\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"401\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\")\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".send\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"({ \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'error'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Invalid token'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"})\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"app\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".listen\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(port\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" () \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\u003e\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"console\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".log\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`⚡️[server]: Server is running at http://localhost:\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"$${\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"port\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"}\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\")\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-no"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ne [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"})\"}]],null]}]]}]]}]}]]}]\n53:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"83f12d60020a49ca97b3506450550ca6\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"83f12d60020a49ca97b3506450550ca6\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"PORT\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"8000\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"# The JWT Secret to sign the JWT token\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"clas"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"sName\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"JWT_SECRET\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"PUT_YOUR_SECRET_HERE\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"# API Base URL (copy this from CARTO Workspace -\u003e Developers)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"CARTO_BASE_URL\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"PUT_YOUR_API_BASE_URL_HERE\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"# ClientID and Secret of your Machine to Machine Application\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"CARTO_CLIENT_ID\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",nul"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"l,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"PUT_YOUR_CLIENT_ID_HERE\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"CARTO_CLIENT_SECRET\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"PUT_YOUR_CLIENT_ID_HERE\"}]],null]}]]}]]}]}]]}]\n54:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"c84c3fc4c1e7414681c03a7525036599\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"c84c3fc4c1e7414681c03a7525036599\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line] whitespace-pre-wrap\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"async\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"function\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"getAPIAccessTokenForGroup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(group\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\")\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Promise\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"\u003c\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"\u003e {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"cartoBaseUrl\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"process\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"env\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"CARTO_BASE_URL\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"clientId\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,",{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"process\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"env\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"CARTO_CLIENT_ID\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"clientSecret\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"process\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"env\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"CARTO_CLIENT_SECRET\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Step 1: Get an OAuth Access Token using the clientId and clientSecret of a Machine to Machine Application.\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"accessTokenResponse\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"await\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"fetch\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'https://auth.carto.com/oauth/token'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" method\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'POST'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" headers\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Content-Type'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'application/x-www-form-urlencoded'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\" body: `grant_type=client_credentials\u0026client_id=${clientId}\u0026client_secret=${clientSecret}\u0026audience=carto-cloud-native-api`\"],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"access_token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"error\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" } \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"await\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"accessTokenResponse\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".json\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"() \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"as\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" { access_token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" error\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"string\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"if\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (error) {\"}]],\"\\n\"]}]]}],[\"$\",\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"console\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".log\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(error)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"throw\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"new\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Error\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(error)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" "])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"}\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Step 2: Generate an API Access Token for the logged user (with limited grants).\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"grants\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" [\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dar"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"k:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'connection_name'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'carto_dw'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'source'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`SELECT * FROM \\\\`carto-demo-data\\\\`.demo_tables.retail_stores WHERE city = @groupcity`"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" ]\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-li"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ght-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Call the tokens API using the OAuth Access Token from step 1.\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"const\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"accessApiTokenResponse\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"await\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"fetch\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"$${\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"cartoBaseUrl\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"}\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"/v3/tokens`\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\""])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,":\"var(--shiki-foreground)\"},\"children\":\" method\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'POST'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" headers\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Content-Type'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'application/json'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-tran"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"sparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'Authorization'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`Bearer \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"$${\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"access_token\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"}\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"`\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" body\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"JSON\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".stringify\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"({\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:m"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"b-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'grants'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" grants\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// Put here the referers of your frontend application in production\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'referers'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" []\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-punctuation)\"},\"children\":\",\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'allowed_apis'\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\":\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" [\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-comment)\"},\"children\":\"// 'sql', // Uncomment this line to allow SQL API calls\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string-expression)\"},\"children\":\"'maps'\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" ]\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" })\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[\" const { token, error: tokenError, description: tokenDescription } = await accessApiTokenResponse.json() as AccessApiTokenResponse\"],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"if\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" (tokenError) {\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-constant)\"},\"children\":\"console\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\".log\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(error)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.hig"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"hlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"throw\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"new\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"Error\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"(tokenError)\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" }\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"sp"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"an\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-keyword)\"},\"children\":\"return\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" token\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-right pr-3.5 rounded-l pl-2 sticky left-[-3px] bg-gradient-to-r from-80% from-light-2 to-transparent dark:from-dark-2 dark:to-transparent before:text-dark/5 before:content-[counter(line)] [counter-increment:line] dark:before:text-light/4\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\"}\"}]],null]}]]}]]}]}]]}]\n57:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"306b5a88cc4748b0abd5fd0e453ad911\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"306b5a88cc4748b0abd5fd0e453ad911\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"run\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"dev\"}]],null]}]]}]]}]}]]}]\n5c:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"chi"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ldren\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"9d526acae1f241a2ba787d1428de79fb\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"9d526acae1f241a2ba787d1428de79fb\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"git\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"clone\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"https://github.com/CartoDB/carto-for-developers-guides.git\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"carto-for-developers-guides/integrate-existing-app/frontend\"}]],null]}]]}]]}]}]]}]\n5e:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"1b9f0ac29a554563849969d5bc902ec3\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"co"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"de\",null,{\"id\":\"1b9f0ac29a554563849969d5bc902ec3\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"run\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"dev\"}]],null]}]]}]]}]}]]}]\n61:[\"$\",\"div\",null,{\"className\":\"group/codeblock grid grid-flow-col w-full mx-auto decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-start [grid-area:1/1] text-sm gap-2\",\"children\":null}],[\"$\",\"$L6b\",null,{\"codeId\":\"7521f1e11bd149418e5715a056e8194e\",\"style\":[\"group-hover/codeblock:opacity-[1]\",\"transition-opacity\",\"duration-75\",\"opacity-0\",\"text-xs\",\"[grid-area:2/1]\",\"z-[2]\",\"justify-self-end\",\"backdrop-blur-md\",\"leading-none\",\"self-start\",\"ring-1\",\"ring-dark/2\",\"text-dark/7\",\"bg-transparent\",\"rounded-md\",\"mr-2\",\"mt-2\",\"p-1\",\"hover:ring-dark/3\",\"dark:ring-light/2\",\"dark:text-light/7\",\"dark:hover:ring-light/3\"]}],[\"$\",\"pre\",null,{\"className\":\"[grid-area:2/1] relative overflow-auto bg-light-2 dark:bg-dark-2 border-light-4 dark:border-dark-4 hide-scroll rounded-md straight-corners:rounded-sm\",\"children\":[\"$\",\"code\",null,{\"id\":\"7521f1e11bd149418e5715a056e8194e\",\"className\":\"min-w-full inline-grid [grid-template-columns:auto_1fr] py-2 px-2 [counter-reset:line]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"git\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"clone\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"https://github.com/CartoDB/carto-for-developers-guides.git\"}]],\"\\n\"]}]]}],[\"$\",\"span\",null,{\"className\":\"grid [grid-template-columns:subgrid] col-span-2 relative ring-1 ring-transparent hover:ring-dark-4/5 hover:z-[1] dark:hover:ring-light-4/4 rounded [\u0026.highlighted:first-child]:rounded-t-md [\u0026.highlighted:first-child\u003e*]:mt-1 [\u0026.highlighted:last-child]:rounded-b-md [\u0026.highlighted:last-child\u003e*]:mb-1 [\u0026:only-child]:hover:ring-transparent [\u0026.highlighted]:rounded-none [\u0026:not(.highlighted)_+_.highlighted]:rounded-t-md [\u0026:not(.highlighted)_+_.highlighted\u003e"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"*]:mt-1 [\u0026.highlighted:has(+:not(.highlighted))]:rounded-b-md [\u0026.highlighted:has(+:not(.highlighted))\u003e*]:mb-1 [\u0026:not(.highlighted)_+_.highlighted:has(+:not(.highlighted))]:rounded-md\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"ml-3 block text-sm\",\"children\":[[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-foreground)\"},\"children\":\" \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"carto-for-developers-guides/integrate-existing-app\"}]],null]}]]}]]}]}]]}]\n16:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"name\":\"color-scheme\",\"content\":\"light\"}],[\"$\",\"meta\",\"2\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"3\",{\"children\":\"Integrate CARTO in your existing application | CARTO Documentation\"}],[\"$\",\"meta\",\"4\",{\"name\":\"description\",\"content\":\"Learn how to securely embed CARTO into your existing architecture providing fine-grained data access\"}],[\"$\",\"meta\",\"5\",{\"name\":\"generator\",\"content\":\"GitBook (575587e)\"}],[\"$\",\"meta\",\"6\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://docs.carto.com/carto-for-developers/guides/integrate-carto-in-your-existing-application\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"Integrate CARTO in your existing application | CARTO Documentation\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Learn how to securely embed CARTO into your existing architecture providing fine-grained data access\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image\",\"content\":\"https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fsocialpreview%2F4aOcZ2HFEMgtQX5Bfqwo%2FCARTO-Doc-Social-Media-v02-Hi-Res.png?alt=media\u0026token=31e180d8-fa03-4b9e-94f4-5e7fd111d984\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Integrate CARTO in your existing application | CARTO Documentation\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"Learn how to securely embed CARTO into your existing architecture providing fine-grained data access\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fsocialpreview%2F4aOcZ2HFEMgtQX5Bfqwo%2FCARTO-Doc-Social-Media-v02-Hi-Res.png?alt=media\u0026token=31e180d8-fa03-4b9e-94f4-5e7fd111d984\"}],[\"$\",\"link\",\"15\",{\"rel\":\"icon\",\"href\":\"https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Ficon%2FB3hACdII6yj7SY4T1JdW%2FCARTO%20Logo%20Marker%20Positive%402x.png?alt=media\u0026token=ec640053-0e92-4141-ada1-c04a628dc965\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Ficon%2FB3hACdII6yj7SY4T1JdW%2FCARTO%20Logo%20Marker%20Positive%402x.png?alt=media\u0026token=ec640053-0e92-4141-ada1-c04a628dc965\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: dark)\"}],[\"$\",\"meta\",\"17\",{\"name\":\"next-size-adjust\"}]]\ne:null\n6d:I[45343,[\"2634\",\"static/chunks/b5d5b83b-3d9186fb60556c53.js\",\"7609\",\"static/chunks/7609-ae1015bd89577747.js\",\"1281\",\"static/chunks/1281-411df876b32e19c2.js\",\"9505\",\"static/chunks/9505-a8f112b566ef7f41.js\",\"4531\",\"static/chunks/4531-b39a0af8c700f9ea.js\",\"4746\",\"static/chunks/4746-fcf448a964a3d7bb.js\",\"1285\",\"static/chunks/1285-2b0f91300e0c0b9a.js\",\"3902\",\"static/chunks/3902-19c217a299034164.js\",\"8280\",\"static/chunks/app/(site)/(content)/layout-6582afcac68599f9.js\"],\"ZoomImage\"]\n6c:HL[\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=4\u0026qual"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"ity=100\u0026sign=b78ae17\u0026sv=1\",\"image\",{\"fetchPriority\":\"high\",\"imageSrcSet\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=b78ae17\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=b78ae17\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=b78ae17\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=b78ae17\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=b78ae17\u0026sv=1 3072w\",\"imageSizes\":\"(max-width: 640px) 400px, 768px\"}]\n6f:HL[\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1\",\"image\",{\"fetchPriority\":\"low\",\"imageSrcSet\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 3072w\",\"imageSizes\":\"(max-width: 640px) 400px, 768px\"}]\n71:HL[\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv=1\",\"image\",{\"fetchPriority\":\"low\",\"imageSrcSet\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 3072w\",\"imageSizes\":\"(max-width: 640px) 400px, 768px\"}]\n73:HL[\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1\",\"image\",{\"fetchPriority\":\"low\",\"imageSrcSet\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=98d752a5\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=98d752a5\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=98d752a5\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b8"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"06d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=98d752a5\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1 3072w\",\"imageSizes\":\"(max-width: 640px) 400px, 768px\"}]\n6e:Tc6b,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=b78ae17\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=b78ae17\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=b78ae17\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=b78ae17\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=b78ae17\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=b78ae17\u0026sv=1 3072w44:[\"$\",\"picture\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto\",\"children\":[[\"$\",\"$L6d\",null,{\"alt\":\"\",\"style\":{\"maxWi"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"dth\":\"100%\",\"width\":\"$undefined\",\"height\":\"auto\"},\"loading\":\"$undefined\",\"fetchPriority\":\"high\",\"className\":\"block\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=b78ae17\u0026sv=1\",\"srcSet\":\"$6e\",\"sizes\":\"(max-width: 640px) 400px, 768px\",\"width\":4992,\"height\":2756}],null]}],[\"$\",\"figcaption\",null,{\"className\":\"text-sm text-center mt-2 text-dark/7 dark:text-light/7\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Architecture diagram of a private application with custom auth mechanism\"}]]]}]]}]\n70:Ta9b,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1 3072w45:[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit\",\"children\":[[\"$\",\"$L6d\",null,{\"alt\":\"\",\"style\":{\"maxWidth\":\"100%\",\"width\":\"$undefined\",\"height\":\"auto\"},\"loading\":\"lazy\",\"fetchPriority\":\"low\",\"className\":\"block\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F30299"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"46802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=fa60f6a4\u0026sv=1\",\"srcSet\":\"$70\",\"sizes\":\"(max-width: 640px) 400px, 768px\",\"width\":2790,\"height\":644}],null]}]\n72:Ta9b,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv=1 3072w50:[\"$\",\"picture\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto\",\"children\":[[\"$\",\"$L6d\",null,{\"alt\":\"\",\"style\":{\"maxWidth\":\"100%\",\"width\":\"$undefined\",\"height\":\"auto\"},\"loading\":\"lazy\",\"fetchPriority\":\"low\",\"className\":\"block\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=bb98ad55\u0026sv=1\",\"srcSet\":\"$72\",\"sizes\":\"(max-width: 640px) 400px, 768px\",\"width\":2328,\"height\":1588}],null]}],[\"$\",\"figcaption\",null,{\"clas"])</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">self.__next_f.push([1,"sName\":\"text-sm text-center mt-2 text-dark/7 dark:text-light/7\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"How to create a Machine to Machine application\"}]]]}]]}]\n74:Ta9b,https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=1\u0026quality=100\u0026sign=98d752a5\u0026sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=2\u0026quality=100\u0026sign=98d752a5\u0026sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=3\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=400\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=98d752a5\u0026sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=98d752a5\u0026sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=98d752a5\u0026sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1 3072w5f:[\"$\",\"picture\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto\",\"children\":[[\"$\",\"$L6d\",null,{\"alt\":\"\",\"style\":{\"maxWidth\":\"100%\",\"width\":\"$undefined\",\"height\":\"auto\"},\"loading\":\"lazy\",\"fetchPriority\":\"low\",\"className\":\"block\",\"src\":\"https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=98d752a5\u0026sv=1\",\"srcSet\":\"$74\",\"sizes\":\"(max-width: 640px) 400px, 768px\",\"width\":2560,\"height\":1208}],null]}],[\"$\",\"figcaption\",null,{\"className\":\"text-sm text-center mt-2 text-dark/7 dark:text-light/7\",\"children\":[[[\"$\",\"$41\",\"0\",{\"children\":\"Sample web application integrating a custom backend with CARTO\"}]]]}]]}]\n"])</script><link rel="preload" as="image" fetchPriority="high" imageSrcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=1&quality=100&sign=b78ae17&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=2&quality=100&sign=b78ae17&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=3&quality=100&sign=b78ae17&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=4&quality=100&sign=b78ae17&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=1&quality=100&sign=b78ae17&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=2&quality=100&sign=b78ae17&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=3&quality=100&sign=b78ae17&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=4&quality=100&sign=b78ae17&sv=1 3072w" imageSizes="(max-width: 640px) 400px, 768px"/><link rel="preload" as="image" fetchPriority="low" imageSrcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=1&quality=100&sign=fa60f6a4&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=2&quality=100&sign=fa60f6a4&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=3&quality=100&sign=fa60f6a4&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=4&quality=100&sign=fa60f6a4&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=1&quality=100&sign=fa60f6a4&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=2&quality=100&sign=fa60f6a4&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=3&quality=100&sign=fa60f6a4&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=4&quality=100&sign=fa60f6a4&sv=1 3072w" imageSizes="(max-width: 640px) 400px, 768px"/><link rel="preload" as="image" fetchPriority="low" imageSrcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=1&quality=100&sign=bb98ad55&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=2&quality=100&sign=bb98ad55&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=3&quality=100&sign=bb98ad55&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=4&quality=100&sign=bb98ad55&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=1&quality=100&sign=bb98ad55&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=2&quality=100&sign=bb98ad55&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=3&quality=100&sign=bb98ad55&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=4&quality=100&sign=bb98ad55&sv=1 3072w" imageSizes="(max-width: 640px) 400px, 768px"/><link rel="preload" as="image" fetchPriority="low" imageSrcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=1&quality=100&sign=98d752a5&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=2&quality=100&sign=98d752a5&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=3&quality=100&sign=98d752a5&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=4&quality=100&sign=98d752a5&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=1&quality=100&sign=98d752a5&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=2&quality=100&sign=98d752a5&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=3&quality=100&sign=98d752a5&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=4&quality=100&sign=98d752a5&sv=1 3072w" imageSizes="(max-width: 640px) 400px, 768px"/><div hidden id="S:1"><picture class="relative"><div class="relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto"><img alt="" style="max-width:100%;height:auto" fetchPriority="high" class="block" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=4&quality=100&sign=b78ae17&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=1&quality=100&sign=b78ae17&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=2&quality=100&sign=b78ae17&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=3&quality=100&sign=b78ae17&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=400&dpr=4&quality=100&sign=b78ae17&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=1&quality=100&sign=b78ae17&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=2&quality=100&sign=b78ae17&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=3&quality=100&sign=b78ae17&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FjZqpNTwnWoZR7e35P3ft%252FIntegrate%2520CARTO%2520in%2520your%2520existing%2520application.png%3Falt%3Dmedia%26token%3D14c8d2c2-70a2-465c-a61b-e034f899313a&width=768&dpr=4&quality=100&sign=b78ae17&sv=1 3072w" sizes="(max-width: 640px) 400px, 768px" width="4992" height="2756"/></div><figcaption class="text-sm text-center mt-2 text-dark/7 dark:text-light/7">Architecture diagram of a private application with custom auth mechanism</figcaption></picture></div><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("S:1","P:1")</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("B:0","S:0")</script><div hidden id="S:5"><div class="relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit"><img alt="" style="max-width:100%;height:auto" loading="lazy" fetchPriority="low" class="block" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=4&quality=100&sign=fa60f6a4&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=1&quality=100&sign=fa60f6a4&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=2&quality=100&sign=fa60f6a4&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=3&quality=100&sign=fa60f6a4&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=400&dpr=4&quality=100&sign=fa60f6a4&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=1&quality=100&sign=fa60f6a4&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=2&quality=100&sign=fa60f6a4&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=3&quality=100&sign=fa60f6a4&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252FeTeBdUVDLDt3FWcPn6VH%252Fimage.png%3Falt%3Dmedia%26token%3Da5674214-7f1d-4108-9b92-a45e86451f37&width=768&dpr=4&quality=100&sign=fa60f6a4&sv=1 3072w" sizes="(max-width: 640px) 400px, 768px" width="2790" height="644"/></div></div><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RS("S:5","P:5")</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RC("B:2","S:2")</script><div hidden id="S:6"><picture class="relative"><div class="relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto"><img alt="" style="max-width:100%;height:auto" loading="lazy" fetchPriority="low" class="block" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=4&quality=100&sign=bb98ad55&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=1&quality=100&sign=bb98ad55&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=2&quality=100&sign=bb98ad55&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=3&quality=100&sign=bb98ad55&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=400&dpr=4&quality=100&sign=bb98ad55&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=1&quality=100&sign=bb98ad55&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=2&quality=100&sign=bb98ad55&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=3&quality=100&sign=bb98ad55&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F9QLIlmRDJ0ylBkc05zD5%252Fimage.png%3Falt%3Dmedia%26token%3D127da63f-4f29-4491-b08f-38672ac22306&width=768&dpr=4&quality=100&sign=bb98ad55&sv=1 3072w" sizes="(max-width: 640px) 400px, 768px" width="2328" height="1588"/></div><figcaption class="text-sm text-center mt-2 text-dark/7 dark:text-light/7">How to create a Machine to Machine application</figcaption></picture></div><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RS("S:6","P:6")</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RC("B:3","S:3")</script><div hidden id="S:7"><picture class="relative"><div class="relative overflow-hidden rounded straight-corners:rounded-none after:block after:absolute after:-inset-[0] after:border-dark/2 after:border after:rounded straight-corners:after:rounded-none dark:after:border-light/1 dark:after:mix-blend-plus-lighter after:pointer-events-none w-fit mx-auto"><img alt="" style="max-width:100%;height:auto" loading="lazy" fetchPriority="low" class="block" src="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=4&quality=100&sign=98d752a5&sv=1" srcSet="https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=1&quality=100&sign=98d752a5&sv=1 400w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=2&quality=100&sign=98d752a5&sv=1 800w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=3&quality=100&sign=98d752a5&sv=1 1200w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=400&dpr=4&quality=100&sign=98d752a5&sv=1 1600w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=1&quality=100&sign=98d752a5&sv=1 768w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=2&quality=100&sign=98d752a5&sv=1 1536w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=3&quality=100&sign=98d752a5&sv=1 2304w, https://docs.carto.com/~gitbook/image?url=https%3A%2F%2F3029946802-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FybPdpmLltPkzGFvz7m8A%252Fuploads%252F3dIzZT72qETdVfXsZ2cE%252Fimage.png%3Falt%3Dmedia%26token%3D983b806d-2379-4d15-af1e-9a85c6f804f5&width=768&dpr=4&quality=100&sign=98d752a5&sv=1 3072w" sizes="(max-width: 640px) 400px, 768px" width="2560" height="1208"/></div><figcaption class="text-sm text-center mt-2 text-dark/7 dark:text-light/7">Sample web application integrating a custom backend with CARTO</figcaption></picture></div><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RS("S:7","P:7")</script><script nonce="YmRkODBhNWMtZDQzYi00NThlLTk5ZWUtMTM5MzFlZTUyYjM2">$RC("B:4","S:4")</script></body></html>