CINXE.COM

Welcome | TESA Developer Space

<!DOCTYPE html><html lang="en" class="scroll-pt-[76px] theme-clean tint sidebar-default sidebar-list-default links-default __variable_f9f441 __variable_96046e __variable_a923d8 dark"><head><meta charSet="utf-8"/><link rel="preconnect" href="https://api.gitbook.com"/><link rel="preconnect" href="https://ka-p.fontawesome.com/releases/v6.6.0/"/><link rel="preconnect" href="https://static.gitbook.com"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" imageSrcSet="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=1&amp;quality=100&amp;sign=187af243&amp;sv=2 32w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=2&amp;quality=100&amp;sign=187af243&amp;sv=2 64w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=3&amp;quality=100&amp;sign=187af243&amp;sv=2 96w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=4&amp;quality=100&amp;sign=187af243&amp;sv=2 128w" imageSizes="32px" fetchPriority="high"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/51d34edee75a6bda.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/45626ddd3633854a.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/16fc395e39133b76.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/95b358fb5c9305a3.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/bc859a4cd35f3fe5.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/e1c64f6ae2213816.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/89f0191abc1ad313.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/442a0afb56948a32.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/b322ae72ca7529fb.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/eac2c678efd8de56.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/ee3396defbfa8d21.css" data-precedence="next"/><link rel="stylesheet" href="https://static.gitbook.com/_next/static/css/4af9aafd612346fe.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="https://static.gitbook.com/_next/static/chunks/webpack-6d65dea2fe08aa9c.js"/><script src="https://static.gitbook.com/_next/static/chunks/1dd3208c-2ac490673f536a31.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/1456-7a101bad5c799784.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/main-app-145b32589a8ebb53.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/app/global-error-53091e9566f77828.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/2829-c36fa68d4c5a3114.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/8452-58a06fe46213e7f4.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/5508-9b8dfeea3efa0656.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/5446-b167832bc709e4d8.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/2819-db4d66724f1ba10b.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/983-865702f226b7e6e6.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/2237-fdb222ff2560b82a.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/1855-69026ee010530da5.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/8421-521c0f085ebe5199.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/app/middleware/(site)/error-65ecdd77cfe24742.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/2241-ff00605587a5640e.js" async=""></script><script src="https://static.gitbook.com/_next/static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js" async=""></script><meta name="color-scheme" content="dark light"/><title>Welcome | TESA Developer Space</title><meta name="generator" content="GitBook (c22490b)"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://dev.tesa.or.th/tesa-developer"/><meta property="og:title" content="Welcome | TESA Developer Space"/><meta property="og:image" content="https://dev.tesa.or.th/tesa-developer/~gitbook/ogimage/kzTlst3tKo255yz4YpDi"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Welcome | TESA Developer Space"/><meta name="twitter:image" content="https://dev.tesa.or.th/tesa-developer/~gitbook/ogimage/kzTlst3tKo255yz4YpDi"/><link rel="icon" href="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=48&amp;height=48&amp;sign=187af243&amp;sv=2" type="image/png" media="(prefers-color-scheme: light)"/><link rel="icon" href="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=48&amp;height=48&amp;sign=187af243&amp;sv=2" type="image/png" media="(prefers-color-scheme: dark)"/><link rel="icon" href="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=48&amp;height=48&amp;sign=187af243&amp;sv=2" type="image/png" media="(prefers-color-scheme: light)"/><link rel="icon" href="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=48&amp;height=48&amp;sign=187af243&amp;sv=2" type="image/png" media="(prefers-color-scheme: dark)"/><meta name="next-size-adjust"/><style> :root { --primary-1: 255 255 255; --contrast-primary-1: 29 29 29; --primary-2: 247 250 255; --contrast-primary-2: 29 29 29; --primary-3: 241 248 255; --contrast-primary-3: 29 29 29; --primary-4: 233 243 255; --contrast-primary-4: 29 29 29; --primary-5: 224 238 255; --contrast-primary-5: 29 29 29; --primary-6: 213 230 255; --contrast-primary-6: 29 29 29; --primary-7: 198 218 253; --contrast-primary-7: 29 29 29; --primary-8: 182 205 246; --contrast-primary-8: 29 29 29; --primary-9: 52 109 219; --contrast-primary-9: 255 255 255; --primary-10: 57 115 225; --contrast-primary-10: 255 255 255; --primary-11: 81 110 162; --contrast-primary-11: 255 255 255; --primary-12: 1 24 74; --contrast-primary-12: 255 255 255; --primary-original: 52 109 219; --contrast-primary-original: 255 255 255; --tint-1: 255 255 255; --contrast-tint-1: 29 29 29; --tint-2: 255 248 246; --contrast-tint-2: 29 29 29; --tint-3: 255 243 240; --contrast-tint-3: 29 29 29; --tint-4: 255 236 231; --contrast-tint-4: 29 29 29; --tint-5: 255 228 223; --contrast-tint-5: 29 29 29; --tint-6: 255 219 211; --contrast-tint-6: 29 29 29; --tint-7: 253 204 195; --contrast-tint-7: 29 29 29; --tint-8: 245 189 179; --contrast-tint-8: 29 29 29; --tint-9: 224 73 57; --contrast-tint-9: 255 255 255; --tint-10: 210 59 45; --contrast-tint-10: 255 255 255; --tint-11: 158 88 77; --contrast-tint-11: 255 255 255; --tint-12: 66 0 0; --contrast-tint-12: 255 255 255; --tint-original: 184 29 18; --contrast-tint-original: 255 255 255; --neutral-1: 255 255 255; --contrast-neutral-1: 29 29 29; --neutral-2: 250 250 250; --contrast-neutral-2: 29 29 29; --neutral-3: 247 247 247; --contrast-neutral-3: 29 29 29; --neutral-4: 242 242 242; --contrast-neutral-4: 29 29 29; --neutral-5: 237 237 237; --contrast-neutral-5: 29 29 29; --neutral-6: 229 229 229; --contrast-neutral-6: 29 29 29; --neutral-7: 217 217 217; --contrast-neutral-7: 29 29 29; --neutral-8: 204 204 204; --contrast-neutral-8: 29 29 29; --neutral-9: 120 120 120; --contrast-neutral-9: 255 255 255; --neutral-10: 121 121 121; --contrast-neutral-10: 255 255 255; --neutral-11: 110 110 110; --contrast-neutral-11: 255 255 255; --neutral-12: 29 29 29; --contrast-neutral-12: 255 255 255; --neutral-original: 120 120 120; --contrast-neutral-original: 255 255 255; --header-background: 184 29 18; --header-link: 255 255 255; --info-1: 255 255 255; --contrast-info-1: 29 29 29; --info-2: 250 250 250; --contrast-info-2: 29 29 29; --info-3: 247 247 247; --contrast-info-3: 29 29 29; --info-4: 242 242 242; --contrast-info-4: 29 29 29; --info-5: 237 237 237; --contrast-info-5: 29 29 29; --info-6: 229 229 229; --contrast-info-6: 29 29 29; --info-7: 217 217 217; --contrast-info-7: 29 29 29; --info-8: 204 204 204; --contrast-info-8: 29 29 29; --info-9: 120 120 120; --contrast-info-9: 255 255 255; --info-10: 121 121 121; --contrast-info-10: 255 255 255; --info-11: 110 110 110; --contrast-info-11: 255 255 255; --info-12: 29 29 29; --contrast-info-12: 255 255 255; --info-original: 120 120 120; --contrast-info-original: 255 255 255; --warning-1: 255 255 255; --contrast-warning-1: 29 29 29; --warning-2: 254 249 244; --contrast-warning-2: 29 29 29; --warning-3: 255 245 236; --contrast-warning-3: 29 29 29; --warning-4: 255 239 225; --contrast-warning-4: 29 29 29; --warning-5: 254 233 214; --contrast-warning-5: 29 29 29; --warning-6: 250 224 200; --contrast-warning-6: 29 29 29; --warning-7: 242 211 182; --contrast-warning-7: 29 29 29; --warning-8: 233 197 164; --contrast-warning-8: 29 29 29; --warning-9: 254 154 0; --contrast-warning-9: 29 29 29; --warning-10: 187 92 0; --contrast-warning-10: 255 255 255; --warning-11: 145 99 52; --contrast-warning-11: 255 255 255; --warning-12: 57 13 0; --contrast-warning-12: 255 255 255; --warning-original: 254 154 0; --contrast-warning-original: 29 29 29; --danger-1: 255 255 255; --contrast-danger-1: 29 29 29; --danger-2: 255 247 246; --contrast-danger-2: 29 29 29; --danger-3: 255 242 239; --contrast-danger-3: 29 29 29; --danger-4: 255 234 230; --contrast-danger-4: 29 29 29; --danger-5: 255 226 221; --contrast-danger-5: 29 29 29; --danger-6: 255 215 210; --contrast-danger-6: 29 29 29; --danger-7: 255 200 193; --contrast-danger-7: 29 29 29; --danger-8: 254 184 177; --contrast-danger-8: 29 29 29; --danger-9: 251 44 54; --contrast-danger-9: 255 255 255; --danger-10: 228 0 33; --contrast-danger-10: 255 255 255; --danger-11: 168 79 73; --contrast-danger-11: 255 255 255; --danger-12: 73 0 0; --contrast-danger-12: 255 255 255; --danger-original: 251 44 54; --contrast-danger-original: 255 255 255; --success-1: 255 255 255; --contrast-success-1: 29 29 29; --success-2: 245 252 246; --contrast-success-2: 29 29 29; --success-3: 238 252 240; --contrast-success-3: 29 29 29; --success-4: 229 249 231; --contrast-success-4: 29 29 29; --success-5: 219 246 222; --contrast-success-5: 29 29 29; --success-6: 207 240 210; --contrast-success-6: 29 29 29; --success-7: 190 229 194; --contrast-success-7: 29 29 29; --success-8: 172 218 177; --contrast-success-8: 29 29 29; --success-9: 0 201 80; --contrast-success-9: 29 29 29; --success-10: 0 152 23; --contrast-success-10: 255 255 255; --success-11: 62 127 73; --contrast-success-11: 255 255 255; --success-12: 0 41 0; --contrast-success-12: 255 255 255; --success-original: 0 201 80; --contrast-success-original: 29 29 29; } .dark { --primary-1: 29 29 29; --contrast-primary-1: 255 255 255; --primary-2: 32 35 39; --contrast-primary-2: 255 255 255; --primary-3: 39 44 53; --contrast-primary-3: 255 255 255; --primary-4: 40 48 62; --contrast-primary-4: 255 255 255; --primary-5: 43 54 72; --contrast-primary-5: 255 255 255; --primary-6: 45 58 81; --contrast-primary-6: 255 255 255; --primary-7: 52 68 96; --contrast-primary-7: 255 255 255; --primary-8: 59 78 112; --contrast-primary-8: 255 255 255; --primary-9: 52 109 219; --contrast-primary-9: 255 255 255; --primary-10: 80 139 252; --contrast-primary-10: 255 255 255; --primary-11: 161 193 251; --contrast-primary-11: 29 29 29; --primary-12: 219 255 255; --contrast-primary-12: 29 29 29; --primary-original: 52 109 219; --contrast-primary-original: 255 255 255; --tint-1: 29 29 29; --contrast-tint-1: 255 255 255; --tint-2: 39 33 32; --contrast-tint-2: 255 255 255; --tint-3: 53 40 38; --contrast-tint-3: 255 255 255; --tint-4: 61 42 39; --contrast-tint-4: 255 255 255; --tint-5: 71 46 42; --contrast-tint-5: 255 255 255; --tint-6: 79 48 43; --contrast-tint-6: 255 255 255; --tint-7: 94 56 49; --contrast-tint-7: 255 255 255; --tint-8: 110 63 56; --contrast-tint-8: 255 255 255; --tint-9: 224 73 57; --contrast-tint-9: 255 255 255; --tint-10: 238 86 69; --contrast-tint-10: 255 255 255; --tint-11: 247 169 156; --contrast-tint-11: 29 29 29; --tint-12: 255 229 214; --contrast-tint-12: 29 29 29; --tint-original: 184 29 18; --contrast-tint-original: 255 255 255; --neutral-1: 29 29 29; --contrast-neutral-1: 255 255 255; --neutral-2: 34 34 34; --contrast-neutral-2: 255 255 255; --neutral-3: 44 44 44; --contrast-neutral-3: 255 255 255; --neutral-4: 48 48 48; --contrast-neutral-4: 255 255 255; --neutral-5: 53 53 53; --contrast-neutral-5: 255 255 255; --neutral-6: 57 57 57; --contrast-neutral-6: 255 255 255; --neutral-7: 67 67 67; --contrast-neutral-7: 255 255 255; --neutral-8: 78 78 78; --contrast-neutral-8: 255 255 255; --neutral-9: 120 120 120; --contrast-neutral-9: 255 255 255; --neutral-10: 144 144 144; --contrast-neutral-10: 255 255 255; --neutral-11: 192 192 192; --contrast-neutral-11: 29 29 29; --neutral-12: 255 255 255; --contrast-neutral-12: 29 29 29; --neutral-original: 120 120 120; --contrast-neutral-original: 255 255 255; --header-background: 184 29 18; --header-link: 255 255 255; --info-1: 29 29 29; --contrast-info-1: 255 255 255; --info-2: 34 34 34; --contrast-info-2: 255 255 255; --info-3: 44 44 44; --contrast-info-3: 255 255 255; --info-4: 48 48 48; --contrast-info-4: 255 255 255; --info-5: 53 53 53; --contrast-info-5: 255 255 255; --info-6: 57 57 57; --contrast-info-6: 255 255 255; --info-7: 67 67 67; --contrast-info-7: 255 255 255; --info-8: 78 78 78; --contrast-info-8: 255 255 255; --info-9: 120 120 120; --contrast-info-9: 255 255 255; --info-10: 144 144 144; --contrast-info-10: 255 255 255; --info-11: 192 192 192; --contrast-info-11: 29 29 29; --info-12: 255 255 255; --contrast-info-12: 29 29 29; --info-original: 120 120 120; --contrast-info-original: 255 255 255; --warning-1: 29 29 29; --contrast-warning-1: 255 255 255; --warning-2: 38 34 30; --contrast-warning-2: 255 255 255; --warning-3: 50 42 35; --contrast-warning-3: 255 255 255; --warning-4: 57 45 34; --contrast-warning-4: 255 255 255; --warning-5: 66 50 34; --contrast-warning-5: 255 255 255; --warning-6: 73 53 33; --contrast-warning-6: 255 255 255; --warning-7: 87 62 37; --contrast-warning-7: 255 255 255; --warning-8: 101 71 41; --contrast-warning-8: 255 255 255; --warning-9: 254 154 0; --contrast-warning-9: 29 29 29; --warning-10: 213 116 0; --contrast-warning-10: 255 255 255; --warning-11: 231 181 132; --contrast-warning-11: 29 29 29; --warning-12: 255 243 187; --contrast-warning-12: 29 29 29; --warning-original: 254 154 0; --contrast-warning-original: 29 29 29; --danger-1: 29 29 29; --contrast-danger-1: 255 255 255; --danger-2: 40 32 32; --contrast-danger-2: 255 255 255; --danger-3: 55 39 38; --contrast-danger-3: 255 255 255; --danger-4: 64 41 38; --contrast-danger-4: 255 255 255; --danger-5: 75 44 41; --contrast-danger-5: 255 255 255; --danger-6: 84 45 41; --contrast-danger-6: 255 255 255; --danger-7: 100 51 48; --contrast-danger-7: 255 255 255; --danger-8: 117 58 54; --contrast-danger-8: 255 255 255; --danger-9: 251 44 54; --contrast-danger-9: 255 255 255; --danger-10: 255 52 59; --contrast-danger-10: 255 255 255; --danger-11: 255 161 153; --contrast-danger-11: 29 29 29; --danger-12: 255 220 210; --contrast-danger-12: 29 29 29; --danger-original: 251 44 54; --contrast-danger-original: 255 255 255; --success-1: 29 29 29; --contrast-success-1: 255 255 255; --success-2: 31 36 32; --contrast-success-2: 255 255 255; --success-3: 37 47 38; --contrast-success-3: 255 255 255; --success-4: 37 52 39; --contrast-success-4: 255 255 255; --success-5: 38 60 41; --contrast-success-5: 255 255 255; --success-6: 38 65 41; --contrast-success-6: 255 255 255; --success-7: 42 77 48; --contrast-success-7: 255 255 255; --success-8: 47 89 54; --contrast-success-8: 255 255 255; --success-9: 0 201 80; --contrast-success-9: 29 29 29; --success-10: 0 176 54; --contrast-success-10: 255 255 255; --success-11: 144 211 153; --contrast-success-11: 29 29 29; --success-12: 201 255 210; --contrast-success-12: 29 29 29; --success-original: 0 201 80; --contrast-success-original: 29 29 29; } </style><script src="https://static.gitbook.com/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="[html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-subtle bg-tint-base theme-muted:bg-tint-subtle theme-gradient:bg-gradient-primary theme-gradient-tint:bg-gradient-tint"><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><header id="site-header" class="flex flex-col h-[64px] sticky top-0 z-30 w-full flex-none shadow-[0px_1px_0px] shadow-tint-12/2 bg-tint-base/9 theme-muted:bg-tint-subtle/9 [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-subtle/9 theme-gradient:bg-gradient-primary theme-gradient-tint:bg-gradient-tint contrast-more:bg-tint-base text-sm backdrop-blur-lg"><div class="theme-bold:bg-header-background theme-bold:shadow-[0px_1px_0px] theme-bold:shadow-tint-12/2"><div class="scroll-nojump"><div class="gap-4 lg:gap-6 flex items-center justify-between w-full py-3 min-h-16 sm:h-16 px-4 sm:px-6 md:px-8 max-w-screen-2xl mx-auto page-full-width:max-w-full"><div class="flex max-w-full lg:basis-72 min-w-0 shrink items-center justify-start gap-2 lg:gap-4"><button class="flex flex-row items-center rounded straight-corners:rounded-sm px-2 py-1 lg:hidden -ml-2 text-tint-strong theme-bold:text-header-link hover:bg-tint-hover theme-bold:hover:bg-header-link/3 page-no-toc:hidden" 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&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4 text-inherit"></svg></button><a class="group/headerlogo min-w-0 shrink flex items-center" href="https://dev.tesa.or.th/tesa-developer/"><img alt="" style="aspect-ratio:1" fetchPriority="high" class="block dark:hidden object-contain size-8" src="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=4&amp;quality=100&amp;sign=187af243&amp;sv=2" srcSet="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=1&amp;quality=100&amp;sign=187af243&amp;sv=2 32w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=2&amp;quality=100&amp;sign=187af243&amp;sv=2 64w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=3&amp;quality=100&amp;sign=187af243&amp;sv=2 96w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=4&amp;quality=100&amp;sign=187af243&amp;sv=2 128w" sizes="32px" width="1421" height="1043"/><img alt="" style="aspect-ratio:1" loading="lazy" fetchPriority="high" class="hidden dark:block object-contain size-8" src="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=4&amp;quality=100&amp;sign=187af243&amp;sv=2" srcSet="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=1&amp;quality=100&amp;sign=187af243&amp;sv=2 32w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=2&amp;quality=100&amp;sign=187af243&amp;sv=2 64w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=3&amp;quality=100&amp;sign=187af243&amp;sv=2 96w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f&amp;width=32&amp;dpr=4&amp;quality=100&amp;sign=187af243&amp;sv=2 128w" sizes="32px" width="1421" height="1043"/><div class="text-pretty line-clamp-2 tracking-tight max-w-[18ch] lg:max-w-[24ch] font-semibold ms-3 text-base/tight lg:text-lg/tight text-tint-strong theme-bold:text-header-link">TESA Developer Space</div></a></div><div class="flex grow-0 shrink-0 md:basis-56 justify-self-end order-last"><!--$--><button type="button" aria-label="Search" class="flex flex-1 flex-row justify-center items-center w-full py-2 px-3 gap-2 bg-tint-base ring-1 ring-tint-12/2 shadow-sm shadow-tint-12/3 dark:shadow-none text-tint rounded-lg straight-corners:rounded-sm contrast-more:ring-tint-12 contrast-more:text-tint-strong transition-all hover:bg-tint-subtle hover:shadow-md hover:scale-102 hover:ring-tint-hover hover:text-tint-strong focus:shadow-md focus:scale-102 focus:ring-tint-hover focus:text-tint-strong contrast-more:hover:ring-2 contrast-more:hover:ring-tint-12 contrast-more:focus:ring-2 contrast-more:focus:ring-tint-12 active:shadow-sm active:scale-100 md:justify-start md:w-full text-sm theme-bold:bg-header-link/2 theme-bold:hover:bg-header-link/3 theme-bold:text-header-link/8 theme-bold:hover:text-header-link theme-bold:ring-header-link/4 theme-bold:hover:ring-header-link/5 theme-bold:[&amp;_svg]:text-header-link/10 theme-bold:[&amp;_.shortcut]:text-header-link/8 theme-bold:contrast-more:bg-header-background theme-bold:contrast-more:text-header-link theme-bold:contrast-more:ring-header-link theme-bold:contrast-more:hover:bg-header-background theme-bold:contrast-more:hover:ring-header-link theme-bold:contrast-more:focus:text-header-link theme-bold:contrast-more:focus:bg-header-background theme-bold:contrast-more:focus:ring-header-link theme-bold:shadow-none theme-bold:hover:shadow-none whitespace-nowrap"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/magnifying-glass.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon text-tint-subtle shrink-0 size-4"></svg><div class="w-full hidden md:block text-left"><span class="flex-1">Search<!-- -->...</span></div><div aria-busy="true" class="shortcut -mr-1 hidden justify-end gap-0.5 whitespace-nowrap text-tint text-xs [font-feature-settings:&quot;calt&quot;,_&quot;case&quot;] contrast-more:text-tint-strong md:flex opacity-0"><kbd class="flex h-5 min-w-5 items-center justify-center rounded border border-tint-subtle theme-bold:border-header-link/5 bg-tint-base theme-bold:bg-header-background px-1 ">Ctrl</kbd><kbd class="flex size-5 items-center justify-center rounded border border-tint-subtle theme-bold:border-header-link/5 bg-tint-base theme-bold:bg-header-background">K</kbd></div></button><!--/$--></div></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 data-testid="table-of-contents" class="group text-sm grow-0 shrink-0 basis-full lg:basis-72 page-no-toc:lg:basis-56 relative z-[1] lg:sticky lg:top-0 lg:h-screen site-header:lg:top-16 site-header:lg:h-[calc(100vh_-_4rem)] site-header-sections:lg:top-[6.75rem] site-header-sections:lg:h-[calc(100vh_-_6.75rem)] pt-6 pb-4 sidebar-filled:lg:pr-6 page-no-toc:lg:pr-0 hidden navigation-open:!flex lg:flex page-no-toc:lg:hidden page-no-toc:xl:flex site-header-none:page-no-toc:lg:flex flex-col gap-4 navigation-open:border-b border-tint-subtle"><div class="lg:-ms-5 overflow-hidden relative flex flex-col flex-grow sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base page-no-toc:!bg-transparent sidebar-filled:rounded-xl straight-corners:rounded-none"><div class="px-5 *:my-4"></div><div data-testid="toc-scroll-container" class="flex flex-grow flex-col p-2 lg:pb-20 overflow-y-auto lg:gutter-stable [&amp;::-webkit-scrollbar]:bg-transparent [&amp;::-webkit-scrollbar-thumb]:bg-transparent group-hover:[&amp;::-webkit-scrollbar]:bg-tint-subtle group-hover:[&amp;::-webkit-scrollbar-thumb]:bg-tint-7 group-hover:[&amp;::-webkit-scrollbar-thumb:hover]:bg-tint-8"><ul class="flex flex-col gap-y-0.5 page-no-toc:hidden sidebar-list-line:border-l border-tint-subtle"><li class="flex flex-col"><a aria-current="page" class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance text-sm hover:contrast-more:ring-1 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px font-semibold sidebar-list-line:before:w-0.5 before:bg-primary-solid text-primary-subtle sidebar-list-pill:bg-primary [html.sidebar-list-pill.theme-muted_&amp;]:bg-primary-hover [html.sidebar-list-pill.theme-bold.tint_&amp;]:bg-primary-hover [html.sidebar-filled.sidebar-list-pill.theme-muted_&amp;]:bg-primary [html.sidebar-filled.sidebar-list-pill.theme-bold.tint_&amp;]:bg-primary hover:bg-primary-hover hover:text-primary hover:before:bg-primary-solid-hover sidebar-list-pill:hover:bg-primary-hover contrast-more:text-primary contrast-more:hover:text-primary-strong contrast-more:bg-primary contrast-more:ring-1 contrast-more:ring-primary contrast-more:hover:ring-primary-hover" href="/tesa-developer"><span class="flex gap-3 items-center"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">👏</span>Welcome</span></a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-podcast"><span class="flex gap-3 items-center"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">📺</span>TESA Podcast</span></a></li><li class="flex flex-col group/page-group-item"><div class="flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base [html.sidebar-default.theme-gradient_&amp;]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_&amp;]:bg-gradient-tint"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">⭐</span>Getting Started</div><ul class="flex flex-col gap-y-0.5"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/getting-started/who-we-are"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/microchip.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Who we are?</span></a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/getting-started/what-we-do"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/bullseye-arrow.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>What we do?</span></a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/getting-started/whos-our-networking"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/diagram-project.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Who&#x27;s our Networking?</span></a></li></ul></li><li class="flex flex-col group/page-group-item"><div class="flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base [html.sidebar-default.theme-gradient_&amp;]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_&amp;]:bg-gradient-tint"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">🏫</span>TESA University Program</div><ul class="flex flex-col gap-y-0.5"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/layer-group.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>RT-Thread IoT OS</span><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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program">University Program<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture">RT-Thread Architecture<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/hardware-supported">Hardware supported</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-layers">RT-Thread Layers</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-x-renesas">RT-Thread x Renesas</a></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop">Edge AI Workshop<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/installation-and-first-coding">Installation &amp; First Coding</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/external-irq-via-button">External IRQ via Button</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-ulog-for-finsh">Enable Ulog for FinSH</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-wifi-for-finsh">Enable WiFi for FinSH</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/iot-connectivity-using-mqtt">IoT Connectivity using MQTT</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/openmv-ide">OpenMV IDE</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/micropython-programming">MicroPython Programming</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/tflite-in-openmv">TFLite in OpenMV</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/ai-model-training-via-edge-impulse">AI Model Training via Edge Impulse</a></li></ul></div></li></ul></div></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/fpga-edge-ai"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/brain-circuit.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>FPGA Edge AI</span><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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/fpga-edge-ai/professional-courses">Professional Courses</a></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/problem-based-learning"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/tablet-rugged.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Problem-based Learning</span><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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-university-program/problem-based-learning/stm32-development-toolchain">STM32 Development Toolchain</a></li></ul></div></li></ul></li><li class="flex flex-col group/page-group-item"><div class="flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base [html.sidebar-default.theme-gradient_&amp;]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_&amp;]:bg-gradient-tint"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">📚</span>TESA Technical Contents</div><ul class="flex flex-col gap-y-0.5"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/brands/linux.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Linux OS</span><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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero">Zero to Linux Hero<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/computer-os-architecture">Computer OS Architecture</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system">Anatomy of Linux System<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/busybox">Busybox</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/linux-environment-for-developer">Linux Environment for Developer</a></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel">Anatomy of Linux Kernel<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/unix-linux-history">UNIX/Linux History</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/gnu-project">GNU Project</a></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/linux-os-architecture">Linux OS Architecture</a></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1">Anatomy of Linux Kernel<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-tint-active hover:text-current"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;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-6 group-hover:opacity-11 contrast-more:opacity-11 rotate-0"></svg></span></a><div class="[&amp;_ul&gt;li]:opacity-1" style="opacity:0;height:0px;display:none"><ul class="flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1/linux-kernel-principles">Linux Kernel Principles</a></li></ul></div></li></ul></div></li></ul></div></li><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/tesa-technical-contents/karel-robot"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/user-robot.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Karel Robot</span></a></li></ul></li><li class="flex flex-col group/page-group-item"><div class="flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base [html.sidebar-default.theme-gradient_&amp;]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_&amp;]:bg-gradient-tint"><span class="font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit">🤘</span>RECOMMENDED by TESA</div><ul class="flex flex-col gap-y-0.5"><li class="flex flex-col"><a class="group/toclink relative transition-colors flex flex-row justify-between rounded-md straight-corners:rounded-none p-1.5 pl-3 text-balance font-normal text-sm text-tint-strong/7 hover:bg-tint-hover hover:text-tint-strong contrast-more:text-tint-strong hover:contrast-more:text-tint-strong hover:contrast-more:ring-1 hover:contrast-more:ring-tint-12 before:contents[] before:-left-px before:absolute before:inset-y-0 sidebar-list-line:rounded-l-none sidebar-list-line:before:w-px sidebar-list-default:[&amp;+div_a]:rounded-l-none [&amp;+div_a]:pl-5 sidebar-list-default:[&amp;+div_a]:before:w-px" href="/tesa-developer/recommended-by-tesa/embedded-systems-roadmap"><span class="flex gap-3 items-center"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/seedling.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0"></svg>Embedded Systems Roadmap</span></a></li></ul></li></ul><div class="relative z-[2] lg:absolute left-0 right-2 bottom-0 pointer-events-none sidebar-filled:pl-2 sidebar-filled:pb-2 sidebar-filled:page-no-toc:p-0 bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:bg-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-base before:hidden lg:before:block before:content-[&quot;&quot;] before:absolute before:inset-x-0 before:bottom-full before:h-8 before:bg-gradient-to-b before:from-transparent before:to-tint-base sidebar-filled:before:to-tint-subtle theme-muted:before:to-tint-subtle [html.sidebar-filled.theme-muted_&amp;]:before:to-tint-base [html.sidebar-filled.theme-bold.tint_&amp;]:before:to-tint-base page-no-toc:before:!to-transparent"><a target="_blank" class="text-sm font-semibold text-tint flex flex-row items-center px-5 py-4 sidebar-filled:px-3 sidebar-filled:page-no-toc:lg:px-5 rounded-lg straight-corners:rounded-none hover:bg-tint hover:text-tint-strong ring-2 lg:ring-1 ring-inset ring-tint-subtle transition-colors pointer-events-auto" href="https://www.gitbook.com/?utm_source=content&amp;utm_medium=trademark&amp;utm_campaign=4cbrznEv1DwPp6m0FjGI"><svg style="mask-image:url(https://static.gitbook.com/~gitbook/static/icons/svgs/custom-icons/gitbook.svg?v=2);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-5 shrink-0"></svg><span class="ml-3">Powered by GitBook</span></a></div></div></div></aside><div class="flex min-w-0 flex-1 flex-col"><!--$?--><template id="B:0"></template><div class="flex flex-row flex-1 relative py-8 lg:px-16 xl:mr-56 items-center lg:items-start"><div class="flex-1 max-w-3xl mx-auto page-full-width:mx-0"><div role="status" aria-busy="true" class="mb-8"><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-tint 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-tint-solid 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)]"></div></div></div></div><div role="status" aria-busy="true" class="skeleton-paragraph"><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] mb-4"><div class="w-full bg-tint 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-tint-solid 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)]"></div></div></div></div></div></div><!--/$--></div></div></div><footer class="border-tint-subtle border-t xl:hidden"><div class="scroll-nojump"><div class="sm:px-6 md:px-8 max-w-screen-2xl page-full-width:max-w-full px-4 mx-auto flex gap-12"><div class="hidden page-no-toc:hidden basis-72 lg:block"></div><div class="py-8 gap-12 flex flex-wrap items-start w-full flex-1 max-w-3xl page-full-width:max-w-none mx-auto"><div class="order-2 ml-auto flex items-center justify-end xl:hidden"><!--$--><div role="radiogroup" class="flex flex-row gap-2"><button type="button" role="radio" aria-label="Switch to light theme" title="Switch to light theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/sun-bright.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button><button type="button" role="radio" aria-label="Switch to system theme" title="Switch to system theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/desktop.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button><button type="button" role="radio" aria-label="Switch to dark theme" title="Switch to dark theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/moon.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button></div><!--/$--></div><div class="order-4 mx-auto flex w-full grow flex-col items-center gap-2 text-center text-tint text-xs empty:hidden self-center sm:order-1 sm:w-auto sm:max-w-3xl sm:flex-1 sm:items-start sm:text-start"></div></div><div class="hidden page-no-toc:hidden lg:block xl:basis-56"></div></div></div></footer><!--$--><!--/$--><script 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 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="https://static.gitbook.com/_next/static/chunks/webpack-6d65dea2fe08aa9c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HC[\"https://static.gitbook.com\",\"\"]\n2:HL[\"https://static.gitbook.com/_next/static/css/51d34edee75a6bda.css\",\"style\"]\n3:HL[\"https://static.gitbook.com/_next/static/css/45626ddd3633854a.css\",\"style\"]\n4:HL[\"https://static.gitbook.com/_next/static/css/16fc395e39133b76.css\",\"style\"]\n5:HL[\"https://static.gitbook.com/_next/static/css/95b358fb5c9305a3.css\",\"style\"]\n6:HL[\"https://static.gitbook.com/_next/static/css/bc859a4cd35f3fe5.css\",\"style\"]\n7:HL[\"https://static.gitbook.com/_next/static/css/e1c64f6ae2213816.css\",\"style\"]\n8:HL[\"https://static.gitbook.com/_next/static/css/89f0191abc1ad313.css\",\"style\"]\n9:HL[\"https://static.gitbook.com/_next/static/css/442a0afb56948a32.css\",\"style\"]\na:HL[\"https://static.gitbook.com/_next/static/css/b322ae72ca7529fb.css\",\"style\"]\nb:HL[\"https://static.gitbook.com/_next/static/css/eac2c678efd8de56.css\",\"style\"]\nc:HL[\"https://static.gitbook.com/_next/static/css/ee3396defbfa8d21.css\",\"style\"]\nd:HL[\"https://static.gitbook.com/_next/static/css/4af9aafd612346fe.css\",\"style\"]\ne:I[11815,[],\"default\"]\n11:I[55092,[],\"default\"]\n13:I[82023,[],\"default\"]\n18:I[44622,[\"6470\",\"static/chunks/app/global-error-53091e9566f77828.js\"],\"default\"]\n12:[\"pathname\",\"\",\"oc\"]\n19:[]\n0:[\"$\",\"$Le\",null,{\"buildId\":\"90M2dl2TbuPzbnUbeXArM\",\"assetPrefix\":\"https://static.gitbook.com\",\"urlParts\":[\"\",\"tesa-developer\"],\"initialTree\":[\"\",{\"children\":[\"middleware\",{\"children\":[\"(site)\",{\"children\":[\"(content)\",{\"children\":[[\"pathname\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true]}]}],\"initialSeedData\":[\"\",{\"children\":[\"middleware\",{\"children\":[\"(site)\",{\"children\":[\"(content)\",{\"children\":[[\"pathname\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{},[[\"$Lf\",\"$L10\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/e1c64f6ae2213816.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/89f0191abc1ad313.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/442a0afb56948a32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/b322ae72ca7529fb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/eac2c678efd8de56.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/ee3396defbfa8d21.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"6\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/4af9aafd612346fe.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"middleware\",\"children\",\"(site)\",\"children\",\"(content)\",\"children\",\"$12\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$L14\",\"notFoundStyles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/e1c64f6ae2213816.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/89f0191abc1ad313.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/442a0afb56948a32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/b322ae72ca7529fb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/eac2c678efd8de56.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/ee3396defbfa8d21.css\""])</script><script>self.__next_f.push([1,",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"6\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/4af9aafd612346fe.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}]],[[\"$\",\"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-tint-subtle overflow-hidden relative grid rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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-tint-solid 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)]\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"skeleton-paragraph\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md [height:calc(15rem-1px)] [max-width:calc(48rem-1px)] mb-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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-tint-solid 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)]\"}]}]}]}]]}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/e1c64f6ae2213816.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/89f0191abc1ad313.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/442a0afb56948a32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/b322ae72ca7529fb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/eac2c678efd8de56.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/ee3396defbfa8d21.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"6\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/4af9aafd612346fe.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[]]]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/bc859a4cd35f3fe5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],\"$L15\"],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/51d34edee75a6bda.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/45626ddd3633854a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/16fc395e39133b76.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://static.gitbook.com/_next/static/css/95b358fb5c9305a3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],\"$L16\"],null],null]},[null,[\"$\",\"$L11\",null,{\"p"])</script><script>self.__next_f.push([1,"arallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"middleware\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",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,\"$L17\"],\"globalErrorComponent\":\"$18\",\"missingSlots\":\"$W19\"}]\n1a:I[80942,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"5446\",\"static/chunks/5446-b167832bc709e4d8.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"1855\",\"static/chunks/1855-69026ee010530da5.js\",\"8421\",\"static/chunks/8421-521c0f085ebe5199.js\",\"813\",\"static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js\"],\"SitePageNotFound\"]\n14:[\"$\",\"$L1a\",null,{}]\n1b:HC\"https://api.gitbook.com\"\n1c:HC\"https://ka-p.fontawesome.com/releases/v6.6.0/\"\n1d:HC\"https://static.gitbook.com\"\n17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"name\":\"color-scheme\",\"content\":\"dark light\"}],[\"$\",\"meta\",\"2\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"3\",{\"children\":\"Welcome | TESA Developer Space\"}],[\"$\",\"meta\",\"4\",{\"name\":\"generator\",\"content\":\"GitBook (c22490b)\"}],[\"$\",\"meta\",\"5\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://dev.tesa.or.th/tesa-developer\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:title\",\"content\":\"Welcome | TESA Developer Space\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://dev.tesa.or.th/tesa-developer/~gitbook/ogimage/kzTlst3tKo255yz4YpDi\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:title\",\"content\":\"Welcome | TESA Developer Space\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:image\",\"content\":\"https://dev.tesa.or.th/tesa-developer/~gitbook/ogimage/kzTlst3tKo255yz4YpDi\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=48\u0026height=48\u0026sign=187af243\u0026sv=2\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-pro"])</script><script>self.__next_f.push([1,"d.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=48\u0026height=48\u0026sign=187af243\u0026sv=2\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: dark)\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=48\u0026height=48\u0026sign=187af243\u0026sv=2\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"15\",{\"rel\":\"icon\",\"href\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=48\u0026height=48\u0026sign=187af243\u0026sv=2\",\"type\":\"image/png\",\"media\":\"(prefers-color-scheme: dark)\"}],[\"$\",\"meta\",\"16\",{\"name\":\"next-size-adjust\"}]]\nf:null\n1f:I[5145,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"4183\",\"static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js\"],\"IconsProvider\"]\n20:I[75489,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"4183\",\"static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js\"],\"ClientContexts\"]\n21:I[61946,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"8626\",\"static/chunks/app/middleware/(site)/error-65ecdd77cfe24742.js\"],\"default\"]\n22:I[35592,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"NuqsAdapter\"]\n23:I[3119,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"ClientContexts\"]\n24:I[68339,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"SpaceLayoutContextProvider\"]\n25:I[31200,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"InsightsProvider\"]\n27:I[72020,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js"])</script><script>self.__next_f.push([1,"\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"HeaderMobileMenu\"]\n29:\"$Sreact.suspense\"\n2a:I[86604,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"SearchButton\"]\n2b:I[19656,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"TOCScrollContainer\"]\n3b:I[22833,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"4183\",\"static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js\"],\"Link\"]\n3c:I[22563,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"4183\",\"static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js\"],\"Icon\"]\n3d:I[42663,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"ThemeToggler\"]\n3e:I[77964,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"SearchModal\"]\n1e:T2bbb,\n :root {\n --primary-1: 255 255 255; --contrast-primary-1: 29 29 29;\n--primary-2: 247 250 255; --contrast-primary-2: 29 29 29;\n--primary-3: 241 248 255; --contrast-primary-3: 29 29 29;\n--primary-4: 233 243 255; --contrast-primary-4: 29 29 29;\n--primary-5: 224 238 255; --contrast-primary-5: 29 29 29;\n--primary-6: 213 230 255; --contrast-primary-6: 29 29 29;\n--primary-7: 198 218 253; --contrast-primary-7: 29 29 29;\n--primary-8: 182 205 246; --contrast-primary-8: 29 29 29;\n--primary-9: 52 109 219; --contrast-primary-9: 255 255 255;\n--primary-10: 57 115 225; --contrast-primary-10: 255 255 255;\n--primary-11: 81 110 162; --contrast-primary-11: 255 255 255;\n--primary-12: 1 24 74; --contrast-primary-12: 255 255 255;\n--primary-original: 52 109 219; --contrast-primary-original: 255 255 255;\n --tint-1: 255 255 255; --contrast-tint-1: 29 29 29;\n--tint-2: 255 248 246; --contrast-tint-2: 29 29 29;\n--tint-3: 255 243 240; --contrast-tint-3: 29 29 29;\n--tint-4: 255 236 231; --contrast-tint-4: 29 29 29;\n--tint-5: 255 228 223; --contrast-tint-5: 29 29 29;\n--tint-6: 255 219 211; --contrast-tint-6: 29 29 29;\n--tint-7: 253 204 195; --contrast-tint-7: 29 29 29;\n--tint-8: 245 189 179; --contrast-tint-8: 29 29 29;\n--tint-9: 224 73 57; --contrast-tint-9: 255 255 255;\n--tint-10: 210 59 45; --contrast-tint-10: 255 255 255;\n--tint-11: 158 88 77; --contrast-tint-11: 255 255 255;\n--tint-12: 66 0 0; --contrast-tint-12: 255 255 255;\n--tint-original: 184 29 18"])</script><script>self.__next_f.push([1,"; --contrast-tint-original: 255 255 255;\n --neutral-1: 255 255 255; --contrast-neutral-1: 29 29 29;\n--neutral-2: 250 250 250; --contrast-neutral-2: 29 29 29;\n--neutral-3: 247 247 247; --contrast-neutral-3: 29 29 29;\n--neutral-4: 242 242 242; --contrast-neutral-4: 29 29 29;\n--neutral-5: 237 237 237; --contrast-neutral-5: 29 29 29;\n--neutral-6: 229 229 229; --contrast-neutral-6: 29 29 29;\n--neutral-7: 217 217 217; --contrast-neutral-7: 29 29 29;\n--neutral-8: 204 204 204; --contrast-neutral-8: 29 29 29;\n--neutral-9: 120 120 120; --contrast-neutral-9: 255 255 255;\n--neutral-10: 121 121 121; --contrast-neutral-10: 255 255 255;\n--neutral-11: 110 110 110; --contrast-neutral-11: 255 255 255;\n--neutral-12: 29 29 29; --contrast-neutral-12: 255 255 255;\n--neutral-original: 120 120 120; --contrast-neutral-original: 255 255 255;\n\n --header-background: 184 29 18;\n --header-link: 255 255 255;\n\n --info-1: 255 255 255; --contrast-info-1: 29 29 29;\n--info-2: 250 250 250; --contrast-info-2: 29 29 29;\n--info-3: 247 247 247; --contrast-info-3: 29 29 29;\n--info-4: 242 242 242; --contrast-info-4: 29 29 29;\n--info-5: 237 237 237; --contrast-info-5: 29 29 29;\n--info-6: 229 229 229; --contrast-info-6: 29 29 29;\n--info-7: 217 217 217; --contrast-info-7: 29 29 29;\n--info-8: 204 204 204; --contrast-info-8: 29 29 29;\n--info-9: 120 120 120; --contrast-info-9: 255 255 255;\n--info-10: 121 121 121; --contrast-info-10: 255 255 255;\n--info-11: 110 110 110; --contrast-info-11: 255 255 255;\n--info-12: 29 29 29; --contrast-info-12: 255 255 255;\n--info-original: 120 120 120; --contrast-info-original: 255 255 255;\n --warning-1: 255 255 255; --contrast-warning-1: 29 29 29;\n--warning-2: 254 249 244; --contrast-warning-2: 29 29 29;\n--warning-3: 255 245 236; --contrast-warning-3: 29 29 29;\n--warning-4: 255 239 225; --contrast-warning-4: 29 29 29;\n--warning-5: 254 233 214; --contrast-warning-5: 29 29 29;\n--warning-6: 250 224 200; --contrast-warning-6: 29 29 29;\n--warning-7: 242 211 182; --contrast-warning-7: 29 29 29;\n--warning-8: 233 197 164; --contrast-warning-8: 29 29 29;\n--warning-9: 254 154 0; --contrast-warning-9: 29 29 29;\n--warning-10: 187 92 0; --contrast-warning-10: 255 255 255;\n--warning-11: 145 99 52; --contrast-warning-11: 255 255 255;\n--warning-12: 57 13 0; --contrast-warning-12: 255 255 255;\n--warning-original: 254 154 0; --contrast-warning-original: 29 29 29;\n --danger-1: 255 255 255; --contrast-danger-1: 29 29 29;\n--danger-2: 255 247 246; --contrast-danger-2: 29 29 29;\n--danger-3: 255 242 239; --contrast-danger-3: 29 29 29;\n--danger-4: 255 234 230; --contrast-danger-4: 29 29 29;\n--danger-5: 255 226 221; --contrast-danger-5: 29 29 29;\n--danger-6: 255 215 210; --contrast-danger-6: 29 29 29;\n--danger-7: 255 200 193; --contrast-danger-7: 29 29 29;\n--danger-8: 254 184 177; --contrast-danger-8: 29 29 29;\n--danger-9: 251 44 54; --contrast-danger-9: 255 255 255;\n--danger-10: 228 0 33; --contrast-danger-10: 255 255 255;\n--danger-11: 168 79 73; --contrast-danger-11: 255 255 255;\n--danger-12: 73 0 0; --contrast-danger-12: 255 255 255;\n--danger-original: 251 44 54; --contrast-danger-original: 255 255 255;\n --success-1: 255 255 255; --contrast-success-1: 29 29 29;\n--success-2: 245 252 246; --contrast-success-2: 29 29 29;\n--success-3: 238 252 240; --contrast-success-3: 29 29 29;\n--success-4: 229 249 231; --contrast-success-4: 29 29 29;\n--success-5: 219 246 222; --contrast-success-5: 29 29 29;\n--success-6: 207 240 210; --contrast-success-6: 29 29 29;\n--success-7: 190 229 194; --contrast-success-7: 29 29 29;\n--success-8: 172 218 177; --contrast-success-8: 29 29 29;\n--success-9: 0 201 80; --contrast-success-9: 29 29 29;\n--success-10: 0 152 23; --contrast-success-10: 255 255 255;\n--success-11: 62 127 73; --contrast-success-11: 255 255 255;\n--success-12: 0 41 0; --contrast-success-12: 255 255 255;\n--success-original: 0 201 80; --contrast-success-original: 29 29 29;\n }\n\n .d"])</script><script>self.__next_f.push([1,"ark {\n --primary-1: 29 29 29; --contrast-primary-1: 255 255 255;\n--primary-2: 32 35 39; --contrast-primary-2: 255 255 255;\n--primary-3: 39 44 53; --contrast-primary-3: 255 255 255;\n--primary-4: 40 48 62; --contrast-primary-4: 255 255 255;\n--primary-5: 43 54 72; --contrast-primary-5: 255 255 255;\n--primary-6: 45 58 81; --contrast-primary-6: 255 255 255;\n--primary-7: 52 68 96; --contrast-primary-7: 255 255 255;\n--primary-8: 59 78 112; --contrast-primary-8: 255 255 255;\n--primary-9: 52 109 219; --contrast-primary-9: 255 255 255;\n--primary-10: 80 139 252; --contrast-primary-10: 255 255 255;\n--primary-11: 161 193 251; --contrast-primary-11: 29 29 29;\n--primary-12: 219 255 255; --contrast-primary-12: 29 29 29;\n--primary-original: 52 109 219; --contrast-primary-original: 255 255 255;\n --tint-1: 29 29 29; --contrast-tint-1: 255 255 255;\n--tint-2: 39 33 32; --contrast-tint-2: 255 255 255;\n--tint-3: 53 40 38; --contrast-tint-3: 255 255 255;\n--tint-4: 61 42 39; --contrast-tint-4: 255 255 255;\n--tint-5: 71 46 42; --contrast-tint-5: 255 255 255;\n--tint-6: 79 48 43; --contrast-tint-6: 255 255 255;\n--tint-7: 94 56 49; --contrast-tint-7: 255 255 255;\n--tint-8: 110 63 56; --contrast-tint-8: 255 255 255;\n--tint-9: 224 73 57; --contrast-tint-9: 255 255 255;\n--tint-10: 238 86 69; --contrast-tint-10: 255 255 255;\n--tint-11: 247 169 156; --contrast-tint-11: 29 29 29;\n--tint-12: 255 229 214; --contrast-tint-12: 29 29 29;\n--tint-original: 184 29 18; --contrast-tint-original: 255 255 255;\n --neutral-1: 29 29 29; --contrast-neutral-1: 255 255 255;\n--neutral-2: 34 34 34; --contrast-neutral-2: 255 255 255;\n--neutral-3: 44 44 44; --contrast-neutral-3: 255 255 255;\n--neutral-4: 48 48 48; --contrast-neutral-4: 255 255 255;\n--neutral-5: 53 53 53; --contrast-neutral-5: 255 255 255;\n--neutral-6: 57 57 57; --contrast-neutral-6: 255 255 255;\n--neutral-7: 67 67 67; --contrast-neutral-7: 255 255 255;\n--neutral-8: 78 78 78; --contrast-neutral-8: 255 255 255;\n--neutral-9: 120 120 120; --contrast-neutral-9: 255 255 255;\n--neutral-10: 144 144 144; --contrast-neutral-10: 255 255 255;\n--neutral-11: 192 192 192; --contrast-neutral-11: 29 29 29;\n--neutral-12: 255 255 255; --contrast-neutral-12: 29 29 29;\n--neutral-original: 120 120 120; --contrast-neutral-original: 255 255 255;\n\n --header-background: 184 29 18;\n --header-link: 255 255 255;\n\n --info-1: 29 29 29; --contrast-info-1: 255 255 255;\n--info-2: 34 34 34; --contrast-info-2: 255 255 255;\n--info-3: 44 44 44; --contrast-info-3: 255 255 255;\n--info-4: 48 48 48; --contrast-info-4: 255 255 255;\n--info-5: 53 53 53; --contrast-info-5: 255 255 255;\n--info-6: 57 57 57; --contrast-info-6: 255 255 255;\n--info-7: 67 67 67; --contrast-info-7: 255 255 255;\n--info-8: 78 78 78; --contrast-info-8: 255 255 255;\n--info-9: 120 120 120; --contrast-info-9: 255 255 255;\n--info-10: 144 144 144; --contrast-info-10: 255 255 255;\n--info-11: 192 192 192; --contrast-info-11: 29 29 29;\n--info-12: 255 255 255; --contrast-info-12: 29 29 29;\n--info-original: 120 120 120; --contrast-info-original: 255 255 255;\n --warning-1: 29 29 29; --contrast-warning-1: 255 255 255;\n--warning-2: 38 34 30; --contrast-warning-2: 255 255 255;\n--warning-3: 50 42 35; --contrast-warning-3: 255 255 255;\n--warning-4: 57 45 34; --contrast-warning-4: 255 255 255;\n--warning-5: 66 50 34; --contrast-warning-5: 255 255 255;\n--warning-6: 73 53 33; --contrast-warning-6: 255 255 255;\n--warning-7: 87 62 37; --contrast-warning-7: 255 255 255;\n--warning-8: 101 71 41; --contrast-warning-8: 255 255 255;\n--warning-9: 254 154 0; --contrast-warning-9: 29 29 29;\n--warning-10: 213 116 0; --contrast-warning-10: 255 255 255;\n--warning-11: 231 181 132; --contrast-warning-11: 29 29 29;\n--warning-12: 255 243 187; --contrast-warning-12: 29 29 29;\n--warning-original: 254 154 0; --contrast-warning-original: 29 29 29;\n --danger-1: 29 29 29; --contrast-danger-1: 255 255 255;\n--danger-2: 40 32 32; --contrast-danger"])</script><script>self.__next_f.push([1,"-2: 255 255 255;\n--danger-3: 55 39 38; --contrast-danger-3: 255 255 255;\n--danger-4: 64 41 38; --contrast-danger-4: 255 255 255;\n--danger-5: 75 44 41; --contrast-danger-5: 255 255 255;\n--danger-6: 84 45 41; --contrast-danger-6: 255 255 255;\n--danger-7: 100 51 48; --contrast-danger-7: 255 255 255;\n--danger-8: 117 58 54; --contrast-danger-8: 255 255 255;\n--danger-9: 251 44 54; --contrast-danger-9: 255 255 255;\n--danger-10: 255 52 59; --contrast-danger-10: 255 255 255;\n--danger-11: 255 161 153; --contrast-danger-11: 29 29 29;\n--danger-12: 255 220 210; --contrast-danger-12: 29 29 29;\n--danger-original: 251 44 54; --contrast-danger-original: 255 255 255;\n --success-1: 29 29 29; --contrast-success-1: 255 255 255;\n--success-2: 31 36 32; --contrast-success-2: 255 255 255;\n--success-3: 37 47 38; --contrast-success-3: 255 255 255;\n--success-4: 37 52 39; --contrast-success-4: 255 255 255;\n--success-5: 38 60 41; --contrast-success-5: 255 255 255;\n--success-6: 38 65 41; --contrast-success-6: 255 255 255;\n--success-7: 42 77 48; --contrast-success-7: 255 255 255;\n--success-8: 47 89 54; --contrast-success-8: 255 255 255;\n--success-9: 0 201 80; --contrast-success-9: 29 29 29;\n--success-10: 0 176 54; --contrast-success-10: 255 255 255;\n--success-11: 144 211 153; --contrast-success-11: 29 29 29;\n--success-12: 201 255 210; --contrast-success-12: 29 29 29;\n--success-original: 0 201 80; --contrast-success-original: 29 29 29;\n }\n 16:[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"scroll-pt-[76px] theme-clean tint sidebar-default sidebar-list-default links-default __variable_f9f441 __variable_96046e __variable_a923d8 dark\",\"children\":[[\"$\",\"head\",null,{\"children\":[null,null,null,[\"$\",\"style\",null,{\"nonce\":\"$undefined\",\"children\":\"$1e\"}]]}],[\"$\",\"body\",null,{\"className\":\"[html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-subtle bg-tint-base theme-muted:bg-tint-subtle theme-gradient:bg-gradient-primary theme-gradient-tint:bg-gradient-tint\",\"children\":[\"$\",\"$L1f\",null,{\"assetsURL\":\"https://ka-p.fontawesome.com/releases/v6.6.0/\",\"assetsURLToken\":\"a463935e93\",\"assetsByStyles\":{\"custom-icons\":{\"assetsURL\":\"https://static.gitbook.com/~gitbook/static/icons\"}},\"iconStyle\":\"regular\",\"children\":[\"$\",\"$L20\",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_description\":\"Find the answer with AI\",\"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!\",\"was_this_helpful_comment\":\"Anything you'd like to add?\",\"submit\":\"Submit\",\"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 e"])</script><script>self.__next_f.push([1,"xist.\",\"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\",\"link_tooltip_external_link\":\"External link to\",\"link_tooltip_page_anchor\":\"Jump to section\",\"link_tooltip_ai_summary\":\"Page highlight\",\"link_tooltip_ai_summary_description\":\"Based on your context. May contain mistakes.\",\"open_in_new_tab\":\"Open in new tab\"},\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"middleware\",\"children\",\"(site)\",\"children\"],\"error\":\"$21\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]}]}]}]]}]\n15:[\"$\",\"$L22\",null,{\"children\":[\"$\",\"$L23\",null,{\"nonce\":\"$undefined\",\"forcedTheme\":\"$undefined\",\"children\":[[\"$\",\"$L24\",null,{\"basePath\":\"/tesa-developer/\",\"children\":[\"$\",\"$L25\",null,{\"enabled\":true,\"appURL\":\"https://app.gitbook.com\",\"apiHost\":\"https://api.gitbook.com\",\"organizationId\":\"79kwXe6Os4Cceoon9JUL\",\"siteId\":\"site_16oTY\",\"siteSectionId\":null,\"siteSpaceId\":\"sitesp_0CDeT\",\"siteShareKey\":null,\"revisionId\":\"eXk1StBnYJ1eDRRQ1fiN\",\"spaceId\":\"4cbrznEv1DwPp6m0FjGI\",\"visitorAuthClaims\":{},\"visitorCookieTrackingEnabled\":true,\"children\":[\"$L26\",[\"$\",\"header\",null,{\"id\":\"site-header\",\"className\":\"flex flex-col h-[64px] sticky top-0 z-30 w-full flex-none shadow-[0px_1px_0px] shadow-tint-12/2 bg-tint-base/9 theme-muted:bg-tint-subtle/9 [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-subtle/9 theme-gradient:bg-gradient-primary theme-gradient-tint:bg-gradient-tint contrast-more:bg-tint-base text-sm backdrop-blur-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"theme-bold:bg-header-background theme-bold:shadow-[0px_1px_0px] theme-bold:shadow-tint-12/2\",\"children\":[\"$\",\"div\",null,{\"className\":\"scroll-nojump\",\"children\":[\"$\",\"div\",null,{\"className\":\"gap-4 lg:gap-6 flex items-center justify-between w-full py-3 min-h-16 sm:h-16 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 max-w-full lg:basis-72 min-w-0 shrink items-center justify-start gap-2 lg:gap-4\",\"children\":[[\"$\",\"$L27\",null,{\"className\":\"lg:hidden -ml-2 text-tint-strong theme-bold:text-header-link hover:bg-tint-hover theme-bold:hover:bg-header-link/3 page-no-toc:hidden\"}],\"$L28\"]}],[\"$\",\"div\",null,{\"className\":\"flex grow-0 shrink-0 md:basis-56 justify-self-end order-last\",\"children\":[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L2a\",null,{\"style\":[\"theme-bold:bg-header-link/2\",\"theme-bold:hover:bg-header-link/3\",\"theme-bold:text-header-link/8\",\"theme-bold:hover:text-header-link\",\"theme-bold:ring-header-link/4\",\"theme-bold:hover:ring-header-link/5\",\"theme-bold:[\u0026_svg]:text-header-link/10\",\"theme-bold:[\u0026_.shortcut]:text-header-link/8\",\"theme-bold:contrast-more:bg-header-background\",\"theme-bold:contrast-more:text-header-link\",\"theme-bold:contrast-more:ring-header-link\",\"theme-bold:contrast-more:hover:bg-header-background\",\"theme-bold:contrast-more:hover:ring-header-link\",\"theme-bold:contrast-more:focus:text-header-link\",\"theme-bold:contrast-more:focus:bg-header-background\",\"theme-bold:contrast-more:focus:ring-header-link\",\"theme-bold:shadow-none\",\"theme-bold:hover:shadow-none\",\"whitespace-nowrap\"],\"children\":[\"$\",\"span\",null,{\"className\":\"flex-1\",\"children\":[\"Search\",\"...\"]}]}]}]}],false]}]}]}],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,{\"data-testid\":\"table-of-contents\",\"className\":\"group te"])</script><script>self.__next_f.push([1,"xt-sm grow-0 shrink-0 basis-full lg:basis-72 page-no-toc:lg:basis-56 relative z-[1] lg:sticky lg:top-0 lg:h-screen site-header:lg:top-16 site-header:lg:h-[calc(100vh_-_4rem)] site-header-sections:lg:top-[6.75rem] site-header-sections:lg:h-[calc(100vh_-_6.75rem)] pt-6 pb-4 sidebar-filled:lg:pr-6 page-no-toc:lg:pr-0 hidden navigation-open:!flex lg:flex page-no-toc:lg:hidden page-no-toc:xl:flex site-header-none:page-no-toc:lg:flex flex-col gap-4 navigation-open:border-b border-tint-subtle\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"lg:-ms-5 overflow-hidden relative flex flex-col flex-grow sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base page-no-toc:!bg-transparent sidebar-filled:rounded-xl straight-corners:rounded-none\",\"children\":[[\"$\",\"div\",null,{\"className\":\"px-5 *:my-4\",\"children\":[false,false,false]}],[\"$\",\"$L2b\",null,{\"className\":\"flex flex-grow flex-col p-2 lg:pb-20 overflow-y-auto lg:gutter-stable [\u0026::-webkit-scrollbar]:bg-transparent [\u0026::-webkit-scrollbar-thumb]:bg-transparent group-hover:[\u0026::-webkit-scrollbar]:bg-tint-subtle group-hover:[\u0026::-webkit-scrollbar-thumb]:bg-tint-7 group-hover:[\u0026::-webkit-scrollbar-thumb:hover]:bg-tint-8\",\"children\":[[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 page-no-toc:hidden sidebar-list-line:border-l border-tint-subtle\",\"children\":[\"$L2c\",\"$L2d\",[\"$\",\"li\",null,{\"className\":\"flex flex-col group/page-group-item\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base [html.sidebar-default.theme-gradient_\u0026]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_\u0026]:bg-gradient-tint\",\"children\":[\"$L2e\",\"Getting Started\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[\"$L2f\",\"$L30\",\"$L31\"]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col group/page-group-item\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base [html.sidebar-default.theme-gradient_\u0026]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_\u0026]:bg-gradient-tint\",\"children\":[\"$L32\",\"TESA University Program\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[\"$L33\",\"$L34\",\"$L35\"]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col group/page-group-item\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base [html.sidebar-default.theme-gradient_\u0026]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_\u0026]:bg-gradient-tint\",\"children\":[\"$L36\",\"TESA Technical Contents\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[\"$L37\",null,null,null,null,\"$L38\"]}]]}],[\"$\",\"li\",null,{\"className\":\"flex flex-col group/page-group-item\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 px-3 z-[1] sticky -top-5 pt-6 group-first/page-group-item:-mt-5 pb-3 -mb-1.5 text-xs tracking-wide font-semibold uppercase [mask-image:linear-gradient(rgba(0,0,0,1)_70%,rgba(0,0,0,0))] bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-fil"])</script><script>self.__next_f.push([1,"led.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base [html.sidebar-default.theme-gradient_\u0026]:bg-gradient-primary [html.sidebar-default.theme-gradient.tint_\u0026]:bg-gradient-tint\",\"children\":[\"$L39\",\"RECOMMENDED by TESA\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[\"$L3a\"]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"relative z-[2] lg:absolute left-0 right-2 bottom-0 pointer-events-none sidebar-filled:pl-2 sidebar-filled:pb-2 sidebar-filled:page-no-toc:p-0 bg-tint-base sidebar-filled:bg-tint-subtle theme-muted:bg-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:bg-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-base before:hidden lg:before:block before:content-[\\\"\\\"] before:absolute before:inset-x-0 before:bottom-full before:h-8 before:bg-gradient-to-b before:from-transparent before:to-tint-base sidebar-filled:before:to-tint-subtle theme-muted:before:to-tint-subtle [html.sidebar-filled.theme-muted_\u0026]:before:to-tint-base [html.sidebar-filled.theme-bold.tint_\u0026]:before:to-tint-base page-no-toc:before:!to-transparent\",\"children\":[\"$\",\"$L3b\",null,{\"target\":\"_blank\",\"href\":\"https://www.gitbook.com/?utm_source=content\u0026utm_medium=trademark\u0026utm_campaign=4cbrznEv1DwPp6m0FjGI\",\"className\":\"text-sm font-semibold text-tint flex flex-row items-center px-5 py-4 sidebar-filled:px-3 sidebar-filled:page-no-toc:lg:px-5 rounded-lg straight-corners:rounded-none hover:bg-tint hover:text-tint-strong ring-2 lg:ring-1 ring-inset ring-tint-subtle transition-colors pointer-events-auto\",\"insights\":{\"type\":\"trademark_click\",\"placement\":\"sidebar\"},\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"gitbook\",\"className\":\"size-5 shrink-0\"}],[\"$\",\"span\",null,{\"className\":\"ml-3\",\"children\":\"Powered by GitBook\"}]]}]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-1 flex-col\",\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"middleware\",\"children\",\"(site)\",\"children\",\"(content)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]}]]}]}],[\"$\",\"footer\",null,{\"className\":\"border-tint-subtle border-t xl:hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"scroll-nojump\",\"children\":[\"$\",\"div\",null,{\"className\":\"sm:px-6 md:px-8 max-w-screen-2xl page-full-width:max-w-full px-4 mx-auto flex gap-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hidden page-no-toc:hidden basis-72 lg:block\"}],[\"$\",\"div\",null,{\"className\":\"py-8 gap-12 flex flex-wrap items-start w-full flex-1 max-w-3xl page-full-width:max-w-none mx-auto\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"order-2 ml-auto flex items-center justify-end xl:hidden\",\"children\":[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L3d\",null,{}]}]}],null,[\"$\",\"div\",null,{\"className\":\"order-4 mx-auto flex w-full grow flex-col items-center gap-2 text-center text-tint text-xs empty:hidden self-center sm:order-1 sm:w-auto sm:max-w-3xl sm:flex-1 sm:items-start sm:text-start\",\"children\":null}]]}],[\"$\",\"div\",null,{\"className\":\"hidden page-no-toc:hidden lg:block xl:basis-56\"}]]}]}]}],[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L3e\",null,{\"spaceTitle\":\"TESA\",\"withAsk\":false,\"isMultiVariants\":false}]}]]}]}],null,null,[\"$\",\"script\",null,{\"nonce\":\"$undefined\",\"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 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"])</script><script>self.__next_f.push([1," 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 });\"}}],\"$L3f\"]}]}]\n42:I[66185,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"ToggleableLinkItem\"]\n26:null\n28:[\"$\",\"$L3b\",null,{\"href\":\"https://dev.tesa.or.th/tesa-developer/\",\"className\":\"group/headerlogo min-w-0 shrink flex items-center\",\"children\":[[\"$L40\",\"$L41\"],[\"$\",\"div\",null,{\"className\":\"text-pretty line-clamp-2 tracking-tight max-w-[18ch] lg:max-w-[24ch] font-semibold ms-3 text-base/tight lg:text-lg/tight text-tint-strong theme-bold:text-header-link\",\"children\":\"TESA Developer Space\"}]]}]\n2c:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/\",\"pathname\":\"\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"kzTlst3tKo255yz4YpDi\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[\"$L43\",\"Welcome\"]}]}]}]\n2d:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-podcast\",\"pathname\":\"tesa-podcast\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"oaxf7HtDdyiPYhxKefHv\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[\"$L44\",\"TESA Podcast\"]}]}]}]\n2e:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"children\":\"⭐\"}]\n2f:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/getting-started/who-we-are\",\"pathname\":\"getting-started/who-we-are\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"CyH2xJQs9yWJ1S8BYNav\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"microchip\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Who we are?\"]}]}]}]\n30:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/getting-started/what-we-do\",\"pathname\":\"getting-started/what-we-do\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"JjjojIyKxaiBPzzLwvtg\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"bullseye-arrow\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"What we do?\"]}]}]}]\n31:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/getting-started/whos-our-networking\",\"pathname\":\"getting-started/whos-our-networking\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"yRJFOdCt2DyxdNF70nnp\"},\"posi"])</script><script>self.__next_f.push([1,"tion\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"diagram-project\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Who's our Networking?\"]}]}]}]\n32:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"children\":\"🏫\"}]\n33:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os\",\"pathname\":\"tesa-university-program/rt-thread-iot-os\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"cEHgDv7NGBquDGHeLyQ4\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L45\"]}],\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"layer-group\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"RT-Thread IoT OS\"]}]}]}]\n34:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/fpga-edge-ai\",\"pathname\":\"tesa-university-program/fpga-edge-ai\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"ZXxfwYY21Yz9PCv9X7ja\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L46\"]}],\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"brain-circuit\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"FPGA Edge AI\"]}]}]}]\n35:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/problem-based-learning\",\"pathname\":\"tesa-university-program/problem-based-learning\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"3Unt0UHjhH3DA1XtsOSo\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L47\"]}],\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"tablet-rugged\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Problem-based Learning\"]}]}]}]\n36:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"chi"])</script><script>self.__next_f.push([1,"ldren\":\"📚\"}]\n37:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os\",\"pathname\":\"tesa-technical-contents/linux-os\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"IG1AzlMWDvqFXRYk4oiR\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L48\"]}],\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"linux\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Linux OS\"]}]}]}]\n38:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/karel-robot\",\"pathname\":\"tesa-technical-contents/karel-robot\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"2ON130FVUJrS4ru5a7Nw\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"user-robot\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Karel Robot\"]}]}]}]\n39:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"children\":\"🤘\"}]\n3a:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/recommended-by-tesa/embedded-systems-roadmap\",\"pathname\":\"recommended-by-tesa/embedded-systems-roadmap\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"NP3Ve7NfTDDqISVkfh5v\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":[\"$\",\"span\",null,{\"className\":\"flex gap-3 items-center\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"seedling\",\"className\":\"size-[1em] text-base text-tint-strong/6 group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary theme-gradient:bg-gradient-to-b theme-bold:bg-gradient-to-b theme-gradient:bg-fixed theme-bold:bg-fixed no-tint:from-primary-7 no-tint:to-primary-10 tint:from-tint-7 tint:to-tint-10 group-aria-current-page/toclink:bg-none shrink-0\"}],\"Embedded Systems Roadmap\"]}]}]}]\n3f:null\n43:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"children\":\"👏\"}]\n44:[\"$\",\"span\",null,{\"className\":\"font-emoji text-base group-aria-current-page/toclink:text-primary-subtle contrast-more:group-aria-current-page/toclink:text-primary shrink-0 text-inherit\",\"children\":\"📺\"}]\n45:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"HODj86GHhWm1LjsATnkO\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L49\",\"$L4a\"]}],\"children\":\"University Program\"}]}]\n46:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/f"])</script><script>self.__next_f.push([1,"pga-edge-ai/professional-courses\",\"pathname\":\"tesa-university-program/fpga-edge-ai/professional-courses\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"JXMQx3RyzOXPid5NW0iv\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Professional Courses\"}]}]\n47:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/problem-based-learning/stm32-development-toolchain\",\"pathname\":\"tesa-university-program/problem-based-learning/stm32-development-toolchain\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"BBgakgbCm8y5PtHPnVuJ\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"STM32 Development Toolchain\"}]}]\n48:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"Z75XaGgcH0fbINIVpkZC\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L4b\",\"$L4c\",\"$L4d\",\"$L4e\"]}],\"children\":\"Zero to Linux Hero\"}]}]\n49:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"P9u2oq9zeFZfholar8UR\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L4f\",\"$L50\",\"$L51\"]}],\"children\":\"RT-Thread Architecture\"}]}]\n4a:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"wDMHwn3GjlgUL42h8zkS\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L52\",\"$L53\",\"$L54\",\"$L55\",\"$L56\",\"$L57\",\"$L58\",\"$L59\",\"$L5a\"]}],\"children\":\"Edge AI Workshop\"}]}]\n4b:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/computer-os-architecture\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/computer-os-architecture\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"AYBKx3UWFejrSYdzOGwr\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Computer OS Architecture\"}]}]\n4c:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"MdtextZfVXIXh9WyU5mC\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L5b\",\"$L5c\"]}],\"children\":\"Anatomy of Linux System\"}]}]\n4d:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"gkwEBGf5mjfri2aejEP5\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 borde"])</script><script>self.__next_f.push([1,"r-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L5d\",\"$L5e\",\"$L5f\"]}],\"children\":\"Anatomy of Linux Kernel\"}]}]\n4e:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"hod2TsUBXf6ZwMNMGV8a\"},\"position\":\"sidebar\"}},\"descendants\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-0.5 ml-5 my-2 border-tint-subtle sidebar-list-default:border-l sidebar-list-line:border-l\",\"children\":[\"$L60\"]}],\"children\":\"Anatomy of Linux Kernel\"}]}]\n4f:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/hardware-supported\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/hardware-supported\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"PRwlmnvqtfVQmK6ONVQL\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Hardware supported\"}]}]\n50:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-layers\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-layers\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"qfKN699dtfWPlMb95e7y\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"RT-Thread Layers\"}]}]\n51:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-x-renesas\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-x-renesas\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"os0AXuGYPgdBlgsffMmm\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"RT-Thread x Renesas\"}]}]\n52:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/installation-and-first-coding\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/installation-and-first-coding\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"45bQ3qYAqeq4U5Cqf9Mq\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Installation \u0026 First Coding\"}]}]\n53:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/external-irq-via-button\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/external-irq-via-button\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"rEmqGFrGHONTL0JkxWUU\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"External IRQ via Button\"}]}]\n54:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-ulog-for-finsh\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-ulog-for-finsh\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"TLFV5ISnNfjNwE84nS94\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Enable Ulog for FinSH\"}]}]\n55:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-wifi-for-finsh\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/enable-wifi-for-finsh\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"pag"])</script><script>self.__next_f.push([1,"e\":\"utPW0rRj7PDkTGPdYkVj\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Enable WiFi for FinSH\"}]}]\n56:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/iot-connectivity-using-mqtt\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/iot-connectivity-using-mqtt\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"VR4xzaeJXRSt0mFh1muP\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"IoT Connectivity using MQTT\"}]}]\n57:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/openmv-ide\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/openmv-ide\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"0akn4u5sK05XeJNNShBT\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"OpenMV IDE\"}]}]\n58:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/micropython-programming\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/micropython-programming\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"KpjzytweGEnIujnJ6BVk\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"MicroPython Programming\"}]}]\n59:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/tflite-in-openmv\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/tflite-in-openmv\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"sXEhGV65VUfjY6dNDa5Z\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"TFLite in OpenMV\"}]}]\n5a:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/ai-model-training-via-edge-impulse\",\"pathname\":\"tesa-university-program/rt-thread-iot-os/university-program/edge-ai-workshop/ai-model-training-via-edge-impulse\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"jFaT8uAbsgD8KgjlywQm\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"AI Model Training via Edge Impulse\"}]}]\n5b:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/busybox\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/busybox\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"5t1yxoJP152FfG7hgxah\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Busybox\"}]}]\n5c:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/linux-environment-for-developer\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-system/linux-environment-for-developer\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"lqJOh8a75tPVZLsZqN55\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Linux Environment for Developer\"}]}]\n5d:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/unix-linux-history\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/unix-linux-history\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"PagkXtnesKY8yc6jTi0W\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"UNIX/Linux History\"}]}]\n5e:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-develo"])</script><script>self.__next_f.push([1,"per/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/gnu-project\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/gnu-project\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"PNPfQsBpS3MOimliEWYN\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"GNU Project\"}]}]\n5f:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/linux-os-architecture\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel/linux-os-architecture\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"4n0TOcq6TQZG4skczl66\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Linux OS Architecture\"}]}]\n60:[\"$\",\"li\",null,{\"className\":\"flex flex-col\",\"children\":[\"$\",\"$L42\",null,{\"href\":\"/tesa-developer/tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1/linux-kernel-principles\",\"pathname\":\"tesa-technical-contents/linux-os/zero-to-linux-hero/anatomy-of-linux-kernel-1/linux-kernel-principles\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"RFP52AbSk0nT6JxH6YhT\"},\"position\":\"sidebar\"}},\"descendants\":null,\"children\":\"Linux Kernel Principles\"}]}]\n61:T5d3,https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=1\u0026quality=100\u0026sign=187af243\u0026sv=2 32w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=2\u0026quality=100\u0026sign=187af243\u0026sv=2 64w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=3\u0026quality=100\u0026sign=187af243\u0026sv=2 96w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=4\u0026quality=100\u0026sign=187af243\u0026sv=2 128w41:[\"$\",\"img\",null,{\"alt\":\"\",\"style\":{\"aspectRatio\":\"1\"},\"loading\":\"lazy\",\"fetchPriority\":\"high\",\"data-visual-test\":\"$undefined\",\"className\":\"hidden dark:block object-contain size-8\",\"src\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=4\u0026quality=100\u0026sign=187af243\u0026sv=2\",\"srcSet\":\"$61\",\"sizes\":\"32px\",\"width\":1421,\"height\":1043}]\n62:T5d3,https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=1\u0026quality=100\u0026sign=187af243\u0026sv=2 32w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO"])</script><script>self.__next_f.push([1,".png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=2\u0026quality=100\u0026sign=187af243\u0026sv=2 64w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=3\u0026quality=100\u0026sign=187af243\u0026sv=2 96w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=4\u0026quality=100\u0026sign=187af243\u0026sv=2 128w40:[\"$\",\"img\",null,{\"alt\":\"\",\"style\":{\"aspectRatio\":\"1\"},\"loading\":\"$undefined\",\"fetchPriority\":\"high\",\"data-visual-test\":\"$undefined\",\"className\":\"block dark:hidden object-contain size-8\",\"src\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F860234306-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F79kwXe6Os4Cceoon9JUL%252Fsites%252Fsite_16oTY%252Ficon%252F3qVpb5QD8YqarKELkXKZ%252FTESA%2520LOGO.png%3Falt%3Dmedia%26token%3Dabaf6052-d666-4188-a537-c27a5a84da2f\u0026width=32\u0026dpr=4\u0026quality=100\u0026sign=187af243\u0026sv=2\",\"srcSet\":\"$62\",\"sizes\":\"32px\",\"width\":1421,\"height\":1043}]\n"])</script><script>self.__next_f.push([1,"63:I[1712,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"5446\",\"static/chunks/5446-b167832bc709e4d8.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"1855\",\"static/chunks/1855-69026ee010530da5.js\",\"8421\",\"static/chunks/8421-521c0f085ebe5199.js\",\"813\",\"static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js\"],\"PageContextProvider\"]\n66:I[93952,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"5446\",\"static/chunks/5446-b167832bc709e4d8.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"1855\",\"static/chunks/1855-69026ee010530da5.js\",\"8421\",\"static/chunks/8421-521c0f085ebe5199.js\",\"813\",\"static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js\"],\"Ad\"]\n67:I[46451,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"5446\",\"static/chunks/5446-b167832bc709e4d8.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"1855\",\"static/chunks/1855-69026ee010530da5.js\",\"8421\",\"static/chunks/8421-521c0f085ebe5199.js\",\"813\",\"static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js\"],\"PreservePageLayout\"]\n69:\"$Sreact.fragment\"\n6e:I[66819,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"4183\",\"static/chunks/app/middleware/(site)/layout-6a478930763b8b6e.js\"],\"DateRelative\"]\n6f:I[26700,[\"2829\",\"static/chunk"])</script><script>self.__next_f.push([1,"s/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"2241\",\"static/chunks/2241-ff00605587a5640e.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"6119\",\"static/chunks/app/middleware/(site)/(content)/layout-d37e8875194a8f57.js\"],\"TrackPageViewEvent\"]\n70:I[96498,[\"2829\",\"static/chunks/2829-c36fa68d4c5a3114.js\",\"8452\",\"static/chunks/8452-58a06fe46213e7f4.js\",\"5508\",\"static/chunks/5508-9b8dfeea3efa0656.js\",\"5446\",\"static/chunks/5446-b167832bc709e4d8.js\",\"2819\",\"static/chunks/2819-db4d66724f1ba10b.js\",\"983\",\"static/chunks/983-865702f226b7e6e6.js\",\"2237\",\"static/chunks/2237-fdb222ff2560b82a.js\",\"1855\",\"static/chunks/1855-69026ee010530da5.js\",\"8421\",\"static/chunks/8421-521c0f085ebe5199.js\",\"813\",\"static/chunks/app/middleware/(site)/(content)/%5B%5B...pathname%5D%5D/not-found-30f9c1c26faffd5d.js\"],\"PageClientLayout\"]\n10:[\"$\",\"$L63\",null,{\"pageId\":\"kzTlst3tKo255yz4YpDi\",\"spaceId\":\"4cbrznEv1DwPp6m0FjGI\",\"title\":\"Welcome\",\"children\":[\"$L64\",[\"$\",\"div\",null,{\"className\":\"flex grow flex-row-reverse justify-end\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"group/aside hidden xl:flex flex-col basis-56 grow-0 shrink-0 break-anywhere text-tint contrast-more:text-tint-strong sticky lg:top-0 lg:max-h-screen site-header:lg:top-16 site-header:lg:max-h-[calc(100vh_-_4rem)] site-header-sections:lg:top-[6.75rem] site-header-sections:lg:max-h-[calc(100vh_-_6.75rem)] page-api-block:xl:max-2xl:z-10 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-tint/9 page-api-block:xl:max-2xl:contrast-more:bg-tint page-api-block:xl:max-2xl:backdrop-blur-lg page-api-block:xl:max-2xl:border page-api-block:xl:max-2xl:border-tint page-api-block:xl:max-2xl:hover:shadow-lg page-api-block:xl:max-2xl:hover:shadow-tint-12/1 page-api-block:xl:max-2xl:dark:hover:shadow-tint-1/1 page-api-block:xl:max-2xl:rounded-md page-api-block:xl:max-2xl:h-auto page-api-block:xl:max-2xl:my-8 page-api-block:p-2\",\"children\":[[[\"$\",\"div\",null,{\"className\":\"hidden page-api-block:xl:max-2xl:flex text-xs tracking-wide font-semibold uppercase flex-row items-center gap-2\",\"children\":[[\"$\",\"$L3c\",null,{\"icon\":\"block-quote\",\"className\":\"size-3\"}],\"On this page\",[\"$\",\"$L3c\",null,{\"icon\":\"chevron-down\",\"className\":\"size-3 opacity-6 ml-auto page-api-block:xl:max-2xl:group-hover/aside:hidden\"}]]}],[\"$\",\"div\",null,{\"className\":\"overflow-y-auto overflow-x-visible flex flex-col shrink pb-12 sticky lg:top:0 site-header:lg:top-16 site-header-sections:lg:top-[6.75rem] gap-6 pt-8 page-api-block:xl:max-2xl:py-0 page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:group-hover/aside:flex\",\"children\":[[\"$\",\"$29\",null,{\"fallback\":null,\"children\":\"$L65\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-3 sidebar-list-default:px-3 border-t first:border-none border-tint-subtle py-4 first:pt-0 page-api-block:xl:max-2xl:px-3 empty:hidden\",\"children\":[null,null,null]}]]}]],[\"$\",\"div\",null,{\"className\":\"sticky bottom-0 z-10 mt-auto flex flex-col bg-tint-base theme-gradient-tint:bg-gradient-tint theme-gradient:bg-gradient-primary theme-muted:bg-tint-subtle pb-4 page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:pb-0 page-api-block:xl:max-2xl:group-hover/aside:flex [html.sidebar-filled.theme-bold.tint_\u0026]:bg-tint-subtle page-api-block:xl:max-2xl:bg-transparent\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mt-4 flex items-center justify-end\",\"children\":[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L3d\",null,{}]}]}],[\"$\",\"$L66\",null,{\"zoneId\":null,\"placement\":\"aside\",\"spaceId\":\"4cbrznEv1DwPp6m0FjGI\",\"siteAdsStatus\":\"$undefined\",\"ignore\":false,\"style\":\"$undefined\"}]]}]]}],[[\"$\",\"main\",null,{\"className\":\"relative min-w-0 flex-1 py-8 lg:px-12 break-anywhere page-api-block:xl:max-2xl:pr-0 page-api-block:mx-auto page-api-block:max-w-screen-2xl page-default-width page-has-toc\",\"children\":[[\"$\",\"$L67\",null,{\"asFullWidth\":false}],null,\"$L68\",[\"$\",\"$29\",null,{\"fallback\":[\"$\",\""])</script><script>self.__next_f.push([1,"div\",null,{\"className\":\"flex flex-col gap-4\",\"children\":[[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md h-[35px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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-tint-solid 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)]\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"jump-right-in\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md h-[47px] [max-width:calc(48rem-1px)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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-tint-solid 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)]\"}]}]}]}],[\"$\",\"div\",null,{\"id\":\"$undefined\",\"role\":\"status\",\"aria-busy\":true,\"className\":\"flex gap-[25px] mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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)_/_24px_24px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-tint-solid 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)] delay-0\"}]}]}],[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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)_/_24px_24px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-tint-solid 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)] [animation-delay:_200ms]\"}]}]}],[\"$\",\"div\",null,{\"className\":\"ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full bg-tint 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)_/_24px_24px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"aspect-square from-tint-solid 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)_90d"])</script><script>self.__next_f.push([1,"eg,_var(--tw-gradient-stops)_280deg)] [animation-delay:_400ms]\"}]}]}]]}]]}],\"children\":[\"$\",\"div\",null,{\"className\":\"grid [\u0026\u003e*+*]:mt-5 whitespace-pre-wrap\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":\"Welcome to the TESA Developer Portal! Here you'll get an overview of all the amazing TESA's contents to help you learn and practice via beautiful, interactive documentation.\"}]]]}],[\"$\",\"h3\",null,{\"id\":\"jump-right-in\",\"className\":\"text-2xl font-semibold heading group relative grid scroll-m-12 mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hash 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-[0.75em]\",\"children\":[\"$\",\"a\",null,{\"href\":\"#jump-right-in\",\"aria-label\":\"Direct link to heading\",\"className\":\"inline-flex h-full items-start leading-snug\",\"children\":[\"$\",\"$L3c\",null,{\"icon\":\"hashtag\",\"className\":\"w-3.5 h-[1em] mt-0.5 transition-colors text-transparent group-hover:text-tint-subtle contrast-more:group-hover:text-tint-strong lg:w-4\"}]}]}],[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-[1] justify-self-start text-left leading-snug mt-[0.75em]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":\"Jump right in\"}]]]}]]}],[\"$\",\"div\",null,{\"className\":\"mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0 inline-grid gap-4 grid-cols-1 min-[432px]:grid-cols-2 md:grid-cols-3\",\"children\":[\"$L6a\",\"$L6b\",\"$L6c\"]}]]}]}],\"$L6d\",[\"$\",\"div\",null,{\"className\":\"mx-auto mt-6 page-api-block:ml-0 flex max-w-3xl flex-row flex-wrap items-center gap-4 text-tint contrast-more:text-tint-strong\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mr-auto text-sm\",\"children\":[[[\"$\",\"$69\",\"string-0\",{\"children\":\"Last updated \"}],[\"$\",\"$69\",\"arg-0\",{\"children\":[\"$\",\"$L6e\",null,{\"value\":\"2024-11-23T03:49:45.470Z\"}]}]],\"\"]}],null]}]]}],[\"$\",\"$L6f\",null,{\"pageId\":\"kzTlst3tKo255yz4YpDi\"}]]]}],[\"$\",\"$29\",null,{\"fallback\":null,\"children\":[\"$\",\"$L70\",null,{\"withSections\":false}]}]]}]\n"])</script><script>self.__next_f.push([1,"68:[\"$\",\"header\",null,{\"className\":\"max-w-3xl mx-auto mb-6 space-y-3 page-api-block:ml-0\",\"children\":[false,[\"$\",\"h1\",null,{\"className\":\"text-4xl font-bold flex items-center gap-4\",\"children\":[\"$L71\",\"Welcome\"]}],null]}]\n6d:[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row mt-6 gap-2 max-w-3xl mx-auto page-api-block:ml-0 text-tint\",\"children\":[null,[\"$\",\"$L3b\",null,{\"href\":\"/tesa-developer/tesa-podcast\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"oaxf7HtDdyiPYhxKefHv\"},\"position\":\"content\"}},\"className\":\"group text-sm p-2.5 flex gap-4 flex-1 flex-row items-center pr-4 border border-tint-subtle rounded straight-corners:rounded-none hover:border-primary text-pretty 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-tint-strong group-hover:text-primary line-clamp-2\",\"children\":\"TESA Podcast\"}]]}],[\"$\",\"$L3c\",null,{\"icon\":\"chevron-right\",\"className\":\"hidden size-4 text-tint-subtle contrast-more:text-tint-strong group-hover:text-primary md:block\"}]]}]]}]\n65:null\n6a:[\"$\",\"$L3b\",null,{\"href\":\"/tesa-developer/getting-started/who-we-are\",\"className\":\"group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"CyH2xJQs9yWJ1S8BYNav\"},\"position\":\"content\"}},\"children\":[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [\u0026_.heading\u003ediv:first-child]:hidden [\u0026_.heading\u003ediv]:text-[.8em] md:[\u0026_.heading\u003ediv]:text-[1em] [\u0026_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]\","])</script><script>self.__next_f.push([1,"\"children\":[null,[\"$\",\"div\",null,{\"className\":\"min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong\",\"children\":[\"$L72\",\"$L73\"]}]]}]}]\n6b:[\"$\",\"$L3b\",null,{\"href\":\"/tesa-developer/getting-started/what-we-do\",\"className\":\"group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"JjjojIyKxaiBPzzLwvtg\"},\"position\":\"content\"}},\"children\":[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [\u0026_.heading\u003ediv:first-child]:hidden [\u0026_.heading\u003ediv]:text-[.8em] md:[\u0026_.heading\u003ediv]:text-[1em] [\u0026_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong\",\"children\":[\"$L74\",\"$L75\"]}]]}]}]\n6c:[\"$\",\"$L3b\",null,{\"href\":\"/tesa-developer/getting-started/whos-our-networking\",\"className\":\"group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5\",\"insights\":{\"type\":\"link_click\",\"link\":{\"target\":{\"kind\":\"page\",\"page\":\"yRJFOdCt2DyxdNF70nnp\"},\"position\":\"content\"}},\"children\":[\"$\",\"div\",null,{\"className\":\"grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [\u0026_.heading\u003ediv:first-child]:hidden [\u0026_.heading\u003ediv]:text-[.8em] md:[\u0026_.heading\u003ediv]:text-[1em] [\u0026_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong\",\"children\":[\"$L76\",\"$L77\"]}]]}]}]\n"])</script><script>self.__next_f.push([1,"71:[\"$\",\"span\",null,{\"className\":\"font-emoji shrink-0 text-inherit\",\"children\":\"👏\"}]\n72:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"Who we are?\"}]}]]]}]]}]\n73:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":\"Thai Embedded Systems Association (\"}],[\"$\",\"$69\",\"1\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"TESA\"}]}],[\"$\",\"$69\",\"2\",{\"children\":\")\"}]]]}]]}]\n74:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"What we do?\"}]}]]]}]]}]\n75:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":\"Mission \u0026 Strategy\"}]]]}]]}]\n76:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$\",\"$69\",\"0\",{\"children\":[\"$\",\"strong\",null,{\"className\":\"font-bold\",\"children\":\"What's our Networking?\"}]}]]]}]]}]\n77:[\"$\",\"div\",null,{\"aria-labelledby\":\"$undefined\",\"className\":\"blocks w-full space-y-2 lg:space-y-3 leading-normal center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mx-auto decoration-primary/6 w-full max-w-[unset]\",\"children\":[[[\"$"])</script><script>self.__next_f.push([1,"\",\"$69\",\"0\",{\"children\":\"Academic, Industry and Government\"}]]]}]]}]\n"])</script><div hidden id="S:0"><template id="P:1"></template><div class="flex grow flex-row-reverse justify-end"><aside class="group/aside hidden xl:flex flex-col basis-56 grow-0 shrink-0 break-anywhere text-tint contrast-more:text-tint-strong sticky lg:top-0 lg:max-h-screen site-header:lg:top-16 site-header:lg:max-h-[calc(100vh_-_4rem)] site-header-sections:lg:top-[6.75rem] site-header-sections:lg:max-h-[calc(100vh_-_6.75rem)] page-api-block:xl:max-2xl:z-10 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-tint/9 page-api-block:xl:max-2xl:contrast-more:bg-tint page-api-block:xl:max-2xl:backdrop-blur-lg page-api-block:xl:max-2xl:border page-api-block:xl:max-2xl:border-tint page-api-block:xl:max-2xl:hover:shadow-lg page-api-block:xl:max-2xl:hover:shadow-tint-12/1 page-api-block:xl:max-2xl:dark:hover:shadow-tint-1/1 page-api-block:xl:max-2xl:rounded-md page-api-block:xl:max-2xl:h-auto page-api-block:xl:max-2xl:my-8 page-api-block:p-2"><div class="hidden page-api-block:xl:max-2xl:flex text-xs tracking-wide font-semibold uppercase flex-row items-center gap-2"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/block-quote.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3"></svg>On this page<svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-down.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-3 opacity-6 ml-auto page-api-block:xl:max-2xl:group-hover/aside:hidden"></svg></div><div class="overflow-y-auto overflow-x-visible flex flex-col shrink pb-12 sticky lg:top:0 site-header:lg:top-16 site-header-sections:lg:top-[6.75rem] gap-6 pt-8 page-api-block:xl:max-2xl:py-0 page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:group-hover/aside:flex"><!--$--><!--/$--><div class="flex flex-col gap-3 sidebar-list-default:px-3 border-t first:border-none border-tint-subtle py-4 first:pt-0 page-api-block:xl:max-2xl:px-3 empty:hidden"></div></div><div class="sticky bottom-0 z-10 mt-auto flex flex-col bg-tint-base theme-gradient-tint:bg-gradient-tint theme-gradient:bg-gradient-primary theme-muted:bg-tint-subtle pb-4 page-api-block:xl:max-2xl:hidden page-api-block:xl:max-2xl:pb-0 page-api-block:xl:max-2xl:group-hover/aside:flex [html.sidebar-filled.theme-bold.tint_&amp;]:bg-tint-subtle page-api-block:xl:max-2xl:bg-transparent"><div class="mt-4 flex items-center justify-end"><!--$--><div role="radiogroup" class="flex flex-row gap-2"><button type="button" role="radio" aria-label="Switch to light theme" title="Switch to light theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/sun-bright.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button><button type="button" role="radio" aria-label="Switch to system theme" title="Switch to system theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/desktop.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button><button type="button" role="radio" aria-label="Switch to dark theme" title="Switch to dark theme" aria-checked="false" class="p-2 rounded straight-corners:rounded-none transition-all text-tint contrast-more:text-tint-strong hover:bg-tint-hover contrast-more:hover:ring-2 contrast-more:focus:ring-2 ring-tint"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/moon.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon size-4"></svg></button></div><!--/$--></div><div class="" data-visual-test="removed"></div></div></aside><main class="relative min-w-0 flex-1 py-8 lg:px-12 break-anywhere page-api-block:xl:max-2xl:pr-0 page-api-block:mx-auto page-api-block:max-w-screen-2xl page-default-width page-has-toc"><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"><template id="P:2"></template>Welcome</h1></header><!--$?--><template id="B:3"></template><div class="flex flex-col gap-4"><div role="status" aria-busy="true" class="mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md h-[35px] [max-width:calc(48rem-1px)]"><div class="w-full bg-tint 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-tint-solid 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)]"></div></div></div></div><div id="jump-right-in" role="status" aria-busy="true" class="mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md h-[47px] [max-width:calc(48rem-1px)]"><div class="w-full bg-tint 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-tint-solid 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)]"></div></div></div></div><div role="status" aria-busy="true" class="flex gap-[25px] mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full"><div class="w-full bg-tint 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)_/_24px_24px]"><div class="aspect-square from-tint-solid 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)] delay-0"></div></div></div><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full"><div class="w-full bg-tint 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)_/_24px_24px]"><div class="aspect-square from-tint-solid 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)] [animation-delay:_200ms]"></div></div></div><div class="ring-1 ring-tint-subtle overflow-hidden relative grid rounded-md aspect-[1/1.2] w-full"><div class="w-full bg-tint 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)_/_24px_24px]"><div class="aspect-square from-tint-solid 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)] [animation-delay:_400ms]"></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 text-tint"><a class="group text-sm p-2.5 flex gap-4 flex-1 flex-row items-center pr-4 border border-tint-subtle rounded straight-corners:rounded-none hover:border-primary text-pretty md:p-4 md:text-base" href="/tesa-developer/tesa-podcast"><span class="flex flex-col flex-1"><span class="text-xs">Next</span><span class="text-tint-strong group-hover:text-primary line-clamp-2">TESA Podcast</span></span><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/chevron-right.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon hidden size-4 text-tint-subtle contrast-more:text-tint-strong group-hover:text-primary md:block"></svg></a></div><div class="mx-auto mt-6 page-api-block:ml-0 flex max-w-3xl flex-row flex-wrap items-center gap-4 text-tint contrast-more:text-tint-strong"><p class="mr-auto text-sm">Last updated <time data-visual-test="transparent" dateTime="2024-11-23T03:49:45.470Z" title="11/23/2024, 3:49:45 AM">4 months ago</time></p></div></main></div><!--$--><!--/$--></div><div hidden id="S:3"><div class="grid [&amp;&gt;*+*]:mt-5 whitespace-pre-wrap"><p class="mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0">Welcome to the TESA Developer Portal! Here you&#x27;ll get an overview of all the amazing TESA&#x27;s contents to help you learn and practice via beautiful, interactive documentation.</p><h3 id="jump-right-in" class="text-2xl font-semibold heading group relative grid scroll-m-12 mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0"><div class="hash 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-[0.75em]"><a href="#jump-right-in" aria-label="Direct link to heading" class="inline-flex h-full items-start leading-snug"><svg style="mask-image:url(https://ka-p.fontawesome.com/releases/v6.6.0/svgs/regular/hashtag.svg?v=2&amp;token=a463935e93);mask-repeat:no-repeat;mask-position:center" class="gb-icon w-3.5 h-[1em] mt-0.5 transition-colors text-transparent group-hover:text-tint-subtle contrast-more:group-hover:text-tint-strong lg:w-4"></svg></a></div><div class="grid-area-1-1 z-[1] justify-self-start text-left leading-snug mt-[0.75em]">Jump right in</div></h3><div class="mx-auto w-full decoration-primary/6 max-w-3xl page-api-block:ml-0 inline-grid gap-4 grid-cols-1 min-[432px]:grid-cols-2 md:grid-cols-3"><a class="group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5" href="/tesa-developer/getting-started/who-we-are"><div class="grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [&amp;_.heading&gt;div:first-child]:hidden [&amp;_.heading&gt;div]:text-[.8em] md:[&amp;_.heading&gt;div]:text-[1em] [&amp;_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]"><div class="min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong"><template id="P:4"></template><template id="P:5"></template></div></div></a><a class="group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5" href="/tesa-developer/getting-started/what-we-do"><div class="grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [&amp;_.heading&gt;div:first-child]:hidden [&amp;_.heading&gt;div]:text-[.8em] md:[&amp;_.heading&gt;div]:text-[1em] [&amp;_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]"><div class="min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong"><template id="P:6"></template><template id="P:7"></template></div></div></a><a class="group grid shadow-1xs shadow-tint-9/1 rounded-md straight-corners:rounded-none dark:shadow-transparent z-0 before:pointer-events-none before:grid-area-1-1 before:transition-shadow before:w-full before:h-full before:rounded-[inherit] before:ring-1 before:ring-tint-12/2 before:z-10 before:relative hover:before:ring-tint-12/5" href="/tesa-developer/getting-started/whos-our-networking"><div class="grid-area-1-1 z-0 relative grid bg-tint-base w-[calc(100%+2px)] h-[calc(100%+2px)] inset-[-1px] rounded-[7px] straight-corners:rounded-none overflow-hidden [&amp;_.heading&gt;div:first-child]:hidden [&amp;_.heading&gt;div]:text-[.8em] md:[&amp;_.heading&gt;div]:text-[1em] [&amp;_.blocks:first-child_.heading:first-child_div]:mt-0 grid-rows-[auto,1fr]"><div class="min-w-0 w-full flex flex-col place-self-start gap-3 p-4 text-sm transition-colors text-tint group-hover:text-tint-strong"><template id="P:8"></template><template id="P:9"></template></div></div></a></div></div></div><div hidden id="S:4"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]"><strong class="font-bold">Who we are?</strong></p></div></div><script>$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:4","P:4")</script><div hidden id="S:5"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]">Thai Embedded Systems Association (<strong class="font-bold">TESA</strong>)</p></div></div><script>$RS("S:5","P:5")</script><div hidden id="S:6"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]"><strong class="font-bold">What we do?</strong></p></div></div><script>$RS("S:6","P:6")</script><div hidden id="S:7"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]">Mission &amp; Strategy</p></div></div><script>$RS("S:7","P:7")</script><div hidden id="S:8"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]"><strong class="font-bold">What&#x27;s our Networking?</strong></p></div></div><script>$RS("S:8","P:8")</script><div hidden id="S:9"><div class="blocks w-full space-y-2 lg:space-y-3 leading-normal center"><p class="mx-auto decoration-primary/6 w-full max-w-[unset]">Academic, Industry and Government</p></div></div><script>$RS("S:9","P:9")</script><script>$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:3","S:3")</script><div hidden id="S:2"><span class="font-emoji shrink-0 text-inherit">👏</span></div><script>$RS("S:2","P:2")</script><script>self.__next_f.push([1,"64:[\"$\",\"div\",null,{\"className\":\"overflow-hidden -mx-4 sm:-mx-6 md:-mx-8 -lg:mr-8 lg:ml-0\",\"children\":[\"$L78\",null]}]\n"])</script><script>self.__next_f.push([1,"79:Tff5,"])</script><script>self.__next_f.push([1,"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=768\u0026dpr=1\u0026quality=100\u0026sign=45e317db\u0026sv=2 768w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=768\u0026dpr=2\u0026quality=100\u0026sign=45e317db\u0026sv=2 1536w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=45e317db\u0026sv=2 2304w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=768\u0026dpr=4\u0026quality=100\u0026sign=45e317db\u0026sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1024\u0026dpr=1\u0026quality=100\u0026sign=45e317db\u0026sv=2 1024w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1024\u0026dpr=2\u0026quality=100\u0026sign=45e317db\u0026sv=2 2048w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1024\u0026dpr=3\u0026quality=100\u0026sign=45e317db\u0026sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1024\u0026dpr=4\u0026quality=100\u0026sign=45e317db\u0026sv=2 4096w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1248\u0026dpr=1\u0026quality=100\u0026sign=45e317db\u0026sv=2 1248w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1248\u0026dpr=2\u0026quality=100\u0026sign=45e317db\u0026sv=2 2496w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1248\u0026dpr=3\u0026quality=100\u0026sign=45e317db\u0026sv=2 3744w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1248\u0026dpr=4\u0026quality=100\u0026sign=45e317db\u0026sv=2 4992w78:[\"$\",\"im"])</script><script>self.__next_f.push([1,"g\",null,{\"alt\":\"Page cover image\",\"style\":{\"aspectRatio\":\"1990/480\"},\"loading\":\"$undefined\",\"fetchPriority\":\"$undefined\",\"className\":\"w-full object-cover object-center block\",\"src\":\"https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450\u0026width=1248\u0026dpr=4\u0026quality=100\u0026sign=45e317db\u0026sv=2\",\"srcSet\":\"$79\",\"sizes\":\"(max-width: 768px) 768px, (max-width: 1024px) 1024px, 1248px\",\"width\":2169,\"height\":770}]\n"])</script><div hidden id="S:1"><div class="overflow-hidden -mx-4 sm:-mx-6 md:-mx-8 -lg:mr-8 lg:ml-0"><template id="P:a"></template></div></div><script>$RS("S:1","P:1")</script><link rel="preload" as="image" imageSrcSet="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 768w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 1536w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 2304w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 1024w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 2048w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 4096w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 1248w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 2496w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 3744w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 4992w" imageSizes="(max-width: 768px) 768px, (max-width: 1024px) 1024px, 1248px"/><div hidden id="S:a"><img alt="Page cover image" style="aspect-ratio:1990/480" class="w-full object-cover object-center block" src="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2" srcSet="https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 768w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 1536w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 2304w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=768&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 1024w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 2048w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 3072w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1024&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 4096w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=1&amp;quality=100&amp;sign=45e317db&amp;sv=2 1248w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=2&amp;quality=100&amp;sign=45e317db&amp;sv=2 2496w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=3&amp;quality=100&amp;sign=45e317db&amp;sv=2 3744w, https://dev.tesa.or.th/~gitbook/image?url=https%3A%2F%2F2179313969-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4cbrznEv1DwPp6m0FjGI%252Fuploads%252FZiEcVQTnfeKQnzxmgFTA%252Fcover.jpg%3Falt%3Dmedia%26token%3Db00d818c-b233-4220-bda3-97b2786e4450&amp;width=1248&amp;dpr=4&amp;quality=100&amp;sign=45e317db&amp;sv=2 4992w" sizes="(max-width: 768px) 768px, (max-width: 1024px) 1024px, 1248px" width="2169" height="770"/></div><script>$RS("S:a","P:a")</script><script>$RC("B:0","S:0")</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10