PageSourceSearch

https://interstacks.com/

html interstacks.com collected 2026-10-08 18:42:43 UTC 89,846 bytes, 1,425 lines download raw bytes

1<!DOCTYPE html>
2<html class="no-js" lang="en-US">
3<head>
4  <meta charset="utf-8">
5  <meta name="viewport" content="width=device-width, initial-scale=1">
6  <meta name="facebook-domain-verification" content="0nxp7nj0pxgs3fyafjc2od2icffoxz" />
7
8  <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
9
10	<!-- This site is optimized with the Yoast SEO plugin v25.6 - https://yoast.com/wordpress/plugins/seo/ -->
11	<title>Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks</title>
12	<meta name="description" content="Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things." />
13	<link rel="canonical" href="https://interstacks.com/" />
14	<meta property="og:locale" content="en_US" />
15	<meta property="og:type" content="website" />
16	<meta property="og:title" content="Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks" />
17	<meta property="og:description" content="Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things." />
18	<meta property="og:url" content="https://interstacks.com/" />
19	<meta property="og:site_name" content="Interstacks" />
20	<meta property="article:publisher" content="https://www.facebook.com/Interstacks/" />
21	<meta property="article:modified_time" content="2026-04-22T00:48:24+00:00" />
22	<meta property="og:image" content="https://interstacks.com/wp-content/uploads/2018/05/Interstacks-Logo.png" />
23	<meta property="og:image:width" content="344" />
24	<meta property="og:image:height" content="168" />
25	<meta property="og:image:type" content="image/png" />
26	<meta name="twitter:card" content="summary_large_image" />
27	<meta name="twitter:site" content="@interstacks" />
28	
28<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://interstacks.com/","url":"https://interstacks.com/","name":"Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks","isPartOf":{"@id":"https://interstacks.com/#website"},"datePublished":"2022-08-24T15:40:10+00:00","dateModified":"2026-04-22T00:48:24+00:00","description":"Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things.","breadcrumb":{"@id":"https://interstacks.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://interstacks.com/"]}]},{"@type":"BreadcrumbList","@id":"https://interstacks.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://interstacks.com/#website","url":"https://interstacks.com/","name":"Interstacks","description":"Interstacks makes it easy to monitor machines and sensors","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://interstacks.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
28
29	<meta name="msvalidate.01" content="502AE69B4F0379434A436A080566616E" />
30	<meta name="google-site-verification" content="gTsTZinmLCmUZPEF90JLo81uckdMKqhiwJlTqaqRolg" />
31	<!-- / Yoast SEO plugin. -->
32
33
34<link rel='dns-prefetch' href='//www.googletagmanager.com' />
35<link rel='dns-prefetch' href='//fonts.googleapis.com' />
36<link rel='stylesheet' id='wp-block-library-css' href='https://interstacks.com/wp-includes/css/dist/block-library/style.min.css?ver=6.6.10' type='text/css' media='all' />
37<style id='outermost-icon-block-style-inline-css' type='text/css'>
38.wp-block-outermost-icon-block{display:flex;line-height:0}.wp-block-outermost-icon-block.has-border-color{border:none}.wp-block-outermost-icon-block .has-icon-color svg,.wp-block-outermost-icon-block.has-icon-color svg{color:currentColor}.wp-block-outermost-icon-block .has-icon-color:not(.has-no-icon-fill-color) svg,.wp-block-outermost-icon-block.has-icon-color:not(.has-no-icon-fill-color) svg{fill:currentColor}.wp-block-outermost-icon-block .icon-container{box-sizing:border-box}.wp-block-outermost-icon-block a,.wp-block-outermost-icon-block svg{height:100%;transition:transform .1s ease-in-out;width:100%}.wp-block-outermost-icon-block a:hover{transform:scale(1.1)}.wp-block-outermost-icon-block svg{transform:rotate(var(--outermost--icon-block--transform-rotate,0deg)) scaleX(var(--outermost--icon-block--transform-scale-x,1)) scaleY(var(--outermost--icon-block--transform-scale-y,1))}.wp-block-outermost-icon-block .rotate-90,.wp-block-outermost-icon-block.rotate-90{--outermost--icon-block--transform-rotate:90deg}.wp-block-outermost-icon-block .rotate-180,.wp-block-outermost-icon-block.rotate-180{--outermost--icon-block--transform-rotate:180deg}.wp-block-outermost-icon-block .rotate-270,.wp-block-outermost-icon-block.rotate-270{
38--outermost--icon-block--transform-rotate:270deg}.wp-block-outermost-icon-block .flip-horizontal,.wp-block-outermost-icon-block.flip-horizontal{--outermost--icon-block--transform-scale-x:-1}.wp-block-outermost-icon-block .flip-vertical,.wp-block-outermost-icon-block.flip-vertical{--outermost--icon-block--transform-scale-y:-1}.wp-block-outermost-icon-block .flip-vertical.flip-horizontal,.wp-block-outermost-icon-block.flip-vertical.flip-horizontal{--outermost--icon-block--transform-scale-x:-1;--outermost--icon-block--transform-scale-y:-1}
39
40</style>
41<style id='classic-theme-styles-inline-css' type='text/css'>
42/*! This file is auto-generated */
43.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
44</style>
45<style id='global-styles-inline-css' type='text/css'>
46:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
46--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
46.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
47:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
48:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
49:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
50</style>
51<link rel='stylesheet' id='woocommerce-layout-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=9.8.7' type='text/css' media='all' />
52<link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=9.8.7' type='text/css' media='only screen and (max-width: 768px)' />
53<link rel='stylesheet' id='woocommerce-general-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=9.8.7' type='text/css' media='all' />
54<style id='woocommerce-inline-inline-css' type='text/css'>
55.woocommerce form .form-row .required { visibility: visible; }
56</style>
57<link rel='stylesheet' id='brands-styles-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/brands.css?ver=9.8.7' type='text/css' media='all' />
58<link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=EB+Garamond%3A400%2C700%7CMontserrat%3A400%2C400i%2C500%2C700&#038;ver=6.6.10' type='text/css' media='screen' />
59<link rel='stylesheet' id='screen-css' href='https://interstacks.com/wp-content/themes/boxpress/assets/css/style.min.css?ver=1773606452' type='text/css' media='screen' />
60<link rel='stylesheet' id='print-css' href='https://interstacks.com/wp-content/themes/boxpress/assets/css/print.css?ver=1773606452' type='text/css' media='print' />
61<script type="text/javascript" id="woocommerce-google-analytics-integration-gtag-js-after">
62/* <![CDATA[ */
63/* Google Analytics for WooCommerce (gtag.js) */
64					window.dataLayer = window.dataLayer || [];
65					function gtag(){dataLayer.push(arguments);}
66					// Set up default consent state.
67					for ( const mode of [{"analytics_storage":"denied","ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH"]}] || [] ) {
68						gtag( "consent", "default", { "wait_for_update": 500, ...mode } );
69					}
70					gtag("js", new Date());
71					gtag("set", "developer_id.dOGY3NW", true);
72					gtag("config", "G-43TVGEK38G", {"track_404":true,"allow_google_signals":false,"logged_in":false,"linker":{"domains":[],"allow_incoming":false},"custom_map":{"dimension1":"logged_in"}});
73/* ]]> */
74</script>
vendor: 1 bytes, line 74
74
75<script type="text/javascript" src="https://interstacks.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 75
75
76<script type="text/javascript" src="https://interstacks.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 76
76
77<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.9.8.7" id="jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 77
77
78<script type="text/javascript" id="wc-add-to-cart-js-extra">
79/* <![CDATA[ */
80var wc_add_to_cart_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https:\/\/interstacks.com\/cart\/","is_cart":"","cart_redirect_after_add":"no"};
81/* ]]> */
82</script>
vendor: 1 bytes, line 82
82
83<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=9.8.7" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 83
83
84<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.9.8.7" id="js-cookie-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 84
84
85<script type="text/javascript" id="woocommerce-js-extra">
86/* <![CDATA[ */
87var woocommerce_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"};
88/* ]]> */
89</script>
vendor: 1 bytes, line 89
89
90<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=9.8.7" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 90
90
91<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/modernizr.js?ver=1773606452" id="modernizr-js"></script>
91
92<link rel="https://api.w.org/" href="https://interstacks.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://interstacks.com/wp-json/wp/v2/pages/28405" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://interstacks.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finterstacks.com%2F" />
93<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://interstacks.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finterstacks.com%2F&#038;format=xml" />
94<!-- start Simple Custom CSS and JS -->
95<!-- Google Tag Manager -->
96<script>
vendor: 331 bytes, lines 96-100
96(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
97new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
98j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
99'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
100})(window,document,'script','dataLayer','
100GTM-M7Q384V6
vendor: 3 bytes, line 100
100');
100</script>
100
101<!-- End Google Tag Manager -->
vendor: 67 bytes, lines 101-103
101
102
103<script async src="https://www.googletagmanager.com/gtag/js?id=
103G-43TVGEK38G
vendor: 13 bytes, line 103
103"></script>
104<script>
105  
vendor: 138 bytes, lines 105-109
105window.dataLayer = window.dataLayer || [];
106  function gtag(){dataLayer.push(arguments);}
107  gtag('js', new Date());
108
109  gtag('config', '
109G-43TVGEK38G
vendor: 5 bytes, line 109
109');
110</script>
110
111
112<!-- Facebook Pixel Code -->
113<script>
vendor: 408 bytes, lines 113-122
113
114!function(f,b,e,v,n,t,s)
115{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
116n.callMethod.apply(n,arguments):n.queue.push(arguments)};
117if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
118n.queue=[];t=b.createElement(e);t.async=!0;
119t.src=v;s=b.getElementsByTagName(e)[0];
120s.parentNode.insertBefore(t,s)}(window,document,'script',
121'https://connect.facebook.net/en_US/fbevents.js');
122 fbq('init', '
122212909056075311
vendor: 33 bytes, lines 122-123
122'); 
123fbq('track', 'PageView');
124</script>
124
125<noscript>
126 <img height="1" width="1" 
127src="https://www.facebook.com/tr?id=212909056075311&ev=PageView
128&noscript=1"/>
129</noscript>
130<!-- End Facebook Pixel Code -->
131
132<!-- end Simple Custom CSS and JS -->
133<!-- start Simple Custom CSS and JS -->
134<script type="text/javascript">
135         var isxbase = {
136         };
137         var toVSMF;
138         var fromVSMF;
139         
140         (function() {
141           'use strict';
142           
143           function toUTF8Array(str) {
144             var utf8 = [];
145             for (var i = 0; i < str.length; i++) {
146               var charcode = str.charCodeAt(i);
147               if (charcode < 0x80) utf8.push(charcode);
148               else if (charcode < 0x800) {
149                 utf8.push(0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f));
150               } else if (charcode < 0xd800 || charcode >= 0xe000) {
151                 utf8.push(
152                   0xe0 | (charcode >> 12),
153                   0x80 | ((charcode >> 6) & 0x3f),
154                   0x80 | (charcode & 0x3f)
155                 );
156               }
157               // surrogate pair
158               else {
159                 i++;
160                 // UTF-16 encodes 0x10000-0x10FFFF by
161                 // subtracting 0x10000 and splitting the
162                 // 20 bits of 0x0-0xFFFFF into two halves
163                 charcode =
164                   0x10000 + (((charcode & 0x3ff) << 10) | (str.charCodeAt(i) & 0x3ff));
165                 utf8.push(
166                   0xf0 | (charcode >> 18),
167                   0x80 | ((charcode >> 12) & 0x3f),
168                   0x80 | ((charcode >> 6) & 0x3f),
169                   0x80 | (charcode & 0x3f)
170                 );
171               }
172             }
173             return utf8;
174           }
175           
176           const ToBase64 = function (u8) {
177             return btoa(String.fromCharCode.apply(null, u8));
178           }
179           const FromBase64 = function (str) {
180             return atob(str).split('').map(function (c) { return c.charCodeAt(0); });
181           }
182
183           const CBuf = function(buffer, start, len) {
184             this.buffer = buffer;
185             this.s = start || 0;
186             this.len = len || buffer.length;
187             this.o = 0;
188           }
189           CBuf.prototype.byte = function() {
190             this.o += 1;
191             return this.buffer[this.s+this.o-1];
192           }
193           CBuf.prototype.readEint = function() {
194             const e = this.byte();
195             if(e < 0xfc) return e;
196             let l = 0;
197             if(e == 0xfc) l = 2;
198             else if(e == 0xfd) l = 4;
199             else if(e == 0xfe) l = 8;
200             else l = this.readEint();
201             let val = 0;
202             while(l--) {
203               val = val * 256 + this.byte();
204             }
205             return val;
206           }
207           CBuf.prototype.readString = function(l) {
208             function utf8_to_str(a) {
209               for(var i=0, s=''; i<a.length; i++) {
210                 var h = a[i].toString(16)
211                 if(h.length < 2) h = '0' + h
212                 s += '%' + h
213               }
214               return decodeURIComponent(s)
215             }
216             const a = utf8_to_str(this.buffer.slice(this.s+this.o, this.s+this.o+l))
217             this.o += l;
218             return a;
219           }
220           CBuf.prototype.readBinary = function(l) {
221             const a = ToBase64(this.buffer.slice(this.s+this.o,this.s+this.o+l));
222             this.o += l;
223             return a;
224           }
225           CBuf.prototype.readVSMF = function(l) {
226             const backup = this.o;
227             const typ = this.byte();
228             const abc = typ >> 5;
229             const defgh = typ & 0x1f;
230             let tl, kind, id;
231             if(abc == 6) {//complex
232               const d = defgh >> 4;
233               const e = (defgh >> 3) & 1;
234               const fgh = defgh & 7;
235               tl = (d == 0) ? -1 : this.readEint();
236               kind = (e == 0) ? 1 : this.readEint();
237               id = (fgh != 7) ? fgh : this.readBinary(this.readEint());
238             } else {
239               if(abc == 7) {
240                 tl = this.readEint();
241               } else {
242                 tl = [0,1,2,4,8,-1][abc];
243               }
244               kind = 0;
245               if(defgh != 0x1f) {
246                 id = defgh;
247               } else {
248                 id = this.readBinary(this.readEint());
249               }
250             }
251             if(kind != 0) throw "yikes"; //not yet support HOMAR STRUCT
252             if(tl == -1) tl = this.readEint();
253             const end = this.o + tl;
254             switch(id) {
255               case 2: //array
256                 {
257                   const ret = [];
258                   while(this.o < end) {
259                     ret.push(this.readVSMF());
260                   }
261                   return ret;
262                 }
263               case 3: //UUID
264                 return { '':['UUID', this.readBinary(tl)] };
265               case 5: //string
266                 return this.readString(tl);
267               case 6: //eform
268                 {
269                   const ret = {};
270                   while(this.o < end) {
271                     const k = this.readString(this.readEint());
272                     const vl = this.readEint();
273                     const v = this.readVSMF(vl);
274                     ret[k] = v;
275                   }
276                   return ret;
277                 }
278               case 8: //lsb int
279                 {
280                   if(tl == 0) return null;
281                   let ret = 0, mult = 1, tw = 2**(tl*8);
282                   while(tl--) {
283                     let b = this.byte();
284                     neg = b & 128;
285                     ret += b*mult;
286                     mult *= 256;
287                   }
288                   if(neg) ret = -(tw - ret);
289                   return ret;
290                 }
291               case 9: //msb int
292                 {
293                   if(tl == 0) return true; //legacy
294                   let ret = this.byte(), neg = ret & 128, tw = 2**(tl*8);
295                   while(--tl) {
296                     ret = ret*256 + this.byte();
297                   }
298                   if(neg) ret = -(tw - ret);
299                   return ret;
300                 }
301               case 10: //Bool
302                 if(tl == 0) return false;
303                 let b = 0;
304                 while(tl--) {
305                   b |= this.byte();
306                 }
307                 return b ? true : false;
308               case 15: //Bin
309                 return {'':['Binary',this.readBinary(tl)]};
310               default:
311                 console.log("UNKTYPE",typ, id);
312                 const ret = {'':["VSMF", this.buffer.slice(this.start + backup, this.start + this.o + tl)]};
313                 this.o += tl;
314                 return ret;
315             }
316           }
317           
318           toVSMF = function(o) {
319             const writeEint = function(n) {
320               if(n < 0xfc) return [n];
321               if(n < 0xffff) return [0xfc, n>>8, n&255 ];
322               if(n < 0xffffffff) return [0xfd,(n>>24)&255,(n>>16)&255,(n>>8)&255, n&255 ];
323               throw "too big";
324             }
325             const varType = function (id, data, fix=false) {
326               const l = data.length;
327               if(l <= 8 && fix && (x=[0x00,0x20,0x40,-1,0x60,-1,-1,-1,0x80][l]) != -1) return [(id + x), ...data]
328               return [(id + 0xa0), ...writeEint(l), ...data];
329             }
330             switch(typeof(o)) {
331               case 'boolean': {
332                 return [0x2a, o ? 1 : 0];
333               }
334               case 'number': {
335                 if(!Number.isNaN(o) && Number.isInteger(o)) {
336                   const buf = new ArrayBuffer(8);
337                   if(o >= -0x8000 && o <= 0x07fff) {
338                     new DataView(buf).setInt16(0,o)
339                     const ret = [73]
340                     ret.push(...(new Uint8Array(buf,0,2)));
341                     return ret
342                   } else if(o >= -2147483648 && o <= 0x07fffffff) {
343                     new DataView(buf).setBigInt32(0,o)                     
344                     const ret = [105]
345                     ret.push(...(new Uint8Array(buf,0,4)));
346                     return ret
347                   } else {
348                     new DataView(buf).setBigInt64(0,o)
349                     const ret = [137]
350                     ret.push(...(new Uint8Array(buf,0,8)));
351                     return ret
352                   }
353                 }
354                 console.log("float not supported");
355                 throw("float not supported");
356               }
357               case 'string': {
358                 return varType(5,toUTF8Array(o));
359               }
360               case 'object': {
361                 if(Array.isArray(o)) {
362                   const elems = o.map(toVSMF).reduce((a, e) => [...a, ...e], []);
363                   return varType(2,elems)
364                 } else {
365                   const keys = Object.keys(o);
366                   if(keys.length == 1 && keys[0] === '') { //special
367                     const special = o[''];
368                     if(Array.isArray(special) && special.length > 1) {
369                       switch(special[0]) {
370                         case "Binary":
371                           return varType(15,FromBase64(special[1]))
372                         case "UUID":
373                           return varType(3,FromBase64(special[1]))
374                         case "VSMF":
375                           todo();
376                       }
377                     }
378                   } else {
379                     const ret = []
380                     keys.sort();
381                     keys.reduce((ret, k)=> {
382                       const k8 = toUTF8Array(k);
383                       ret.push(...writeEint(k8.length));
384                       ret.push(...k8)
385                       const vv = toVSMF(o[k]);
386                       ret.push(...writeEint(vv.length));
387                       ret.push(...vv)
388                       return ret;
389                     }, ret);
390                     return varType(6,ret);
391                   }
392                 }
393             }}
394             console.log("cannot convert",o);
395             throw("Cannot convert",o);
396           }
397           
398           isxbase.getPorts = function() {
399             return navigator.usb.getDevices().then(devices => {
400               return devices.map(device => new isxbase.Port(device));
401             });
402           };
403           
404           isxbase.requestPort = function() {
405             const filters = [
406               { 'vendorId': 0x0925, 'productId': 0x9099 }
407             ];
408             return navigator.usb.requestDevice({ 'filters': filters }).then(
409               device => new isxbase.Port(device)
410             );
411           }
412           
413           isxbase.Port = function(device) {
414             this.device_ = device;
415           };
416
417           fromVSMF = function(m) {
418             const cBuf = new CBuf(m);
419             return cBuf.readVSMF();
420           }
421           
422           isxbase.Port.prototype.handleMessage = function(ky,m) {
423             console.log("Message",ky,m);
424             const cBuf = new CBuf(m);
425             const result = cBuf.readVSMF();
426             if(ky == "0:12") {
427               document.getElementById('output').value = JSON.stringify(result);
428             }
429             
430           }
431           
432           isxbase.Port.prototype.resetState = function() {
433             this.iesc = 0;
434             this.module = 0;
435             this.selected = {};
436             this.inState = {};
437             this.pendingWrite = 0;
438             this.syncbuf = 0;
439           }
440
441           isxbase.Port.prototype.getSelected = function(m) {
442             if(!this.selected[m] || this.selected[m].length == 0) {
443               this.selected[m] = [0];
444             }
445             return this.selected[m];
446           }
447           isxbase.Port.prototype.setSelected = function(m,s) {
448             this.selected[m] = [s];
449           }
450           isxbase.Port.prototype.addSelected = function(m,s) {
451             this.selected[m].push(s);
452           }
453
454           isxbase.Port.prototype.processInput = function(data) {
455             for(let i = 0; i < data.length; i++) {               
456               let c = data[i];
457               if(c == 0xff) {
458                 this.resetState();
459                 continue;
460               } else if(this.iesc == 254) {
461                 this.iesc = 0;
462                 if(c < 128) {
463                   this.module = c;
464                   continue;
465                 } else if(c > 251) {
466                   c += 1;
467                 } else if(c == 251) {
468                   this.iesc = 2000;
469                   continue;
470                 } else if(c == 250) {
471                   c = -1;
472                 } else {
473                   console.log("Protocol violation!");
474                   this.resetState();
475                 }
476               } else if(this.iesc == 253) {
477                 this.iesc = 0;
478                 if(c < 128) {
479                   this.setSelected(this.module, c);
480                 } else if(c < 254) {
481                   this.addSelected(this.module,c-128);
482                 } else {
483                   this.iesc = 1000;
484                 }
485                 continue;
486               } else if(this.iesc == 1000) {
487                 this.iesc = 0;
488                 this.getSelected(this.module).push(c-252+125)
489                 continue;
490               } else if(this.iesc == 2000) {
491                 this.oob_len = c
492                 if(c > 0) {
493                   this.iesc = 2001;
494                   this.oob = [];
495                 } else {
496                   this.iesc = 0;
497                 }
498                 continue;
499               } else if(this.iesc == 2001) {
500                 this.oob.push(c);
501                 this.oob_len -= 1;
502                 if(this.oob_len === 0) {
503                   console.log("OOB:",this.oob);
504                   if(this.oob == "Isx01") {
505                     //a reset happened
506                     this.syncbuf = 1;
507                   }
508                   this.iesc = 0;
509                 }
510                 continue;
511               } else if(c == 254 || c == 253) {
512                 this.iesc = c;
513                 continue;
514               }
515               //reading a msg to module/selected
516               let KY = this.module+":"+this.getSelected(this.module).join('-')
517               let ST = this.inState[KY];
518               if(c == -1) { //EOM
519                 if(ST) {
520                   this.handleMessage(KY,ST[1]);
521                   ST[0] = 0;
522                   ST[1] = [];
523                 }
524               } else {
525                 if(!ST) {
526                   ST = [0,[]];
527                   this.inState[KY] = ST;
528                 }
529                 if(this.syncbuf) {
530                   this.syncbuf = 0;
531                   ST[1] = [];
532                   ST[0] = 0;
533                 }
534                 ST[1].push(c);
535                 ST[0] += 1;
536               }
537             }
538           }
539           
540           isxbase.Port.prototype.connect = function() {
541             let readLoop = () => {
542               const {
543                 endpointNumber
544               } = this.device_.configuration.interfaces[0].alternate.endpoints[0]
545               this.device_.transferIn(endpointNumber, 64).then(result => {
546                 this.onReceive(result.data);
547                 readLoop();
548               }, error => {
549                 this.onReceiveError(error);
550               });
551             };
552             
553             return this.device_.open()
554                        .then(() => {
555                          if (this.device_.configuration === null) {
556                            return this.device_.selectConfiguration(1);
557                          }
558                        })
559                        .then(() => this.device_.claimInterface(0))
560                        .then(() => {
561                          this.resetState();
562                          readLoop();
563                        });
564           };
565
566           isxbase.Port.prototype.disconnect = function() {
567             return this.device_.close();
568           };
569
570           isxbase.Port.prototype.send = function(data) {
571             const {
572               endpointNumber
573             } = this.device_.configuration.interfaces[0].alternate.endpoints[1]
574             return this.device_.transferOut(endpointNumber, data);
575           };
576
577           isxbase.Port.prototype.sendChunksSlow = function(data) {
578             const chunk = 32;
579             for(var i=0; i<data.length; i+=chunk) {
580               const j = i;
581               setTimeout(function(){
582                 this.send(data.slice(j,j+chunk));
583               }, j*1000/chunk+1); 
584             }
585           }
586           isxbase.Port.prototype.sendChunks = function(data) {
587             const chunk = 32;
588             for(var i=0; i<data.length; i+=chunk) {
589               this.send(data.slice(i,i+chunk));
590             }
591           }             
592         })();
593         
594         let port;
595         
596         function connect() {
597           port.connect().then(() => {
598             port.onReceive = data => {
599               port.processInput(new Uint8Array(data.buffer));
600               //let textDecoder = new TextDecoder();
601               //document.getElementById('output').value += textDecoder.decode(data);
602             }
603             port.onReceiveError = error => {
604               console.error(error);
605               document.querySelector("#connect").style = "visibility: initial";
606               port.disconnect();
607             };
608           });
609         }
610
611         function send(string) {
612           console.log("sending to isxbase:" + string.length);
613           if (string.length === 0)
614             return;
615           console.log("sending to isxbase: [" + string +"]\n");
616
617           let view = new TextEncoder('utf-8').encode(string);
618           //send 0xff instead
619           view = new Uint8Array([0xff]);
620           console.log(view);
621           if (port) {
622             port.send(view);
623           }
624         };
625         function reset() {
626           if(port) {
627             console.log("SENDING RESET");
628             port.send(new Uint8Array([0xff]));
629           }
630         }
631         function getinfo() {
632           if(port) {
633             port.send(new Uint8Array([0xfe,0,0xfd,12,0xa5,1,'x',0xfe,250]));
634           }
635         }
636         function convert() {
637           const before = JSON.parse(document.getElementById('output').value)
638           const after = JSON.stringify(toVSMF(before));
639           document.getElementById('output').value = after;
640         }
641         function reconvert() {
642           const before = JSON.parse(document.getElementById('output').value)
643           const after = new Uint8Array(toVSMF(before));
644           console.log("AFTER",after);
645           document.getElementById('output').value = JSON.stringify([...after]);
646           const result = JSON.stringify(fromVSMF(after));
647           document.getElementById('output').value = result;
648         }
649         function message(module,term,msg) {
650           port.send(new Uint8Array([0xff]));
651         }
652         
653         window.onload = _ => {
654           document.querySelector("#connect").onclick = function() {
655             isxbase.requestPort().then(selectedPort => {
656               port = selectedPort;
657               this.style = "visibility: hidden";
658               connect();
659             });
660           }
661           
662           document.querySelector("#submit").onclick = () => {
663             const source = JSON.parse(document.getElementById('output').value)
664             const config = toVSMF(source);
665             //append message to base terminal 13
666             const header = [0xfe, 0, 0xfd, 13];
667             const whole = [...header, ...config, 0xfe, 250];
668             console.log("Sending",whole);
669             port.sendChunks(new Uint8Array(whole));
670           }
671           
672           document.querySelector("#reset").onclick = () => {
673             reset();
674           }
675           document.querySelector("#get").onclick = () => {
676             getinfo();
677           }
678           document.querySelector("#convert").onclick = () => {
679             convert();
680           }
681           document.querySelector("#reconvert").onclick = () => {
682             reconvert();
683           }
684         }</script>
684
685<!-- end Simple Custom CSS and JS -->
686	<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>
687	<style class="wpcode-css-snippet">@media screen and (max-width: 768px) {
688  #eckb-article-page-container-v2 .eckb-article-toc {
689    display: none !important;
690  }
691}
692</style><style class="wpcode-css-snippet">/* Custom MetaSlider padding/border for captions and wrappers */
693.metaslider .caption-wrap {
694    padding: 10px 0 0 0 !important;
695    border: 0 !important;
696    background: transparent !important; /* Optional */
697	margin-bottom: 0px !important;
698}
699
700.metaslider .caption {
701    padding: 0 !important;
702	margin: 0 !important;
703    border: none !important;
704    background: transparent !important;
705}
706
707/* Reduce any space within the slide itself */
708.metaslider .ms-image {
709    margin-bottom: 0px !important;
710    padding-bottom: 0px !important;
711}
712
713/* Reduce bottom padding of the MetaSlider container */
714.metaslider .flexslider {
715    padding: 0px !important;
716	margin-top: 0px !important
717	margin-bottom: 70px !important; 
718}
719
720/* Reduce the size of the navigation dots */
721.metaslider .flex-control-nav li a {
722    width: 8px !important; /* Adjust dot width */
723    height: 8px !important; /* Adjust dot height */
724    background-size: contain !important; /* Ensure proper scaling */
725}
726
727/* Reduce spacing between dots */
728.metaslider .flex-control-nav li {
729    margin: 3px !important; /* Adjust spacing between dots */
730}</style><style class="wpcode-css-snippet">.eckb-kb-block-tabs-layout {
731	margin: 0 0px 20px 0px !important; /* removing excess margin from above tabs */
732}
733
734.epkb-category-level-1 {
735	padding-top: 0px !important; /* Removing excess padding from within nav tabs */
736	padding-bottom: 5px !important;
737	margin: 7px 0 5.5px 0 !important; /* TRBL Padding above and below text in tabs so it looks ok w/text on two lines. Maybe disbale text on two lines in future. */
738}
739
740.epkb-panel-container {
741	padding: 0 40px 22px 40px !important; /* Adding margin between window edge and content below tabs */
742}
743
744#epkb-ml__module-categories-articles #epkb-ml-tabs-layout .epkb-tab-panel .epkb-ml__module-categories-articles__row {
745	column-gap: 40px !important; /* Increase gap between categories */
746	justify-content: left !important; /* Left categories for odd numbers */
747}
748
749#asea-doc-search-container #asea-section-1 #asea_search_form #asea_search_results {
750    position: absolute !important; /* Float search results over main page */
751}
752
753
754#asea_search_results {
755    width: 100% !important;
756    max-width: 100% !important;
757    box-sizing: border-box;
758    z-index: 1000;
759} 
760
761@media only screen and (max-width: 1100px) {
762  #asea-doc-search-container #asea-section-1 #asea_search_form #asea_search_results {
763    width: 98% !important; /* Maintain correct results width at breakpoint. */
764    margin: 0 auto;
765  }
766}
767
768/*
769.eckb-kb-block-search .epkb-ml__module { 
770    background-image: url('https://interstacks.com/wp-content/uploads/2025/02/support-header-greeblesinverted.png') !important;  
771    background-size: cover;  
772    background-position: center;  
773    background-repeat: no-repeat;  
774    background-color: transparent;  
775}*/</style><style class="wpcode-css-snippet">.custom-gif-border {
776    border: 10px solid #c4c4c4; /* Border color */
777}</style><style class="wpcode-css-snippet">.custom-callout-border {
778    border: 2px solid #DE9444; /* Border color */
779    border-radius: 10px; /* Rounded corners */
780    background-color: #FFF4e5; /* Lighter shade of the border */
781    color: #000; /* Ensures text is legible */
782    padding: 10px; /* Adds spacing inside the border */
783}</style><style class="wpcode-css-snippet">#eckb-article-page-container-v2 .eckb-article-toc {
784    top: 150px !important;
785}</style><link rel="icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-32x32.png" sizes="32x32" />
786<link rel="icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-192x192.png" sizes="192x192" />
787<link rel="apple-touch-icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-fav
787icon-1-180x180.png" />
788<meta name="msapplication-TileImage" content="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-270x270.png" />
789<script src="https://player.vimeo.com/api/player.js"></script>
789
790  <!--Zoho Campaigns Web-Optin Form's Header Code Starts Here-->
791  
791<script type='text/javascript' src='https://zcs1.maillist-manage.com/js/jquery-ui-1.10.4.custom.min.js'></script>
791
792  
792<script type='text/javascript' src='https://zcs1.maillist-manage.com/js/jquery-migrate-1.2.1.min.js'></script>
792
793  
793<script type="text/javascript" src='https://zcs1.maillist-manage.com/js/ui.datepicker.js' charset="utf-8"></script>
793
794  
794<script type="text/javascript" src="https://zcs1.maillist-manage.com/js/jquery.form.js"></script>
794
795  
795<script type="text/javascript" src="https://zcs1.maillist-manage.com/js/optin_min.js"></script>
795
796  
796<script type="text/javascript"> var $ZC = jQuery.noConflict(); var trackingText='ZCFORMVIEW'; var new_optin_response_in=2; var duplicate_optin_response_in=2; $ZC(document).ready( function($) { $ZC("#zc_trackCode").val(trackingText); $ZC("#fieldBorder").val($ZC("[changeItem='SIGNUP_FORM_FIELD']").css("border-color")); _setOptin(false,function(th){ /*Before submit, if you want to trigger your event, "include your code here"*/ }); /*Load Captcha For this*/ /*Tracking Enabled*/ trackSignupEvent(trackingText); }); </script>
796 
797    <!--Zoho Campaigns Web-Optin Form's Header Code Ends Here-->
798
799</head>
800<body data-rsssl=1 class="home page-template page-template-template-home-v2 page-template-template-home-v2-php page page-id-28405 theme-boxpress woocommerce-no-js metaslider-plugin group-blog">
801
802<div style="height: 0; width: 0; position: absolute; visibility: hidden" aria-hidden="true"><!-- inject:svg --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="imagebox-logo" viewBox="0 0 81 23"><g fill="currentColor" fill-rule="evenodd"><path d="M0 .122v19.64l37.245.001L40.502 23l3.256-3.237L81 19.762V.122H0Zm37.934 18.005-36.287-.001V1.758h77.706v16.368l-36.277.002-2.574 2.558-2.568-2.559Z"/><path d="M9.506 6.22h1.566v7.438H9.506zm10.51 0-2.574 2.561-2.574-2.56H13.22v7.436h1.647v-5.12l2.574 2.559 2.655-2.558v5.12h1.566V6.22zm7.689 4.324-.994-2.411-.994 2.411h1.988Zm-1.731-4.377h1.518l3.207 7.49h-1.721l-.684-1.668h-3.165l-.684 1.668h-1.679l3.208-7.49Zm5.094 3.793v-.02c0-2.116 1.657-3.847 3.923-3.847 1.348 0 2.16.36 2.94 1.02l-1.036 1.243c-.578-.478-1.091-.755-1.957-.755-1.198 0-2.149 1.052-2.149 2.317v.021c0 1.36.941 2.358 2.267 2.358.599 0 1.133-.149 1.55-.446V10.79h-1.657V9.376h3.25v3.23c-.77.647-1.828 1.18-3.196 1.18-2.332 0-3.935-1.627-3.935-3.826m8.98-3.74h5.645v1.456h-4.009v1.509h3.528v1.455h-3.528v1.562h4.062v1.455h-5.698zm11.098 4.367h-1.903v1.636h1.956c.727 0 1.166-.255 1.166-.807v-.022c0-.499-.374-.807-1.22-.807Zm.801-2.168c0-.488-.385-.765-1.078-.765h-1.626v1.573h1.518c.727 0 1.186-.234 1.186-.786v-.022ZM47.638 6.22h3.475c.856 0 1.53.234 1.956.659.344.34.514.754.514 1.264v.022c0 .839-.448 1.306-.982 1.604.865.33 1.4.829 1.4 1.827v.022c0 1.36-1.113 2.04-2.802 2.04h-3.56V6.22Zm13.728 3.74v-.02c0-1.276-.94-2.339-2.267-2.339-1.325 0-2.245 1.041-2.245 2.317v.021c0 1.275.94 2.337 2.267 2.337 1.326 0 2.245-1.04 2.245-2.316m-6.234 0v-.02c0-2.116 1.68-3.847 3.989-3.847 2.31 0 3.966 1.71 3.966 3.825v.021c0 2.115-1.678 3.846-3.988 3.846-2.309 0-3.967-1.71-3.967-3.825m16.489 2.679-2.717-2.7 2.717-2.7-1.164-1.158-2.717 2.7-2.717-2.699-1.165 1.157 2.717 2.7-2.717 2.7 1.164 1.157 2.718-2.7 2.717 2.7z"/></g></symbol><symbol id="site-logo" viewBox="0 0 179 110"><g fill="none" fill-rule="evenodd"><path fill="#494949" d="M0 0h179v110H0z"/><circle fill="#ACACAC" cx="90" cy="55" r="39"/></g></symbol><symbol id="arrow-left-icon" viewBox="0 0 10 16"><path fill="currentColor" d="M9.14 1.6 8.078.538l-7.53 7.53 7.53 7.53 1.06-1.06-6.47-6.47z"/></symbol><symbol id="arrow-right-icon" viewBox="0 0 10 16"><path fill="currentColor" d="m.548 14.539 1.061 1.06 7.53-7.53L1.61.54.55 1.599l6.47 6.47z"/></symbol><symbol id="button-arrow-right" viewBox="0 0 8 13"><path fill="currentColor" d="M0 1.37 1.393 0 8 6.5 1.393 13 0 11.63 5.214 6.5z"/></symbol><symbol id="cart-icon" viewBox="0 0 24 21"><path d="M22.827 1.871H5.3L5.148.721A.824.824 0 0 0 4.338 0H.818A.826.826 0 0 0 0 .832c0 .459.367.831.82.831h2.8L5.157 13.24v4.057a2.188 2.188 0 0 0-.615 1.522c0 1.204.964 2.182 2.15 2.182 1.19 0 2.151-.978 2.151-2.182 0-.21-.062-.4-.116-.59h9.76c-.056.19-.12.38-.12.59 0 1.204.963 2.182 2.151 2.182 1.188 0 2.15-.978 2.15-2.182 0-1.04-.728-1.868-1.685-2.09a.796.796 0 0 0-.465-.164H6.793l-.006-3.4 16.145-1.489A1.185 1.185 0 0 0 24 10.488V3.064c0-.66-.524-1.193-1.173-1.193" fill="currentColor" fill-rule="evenodd"/></symbol><symbol id="close-icon" viewBox="0 0 22 22"><path d="M11 8.902 19.902 0 22 2.098 13.098 11 22 19.902 19.902 22 11 13.098 2.098 22 0 19.902 8.902 11 0 2.098 2.098 0 11 8.902Z" fill="currentColor"/></symbol><symbol id="icon-blocks" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M19 8 8 11.837v15.326L19 31l11-3.837V11.837L19 8Zm-6.94 4.54L19 10.12l6.94 2.42L19 14.96l-6.94-2.42Zm15.896 1.416v4.84l-8.955 3.124-4.898-1.708v-4.84L19 17.079l8.955-3.123Zm-17.912 4.84v-4.84l2.016.703v4.84l-2.016-.702Zm17.912 2.12v4.841l-8.955 3.124-4.898-1.709v-4.84L19 24.039l8.955-3.122Zm-17.912 4.841v-4.84l2.016.701v4.842l-2.016-.703Z" fill="#FFF"/></g></symbol><symbol id="icon-programming" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="m21.882 10-5.915 19.411 1.937.589 5.915-19.412L21.882 10Zm3.372 5.131L30.136 20l-4.882 4.87 1.432 1.428L33 20l-6.314-6.297-1.432 1.428ZM6 20l6.315 6.298 1.431-1.428L8.864 20l4.882-4.869-1.431-1.428L6 20Z" fill="#FFF"/></g></symbol><symbol id="icon-software" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M15.4 8 15 28.744l5.178-4.48L22.604 31l1.927-.669-2.426-6.736 6.895.287L15.4 8Zm1.94 5.384 7.11 8.302-4.18-.175-3.139 2.715.21-10.842Z" fill="#FFF"/></g></symbol><symbol id="icon-stack-builder" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M19.098 16.332c-.488 0-.982.132-1.425.41a2.695 2.695 0 0 0-.85 3.708 2.675 2.675 0 0 0 1.678 1.193c.699.16 1.421.038 2.03-.344a2.676 2.676 0 0 0 1.193-1.677 2.69 2.69 0 0 0-2.627-3.29Zm.013 7.35c-.35 0-.702-.039-1.05-.119a4.627 4.627 0 0 1-2.907-2.067 4.666 4.666 0 0 1 1.473-6.423 4.665 4.665 0 0 1 6.423 1.473 4.626 4.626 0 0 1 .594 3.517 4.628 4.628 0 0 1-2.067 2.906 4.63 4.63 0 0 1-2.466.713Zm-2.854 3.815 1.362.313 1.336-1.595.436-.016a7.18 7.
80218 0 0 0 1.492-.218l.398-.102 1.788 1.069 1.183-.742-.174-1.985.296-.32a7.15 7.15 0 0 0 .959-1.303l.208-.363 1.956-.493.312-1.361-1.512-1.267-.02-.432a7.172 7.172 0 0 0-.257-1.599l-.115-.408 1.043-1.745-.742-1.183-2.023.18-.318-.283a7.134 7.134 0 0 0-1.237-.884l-.369-.207-.516-2.05-1.362-.313-1.37 1.637-.419.028a6.95 6.95 0 0 0-1.355.227l-.402.107-1.904-1.137-1.183.742.194 2.21-.273.315c-.27.31-.52.658-.739 1.028l-.21.35-2.218.56-.312 1.362 1.715 1.437.027.421c.026.412.09.832.191 1.247l.097.392-1.168 1.953.742 1.184 2.173-.191.318.288c.338.305.704.579 1.09.812l.347.21.535 2.125ZM18.354 30l-3.713-.851-.635-2.525a8.98 8.98 0 0 1-.71-.526l-2.531.224-2.023-3.229 1.378-2.305a8.688 8.688 0 0 1-.117-.755L8 18.354l.852-3.713 2.606-.656c.142-.217.292-.425.45-.626l-.23-2.594 3.228-2.024 2.236 1.336c.293-.064.59-.113.888-.148L19.645 8l3.714.851.608 2.413c.303.191.595.4.875.625l2.392-.211 2.024 3.228-1.234 2.065c.09.389.152.783.19 1.18L30 19.645l-.852 3.713-2.328.587c-.213.334-.45.655-.704.958l.205 2.331-3.227 2.024-2.13-1.274a9.256 9.256 0 0 1-1.05.154L18.353 30Z" fill="#FFF"/></g></symbol><symbol id="icon-starter-packs-examples" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M14 11v17l14-8.5L14 11Zm1.938 3.53 8.186 4.97-8.186 4.97v-9.94Z" fill="#FFF"/></g></symbol><symbol id="menu-icon" viewBox="0 0 25 22"><g fill="currentColor" fill-rule="evenodd"><rect width="25" height="4" rx="1"/><rect y="9" width="25" height="4" rx="1"/><rect y="18" width="25" height="4" rx="1"/></g></symbol><symbol id="search-icon" viewBox="0 0 15 15"><g fill="currentColor" fill-rule="evenodd"><path d="M11.75 6A5.75 5.75 0 1 0 .25 6a5.75 5.75 0 0 0 11.5 0Zm-10 0a4.25 4.25 0 1 1 8.5 0 4.25 4.25 0 0 1-8.5 0Z"/><path d="m12.293 13.707.707.707L14.414 13l-.707-.707-3-3L10 8.586 8.586 10l.707.707z"/></g></symbol><symbol id="social-email" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill-opacity=".5" fill="#FFF" fill-rule="nonzero"/><path d="M21.025 23.625 11.213 14h21.574l-9.812 9.625a1.418 1.418 0 0 1-1.95 0ZM10 29.866l7.925-6.9L10 15.192v14.675Zm14.853-5.702-.764.75A2.978 2.978 0 0 1 22 25.76a2.978 2.978 0 0 1-2.09-.848l-.763-.75L11.297 31h21.405l-7.849-6.836ZM34 15.19l-7.925 7.776 7.925 6.9V15.19Z" fill="currentColor"/></g></symbol><symbol id="social-facebook" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M26.61 21.507h-3.016V32h-4.469V21.507H17V17.8h2.125v-2.4c0-1.715.835-4.401 4.51-4.401l3.31.014v3.598h-2.402c-.394 0-.949.192-.949 1.01v2.181H27l-.39 3.704Z" fill="currentColor"/><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/></g></symbol><symbol id="social-google_plus" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M17.163 21.286V24.2h4.63c-.187 1.25-1.4 3.667-4.63 3.667-2.787 0-5.061-2.404-5.061-5.367s2.274-5.367 5.061-5.367c1.586 0 2.647.704 3.254 1.311l2.216-2.222C21.21 14.838 19.367 14 17.163 14 12.65 14 9 17.8 9 22.5s3.65 8.5 8.163 8.5C21.875 31 25 27.551 25 22.694c0-.558-.058-.983-.128-1.408h-7.709M35 21.333h-2.333V19h-2.334v2.333H28v2.334h2.333V26h2.334v-2.333H35v-2.334" fill="currentColor"/></g></symbol><symbol id="social-instagram" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/><path d="M30.508 16.801a.95.95 0 0 1-.287.701.95.95 0 0 1-.701.287h-2.493a.95.95 0 0 1-.701-.287.952.952 0 0 1-.287-.701v-2.363c0-.268.096-.5.287-.695a.941.941 0 0 1 .701-.294h2.493c.276 0 .51.098.701.294a.96.96 0 0 1 .287.695V16.8Zm0 12.79a.836.836 0 0 1-.258.624.854.854 0 0 1-.616.25H14.323a.843.843 0 0 1-.622-.25.846.846 0 0 1-.252-.624v-9.28h2.02a6.18 6.18 0 0 0-.287 1.875c0 1.833.669 3.397 2.005 4.691 1.338 1.294 2.946 1.94 4.828 1.94a6.886 6.886 0 0 0 3.437-.887 6.691 6.691 0 0 0 2.493-2.414 6.348 6.348 0 0 0 .917-3.33 6.19 6.19 0 0 0-.287-1.876h1.933v9.281Zm-11.61-10.664c.865-.835 1.904-1.253 3.117-1.253 1.221 0 2.265.418 3.129 1.253.864.836 1.296 1.846 1.296 3.03 0 1.184-.432 2.194-1.296 3.029-.864.836-1.907 1.253-3.129 1.253-1.213 0-2.252-.418-3.116-1.253-.863-.835-1.296-1.845-1.296-3.029s.433-2.194 1.296-3.03Zm13.272-7.096A2.718 2.718 0 0 0 30.178 11H13.821c-.773 0-1.437.277-1.99.83A2.717 2.717 0 0 0 11 13.822v16.357c0 .774.277 1.438.83 1.991a2.713 2.713 0 0 0 1.991.831h16.357c.774 0 1.437-.276 1.991-.83A2.713 2.713 0 0 0 33 30.179V13.821c0-.773-.276-1.437-.83-1.99Z" fill="currentColor"/></g></symbol>
802<symbol id="social-linkedin" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M31.372 11c.897 0 1.628.71 1.628 1.585v18.828c0 .876-.731 1.587-1.628 1.587H12.624C11.728 33 11 32.289 11 31.413V12.585c0-.875.728-1.585 1.624-1.585h18.748Zm-8.769 8.635h-3.222v10.222h3.357V24.8c0-1.333.268-2.624 2.016-2.624 1.723 0 1.746 1.525 1.746 2.71v4.971h3.357V24.25c0-2.752-.628-4.869-4.03-4.869-1.634 0-2.73.847-3.179 1.65h-.045v-1.396Zm-6.364-5.492c-1.158 0-2.096.847-2.096 1.89 0 1.045.938 1.893 2.096 1.893 1.155 0 2.094-.848 2.094-1.892s-.939-1.891-2.094-1.891ZM14.43 29.857h3.614V19.36H14.43v10.497Z" fill="currentColor"/></g></symbol><symbol id="social-twitter" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/><path d="M30.752 17.482c.007.194.01.392.01.59C30.763 24.076 26.225 31 17.92 31A12.68 12.68 0 0 1 11 28.958a9.015 9.015 0 0 0 6.684-1.88 4.524 4.524 0 0 1-4.216-3.158 4.432 4.432 0 0 0 2.036-.078 4.538 4.538 0 0 1-3.621-4.453c0-.02 0-.039.004-.059a4.43 4.43 0 0 0 2.045.567 4.545 4.545 0 0 1-2.01-3.782c0-.831.223-1.612.61-2.284a12.787 12.787 0 0 0 9.302 4.75 4.597 4.597 0 0 1-.116-1.038c0-2.508 2.021-4.543 4.513-4.543 1.3 0 2.472.552 3.293 1.433a8.886 8.886 0 0 0 2.87-1.103 4.56 4.56 0 0 1-1.986 2.516A8.897 8.897 0 0 0 33 15.133a9.219 9.219 0 0 1-2.248 2.349" fill="currentColor"/></g></symbol><symbol id="social-youtube" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M19.548 25.832V18.95l6.47 3.43-6.47 3.45ZM27.73 14H16.271C10 14 10 15.823 10 20.309v4.382c0 4.266.888 6.309 6.27 6.309h11.46c4.86 0 6.27-1.194 6.27-6.309V20.31c0-4.722-.237-6.31-6.27-6.31Z" fill="currentColor"/></g></symbol></svg><!-- endinject --></div>
803
804<div class="site-header--mobile">
805  <div class="mobile-header-left">
806    <div class="site-branding">
807      <a href="https://interstacks.com/" rel="home">
808        <img src="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/interstacks-logo.png" srcset="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/[email protected] 2x" width="225" height="95">
809      </a>
810    </div>
811  </div>
812  <div class="mobile-header-right">
813    <a href="#" class="menu-button toggle-nav">
814      <span class="screen-reader-text">Menu</span>
815      <svg class="menu-icon-svg" width="22" height="19">
816        <use href="#menu-icon"></use>
817      </svg>
818    </a>
819  </div>
820</div>
821
822<div class="mobile-nav-tray">
823  <nav class="navigation--mobile">
824    <div class="mobile-nav-header">
825      <a class="toggle-nav" href="#">
826        <svg class="menu-icon-svg" width="30" height="30">
827          <use href="#close-icon"></use>
828        </svg>
829      </a>
830    </div>
831
832          <ul class="mobile-nav mobile-nav--main">
833        <li id="menu-item-28444" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28444"><a href="https://interstacks.com/use-cases/">Use Cases</a></li>
834<li id="menu-item-121" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121"><a href="https://interstacks.com/blocks/">Stacks</a></li>
835<li id="menu-item-45694" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45694"><a href="https://interstacks.com/mystacks/">MyStacks</a></li>
836<li id="menu-item-46175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46175"><a href="https://interstacks.com/knowledge-base/">Support</a></li>
837<li id="menu-item-125" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-125"><a href="https://interstacks.com/about-us/">About Us</a></li>
838<li id="menu-item-45604" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45604"><a href="https://interstacks.com/blog/">Blog</a></li>
839      </ul>
840    
841          <ul class="mobile-nav mobile-nav--button">
842        <li id="menu-item-143" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-143"><a href="https://interstacks.com/contact/">Contact</a></li>
843      </ul>
844    
845  </nav>
846</div>
847
848
849<header id="masthead" class="site-header " role="banner">
850  <div class="site-header__main">
851    <div class="wrap wrap--full">
852
853      <div class="site-header-inner">
854        <div class="header-col-1">
855
856          <div class="site-branding">
857            <a href="https://interstacks.com/" rel="home">
858              <img src="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/interstacks-logo.png" srcset="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/[email protected] 2x" width="225" height="95">
859            </a>
860          </div>
861
862        </div>
863        <div class="header-col-2">
864
865          
866            <div class="header-nav-container">
867              <div class="header-nav-main-container">
868                <nav class="js-accessible-menu navigation--main"
869                  aria-label="Main Navigation"
870                  role="navigation">
871                  <ul class="nav-list nav--main">
872                    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28444"role="menuitem"><a href="https://interstacks.com/use-cases/">Use Cases</a></li>
873<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121"role="menuitem"><a href="https://interstacks.com/blocks/">Stacks</a></li>
874<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45694"role="menuitem"><a href="https://interstacks.com/mystacks/">MyStacks</a></li>
875<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46175"role="menuitem"><a href="https://interstacks.com/knowledge-base/">Support</a></li>
876<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-125"role="menuitem"><a href="https://interstacks.com/about-us/">About Us</a></li>
877<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45604"role="menuitem"><a href="https://interstacks.com/blog/">Blog</a></li>
878                  </ul>
879                </nav>
880              </div>
881
882              
883                <div class="header-nav-utility-container">
884                  <nav class="js-accessible-menu navigation--utility"
885                    aria-label="Utility Navigation"
886                    role="navigation">
887                      <ul class="nav-list nav--button">
888                        <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-143"role="menuitem"><a href="https://interstacks.com/contact/">Contact</a></li>
889                      </ul>
890
891                                          <ul class="nav-list nav--shop">
892                        <li>
893                          <a class="menu-cart-link" href="https://interstacks.com/cart/">
894                            <span class="vh">View Cart</span>
895                            <svg class="cart-icon-svg" width="24" height="21">
896                              <use href="#cart-icon" />
897                            </svg>
898                                                      </a>
899                        </li>
900                      </ul>
901                                      </nav>
902                </div>
903
904                            
905            </div>
906
907          
908        </div>
909      </div>
910    </div>
911  </div>
912
913 <!--     <div class="site-header__page">
914          </div>
915   -->
916</header>
917
918<main id="main" class="site-main" role="main">
919  <article class="homepage">
920
921        <section class="hero color-option-1" style="background-image:url('https://interstacks.com/wp-content/uploads/2022/09/hero-bkg-scaled-1.jpg');">
922  <div class="hero-box">
923    <div class="wrap">
924      <div class="l-hero">
925        <div class="l-hero-col-1">
926          <div class="hero-content">
927            
928                          <h1 class="hero-title">Get <b>real-time intelligence</b> on all your machines & sensors.</h1>
929            
930                          <p class="hero-sub-title"><p><strong>Now you can know what your machines are doing every minute of every day. </strong></p>
931<p><strong>Maximize Uptime </strong>&#8211; Minimize Costs.</p>
932<p><strong>Be the first to know when something goes wrong</strong> &#8211; Get Alerts.</p>
933<p><strong>Fix things before they break. </strong>&#8211; Analyze actual usage.</p>
934<p><strong>Be up and running in minutes</strong> &#8211; No software or IT skills needed.</p>
935<p><strong>No puzzle pieces to put together</strong> &#8211; One integrated system.</p>
936<p><strong>Ready to grow as your needs grow</strong> &#8211; Just snap on another block.</p>
937<p><strong>Older machines?</strong> &#8211; No problem.</p>
938<p><strong>All data secure and encrypted everywhere?</strong> &#8211; Of course.</p>
939<p><strong>Can I put four RS-485 blocks in one stack?</strong> &#8211; Of course. Stack as few or as many blocks as you need.</p>
940<p><strong>Industrial IoT for people that make things</strong> &#8211; Not IT wizards.</p>
941<p>And&#8230; Now <strong>ALL industrial OEMs can be hi-tech leaders</strong> &#8211; Use private labeled Interstacks hardware and dashboards with your branding.</p>
942<p><strong>Explore what Interstacks can do for you. </strong> <strong><span style="color: #ff9900"><a style="color: #ff9900" href="https://interstacks.com/contact/">Contact Us Today!</a></span></strong></p>
943<p>&nbsp;</p>
944</p>
945            
946          </div>
947        </div>
948        <div class="l-hero-col-2">
949                      <img src="https://interstacks.com/wp-content/uploads/2025/12/stackhand_dashboard1_v3.png"
950              width="891"
951              height="541"
952              alt="">
953                  </div>
954      </div>
955    </div>
956  </div>
957
958</section>
959
960        <div id="js-animation-trigger" class="slack-block-animation-trigger"></div>
961
962<section class="section home-section-how color-option-4" style="background-image:url(https://interstacks.com/wp-content/uploads/2022/09/stacks-bkg-scaled-1.jpg);">
963  <div class="wrap">
964    <div class="l-home-how">
965      <div class="l-home-how-col-1">
966        <div class="block-image-stack-container">
967          <div class="block-image-stack">
968            <img id="js-stack-image-4" class="relax-image-stack stack-image-4"
969              src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-4.png">
970            <img id="js-stack-image-3" class="relax-image-stack stack-image-3"
971              src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-3.png">
972            <img id="js-stack-image-2" class="relax-image-stack stack-image-2"
973              src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-2.png">
974            <img id="js-stack-image-1" class="stack-image-base stack-image-1"
975              src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-1.png">
976          </div>
977        </div>
978      </div>
979      <div class="l-home-how-col-2">
980                  <header class="home-callout-header">
981            <h2 class="h1">How it Works</h2>
982          </header>
983        
984                  <img class="home-functionality-graphic" src="https://interstacks.com/wp-content/uploads/2022/11/how-it-works-graphic.png"
985            width="1638"
986            height="636"
987            alt="">
988        
989                                          <div class="l-grid l-grid--two-col">
990              <div class="l-grid-item">
991                <div class="home-callout-content">
992                  <h3>Connect your machines and sensors to a stack</h3>
993<ul>
994<li>Stack as few or as many blocks as you need</li>
995<li>Hardware blocks for many connectivity needs: Sensors, machines, barcode, control outputs. Analog, Digital, and Data inputs (RS-485, RS-232, Ethernet).</li>
996<li>Send timestamped data to the MyStacks cloud platform over ethernet, wifi, or cell data. (Optionally send to your own on-prem or cloud server.)</li>
997<li>Stacks are fully programmable and your support engineer will pre-program them for your custom application at no cost. Or do it yourself using Python with Stackbuilder.</li>
998</ul>
999<p><a class="button" href="https://interstacks.com/blocks/">Stacks</a></p>
1000                </div>
1001              </div>
1002              <div class="l-grid-item">
1003                <div class="home-callout-content">
1004                  <h3>View data from any browser on any device &#8211; MyStacks</h3>
1005<ul>
1006<li>See analytics for up/down time, part counts, machine cycles, OEE, sensor data.</li>
1007<li>Easily build unlimited custom dashboards</li>
1008<li>Get real-time text/email alerts</li>
1009<li>All data is timestamped and saved</li>
1010<li>Secure and encrypted: All data encrypted in transit and at rest in database. Only needs one URL access. MFA and SSO logins supported.</li>
1011</ul>
1012<p><a class="button" href="https://interstacks.com/mystacks/">MyStacks IoT cloud platform</a></p>
1013                </div>
1014              </div>
1015            </div>
1016                        </div>
1017    </div>
1018  </div>
1019</section>
1020
1021        <section class="home-slideshow-section">
1022  <div class="wrap">
1023    <header class="home-slideshow-section-header">
1024              <h2>Join other Interstacks users in digitally transforming your enterprise. </h2>
1025          </header>
1026    <div class="home-slideshow-section-body">
1027              <div class="logo-slideshow-container">
1028          <div class="js-logo-slideshow logo-slideshow owl-carousel owl-theme">
1029                                                        <div class="slide-logo">
1030                  <img src="https://interstacks.com/wp-content/uploads/2022/09/amazon_logo.png"
1031                    width="85"
1032                    height="33"
1033                    alt="">
1034                </div>
1035                                                                      <div class="slide-logo">
1036                  <img src="https://interstacks.com/wp-content/uploads/2025/06/hansentech_logo-copy.png"
1037                    width="183"
1038                    height="42"
1039                    alt="">
1040                </div>
1041                                                                      <div class="slide-logo">
1042                  <img src="https://interstacks.com/wp-content/uploads/2022/09/MKS_Instruments_logo.png"
1043                    width="91"
1044                    height="35"
1045                    alt="">
1046                </div>
1047                                                                      <div class="slide-logo">
1048                  <img src="https://interstacks.com/wp-content/uploads/2025/06/Macom_logo-copy.png"
1049                    width="100.5"
1050                    height="20.5"
1051                    alt="">
1052                </div>
1053                                                                      <div class="slide-logo">
1054                  <img src="https://interstacks.com/wp-content/uploads/2025/06/capstone_logo-copy.png"
1055                    width="201"
1056                    height="49"
1057                    alt="">
1058                </div>
1059                                                                      <div class="slide-logo">
1060                  <img src="https://interstacks.com/wp-content/uploads/2022/09/UE_Systems_logo.jpg"
1061                    width="192"
1062                    height="103"
1063                    alt="">
1064                </div>
1065                                                                      <div class="slide-logo">
1066                  <img src="https://interstacks.com/wp-content/uploads/2025/06/lefthand_logo-copy.png"
1067                    width="97.5"
1068                    height="28"
1069                    alt="">
1070                </div>
1071                                                                      <div class="slide-logo">
1072                  <img src="https://interstacks.com/wp-content/uploads/2022/09/FibreTec_logo.png"
1073                    width="95"
1074                    height="96"
1075                    alt="">
1076                </div>
1077                                                                      <div class="slide-logo">
1078                  <img src="https://interstacks.com/wp-content/uploads/2022/09/EnerSys_logo.png"
1079                    width="101"
1080                    height="66"
1081                    alt="">
1082                </div>
1083                                                                      <div class="slide-logo">
1084                  <img src="https://interstacks.com/wp-content/uploads/2023/08/hemphill_logo.png"
1085                    width="199"
1086                    height="115"
1087                    alt="">
1088                </div>
1089                                                                      <div class="slide-logo">
1090                  <img src="https://interstacks.com/wp-content/uploads/2022/09/Pepsico_logo.png"
1091                    width="176"
1092                    height="47"
1093                    alt="">
1094                </div>
1095                                    </div>
1096        </div>
1097          </div>
1098                        <a class="button"
1099            href="https://interstacks.com/contact/"
1100            target="_self">
1101            Contact          </a>
1102          </div>
1103</section>
1104        <section class="section home-use-cases-block">
1105  <div class="wrap">
1106    <div class="l-columns l-columns--2">
1107      <div class="l-column-item l-column-item--empty"></div>
1108      <div class="l-column-item">
1109
1110                  <div class="home-callout-header">
1111            <h2 class="h1"><b>Digital transformation</b> with impact</h2>
1112          </div>
1113        
1114                  <div class="home-callout-content">
1115            <p>Interstacks has large scale deployments streaming data every second of every day from all over the world. It is used in all industry verticals. Take a look at our use cases page to see examples of monitoring: lens grinding machines, water treatment, industrial refrigeration, mobile solar panel battery carts, PLCs, bearing wear sensors, t-shirt printing, scales, semiconductor test equipment, pumps, motors, distribution centers, packaging lines and many many more.</p>
1116          </div>
1117        
1118                                          <div class="impact-products-block">
1119                              <img class="impact-products-block-feature"
1120                  src="https://interstacks.com/wp-content/uploads/2025/04/home-usecase-images-new.png"
1121                  width="1198"
1122                  height="304"
1123                  alt="">
1124                            <div class="impact-products-block-body">
1125                <h3>Read about how others are using our Interstacks integrated IoT system.</h3>
1126
1127                                                    <a class="button button--white"
1128                    href="https://interstacks.com/use-cases/"
1129                    target="_self">
1130                    Use Cases                  </a>
1131                              </div>
1132            </div>
1133
1134                  
1135      </div>
1136    </div>
1137  </div>
1138</section>
1139
1140        <section id="videoGdoc" class="video-split-block section color-option-3">
1141    <div class="wrap wrap--limited">
1142         <div class="home-callout-header home-callout-header--center video-callout-header">
1143         <h2 class="h1">Discover Interstacks</h2>
1144      </div>
1145        <div class="row align-items-center">
1146            <!-- Left side content -->
1147            <div class="col-md-6 content-column">
1148             
1149                
1150                                
1151                            </div>
1152            
1153            <!-- Right side video -->
1154            <div class="col-md-6 video-column">
1155                <div class="video-container">
1156                    <div class="responsive-embed">
1157                    <iframe src="https://player.vimeo.com/video/1068299360?h=8a4acab856&title=0&byline=0&portrait=0" 
1158                                width="640" 
1159                                height="360" 
1160                                frameborder="0" 
1161                                allow="autoplay; fullscreen; picture-in-picture" 
1162                                allowfullscreen>
1163                        </iframe>
1164                    </div>
1165                </div>
1166            </div>
1167        </div>
1168    </div>
1169</section>
1170
1171        <section class="section home-about-section" style="background-image:url(https://interstacks.com/wp-content/uploads/2022/09/about-bkg-scaled-1.jpg);">
1172  <div class="wrap wrap--limited">
1173    <div class="home-about-callout">
1174      <div class="home-callout-header home-callout-header--center">
1175        <h2 class="h1">Founded on over <b>25 years</b> of research and deployments.</h2>
1176      </div>
1177      <div class="home-callout-content">
1178        <p>Interstacks incorporates a comprehensive hardware-software and information architecture for the rapidly approaching world of massive, distributed computing. It was founded by an expert team with over 25 years of experience in deploying real-time distributed computing systems in military and industrial environments.</p>
1179
1180                            <a class="button"
1181            href="https://interstacks.com/about-us/"
1182            target="_self">
1183            About Us          </a>
1184              </div>
1185    </div>
1186  </div>
1187</section>
1188
1189        
1190
1191<section id="blogGdoc" style="padding-top: 0;" class="section">
1192    <div class="wrap">
1193    <div class="home-blog-header">
1194    <div style="margin-bottom: 0; !important" class="home-callout-header home-callout-header--left">
1195        <h2 class="h1">Blog</h2>
1196    </div>
1197                        <a class="button"
1198            href="https://interstacks.com/blog/"
1199            target="_self">
1200            View All Blog Posts          </a>
1201            </div>
1202    
1203    <div class="l-grid l-grid--three-col">
1204            <div class="l-grid-item box--shadow">
1205    <a href="https://interstacks.com/blog/mystacks-update-3-9-2-new-data-navigation-tools/">
1206        <div>
1207            
1208                <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span>
1209                <h3 class="home-blog-title">MyStacks Update 3.9.2 – New data navigation tools</h3>
1210            </div>
1211            <span class="text-button">Read More</span>
1212        
1213    </div>
1214    </a>
1215    <div class="l-grid-item box--shadow">
1216    <a href="https://interstacks.com/blog/scaling-industrial-iot/">
1217        <div>
1218            
1219                <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span>
1220                <h3 class="home-blog-title">Scaling Industrial IoT: Keeping large deployments manageable</h3>
1221            </div>
1222            <span class="text-button">Read More</span>
1223        
1224    </div>
1225    </a>
1226    <div class="l-grid-item box--shadow">
1227    <a href="https://interstacks.com/blog/mystacks-for-energy-providers/">
1228        <div>
1229            
1230                <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span>
1231                <h3 class="home-blog-title">MyStacks for On-Site Energy Providers</h3>
1232            </div>
1233            <span class="text-button">Read More</span>
1234        
1235    </div>
1236    </a>
1237        </div>
1238    </div>
1239</section>
1240            <section class="button-block-layout section color-option-3">
1241    <div class="wrap wrap--limited">
1242      <div class="home-button-block">
1243        <h2 class="h1">We’d love to talk to you.</h2>
1244        <div>
1245          <a class="button"
1246            href="https://interstacks.com/contact/"
1247            target="_self">
1248            Email Us          </a>
1249        </div>
1250      </div>
1251    </div>
1252  </section>
1253
1254  </article>
1255
1256
1257</main>
1258<script>
1259(function() {
1260  'use strict';
1261  // Aggressive check for flexible-container divs outside main
1262  function checkForMisplacedContainers() {
1263    const mainTag = document.querySelector('main');
1264    if (!mainTag) {
1265      console.error('No main tag found in document!');
1266      return;
1267    }
1268    // Get ALL elements in the document including head
1269    const allElements = document.querySelectorAll('*');
1270    let foundIssues = false;
1271    allElements.forEach(element => {
1272      if (element.classList.contains('flexible-container')) {
1273        // Check if element is outside main
1274        if (!mainTag.contains(element) && element !== mainTag) {
1275          console.error('AGGRESSIVE WARNING: flexible-container found outside main tag!', element);
1276          foundIssues = true;
1277          // Remove the offending element
1278          element.parentNode.removeChild(element);
1279          console.log('Removed offending flexible-container element');
1280        }
1281      }
1282    });
1283    if (!foundIssues) {
1284      console.log('No misplaced flexible-container elements found');
1285    } else {
1286      console.log('Aggressive cleanup completed');
1287    }
1288  }
1289  // Run immediately when script loads
1290  checkForMisplacedContainers();
1291  // Run again after DOM is fully loaded as a safety check
1292  document.addEventListener('DOMContentLoaded', checkForMisplacedContainers);
1293  // Run periodically as a watchdog (every 5 seconds)
1294  setInterval(checkForMisplacedContainers, 5000);
1295})();
1296</script>
1296
1297<footer id="colophon" class="site-footer" role="contentinfo">
1298  <div class="primary-footer">
1299    <div class="wrap">
1300
1301      <div class="l-columns l-columns--2">
1302        <div class="l-column-item">
1303          <div class="footer-social">
1304            <h4 class="footer-title">Connect</h4>
1305            
1306  <ul class="social-nav">
1307
1308    
1309      
1310        <li>
1311          <a href="https://www.facebook.com/Interstacks/" target="_blank">
1312            <span class="vh">Facebook</span>
1313            <svg class="social-facebook-svg" width="47" height="47">
1314              <use href="#social-facebook"></use>
1315            </svg>
1316          </a>
1317        </li>
1318
1319          
1320      
1321        <li>
1322          <a href="https://x.com/interstacks" target="_blank">
1323            <span class="vh">Twitter</span>
1324            <svg class="social-twitter-svg" width="47" height="47">
1325              <use href="#social-twitter"></use>
1326            </svg>
1327          </a>
1328        </li>
1329
1330          
1331          
1332      
1333        <li>
1334          <a href="https://www.linkedin.com/company/interstacks/" target="_blank">
1335            <span class="vh">LinkedIn</span>
1336            <svg class="social-linkedin-svg" width="47" height="47">
1337              <use href="#social-linkedin"></use>
1338            </svg>
1339          </a>
1340        </li>
1341
1342          
1343          
1344          
1345      
1346        <li>
1347          <a href="mailto:[email protected]" target="_blank">
1348            <span class="vh">Email</span>
1349            <svg class="social-email-svg" width="47" height="47">
1350              <use href="#social-email"></use>
1351            </svg>
1352          </a>
1353        </li>
1354
1355          
1356  </ul>
1357
1358          </div>
1359        </div>
1360      </div>
1361
1362    </div>
1363  </div>
1364  <div class="site-info">
1365    <div class="wrap">
1366
1367      <div class="l-columns l-columns--2 l-columns--small-gutter">
1368        <div class="l-column-item">
1369          <div class="site-copyright">
1370            <p><small>Copyright &copy; 2026 Interstacks. All rights reserved. <a href="https://interstacks.com/privacy-policy/">Privacy Policy</a> | <a href="https://interstacks.com/terms-and-conditions/">Terms and Conditions</a></small></p>
1371          </div>
1372        </div>
1373      </div>
1374
1375    </div>
1376  </div>
1377</footer>
1378
1379<div id='pys_ajax_events'></div>        
1379<script>
1380            var node = document.getElementsByClassName('woocommerce-message')[0];
1381            if(node && document.getElementById('pys_late_event')) {
1382                var messageText = node.textContent.trim();
1383                if(!messageText) {
1384                    node.style.display = 'none';
1385                }
1386            }
1387        </script>
1387
1388        	
1388<script type='text/javascript'>
1389		(function () {
1390			var c = document.body.className;
1391			c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
1392			document.body.className = c;
1393		})();
1394	</script>
1394
1395	<link rel='stylesheet' id='wc-clover-payments-checkout-block-style-css' href='https://interstacks.com/wp-content/plugins/clover-payments-for-woocommerce/build/index.css?ver=b1d79e34637685426a55' type='text/css' media='all' />
1396<link rel='stylesheet' id='wc-blocks-style-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-9.8.7' type='text/css' media='all' />
vendor: 81 bytes, lines 1396-1397
1396
1397<script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=
1397G-43TVGEK38G
vendor: 64 bytes, line 1397
1397" id="google-tag-manager-js" data-wp-strategy="async"></script>
1398<script type="text/javascript" src="https://interstacks.com/wp-includes/js/dist/hooks.min.js?ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script>
vendor: 1 bytes, line 1398
1398
1399<script type="text/javascript" src="https://interstacks.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script>
vendor: 1 bytes, line 1399
1399
1400<script type="text/javascript" id="wp-i18n-js-after">
1401/* <![CDATA[ */
1402wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1403/* ]]> */
1404</script>
vendor: 1 bytes, line 1404
1404
1405<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce-google-analytics-integration/assets/js/build/main.js?ver=50c6d17d67ef40d67991" id="woocommerce-google-analytics-integration-js"></script>
vendor: 1 bytes, line 1405
1405
1406<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/TweenMax.min.js?ver=100" id="TweenMax-js-js"></script>
vendor: 1 bytes, line 1406
1406
1407<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/scrollmagic.min.js?ver=100" id="scrollmagic-js-js"></script>
vendor: 1 bytes, line 1407
1407
1408<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/animation.gsap.min.js?ver=100" id="animation-gsap-js-js"></script>
vendor: 1 bytes, line 1408
1408
1409<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/build/site.min.js?ver=1773606452" id="site-js"></script>
vendor: 1 bytes, line 1409
1409
1410<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=9.8.7" id="sourcebuster-js-js"></script>
vendor: 1 bytes, line 1410
1410
1411<script type="text/javascript" id="wc-order-attribution-js-extra">
1412/* <![CDATA[ */
1413var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https:\/\/interstacks.com\/wp-admin\/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
1414/* ]]> */
1415</script>
vendor: 1 bytes, line 1415
1415
1416<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=9.8.7" id="wc-order-attribution-js"></script>
vendor: 1 bytes, line 1416
1416
1417<script type="text/javascript" id="woocommerce-google-analytics-integration-data-js-after">
1418/* <![CDATA[ */
1419window.ga4w = { data: {"cart":{"items":[],"coupons":[],"totals":{"currency_code":"USD","total_price":0,"currency_minor_unit":2}}}, settings: {"tracker_function_name":"gtag","events":["purchase","add_to_cart","remove_from_cart","view_item_list","select_content","view_item","begin_checkout"],"identifier":"product_sku"} }; document.dispatchEvent(new Event("ga4w:ready"));
1420/* ]]> */
1421</script>
1421
1422
1423
1424</body>
1425</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.