<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<meta name=ad.size content="width=160,height=600">
<link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700">
<style data-styled=true data-styled-version=6.1.13>
*,html {
box-sizing: border-box
}
.eWBfRC,.jQmlb {
font-variant-ligatures: normal;
line-height: 1.2;
text-align: left;
word-wrap: break-word
}
.cWWutB,.jymPSS {
text-decoration: none
}
.cNWsMe,.hQMIKk {
animation-duration: 1s;
animation-delay: -1ms;
animation-direction: normal;
animation-iteration-count: 1
}
html {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility
}
body,html {
background: 0 0;
line-height: 1.4;
margin: 0;
padding: 0
}
.hidden {
display: none
}
.not-visible {
visibility: hidden
}
.eWBfRC {
letter-spacing: 2.875127488428937px
}
.jQmlb {
letter-spacing: 0
}
.fNmPiI {
font-family: Roboto;
font-weight: 500;
font-style: normal;
font-size: 17.3245px;
white-space: pre-line
}
.hWFAvq,.iRHzIF {
font-size: 20.5342px;
white-space: pre-line;
font-family: Roboto;
font-style: normal
}
.hWFAvq {
font-weight: 700
}
.iRHzIF {
font-weight: 400
}
.jymPSS {
color: #fdb71a;
text-transform: uppercase
}
.cWWutB {
color: #fff;
text-transform: none
}
.lnqcCP {
color: #fdb71a
}
.ctmXIn {
transform: translateY(-50%);
top: 50%;
position: relative;
width: 100%;
margin: 0;
display: inline-block;
pointer-events: none;
line-height: 1.4
}
.cBgJrC,.hlqGMu {
position: absolute
}
.cAUYFn,.daCWfJ,.fAlpMt {
display: flex;
width: 100%;
height: 100%
}
.cBhuMT {
text-align: center;
white-space: nowrap;
overflow-wrap: break-word
}
.daCWfJ,.fUBtFy {
overflow: hidden
}
.daCWfJ {
cursor: pointer;
align-items: baseline;
border: 0 solid #000;
padding: 0;
background: 50% 50%/cover no-repeat;
background: linear-gradient(270deg,#fdb71a 0,#e37820 100%);
border-radius: 5px
}
.daCWfJ label {
font-family: Roboto;
font-weight: 500;
font-style: normal;
color: #fff;
font-size: 13px;
letter-spacing: 0
}
.daCWfJ:hover {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
background: linear-gradient(270deg,#ffc124 0,#ed822a 100%);
border-color: #0a0a0a
}
.CRFOU,.CRFOU:hover,.cgroup-hover .CRFOU {
background-image: url(./media/11c438686a288815aa637e48917b54b2.jpg)
}
.CRFOU,.CRFOU:hover,.cgroup-hover .CRFOU,.cgroup-hover .hNHmIe,.hNHmIe,.hNHmIe:hover {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover
}
.cAUYFn,.fAlpMt {
justify-content: center;
align-items: center
}
.CRFOU {
width: 100%;
height: 100%
}
.hNHmIe {
width: 100%;
height: 100%;
background: linear-gradient(360deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 45%,rgba(0,0,0,.9) 100%);
border: 0 solid #000;
border-radius: 0
}
.cgroup-hover .hNHmIe,.hNHmIe:hover {
background: linear-gradient(360deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 45%,rgba(0,0,0,.9) 100%)
}
.jKzvuE {
width: 100%;
height: 100%
}
.bbeOqu,.eYerhY {
width: 160px;
left: 0;
top: 0
}
.hlqGMu {
perspective-origin: center
}
.eYerhY {
height: 600px;
perspective: 532px
}
.bbeOqu {
height: 443px;
perspective: 422.1px
}
.iskeFh {
width: 173.4091px;
height: 34.0625px;
left: -54px;
top: 15px;
perspective: 145.23px
}
.eJfJJV {
width: 156.87px;
height: 42px;
left: 16px;
top: 73px;
perspective: 139.21px
}
.khruef {
width: 113px;
height: 36px;
left: 16px;
top: 337px;
perspective: 104.3px
}
.cHQwUV {
width: 121px;
height: 172px;
left: 16px;
top: 126px;
perspective: 205.1px
}
.cBgJrC,.fVcIUP {
width: 100%;
height: 100%
}
.fVcIUP {
perspective: inherit
}
.hQMIKk {
animation-timing-function: cubic-bezier(.25,.46,.45,.94);
animation-name: bnHtbb;
animation-fill-mode: both
}
.cNWsMe {
animation-timing-function: cubic-bezier(.165,.84,.44,1);
animation-name: jpYmmT;
animation-fill-mode: backwards
}
.cBgJrC {
perspective-origin: center
}
.fUBtFy {
width: 160px;
height: 600px;
background-color: #fff;
background-image: none
}
@keyframes bnHtbb {
0% {
opacity: 0
}
100% {
opacity: 1
}
}
@keyframes jpYmmT {
0% {
transform: translateX(-50px) translateY(0);
opacity: 0
}
100% {
transform: translateX(0) translateY(0);
opacity: 1
}
}
</style>
<script>
window.creatopyEmbed = {
designData: {
animations: [{
type: "slide",
id: 1,
duration: 9500,
effOutDuration: 0,
effInDuration: 0,
crossTypeOut: "hide",
stop: !1,
elements: [{
type: "element",
id: 3,
from: 0
}, {
type: "element",
id: 4,
from: 500
}, {
type: "element",
id: 6,
from: 4e3
}, {
type: "element",
id: 5,
from: 2e3
}]
}],
customAnimations: [],
hasFonts: !0,
useHandCursor: !0,
loopCount: 0,
height: 600,
width: 160,
fallbackImagePosition: {},
isAdServing: !1,
fonts: [{
fontName: "Roboto"
}],
fontsLocalPath: "./fonts/",
processedVars: {
clickTag: "{{CLICK_URL}}https://www.synopsys.com/ai/ai-chip-development/mastering-ai-chip-complexity-ebook.html?utm_source=intentsify&utm_medium=display&utm_content=ai-chips-ebook_160x600_ros_ebk&utm_campaign=ai_awareness"
},
soasLayersSlideLocation: []
}
};
;!function() {
"use strict";
var e = (e => (e.MOVE = "move",
e.ROTATE = "rotate",
e.SCALE = "scale",
e.OPACITY = "opacity",
e.BLUR = "blur",
e))(e || {});
const t = Object.values(e);
function n(e) {
return "slide" === e.type
}
function i(e) {
return "element" === e.type
}
function o(e) {
if (null == e)
throw new Error("Unexpected null value");
return e
}
function r(e, t) {
document.addEventListener("DOMContentLoaded", e, t)
}
function d(e) {
return document.getElementById(e)
}
function s(e) {
null == e || e.classList.add("hidden")
}
function a(e) {
null == e || e.classList.remove("hidden")
}
const l = window.creatopyEmbed.designData
, c = l.animations;
class u {
constructor() {
this.timeOuts = {}
}
get(e) {
return this.timeOuts[e] || (this.timeOuts[e] = []),
this.timeOuts[e]
}
add(e, t) {
this.timeOuts[e] || (this.timeOuts[e] = []),
this.timeOuts[e].push(t)
}
clear(e) {
this.timeOuts[e] && this.timeOuts[e].forEach((e => {
clearTimeout(e)
}
)),
this.timeOuts[e] = []
}
clearAll() {
Object.keys(this.timeOuts).forEach((e => {
this.clear(+e)
}
))
}
}
var f = Object.defineProperty
, m = Object.defineProperties
, w = Object.getOwnPropertyDescriptors
, p = Object.getOwnPropertySymbols
, h = Object.prototype.hasOwnProperty
, v = Object.prototype.propertyIsEnumerable
, g = (e, t, n) => t in e ? f(e, t, {
enumerable: !0,
configurable: !0,
writable: !0,
value: n
}) : e[t] = n
, y = (e, t) => {
for (var n in t || (t = {}))
h.call(t, n) && g(e, n, t[n]);
if (p)
for (var n of p(t))
v.call(t, n) && g(e, n, t[n]);
return e
}
, E = (e, t) => m(e, w(t));
class b extends EventTarget {
dispatchTypedEvent(e, t) {
return super.dispatchEvent(t)
}
}
const O = new b
, T = O.dispatchTypedEvent.bind(O)
, C = O.addEventListener.bind(O);
function L(e) {
s(e.slideElement),
T("hideSlide", new CustomEvent("hideSlide",{
detail: e
}))
}
function I(e) {
T("stopSlide", new CustomEvent("stopSlide",{
detail: e
}))
}
function A(e) {
T("playSlide", new CustomEvent("playSlide",{
detail: E(y({}, e), {
source: "native"
})
}))
}
O.removeEventListener.bind(O);
const k = new u;
r((function() {
const {preview: e, noAnimation: t} = l
, i = () => l.animations.filter(n)
, r = () => i().map((e => d(`slide-${e.id}`)));
if (t)
return;
const c = window.setTimeout;
let u;
C("playSlide", (function(e) {
const {slide: t, slideIndex: n, slideElement: d, currentLoopCount: s, source: f, advanceTime: m=0} = e.detail
, w = i()
, p = r()
, h = l.loopCount;
a(d);
const v = t.id;
k.clear(v);
let g = t.effInDuration;
if (0 === n && 0 === s && (g = 0),
"native" !== f && (k.clear(u.slide.id),
u.slideIndex !== n && L(E(y({}, u), {
currentLoopCount: s
}))),
t.stop)
t.duration + g - m > 0 && k.add(v, c(( () => {
I(y({}, e.detail))
}
), t.duration + g - m));
else {
const i = n >= w.length - 1
, r = i ? s + 1 : s;
h > 0 && i && r >= h ? k.add(v, c(( () => {
I(y({}, e.detail))
}
), t.duration + g - 1 - m)) : (k.add(v, c(( () => {
L({
slideIndex: n,
slideElement: d,
slide: t,
currentLoopCount: s
})
}
), t.duration + t.effOutDuration + g - m)),
t.duration + g - m >= 0 && k.add(v, c(( () => {
const e = i ? 0 : n + 1;
A({
slideIndex: e,
slideElement: o(p[e]),
slide: w[e],
currentLoopCount: r,
advanceTime: m > t.duration && m < t.duration + t.effOutDuration ? t.duration - m : 0
})
}
), t.duration + g - m)))
}
u = e.detail
}
)),
C("stopSlide", (function({detail: {slide: {id: e}}}) {
k.clear(e)
}
)),
C("designReady", ( () => {
const t = i()
, n = r();
n.forEach((e => {
s(e)
}
)),
!(null == e ? void 0 : e.active) && n.length && requestAnimationFrame(( () => {
A({
slideIndex: 0,
slideElement: o(n[0]),
slide: t[0],
currentLoopCount: 0
})
}
))
}
))
}
)),
window.creatopyEmbed.eventManager = O;
var x = Object.defineProperty
, S = Object.defineProperties
, $ = Object.getOwnPropertyDescriptors
, R = Object.getOwnPropertySymbols
, P = Object.prototype.hasOwnProperty
, D = Object.prototype.propertyIsEnumerable
, j = (e, t, n) => t in e ? x(e, t, {
enumerable: !0,
configurable: !0,
writable: !0,
value: n
}) : e[t] = n;
const U = new u;
function F({element: e, domElement: t}) {
t && s(t),
T("hideElement", new CustomEvent("hideElement",{
detail: {
element: e
}
}))
}
function M({element: e, domElement: t}) {
t && a(t),
T("showElement", new CustomEvent("showElement",{
detail: {
element: e
}
}))
}
function q(e, t="running") {
const n = [e.classList[e.classList.length - 1]];
var i;
"true" === e.dataset.wordsAnimation && n.push(e.classList[e.classList.length - 2]),
e.classList.remove(...n),
s(e),
e.offsetHeight,
a(e),
e.classList.add(...n),
"paused" === t ? B(e) : (_(i = e),
"true" === (null == i ? void 0 : i.dataset.wordsAnimation) && i.querySelectorAll(".word").forEach(_))
}
function z(e) {
null == e || e.style.setProperty("animation-play-state", "paused")
}
function _(e) {
null == e || e.style.setProperty("animation-play-state", "running")
}
function B(e) {
z(e),
"true" === (null == e ? void 0 : e.dataset.wordsAnimation) && e.querySelectorAll(".word").forEach(z)
}
function G({slide: e, slides: n, elements: i, effInDuration: o=0, currentTimeouts: r, advanceTime: a, loopCount: c}) {
i.forEach((i => {
var u, f;
const m = d(`element-${i.id}`);
if (!m)
throw new Error(`element-${i.id} not found`);
const w = d(`effIn${i.id}`)
, p = d(`effOut${i.id}`)
, h = d(`effMid${i.id}`)
, v = o + (i.from || 0)
, g = [];
t.forEach((e => {
const t = d(`effAdvanced${e}${i.id}`);
t && g.push(t)
}
)),
!i.from || 0 === i.from || v <= a ? (M({
element: i,
domElement: m
}),
B(w),
B(p),
g.forEach(B)) : (s(m),
r.push(window.setTimeout(( () => {
M({
element: i,
domElement: m
})
}
), v - a)));
let y = !1
, E = 0;
const b = l.loopCount && c + 1 >= l.loopCount;
if (e)
y = e.stop,
E = e.duration,
e === n[(null == n ? void 0 : n.length) - 1] && b && (y = !0);
else {
if (!n)
throw new Error("slide or slides must be provided");
for (const e of n) {
const t = 0 === n.indexOf(e) && 0 === c ? 0 : e.effInDuration;
if (E += e.duration + t,
e.stop) {
y = !0;
break
}
}
b && (y = !0)
}
void 0 !== i.duration && (!y || i.duration + (i.from || 0) <= E || (i.from || 0) < E && E < i.duration + (i.from || 0)) && r.push(window.setTimeout(( () => {
F({
element: i,
domElement: m
})
}
), v + i.duration - a)),
h && (null == (u = i.midAnimation) ? void 0 : u.duration) && (h.style.removeProperty("animation-name"),
r.push(window.setTimeout(( () => {
h.style.animationName = "none"
}
), v + i.midAnimation.duration - a)));
const O = [w, p, ...g];
(null == (f = i.midAnimation) ? void 0 : f.animateOnHover) || O.push(h),
function({elements: e, effInDuration: t, currentTimeouts: n, advanceTime: i}) {
const o = e.filter((e => e && null !== e));
o.length && (t - i > 0 ? n.push(window.setTimeout(( () => {
o.forEach((e => {
q(e)
}
))
}
), t - i)) : o.forEach((e => {
q(e)
}
)))
}({
elements: O,
effInDuration: o,
currentTimeouts: r,
advanceTime: a
})
}
))
}
r((function() {
const {noAnimation: e} = l;
if (e)
return;
const o = c.filter(n)
, r = c.filter(i);
function s(e) {
U.clear(e)
}
let a;
function u(e, t) {
if (!e || function(e) {
return e.classList.contains("hidden")
}(e))
return;
const n = function(e) {
const t = e.match(/-?\d+(\.\d+)?(ms|s)/g);
return t ? t.map((e => {
const t = parseFloat(e)
, n = e.includes("ms") ? t : 1e3 * t;
return -1 === n ? 0 : n
}
)) : []
}(window.getComputedStyle(e).animationDelay).map((e => e - t + "ms")).join(", ");
e.style.setProperty("animation-delay", n),
q(e, "paused"),
"true" === (null == e ? void 0 : e.dataset.wordsAnimation) && e.querySelectorAll(".word").forEach((e => u(e, t)))
}
function f(e, n) {
e.forEach((e => {
const i = n - (e.from || 0);
u(d(`effIn${e.id}`), i),
u(d(`effOut${e.id}`), i),
u(d(`effMid${e.id}`), i),
t.forEach((t => {
u(d(`effAdvanced${t}${e.id}`), i)
}
))
}
))
}
C("playSlide", (e => {
var t, n;
s(a),
function({slideIndex: e, loopCount: t, slide: n, source: i, advanceTime: d=0, advanceSoasTime: l=0}) {
(0 === e || l) && (s(-1),
G({
elements: r,
currentTimeouts: U.get(-1),
slides: o,
advanceTime: l,
loopCount: t
}));
let c = n.effInDuration;
(c && 0 === e && 0 === t || "action" === i) && (c = 0),
a = e,
s(e),
G({
slide: n,
slides: o,
elements: n.elements,
effInDuration: c,
currentTimeouts: U.get(e),
advanceTime: Math.abs(d),
loopCount: t
})
}((t = ( (e, t) => {
for (var n in t || (t = {}))
P.call(t, n) && j(e, n, t[n]);
if (R)
for (var n of R(t))
D.call(t, n) && j(e, n, t[n]);
return e
}
)({}, e.detail),
n = {
loopCount: e.detail.currentLoopCount
},
S(t, $(n))))
}
)),
C("hideSlide", ( ({detail: {slideIndex: e, slide: t}}) => {
s(e),
t.elements.forEach((e => {
F({
element: e
})
}
))
}
)),
C("stopSlide", ( ({detail: {slide: e, slideIndex: t, currentLoopCount: n}}) => {
s(t),
s(-1),
requestAnimationFrame(( () => {
const t = 0 === n ? e.duration : e.effInDuration + e.duration;
if (u(d(`effIn${e.id}`), t),
u(d(`effOut${e.id}`), t),
f(e.elements, t),
r.length) {
let t = 0;
for (const i of o) {
const r = 0 === o.indexOf(i) && 0 === n ? 0 : i.effInDuration;
if (t += i.duration + r,
e === i)
break
}
f(r, t)
}
}
))
}
))
}
));
const H = (...e) => {
const t = e.length > 0 && void 0 !== e[0] ? e[0] : "clickTag"
, n = window.location.search.substring(1).split("".concat(t, "="));
if (!n[1])
return "";
let i = n[1].replace(/&.+$/, "");
try {
i = decodeURIComponent(i)
} catch (e) {
return ""
}
return null == i.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,8}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g) ? "" : i
}
;
var V = (e, t) => ("&" === t.charAt(0) && -1 === e.indexOf("?") ? t = t.replace("&", "?") : "?" === t.charAt(0) && e.indexOf("?") > -1 && (t = t.replace("?", "&")),
`${e}${t}`);
const W = e => {
const t = e.currentTarget
, n = t.getAttribute("href");
(null == n ? void 0 : n.includes("mailto:")) || (null == n ? void 0 : n.includes("tel:")) || !n || (e.preventDefault(),
e.stopPropagation(),
Z({
target: t.getAttribute("target") || "_blank",
url: n
}))
}
;
function N(e) {
return window.clickTagUrlSuffix && e ? V(e, window.clickTagUrlSuffix) : e
}
function Z(e) {
const {processedVars: t} = l;
let n = e.url || window.bannerURL
, i = !1
, {target: o} = e;
if (t && n) {
const e = Object.keys(t).find((e => t[e] === n || n && t[e] === `{clickurl}${encodeURIComponent(n)}`));
e && (n = e)
}
const r = String(n).indexOf("bsClickTAG");
if ("bsClickFunc"in window) {
if ("function" != typeof window.bsClickFunc)
throw new Error('"bsClickFunc" is not a function');
let t = n
, i = null;
return (String(n).indexOf("bsClickTAG") >= 0 || String(n).indexOf("clickTag") >= 0) && (t = window[n],
i = n),
t && t.indexOf("bsClickTAG") >= 0 ? t = void 0 : t && (t = N(t)),
window.bsClickFunc(t, e.target, i),
!1
}
if (-1 !== r || 0 === String(n).indexOf("clickTag")) {
const e = -1 !== r ? null == n ? void 0 : n.substr(r) : n;
n = "function" == typeof window[e] ? window[e]() : window[e],
n || -1 === r || (n = H())
} else {
if (!n && !1 === window.goToURLWithoutBSURL)
return !1;
const e = H()
, t = e || window.clickTag;
t && (void 0 === window.clickTag && n && t !== n && -1 === t.indexOf(n) && -1 === t.indexOf(encodeURIComponent(n)) ? (n = N(n),
i = !0,
n = t + encodeURIComponent(n || "")) : n = n && ["https:", "mailto:", "tel:"].some((e => null == n ? void 0 : n.startsWith(e))) && e && e !== n && -1 === e.indexOf(n) && -1 === e.indexOf(encodeURIComponent(n)) ? e + encodeURIComponent(n) : t,
window.urlTarget && (o = window.urlTarget))
}
n = function(e) {
return e && 0 !== String(e).length ? e.includes("://") || e.includes("mailto:") || e.includes("tel:") ? e : "https://" + e : ""
}(n),
window.creatopyEmbed.statsTrack && window.creatopyEmbed.statsTrack.launch(),
!i && n && (n = N(n)),
window.bsOpenURL(n, o)
}
const Y = {
fonts: !0,
document: !1,
feedReady: !0
};
function J() {
"complete" !== document.readyState ? setTimeout(J, 50) : (Y.document = !0,
Y.feedReady && Q())
}
let K = !1;
function Q() {
!K && Y.fonts && Y.document && Y.feedReady && (K = !0,
o(d("designContainer")).classList.remove("not-visible"),
T("designReady", new Event("designReady")),
window.designReady = !0)
}
function X(e) {
for (const t of e)
if (!document.fonts.check(`24px ${t}`))
return !1;
return !0
}
r((function() {
J();
const e = H() || window.clickTag || window.bannerURL;
if (e) {
const t = o(d("designContainer"));
t.style.cursor = "pointer",
t.addEventListener("click", ( () => {
Z({
url: window.bannerURL || e,
target: window.urlTarget || "_blank"
})
}
))
}
document.querySelectorAll(".text-content a").forEach((e => {
var t;
const n = null != (t = null == e ? void 0 : e.getAttribute("data-href")) ? t : "";
n && e.setAttribute("href", n),
e.removeEventListener("click", W),
e.addEventListener("click", W)
}
))
}
)),
window.getClickTagValue = H,
Y.fonts = !1;
const ee = () => {
Y.fonts = !0,
Q()
}
;
function te(e, t) {
const n = window.innerWidth / e
, i = window.innerHeight / t;
return Math.min(n, i)
}
var ne;
r(( () => {
return void 0,
null,
e = function*() {
if (l.hasFonts) {
yield document.fonts.ready;
const {fonts: e} = l
, t = null == e ? void 0 : e.map((e => e.fontName));
try {
yield function(e) {
return new Promise((t => {
if (X(e))
return void t(!0);
const n = setInterval(( () => {
X(e) && (clearInterval(n),
t(!0))
}
), 5);
setTimeout(( () => {
clearInterval(n),
t(!1)
}
), 1e3)
}
))
}(t || [])
} catch (e) {
console.error("Fonts did not load in time")
}
ee()
} else
ee()
}
,
new Promise(( (t, n) => {
var i = t => {
try {
r(e.next(t))
} catch (e) {
n(e)
}
}
, o = t => {
try {
r(e.throw(t))
} catch (e) {
n(e)
}
}
, r = e => e.done ? t(e.value) : Promise.resolve(e.value).then(i, o);
r((e = e.apply(undefined, null)).next())
}
));
var e
}
)),
ne = () => {
var e;
const {width: t, height: n} = l
, i = te(t, n)
, o = null == (e = d("designContainer")) ? void 0 : e.style;
if (!o)
throw new Error("designContainer not found");
i > 0 && (o.transform = `scale(${te(t, n)})`,
o.transformOrigin = "0 0 0"),
window.addEventListener("resize", ( () => {
o.transform = `scale(${te(t, n)})`,
o.transformOrigin = "0 0 0"
}
))
}
,
window.addEventListener("load", ne, undefined)
}();
window.bannerURL = "clickTag";
window.urlTarget = "_blank";
window.bsOpenURL = function(url, target) {
if (url && url.length > 0) {
window.open(url, target);
}
}
window.goToURLWithoutBSURL = false;
var clickTag = "{{CLICK_URL}}https://www.synopsys.com/ai/ai-chip-development/mastering-ai-chip-complexity-ebook.html?utm_source=intentsify&utm_medium=display&utm_content=ai-chips-ebook_160x600_ros_ebk&utm_campaign=ai_awareness";
</script>
</head>
<body>
<a href=clickTag target=_blank>
<noscript>
<img src=./media/fallback-image.jpg style=width:100%;height:100%;object-fit:cover;display:block>
</noscript>
</a>
<link rel=preload as=image href=./media/a351bc224ffa9cc7cdfc2268ee3db4be.svg>
<div class="sc-cqgMZH fUBtFy not-visible" id=designContainer>
<div id=slide-1 class="sc-CNKsk cBgJrC">
<div data-eltype=image id=element-7 class="sc-fufdwm sc-Rjrgp hlqGMu eYerhY">
<div id=c-7 class="sc-iqyJx CRFOU"></div>
</div>
<div data-eltype=shape id=element-8 class="sc-fufdwm sc-Rjrgp hlqGMu bbeOqu">
<div id=c-8 class="sc-iqyJx hNHmIe"></div>
</div>
<div data-eltype=svg id=element-3 class="sc-fufdwm sc-Rjrgp hlqGMu iskeFh">
<div id=effIn3 class="sc-huXwEz sc-FFETS fVcIUP hQMIKk">
<div id=c-3 class="sc-iqyJx jKzvuE">
<div class="sc-iuUfFv fAlpMt">
<img src=./media/a351bc224ffa9cc7cdfc2268ee3db4be.svg class="sc-gQaihK cAUYFn">
</div>
</div>
</div>
</div>
<div data-eltype=text id=element-4 class="sc-fufdwm sc-Rjrgp hlqGMu eJfJJV">
<div id=effIn4 class="sc-huXwEz sc-FFETS fVcIUP cNWsMe">
<div class="sc-iqyJx sc-eDHQDy jKzvuE bjifHL">
<div data-scale=0.7187818721072342 class="sc-egkSDF eWBfRC text-content" data-elgroup=slate-4>
<div class="sc-dntaoT fNmPiI row" data-fontsize=24.10257348901527>
<span data-fontsize=24.10257348901527 class="sc-dntaoT sc-ivxoEo sc-ghWlax fNmPiI jymPSS lnqcCP">AI Chips eBook</span>
</div>
</div>
</div>
</div>
</div>
<div data-eltype=button id=element-6 class="sc-fufdwm sc-Rjrgp hlqGMu khruef">
<div id=effIn6 class="sc-huXwEz sc-FFETS fVcIUP hQMIKk">
<button class="sc-cEzcPc daCWfJ">
<label class="sc-jwIPbr sc-cHqXqK ctmXIn cBhuMT">Download Now</label>
</button>
</div>
</div>
<div data-eltype=text id=element-5 class="sc-fufdwm sc-Rjrgp hlqGMu cHQwUV">
<div id=effIn5 class="sc-huXwEz sc-FFETS fVcIUP cNWsMe">
<div class="sc-iqyJx sc-eDHQDy jKzvuE bjifHL">
<div data-scale=1.453766748478889 class="sc-egkSDF jQmlb text-content" data-elgroup=slate-5>
<div class="sc-dntaoT hWFAvq row" data-fontsize=14.124825450792297>
<span data-fontsize=14.124825450792297 class="sc-dntaoT sc-ivxoEo sc-ghWlax hWFAvq cWWutB eIdYjn">Mastering </span>
</div>
<div class="sc-dntaoT hWFAvq row" data-fontsize=14.124825450792297>
<span data-fontsize=14.124825450792297 class="sc-dntaoT sc-ivxoEo sc-ghWlax hWFAvq cWWutB eIdYjn">AI Chip Complexity: </span>
</div>
<div class="sc-dntaoT iRHzIF row" data-fontsize=14.124825450792297>
<span data-fontsize=14.124825450792297 class="sc-dntaoT sc-ivxoEo sc-ghWlax iRHzIF cWWutB eIdYjn">Your Guide to First-Pass Silicon Success</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
5
3
85KB
99KB
216.0ms
492.0ms
381.0ms