PageSourceSearch

https://www.farmrio.com.br/

html farmrio.com.br collected 2026-09-24 17:35:32 UTC 948,986 bytes, 3,588 lines download raw bytes

1<!DOCTYPE html><html lang="pt-BR"><head><title>Novos Looks Originais | Moda Brasileira com Estilo</title><link rel="preconnect" href="https://decoims.com"/><link rel="dns-prefetch" href="https://decoims.com"/><link rel="preconnect" href="https://sgtm.farmrio.com.br"/><link rel="dns-prefetch" href="https://sgtm.farmrio.com.br"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="dns-prefetch" href="https://www.googletagmanager.com"/><link rel="preconnect" href="https://cdn.cookielaw.org"/><link rel="dns-prefetch" href="https://cdn.cookielaw.org"/><meta name="description" content="Explore a coleção com estampas autorais e designs únicos. Fácil de combinar com outras peças do guarda-roupa. Renove seu estilo agora mesmo!"/><meta name="theme-color"/><link rel="icon" href="https://decoims.com/farmrio/6bbddf19-2e39-4ef4-988d-6f96482fb81c/1742399969050-6ed6c185-096e-4dd9-af29-3e48eb76f4f1.png"/><meta property="twitter:title" content="Novos Looks Originais | Moda Brasileira com Estilo"/><meta property="twitter:description" content="Explore a coleção com estampas autorais e designs únicos. Fácil de combinar com outras peças do guarda-roupa. Renove seu estilo agora mesmo!"/><meta property="twitter:image" content="https://decoims.com/farmrio/6e2b56df-e143-47f0-9808-e5b3f61589f5/1742399970134-bccb96ce-a9c0-4a90-8c64-db91bbef46bc.png"/><meta property="twitter:card" content="summary"/><meta property="og:title" content="Novos Looks Originais | Moda Brasileira com Estilo"/><meta property="og:description" content="Explore a coleção com estampas autorais e designs únicos. Fácil de combinar com outras peças do guarda-roupa. Renove seu estilo agora mesmo!"/><meta property="og:type" content="website"/><meta property="og:image" content="https://decoims.com/farmrio/6e2b56df-e143-47f0-9808-e5b3f61589f5/1742399970134-bccb96ce-a9c0-4a90-8c64-db91bbef46bc.png"/><meta property="og:url" content="https://www.farmrio.com.br/"/><link rel="canonical" href="https://www.farmrio.com.br/"/><meta name="robots" content="index, follow"/>
1<script defer src="data:text/javascript,(live%3D%3E%7Bconst%20onKeydown%3De%3D%3E%7Bif(globalThis.window%3D%3D%3DglobalThis.window.parent%26%26e.target%3D%3D%3Ddocument.body%26%26!e.defaultPrevented%26%26(e.ctrlKey%26%26e.shiftKey%26%26%22E%22%3D%3D%3De.key%7C%7C%22.%22%3D%3D%3De.key))%7Be.preventDefault()%2Ce.stopPropagation()%3Bconst%20o%3D%60%2Fchoose-editor%3Fsite%3D%24%7BglobalThis.window.LIVE.site.name%7D%26domain%3D%24%7BglobalThis.window.location.origin%7D%26pageId%3D%24%7BglobalThis.window.LIVE.page.id%7D%60%2Ca%3Dnew%20URL(o%2C%22https%3A%2F%2Fadmin.deco.cx%22)%3Bif(a.searchParams.set(%22path%22%2CencodeURIComponent(%60%24%7BglobalThis.window.location.pathname%7D%24%7BglobalThis.window.location.search%7D%60))%2Ca.searchParams.set(%22pathTemplate%22%2CencodeURIComponent(globalThis.window.LIVE.page.pathTemplate%7C%7C%22%2F*%22))%2C(e.ctrlKey%7C%7Ce.metaKey)%26%26%22.%22%3D%3D%3De.key)return%20globalThis.window.open(a%2C%22_blank%22)%2Cvoid%200%3BglobalThis.window.location.href%3D%60%24%7Ba%7D%60%7D%7D%2ConMessage%3Devent%3D%3E%7Bconst%7Bdata%7D%3Devent%3Bif(%22editor%3A%3Ainject%22%3D%3D%3Ddata.type)return%20eval(data.args.script)%7D%3BglobalThis.window.LIVE%3D%7B...globalThis.window.LIVE%2C...live%7D%2Clive.avoidRedirectingToEditor%7C%7Cdocument.body.addEventListener(%22keydown%22%2ConKeydown)%2CaddEventListener(%22message%22%2ConMessage)%7D)(%7B%22page%22%3A%7B%22id%22%3A%22pages-home-c4bcbfb771e9%22%2C%22pathTemplate%22%3A%22%2F%22%7D%2C%22site%22%3A%7B%22id%22%3A0%2C%22name%22%3A%22farmrio%22%7D%2C%22flags%22%3A%5B%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.3.banners.0.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.3.banners.5.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.4.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.9.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.14.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Header%20Global%20%40navItems.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Header%20Global%20%40newMenu.variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.2.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.8.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.15.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.16.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.17.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cac
1heable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.18.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.19.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.25.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.26.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.10.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22benef%C3%ADcios%20app%20vers%C3%A3o%20att%40variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22benef%C3%ADcios%20app%20vers%C3%A3o%20att%40variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.value.categories.1.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.value.categories.4.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22variants.0.rule.matcher%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Minicart%40minicartProps.productShelf.productsLoader.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Minicart%40minicartProps.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.0%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.1.matchers.0%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.1%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Alerta%40variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Alerta%40variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%5D%7D)" nonce="16c268fd223f430b98c07279b4c2abab"></script>
1<script defer id="deco-events" src="data:text/javascript,((%7Bdeco%3A%7Bpage%3Ae%7D%2CsegmentCookie%3An%2CfeatureFlags%3At%7D)%3D%3E%7Bconst%20a%3Ddocument.cookie%2Co%3D%7B%7D%3Bif(null!%3D%3Da)%7Bconst%20e%3Da.split(%22%3B%22)%3Bfor(const%20n%20of%20e)%7Bconst%5Be%2C...t%5D%3Dn.split(%22%3D%22)%3Bo%5Be.trim()%5D%3Dt.join(%22%3D%22)%7D%7Dconst%20s%3D%5B%5D%3Bif(o%5Bn%5D)try%7Bconst%20e%3DJSON.parse(decodeURIComponent(atob(o%5Bn%5D)))%3Be.active%3F.forEach((e%3D%3Es.push(%7Bname%3Ae%2Cvalue%3A!0%7D)))%2Ce.inactiveDrawn%3F.forEach((e%3D%3Es.push(%7Bname%3Ae%2Cvalue%3A!1%7D)))%7Dcatch%7Bconsole.error(%22Error%20parsing%20deco_segment%20cookie%22)%7Dconst%20i%3Dnew%20EventTarget%2Cc%3De%3D%3E%7Bi.dispatchEvent(new%20CustomEvent(%22analytics%22%2C%7Bdetail%3Ae%7D))%7D%3BglobalThis.window.DECO_SITES_STD%3D%7BsendAnalyticsEvent%3Ac%7D%2CglobalThis.window.DECO%3D%7B...globalThis.window.DECO%2Cevents%3A%7Bdispatch%3Ac%2Csubscribe%3A(n%2Ct)%3D%3E%7Bconst%20a%3D(%7Bdetail%3Ae%7D)%3D%3En(e)%3Breturn%20n(%7Bname%3A%22deco%22%2Cparams%3A%7Bflags%3As%2Cpage%3Ae%7D%7D)%2Ci.addEventListener(%22analytics%22%2Ca%2Ct)%2C()%3D%3E%7Bi.removeEventListener(%22analytics%22%2Ca%2Ct)%7D%7D%7D%2CfeatureFlags%3At%7D%7D)(%7B%22deco%22%3A%7B%22flags%22%3A%5B%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.3.banners.0.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.3.banners.5.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.4.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.9.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.14.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Header%20Global%20%40navItems.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Header%20Global%20%40newMenu.variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.2.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.8.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.15.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.16.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.17.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.18.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.19.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cac
1heable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.25.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.26.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.10.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22benef%C3%ADcios%20app%20vers%C3%A3o%20att%40variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22benef%C3%ADcios%20app%20vers%C3%A3o%20att%40variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.value.categories.1.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22pages-home-c4bcbfb771e9%40sections.variants.1.value.27.section.variants.0.value.categories.4.variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22variants.0.rule.matcher%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Minicart%40minicartProps.productShelf.productsLoader.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Minicart%40minicartProps.section.variants.0.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.0%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.1.matchers.0%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%40matchers.1%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22ETC%20Segment%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Atrue%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Alerta%40variants.0.rule%22%2C%22value%22%3Afalse%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%2C%7B%22name%22%3A%22Alerta%40variants.1.rule%22%2C%22value%22%3Atrue%2C%22isSegment%22%3Afalse%2C%22sticky%22%3Afalse%2C%22cacheable%22%3Atrue%7D%5D%2C%22page%22%3A%7B%22id%22%3A%22pages-home-c4bcbfb771e9%22%2C%22pathTemplate%22%3A%22%2F%22%7D%7D%2C%22segmentCookie%22%3A%22deco_segment%22%2C%22featureFlags%22%3A%7B%22bypassDecoImageOptimization%22%3Afalse%2C%22cdnHost%22%3A%22https%3A%2F%2Fdecoims.com%22%7D%7D)" nonce="16c268fd223f430b98c07279b4c2abab"></script>
1<link rel="dns-prefetch" href="https://d.lilstts.com/events"/><link rel="preconnect" href="https://d.lilstts.com/events" crossorigin="anonymous"/>
1<script async id="tracker" data-autocollect="false" data-hash-routing="true" data-url="https://d.lilstts.com/events" src="https://s.lilstts.com/deco.js" nonce="16c268fd223f430b98c07279b4c2abab"></script>
1<script defer src="data:text/javascript,(()%3D%3E%7Bconst%20s%3D%7B%7D%2Ct%3D()%3D%3EglobalThis.window.stonks%3F.view%3F.(s)%2Ce%3Dhistory.pushState%3Be%26%26(history.pushState%3Dfunction()%7Be.apply(this%2Carguments)%2Ct()%7D%2CaddEventListener(%22popstate%22%2Ct))%3Bconst%20n%3Ds%3D%3E%60%24%7Bs%7D%60.slice(0%2C990)%3BglobalThis.window.DECO.events.subscribe((e%3D%3E%7Bif(e%26%26%22deco%22%3D%3D%3De.name)%7Bif(e.params)%7Bconst%7Bflags%3At%2Cpage%3Ao%7D%3De.params%3Bif(Array.isArray(t))for(const%20e%20of%20t)s%5Be.name%5D%3Dn(e.value.toString())%3Bs.pageId%3Dn(%60%24%7Bo.id%7D%60)%7DglobalThis.window.stonks%3Ft()%3Adocument.getElementById(%22tracker%22)%3F.addEventListener(%22load%22%2Ct%2C%7Bonce%3A!0%7D)%7D%7D))()%2CglobalThis.window.DECO.events.subscribe((t%3D%3E%7Bif(!t)return%3Bconst%7Bname%3Ae%2Cparams%3Ao%7D%3Dt%3Bif(!e%7C%7C!o%7C%7C%22deco%22%3D%3D%3De)return%3Bconst%20i%3D%7B...s%7D%3Bfor(const%20s%20in%20o)%7Bconst%20t%3Do%5Bs%5D%3Bnull!%3Dt%26%26(i%5Bs%5D%3Dn(%22object%22!%3Dtypeof%20t%3Ft%3AJSON.stringify(t)))%7DglobalThis.window.stonks%3F.event%3F.(e%2Ci)%7D))%7D)()" nonce="16c268fd223f430b98c07279b4c2abab"></script>
1<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/><style>@view-transition { navigation: auto; }</style><link href="/styles.css?revision=1790262301&amp;__frsh_c=218f6e8a7a758c1b0d13ee86548a317d83210bdf" rel="stylesheet"/>
1<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(()=>{const a=new Image,e="https://s3-sa-east-1.amazonaws.com/frame-image-br/bg.png?x-id=1ddaf4ced98e314312ca90d80aeb70d9&x-r="+document.referrer+"&x-s="+globalThis.window.location.href;a.src=e})()</script>
1<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"/>
1<script type="text/javascript" id="vwoCode" nonce="16c268fd223f430b98c07279b4c2abab">   
2    window._vwo_code ||
3(function () {
4var w=window,
5d=document;
6var account_id=1152482,
7version=2.2,
8settings_tolerance=2000,
9hide_element='body',
10hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important';
11/* DO NOT EDIT BELOW THIS LINE */
12if(f=!1,v=d.querySelector('#vwoCode'),cc={},-1<d.URL.indexOf('__vwo_disable__')||w._vwo_code)return;try{var e=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=e&&'object'==typeof e?e:{}}catch(e){}function r(t){try{return decodeURIComponent(t)}catch(e){return t}}var s=function(){var e={combination:[],combinationChoose:[],split:[],exclude:[],uuid:null,consent:null,optOut:null},t=d.cookie||'';if(!t)return e;for(var n,i,o=/(?:^|;s*)(?:(_vis_opt_exp_(d+)_combi=([^;]*))|(_vis_opt_exp_(d+)_combi_choose=([^;]*))|(_vis_opt_exp_(d+)_split=([^:;]*))|(_vis_opt_exp_(d+)_exclude=[^;]*)|(_vis_opt_out=([^;]*))|(_vwo_global_opt_out=[^;]*)|(_vwo_uuid=([^;]*))|(_vwo_consent=([^;]*)))/g;null!==(n=o.exec(t));)try{n[1]?e.combination.push({id:n[2],value:r(n[3])}):n[4]?e.combinationChoose.push({id:n[5],value:r(n[6])}):n[7]?e.split.push({id:n[8],value:r(n[9])}):n[10]?e.exclude.push({id:n[11]}):n[12]?e.optOut=r(n[13]):n[14]?e.optOut=!0:n[15]?e.uuid=r(n[16]):n[17]&&(i=r(n[18]),e.consent=i&&3<=i.length?i.substring(0,3):null)}catch(e){}return e}();function i(){var e=function(){if(w.VWO&&Array.isArray(w.VWO))for(var e=0;e<w.VWO.length;e++){var t=w.VWO[e];if(Array.isArray(t)&&('setVisitorId'===t[0]||'setSessionId'===t[0]))return!0}return!1}(),t='a='+account_id+'&u='+encodeURIComponent(w._vis_opt_url||d.URL)+'&vn='+version+'&ph=1'+('undefined'!=typeof platform?'&p='+platform:'')+'&st='+w.performance.now();e||((n=function(){var e,t=[],n={},i=w.VWO&&w.VWO.appliedCampaigns||{};for(e in i){var o=i[e]&&i[e].v;o&&(t.push(e+'-'+o+'-1'),n[e]=!0)}if(s&&s.combination)for(var r=0;r<s.combination.length;r++){var a=s.combination[r];n[a.id]||t.push(a.id+'-'+a.value)}return t.join('|')}())&&(t+='&c='+n),(n=function(){var e=[],t={};if(s&&s.combinationChoose)for(var n=0;n<s.combinationChoose.length;n++){var i=s.combinationChoose[n];e.push(i.id+'-'+i.value),t[i.id]=!0}if(s&&s.split)for(var o=0;o<s.split.length;o++)t[(i=s.split[o]).id]||e.push(i.id+'-'+i.value);return e.join('|')}())&&(t+='&cc='+n),(n=function(){var e={},t=[];if(w.VWO&&Array.isArray(w.VWO))for(var n=0;n<w.VWO.length;n++){var i=w.VWO[n];if(Array.isArray(i)&&'setVariation'===i[0]&&i[1]&&Array.isArray(i[1]))for(var o=0;o<i[1].length;o++){var r,a=i[1][o];a&&'object'==typeof a&&(r=a.e,a=a.v,r&&a&&(e[r]=a))}}for(r in e)t.push(r+'-'+e[r]);return t.join('|')}())&&(t+='&sv='+n)),s&&s.optOut&&(t+='&o='+s.optOut);var n=function(){var e=[],t={};if(s&&s.exclude)for(var n=0;n<s.exclude.length;n++){var i=s.exclude[n];t[i.id]||(e.push(i.id),t[i.id]=!0)}return e.join('|')}();return n&&(t+='&e='+n),s&&s.uuid&&(t+='&id='+s.uuid),s&&s.consent&&(t+='&consent='+s.consent),w.name&&-1<w.name.indexOf('_vis_preview')&&(t+='&pM=true'),w.VWO&&w.VWO.ed&&(t+='&ed='+w.VWO.ed),t}code={nonce:v&&v.nonce,library_tolerance:function(){return'undefined'!=typeof library_tolerance?library_tolerance:void 0},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){return performance.getEntriesByName('first-contentful-paint')[0]?'':'string'==typeof cc.hE?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){var t;f||(f=!0,(t=d.getElementById('_vis_opt_path_hides'))&&t.parentNode.removeChild(t),e&&((new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e))},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript',e.src?t.src=e.src:t.text=e.text,v&&t.setAttribute('nonce',v.nonce),d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){t=t||{};var n=new XMLHttpRequest;n.open('GET',e,!0),n.withCredentials=!t.dSC,n.responseType=t.responseType||'text',n.onload=function(){if(t.onloadCb)return t.onloadCb(n,e);200===n.status?_vwo_code.addScript({text:n.responseText}):_vwo_code.finish('&e=loading_failure:'+e)},n.onerror=function(){if(t.onerrorCb)return t.onerrorCb(e);_vwo_code.finish('&e=loading_failure:'+e)},n.send()},init:function(){var e,t=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish()}
12,t),'body'!==this.hide_element()?(n=d.createElement('style'),e=(t=this.hide_element())?t+this.hide_element_style():'',t=d.getElementsByTagName('head')[0],n.setAttribute('id','_vis_opt_path_hides'),v&&n.setAttribute('nonce',v.nonce),n.setAttribute('type','text/css'),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(d.createTextNode(e)),t.appendChild(n)):(n=d.getElementsByTagName('head')[0],(e=d.createElement('div')).style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;',e.setAttribute('id','_vis_opt_path_hides'),e.classList.add('_vis_hide_layer'),n.parentNode.insertBefore(e,n.nextSibling));var n='https://dev.visualwebsiteoptimizer.com/j.php?'+i();-1!==w.location.search.indexOf('_vwo_xhr')?this.addScript({src:n}):this.load(n+'&x=true',{l:1})}};w._vwo_code=code;code.init();})();
13    </script>
13<script defer id="sizebay-vfr-v4" src="https://static.sizebay.technology/7664/prescript.js" nonce="16c268fd223f430b98c07279b4c2abab"></script>
13<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(()=>{try{fetch(new Request("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js")).catch((function(){return globalThis.window.DECO.events.dispatch({name:"AdBlocker"})}))}catch{globalThis.window.DECO.events.dispatch({name:"AdBlocker"})}})()</script>
13<script nonce="16c268fd223f430b98c07279b4c2abab">(t=>{if(t.length>0){if("complete"===document.readyState)return document.body.setAttribute("hx-ext",t.join(",")),void 0;globalThis.onload=()=>{document.body.setAttribute("hx-ext",t.join(","))}}})(["head-support"])</script>
13<script defer src="https://cdn.jsdelivr.net/npm/[email protected]" crossorigin="anonymous" nonce="16c268fd223f430b98c07279b4c2abab"></script>
13<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ext/head-support.js" crossorigin="anonymous" nonce="16c268fd223f430b98c07279b4c2abab"></script>
13<meta name="botify-site-verification" type="bVVisOw9FyGUu0ft2SXVJiADkIdLDdFr"/>
13<script defer src="https://cdn.jsdelivr.net/npm/@azzas/[email protected]/dist/mod.global.js" nonce="16c268fd223f430b98c07279b4c2abab"></script>
13<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(e=>{const t=new EventTarget;void addEventListener("load",(()=>{function e(e){const t=e?.getAttribute("data-sent"),i=e?.getAttribute("data-event"),n=e?.getAttribute("data-has-commerce");if(!i||t)return;e?.setAttribute("data-sent","true");const o=JSON.parse(decodeURIComponent(i)??{});globalThis.window?.DECO?.events?.dispatch({...o,hasCommerce:n})}function t(t){return t.stopPropagation(),e(t.currentTarget),!1}const i="undefined"!=typeof IntersectionObserver?new IntersectionObserver((t=>{for(const n of t){const{isIntersecting:t,target:o}=n;t&&(i.unobserve(o),e(o))}}),{rootMargin:"0px",threshold:.2}):null,n=n=>{const o=n.getAttribute("data-event-trigger"),r="click"===o?"click":"load"===o?"load":"view";return"click"===r?(n.addEventListener("click",t,{passive:!0}),void 0):"view"===r?(i?.observe(n),void 0):"load"===r?(e(n),void 0):void 0};document.body.querySelectorAll("[data-event]").forEach(n),document.body.addEventListener("htmx:load",(e=>{e.detail.elt.querySelectorAll("[data-event]").forEach(n)}))})),globalThis.window.STOREFRONT={CART:(()=>{let i=null;const n=()=>i&&JSON.parse(decodeURIComponent(i.querySelector('input[name="storefront-cart"]')?.value||"[]")),o={getCart:n,getQuantity:e=>i?.querySelector(`[data-item-id="${e}"] input[type="number"]`)?.valueAsNumber,setQuantity:(t,o,r)=>{const a=i?.querySelector(`[data-item-id="${t}"] input[type="number"]`),s=n()?.items.find((e=>e.item_id===t));return!(!a||!s)&&(0===o&&(o=1),-1===o&&(o=0),a.value=o.toString(),a.validity.valid&&(globalThis.window.DECO.events.dispatch({name:s.quantity<a.valueAsNumber?"add_to_cart":"remove_from_cart",params:{adapter:"ORDERFORM",meta:{region:"minicart"},orderForm:{...r||e,selected:s.sku,multipleRemove:-1===o,item_list_name:"minicart"}}}),a.dispatchEvent(new Event("change",{bubbles:!0}))),!0)},parseCurrency:e=>{const t=e.replace(/[^\d,]/g,"");if(t.includes(",")){const e=t.replace(",",".");return parseFloat(e)}return parseInt(t,10)},addToCart:(e,t,n,o,r,a,s)=>{const c=Array.isArray(e)?e:[e],d=c[0],l=i?.querySelector('input[name="add-to-cart"]'),m=i?.querySelector('button[name="action"][value="add-to-cart"]');if(!l||!m)return console.error("Missing add to cart button",{button:m,input:l}),!1;const[u="",p=""]=d?.item_variant?.split("-")??[],[y="",f=""]=[d?.item_category,d?.item_category2],g=r??d?.item_ref??"";if(!n){const e=e=>"image"in e&&"name"in e&&"price"in e&&"size"in e&&"stockQuantity"in e;d&&e(d)&&globalThis.window.STOREFRONT.NOTIFICATION.showProduct({image:d.image,name:d.name,price:d.price,size:d.size,stockQuantity:d.stockQuantity,color:d.color})}if(n&&a){const e=e=>"image"in e&&"name"in e&&"price"in e&&"size"in e;d&&e(d)&&globalThis.window.STOREFRONT.NOTIFICATION.showProductMobile({image:d.image,name:d.name,price:d.price,size:d.size})}if(s){const e=globalThis.window.AzzasTracker?.trackWebEvent,i=globalThis.window.location.pathname,n=o?.itemListName,r="compre_junto"===n?"minicart":"/wishlist"===i?"wishlist":["/","/farm-etc"].includes(i??"")?"home":i?.endsWith("/p")?"pdp":o?.region??o?.local??"";return e?.("ADD_TO_CART",{adapter:"DECO",meta:{region:r?.toLowerCase()},products:[{...s,item_list_name:n}]}),l.value=encodeURIComponent(JSON.stringify(t)),m.click(),!0}const h="number"==typeof d?.price?d.price:globalThis.window.STOREFRONT.CART.parseCurrency(d?.price??"0")??0,v="number"==typeof d?.listPrice?d?.listPrice:d?.listPrice?globalThis.window.STOREFRONT.CART.parseCurrency(d?.listPrice)??0:h,b=Number((v-h).toFixed(2)),E=c.filter(Boolean).map((e=>{const[t="",i=""]=e?.item_variant?.split("-")??[],[n="",r=""]=[e?.item_category,e?.item_category2],a="number"==typeof e?.price?e.price:globalThis.window.STOREFRONT.CART.parseCurrency(e?.price??"0")??0,s="number"==typeof e?.listPrice?e?.listPrice:e?.listPrice?globalThis.window.STOREFRONT.CART.parseCurrency(e?.listPrice)??0:a,c=Number((s-a).toFixed(2)),d=e?.item_ref??"";return{item_id:e?.item_group_id??"",item_sku:e?.item_id??"",item_ref:d,item_name:e?.item_name??"",item_brand:"farmrio",item_category:n,item_category2:r,item_variant:t,item_variant2:i.trim(),item_currency:"BRL",price:s??0,discount:c,quantity:e?.quantity??0,item_list_name:o?.itemListName??"",item_list_id:o?.itemListId??"",promotion_name:o?.promotionName??"",promotion_id:o?.promotionId??"",creative_name:o?.creativeName??"",creative_slot:o?.creativeSlot??""}})),w=E.reduce(((e,t)=>e+Number(t.price??0)),0);return globalThis.window.dataLayer.push({event:"add_to_cart",...o?.region?{}:{local:o?.local??""},ecommerce:{...o?.region?{region:o.region}:{},currency:"BRL",value:w||h||0,items:E.length>0?E:[{item_id:d?.item_group_id??"",item_sku:d?.item_id??"",item_ref:g,item_name:d?.item_name??"",item_brand:"farmrio",item_category:y,item_category2:f,item_variant:u,item_variant2:p.trim(),item_currency:"BRL",price:v??0,discount:b,quantity:d?.quantity??0,item_list_name:o?.itemListName??"",item_list_id:o?.itemListId??"",promotion_name:o?.promotionName??"",promotion_id:o?.promotionId??"",creative_name:o?.creativeName??"",creative_slot:o?.creativeSlot??""}]}}),l.value=encodeURIComponent(JSON.stringify(t)),m.click(),!0},addCoupon:e=>{const t=i?.querySelector('input[name="coupon"]'),n=i?.querySelector('button[name="action"][value="set-coupon"]');return!(!t||!n)&&(t.value=e,n.click(),document.getElementById("minicart-drawer")?.click(),!0)},updateCart:()=>{const e=i?.querySelector('input[name="action"][value="update-cart"]');e&&e.click()}
13,subscribe:(e,n)=>{t.addEventListener("cart",(()=>e(o)),n),i&&e(o)},dispatch:e=>{i=e,t.dispatchEvent(new Event("cart"))}};return o})(),USER:(()=>{let e=null;const i={getUser:()=>e,subscribe:(e,n)=>{t.addEventListener("person",(()=>e(i)),n),e(i)},dispatch:i=>{e=i,t.dispatchEvent(new Event("person"))}};return i})(),WISHLIST:(()=>{let e=null,i=new Set;const n={toggle:(t,i)=>e?(e.querySelector('input[name="product-id"]').value=t,e.querySelector('input[name="product-group-id"]').value=i,e.querySelector("button")?.click(),!0):(console.error("Missing wishlist Provider"),!1),inWishlist:e=>i.has(e),subscribe:(e,i)=>{t.addEventListener("wishlist",(()=>e(n)),i),e(n)},dispatch:n=>{e=n;const o=n.querySelector('script[type="application/json"]'),r=o?JSON.parse(o.innerText):null;i=new Set(r?.productIDs),t.dispatchEvent(new Event("wishlist"))},requestLogin:()=>{const e=document.getElementById("login-snackbar");e?.classList.contains("hidden")&&(e?.classList.remove("hidden"),setTimeout((()=>{e?.classList.add("hidden")}),5e3))}};return n})(),NOTIFICATION:(()=>{let e,t;const i=()=>{const i=document.getElementById("notify");i&&(e&&clearTimeout(e),t&&clearTimeout(t),e=setTimeout((()=>{i.classList.remove("fade-in"),i.classList.add("fade-out-notify"),t=setTimeout((()=>{i.classList.remove("fade-out-notify"),i.classList.add("hidden","opacity-0","fade-in")}),3e3)}),5e3))};return{showProduct:({image:n,name:o,price:r,size:a,stockQuantity:s,color:c})=>{e&&clearTimeout(e),t&&clearTimeout(t),document.getElementById("message-notify")?.classList.add("hidden");const d=document.getElementById("product-notify-list"),l=d?.querySelector("ul");d&&d.classList.add("hidden"),l&&(l.innerHTML="");const m={notify:{id:"notify",type:"element"},productNotify:{id:"product-notify",type:"element"},imageAnchor:{id:"image-product-anchor",attrs:{href:n.href||""}},imageProduct:{id:"image-product",attrs:{src:n.url,alt:n.alt||""}},name:{id:"name",text:o},stockQuantity:{id:"is-last-item",type:"element",notRemoveHidden:!0},price:{id:"notify-price",text:r},size:{id:"size",text:a},color:{id:"color",type:"element",notRemoveHidden:!c},colorImage:{id:"color-image",attrs:{src:c?.url||"",alt:c?.alt||""}}};(e=>{Object.values(e).forEach((e=>{document.getElementById(e.id)?.classList.add("hidden"),"is-last-item"===e.id&&document.getElementById(e.id)?.classList.remove("sm:flex")}))})(m);const u=Object.fromEntries(Object.entries(m).map((([e,t])=>[e,document.getElementById(t.id)])));if(Object.values(u).some((e=>!e)))return console.warn("Alguns elementos necessários não foram encontrados"),void 0;Object.entries(m).forEach((([e,t])=>{const i=u[e];t?.notRemoveHidden||i.classList.remove("hidden"),"attrs"in t&&t.attrs&&Object.entries(t.attrs).forEach((([e,t])=>{i.setAttribute(e,t||"")})),"text"in t&&t.text&&(i.innerText=t.text)})),s&&1===s&&(u.stockQuantity.classList.remove("hidden"),u.stockQuantity.classList.add("sm:flex")),u.notify.classList.remove("opacity-0","hidden"),i()},showProducts:n=>{if(!n||0===n.length)return;e&&clearTimeout(e),t&&clearTimeout(t),document.getElementById("message-notify")?.classList.add("hidden"),document.getElementById("product-notify")?.classList.add("hidden");const o=document.getElementById("product-notify-list"),r=o?.querySelector("ul"),a=document.getElementById("notify");if(!o||!r||!a)return console.warn("Alguns elementos necessarios nao foram encontrados"),void 0;r.innerHTML="";const s=n.slice(0,2),c=n.length-s.length;if(s.forEach((e=>{const t=document.createElement("li");t.className="flex relative flex-nowrap";const i=document.createElement("a");i.className="min-w-[50px] w-20 py-[2px] h-[118px] flex-shrink-0 flex-grow-0 basis-auto",e.image?.href&&i.setAttribute("href",e.image.href);const n=document.createElement("img");n.className="w-full h-full object-contain",n.src=e.image?.url||"",n.alt=e.image?.alt||"",i.appendChild(n),t.appendChild(i);const o=document.createElement("div");o.className="flex flex-wrap items-start pl-4";const a=document.createElement("div");a.className="w-[136px] text-sm font-bold flex-shrink-0 flex-grow-0 basis-auto text-ellipsis overflow-hidden leading-5",a.textContent=e.name??"";const s=document.createElement("div");s.className="h-[18px] w-full mb-5";const c=document.createElement("span");c.className="text-xs text-black font-medium",c.textContent=e.price??"",s.appendChild(c);const d=document.createElement("ul");d.className="flex";const l=document.createElement("li");if(l.className="ml-x w-[22px] h-[22px] text-xs font-semibold rounded-[22px] overflow-hidden flex items-center justify-center bg-white border border-primary text-gray-800",e.size?l.textContent=e.size:l.classList.add("hidden"),d.appendChild(l),e.color?.url){const t=document.createElement("li");t.className="ml-x w-5 h-5 rounded-[18px] overflow-hidden flex items-center justify-center";const i=document.createElement("img");i.className="w-[30px] h-[30px]",i.src=e.color.url,i.alt=e.color.alt||"",t.appendChild(i),d.appendChild(t)}o.appendChild(a),o.appendChild(s),o.appendChild(d),t.appendChild(o),r.appendChild(t)})),c>0){const e=document.createElement("div");e.className="mt-2 w-full rounded-md bg-[#F5F5F5] px-3 py-2 text-[13px] leading-[16
13px] font-bold text-[#333333] text-center",e.textContent=`+ ${c} ${1===c?"item":"itens"}`,r.appendChild(e)}o.classList.remove("hidden"),a.classList.remove("opacity-0","hidden"),i()},showProductMobile:({image:e,name:t,price:i,size:n})=>{const o={imageAnchor:{id:"image-product-anchor-mobile",attrs:{href:e.href||""}},imageProduct:{id:"image-product-mobile",attrs:{src:e.url,alt:e.alt||""}},name:{id:"name-mobile",text:t},price:{id:"price-mobile",text:i},size:{id:"size-mobile",text:n}},r=Object.fromEntries(Object.entries(o).map((([e,t])=>[e,document.getElementById(t.id)])));if(Object.values(r).some((e=>!e)))return console.warn("Alguns elementos necessários não foram encontrados"),void 0;Object.entries(o).forEach((([e,t])=>{const i=r[e];t?.notRemoveHidden||i.classList.remove("hidden"),"attrs"in t&&t.attrs&&Object.entries(t.attrs).forEach((([e,t])=>{i.setAttribute(e,t||"")})),"text"in t&&t.text&&(i.innerText=t.text)}))},showMessage:(e,t,n,o)=>{document.getElementById("product-notify")?.classList.add("hidden"),document.getElementById("product-notify-list")?.classList.add("hidden");const r={notify:{id:"notify",type:"element"},sessionNotify:{id:"message-notify",type:"element"},title:{id:"title-notify",text:e},message:{id:"description-notify",text:t},link:{id:"link-notify",attrs:{href:n}},linkText:{id:"link-notify-text",text:o}},a=Object.fromEntries(Object.entries(r).map((([e,t])=>[e,document.getElementById(t.id)])));if(Object.values(a).some((e=>!e)))return console.warn("Alguns elementos necessários não foram encontrados"),void 0;Object.entries(r).forEach((([e,t])=>{const i=a[e];i.classList.remove("hidden"),"attrs"in t&&Object.entries(t.attrs).forEach((([e,t])=>{i.setAttribute(e,t)})),"text"in t&&t.text&&(i.innerText=t.text)})),a.notify.classList.remove("opacity-0","hidden"),i()}}})(),AZZAS_TRACKER_WEB:{availableEvents:()=>{try{return globalThis.window.AzzasTracker?.EVENTS}catch(e){return console.error("[DT SDK] erro ao buscar os eventos disponíveis:",e),null}},trackEvent:(e,t)=>{try{const i=globalThis.window.AzzasTracker?.trackWebEvent;if("function"!=typeof i)return console.error("[DT SDK] trackWebEvent não está pronto ainda."),void 0;i(e,{...t})}catch(e){console.error("[DT SDK] erro ao enviar evento:",e)}}}}})(null)</script>
13<script id="gtm-script-GTM-PP9SFNHJ" nonce="16c268fd223f430b98c07279b4c2abab">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
14new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
15j=d.createElement(s);j.async=true;j.src=i;f.parentNode.insertBefore(j,f);
16})(window,document,'script','dataLayer', 'https://sgtm.farmrio.com.br/gtm.js?id=GTM-PP9SFNHJ');</script>
16<style type="text/css" id="__DESIGN_SYSTEM_VARS-P0-2">* {--font-family: ;--p: 32% 0.00 0deg;--pc: 97% 0.00 0deg;--s: 32% 0.00 0deg;--sc: 100% 0.00 0deg;--a: 100% 0.00 0deg;--ac: 31% 0.00 0deg;--n: 92% 0.00 0deg;--nc: 100% 0.00 0deg;--b1: 100% 0.00 0deg;--b2: 100% 0.00 0deg;--b3: 92% 0.00 0deg;--bc: 68% 0.00 0deg;--su: 95% 0.05 163deg;--suc: 70% 0.15 162deg;--wa: 0% 0.00 0deg;--wac: 71% 0.18 26deg;--er: 93% 0.03 18deg;--erc: 64% 0.21 25deg;--in: 41% 0.00 0deg;--inc: 97% 0.00 0deg;--fallback-p: #333333;--fallback-pc: #F5F5F5;--fallback-s: #333;--fallback-sc: #ffffff;--fallback-a: #ffffff;--fallback-n: #e5e5e5;--fallback-nc: #ffffff;--fallback-b1: #ffffff;--fallback-b2: #ffffff;--fallback-b3: #e5e5e5;--fallback-bc: #999999;--fallback-in: #4a4a4a;--fallback-inc: #f5f5f5;--fallback-su: #d1fae5;--fallback-suc: #10b981;--fallback-wa: #000000;--fallback-wac: #fe6f66;--fallback-er: #fae2e2;--fallback-erc: #ef4444;--rounded-box: 1rem;--rounded-btn: 2rem;--rounded-badge: 1.9rem;--animation-btn: 0.25s;--animation-input: 0.2s;--btn-focus-scale: 1;--border-btn: 1px;--tab-border: 1px;--tab-radius: 0.5rem;--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif}</style>
16<script type="application/ld+json" nonce="16c268fd223f430b98c07279b4c2abab">{
17  "@context": "https://schema.org",
18  "@type": "Organization",
19  "@id": "https://www.farmrio.com.br/",
20  "name": "FARM RIO",
21  "legalName": "CIDADE MARAVILHOSA INDUSTRIA E COMERCIO DE ROUPAS SA",
22  "description": "Descubra os novos looks originais FARM da coleção! Lançamentos de vestidos, macacões, calças, blusas e muito mais toda semana no site, lojas e app.",
23  "url": "https://www.farmrio.com.br/",
24  "logo": "https://cdn.codes.co.uk/img/merchants/149907/360-logo/v1/farm-rio-discount-codes.png",
25  "image": "https://cdn.codes.co.uk/img/merchants/149907/360-logo/v1/farm-rio-discount-codes.png",
26  "contactPoint": {
27    "@type": "ContactPoint",
28    "telephone": "(21) 3733-7701",
29    "email": "[email protected]"
30  },
31  "address": {
32    "@type": "PostalAddress",
33    "streetAddress": "Av. Coronel Phidias Tavora 360, Blc 1 armazém 1",
34    "addressLocality": "Pavuna",
35    "addressRegion": "RJ",
36    "postalCode": "21535-959",
37    "addressCountry": "BR"
38  },
39  "taxID": "09.611.669/0005-18",
40  "foundingDate": "2008",
41  "sameAs": [
42    "https://www.facebook.com/adorofarm",
43    "https://www.instagram.com/adorofarm/",
44    "https://br.pinterest.com/adorofarm/",
45    "https://www.tiktok.com/@farmrio",
46    "https://www.youtube.com/user/farmrio"
47  ],
48  "hasOfferCatalog": {
49    "@type": "OfferCatalog",
50    "name": "Lojas Farm Rio",
51    "itemListElement": [
52      {
53        "@type": "Offer",
54        "itemOffered": {
55          "@type": "LocalBusiness",
56          "name": "FARM INDEPENDÊNCIA",
57          "description": "Loja Farm Rio em JUIZ DE FORA, MG",
58          "telephone": "32 984717345",
59          "address": {
60            "@type": "PostalAddress",
61            "streetAddress": "AV INDEPENDÊNCIA, 3600, LJ 221",
62            "addressLocality": "JUIZ DE FORA",
63            "addressRegion": "MG",
64            "postalCode": "36025-290",
65            "addressCountry": "BR",
66            "addressNeighborhood": "SÃO MATEUS"
67          },
68          "areaServed": {
69            "@type": "City",
70            "name": "JUIZ DE FORA",
71            "containedInPlace": {
72              "@type": "State",
73              "name": "MG"
74            }
75          }
76        }
77      },
78      {
79        "@type": "Offer",
80        "itemOffered": {
81          "@type": "LocalBusiness",
82          "name": "FARM CONJUNTO NACIONAL BRASÍLIA",
83          "description": "Loja Farm Rio em BRASÍLIA, DF",
84          "telephone": "61 999761921",
85          "address": {
86            "@type": "PostalAddress",
87            "streetAddress": "SDN CNB - LUC T-62 - 1° piso, CONJUNTO A, LUC T-62 - 1° piso",
88            "addressLocality": "BRASÍLIA",
89            "addressRegion": "DF",
90            "postalCode": "70077-900",
91            "addressCountry": "BR",
92            "addressNeighborhood": "ASA NORTE"
93          },
94          "areaServed": {
95            "@type": "City",
96            "name": "BRASÍLIA",
97            "containedInPlace": {
98              "@type": "State",
99              "name": "DF"
100            }
101          }
102        }
103      },
104      {
105        "@type": "Offer",
106        "itemOffered": {
107          "@type": "LocalBusiness",
108          "name": "FARM RIO DESIGN BARRA",
109          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
110          "telephone": "21 996310190",
111          "address": {
112            "@type": "PostalAddress",
113            "streetAddress": "AV DAS AMÉRICAS, 7777, LJ 124/125",
114            "addressLocality": "RIO DE JANEIRO",
115            "addressRegion": "RJ",
116            "postalCode": "22793-081",
117            "addressCountry": "BR",
118            "addressNeighborhood": "BARRA DA TIJUCA"
119          },
120          "areaServed": {
121            "@type": "City",
122            "name": "RIO DE JANEIRO",
123            "containedInPlace": {
124              "@type": "State",
125              "name": "RJ"
126            }
127          }
128        }
129      },
130      {
131        "@type": "Offer",
132        "itemOffered": {
133          "@type": "LocalBusiness",
134          "name": "FARM BOULEVARD CAMPOS",
135          "description": "Loja Farm Rio em CAMPOS DOS GOYTACAZES, RJ",
136          "telephone": "22 997072280",
137          "address": {
138            "@type": "PostalAddress",
139            "streetAddress": "AV SILVIO BASTOS TAVARES, 330, LJ 106 A/B",
140            "addressLocality": "CAMPOS DOS GOYTACAZES",
141            "addressRegion": "RJ",
142            "postalCode": "28051-250",
143            "addressCountry": "BR",
144            "addressNeighborhood": "PARQUE JULIÃO NOGUEIRA"
145          },
146          "areaServed": {
147            "@type": "City",
148            "name": "CAMPOS DOS GOYTACAZES",
149            "containedInPlace": {
150              "@type": "State",
151              "name": "RJ"
152            }
153          }
154        }
155      },
156      {
157        "@type": "Offer",
158        "itemOffered": {
159          "@type": "LocalBusiness",
160          "name": "FARM BOTAFOGO PRAIA SHOPPING",
161          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
162          "telephone": "21 992039362",
163          "address": {
164            "@type": "PostalAddress",
165            "streetAddress": "PRAIA DE BOTAFOGO, 400, LJ 351",
166            "addressLocality": "RIO DE JANEIRO",
167            "addressRegion": "RJ",
168            "postalCode": "22250-910",
169            "addressCountry": "BR",
170            "addressNeighborhood": "BOTAFOGO"
171          },
172          "areaServed": {
173            "@type": "City",
174            "name": "RIO DE JANEIRO",
175            "containedInPlace": {
176              "@type": "State",
177              "name": "RJ"
178            }
179          }
180        }
181      },
182      {
183        "@type": "Offer",
184        "itemOffered": {
185          "@type": "LocalBusiness",
186          "name": "FARM PIRACICABA",
187          "description": "Loja Farm Rio em PIRACICABA, SP",
188          "telephone": "19 999461059",
189          "address": {
190            "@type": "PostalAddress",
191            "streetAddress": "AV LIMEIRA, 722, LJ 145",
192            "addressLocality": "PIRACICABA",
193            "addressRegion": "SP",
194            "postalCode": "13414-018",
195            "addressCountry": "BR",
196            "addressNeighborhood": "AREIAO"
197          },
198          "areaServed": {
199            "@type": "City",
200            "name": "PIRACICABA",
201            "containedInPlace": {
202              "@type": "State",
203              "name": "SP"
204            }
205          }
206        }
207      },
208      {
209        "@type": "Offer",
210        "itemOffered": {
211          "@type": "LocalBusiness",
212          "name": "FARM FRANCA",
213          "description": "Loja Farm Rio em FRANCA, SP",
214          "telephone": "16 997933961",
215          "address": {
216            "@type": "PostalAddress",
217            "streetAddress": "AV RIO NEGRO, 1100, LJ 314",
218            "addressLocality": "FRANCA",
219            "addressRegion": "SP",
220            "postalCode": "14406-901",
221            "addressCountry": "BR",
222            "addressNeighborhood": "JARDIM ROSELANDIA"
223          },
224          "areaServed": {
225            "@type": "City",
226            "name": "FRANCA",
227            "containedInPlace": {
228              "@type": "State",
229              "name": "SP"
230            }
231          }
232        }
233      },
234      {
235        "@type": "Offer",
236        "itemOffered": {
237          "@type": "LocalBusiness",
238          "name": "FARM SÃO JOSÉ DO RIO PRETO",
239          "description": "Loja Farm Rio em SÃO JOSÉ DO RIO PRETO, SP",
240          "telephone": "17 996744863",
241          "address": {
242            "@type": "PostalAddress",
243            "streetAddress": "AV PRESIDENTE JUSCELINO KUBITSCHEK DE OLIVEIRA, 5000, LJ 2068",
244            "addressLocality": "SÃO JOSÉ DO RIO PRETO",
245            "addressRegion": "SP",
246            "postalCode": "15093-340",
247            "addressCountry": "BR",
248            "addressNeighborhood": "IGUATEMI"
249          },
250          "areaServed": {
251            "@type": "City",
252            "name": "SÃO JOSÉ DO RIO PRETO",
253            "containedInPlace": {
254              "@type": "State",
255              "name": "SP"
256            }
257          }
258        }
259      },
260      {
261        "@type": "Offer",
262        "itemOffered": {
263          "@type": "LocalBusiness",
264          "name": "FARM OUTLET CAMPINAS",
265          "description": "Loja Farm Rio em ITUPEVA, SP",
266          "telephone": "11 941963556",
267          "address": {
268            "@type": "PostalAddress",
269            "streetAddress": "EST JOAQUIM BUENO NETO, 9999, LJ 14",
270            "addressLocality": "ITUPEVA",
271            "addressRegion": "SP",
272            "postalCode": "13295-000",
273            "addressCountry": "BR",
274            "addressNeighborhood": "RIO ABAIXO"
275          },
276          "areaServed": {
277            "@type": "City",
278            "name": "ITUPEVA",
279            "containedInPlace": {
280              "@type": "State",
281              "name": "SP"
282            }
283          }
284        }
285      },
286      {
287        "@type": "Offer",
288        "itemOffered": {
289          "@type": "LocalBusiness",
290          "name": "FARM MACEIÓ",
291          "description": "Loja Farm Rio em MACEIÓ, AL",
292          "telephone": "82 981337564",
293          "address": {
294            "@type": "PostalAddress",
295            "streetAddress": "AV COMENDADOR GUSTAVO PAIVA, 5945, LJ 2035/2036",
296            "addressLocality": "MACEIÓ",
297            "addressRegion": "AL",
298            "postalCode": "57035-635",
299            "addressCountry": "BR",
300            "addressNeighborhood": "CRUZ DAS ALMAS"
301          },
302          "areaServed": {
303            "@type": "City",
304            "name": "MACEIÓ",
305            "containedInPlace": {
306              "@type": "State",
307              "name": "AL"
308            }
309          }
310        }
311      },
312      {
313        "@type": "Offer",
314        "itemOffered": {
315          "@type": "LocalBusiness",
316          "name": "FARM BSB SHOPPING",
317          "description": "Loja Farm Rio em BRASÍLIA, DF",
318          "telephone": "61 998083969",
319          "address": {
320            "@type": "PostalAddress",
321            "streetAddress": "SCN QUADRA 5, BLOCO A, LJ 2L",
322            "addressLocality": "BRASÍLIA",
323            "addressRegion": "DF",
324            "postalCode": "70715-900",
325            "addressCountry": "BR",
326            "addressNeighborhood": "ASA NORTE"
327          },
328          "areaServed": {
329            "@type": "City",
330            "name": "BRASÍLIA",
331            "containedInPlace": {
332              "@type": "State",
333              "name": "DF"
334            }
335          }
336        }
337      },
338      {
339        "@type": "Offer",
340        "itemOffered": {
341          "@type": "LocalBusiness",
342          "name": "FARM RIOMAR ARACAJU",
343          "description": "Loja Farm Rio em ARACAJU, SE",
344          "telephone": "79 998534825",
345          "address": {
346            "@type": "PostalAddress",
347            "streetAddress": "AV DELMIRO GOUVEIA, 400, LJ 287/288",
348            "addressLocality": "ARACAJU",
349            "addressRegion": "SE",
350            "postalCode": "49035-500",
351            "addressCountry": "BR",
352            "addressNeighborhood": "JARDINS"
353          },
354          "areaServed": {
355            "@type": "City",
356            "name": "ARACAJU",
357            "containedInPlace": {
358              "@type": "State",
359              "name": "SE"
360            }
361          }
362        }
363      },
364      {
365        "@type": "Offer",
366        "itemOffered": {
367          "@type": "LocalBusiness",
368          "name": "FARM TERESINA",
369          "description": "Loja Farm Rio em TERESINA, PI",
370          "telephone": "86 981665906",
371          "address": {
372            "@type": "PostalAddress",
373            "streetAddress": "AV MARECHAL CASTELO BRANCO, 911, LJ 207 HI",
374            "addressLocality": "TERESINA",
375            "addressRegion": "PI",
376            "postalCode": "64000-810",
377            "addressCountry": "BR",
378            "addressNeighborhood": "CABRAL"
379          },
380          "areaServed": {
381            "@type": "City",
382            "name": "TERESINA",
383            "containedInPlace": {
384              "@type": "State",
385              "name": "PI"
386            }
387          }
388        }
389      },
390      {
391        "@type": "Offer",
392        "itemOffered": {
393          "@type": "LocalBusiness",
394          "name": "FARM FLAMBOYANT",
395          "description": "Loja Farm Rio em GOIÂNIA, GO",
396          "telephone": "62 996106294",
397          "address": {
398            "@type": "PostalAddress",
399            "streetAddress": "AV DEP. JAMEL CECÍLIO, 3300, LJ T-450",
400            "addressLocality": "GOIÂNIA",
401            "addressRegion": "GO",
402            "postalCode": "74810-907",
403            "addressCountry": "BR",
404            "addressNeighborhood": "JARDIM GOIÁS"
405          },
406          "areaServed": {
407            "@type": "City",
408            "name": "GOIÂNIA",
409            "containedInPlace": {
410              "@type": "State",
411              "name": "GO"
412            }
413          }
414        }
415      },
416      {
417        "@type": "Offer",
418        "itemOffered": {
419          "@type": "LocalBusiness",
420          "name": "FARM BELEM",
421          "description": "Loja Farm Rio em BELEM, PA",
422          "telephone": "91 992978802",
423          "address": {
424            "@type": "PostalAddress",
425            "streetAddress": "AV VISCONDE DE SOUZA FRANCO, 776, .",
426            "addressLocality": "BELEM",
427            "addressRegion": "PA",
428            "postalCode": "66053-000",
429            "addressCountry": "BR",
430            "addressNeighborhood": "REDUTO"
431          },
432          "areaServed": {
433            "@type": "City",
434            "name": "BELEM",
435            "containedInPlace": {
436              "@type": "State",
437              "name": "PA"
438            }
439          }
440        }
441      },
442      {
443        "@type": "Offer",
444        "itemOffered": {
445          "@type": "LocalBusiness",
446          "name": "FARM HARMONIA",
447          "description": "Loja Farm Rio em SÃO PAULO, SP",
448          "telephone": "11 998975097",
449          "address": {
450            "@type": "PostalAddress",
451            "streetAddress": "RUA HARMONIA, 57, .",
452            "addressLocality": "SÃO PAULO",
453            "addressRegion": "SP",
454            "postalCode": "05435-000",
455            "addressCountry": "BR",
456            "addressNeighborhood": "VILA MADALENA"
457          },
458          "areaServed": {
459            "@type": "City",
460            "name": "SÃO PAULO",
461            "containedInPlace": {
462              "@type": "State",
463              "name": "SP"
464            }
465          }
466        }
467      },
468      {
469        "@type": "Offer",
470        "itemOffered": {
471          "@type": "LocalBusiness",
472          "name": "FARM BAURU",
473          "description": "Loja Farm Rio em BAURU, SP",
474          "telephone": "14 981951351",
475          "address": {
476            "@type": "PostalAddress",
477            "streetAddress": "RUA GENERAL MARCONDES SALGADO, 11-39, LJ 317/318",
478            "addressLocality": "BAURU",
479            "addressRegion": "SP",
480            "postalCode": "17013-113",
481            "addressCountry": "BR",
482            "addressNeighborhood": "CHÁCARA DAS FLORES"
483          },
484          "areaServed": {
485            "@type": "City",
486            "name": "BAURU",
487            "containedInPlace": {
488              "@type": "State",
489              "name": "SP"
490            }
491          }
492        }
493      },
494      {
495        "@type": "Offer",
496        "itemOffered": {
497          "@type": "LocalBusiness",
498          "name": "FARM JARDIM SUL",
499          "description": "Loja Farm Rio em SÃO PAULO, SP",
500          "telephone": "11 972905487",
501          "address": {
502            "@type": "PostalAddress",
503            "streetAddress": "AV GIOVANNI GRONCHI, 5819, LJ 414/415",
504            "addressLocality": "SÃO PAULO",
505            "addressRegion": "SP",
506            "postalCode": "05724-003",
507            "addressCountry": "BR",
508            "addressNeighborhood": "VILA ANDRADE"
509          },
510          "areaServed": {
511            "@type": "City",
512            "name": "SÃO PAULO",
513            "containedInPlace": {
514              "@type": "State",
515              "name": "SP"
516            }
517          }
518        }
519      },
520      {
521        "@type": "Offer",
522        "itemOffered": {
523          "@type": "LocalBusiness",
524          "name": "FARM GALLERIA CAMPINAS",
525          "description": "Loja Farm Rio em CAMPINAS, SP",
526          "telephone": "19 998387573",
527          "address": {
528            "@type": "PostalAddress",
529            "streetAddress": "ROD. DOM PEDRO II - KM 131, 131, LJ 145/149",
530            "addressLocality": "CAMPINAS",
531            "addressRegion": "SP",
532            "postalCode": "13097-901",
533            "addressCountry": "BR",
534            "addressNeighborhood": "JARDIM DAS PALMEIRAS"
535          },
536          "areaServed": {
537            "@type": "City",
538            "name": "CAMPINAS",
539            "containedInPlace": {
540              "@type": "State",
541              "name": "SP"
542            }
543          }
544        }
545      },
546      {
547        "@type": "Offer",
548        "itemOffered": {
549          "@type": "LocalBusiness",
550          "name": "FARM POP UP PRAIA DE BELAS",
551          "description": "Loja Farm Rio em PORTO ALEGRE, RS",
552          "telephone": "51 998407051",
553          "address": {
554            "@type": "PostalAddress",
555            "streetAddress": "AV PRAIA DE BELAS, 1181, .",
556            "addressLocality": "PORTO ALEGRE",
557            "addressRegion": "RS",
558            "postalCode": "90110-001",
559            "addressCountry": "BR",
560            "addressNeighborhood": "PRAIA DE BELAS"
561          },
562          "areaServed": {
563            "@type": "City",
564            "name": "PORTO ALEGRE",
565            "containedInPlace": {
566              "@type": "State",
567              "name": "RS"
568            }
569          }
570        }
571      },
572      {
573        "@type": "Offer",
574        "itemOffered": {
575          "@type": "LocalBusiness",
576          "name": "FARM CASCAVEL",
577          "description": "Loja Farm Rio em CASCAVEL, PR",
578          "telephone": "45 991491785",
579          "address": {
580            "@type": "PostalAddress",
581            "streetAddress": "AV. TOLEDO, 432, LJ LUC 116",
582            "addressLocality": "CASCAVEL",
583            "addressRegion": "PR",
584            "postalCode": "85.810-230",
585            "addressCountry": "BR",
586            "addressNeighborhood": "CENTRO"
587          },
588          "areaServed": {
589            "@type": "City",
590            "name": "CASCAVEL",
591            "containedInPlace": {
592              "@type": "State",
593              "name": "PR"
594            }
595          }
596        }
597      },
598      {
599        "@type": "Offer",
600        "itemOffered": {
601          "@type": "LocalBusiness",
602          "name": "FARM CATARATAS",
603          "description": "Loja Farm Rio em FOZ DO IGUAÇU, PR",
604          "telephone": "45 991378115",
605          "address": {
606            "@type": "PostalAddress",
607            "streetAddress": "AV COSTA E SILVA, 185, LJ 137",
608            "addressLocality": "FOZ DO IGUAÇU",
609            "addressRegion": "PR",
610            "postalCode": "85863-801",
611            "addressCountry": "BR",
612            "addressNeighborhood": "JARDIM POLO CENTRO"
613          },
614          "areaServed": {
615            "@type": "City",
616            "name": "FOZ DO IGUAÇU",
617            "containedInPlace": {
618              "@type": "State",
619              "name": "PR"
620            }
621          }
622        }
623      },
624      {
625        "@type": "Offer",
626        "itemOffered": {
627          "@type": "LocalBusiness",
628          "name": "FARM FLORIANÓPOLIS",
629          "description": "Loja Farm Rio em FLORIANÓPOLIS, SC",
630          "telephone": "48 991092548",
631          "address": {
632            "@type": "PostalAddress",
633            "streetAddress": "ROD VIRGILIO VARZEA, 587, LJ 267",
634            "addressLocality": "FLORIANÓPOLIS",
635            "addressRegion": "SC",
636            "postalCode": "88032-001",
637            "addressCountry": "BR",
638            "addressNeighborhood": "SACO GRANDE"
639          },
640          "areaServed": {
641            "@type": "City",
642            "name": "FLORIANÓPOLIS",
643            "containedInPlace": {
644              "@type": "State",
645              "name": "SC"
646            }
647          }
648        }
649      },
650      {
651        "@type": "Offer",
652        "itemOffered": {
653          "@type": "LocalBusiness",
654          "name": "FARM NEUMARKT SHOPPING",
655          "description": "Loja Farm Rio em BLUMENAU, SC",
656          "telephone": "47 992642752",
657          "address": {
658            "@type": "PostalAddress",
659            "streetAddress": "RUA SETE DE SETEMBRO, 1213, LJ 84/85",
660            "addressLocality": "BLUMENAU",
661            "addressRegion": "SC",
662            "postalCode": "89010-911",
663            "addressCountry": "BR",
664            "addressNeighborhood": "CENTRO"
665          },
666          "areaServed": {
667            "@type": "City",
668            "name": "BLUMENAU",
669            "containedInPlace": {
670              "@type": "State",
671              "name": "SC"
672            }
673          }
674        }
675      },
676      {
677        "@type": "Offer",
678        "itemOffered": {
679          "@type": "LocalBusiness",
680          "name": "FARM LONDRINA",
681          "description": "Loja Farm Rio em LONDRINA, PR",
682          "telephone": "43 991153696",
683          "address": {
684            "@type": "PostalAddress",
685            "streetAddress": "ROD CELSO GARCIA CID, 5600, .",
686            "addressLocality": "LONDRINA",
687            "addressRegion": "PR",
688            "postalCode": "86050-901",
689            "addressCountry": "BR",
690            "addressNeighborhood": "GLEBA FAZENDA BARRA"
691          },
692          "areaServed": {
693            "@type": "City",
694            "name": "LONDRINA",
695            "containedInPlace": {
696              "@type": "State",
697              "name": "PR"
698            }
699          }
700        }
701      },
702      {
703        "@type": "Offer",
704        "itemOffered": {
705          "@type": "LocalBusiness",
706          "name": "FARM PRAIA DO CANTO",
707          "description": "Loja Farm Rio em VITÓRIA, ES",
708          "telephone": "27 996373591",
709          "address": {
710            "@type": "PostalAddress",
711            "streetAddress": "RUA JOAQUIM LIRIO, 62, .",
712            "addressLocality": "VITÓRIA",
713            "addressRegion": "ES",
714            "postalCode": "29055-460",
715            "addressCountry": "BR",
716            "addressNeighborhood": "PRAIA DO CANTO"
717          },
718          "areaServed": {
719            "@type": "City",
720            "name": "VITÓRIA",
721            "containedInPlace": {
722              "@type": "State",
723              "name": "ES"
724            }
725          }
726        }
727      },
728      {
729        "@type": "Offer",
730        "itemOffered": {
731          "@type": "LocalBusiness",
732          "name": "FARM ALPHAVILLE",
733          "description": "Loja Farm Rio em BARUERI, SP",
734          "telephone": "(11) 99896-6019",
735          "address": {
736            "@type": "PostalAddress",
737            "streetAddress": "AL RIO NEGRO, 111, LOJA 213 - PISO I",
738            "addressLocality": "BARUERI",
739            "addressRegion": "SP",
740            "postalCode": "06454-000",
741            "addressCountry": "BR",
742            "addressNeighborhood": "ALPHAVILLE INDUSTRIAL"
743          },
744          "areaServed": {
745            "@type": "City",
746            "name": "BARUERI",
747            "containedInPlace": {
748              "@type": "State",
749              "name": "SP"
750            }
751          }
752        }
753      },
754      {
755        "@type": "Offer",
756        "itemOffered": {
757          "@type": "LocalBusiness",
758          "name": "FARM SHOPPING DA BAHIA",
759          "description": "Loja Farm Rio em SALVADOR, BA",
760          "telephone": null,
761          "address": {
762            "@type": "PostalAddress",
763            "streetAddress": "AV TANCREDO NEVES, 148, LJ 48",
764            "addressLocality": "SALVADOR",
765            "addressRegion": "BA",
766            "postalCode": "41820-908",
767            "addressCountry": "BR",
768            "addressNeighborhood": "CAMINHO DAS ÁRVORES"
769          },
770          "areaServed": {
771            "@type": "City",
772            "name": "SALVADOR",
773            "containedInPlace": {
774              "@type": "State",
775              "name": "BA"
776            }
777          }
778        }
779      },
780      {
781        "@type": "Offer",
782        "itemOffered": {
783          "@type": "LocalBusiness",
784          "name": "FARM RUA DA QUITANDA",
785          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
786          "telephone": "21 998521668",
787          "address": {
788            "@type": "PostalAddress",
789            "streetAddress": "RUA DA QUITANDA, 86, LOJA 102",
790            "addressLocality": "RIO DE JANEIRO",
791            "addressRegion": "RJ",
792            "postalCode": "20091-005",
793            "addressCountry": "BR",
794            "addressNeighborhood": "CENTRO"
795          },
796          "areaServed": {
797            "@type": "City",
798            "name": "RIO DE JANEIRO",
799            "containedInPlace": {
800              "@type": "State",
801              "name": "RJ"
802            }
803          }
804        }
805      },
806      {
807        "@type": "Offer",
808        "itemOffered": {
809          "@type": "LocalBusiness",
810          "name": "FARM RIO PETRÓPOLIS",
811          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
812          "telephone": "21 996238331",
813          "address": {
814            "@type": "PostalAddress",
815            "streetAddress": "Estrada Rio Petrópolis, KM 109, km 109",
816            "addressLocality": "RIO DE JANEIRO",
817            "addressRegion": "RJ",
818            "postalCode": "25.230-480",
819            "addressCountry": "BR",
820            "addressNeighborhood": "DUQUE DE CAXIAS"
821          },
822          "areaServed": {
823            "@type": "City",
824            "name": "RIO DE JANEIRO",
825            "containedInPlace": {
826              "@type": "State",
827              "name": "RJ"
828            }
829          }
830        }
831      },
832      {
833        "@type": "Offer",
834        "itemOffered": {
835          "@type": "LocalBusiness",
836          "name": "FARM FASHION MALL",
837          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
838          "telephone": "21 999570228",
839          "address": {
840            "@type": "PostalAddress",
841            "streetAddress": "loja bazar FARM / ESTRADA DA GÁVEA, 899, LJ 122 A",
842            "addressLocality": "RIO DE JANEIRO",
843            "addressRegion": "RJ",
844            "postalCode": "22610-001",
845            "addressCountry": "BR",
846            "addressNeighborhood": "SÃO CONRADO"
847          },
848          "areaServed": {
849            "@type": "City",
850            "name": "RIO DE JANEIRO",
851            "containedInPlace": {
852              "@type": "State",
853              "name": "RJ"
854            }
855          }
856        }
857      },
858      {
859        "@type": "Offer",
860        "itemOffered": {
861          "@type": "LocalBusiness",
862          "name": "FARM BARRA SALVADOR",
863          "description": "Loja Farm Rio em SALVADOR, BA",
864          "telephone": "71 996700540",
865          "address": {
866            "@type": "PostalAddress",
867            "streetAddress": "AV CENTENARIO, 2992, LJ 454, L4",
868            "addressLocality": "SALVADOR",
869            "addressRegion": "BA",
870            "postalCode": "40155-150",
871            "addressCountry": "BR",
872            "addressNeighborhood": "CHAME-CHAME"
873          },
874          "areaServed": {
875            "@type": "City",
876            "name": "SALVADOR",
877            "containedInPlace": {
878              "@type": "State",
879              "name": "BA"
880            }
881          }
882        }
883      },
884      {
885        "@type": "Offer",
886        "itemOffered": {
887          "@type": "LocalBusiness",
888          "name": "FARM PLAZA",
889          "description": "Loja Farm Rio em NITERÓI, RJ",
890          "telephone": "21 995190934",
891          "address": {
892            "@type": "PostalAddress",
893            "streetAddress": "RUA QUINZE DE NOVEMBRO, 8, LJ 274/275/276",
894            "addressLocality": "NITERÓI",
895            "addressRegion": "RJ",
896            "postalCode": "24020125",
897            "addressCountry": "BR",
898            "addressNeighborhood": "CENTRO"
899          },
900          "areaServed": {
901            "@type": "City",
902            "name": "NITERÓI",
903            "containedInPlace": {
904              "@type": "State",
905              "name": "RJ"
906            }
907          }
908        }
909      },
910      {
911        "@type": "Offer",
912        "itemOffered": {
913          "@type": "LocalBusiness",
914          "name": "FARM BETIM",
915          "description": "Loja Farm Rio em BETIM, MG",
916          "telephone": "31 999978297",
917          "address": {
918            "@type": "PostalAddress",
919            "streetAddress": "RODOVIA FERNÃO DIAS, 601, LJ 3019/3020",
920            "addressLocality": "BETIM",
921            "addressRegion": "MG",
922            "postalCode": "32655-505",
923            "addressCountry": "BR",
924            "addressNeighborhood": "SÃO JOÃO"
925          },
926          "areaServed": {
927            "@type": "City",
928            "name": "BETIM",
929            "containedInPlace": {
930              "@type": "State",
931              "name": "MG"
932            }
933          }
934        }
935      },
936      {
937        "@type": "Offer",
938        "itemOffered": {
939          "@type": "LocalBusiness",
940          "name": "FARM DEL REY",
941          "description": "Loja Farm Rio em BELO HORIZONTE, MG",
942          "telephone": "31 997406138",
943          "address": {
944            "@type": "PostalAddress",
945            "streetAddress": "AV. PRESIDENTE CARLOS LUZ, 3001, LJ 3073",
946            "addressLocality": "BELO HORIZONTE",
947            "addressRegion": "MG",
948            "postalCode": "31250-010",
949            "addressCountry": "BR",
950            "addressNeighborhood": "PAMPULHA"
951          },
952          "areaServed": {
953            "@type": "City",
954            "name": "BELO HORIZONTE",
955            "containedInPlace": {
956              "@type": "State",
957              "name": "MG"
958            }
959          }
960        }
961      },
962      {
963        "@type": "Offer",
964        "itemOffered": {
965          "@type": "LocalBusiness",
966          "name": "FARM BH SHOPPING",
967          "description": "Loja Farm Rio em MG, MG",
968          "telephone": "31 997970965",
969          "address": {
970            "@type": "PostalAddress",
971            "streetAddress": "BR 356, 3049, LJ 72 ABC",
972            "addressLocality": "MG",
973            "addressRegion": "MG",
974            "postalCode": "30320-900",
975            "addressCountry": "BR",
976            "addressNeighborhood": "BELVEDERE"
977          },
978          "areaServed": {
979            "@type": "City",
980            "name": "MG",
981            "containedInPlace": {
982              "@type": "State",
983              "name": "MG"
984            }
985          }
986        }
987      },
988      {
989        "@type": "Offer",
990        "itemOffered": {
991          "@type": "LocalBusiness",
992          "name": "FARM UBERLÂNDIA",
993          "description": "Loja Farm Rio em UBERLÂNDIA, MG",
994          "telephone": "34 998079152",
995          "address": {
996            "@type": "PostalAddress",
997            "streetAddress": "AV JOÃO NAVES DE AVILA, 1331, LJ 1244",
998            "addressLocality": "UBERLÂNDIA",
999            "addressRegion": "MG",
1000            "postalCode": "38405-140",
1001            "addressCountry": "BR",
1002            "addressNeighborhood": "TIBERY"
1003          },
1004          "areaServed": {
1005            "@type": "City",
1006            "name": "UBERLÂNDIA",
1007            "containedInPlace": {
1008              "@type": "State",
1009              "name": "MG"
1010            }
1011          }
1012        }
1013      },
1014      {
1015        "@type": "Offer",
1016        "itemOffered": {
1017          "@type": "LocalBusiness",
1018          "name": "FARM BOULEVARD VITÓRIA DA CONQUISTA",
1019          "description": "Loja Farm Rio em Vitória da Conquista, BA",
1020          "telephone": "-",
1021          "address": {
1022            "@type": "PostalAddress",
1023            "streetAddress": "Av. Olivia Flores, 2500, LOJAS 1056/1057",
1024            "addressLocality": "Vitória da Conquista",
1025            "addressRegion": "BA",
1026            "postalCode": "45028-610",
1027            "addressCountry": "BR",
1028            "addressNeighborhood": "Candeias"
1029          },
1030          "areaServed": {
1031            "@type": "City",
1032            "name": "Vitória da Conquista",
1033            "containedInPlace": {
1034              "@type": "State",
1035              "name": "BA"
1036            }
1037          }
1038        }
1039      },
1040      {
1041        "@type": "Offer",
1042        "itemOffered": {
1043          "@type": "LocalBusiness",
1044          "name": "FARM CATUAÍ SHOPPING MARINGÁ",
1045          "description": "Loja Farm Rio em MARINGÁ, PR",
1046          "telephone": "-",
1047          "address": {
1048            "@type": "PostalAddress",
1049            "streetAddress": "Av. Colombo, 9161, LOJA LUC SCM00126",
1050            "addressLocality": "MARINGÁ",
1051            "addressRegion": "PR",
1052            "postalCode": "87070-000",
1053            "addressCountry": "BR",
1054            "addressNeighborhood": "Gleba Patrimônio Maringá"
1055          },
1056          "areaServed": {
1057            "@type": "City",
1058            "name": "MARINGÁ",
1059            "containedInPlace": {
1060              "@type": "State",
1061              "name": "PR"
1062            }
1063          }
1064        }
1065      },
1066      {
1067        "@type": "Offer",
1068        "itemOffered": {
1069          "@type": "LocalBusiness",
1070          "name": "FARM SHOPPING LEBLON",
1071          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1072          "telephone": "21 995651828",
1073          "address": {
1074            "@type": "PostalAddress",
1075            "streetAddress": "AV AFRANIO DE MELO FRANCO, 290, Lj 310",
1076            "addressLocality": "RIO DE JANEIRO",
1077            "addressRegion": "RJ",
1078            "postalCode": "22430-060",
1079            "addressCountry": "BR",
1080            "addressNeighborhood": "LEBLON"
1081          },
1082          "areaServed": {
1083            "@type": "City",
1084            "name": "RIO DE JANEIRO",
1085            "containedInPlace": {
1086              "@type": "State",
1087              "name": "RJ"
1088            }
1089          }
1090        }
1091      },
1092      {
1093        "@type": "Offer",
1094        "itemOffered": {
1095          "@type": "LocalBusiness",
1096          "name": "CASA FARM",
1097          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1098          "telephone": "21 992308168",
1099          "address": {
1100            "@type": "PostalAddress",
1101            "streetAddress": "Av Epitácio Pessoa, 1210, .",
1102            "addressLocality": "RIO DE JANEIRO",
1103            "addressRegion": "RJ",
1104            "postalCode": "22410-090",
1105            "addressCountry": "BR",
1106            "addressNeighborhood": "LAGOA"
1107          },
1108          "areaServed": {
1109            "@type": "City",
1110            "name": "RIO DE JANEIRO",
1111            "containedInPlace": {
1112              "@type": "State",
1113              "name": "RJ"
1114            }
1115          }
1116        }
1117      },
1118      {
1119        "@type": "Offer",
1120        "itemOffered": {
1121          "@type": "LocalBusiness",
1122          "name": "FARM BARRA SHOPPING",
1123          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1124          "telephone": "-",
1125          "address": {
1126            "@type": "PostalAddress",
1127            "streetAddress": "Av. das Américas, 4666, LJ 202B nível américas",
1128            "addressLocality": "RIO DE JANEIRO",
1129            "addressRegion": "RJ",
1130            "postalCode": "22640-102",
1131            "addressCountry": "BR",
1132            "addressNeighborhood": "BARRA DA TIJUCA"
1133          },
1134          "areaServed": {
1135            "@type": "City",
1136            "name": "RIO DE JANEIRO",
1137            "containedInPlace": {
1138              "@type": "State",
1139              "name": "RJ"
1140            }
1141          }
1142        }
1143      },
1144      {
1145        "@type": "Offer",
1146        "itemOffered": {
1147          "@type": "LocalBusiness",
1148          "name": "FARM RIO VILLAGIO SHOPPING CAXIAS",
1149          "description": "Loja Farm Rio em Caxias do Sul, RS",
1150          "telephone": null,
1151          "address": {
1152            "@type": "PostalAddress",
1153            "streetAddress": "ROD RSC 453, 2780, LUC SIC00371",
1154            "addressLocality": "Caxias do Sul",
1155            "addressRegion": "RS",
1156            "postalCode": "95110-900",
1157            "addressCountry": "BR",
1158            "addressNeighborhood": "Sanvitto"
1159          },
1160          "areaServed": {
1161            "@type": "City",
1162            "name": "Caxias do Sul",
1163            "containedInPlace": {
1164              "@type": "State",
1165              "name": "RS"
1166            }
1167          }
1168        }
1169      },
1170      {
1171        "@type": "Offer",
1172        "itemOffered": {
1173          "@type": "LocalBusiness",
1174          "name": "FARM ETC RIO DESIGN BARRA",
1175          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1176          "telephone": null,
1177          "address": {
1178            "@type": "PostalAddress",
1179            "streetAddress": "Av. das Américas, 7777, LOJAS 253/254",
1180            "addressLocality": "RIO DE JANEIRO",
1181            "addressRegion": "RJ",
1182            "postalCode": "22793-081",
1183            "addressCountry": "BR",
1184            "addressNeighborhood": "BARRA DA TIJUCA"
1185          },
1186          "areaServed": {
1187            "@type": "City",
1188            "name": "RIO DE JANEIRO",
1189            "containedInPlace": {
1190              "@type": "State",
1191              "name": "RJ"
1192            }
1193          }
1194        }
1195      },
1196      {
1197        "@type": "Offer",
1198        "itemOffered": {
1199          "@type": "LocalBusiness",
1200          "name": "FARM ÁGUAS CLARAS",
1201          "description": "Loja Farm Rio em BRASÍLIA, DF",
1202          "telephone": null,
1203          "address": {
1204            "@type": "PostalAddress",
1205            "streetAddress": "Rua Copaíba, Lote 01, S/N, Shopping DF Plaza, 2o andar",
1206            "addressLocality": "BRASÍLIA",
1207            "addressRegion": "DF",
1208            "postalCode": "71919-540",
1209            "addressCountry": "BR",
1210            "addressNeighborhood": "Águas Claras"
1211          },
1212          "areaServed": {
1213            "@type": "City",
1214            "name": "BRASÍLIA",
1215            "containedInPlace": {
1216              "@type": "State",
1217              "name": "DF"
1218            }
1219          }
1220        }
1221      },
1222      {
1223        "@type": "Offer",
1224        "itemOffered": {
1225          "@type": "LocalBusiness",
1226          "name": "FARM SHOPPING METRÔ SANTA CRUZ",
1227          "description": "Loja Farm Rio em SÃO PAULO, SP",
1228          "telephone": null,
1229          "address": {
1230            "@type": "PostalAddress",
1231            "streetAddress": "RUA DOMINGOS DE MORAIS, 2564, L1 loja SMSL 1005",
1232            "addressLocality": "SÃO PAULO",
1233            "addressRegion": "SP",
1234            "postalCode": "04036-100",
1235            "addressCountry": "BR",
1236            "addressNeighborhood": "VILA MARIANA"
1237          },
1238          "areaServed": {
1239            "@type": "City",
1240            "name": "SÃO PAULO",
1241            "containedInPlace": {
1242              "@type": "State",
1243              "name": "SP"
1244            }
1245          }
1246        }
1247      },
1248      {
1249        "@type": "Offer",
1250        "itemOffered": {
1251          "@type": "LocalBusiness",
1252          "name": "FARM RIO CARLOS GOMES",
1253          "description": "Loja Farm Rio em PORTO ALEGRE, RS",
1254          "telephone": null,
1255          "address": {
1256            "@type": "PostalAddress",
1257            "streetAddress": "AV. CARLOS GOMES, 707, Primeiro piso",
1258            "addressLocality": "PORTO ALEGRE",
1259            "addressRegion": "RS",
1260            "postalCode": "90480-001",
1261            "addressCountry": "BR",
1262            "addressNeighborhood": "MONT SERRAT"
1263          },
1264          "areaServed": {
1265            "@type": "City",
1266            "name": "PORTO ALEGRE",
1267            "containedInPlace": {
1268              "@type": "State",
1269              "name": "RS"
1270            }
1271          }
1272        }
1273      },
1274      {
1275        "@type": "Offer",
1276        "itemOffered": {
1277          "@type": "LocalBusiness",
1278          "name": "FARM PARKSHOPPING CANOAS",
1279          "description": "Loja Farm Rio em CANOAS, RS",
1280          "telephone": null,
1281          "address": {
1282            "@type": "PostalAddress",
1283            "streetAddress": "RUA FARROUPILHA, 4545, LJ 3005",
1284            "addressLocality": "CANOAS",
1285            "addressRegion": "RS",
1286            "postalCode": "92020-475",
1287            "addressCountry": "BR",
1288            "addressNeighborhood": "MARECHAL RONDON"
1289          },
1290          "areaServed": {
1291            "@type": "City",
1292            "name": "CANOAS",
1293            "containedInPlace": {
1294              "@type": "State",
1295              "name": "RS"
1296            }
1297          }
1298        }
1299      },
1300      {
1301        "@type": "Offer",
1302        "itemOffered": {
1303          "@type": "LocalBusiness",
1304          "name": "FARM RIO PETROPOLIS",
1305          "description": "Loja Farm Rio em DUQUE DE CAXIAS, RJ",
1306          "telephone": null,
1307          "address": {
1308            "@type": "PostalAddress",
1309            "streetAddress": "AV. DONA TEREZA CRISTINA, 2000, LJ. 2030 E 2031",
1310            "addressLocality": "DUQUE DE CAXIAS",
1311            "addressRegion": "RJ",
1312            "postalCode": "25230-480",
1313            "addressCountry": "BR",
1314            "addressNeighborhood": "CHÁCARA RIO PETRÓPOLIS"
1315          },
1316          "areaServed": {
1317            "@type": "City",
1318            "name": "DUQUE DE CAXIAS",
1319            "containedInPlace": {
1320              "@type": "State",
1321              "name": "RJ"
1322            }
1323          }
1324        }
1325      },
1326      {
1327        "@type": "Offer",
1328        "itemOffered": {
1329          "@type": "LocalBusiness",
1330          "name": "FARM IPANEMA",
1331          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1332          "telephone": "21 998344486",
1333          "address": {
1334            "@type": "PostalAddress",
1335            "streetAddress": "RUA VISCONDE DE PIRAJA, 365, .",
1336            "addressLocality": "RIO DE JANEIRO",
1337            "addressRegion": "RJ",
1338            "postalCode": "22410-003",
1339            "addressCountry": "BR",
1340            "addressNeighborhood": "IPANEMA"
1341          },
1342          "areaServed": {
1343            "@type": "City",
1344            "name": "RIO DE JANEIRO",
1345            "containedInPlace": {
1346              "@type": "State",
1347              "name": "RJ"
1348            }
1349          }
1350        }
1351      },
1352      {
1353        "@type": "Offer",
1354        "itemOffered": {
1355          "@type": "LocalBusiness",
1356          "name": "FARM BELA VISTA",
1357          "description": "Loja Farm Rio em SÃO PAULO, SP",
1358          "telephone": "11 978711126",
1359          "address": {
1360            "@type": "PostalAddress",
1361            "streetAddress": "RUA CINCINATO BRAGA, 106, .",
1362            "addressLocality": "SÃO PAULO",
1363            "addressRegion": "SP",
1364            "postalCode": "01333-010",
1365            "addressCountry": "BR",
1366            "addressNeighborhood": "BELA VISTA"
1367          },
1368          "areaServed": {
1369            "@type": "City",
1370            "name": "SÃO PAULO",
1371            "containedInPlace": {
1372              "@type": "State",
1373              "name": "SP"
1374            }
1375          }
1376        }
1377      },
1378      {
1379        "@type": "Offer",
1380        "itemOffered": {
1381          "@type": "LocalBusiness",
1382          "name": "FARM SÃO BERNARDO",
1383          "description": "Loja Farm Rio em SÃO BERNARDO, SP",
1384          "telephone": "11 941173611",
1385          "address": {
1386            "@type": "PostalAddress",
1387            "streetAddress": "AV KENNEDY, 700, LJ 209",
1388            "addressLocality": "SÃO BERNARDO",
1389            "addressRegion": "SP",
1390            "postalCode": "09726-252",
1391            "addressCountry": "BR",
1392            "addressNeighborhood": "JARDIM DO MAR"
1393          },
1394          "areaServed": {
1395            "@type": "City",
1396            "name": "SÃO BERNARDO",
1397            "containedInPlace": {
1398              "@type": "State",
1399              "name": "SP"
1400            }
1401          }
1402        }
1403      },
1404      {
1405        "@type": "Offer",
1406        "itemOffered": {
1407          "@type": "LocalBusiness",
1408          "name": "FARM PLAZA SUL SP",
1409          "description": "Loja Farm Rio em SÃO PAULO, SP",
1410          "telephone": "11 918685393",
1411          "address": {
1412            "@type": "PostalAddress",
1413            "streetAddress": "PRAÇA LEONOR KAUPA, 100, LJ 312/313",
1414            "addressLocality": "SÃO PAULO",
1415            "addressRegion": "SP",
1416            "postalCode": "041511-900",
1417            "addressCountry": "BR",
1418            "addressNeighborhood": "BOSQUE DA SAÚDE"
1419          },
1420          "areaServed": {
1421            "@type": "City",
1422            "name": "SÃO PAULO",
1423            "containedInPlace": {
1424              "@type": "State",
1425              "name": "SP"
1426            }
1427          }
1428        }
1429      },
1430      {
1431        "@type": "Offer",
1432        "itemOffered": {
1433          "@type": "LocalBusiness",
1434          "name": "FARM BUZIOS",
1435          "description": "Loja Farm Rio em ARMAÇÃO DOS BÚZIOS, RJ",
1436          "telephone": "22 997143625",
1437          "address": {
1438            "@type": "PostalAddress",
1439            "streetAddress": "Avenida José Bento Ribeiro Dantas, 73, lj 4/5/11",
1440            "addressLocality": "ARMAÇÃO DOS BÚZIOS",
1441            "addressRegion": "RJ",
1442            "postalCode": "28950-000",
1443            "addressCountry": "BR",
1444            "addressNeighborhood": "Mangue"
1445          },
1446          "areaServed": {
1447            "@type": "City",
1448            "name": "ARMAÇÃO DOS BÚZIOS",
1449            "containedInPlace": {
1450              "@type": "State",
1451              "name": "RJ"
1452            }
1453          }
1454        }
1455      },
1456      {
1457        "@type": "Offer",
1458        "itemOffered": {
1459          "@type": "LocalBusiness",
1460          "name": "FARM NOVA AMÉRICA",
1461          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1462          "telephone": "21 999477990",
1463          "address": {
1464            "@type": "PostalAddress",
1465            "streetAddress": "AV PASTOR MARTIN LUTHER KING JR, 126, LJ 123",
1466            "addressLocality": "RIO DE JANEIRO",
1467            "addressRegion": "RJ",
1468            "postalCode": "20765-000",
1469            "addressCountry": "BR",
1470            "addressNeighborhood": "DEL CASTILHO"
1471          },
1472          "areaServed": {
1473            "@type": "City",
1474            "name": "RIO DE JANEIRO",
1475            "containedInPlace": {
1476              "@type": "State",
1477              "name": "RJ"
1478            }
1479          }
1480        }
1481      },
1482      {
1483        "@type": "Offer",
1484        "itemOffered": {
1485          "@type": "LocalBusiness",
1486          "name": "FARM ICARAÍ TAVARES",
1487          "description": "Loja Farm Rio em NITERÓI, RJ",
1488          "telephone": "21 967480577",
1489          "address": {
1490            "@type": "PostalAddress",
1491            "streetAddress": "RUA TAVARES DE MACEDO, 175, LOJA 101",
1492            "addressLocality": "NITERÓI",
1493            "addressRegion": "RJ",
1494            "postalCode": "24220-215",
1495            "addressCountry": "BR",
1496            "addressNeighborhood": "ICARAÍ"
1497          },
1498          "areaServed": {
1499            "@type": "City",
1500            "name": "NITERÓI",
1501            "containedInPlace": {
1502              "@type": "State",
1503              "name": "RJ"
1504            }
1505          }
1506        }
1507      },
1508      {
1509        "@type": "Offer",
1510        "itemOffered": {
1511          "@type": "LocalBusiness",
1512          "name": "FARM PÁTIO SAVASSI RBX",
1513          "description": "Loja Farm Rio em BELO HORIZONTE, MG",
1514          "telephone": "31 995908746",
1515          "address": {
1516            "@type": "PostalAddress",
1517            "streetAddress": "AV DO CONTORNO, 6061, LJ 336 A",
1518            "addressLocality": "BELO HORIZONTE",
1519            "addressRegion": "MG",
1520            "postalCode": "30110-929",
1521            "addressCountry": "BR",
1522            "addressNeighborhood": "SANTA EFIGÊNIA"
1523          },
1524          "areaServed": {
1525            "@type": "City",
1526            "name": "BELO HORIZONTE",
1527            "containedInPlace": {
1528              "@type": "State",
1529              "name": "MG"
1530            }
1531          }
1532        }
1533      },
1534      {
1535        "@type": "Offer",
1536        "itemOffered": {
1537          "@type": "LocalBusiness",
1538          "name": "FARM NATAL",
1539          "description": "Loja Farm Rio em NATAL, RN",
1540          "telephone": "84 981523948",
1541          "address": {
1542            "@type": "PostalAddress",
1543            "streetAddress": "AV SENADOR SALGADO FILHO, 2234, LJ 211/212/213/214/ 215",
1544            "addressLocality": "NATAL",
1545            "addressRegion": "RN",
1546            "postalCode": "59064-900",
1547            "addressCountry": "BR",
1548            "addressNeighborhood": "CANDELÁRIA"
1549          },
1550          "areaServed": {
1551            "@type": "City",
1552            "name": "NATAL",
1553            "containedInPlace": {
1554              "@type": "State",
1555              "name": "RN"
1556            }
1557          }
1558        }
1559      },
1560      {
1561        "@type": "Offer",
1562        "itemOffered": {
1563          "@type": "LocalBusiness",
1564          "name": "FARM CAMPO GRANDE",
1565          "description": "Loja Farm Rio em CAMPO GRANDE, MS",
1566          "telephone": "67 998079716",
1567          "address": {
1568            "@type": "PostalAddress",
1569            "streetAddress": "AV. AFONSO PENA, 4909, LOJA 2027/2029 A",
1570            "addressLocality": "CAMPO GRANDE",
1571            "addressRegion": "MS",
1572            "postalCode": "79031-900",
1573            "addressCountry": "BR",
1574            "addressNeighborhood": "SANTA FE"
1575          },
1576          "areaServed": {
1577            "@type": "City",
1578            "name": "CAMPO GRANDE",
1579            "containedInPlace": {
1580              "@type": "State",
1581              "name": "MS"
1582            }
1583          }
1584        }
1585      },
1586      {
1587        "@type": "Offer",
1588        "itemOffered": {
1589          "@type": "LocalBusiness",
1590          "name": "FARM VILLAGE MALL",
1591          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1592          "telephone": "21 998399493",
1593          "address": {
1594            "@type": "PostalAddress",
1595            "streetAddress": "AV DAS AMERICAS, 3900, LUC 144",
1596            "addressLocality": "RIO DE JANEIRO",
1597            "addressRegion": "RJ",
1598            "postalCode": "22631-003",
1599            "addressCountry": "BR",
1600            "addressNeighborhood": "BARRA DA TIJUCA"
1601          },
1602          "areaServed": {
1603            "@type": "City",
1604            "name": "RIO DE JANEIRO",
1605            "containedInPlace": {
1606              "@type": "State",
1607              "name": "RJ"
1608            }
1609          }
1610        }
1611      },
1612      {
1613        "@type": "Offer",
1614        "itemOffered": {
1615          "@type": "LocalBusiness",
1616          "name": "FARM PARK SHOPPING BSB",
1617          "description": "Loja Farm Rio em BRASÍLIA, DF",
1618          "telephone": "61 996058885",
1619          "address": {
1620            "@type": "PostalAddress",
1621            "streetAddress": "ST SAI/SO, AREA 6580, LUC 132",
1622            "addressLocality": "BRASÍLIA",
1623            "addressRegion": "DF",
1624            "postalCode": "70200-610",
1625            "addressCountry": "BR",
1626            "addressNeighborhood": "GUARÁ"
1627          },
1628          "areaServed": {
1629            "@type": "City",
1630            "name": "BRASÍLIA",
1631            "containedInPlace": {
1632              "@type": "State",
1633              "name": "DF"
1634            }
1635          }
1636        }
1637      },
1638      {
1639        "@type": "Offer",
1640        "itemOffered": {
1641          "@type": "LocalBusiness",
1642          "name": "FARM DOWNTOWN",
1643          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1644          "telephone": "21 999341756",
1645          "address": {
1646            "@type": "PostalAddress",
1647            "streetAddress": "AV DAS AMERICAS, 500, BLOCO 20, LJ 112",
1648            "addressLocality": "RIO DE JANEIRO",
1649            "addressRegion": "RJ",
1650            "postalCode": "22640-100",
1651            "addressCountry": "BR",
1652            "addressNeighborhood": "BARRA DA TIJUCA"
1653          },
1654          "areaServed": {
1655            "@type": "City",
1656            "name": "RIO DE JANEIRO",
1657            "containedInPlace": {
1658              "@type": "State",
1659              "name": "RJ"
1660            }
1661          }
1662        }
1663      },
1664      {
1665        "@type": "Offer",
1666        "itemOffered": {
1667          "@type": "LocalBusiness",
1668          "name": "FARM RIO DESIGN LEBLON",
1669          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
1670          "telephone": "21 999204805",
1671          "address": {
1672            "@type": "PostalAddress",
1673            "streetAddress": "AV. ATAULFO DE PAIVA, 270, LJ 313/ 314",
1674            "addressLocality": "RIO DE JANEIRO",
1675            "addressRegion": "RJ",
1676            "postalCode": "22440-033",
1677            "addressCountry": "BR",
1678            "addressNeighborhood": "LEBLON"
1679          },
1680          "areaServed": {
1681            "@type": "City",
1682            "name": "RIO DE JANEIRO",
1683            "containedInPlace": {
1684              "@type": "State",
1685              "name": "RJ"
1686            }
1687          }
1688        }
1689      },
1690      {
1691        "@type": "Offer",
1692        "itemOffered": {
1693          "@type": "LocalBusiness",
1694          "name": "FARM PRUDEN SHOPPING",
1695          "description": "Loja Farm Rio em PRESIDENTE PRUDENTE, SP",
1696          "telephone": "17 996761841",
1697          "address": {
1698            "@type": "PostalAddress",
1699            "streetAddress": "AV. MANOEL GOURLART, 2400, lj 1019 e 1020",
1700            "addressLocality": "PRESIDENTE PRUDENTE",
1701            "addressRegion": "SP",
1702            "postalCode": "19.060-000",
1703            "addressCountry": "BR",
1704            "addressNeighborhood": "VILA SANTA HELENA"
1705          },
1706          "areaServed": {
1707            "@type": "City",
1708            "name": "PRESIDENTE PRUDENTE",
1709            "containedInPlace": {
1710              "@type": "State",
1711              "name": "SP"
1712            }
1713          }
1714        }
1715      },
1716      {
1717        "@type": "Offer",
1718        "itemOffered": {
1719          "@type": "LocalBusiness",
1720          "name": "FARM IGUATEMI CAMPINAS",
1721          "description": "Loja Farm Rio em CAMPINAS, SP",
1722          "telephone": "19 999591290",
1723          "address": {
1724            "@type": "PostalAddress",
1725            "streetAddress": "AV IGUATEMI, 777, LJ 136",
1726            "addressLocality": "CAMPINAS",
1727            "addressRegion": "SP",
1728            "postalCode": "13092-500",
1729            "addressCountry": "BR",
1730            "addressNeighborhood": "VILA BRANDINA"
1731          },
1732          "areaServed": {
1733            "@type": "City",
1734            "name": "CAMPINAS",
1735            "containedInPlace": {
1736              "@type": "State",
1737              "name": "SP"
1738            }
1739          }
1740        }
1741      },
1742      {
1743        "@type": "Offer",
1744        "itemOffered": {
1745          "@type": "LocalBusiness",
1746          "name": "FARM VILA NOVA CONCEICAO",
1747          "description": "Loja Farm Rio em SÃO PAULO, SP",
1748          "telephone": "11 995309791",
1749          "address": {
1750            "@type": "PostalAddress",
1751            "streetAddress": "RUA JOÃO LOURENÇO, 483, .",
1752            "addressLocality": "SÃO PAULO",
1753            "addressRegion": "SP",
1754            "postalCode": "04508-030",
1755            "addressCountry": "BR",
1756            "addressNeighborhood": "VILA NOVA CONCEIÇÃO"
1757          },
1758          "areaServed": {
1759            "@type": "City",
1760            "name": "SÃO PAULO",
1761            "containedInPlace": {
1762              "@type": "State",
1763              "name": "SP"
1764            }
1765          }
1766        }
1767      },
1768      {
1769        "@type": "Offer",
1770        "itemOffered": {
1771          "@type": "LocalBusiness",
1772          "name": "FARM CENTER VALE",
1773          "description": "Loja Farm Rio em SÃO JOSÉ DOS CAMPOS, SP",
1774          "telephone": "12 996797207",
1775          "address": {
1776            "@type": "PostalAddress",
1777            "streetAddress": "AV. DEP. BENEDITO MATARAZZO, 9403, LJ S612",
1778            "addressLocality": "SÃO JOSÉ DOS CAMPOS",
1779            "addressRegion": "SP",
1780            "postalCode": "012.216-580",
1781            "addressCountry": "BR",
1782            "addressNeighborhood": "OSWALDO CRUZ"
1783          },
1784          "areaServed": {
1785            "@type": "City",
1786            "name": "SÃO JOSÉ DOS CAMPOS",
1787            "containedInPlace": {
1788              "@type": "State",
1789              "name": "SP"
1790            }
1791          }
1792        }
1793      },
1794      {
1795        "@type": "Offer",
1796        "itemOffered": {
1797          "@type": "LocalBusiness",
1798          "name": "FARM JOÃO CACHOEIRA",
1799          "description": "Loja Farm Rio em SÃO PAULO, SP",
1800          "telephone": "11 978708300",
1801          "address": {
1802            "@type": "PostalAddress",
1803            "streetAddress": "RUA JOÃO CACHOEIRA, 1132, .",
1804            "addressLocality": "SÃO PAULO",
1805            "addressRegion": "SP",
1806            "postalCode": "04535-004",
1807            "addressCountry": "BR",
1808            "addressNeighborhood": "VILA NOVA CONCEIÇÃO"
1809          },
1810          "areaServed": {
1811            "@type": "City",
1812            "name": "SÃO PAULO",
1813            "containedInPlace": {
1814              "@type": "State",
1815              "name": "SP"
1816            }
1817          }
1818        }
1819      },
1820      {
1821        "@type": "Offer",
1822        "itemOffered": {
1823          "@type": "LocalBusiness",
1824          "name": "FARM SHOPPING TAMBORÉ",
1825          "description": "Loja Farm Rio em BARUERI, SP",
1826          "telephone": "11 941496379",
1827          "address": {
1828            "@type": "PostalAddress",
1829            "streetAddress": "Avenida Piracema, 669, lj 0469",
1830            "addressLocality": "BARUERI",
1831            "addressRegion": "SP",
1832            "postalCode": "06460-030",
1833            "addressCountry": "BR",
1834            "addressNeighborhood": "Tamboré"
1835          },
1836          "areaServed": {
1837            "@type": "City",
1838            "name": "BARUERI",
1839            "containedInPlace": {
1840              "@type": "State",
1841              "name": "SP"
1842            }
1843          }
1844        }
1845      },
1846      {
1847        "@type": "Offer",
1848        "itemOffered": {
1849          "@type": "LocalBusiness",
1850          "name": "FARM CURITIBA",
1851          "description": "Loja Farm Rio em CURITIBA, PR",
1852          "telephone": "41 991786315",
1853          "address": {
1854            "@type": "PostalAddress",
1855            "streetAddress": "AV CANDIDO DE ABREU, 127, LJ 05/08",
1856            "addressLocality": "CURITIBA",
1857            "addressRegion": "PR",
1858            "postalCode": "80530-000",
1859            "addressCountry": "BR",
1860            "addressNeighborhood": "CENTRO CÍVICO"
1861          },
1862          "areaServed": {
1863            "@type": "City",
1864            "name": "CURITIBA",
1865            "containedInPlace": {
1866              "@type": "State",
1867              "name": "PR"
1868            }
1869          }
1870        }
1871      },
1872      {
1873        "@type": "Offer",
1874        "itemOffered": {
1875          "@type": "LocalBusiness",
1876          "name": "FARM VILLA ROMANA",
1877          "description": "Loja Farm Rio em FLORIANÓPOLIS, SC",
1878          "telephone": "48 991622024",
1879          "address": {
1880            "@type": "PostalAddress",
1881            "streetAddress": "AV MADRE BENVENUTA, 687, SALA 215/216",
1882            "addressLocality": "FLORIANÓPOLIS",
1883            "addressRegion": "SC",
1884            "postalCode": "88035-000",
1885            "addressCountry": "BR",
1886            "addressNeighborhood": "SANTA MÔNICA"
1887          },
1888          "areaServed": {
1889            "@type": "City",
1890            "name": "FLORIANÓPOLIS",
1891            "containedInPlace": {
1892              "@type": "State",
1893              "name": "SC"
1894            }
1895          }
1896        }
1897      },
1898      {
1899        "@type": "Offer",
1900        "itemOffered": {
1901          "@type": "LocalBusiness",
1902          "name": "FARM CONTINENTE",
1903          "description": "Loja Farm Rio em SÃO JOSÉ, SC",
1904          "telephone": "48 991264956",
1905          "address": {
1906            "@type": "PostalAddress",
1907            "streetAddress": "RODOVIA BR 101, KM 211, LJ 122/123",
1908            "addressLocality": "SÃO JOSÉ",
1909            "addressRegion": "SC",
1910            "postalCode": "88104-801",
1911            "addressCountry": "BR",
1912            "addressNeighborhood": "DISTRITO INDUSTRIAL"
1913          },
1914          "areaServed": {
1915            "@type": "City",
1916            "name": "SÃO JOSÉ",
1917            "containedInPlace": {
1918              "@type": "State",
1919              "name": "SC"
1920            }
1921          }
1922        }
1923      },
1924      {
1925        "@type": "Offer",
1926        "itemOffered": {
1927          "@type": "LocalBusiness",
1928          "name": "FARM GARTEN",
1929          "description": "Loja Farm Rio em JOINVILLE, SC",
1930          "telephone": "47988974991",
1931          "address": {
1932            "@type": "PostalAddress",
1933            "streetAddress": "AV. ROLF WIEST, 333, LJ 130",
1934            "addressLocality": "JOINVILLE",
1935            "addressRegion": "SC",
1936            "postalCode": "89223-005",
1937            "addressCountry": "BR",
1938            "addressNeighborhood": "BOM RETIRO"
1939          },
1940          "areaServed": {
1941            "@type": "City",
1942            "name": "JOINVILLE",
1943            "containedInPlace": {
1944              "@type": "State",
1945              "name": "SC"
1946            }
1947          }
1948        }
1949      },
1950      {
1951        "@type": "Offer",
1952        "itemOffered": {
1953          "@type": "LocalBusiness",
1954          "name": "FARM MARINGA PARK",
1955          "description": "Loja Farm Rio em MARINGÁ, PR",
1956          "telephone": "44 991263373",
1957          "address": {
1958            "@type": "PostalAddress",
1959            "streetAddress": "AV SAO PAULO, 1099, LJ 230",
1960            "addressLocality": "MARINGÁ",
1961            "addressRegion": "PR",
1962            "postalCode": "87013-040",
1963            "addressCountry": "BR",
1964            "addressNeighborhood": "ZONA 1"
1965          },
1966          "areaServed": {
1967            "@type": "City",
1968            "name": "MARINGÁ",
1969            "containedInPlace": {
1970              "@type": "State",
1971              "name": "PR"
1972            }
1973          }
1974        }
1975      },
1976      {
1977        "@type": "Offer",
1978        "itemOffered": {
1979          "@type": "LocalBusiness",
1980          "name": "FARM BEIRA MAR",
1981          "description": "Loja Farm Rio em FLORIANÓPOLIS, SC",
1982          "telephone": "48 991527432",
1983          "address": {
1984            "@type": "PostalAddress",
1985            "streetAddress": "RUA BOCAIUVA, 2468, LJ 346",
1986            "addressLocality": "FLORIANÓPOLIS",
1987            "addressRegion": "SC",
1988            "postalCode": "88015-902",
1989            "addressCountry": "BR",
1990            "addressNeighborhood": "CENTRO"
1991          },
1992          "areaServed": {
1993            "@type": "City",
1994            "name": "FLORIANÓPOLIS",
1995            "containedInPlace": {
1996              "@type": "State",
1997              "name": "SC"
1998            }
1999          }
2000        }
2001      },
2002      {
2003        "@type": "Offer",
2004        "itemOffered": {
2005          "@type": "LocalBusiness",
2006          "name": "FARM VILA VELHA",
2007          "description": "Loja Farm Rio em VILA VELHA, ES",
2008          "telephone": "27 999938701",
2009          "address": {
2010            "@type": "PostalAddress",
2011            "streetAddress": "R LUCIANO DAS NEVES, 2418, LJ 2095",
2012            "addressLocality": "VILA VELHA",
2013            "addressRegion": "ES",
2014            "postalCode": "29100-200",
2015            "addressCountry": "BR",
2016            "addressNeighborhood": "CENTRO"
2017          },
2018          "areaServed": {
2019            "@type": "City",
2020            "name": "VILA VELHA",
2021            "containedInPlace": {
2022              "@type": "State",
2023              "name": "ES"
2024            }
2025          }
2026        }
2027      },
2028      {
2029        "@type": "Offer",
2030        "itemOffered": {
2031          "@type": "LocalBusiness",
2032          "name": "FARM SHOPPING VITORIA",
2033          "description": "Loja Farm Rio em VITÓRIA, ES",
2034          "telephone": "27 998882031",
2035          "address": {
2036            "@type": "PostalAddress",
2037            "streetAddress": "AV AMERICO BUAIZ, 200, LJ 509",
2038            "addressLocality": "VITÓRIA",
2039            "addressRegion": "ES",
2040            "postalCode": "29050-902",
2041            "addressCountry": "BR",
2042            "addressNeighborhood": "ENSEADA DO SUÁ"
2043          },
2044          "areaServed": {
2045            "@type": "City",
2046            "name": "VITÓRIA",
2047            "containedInPlace": {
2048              "@type": "State",
2049              "name": "ES"
2050            }
2051          }
2052        }
2053      },
2054      {
2055        "@type": "Offer",
2056        "itemOffered": {
2057          "@type": "LocalBusiness",
2058          "name": "FARM ETC GARCIA D'ÁVILA",
2059          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2060          "telephone": "-",
2061          "address": {
2062            "@type": "PostalAddress",
2063            "streetAddress": "Rua Garcia D'ávila, 110",
2064            "addressLocality": "RIO DE JANEIRO",
2065            "addressRegion": "RJ",
2066            "postalCode": "22421-010",
2067            "addressCountry": "BR",
2068            "addressNeighborhood": "IPANEMA"
2069          },
2070          "areaServed": {
2071            "@type": "City",
2072            "name": "RIO DE JANEIRO",
2073            "containedInPlace": {
2074              "@type": "State",
2075              "name": "RJ"
2076            }
2077          }
2078        }
2079      },
2080      {
2081        "@type": "Offer",
2082        "itemOffered": {
2083          "@type": "LocalBusiness",
2084          "name": "FARM ETC BARRA SHOPPING",
2085          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2086          "telephone": "-",
2087          "address": {
2088            "@type": "PostalAddress",
2089            "streetAddress": "Av. das Américas, 4666",
2090            "addressLocality": "RIO DE JANEIRO",
2091            "addressRegion": "RJ",
2092            "postalCode": "22640-102",
2093            "addressCountry": "BR",
2094            "addressNeighborhood": "BARRA DA TIJUCA"
2095          },
2096          "areaServed": {
2097            "@type": "City",
2098            "name": "RIO DE JANEIRO",
2099            "containedInPlace": {
2100              "@type": "State",
2101              "name": "RJ"
2102            }
2103          }
2104        }
2105      },
2106      {
2107        "@type": "Offer",
2108        "itemOffered": {
2109          "@type": "LocalBusiness",
2110          "name": "FARM LOURDES",
2111          "description": "Loja Farm Rio em BELO HORIZONTE, MG",
2112          "telephone": "31 995604818",
2113          "address": {
2114            "@type": "PostalAddress",
2115            "streetAddress": "RUA SÃO PAULO, 2159, .",
2116            "addressLocality": "BELO HORIZONTE",
2117            "addressRegion": "MG",
2118            "postalCode": "30170-135",
2119            "addressCountry": "BR",
2120            "addressNeighborhood": "LOURDES"
2121          },
2122          "areaServed": {
2123            "@type": "City",
2124            "name": "BELO HORIZONTE",
2125            "containedInPlace": {
2126              "@type": "State",
2127              "name": "MG"
2128            }
2129          }
2130        }
2131      },
2132      {
2133        "@type": "Offer",
2134        "itemOffered": {
2135          "@type": "LocalBusiness",
2136          "name": "FARM SÃO LUIS",
2137          "description": "Loja Farm Rio em SAO LUÍS, MA",
2138          "telephone": "98 991208154",
2139          "address": {
2140            "@type": "PostalAddress",
2141            "streetAddress": "AV DANIEL DE LA TOUCHE, 987, LJ 304 K",
2142            "addressLocality": "SAO LUÍS",
2143            "addressRegion": "MA",
2144            "postalCode": "65074 115",
2145            "addressCountry": "BR",
2146            "addressNeighborhood": "COHAMA"
2147          },
2148          "areaServed": {
2149            "@type": "City",
2150            "name": "SAO LUÍS",
2151            "containedInPlace": {
2152              "@type": "State",
2153              "name": "MA"
2154            }
2155          }
2156        }
2157      },
2158      {
2159        "@type": "Offer",
2160        "itemOffered": {
2161          "@type": "LocalBusiness",
2162          "name": "CASA RECIFE",
2163          "description": "Loja Farm Rio em RECIFE, PE",
2164          "telephone": "81 981500290",
2165          "address": {
2166            "@type": "PostalAddress",
2167            "streetAddress": "AV CONSELHEIRO AGUIAR, 2360, .",
2168            "addressLocality": "RECIFE",
2169            "addressRegion": "PE",
2170            "postalCode": "51020-020",
2171            "addressCountry": "BR",
2172            "addressNeighborhood": "BOA VIAGEM"
2173          },
2174          "areaServed": {
2175            "@type": "City",
2176            "name": "RECIFE",
2177            "containedInPlace": {
2178              "@type": "State",
2179              "name": "PE"
2180            }
2181          }
2182        }
2183      },
2184      {
2185        "@type": "Offer",
2186        "itemOffered": {
2187          "@type": "LocalBusiness",
2188          "name": "FARM RIOMAR FORTALEZA",
2189          "description": "Loja Farm Rio em FORTALEZA, CE",
2190          "telephone": "85 981982468",
2191          "address": {
2192            "@type": "PostalAddress",
2193            "streetAddress": "RUA DESEMBARGADOR LAURO NOGUEIRA, 1500, .",
2194            "addressLocality": "FORTALEZA",
2195            "addressRegion": "CE",
2196            "postalCode": "60175-055",
2197            "addressCountry": "BR",
2198            "addressNeighborhood": "PAPICU"
2199          },
2200          "areaServed": {
2201            "@type": "City",
2202            "name": "FORTALEZA",
2203            "containedInPlace": {
2204              "@type": "State",
2205              "name": "CE"
2206            }
2207          }
2208        }
2209      },
2210      {
2211        "@type": "Offer",
2212        "itemOffered": {
2213          "@type": "LocalBusiness",
2214          "name": "FARM SALVADOR",
2215          "description": "Loja Farm Rio em SALVADOR, BA",
2216          "telephone": "71 999687919",
2217          "address": {
2218            "@type": "PostalAddress",
2219            "streetAddress": "AV TANCREDO NEVES, 3133, LJ 2011",
2220            "addressLocality": "SALVADOR",
2221            "addressRegion": "BA",
2222            "postalCode": "41820-021",
2223            "addressCountry": "BR",
2224            "addressNeighborhood": "CAMINHO DAS ARVORES"
2225          },
2226          "areaServed": {
2227            "@type": "City",
2228            "name": "SALVADOR",
2229            "containedInPlace": {
2230              "@type": "State",
2231              "name": "BA"
2232            }
2233          }
2234        }
2235      },
2236      {
2237        "@type": "Offer",
2238        "itemOffered": {
2239          "@type": "LocalBusiness",
2240          "name": "Partage Arapiraca Shopping",
2241          "description": "Loja Farm Rio em Arapiraca, AL",
2242          "telephone": null,
2243          "address": {
2244            "@type": "PostalAddress",
2245            "streetAddress": "Rua Jose Jailson Nunes, 493",
2246            "addressLocality": "Arapiraca",
2247            "addressRegion": "AL",
2248            "postalCode": "57310-400",
2249            "addressCountry": "BR",
2250            "addressNeighborhood": "Santa Edwiges"
2251          },
2252          "areaServed": {
2253            "@type": "City",
2254            "name": "Arapiraca",
2255            "containedInPlace": {
2256              "@type": "State",
2257              "name": "AL"
2258            }
2259          }
2260        }
2261      },
2262      {
2263        "@type": "Offer",
2264        "itemOffered": {
2265          "@type": "LocalBusiness",
2266          "name": "FARM JOÃO PESSOA",
2267          "description": "Loja Farm Rio em JOÃO PESSOA, PB",
2268          "telephone": "83 994022584",
2269          "address": {
2270            "@type": "PostalAddress",
2271            "streetAddress": "AV GOVERNADOR FLAVIO RIBEIRO COUTINHO, 805, .",
2272            "addressLocality": "JOÃO PESSOA",
2273            "addressRegion": "PB",
2274            "postalCode": "58102-835",
2275            "addressCountry": "BR",
2276            "addressNeighborhood": "MANAÍRA"
2277          },
2278          "areaServed": {
2279            "@type": "City",
2280            "name": "JOÃO PESSOA",
2281            "containedInPlace": {
2282              "@type": "State",
2283              "name": "PB"
2284            }
2285          }
2286        }
2287      },
2288      {
2289        "@type": "Offer",
2290        "itemOffered": {
2291          "@type": "LocalBusiness",
2292          "name": "FARM MANAUARA",
2293          "description": "Loja Farm Rio em MANAUS, AM",
2294          "telephone": "92 991846697",
2295          "address": {
2296            "@type": "PostalAddress",
2297            "streetAddress": "AV MARIO YPIRANGA, 1300, LJ 267",
2298            "addressLocality": "MANAUS",
2299            "addressRegion": "AM",
2300            "postalCode": "69057-002",
2301            "addressCountry": "BR",
2302            "addressNeighborhood": "ADRIANOPOLIS"
2303          },
2304          "areaServed": {
2305            "@type": "City",
2306            "name": "MANAUS",
2307            "containedInPlace": {
2308              "@type": "State",
2309              "name": "AM"
2310            }
2311          }
2312        }
2313      },
2314      {
2315        "@type": "Offer",
2316        "itemOffered": {
2317          "@type": "LocalBusiness",
2318          "name": "FARM SHOPPING RECIFE",
2319          "description": "Loja Farm Rio em RECIFE, PE",
2320          "telephone": "81 981664848",
2321          "address": {
2322            "@type": "PostalAddress",
2323            "streetAddress": "RUA PADRE CARAPUCEIRO, 777, LJ 105",
2324            "addressLocality": "RECIFE",
2325            "addressRegion": "PE",
2326            "postalCode": "51020-900",
2327            "addressCountry": "BR",
2328            "addressNeighborhood": "BOA VIAGEM"
2329          },
2330          "areaServed": {
2331            "@type": "City",
2332            "name": "RECIFE",
2333            "containedInPlace": {
2334              "@type": "State",
2335              "name": "PE"
2336            }
2337          }
2338        }
2339      },
2340      {
2341        "@type": "Offer",
2342        "itemOffered": {
2343          "@type": "LocalBusiness",
2344          "name": "FARM FORTALEZA",
2345          "description": "Loja Farm Rio em FORTALEZA, CE",
2346          "telephone": "85 8141-4768",
2347          "address": {
2348            "@type": "PostalAddress",
2349            "streetAddress": "AV WASHINGTON SOARES, 85, LJ 520",
2350            "addressLocality": "FORTALEZA",
2351            "addressRegion": "CE",
2352            "postalCode": "60811-340",
2353            "addressCountry": "BR",
2354            "addressNeighborhood": "EDSON QUEIROZ"
2355          },
2356          "areaServed": {
2357            "@type": "City",
2358            "name": "FORTALEZA",
2359            "containedInPlace": {
2360              "@type": "State",
2361              "name": "CE"
2362            }
2363          }
2364        }
2365      },
2366      {
2367        "@type": "Offer",
2368        "itemOffered": {
2369          "@type": "LocalBusiness",
2370          "name": "FARM RIOMAR RECIFE",
2371          "description": "Loja Farm Rio em RECIFE, PE",
2372          "telephone": "81 981447444",
2373          "address": {
2374            "@type": "PostalAddress",
2375            "streetAddress": "AV REPUBLICA DO LIBANO, 251, LJ 2158/2159",
2376            "addressLocality": "RECIFE",
2377            "addressRegion": "PE",
2378            "postalCode": "51110-160",
2379            "addressCountry": "BR",
2380            "addressNeighborhood": "PINA"
2381          },
2382          "areaServed": {
2383            "@type": "City",
2384            "name": "RECIFE",
2385            "containedInPlace": {
2386              "@type": "State",
2387              "name": "PE"
2388            }
2389          }
2390        }
2391      },
2392      {
2393        "@type": "Offer",
2394        "itemOffered": {
2395          "@type": "LocalBusiness",
2396          "name": "FARM PANTANAL",
2397          "description": "Loja Farm Rio em CUIABÁ, MT",
2398          "telephone": "65 996381804",
2399          "address": {
2400            "@type": "PostalAddress",
2401            "streetAddress": "AV HISTORIADOR RUBENS DE MENDONÇA, 3.300, LJ 2.171",
2402            "addressLocality": "CUIABÁ",
2403            "addressRegion": "MT",
2404            "postalCode": "78050-280",
2405            "addressCountry": "BR",
2406            "addressNeighborhood": "JARDIM ACLIMAÇÃO"
2407          },
2408          "areaServed": {
2409            "@type": "City",
2410            "name": "CUIABÁ",
2411            "containedInPlace": {
2412              "@type": "State",
2413              "name": "MT"
2414            }
2415          }
2416        }
2417      },
2418      {
2419        "@type": "Offer",
2420        "itemOffered": {
2421          "@type": "LocalBusiness",
2422          "name": "FARM GÁVEA",
2423          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2424          "telephone": "21 971809755",
2425          "address": {
2426            "@type": "PostalAddress",
2427            "streetAddress": "RUA MARQUES DE SAO VICENTE, 52, LJ 166/167",
2428            "addressLocality": "RIO DE JANEIRO",
2429            "addressRegion": "RJ",
2430            "postalCode": "22451-040",
2431            "addressCountry": "BR",
2432            "addressNeighborhood": "GÁVEA"
2433          },
2434          "areaServed": {
2435            "@type": "City",
2436            "name": "RIO DE JANEIRO",
2437            "containedInPlace": {
2438              "@type": "State",
2439              "name": "RJ"
2440            }
2441          }
2442        }
2443      },
2444      {
2445        "@type": "Offer",
2446        "itemOffered": {
2447          "@type": "LocalBusiness",
2448          "name": "FARM GOIÂNIA SHOPPING",
2449          "description": "Loja Farm Rio em GOIÂNIA, GO",
2450          "telephone": "62 999373179",
2451          "address": {
2452            "@type": "PostalAddress",
2453            "streetAddress": "AV T 10, 1300, LJ 153",
2454            "addressLocality": "GOIÂNIA",
2455            "addressRegion": "GO",
2456            "postalCode": "74223-900",
2457            "addressCountry": "BR",
2458            "addressNeighborhood": "SETOR BUENO"
2459          },
2460          "areaServed": {
2461            "@type": "City",
2462            "name": "GOIÂNIA",
2463            "containedInPlace": {
2464              "@type": "State",
2465              "name": "GO"
2466            }
2467          }
2468        }
2469      },
2470      {
2471        "@type": "Offer",
2472        "itemOffered": {
2473          "@type": "LocalBusiness",
2474          "name": "FARM RIO SUL",
2475          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2476          "telephone": "21 995200392",
2477          "address": {
2478            "@type": "PostalAddress",
2479            "streetAddress": "AV LAURO SODRÉ, 445, LJ 201",
2480            "addressLocality": "RIO DE JANEIRO",
2481            "addressRegion": "RJ",
2482            "postalCode": "22290-070",
2483            "addressCountry": "BR",
2484            "addressNeighborhood": "BOTAFOGO"
2485          },
2486          "areaServed": {
2487            "@type": "City",
2488            "name": "RIO DE JANEIRO",
2489            "containedInPlace": {
2490              "@type": "State",
2491              "name": "RJ"
2492            }
2493          }
2494        }
2495      },
2496      {
2497        "@type": "Offer",
2498        "itemOffered": {
2499          "@type": "LocalBusiness",
2500          "name": "FARM SOROCABA",
2501          "description": "Loja Farm Rio em VOTORANTIM, SP",
2502          "telephone": "15 996374096",
2503          "address": {
2504            "@type": "PostalAddress",
2505            "streetAddress": "AV GISELI COSTANTINO, 1850, LJ 269",
2506            "addressLocality": "VOTORANTIM",
2507            "addressRegion": "SP",
2508            "postalCode": "18110-650",
2509            "addressCountry": "BR",
2510            "addressNeighborhood": "PARQUE BELA VISTA"
2511          },
2512          "areaServed": {
2513            "@type": "City",
2514            "name": "VOTORANTIM",
2515            "containedInPlace": {
2516              "@type": "State",
2517              "name": "SP"
2518            }
2519          }
2520        }
2521      },
2522      {
2523        "@type": "Offer",
2524        "itemOffered": {
2525          "@type": "LocalBusiness",
2526          "name": "FARM DOM PEDRO",
2527          "description": "Loja Farm Rio em CAMPINAS, SP",
2528          "telephone": "19 997934412",
2529          "address": {
2530            "@type": "PostalAddress",
2531            "streetAddress": "AV GUILHERME CAMPOS, 500, LJ 298",
2532            "addressLocality": "CAMPINAS",
2533            "addressRegion": "SP",
2534            "postalCode": "13087-901",
2535            "addressCountry": "BR",
2536            "addressNeighborhood": "JARDIM SANTA GENEBRA"
2537          },
2538          "areaServed": {
2539            "@type": "City",
2540            "name": "CAMPINAS",
2541            "containedInPlace": {
2542              "@type": "State",
2543              "name": "SP"
2544            }
2545          }
2546        }
2547      },
2548      {
2549        "@type": "Offer",
2550        "itemOffered": {
2551          "@type": "LocalBusiness",
2552          "name": "FARM NAÇÕES SHOPPING",
2553          "description": "Loja Farm Rio em CRICIÚMA, SC",
2554          "telephone": "48 991270891",
2555          "address": {
2556            "@type": "PostalAddress",
2557            "streetAddress": "AV. JORGE ELIAS DE LUCCA, 677, LJ 129",
2558            "addressLocality": "CRICIÚMA",
2559            "addressRegion": "SC",
2560            "postalCode": "88.813-390",
2561            "addressCountry": "BR",
2562            "addressNeighborhood": "NOSSA SRA. DA SALETE"
2563          },
2564          "areaServed": {
2565            "@type": "City",
2566            "name": "CRICIÚMA",
2567            "containedInPlace": {
2568              "@type": "State",
2569              "name": "SC"
2570            }
2571          }
2572        }
2573      },
2574      {
2575        "@type": "Offer",
2576        "itemOffered": {
2577          "@type": "LocalBusiness",
2578          "name": "FARM BARRA SUL",
2579          "description": "Loja Farm Rio em PORTO ALEGRE, RS",
2580          "telephone": "51 996129739",
2581          "address": {
2582            "@type": "PostalAddress",
2583            "streetAddress": "AV DIÁRIO DAS NOTÍCIAS, 300, LJ 1074",
2584            "addressLocality": "PORTO ALEGRE",
2585            "addressRegion": "RS",
2586            "postalCode": "90810-080",
2587            "addressCountry": "BR",
2588            "addressNeighborhood": "CRISTAL"
2589          },
2590          "areaServed": {
2591            "@type": "City",
2592            "name": "PORTO ALEGRE",
2593            "containedInPlace": {
2594              "@type": "State",
2595              "name": "RS"
2596            }
2597          }
2598        }
2599      },
2600      {
2601        "@type": "Offer",
2602        "itemOffered": {
2603          "@type": "LocalBusiness",
2604          "name": "FARM PORTO ALEGRE",
2605          "description": "Loja Farm Rio em PORTO ALEGRE, RS",
2606          "telephone": "51 995880155",
2607          "address": {
2608            "@type": "PostalAddress",
2609            "streetAddress": "RUA OLAVO BARRETO VIANNA, 36, LJ 108/109",
2610            "addressLocality": "PORTO ALEGRE",
2611            "addressRegion": "RS",
2612            "postalCode": "90570-070",
2613            "addressCountry": "BR",
2614            "addressNeighborhood": "MOINHOS DE VENTO"
2615          },
2616          "areaServed": {
2617            "@type": "City",
2618            "name": "PORTO ALEGRE",
2619            "containedInPlace": {
2620              "@type": "State",
2621              "name": "RS"
2622            }
2623          }
2624        }
2625      },
2626      {
2627        "@type": "Offer",
2628        "itemOffered": {
2629          "@type": "LocalBusiness",
2630          "name": "FARM SHOPPING PÁTIO BATEL",
2631          "description": "Loja Farm Rio em CURITIBA, PR",
2632          "telephone": "41 991037542",
2633          "address": {
2634            "@type": "PostalAddress",
2635            "streetAddress": "AV DO BATEL, 1868, LJ 304",
2636            "addressLocality": "CURITIBA",
2637            "addressRegion": "PR",
2638            "postalCode": "80420-090",
2639            "addressCountry": "BR",
2640            "addressNeighborhood": "BATEL"
2641          },
2642          "areaServed": {
2643            "@type": "City",
2644            "name": "CURITIBA",
2645            "containedInPlace": {
2646              "@type": "State",
2647              "name": "PR"
2648            }
2649          }
2650        }
2651      },
2652      {
2653        "@type": "Offer",
2654        "itemOffered": {
2655          "@type": "LocalBusiness",
2656          "name": "FARM SANTA MARIA",
2657          "description": "Loja Farm Rio em RIO GRANDE DO SUL, RS",
2658          "telephone": "55 997297623",
2659          "address": {
2660            "@type": "PostalAddress",
2661            "streetAddress": "RODOVIA BR-287, 2885, lj 1032-1033 e 1034",
2662            "addressLocality": "RIO GRANDE DO SUL",
2663            "addressRegion": "RS",
2664            "postalCode": "97020-405",
2665            "addressCountry": "BR",
2666            "addressNeighborhood": "PATRONATO"
2667          },
2668          "areaServed": {
2669            "@type": "City",
2670            "name": "RIO GRANDE DO SUL",
2671            "containedInPlace": {
2672              "@type": "State",
2673              "name": "RS"
2674            }
2675          }
2676        }
2677      },
2678      {
2679        "@type": "Offer",
2680        "itemOffered": {
2681          "@type": "LocalBusiness",
2682          "name": "FARM BALNEÁRIO CAMBORIÚ",
2683          "description": "Loja Farm Rio em BALNEÁRIO CAMBORIÚ, SC",
2684          "telephone": "47 992064585",
2685          "address": {
2686            "@type": "PostalAddress",
2687            "streetAddress": "AV SANTA CATARINA, 1, LJ 208",
2688            "addressLocality": "BALNEÁRIO CAMBORIÚ",
2689            "addressRegion": "SC",
2690            "postalCode": "88339-005",
2691            "addressCountry": "BR",
2692            "addressNeighborhood": "ESTADOS"
2693          },
2694          "areaServed": {
2695            "@type": "City",
2696            "name": "BALNEÁRIO CAMBORIÚ",
2697            "containedInPlace": {
2698              "@type": "State",
2699              "name": "SC"
2700            }
2701          }
2702        }
2703      },
2704      {
2705        "@type": "Offer",
2706        "itemOffered": {
2707          "@type": "LocalBusiness",
2708          "name": "FARM IGUATEMI PORTO ALEGRE",
2709          "description": "Loja Farm Rio em PORTO ALEGRE, RS",
2710          "telephone": "51 996129389",
2711          "address": {
2712            "@type": "PostalAddress",
2713            "streetAddress": "AV JOAO WALLING, 1800, LJ 2276",
2714            "addressLocality": "PORTO ALEGRE",
2715            "addressRegion": "RS",
2716            "postalCode": "91349-900",
2717            "addressCountry": "BR",
2718            "addressNeighborhood": "PASSO DA AREIA"
2719          },
2720          "areaServed": {
2721            "@type": "City",
2722            "name": "PORTO ALEGRE",
2723            "containedInPlace": {
2724              "@type": "State",
2725              "name": "RS"
2726            }
2727          }
2728        }
2729      },
2730      {
2731        "@type": "Offer",
2732        "itemOffered": {
2733          "@type": "LocalBusiness",
2734          "name": "FARM ESTAÇÃO CUIABÁ",
2735          "description": "Loja Farm Rio em CUIABÁ, MT",
2736          "telephone": "65 96880898",
2737          "address": {
2738            "@type": "PostalAddress",
2739            "streetAddress": "AV MIGUEL SUTIL, 9300, LJ 2005",
2740            "addressLocality": "CUIABÁ",
2741            "addressRegion": "MT",
2742            "postalCode": "78020-160",
2743            "addressCountry": "BR",
2744            "addressNeighborhood": "SANTA ROSA"
2745          },
2746          "areaServed": {
2747            "@type": "City",
2748            "name": "CUIABÁ",
2749            "containedInPlace": {
2750              "@type": "State",
2751              "name": "MT"
2752            }
2753          }
2754        }
2755      },
2756      {
2757        "@type": "Offer",
2758        "itemOffered": {
2759          "@type": "LocalBusiness",
2760          "name": "LOJA CENTER NORTE",
2761          "description": "Loja Farm Rio em SÃO JOSÉ DOS CAMPOS, SP",
2762          "telephone": null,
2763          "address": {
2764            "@type": "PostalAddress",
2765            "streetAddress": "AV. DEP. BENEDITO MATARAZZO, 9403, .",
2766            "addressLocality": "SÃO JOSÉ DOS CAMPOS",
2767            "addressRegion": "SP",
2768            "postalCode": "12215-900",
2769            "addressCountry": "BR",
2770            "addressNeighborhood": "JARDIM OSWALDO CRUZ"
2771          },
2772          "areaServed": {
2773            "@type": "City",
2774            "name": "SÃO JOSÉ DOS CAMPOS",
2775            "containedInPlace": {
2776              "@type": "State",
2777              "name": "SP"
2778            }
2779          }
2780        }
2781      },
2782      {
2783        "@type": "Offer",
2784        "itemOffered": {
2785          "@type": "LocalBusiness",
2786          "name": "FARM BOSSA NOVA",
2787          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2788          "telephone": "21 971782942",
2789          "address": {
2790            "@type": "PostalAddress",
2791            "streetAddress": "ALMIRANTE SILVIO DE NORONHA, 365, LJ 101C",
2792            "addressLocality": "RIO DE JANEIRO",
2793            "addressRegion": "RJ",
2794            "postalCode": "20021-010",
2795            "addressCountry": "BR",
2796            "addressNeighborhood": "CENTRO"
2797          },
2798          "areaServed": {
2799            "@type": "City",
2800            "name": "RIO DE JANEIRO",
2801            "containedInPlace": {
2802              "@type": "State",
2803              "name": "RJ"
2804            }
2805          }
2806        }
2807      },
2808      {
2809        "@type": "Offer",
2810        "itemOffered": {
2811          "@type": "LocalBusiness",
2812          "name": "FARM CENTRO",
2813          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2814          "telephone": "(21) 97180-9991",
2815          "address": {
2816            "@type": "PostalAddress",
2817            "streetAddress": "Senador Dantas, 1, Loja A",
2818            "addressLocality": "RIO DE JANEIRO",
2819            "addressRegion": "RJ",
2820            "postalCode": "22224-523",
2821            "addressCountry": "BR",
2822            "addressNeighborhood": "CENTRO"
2823          },
2824          "areaServed": {
2825            "@type": "City",
2826            "name": "RIO DE JANEIRO",
2827            "containedInPlace": {
2828              "@type": "State",
2829              "name": "RJ"
2830            }
2831          }
2832        }
2833      },
2834      {
2835        "@type": "Offer",
2836        "itemOffered": {
2837          "@type": "LocalBusiness",
2838          "name": "FARM SANTOS",
2839          "description": "Loja Farm Rio em SANTOS, SP",
2840          "telephone": "13 997575859",
2841          "address": {
2842            "@type": "PostalAddress",
2843            "streetAddress": "RUA AZEVEDO SODRE, 56, .",
2844            "addressLocality": "SANTOS",
2845            "addressRegion": "SP",
2846            "postalCode": "11055-050",
2847            "addressCountry": "BR",
2848            "addressNeighborhood": "BOQUEIRÃO"
2849          },
2850          "areaServed": {
2851            "@type": "City",
2852            "name": "SANTOS",
2853            "containedInPlace": {
2854              "@type": "State",
2855              "name": "SP"
2856            }
2857          }
2858        }
2859      },
2860      {
2861        "@type": "Offer",
2862        "itemOffered": {
2863          "@type": "LocalBusiness",
2864          "name": "FARM ELDORADO",
2865          "description": "Loja Farm Rio em SÃO PAULO, SP",
2866          "telephone": "11 954724324",
2867          "address": {
2868            "@type": "PostalAddress",
2869            "streetAddress": "AV REBOUÇAS, 3970, LJ 373",
2870            "addressLocality": "SÃO PAULO",
2871            "addressRegion": "SP",
2872            "postalCode": "05402-600",
2873            "addressCountry": "BR",
2874            "addressNeighborhood": "PINHEIROS"
2875          },
2876          "areaServed": {
2877            "@type": "City",
2878            "name": "SÃO PAULO",
2879            "containedInPlace": {
2880              "@type": "State",
2881              "name": "SP"
2882            }
2883          }
2884        }
2885      },
2886      {
2887        "@type": "Offer",
2888        "itemOffered": {
2889          "@type": "LocalBusiness",
2890          "name": "FARM VILA BOIM",
2891          "description": "Loja Farm Rio em SÃO PAULO, SP",
2892          "telephone": "11 996535480",
2893          "address": {
2894            "@type": "PostalAddress",
2895            "streetAddress": "PRAÇA VILABOIM, 89, .",
2896            "addressLocality": "SÃO PAULO",
2897            "addressRegion": "SP",
2898            "postalCode": "01241-010",
2899            "addressCountry": "BR",
2900            "addressNeighborhood": "HIGIENÓPOLIS"
2901          },
2902          "areaServed": {
2903            "@type": "City",
2904            "name": "SÃO PAULO",
2905            "containedInPlace": {
2906              "@type": "State",
2907              "name": "SP"
2908            }
2909          }
2910        }
2911      },
2912      {
2913        "@type": "Offer",
2914        "itemOffered": {
2915          "@type": "LocalBusiness",
2916          "name": "FARM ILHA BELA",
2917          "description": "Loja Farm Rio em SÃO PAULO, SP",
2918          "telephone": "12 997463325",
2919          "address": {
2920            "@type": "PostalAddress",
2921            "streetAddress": "RUA PADROEIRA, 125, .",
2922            "addressLocality": "SÃO PAULO",
2923            "addressRegion": "SP",
2924            "postalCode": "11630-000",
2925            "addressCountry": "BR",
2926            "addressNeighborhood": "ILHA BELA"
2927          },
2928          "areaServed": {
2929            "@type": "City",
2930            "name": "SÃO PAULO",
2931            "containedInPlace": {
2932              "@type": "State",
2933              "name": "SP"
2934            }
2935          }
2936        }
2937      },
2938      {
2939        "@type": "Offer",
2940        "itemOffered": {
2941          "@type": "LocalBusiness",
2942          "name": "FARM MOOCA",
2943          "description": "Loja Farm Rio em SÃO PAULO, SP",
2944          "telephone": "11 918682286",
2945          "address": {
2946            "@type": "PostalAddress",
2947            "streetAddress": "RUA CAPITÃO PACHECO E CHAVES, 313, LJ 1060",
2948            "addressLocality": "SÃO PAULO",
2949            "addressRegion": "SP",
2950            "postalCode": "03126-000",
2951            "addressCountry": "BR",
2952            "addressNeighborhood": "VILA PRUDENTE"
2953          },
2954          "areaServed": {
2955            "@type": "City",
2956            "name": "SÃO PAULO",
2957            "containedInPlace": {
2958              "@type": "State",
2959              "name": "SP"
2960            }
2961          }
2962        }
2963      },
2964      {
2965        "@type": "Offer",
2966        "itemOffered": {
2967          "@type": "LocalBusiness",
2968          "name": "FARM CIDADE SP",
2969          "description": "Loja Farm Rio em SÃO PAULO, SP",
2970          "telephone": "11 995047592",
2971          "address": {
2972            "@type": "PostalAddress",
2973            "streetAddress": "AV PAULISTA, 1230, LJ 2210",
2974            "addressLocality": "SÃO PAULO",
2975            "addressRegion": "SP",
2976            "postalCode": "01310-100",
2977            "addressCountry": "BR",
2978            "addressNeighborhood": "BELA VISTA"
2979          },
2980          "areaServed": {
2981            "@type": "City",
2982            "name": "SÃO PAULO",
2983            "containedInPlace": {
2984              "@type": "State",
2985              "name": "SP"
2986            }
2987          }
2988        }
2989      },
2990      {
2991        "@type": "Offer",
2992        "itemOffered": {
2993          "@type": "LocalBusiness",
2994          "name": "FARM SHOPPING TIJUCA",
2995          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
2996          "telephone": "21 967448646",
2997          "address": {
2998            "@type": "PostalAddress",
2999            "streetAddress": "AV MARACANA, 987, LJ 2051/2052/2053",
3000            "addressLocality": "RIO DE JANEIRO",
3001            "addressRegion": "RJ",
3002            "postalCode": "20511-000",
3003            "addressCountry": "BR",
3004            "addressNeighborhood": "TIJUCA"
3005          },
3006          "areaServed": {
3007            "@type": "City",
3008            "name": "RIO DE JANEIRO",
3009            "containedInPlace": {
3010              "@type": "State",
3011              "name": "RJ"
3012            }
3013          }
3014        }
3015      },
3016      {
3017        "@type": "Offer",
3018        "itemOffered": {
3019          "@type": "LocalBusiness",
3020          "name": "FARM FEIRA DE SANTANA",
3021          "description": "Loja Farm Rio em FEIRA DE SANTANA, BA",
3022          "telephone": "77 999211738",
3023          "address": {
3024            "@type": "PostalAddress",
3025            "streetAddress": "AV. JOÃO DURVAL CARNEIRO, 3665, TÉRREO",
3026            "addressLocality": "FEIRA DE SANTANA",
3027            "addressRegion": "BA",
3028            "postalCode": "44090-008",
3029            "addressCountry": "BR",
3030            "addressNeighborhood": "CASEB"
3031          },
3032          "areaServed": {
3033            "@type": "City",
3034            "name": "FE
3034IRA DE SANTANA",
3035            "containedInPlace": {
3036              "@type": "State",
3037              "name": "BA"
3038            }
3039          }
3040        }
3041      },
3042      {
3043        "@type": "Offer",
3044        "itemOffered": {
3045          "@type": "LocalBusiness",
3046          "name": "FARM CENTER NORTE",
3047          "description": "Loja Farm Rio em SÃO PAULO, SP",
3048          "telephone": "11 918687919",
3049          "address": {
3050            "@type": "PostalAddress",
3051            "streetAddress": "AV OTTO BAUMGART, 500, LJ 1160B",
3052            "addressLocality": "SÃO PAULO",
3053            "addressRegion": "SP",
3054            "postalCode": "02049-900",
3055            "addressCountry": "BR",
3056            "addressNeighborhood": "VILA GUILHERME"
3057          },
3058          "areaServed": {
3059            "@type": "City",
3060            "name": "SÃO PAULO",
3061            "containedInPlace": {
3062              "@type": "State",
3063              "name": "SP"
3064            }
3065          }
3066        }
3067      },
3068      {
3069        "@type": "Offer",
3070        "itemOffered": {
3071          "@type": "LocalBusiness",
3072          "name": "FARM NORTE SHOPPING",
3073          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
3074          "telephone": "21 967156226",
3075          "address": {
3076            "@type": "PostalAddress",
3077            "streetAddress": "AV DOM HÉLDER CÃMARA, 5474, LJ 2205/2206",
3078            "addressLocality": "RIO DE JANEIRO",
3079            "addressRegion": "RJ",
3080            "postalCode": "20771-900",
3081            "addressCountry": "BR",
3082            "addressNeighborhood": "CACHAMBI"
3083          },
3084          "areaServed": {
3085            "@type": "City",
3086            "name": "RIO DE JANEIRO",
3087            "containedInPlace": {
3088              "@type": "State",
3089              "name": "RJ"
3090            }
3091          }
3092        }
3093      },
3094      {
3095        "@type": "Offer",
3096        "itemOffered": {
3097          "@type": "LocalBusiness",
3098          "name": "FARM VILA DA SERRA",
3099          "description": "Loja Farm Rio em NOVA LIMA, MG",
3100          "telephone": "31 995605296",
3101          "address": {
3102            "@type": "PostalAddress",
3103            "streetAddress": "ALAMEDA OSCAR NIEMEYER, 1369, LJ 08/09",
3104            "addressLocality": "NOVA LIMA",
3105            "addressRegion": "MG",
3106            "postalCode": "34006-065",
3107            "addressCountry": "BR",
3108            "addressNeighborhood": "VILA DA SERRA"
3109          },
3110          "areaServed": {
3111            "@type": "City",
3112            "name": "NOVA LIMA",
3113            "containedInPlace": {
3114              "@type": "State",
3115              "name": "MG"
3116            }
3117          }
3118        }
3119      },
3120      {
3121        "@type": "Offer",
3122        "itemOffered": {
3123          "@type": "LocalBusiness",
3124          "name": "FARM UBERABA",
3125          "description": "Loja Farm Rio em UBERABA, MG",
3126          "telephone": "34 999319604",
3127          "address": {
3128            "@type": "PostalAddress",
3129            "streetAddress": "AV SANTA BEATRIZ DA SILVA, 1501, LJ 408",
3130            "addressLocality": "UBERABA",
3131            "addressRegion": "MG",
3132            "postalCode": "38020-433",
3133            "addressCountry": "BR",
3134            "addressNeighborhood": "SÃO BENEDITO"
3135          },
3136          "areaServed": {
3137            "@type": "City",
3138            "name": "UBERABA",
3139            "containedInPlace": {
3140              "@type": "State",
3141              "name": "MG"
3142            }
3143          }
3144        }
3145      },
3146      {
3147        "@type": "Offer",
3148        "itemOffered": {
3149          "@type": "LocalBusiness",
3150          "name": "FARM SHOPPING PARKJACAREPAGUÁ",
3151          "description": "Loja Farm Rio em RIO DE JANEIRO, RJ",
3152          "telephone": null,
3153          "address": {
3154            "@type": "PostalAddress",
3155            "streetAddress": "ESTRADA JACAREPAGUÁ, 6069, LJ 235B",
3156            "addressLocality": "RIO DE JANEIRO",
3157            "addressRegion": "RJ",
3158            "postalCode": "22753-045",
3159            "addressCountry": "BR",
3160            "addressNeighborhood": "ANIL"
3161          },
3162          "areaServed": {
3163            "@type": "City",
3164            "name": "RIO DE JANEIRO",
3165            "containedInPlace": {
3166              "@type": "State",
3167              "name": "RJ"
3168            }
3169          }
3170        }
3171      },
3172      {
3173        "@type": "Offer",
3174        "itemOffered": {
3175          "@type": "LocalBusiness",
3176          "name": "FARM ETC PARKSHOPPING BRASÍLIA",
3177          "description": "Loja Farm Rio em BRASÍLIA, DF",
3178          "telephone": null,
3179          "address": {
3180            "@type": "PostalAddress",
3181            "streetAddress": "ParkShopping Brasília, SMAS Trecho 1, SIN, loja 149 C/149 D",
3182            "addressLocality": "BRASÍLIA",
3183            "addressRegion": "DF",
3184            "postalCode": "71219-900",
3185            "addressCountry": "BR",
3186            "addressNeighborhood": "Zona Industrial (Guará)"
3187          },
3188          "areaServed": {
3189            "@type": "City",
3190            "name": "BRASÍLIA",
3191            "containedInPlace": {
3192              "@type": "State",
3193              "name": "DF"
3194            }
3195          }
3196        }
3197      },
3198      {
3199        "@type": "Offer",
3200        "itemOffered": {
3201          "@type": "LocalBusiness",
3202          "name": "FARM ETC RIBEIRÃO SHOPPING",
3203          "description": "Loja Farm Rio em RIBEIRÃO PRETO, SP",
3204          "telephone": null,
3205          "address": {
3206            "@type": "PostalAddress",
3207            "streetAddress": "AV CORONEL FERNANDO FERREIRA LEITE, 1540, LOJA 248/249",
3208            "addressLocality": "RIBEIRÃO PRETO",
3209            "addressRegion": "SP",
3210            "postalCode": "14.026-900",
3211            "addressCountry": "BR",
3212            "addressNeighborhood": "JARDIM CALIFORNIA"
3213          },
3214          "areaServed": {
3215            "@type": "City",
3216            "name": "RIBEIRÃO PRETO",
3217            "containedInPlace": {
3218              "@type": "State",
3219              "name": "SP"
3220            }
3221          }
3222        }
3223      },
3224      {
3225        "@type": "Offer",
3226        "itemOffered": {
3227          "@type": "LocalBusiness",
3228          "name": "FARM TRANCOSO",
3229          "description": "Loja Farm Rio em PORTO SEGURO, BA",
3230          "telephone": null,
3231          "address": {
3232            "@type": "PostalAddress",
3233            "streetAddress": "PRAÇA SÃO JOÃO, 366",
3234            "addressLocality": "PORTO SEGURO",
3235            "addressRegion": "BA",
3236            "postalCode": "45810-000",
3237            "addressCountry": "BR",
3238            "addressNeighborhood": null
3239          },
3240          "areaServed": {
3241            "@type": "City",
3242            "name": "PORTO SEGURO",
3243            "containedInPlace": {
3244              "@type": "State",
3245              "name": "BA"
3246            }
3247          }
3248        }
3249      },
3250      {
3251        "@type": "Offer",
3252        "itemOffered": {
3253          "@type": "LocalBusiness",
3254          "name": "FARM VILLA LOBOS",
3255          "description": "Loja Farm Rio em SÃO PAULO, SP",
3256          "telephone": "11 999104105",
3257          "address": {
3258            "@type": "PostalAddress",
3259            "streetAddress": "Av. Dra. Ruth Cardoso, 4777, LJ 263/264",
3260            "addressLocality": "SÃO PAULO",
3261            "addressRegion": "SP",
3262            "postalCode": "05477-000",
3263            "addressCountry": "BR",
3264            "addressNeighborhood": "Jardim Universidade Pinheiros"
3265          },
3266          "areaServed": {
3267            "@type": "City",
3268            "name": "SÃO PAULO",
3269            "containedInPlace": {
3270              "@type": "State",
3271              "name": "SP"
3272            }
3273          }
3274        }
3275      }
3276    ]
3277  }
3278}</script>
3278<link rel="preload" as="image" href="https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg" imagesrcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=534&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 824w" imagesizes="100vw" fetchpriority="high" media="(max-width: 767px)"/><link rel="preload" as="image" href="https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F23_BANNER-PRIMAVERA-20-10%2F23-09-26-home-banner-1-tv-primavera-25-10-desktop-.jpg%3Fauthuser%3D0" imagesrcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=720&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F23_BANNER-PRIMAVERA-20-10%2F23-09-26-home-banner-1-tv-primavera-25-10-desktop-.jpg%3Fauthuser%3D0 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F23_BANNER-PRIMAVERA-20-10%2F23-09-26-home-banner-1-tv-primavera-25-10-desktop-.jpg%3Fauthuser%3D0 2880w" imagesizes="100vw" fetchpriority="high" media="(min-width: 768px)"/></head><body><section id="2602763839-0" data-manifest-key="website/sections/Seo/SeoV2.tsx"></section><section id="1753571943-0" data-manifest-key="site/sections/PageAssets.tsx">
3278<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(()=>addEventListener("load",(()=>{navigator&&navigator.serviceWorker&&navigator.serviceWorker.getRegistrations().then((e=>{for(const r of e)r.unregister()}))})))()</script>
3278</section><section id="1158317325-0" data-manifest-key="site/sections/Theme/Fonts.tsx"></section><section id="3359664452-0" data-manifest-key="site/sections/Tracking/OnePixel.tsx"></section><section id="3617539200-0" data-manifest-key="site/sections/Tracking/Dito.tsx"><div></div></section><section id="1564831294-0" data-manifest-key="site/sections/VWO.tsx"></section><section id="1609252039-0" data-manifest-key="site/sections/Sizebay.tsx"></section><section id="684817977-0" data-manifest-key="site/sections/Analytics/AllPages.tsx">
3278<script src="data:text/javascript,(e%3D%3E%7B(()%3D%3E%7Bconst%20o%3Dnew%20URL(e.url).pathname%3Bif(globalThis.window.dataLayer%3DglobalThis.window.dataLayer%7C%7C%5B%5D%2C%22%2F%22%3D%3D%3Do)return%20globalThis.window.dataLayer.push(%7Blocal%3A%22home%22%2Cpage_category%3A%22home%22%7D)%2Cvoid%200%3Bconst%20a%3Ddocument.querySelector(%22script%5Btype%3D'application%2Fld%2Bjson'%5D%22)%2Ct%3Da%3F.textContent%3Bif(!t)return%20globalThis.window.dataLayer.push(%7Blocal%3A%22other%22%7D)%2Cvoid%200%3Bconst%20r%3DJSON.parse(t)%3Bif(%22ProductDetailsPage%22%3D%3D%3Dr%5B%22%40type%22%5D)%7Bconst%20e%3Dr%3Breturn%20globalThis.window.dataLayer.push(%7Blocal%3A%22PDP%22%2Cpage_category%3A%22pdp%22%2Cseller_id%3Ae.product%3F.offers%3F.offers%3F.%5B0%5D%3F.seller%2Cseller_ids%3Ae.product%3F.offers%3F.offers%3F.map((e%3D%3Ee.seller)).join(%22%2C%22)%2Cproduct_reference_id%3Ae.product%3F.productID%2Csku_stocks%3Ae.product%3F.isVariantOf%3F.hasVariant%3F.map((e%3D%3E(%7B%5Be.productID%5D%3Ae.offers%3F.offers%3F.%5B0%5D%3F.inventoryLevel.value%7D)))%7D)%2Cvoid%200%7Dif(%22ProductListingPage%22%3D%3D%3Dr%5B%22%40type%22%5D)%7Bconst%20e%3Dr%3Breturn%20globalThis.window.dataLayer.push(%7Blocal%3A%22PLP%22%2Cpage_category%3A%22lista-produtos%22%2Cpage_department%3Ae.seo%3F.title%7D)%2Cvoid%200%7DglobalThis.window.dataLayer.push(%7Blocal%3A%22other%22%7D)%7D)()%7D)(%7B%22url%22%3A%22https%3A%2F%2Fwww.farmrio.com.br%2F%22%7D)" nonce="16c268fd223f430b98c07279b4c2abab"></script>
3278</section><section id="558325882-0" data-manifest-key="site/sections/Tracking/DetectAdBlocker.tsx"></section><section id="757239036-0" data-manifest-key="htmx/sections/htmx.tsx"></section><section id="681525367-0" data-manifest-key="site/sections/Tracking/Bofity.tsx"></section><section id="1191440989-0" data-manifest-key="site/sections/Miscellaneous/ScrollToTop.tsx"><div id="scrollToTop" hx-on:click="window.scrollTo({ top: 0, behavior: 'smooth' })" hx-swap="outerHTML swap:1s" style="display:none;" class="fixed right-10 bottom-32 text-center size-12 cursor-pointer rounded-full z-10 bg-[#fff]"><div class="w-full h-full relative"><svg width="32" height="32" stroke-width="1" class="inline-block align-middle mt-1"><use href="/sprites.svg?__deco_c=2#ArrowTop"></use></svg><span class="absolute bottom-2 left-3 text-x block">Topo</span></div></div>
3278<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(()=>{const l=document.getElementById("scrollToTop"),e=globalThis.window.location.href,o=document.getElementById("checkbox-buttons-group"),s=s=>{!s||e.includes("account#")||e.includes("wishlist")||o&&o.checked?l.style.display="none":l.style.display="block"},n=()=>{const l=globalThis.scrollY>globalThis.innerHeight;s(l)};globalThis.addEventListener("scroll",(()=>{const l=globalThis.scrollY>globalThis.innerHeight;s(l)})),o&&o.addEventListener("change",n),l.addEventListener("click",(l=>{l.preventDefault(),globalThis.scrollTo({top:0,behavior:"smooth"})}));const t=globalThis.scrollY>globalThis.innerHeight;s(t)})()</script>
3278</section><section id="1038799682-0" data-manifest-key="site/sections/Miscellaneous/ButtonHelp.tsx"><div id="help-button" class="right-2 md:right-10 bottom-8 md:bottom-10 z-40 fixed flex items-end transition-all duration-300 ease-out"><div class="z-50 flex-col w-full transition-all duration-1000 swap flex "><input id="checkbox-buttons-group" type="checkbox"/><div class="flex-col justify-end items-end space-y-2 h-full [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:flex hidden pointer-events-none"><button style="--delay:400ms;" hx-trigger="click" hx-on:click="(function toggleInputs({id:t,exchangeReturn:e,orderStatus:r,helpButtons:i}){const s=t=>document.getElementById(t),n=t=>document.getElementsByClassName(t),c=t=>s(t),o=c(t),a=s(`${t}-button`),d=n(`${t}-icon-input`),h=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!o||0===h.length)return;h.forEach((t=>t.checked=!0));const l=c(e),m=s(`${e}-button`),b=n(`${e}-icon-input`),u=c(r),g=s(`${r}-button`),L=n(`${r}-icon-input`),p=s(i);e!==t&amp;&amp;l&amp;&amp;(l.checked=!1,m&amp;&amp;(m.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m.classList.remove(&quot;btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),b.item(0)?.classList.remove(&quot;text-white&quot;))),r!==t&amp;&amp;u&amp;&amp;(u.checked=!1,g&amp;&amp;(g.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),g.classList.remove(&quot;btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),L.item(0)?.classList.remove(&quot;text-white&quot;))),o.checked=!o.checked,o.checked?(a?.classList.remove(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),a?.classList.add(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),d.item(0)?.classList.add(&quot;md:text-white&quot;)):(a?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),a?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),d.item(0)?.classList.remove(&quot;md:text-white&quot;)),l?.checked||u?.checked||h.forEach((t=>t.checked=!1)),p&amp;&amp;(o.checked?(p.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),p.classList.add(&quot;right-120&quot;)):(p.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),p.classList.remove(&quot;right-120&quot;)))})({&quot;id&quot;:&quot;drawer-help-button-order-exchange-return&quot;,&quot;exchangeReturn&quot;:&quot;drawer-help-button-order-exchange-return&quot;,&quot;orderStatus&quot;:&quot;drawer-help-button-order-status&quot;,&quot;helpButtons&quot;:&quot;help-button&quot;})" id="drawer-help-button-order-exchange-return-button" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22global%3Afloating%3Aajuda%3ATroca%20e%20devolu%C3%A7%C3%A3o%22%7D" data-event-trigger="click" class="relative group has-[input:checked]:w-[56px] has-[input:checked]:justify-center has-[input:checked]:flex has-[input:checked]:items-center h-[56px] min-w-min btn btn-circle btn-primary btn-outline px-5 swap border border-solid border-neutral bg-white transition-[opacity,transform,background-color,color,border-color] duration-300 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:translate-y-0 translate-y-2 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:opacity-100 opacity-0 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:pointer-events-auto pointer-events-none [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:delay-[var(--delay),var(--delay),0ms,0ms,0ms,0ms] delay-0"><input type="checkbox" class="input-buttons"/><p class="group-has-[input:checked]:hidden text-sm md:text-base font-light text-primary whitespace-nowrap group-hover:md:text-white ">Troca e devolução</p><svg width="16" height="24" stroke-width="16" class="absolute hidden group-has-[input
3278:checked]:block drawer-help-button-order-exchange-return-icon-input"><use href="/sprites.svg?__deco_c=2#Replacement"></use></svg></button><button style="--delay:300ms;" hx-trigger="click" hx-on:click="(function toggleInputs({id:t,exchangeReturn:e,orderStatus:r,helpButtons:i}){const s=t=>document.getElementById(t),n=t=>document.getElementsByClassName(t),c=t=>s(t),o=c(t),a=s(`${t}-button`),d=n(`${t}-icon-input`),h=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!o||0===h.length)return;h.forEach((t=>t.checked=!0));const l=c(e),m=s(`${e}-button`),b=n(`${e}-icon-input`),u=c(r),g=s(`${r}-button`),L=n(`${r}-icon-input`),p=s(i);e!==t&amp;&amp;l&amp;&amp;(l.checked=!1,m&amp;&amp;(m.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m.classList.remove(&quot;btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),b.item(0)?.classList.remove(&quot;text-white&quot;))),r!==t&amp;&amp;u&amp;&amp;(u.checked=!1,g&amp;&amp;(g.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),g.classList.remove(&quot;btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),L.item(0)?.classList.remove(&quot;text-white&quot;))),o.checked=!o.checked,o.checked?(a?.classList.remove(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),a?.classList.add(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),d.item(0)?.classList.add(&quot;md:text-white&quot;)):(a?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),a?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),d.item(0)?.classList.remove(&quot;md:text-white&quot;)),l?.checked||u?.checked||h.forEach((t=>t.checked=!1)),p&amp;&amp;(o.checked?(p.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),p.classList.add(&quot;right-120&quot;)):(p.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),p.classList.remove(&quot;right-120&quot;)))})({&quot;id&quot;:&quot;drawer-help-button-order-status&quot;,&quot;exchangeReturn&quot;:&quot;drawer-help-button-order-exchange-return&quot;,&quot;orderStatus&quot;:&quot;drawer-help-button-order-status&quot;,&quot;helpButtons&quot;:&quot;help-button&quot;})" id="drawer-help-button-order-status-button" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22global%3Afloating%3Aajuda%3AStatus%20do%20pedido%22%7D" data-event-trigger="click" class="relative group has-[input:checked]:w-[56px] has-[input:checked]:justify-center has-[input:checked]:flex has-[input:checked]:items-center h-[56px] min-w-min btn btn-circle btn-primary btn-outline px-5 swap border border-solid border-neutral bg-white transition-[opacity,transform,background-color,color,border-color] duration-300 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:translate-y-0 translate-y-2 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:opacity-100 opacity-0 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:pointer-events-auto pointer-events-none [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:delay-[var(--delay),var(--delay),0ms,0ms,0ms,0ms] delay-0"><input type="checkbox" class="input-buttons"/><p class="group-has-[input:checked]:hidden text-sm md:text-base font-light text-primary whitespace-nowrap group-hover:md:text-white ">Status do pedido</p><svg width="16" height="24" stroke-width="16" class="absolute hidden group-has-[input:checked]:block drawer-help-button-order-status-icon-input"><use href="/sprites.svg?__deco_c=2#Box"></use></svg></button><a style="--delay:200ms;" target="_blank" href="https://api.whatsapp.com/send/?phone=552137337701&amp;text&amp;type=phone_number&amp;app_absent=0" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22global%3Afloating%3Aajuda%3AWhatsapp%22%7D" data-event-trigger="click" class="relative group has-[input
3278:checked]:w-[56px] has-[input:checked]:justify-center has-[input:checked]:flex has-[input:checked]:items-center h-[56px] min-w-min btn btn-circle btn-primary btn-outline px-5 swap border border-solid border-neutral bg-white transition-[opacity,transform,background-color,color,border-color] duration-300 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:translate-y-0 translate-y-2 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:opacity-100 opacity-0 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:pointer-events-auto pointer-events-none [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:delay-[var(--delay),var(--delay),0ms,0ms,0ms,0ms] delay-0"><input type="checkbox" class="input-buttons"/><p class="group-has-[input:checked]:hidden text-sm md:text-base font-light text-primary whitespace-nowrap group-hover:md:text-white">Whatsapp</p><svg width="16" height="24" stroke-width="1" class="absolute hidden group-has-[input:checked]:block"><use href="/sprites.svg?__deco_c=2#WhatsApp"></use></svg></a><a style="--delay:100ms;" target="_blank" href="https://www.farmrio.com.br/fala-farm" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22global%3Afloating%3Aajuda%3AFala%20Farm%22%7D" data-event-trigger="click" class="relative group has-[input:checked]:w-[56px] has-[input:checked]:justify-center has-[input:checked]:flex has-[input:checked]:items-center h-[56px] min-w-min btn btn-circle btn-primary btn-outline px-5 swap border border-solid border-neutral bg-white transition-[opacity,transform,background-color,color,border-color] duration-300 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:translate-y-0 translate-y-2 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:opacity-100 opacity-0 [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:pointer-events-auto pointer-events-none [#help-button:has(#checkbox-buttons-group:checked)_&amp;]:delay-[var(--delay),var(--delay),0ms,0ms,0ms,0ms] delay-0"><input type="checkbox" class="input-buttons"/><p class="group-has-[input:checked]:hidden text-sm md:text-base font-light text-primary whitespace-nowrap group-hover:md:text-white">Fala Farm</p><svg width="16" height="24" stroke-width="1" class="absolute hidden group-has-[input:checked]:block"><use href="/sprites.svg?__deco_c=2#Help"></use></svg></a></div><div class="flex flex-col justify-end items-end"><label aria-label="Botão de Ajuda" class="z-50 mt-2 w-[99px] relative has-[input:checked]:w-[56px] has-[input:checked]:justify-center has-[input:checked]:flex has-[input:checked]:items-center h-[56px] min-w-min btn btn-circle btn-outline btn-primary border border-neutral px-4 swap bg-white transition-all duration-300 group"><input id="check-help" type="checkbox" hx-trigger="click" hx-on:click="(function closeDrawer(e,t,c,n){const s=document.getElementById(e),o=document.getElementById(t),d=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!s||!o||!d.length)return;if(n){const e=document.getElementById(&quot;checkbox-buttons-group&quot;),t=document.getElementById(c);d.some((e=>e.checked))||s?.checked&amp;&amp;t?.checked?t&amp;&amp;e&amp;&amp;(t.checked=!1,e.checked=!1):document?.getElementById(&quot;checkbox-buttons-group&quot;)?.click()}d.forEach((e=>e.checked=!1));const m=document.getElementById(`${e}-button`),r=document.getElementsByClassName(`${e}-icon-input`),i=document.getElementById(`${c}-button`),l=document.getElementsByClassName(`${c}-icon-input`);i?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),i?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),l?.item(0)?.classList.remove(&quot;md:text-white&quot;),m?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),r?.item(0)?.classList.remove(&quot;md:text-white&quot;),s.checked=!1,s?.checked?(o.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.add(&quot;right-120&quot;)):(o.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.remove(&quot;right-120&quot;))})(&quot;
3278drawer-help-button-order-status&quot;, &quot;help-button&quot;, &quot;drawer-help-button-order-exchange-return&quot;, true)" class="right-120"/><p class="group-has-[input:checked]:hidden text-base font-light text-primary whitespace-nowrap group-hover:md:text-white">Ajuda?</p><svg width="14" height="17" stroke-width="16" class="absolute hidden group-has-[input:checked]:block text-primary"><use href="/sprites.svg?__deco_c=2#XMarkFarm"></use></svg></label></div></div><div class="drawer drawer-end"><input id="drawer-help-button-order-status" name="drawer-help-button-order-status" type="checkbox" aria-label="closed drawer" class="drawer-toggle"/><div class="drawer-content"></div><aside data-aside="true" class="drawer-side h-full z-40 overflow-hidden [[data-aside]&amp;_section]:contents"><label hx-on:click="(function closeDrawer(e,t,c,n){const s=document.getElementById(e),o=document.getElementById(t),d=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!s||!o||!d.length)return;if(n){const e=document.getElementById(&quot;checkbox-buttons-group&quot;),t=document.getElementById(c);d.some((e=>e.checked))||s?.checked&amp;&amp;t?.checked?t&amp;&amp;e&amp;&amp;(t.checked=!1,e.checked=!1):document?.getElementById(&quot;checkbox-buttons-group&quot;)?.click()}d.forEach((e=>e.checked=!1));const m=document.getElementById(`${e}-button`),r=document.getElementsByClassName(`${e}-icon-input`),i=document.getElementById(`${c}-button`),l=document.getElementsByClassName(`${c}-icon-input`);i?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),i?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),l?.item(0)?.classList.remove(&quot;md:text-white&quot;),m?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),r?.item(0)?.classList.remove(&quot;md:text-white&quot;),s.checked=!1,s?.checked?(o.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.add(&quot;right-120&quot;)):(o.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.remove(&quot;right-120&quot;))})(&quot;drawer-help-button-order-status&quot;, &quot;help-button&quot;, &quot;drawer-help-button-order-exchange-return&quot;)" class="drawer-overlay"></label><div id="help-button-drawer-container" class="relative h-full flex flex-col bg-white w-110 px-10 pt-10"><div class="flex w-full pt-2 text-primary justify-end"><button type="button" hx-on:click="(function closeDrawer(e,t,c,n){const s=document.getElementById(e),o=document.getElementById(t),d=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!s||!o||!d.length)return;if(n){const e=document.getElementById(&quot;checkbox-buttons-group&quot;),t=document.getElementById(c);d.some((e=>e.checked))||s?.checked&amp;&amp;t?.checked?t&amp;&amp;e&amp;&amp;(t.checked=!1,e.checked=!1):document?.getElementById(&quot;checkbox-buttons-group&quot;)?.click()}d.forEach((e=>e.checked=!1));const m=document.getElementById(`${e}-button`),r=document.getElementsByClassName(`${e}-icon-input`),i=document.getElementById(`${c}-button`),l=document.getElementsByClassName(`${c}-icon-input`);i?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),i?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),l?.item(0)?.classList.remove(&quot;md:text-white&quot;),m?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),r?.item(0)?.classList.remove(&quot;md:text-white&quot;),s.checked=!1,s?.checked?(o.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.add(&quot;right-120&quot;)):(o.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.remove(&quot;right-120&quot;))})(&quot;
3278drawer-help-button-order-status&quot;, &quot;help-button&quot;, &quot;drawer-help-button-order-exchange-return&quot;, false)" class="size-8 flex justify-center items-center"><svg width="15" height="15" stroke-width="16"><use href="/sprites.svg?__deco_c=2#XMarkFarm"></use></svg></button></div><div style="height:calc(100% - 200px);" hx-get="/deco/render?props=%7B%22props%22%3A%7B%22mode%22%3A%22eager%22%7D%2C%22component%22%3A%22%2Fcomponents%2Fui%2Fhelp-elements%2Fdrawer%2FOrderStatus.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881" hx-trigger="intersect" hx-target="this" hx-select="section>*" hx-swap="outerHTML" class="h-full"><p class="text-2xl">seus pedidos</p><div style="height:100%;" class="w-full flex justify-center items-center"><span class="loading loading-spinner"></span></div></div></div></aside></div>
3278<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(e=>{addEventListener("keydown",(d=>{if("Escape"!==d.key&&27!==d.keyCode)return;const n=document.getElementById(e);n&&(n.checked=!1)}))})("drawer-help-button-order-status")</script>
3278<div class="drawer drawer-end"><input id="drawer-help-button-order-exchange-return" name="drawer-help-button-order-exchange-return" type="checkbox" aria-label="closed drawer" class="drawer-toggle"/><div class="drawer-content"></div><aside data-aside="true" class="drawer-side h-full z-40 overflow-hidden [[data-aside]&amp;_section]:contents"><label hx-on:click="(function closeDrawer(e,t,c,n){const s=document.getElementById(e),o=document.getElementById(t),d=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!s||!o||!d.length)return;if(n){const e=document.getElementById(&quot;checkbox-buttons-group&quot;),t=document.getElementById(c);d.some((e=>e.checked))||s?.checked&amp;&amp;t?.checked?t&amp;&amp;e&amp;&amp;(t.checked=!1,e.checked=!1):document?.getElementById(&quot;checkbox-buttons-group&quot;)?.click()}d.forEach((e=>e.checked=!1));const m=document.getElementById(`${e}-button`),r=document.getElementsByClassName(`${e}-icon-input`),i=document.getElementById(`${c}-button`),l=document.getElementsByClassName(`${c}-icon-input`);i?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),i?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),l?.item(0)?.classList.remove(&quot;md:text-white&quot;),m?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),r?.item(0)?.classList.remove(&quot;md:text-white&quot;),s.checked=!1,s?.checked?(o.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.add(&quot;right-120&quot;)):(o.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.remove(&quot;right-120&quot;))})(&quot;drawer-help-button-order-exchange-return&quot;, &quot;help-button&quot;, &quot;drawer-help-button-order-status&quot;)" class="drawer-overlay"></label><div id="help-button-drawer-container" class="relative h-full flex flex-col bg-white w-110 px-10 pt-10"><div class="flex w-full pt-2 text-primary justify-between"><label for="drawer-exchange-select-shop" class="flex justify-center items-center size-10 cursor-pointer [#help-button-drawer-container:has(#drawer-exchange-select-shop:not(:checked))_&amp;]:invisible"><svg width="36" height="36" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><button type="button" hx-on:click="(function closeDrawer(e,t,c,n){const s=document.getElementById(e),o=document.getElementById(t),d=Array.from(document.getElementsByClassName(&quot;input-buttons&quot;));if(!s||!o||!d.length)return;if(n){const e=document.getElementById(&quot;checkbox-buttons-group&quot;),t=document.getElementById(c);d.some((e=>e.checked))||s?.checked&amp;&amp;t?.checked?t&amp;&amp;e&amp;&amp;(t.checked=!1,e.checked=!1):document?.getElementById(&quot;checkbox-buttons-group&quot;)?.click()}d.forEach((e=>e.checked=!1));const m=document.getElementById(`${e}-button`),r=document.getElementsByClassName(`${e}-icon-input`),i=document.getElementById(`${c}-button`),l=document.getElementsByClassName(`${c}-icon-input`);i?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),i?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),l?.item(0)?.classList.remove(&quot;md:text-white&quot;),m?.classList.add(&quot;btn-outline&quot;,&quot;btn&quot;,&quot;bg-white&quot;,&quot;border-neutral&quot;),m?.classList.remove(&quot;md:btn-outline-hover&quot;,&quot;bg-primary&quot;,&quot;border-primary&quot;,&quot;text-white&quot;),r?.item(0)?.classList.remove(&quot;md:text-white&quot;),s.checked=!1,s?.checked?(o.classList.remove(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.add(&quot;right-120&quot;)):(o.classList.add(&quot;right-2&quot;,&quot;md:right-10&quot;),o.classList.remove(&quot;right-120&quot;))})(&quot;drawer-help-button-order-exchange-return&quot;, &quot;help-button&quot;, &quot;
3278drawer-help-button-order-status&quot;, false)" class="size-8 flex justify-center items-center"><svg width="15" height="15" stroke-width="16"><use href="/sprites.svg?__deco_c=2#XMarkFarm"></use></svg></button></div><div class="overflow-auto flex-grow hide-scrollbar"><input type="checkbox" id="drawer-exchange-select-shop" class="peer hidden"/><div class="peer-checked:hidden font-light text-sm leading-4 mt-9"><p class="text-2xl mb-6 text-primary leading-none lg:font-medium">Quero trocar minha compra</p><p class="mb-4 lg:mb-6 text-[#999999]">Você tem até trinta dias para trocar produtos comprados no e-FARM em uma de nossas lojas físicas.</p><p class="mb-4 lg:mb-6 text-[#999999]">Benefício exclusivo nas lojas: se o valor da sua nova compra for maior do que o valor da peça devolvida, você ganha 10%OFF na diferença. lembra de levar a nota fiscal, tá bem?!</p><p class="mb-4 lg:mb-6 text-[#999999]">Mas fica de olho, produtos do bazar, me leva ou produtos entregues por parceiros, marketplace e OFF premium não poderão ser trocados, ok?</p><p class="!mb-0 mb-4 lg:mb-6 text-[#999999]">
3278Somente devolvido no prazo de até 07 dias corridos do recebimento, caso opte por estorno. caso opte por receber créditos, o prazo será de até 14 dias após o recebimento do pedido.</p><label role="button" for="drawer-exchange-select-shop" class="btn btn-primary mt-6 mb-12 w-full font-md text-white max-w-80 lg:max-w-87 font-light">Troca em loja</label><p class="text-2xl mb-6 text-primary leading-none lg:font-medium">Quero devolver minha compra</p><p class="mb-4 lg:mb-6 text-[#999999]">Você pode optar em receber <span class="font-medium">créditos</span>  No site ou app como reembolso da sua devolução. eles são super rápidos e, em até uma semana, ficam disponíveis para uso na sua carteira digital, localizada no perfil.</p><p class="mb-4 lg:mb-6 text-[#999999]">Nesse caso, você tem até 14 dias corridos desde o recebimento do produto para realizar a solicitação. se preferir o estorno, o prazo é de 7 dias corridos, contados a partir da data do recebimento do pedido.</p><p class="!mb-0 mb-4 lg:mb-6 text-[#999999]">Para solicitar a sua devolução  <a href="/_secure/account#/orders" class="underline">clique aqui</a>, faça login e escolha a modalidade de sua preferência.</p><a href="https://farmrio.troque.app.br" target="_blank" rel="noopener noreferrer" class="btn btn-primary mt-6 mb-12 w-full font-md text-white max-w-80 lg:max-w-87 font-light">Devolução no site</a></div><div class="hidden peer-checked:block text-sm text-light leading-4 mt-9 max-w-80 lg:max-w-full w-full mx-auto lg:pr-1.5"><p class="!leading-8 text-2xl mb-6 text-primary leading-none lg:font-medium">Encontre a FARM mais próxima</p><p class="mb-4 lg:mb-6 text-[#999999]">Selecione seu estado e cidade para saber qual é a nossa loja mais próxima de você. lembra que os produtos vendidos por parceiros não podem ser trocados nas nossas lojas.</p><div class="mt-2 mb-8 md:mb-14 px-6 py-3 flex items-center gap-4 lg:gap-5 rounded-lg bg-[#F1FCF9] text-[#23A484]"><svg width="18" height="18" stroke-width="16" class="shrink-0 size-4.5 lg:size-5"><use href="/sprites.svg?__deco_c=2#Info"></use></svg><p>Para trocar seu produto, lembre de pegar a nota fiscal na aba de pedidos</p></div><div class="text-lg lg:text-sm pb-10"><div hx-post="/deco/render?props=%7B%22props%22%3A%7B%22mode%22%3A%22eager%22%7D%2C%22component%22%3A%22%2Fcomponents%2Fui%2Fhelp-elements%2Fselect%2FSelectState.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881" hx-trigger="intersect" hx-target="this" hx-select="section>*" hx-swap="outerHTML" class="relative"><select hx-post="/deco/render?props=%7B%22component%22%3A%22%2Fcomponents%2Fui%2Fhelp-elements%2Fselect%2FSelectCity.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881" hx-disabled-elt="this" hx-target="#shop-city" hx-select="section>*" hx-swap="outerHTML" name="state" class="px-8 py-5 rounded-full w-full border border-neutral h-16 text-primary font-light appearance-none outline-none disabled:pointer-events-none disabled:opacity-50 disabled:bg-neutral"><option selected disabled>selecione um estado</option></select><svg stroke-width="16" class="absolute size-6 md:size-8 right-4 md:right-8 top-1/2 -translate-y-1/2"><use href="/sprites.svg?__deco_c=2#ChevronDown"></use></svg></div><div id="shop-city"><div class="relative mt-5 md:mt-3"><select hx-post="/deco/render?props=%7B%22component%22%3A%22%2Fcomponents%2Fui%2Fhelp-elements%2Fselect%2FCityStores.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881" hx-swap="outerHTML" hx-select="section>*" hx-target="#city-stores" hx-indicator="#city-stores" name="city" disabled class="px-8 py-5 rounded-full w-full border border-neutral h-16 text-primary font-light appearance-none outline-none disabled:pointer-events-none disabled:opacity-50 disabled:bg-neutral"><option selected disabled>selecione uma cidade</option></select><svg stroke-width="16" class="absolute size-6 md:size-8 right-4 md:right-8 top-1/2 -translate-y-1/2"><use href="/sprites.svg?__deco_c=2#ChevronDown"></use></svg></div></div>
3278<script nonce="16c268fd223f430b98c07279b4c2abab">(()=>{function e(){if(!navigator.geolocation)return alert("Seu navegador não suporta Geolocalização."),void 0;const e=document.getElementById("geo-form"),o=document.getElementById("geo-form-button");e&&o&&(o.classList.add("htmx-request"),navigator.geolocation.getCurrentPosition((o=>{e.querySelector('input[name="lat"]').value=o.coords.latitude.toString(),e.querySelector('input[name="lng"]').value=o.coords.longitude.toString(),htmx.trigger(e,"geo-ready")}),(e=>{o.classList.remove("htmx-request");let t="Não foi possível obter sua localização.";e.code===e.PERMISSION_DENIED&&(t="Permissão de localização negada. Por favor, permita o acesso à sua localização."),alert(t)})))}globalThis.document&&document.addEventListener("DOMContentLoaded",(()=>{const o=document.getElementById("geo-form-button");o&&o.addEventListener("click",e)}))})()</script>
3278<form id="geo-form" hx-post="/deco/render?props=%7B%22component%22%3A%22%2Fcomponents%2Fui%2Fhelp-elements%2Fselect%2FCityStores.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881" hx-trigger="geo-ready from:body" hx-target="#city-stores" hx-swap="outerHTML" hx-indicator="#geo-form-button" class="pl-[10px] mb-5 mt-6"><input type="hidden" name="lat"/><input type="hidden" name="lng"/><button id="geo-form-button" type="button" class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" class="h-6 w-6"><path d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="underline cursor-pointer">ache a loja mais próxima</span></button></form><ul id="city-stores" class="border-t border-neutral-200 md:block md:h-48 overflow-y-auto scrollbar-thin mt-5"></ul></div></div></div></div></aside></div>
3278<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(e=>{addEventListener("keydown",(d=>{if("Escape"!==d.key&&27!==d.keyCode)return;const n=document.getElementById(e);n&&(n.checked=!1)}))})("drawer-help-button-order-exchange-return")</script>
3278</div></section><section id="3610934567-0" data-manifest-key="site/sections/Session.tsx"><div hx-trigger="load" hx-post="/deco/render?props=%7B%22minicartProps%22%3A%7B%22productShelf%22%3A%7B%22productsLoader%22%3A%7B%22data%22%3A%7B%22__resolveType%22%3A%22vtex%2Floaders%2FintelligentSearch%2FproductList.ts%22%2C%22props%22%3A%7B%22simulationBehavior%22%3A%22default%22%2C%22collection%22%3A%221791%22%2C%22count%22%3A12%7D%7D%2C%22__resolveType%22%3A%22resolved%22%7D%2C%22hide%22%3Afalse%2C%22products%22%3A%7B%22__resolveType%22%3A%22vtex%2Floaders%2FintelligentSearch%2FproductList.ts%22%2C%22props%22%3A%7B%22simulationBehavior%22%3A%22default%22%2C%22collection%22%3A%221791%22%2C%22count%22%3A12%7D%7D%7D%2C%22alert%22%3A%7B%22bgAlert%22%3A%22%23333333%22%2C%22fontColorAlert%22%3A%22%23ffffff%22%2C%22hideAlert%22%3Afalse%2C%22alert%22%3A%7B%22hoverItem%22%3A%7B%22position%22%3A%22right%22%7D%7D%7D%2C%22emptyCart%22%3A%7B%22title%22%3A%22Sua+mochila+est%C3%A1+vazia%22%2C%22buttonLabel%22%3A%22Escolher+produtos%22%2C%22href%22%3A%22https%3A%2F%2Fwww.farmrio.com.br%2Fnovidades%22%7D%2C%22section%22%3A%7B%22__resolveType%22%3A%22site%2Fsections%2FContent%2FAlertMinicart.tsx%22%2C%22bgAlert%22%3A%22%23ECFB00%22%2C%22hideAlert%22%3Afalse%2C%22fontColorAlert%22%3A%22%2333333%22%2C%22hideOnlyPDP%22%3Afalse%2C%22message%22%3A%22bazar+Etc%3A+chegou+muita+coisa+nova+por+aqui+e+tudo+com+30%25+OFF%21%22%7D%2C%22sectionShelf%22%3A%7B%22productsLoader%22%3A%7B%7D%7D%2C%22partnerModal%22%3A%7B%22partnerButton%22%3A%7B%22title%22%3A%22vendido+por+parceiro+FARM%22%2C%22label%22%3A%22%3Cp%3Esaiba+mais%3C%2Fp%3E%22%2C%22secondaryTitle%22%3A%22produto+vendido+por+parceiro+FARM%22%2C%22text%22%3A%22%3Cp%3E%3Cspan%3Evendido+por+parceiro.+n%C3%A3o+eleg%C3%ADvel+a+promo%C3%A7%C3%B5es.+condi%C3%A7%C3%B5es+de+entrega+e+pagamento+podem+variar.%3C%2Fspan%3E%3C%2Fp%3E%22%2C%22triggerText%22%3A%22%3Cp%3E%3Cu%3Esaiba+mais%3C%2Fu%3E%3C%2Fp%3E%22%7D%2C%22titlePartnerModal%22%3A%7B%22title%22%3A%22Pol%C3%ADticas+parceiras%22%2C%22subtitle%22%3A%22%3Cp%3EEm+produtos+vendidos+por+parceiro%2C+as+condi%C3%A7%C3%B5es+de+entrega+e+pagamento+podem+variar%3C%2Fp%3E%22%7D%2C%22partnerModal%22%3A%5B%7B%22title%22%3A%22Frete%22%2C%22description%22%3A%22%3Cp%3EO+frete+gr%C3%A1tis+a+partir+de+R%24399+com+c%C3%B3digo+de+vendedor*+%C3%A9+v%C3%A1lido+apenas+para+produtos+vendidos+e+entregues+pela+FARM+Rio%2C+n%C3%A3o+sendo+eleg%C3%ADvel+para+itens+vendidos+ou+entregues+por+parceiros.+o+custo+de+envio+pode+sofrer+altera%C3%A7%C3%B5es+de+acordo+com+as+pol%C3%ADticas+de+entrega.+verifique+todos+os+detalhes+direto+na+sua+mochila+antes+de+finalizar+a+compra.%3C%2Fp%3E%22%7D%2C%7B%22title%22%3A%22Troca+e+devolu%C3%A7%C3%A3o%22%2C%22description%22%3A%22%3Cp%3EOs+produtos+dos+parceiros+FARM+n%C3%A3o+podem+ser+trocados+em+loja%2C+nas+compras+feitas+pelo+site+voc%C3%AA+pode+solicitar+apenas+a+devolu%C3%A7%C3%A3o+via+postagem+dos+correios%2C+com+o+prazo+de+at%C3%A9+07+dias+corridos+ap%C3%B3s+o+recebimento.%3C%2Fp%3E%22%7D%2C%7B%22title%22%3A%22Promo%C3%A7%C3%B5es%22%2C%22description%22%3A%22%3Cp%3EOs+produtos+de+parceria+nem+sempre+participam+das+promo%C3%A7%C3%B5es+vigentes+no+site.+fique+de+olho+nas+regras+de+cada+promo%C3%A7%C3%A3o+para+descobrir+se+o+item+que+voc%C3%AA+deseja+%C3%A9+aplic%C3%A1vel+%C3%A0+promo%C3%A7%C3%A3o.%3C%2Fp%3E%22%7D%2C%7B%22title%22%3A%22Forma+de+pagamento+e+parcelamento%22%2C%22description%22%3A%22%3Cp%3ES%C3%B3+%C3%A9+aceito+pix+e+cart%C3%A3o+de+cr%C3%A9dito.+N%C3%A3o+s%C3%A3o+aceitos+pagamento+com+vale+troca+e+GIFTCARD+da+FARM.%3C%2Fp%3E%22%7D%5D%2C%22bottomPartnerModal%22%3A%7B%22title%22%3A%22%3Cp%3Eem+caso+de+d%C3%BAvidas+com+os+pedidos+de+parcerias%2C+voc%C3%AA+pode+entrar+em+contato+com+os+nossos+canais+de+atendimento.+boas+compras%21%3C%2Fp%3E%22%2C%22description%22%3A%22%3Cp%3E%3Ca+target%3D%5C%22_blank%5C%22+rel%3D%5C%22noopener+noreferrer+nofollow%5C%22+href%3D%5C%22http%3A%2F%2Fwa.me%2F552137337701%5C%22%3E%3Cu%3Efalar+no+whatsapp%3C%2Fu%3E%3C%2Fa%3E%3C%2Fp%3E%22%7D%7D%7D%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;
3278renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fflags%2Fmultivariate%2Fsection.ts%22%2C0%2C%22variants%22%2C0%2C%220%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C1%2C%22Minicart%22%5D"></div>
3278<script data-global-scripts="true" nonce="16c268fd223f430b98c07279b4c2abab">var onLoadWishlist = (id, productID)=>globalThis.window.STOREFRONT.WISHLIST.subscribe((sdk)=>{
3279    const button = document.getElementById(id);
3280    const inWishlist = sdk.inWishlist(productID);
3281    button.disabled = false;
3282    button.classList.remove("htmx-request");
3283    button.querySelector("svg")?.setAttribute("fill", inWishlist ? "black" : "none");
3284    if (inWishlist) {
3285      button.removeAttribute("data-event");
3286      button.removeAttribute("data-event-trigger");
3287      button.removeAttribute("data-has-commerce");
3288      button.removeAttribute("data-sent");
3289    }
3290    const p = button.querySelector("p");
3291    if (p) {
3292      p.innerHTML = inWishlist ? "remover da lista de desejos" : "adicionar aos desejos";
3293    }
3294  });
3295var onClickWishlist = (productID, productGroupID)=>{
3296  event?.stopPropagation();
3297  event?.preventDefault();
3298  const button = event?.currentTarget;
3299  const user = globalThis.window.STOREFRONT.USER.getUser();
3300  const sdk = globalThis.window.STOREFRONT.WISHLIST;
3301  const inWishlist = sdk.inWishlist(productID);
3302  if (user?.email) {
3303    button.classList.add("htmx-request");
3304    globalThis.window.STOREFRONT.WISHLIST.toggle(productID, productGroupID);
3305  } else {
3306    globalThis.window.STOREFRONT.WISHLIST.requestLogin();
3307  }
3308  const p = button.querySelector("p");
3309  if (p) {
3310    button.querySelector("svg")?.setAttribute("fill", inWishlist ? "black" : "none");
3311    p.innerHTML = inWishlist ? "remover da lista de desejos" : "adicionar aos desejos";
3312  }
3313};
3314var addToCart = function addToCartGlobal(params) {
3315  event?.preventDefault();
3316  event?.stopPropagation();
3317  const { isPLP, isPDPShelf, isMobile, itemListName, region, itemListId, promotionName, promotionId, creativeName, creativeSlot, isFarmEtc, item: _item, product: _product, seller: _seller, sku: _sku, refId: _refId, etcNotification, isFixedBar, updateAddedSummary = true } = params;
3318  let lastBannerClicked = null;
3319  try {
3320    const stored = localStorage.getItem("lastClickedBanner");
3321    if (stored) {
3322      const parsed = JSON.parse(stored);
3323      // Check if data has expired
3324      if (parsed.expiresAt && parsed.expiresAt > Date.now()) {
3325        lastBannerClicked = parsed;
3326      } else {
3327        // Remove expired data
3328        localStorage.removeItem("lastClickedBanner");
3329      }
3330    }
3331  } catch (_e) {
3332  // Ignore errors (e.g., invalid JSON or localStorage unavailable)
3333  }
3334  if (isFarmEtc && isMobile && etcNotification) {
3335    const { imageURL, name, size, price, listPrice, quantity } = etcNotification;
3336    const addedToCart = document.getElementById("plp-added-to-cart");
3337    if (!addedToCart) {
3338      console.error('Elemento "plp-added-to-cart" não encontrado');
3339      return;
3340    }
3341    if (imageURL && imageURL !== "") {
3342      const image = document.getElementById("plp-added-to-cart-image");
3343      if (!image) {
3344        console.error('Elemento "plp-added-to-cart-image" não encontrado');
3345      } else {
3346        image.src = imageURL;
3347      }
3348    }
3349    if (name && name !== "") {
3350      const nameElement = document.getElementById("plp-added-to-cart-name");
3351      if (!nameElement) {
3352        console.error('Elemento "plp-added-to-cart-name" não encontrado');
3353      } else {
3354        nameElement.textContent = name;
3355      }
3356    }
3357    if (size && size !== "") {
3358      const sizeElement = document.getElementById("plp-added-to-cart-size");
3359      if (!sizeElement) {
3360        console.error('Elemento "plp-added-to-cart-size" não encontrado');
3361      } else {
3362        sizeElement.textContent = size;
3363      }
3364    }
3365    if (price && price !== "") {
3366      const priceElement = document.getElementById("plp-added-to-cart-price");
3367      if (!priceElement) {
3368        console.error('Elemento "plp-added-to-cart-price" não encontrado');
3369        return;
3370      }
3371      priceElement.textContent = price;
3372    }
3373    if (quantity && quantity !== 0) {
3374      const quantityElement = document.getElementById("plp-added-to-cart-quantity");
3375      if (!quantityElement) {
3376        console.error('Elemento "plp-added-to-cart-quantity" não encontrado');
3377      } else {
3378        quantityElement.textContent = quantity.toString();
3379      }
3380    }
3381    if (listPrice && listPrice !== "") {
3382      const listPriceElement = document.getElementById("plp-added-to-cart-list-price");
3383      if (!listPriceElement) {
3384        console.error('Elemento "plp-added-to-cart-list-price" não encontrado');
3385      } else {
3386        listPriceElement.textContent = listPrice;
3387      }
3388    }
3389    addedToCart.click();
3390  }
3391  if (isPLP && !isFarmEtc) {
3392    const button = event?.currentTarget;
3393    const container = button.closest("button[data-cart-item]");
3394    const { item, platformProps } = JSON.parse(decodeURIComponent(container.getAttribute("data-cart-item")));
3395    return globalThis.window.STOREFRONT.CART.addToCart(item, platformProps, isMobile, {
3396      local: region ?? "PDC",
3397      itemListName,
3398      itemListId,
3399      promotionName: lastBannerClicked?.promotion_name || promotionName,
3400      promotionId: lastBannerClicked?.promotion_id || promotionId,
3401      creativeName: lastBannerClicked?.creative_name || creativeName,
3402      creativeSlot: lastBannerClicked?.creative_slot || creativeSlot
3403    }, undefined, params.mobileNotification, _product);
3404  }
3405  if (!isPLP && isPDPShelf && !isFarmEtc) {
3406    const button = event?.currentTarget;
3407    const container = button.closest("button[data-cart-item]");
3408    const { item, platformProps } = JSON.parse(decodeURIComponent(container.getAttribute("data-cart-item")));
3409    return globalThis.window.STOREFRONT.CART.addToCart(item, platformProps, isMobile, {
3410      local: "PDP",
3411      itemListName,
3412      itemListId,
3413      promotionName: lastBannerClicked?.promotion_name || promotionName,
3414      promotionId: lastBannerClicked?.promotion_id || promotionId,
3415      creativeName: lastBannerClicked?.creative_name || creativeName,
3416      creativeSlot: lastBannerClicked?.creative_slot || creativeSlot
3417    }, undefined, params.mobileNotification, _product);
3418  }
3419  const selectedSku = document.querySelector("input[name=sku]:checked");
3420  if (!selectedSku && (!_item || !_refId)) {
3421    const variantSelectorModalCheckbox = document.getElementById(params.variantSelectorModalId);
3422    if (variantSelectorModalCheckbox) {
3423      variantSelectorModalCheckbox.checked = true;
3424    }
3425    const selectSizeWarning = document.getElementById("select-size-warning");
3426    if (selectSizeWarning) {
3427      selectSizeWarning.classList.remove("hidden");
3428    }
3429    return;
3430  }
3431  const item = _item || JSON.parse(selectedSku?.getAttribute("data-item") || "{}");
3432  const product = _product || JSON.parse(selectedSku?.getAttribute("data-product") || "{}");
3433  const refId = _refId || product?.additionalProperty?.find((prop)=>prop.name === "RefId")?.value || "";
3434  const seller = _seller || selectedSku?.getAttribute("data-seller") || "1";
3435  const sku = _sku || selectedSku?.value;
3436  if (params.addedToCartModalId) {
3437    const sellerName = product?.offers?.offers?.find((offer)=>offer.seller === seller)?.sellerName ?? product?.offers?.offers?.[0]?.sellerName;
3438    const addedModalInput = document.getElementById(params.addedToCartModalId);
3439    const modalRoot = addedModalInput?.closest?.(".added-to-cart-teste-modal,.added-to-cart-modal,.added-to-cart-look-modal") ?? document;
3440    const partnerBox = modalRoot.querySelector(".partner-info-box");
3441    if (partnerBox) {
3442      if (sellerName && sellerName !== "FARM") {
3443        partnerBox.classList.remove("hidden");
3444      } else {
3445        partnerBox.classList.add("hidden");
3446      }
3447    }
3448  }
3449  if (updateAddedSummary) {
3450    const addedModalInput = params.addedToCartModalId ? document.getElementById(params.addedToCartModalId) : null;
3451    const summaryRoot = addedModalInput?.closest?.("[data-added-summary-root]") ?? (params.addedToCartModalId ? document.querySelector(`[data-added-summary-root] #${params.addedToCartModalId}`)?.closest?.("[data-added-summary-root]") : null) ?? document;
3452    const addedImage = summaryRoot.querySelector("[data-added-summary='image']");
3453    const addedName = summaryRoot.querySelector("[data-added-summary='name']");
3454    const addedPrice = summaryRoot.querySelector("[data-added-summary='price']");
3455    const addedSku = summaryRoot.querySelector("[data-added-summary='sku']");
3456    const addedSize = item?.size || document.querySelector(`label[for="size-${sku}"]`)?.textContent?.trim() || sku;
3457    const productName = item?.name || product?.isVariantOf?.name || product?.name;
3458    const productPrice = typeof item?.price === "string" ? item.price : formatPrice(product?.offers?.offers?.[0]?.price ?? 0, product?.offers?.priceCurrency);
3459    if (addedImage && (item?.imageUrl || product?.image?.[0]?.url)) {
3460      addedImage.src = item?.imageUrl || product?.image?.[0]?.url || "";
3461    }
3462    if (addedName && productName) {
3463      addedName.textContent = productName;
3464    }
3465    if (addedPrice && productPrice) {
3466      addedPrice.textContent = productPrice;
3467    }
3468    if (addedSku && addedSize) {
3469      addedSku.textContent = addedSize;
3470    }
3471  }
3472  const added = globalThis.window.STOREFRONT.CART.addToCart(item, {
3473    orderItems: [
3474      {
3475        id: sku,
3476        quantity: 1,
3477        seller
3478      }
3479    ]
3480  }, isMobile, {
3481    local: region ?? undefined,
3482    itemListName,
3483    itemListId,
3484    promotionName: lastBannerClicked?.promotion_name || promotionName,
3485    promotionId: lastBannerClicked?.promotion_id || promotionId,
3486    creativeName: lastBannerClicked?.creative_name || creativeName,
3487    creativeSlot: lastBannerClicked?.creative_slot || creativeSlot
3488  }, refId, params.mobileNotification, _product);
3489  if (!params.isMobile) {
3490    const buttonNotifySKU = document.getElementById(`button-notify-${sku}`);
3491    buttonNotifySKU?.click();
3492  }
3493  if (added && params.showModal && params.addedToCartModalId) {
3494    const modal = document.getElementById(params.addedToCartModalId);
3495    if (modal) {
3496      modal.checked = true;
3497    }
3498    const lookModals = document.querySelectorAll('input[id^="look-variant-selector-"], input[id^="look-slider-variant-selector-"]');
3499    lookModals.forEach((input)=>{
3500      input.checked = false;
3501    });
3502  }
3503  // Fixed bar button feedback
3504  if (isFixedBar && added) {
3505    const addToCartButton = event?.currentTarget;
3506    if (addToCartButton) {
3507      const originalText = addToCartButton.textContent;
3508      addToCartButton.textContent = "Produto adicionado";
3509      addToCartButton.disabled = true;
3510      setTimeout(()=>{
3511        addToCartButton.textContent = originalText;
3512        addToCartButton.disabled = false;
3513      }, 2000);
3514    }
3515  }
3516};
3517var hiddenErrorBtnFB = (id)=>{
3518  const spanError = document.getElementById(id);
3519  if (spanError) {
3520    spanError.checked = false;
3521  }
3522};
3523var showErrorBtnFB = (id)=>{
3524  event?.preventDefault();
3525  const spanError = document.getElementById(id);
3526  if (spanError) {
3527    spanError.checked = true;
3528  }
3529};</script>
3529</section><section id="3908055738-0" data-manifest-key="site/sections/Seller/SellerCookie.tsx">
3529<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function onLoad({title:e,message:i,link:n,linkText:o}){e&&i&&n&&o&&globalThis.window.STOREFRONT?.NOTIFICATION?.showMessage(e,i,n,o)})({})</script>
3529</section><section id="2396462607-0" data-manifest-key="site/sections/Content/Alert.tsx"><div data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22creative_slot%22%3A%22tipbar%3A0%3A0%22%2C%22promotion_name%22%3A%22s%C3%B3%20aqui%20voc%C3%AA%20encontra%20looks%20selecionados%20com%20desconto%20EXTRA.%20cupom%20EXTRA10%20pra%20voc%C3%AA!%20%22%2C%22region%22%3A%22header%22%2C%22creative_name%22%3A%22Alert%20Tipbar%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true"><div id="P0-1"><div id="header-alert-close::P0-011129" style="background-color:#ECFB00;transition:top 0.3s ease-in-out;" class="h-10 flex flex-row items-center w-full z-30 top-0 left-0 fixed alert-component"><div style="color:#333333;" class="text-sm font-light flex justify-center items-center w-full mr-5 pl-5"><div class="flex md:flex-row py-2 gap-2 md:w-full md:justify-center md:items-center "><p class="text-xs">só aqui você encontra looks selecionados com desconto EXTRA. cupom EXTRA10 pra você! </p><a href="/produtos/mais-verao" data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22header%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fmais-verao%22%2C%22promotion_name%22%3A%22s%C3%B3%20aqui%20voc%C3%AA%20encontra%20looks%20selecionados%20com%20desconto%20EXTRA.%20cupom%20EXTRA10%20pra%20voc%C3%AA!%20%22%2C%22creative_slot%22%3A%22tipbar%22%2C%22creative_name%22%3A%22Alert%20Tipbar%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true" class="text-xs underline">clica</a></div></div></div></div></div></section><section id="3786382891-0" data-manifest-key="site/sections/Analytics/SiteAnalytics.tsx"><noscript><iframe src="https://sgtm.farmrio.com.br/ns.html?id=GTM-PP9SFNHJ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3529<script defer id="analytics-script" src="data:text/javascript,(()%3D%3E%7BglobalThis.window.DECO.events.subscribe((e%3D%3E%7Bif(globalThis.window.dataLayer%3DglobalThis.window.dataLayer%7C%7C%5B%5D%2Ce%26%26globalThis.window.dataLayer%26%26%22function%22%3D%3Dtypeof%20globalThis.window.dataLayer.push)return%22deco%22%3D%3D%3De.name%3F(globalThis.window.dataLayer.push(%7Bevent%3Ae.name%2Cdeco%3Ae.params%7D)%2Cvoid%200)%3A(!function(e)%7Bconst%20a%3DglobalThis.window%3F.STOREFRONT%3F.AZZAS_TRACKER_WEB%3Bif(!a)return%20console.error(%22%5BDT%5D%20SDK%20de%20tracking%20n%C3%A3o%20encontrado%22)%2Cvoid%200%3Bconst%20o%3Da.availableEvents()%7C%7Cnull%3Bif(Object.values(o).find((a%3D%3Ea%3F.name%3D%3D%3De.name))%7C%7Cconsole.warn(%22%5BDT%5D%3A%20not%20azzas%20tracker%20event%3A%20%22%2Ce.name%7C%7CJSON.stringify(e))%2C%5B%22view_promotion%22%2C%22select_promotion%22%2C%22select_content%22%2C%22search%22%2C%22select_item%22%2C%22view_item%22%2C%22view_item_list%22%2C%22add_to_wishlist%22%2C%22add_to_cart%22%2C%22remove_from_cart%22%2C%22custom_view_cart%22%2C%22search_zipcode%22%2C%22notify_me%22%2C%22refine_results%22%2C%22custom_user_info%22%2C%22grid_size%22%5D.includes(e.name))a.trackEvent(e.name.toUpperCase()%2C%7B...e.params%2Cwindow%3AglobalThis.window%7D)%3Belse%20if(e.hasCommerce)globalThis.window.dataLayer.push(%7Bevent%3Ae.name%2Cecommerce%3Ae.params%7D)%3Belse%7Bconst%7BhasCommerce%3Aa%2C...o%7D%3De%3BglobalThis.window%3F.dataLayer%3F.push(%7B...o%7D)%7D%7D(e)%2Cvoid%200)%7D))%7D)()" nonce="16c268fd223f430b98c07279b4c2abab"></script>
3529</section><section id="3133777178-0" data-manifest-key="site/sections/Content/ModalRoletaPremiada.tsx"></section><section id="525191454-0" data-manifest-key="site/sections/ConsentManagement.tsx">
3529<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="0d29dbec-fc3f-423f-ac63-88a9c616963c" nonce="16c268fd223f430b98c07279b4c2abab"></script>
3529<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(()=>{})()</script>
3529</section><section id="1645792083-0" data-manifest-key="site/sections/Tapume.tsx"></section><section id="3964323672-76" data-manifest-key="site/sections/Theme/Theme.tsx"></section><section id="1177560847-0" data-manifest-key="site/sections/Tracking/Organization.tsx"></section><section id="2731220391-0" data-manifest-key="site/sections/Header/Header.tsx"><header data-header="true" class="transition-[height] duration-300 ease-in-out relative header-desktop"><div data-header-container="true" class="fixed top-0 left-0 w-full z-30 header-container"><div class="bg-base-100 relative w-full"><nav data-scrolled="false" data-navbar="true" class="transition-[height] duration-300 ease-in-out h-16 flex justify-between items-center px-10 xl:px-16 group/navbar"><div class="flex items-center gap-2"><label data-qa-menu-trigger="true" aria-label="open menu" for="sidemenu-drawer" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aabrir-menu%22%7D%7D%7D" data-event-trigger="click" class="size-10 flex items-center justify-center cursor-pointer relative"><svg stroke-width="1" class="w-5 h-4 [body:has(#sidemenu-drawer:checked)_&amp;]:rotate-90 [body:has(#sidemenu-drawer:checked)_&amp;]:opacity-0 transition-all absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"><use href="/sprites.svg?__deco_c=2#Bars3"></use></svg><svg stroke-width="1" class="size-7 opacity-0 rotate-90 [body:has(#sidemenu-drawer:checked)_&amp;]:rotate-180 [body:has(#sidemenu-drawer:checked)_&amp;]:opacity-100 transition-all absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"><use href="/sprites.svg?__deco_c=2#XMark"></use></svg></label><a href="/" aria-label="Farm Rio" class="block w-[142px] [body:has(#sidemenu-drawer:checked)_&amp;]:opacity-0 group-data-[scrolled=false]/navbar:opacity-0 group-data-[scrolled=false]/navbar:pointer-events-none transition-opacity duration-300 ease-in-out" data-current="true" aria-current="page"><img src="https://decoims.com/farmrio/13206080-1314-4ea2-8421-44cc11851e18/logo.svg" width="122" height="25" style="margin-left:0px;margin-right:0px;margin-bottom:0px;" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=122&amp;height=25&amp;quality=high&amp;src=farmrio%2F13206080-1314-4ea2-8421-44cc11851e18%2Flogo.svg 122w, https://decoims.com/image?fit=cover&amp;width=244&amp;height=50&amp;quality=high&amp;src=farmrio%2F13206080-1314-4ea2-8421-44cc11851e18%2Flogo.svg 244w" loading="lazy"/></a></div><div class="justify-end flex mr-[-19px] items-center"><div class="flex items-center text-xs font-thin"><label aria-label="open search" hx-target="#searchbar-desktop" hx-swap="outerHTML" hx-trigger="click once" hx-get="/deco/render?props=%7B%22variant%22%3A%22search-desktop%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%221%22%2C1%2C%22Header+Global+%22%5D" hx-on:click="(function openDesktopSearch(e,t,c){const n=document.getElementById(e);n&amp;&amp;(n.checked=!n.checked);let l,o=null;n?.checked||(l=setInterval((()=>{o=document.querySelector(&quot;.search-input&quot;),o?.focus(),o&amp;&amp;l&amp;&amp;clearInterval(l)}),300));const a=document.getElementById(t);!a||a.children.length>0||globalThis.htmx?.ajax(&quot;GET&quot;,c,{target:`#${t}`,swap:&quot;outerHTML&quot;})})(&quot;searchbar-container-input&quot;, &quot;searchbar-ab-desktop&quot;, &quot;/deco/render?props=%7B%22variant%22%3A%22search-ab-desktop%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%221%22%2C1%2C%22Header+Global+%22%5D&quot;)" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alink%3Abuscar%22%7D%7D%7D" data-event-trigger="click" class="p-2 px-1 pt-1 cursor-pointer pb-[6px]"><svg width="16" height="30" stroke-width="1" class="mr-[11px]"><use href="/sprites.svg?__deco_c=2#MagnifyingGlass"></use></svg></label></div><div class="flex items-center text-xs font-thin"><label id="bly-search-trigger" for="searchbar-container-input" aria-label="open search" hidden class="p-2 px-1 pt-1 cursor-pointer pb-[6px]"><svg width="16" height="30" stroke-width="1" class="mr-[11px]"><use href="/sprites.svg?__deco_c=2#MagnifyingGlass"></use></svg></label></div><div class="flex ml-[5px] flex-col items-end justify-center h-full cursor-pointer group/menu px-1 py-5"><a hx-on:click="window.vtexid.start()" aria-label="Account" hx-on:mouseenter="(e=>{const c=document.getElementById(e);if(c){c.checked=!0;document.querySelector(&quot;.search-input&quot;).value=&quot;&quot;}})(&quot;searchbar-container-input&quot;)" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alogin%3Aentrar%22%7D%7D%7D" data-event-trigger="click" class="flex items-center text-sm font-light relative "><svg width="19" height="16" stroke-width="1" class="text-primary -scale-x-100 mb-[2px]"><use href="/sprites.svg?__deco_c=2#Login"></use></svg><span class="ml-2.5 mr-[5px]">Entrar</span></a></div><label data-qa-cart-icon="true" for="minicart-drawer" aria-label="open cart" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aminicart%3Acarrinho%22%7D%7D%7D" data-event-trigger="click" class="indicator md:py-2 md:p-0 flex items-center md:h-auto md:w-auto relative cursor-pointer"><div class="relative px-0 py-0 md:px-[5px] md:py-[5px]"><span id="P0-3780753" data-qa-cart-count="true" hx-get="/deco/render?props=%7B%22component%22%3A%22%2Fcomponents%2Fheader%2FBagCount.tsx%22%2C%22__resolveType%22%3A%22site%2Fsections%2FHTMX%2FComponent.tsx%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;
3529renderSalt=0&amp;__cb=3902806881" hx-trigger="load once" hx-swap="innerHTML" class="pb-[3px] md:top-[28px] md:right-[27px] indicator-item pt-[2px] right-[6px] top-[18px] transition-all duration-300 sm:right-[0.688rem] text-xxs rounded-full h-3 w-3 sm:h-3.5 sm:w-3.5 badge badge-primary badge-xs text-white">0</span><svg width="32" height="32" stroke-width="1" class="hidden md:block mb-[6px] mr-x"><use href="/sprites.svg?__deco_c=2#Backpack"></use></svg><svg width="23" height="22" stroke-width="1" class="md:hidden block pr-[3px]"><use href="/sprites.svg?__deco_c=2#BackpackMobile"></use></svg></div><div id="notify" style="max-height:calc(100vh - 60px);overscroll-behavior-y:contain;" class=" hidden absolute bg-white top-full -mt-1 right-0 w-[300px] p-5 z-10 custom-arrow border border-neutral opacity-0 fade-in"><button type="button" hx-on:click="(d=>{const t=document.getElementById(d);t&amp;&amp;t.classList.add(&quot;hidden&quot;,&quot;opacity-0&quot;)})(&quot;notify&quot;)" class="absolute top-0 right-0 w-10 h-10 flex items-center justify-center"><svg width="14" height="14" stroke-width="1"><use href="/sprites.svg?__deco_c=2#XMarkFarm"></use></svg></button><div id="product-notify"><ul class="flex"><li data-item-id="333642" class="flex relative flex-nowrap"><a id="image-product-anchor" class="hidden min-w-[50px] w-20 py-[2px] h-[118px] flex-shrink-0 flex-grow-0 basis-auto"><img id="image-product" src alt class="w-full h-full object-contain"/></a><div class="flex flex-wrap items-start pl-4"><div id="name" class="w-[136px] text-sm font-bold flex-shrink-0 flex-grow-0 basis-auto text-ellipsis overflow-hidden leading-5"></div><span id="is-last-item" class="border text-xs rounded-[4px] text-warning-content border-warning-content hidden w-[84px] justify-center">última peça</span><div class="h-[18px] w-full mb-5"><span id="notify-price" class="hidden text-xs text-black font-medium"></span></div><ul class="flex"><li id="size" class=" hidden ml-x w-[22px] h-[22px] text-xs font-semibold rounded-[22px] overflow-hidden flex items-center justify-center bg-white border border-primary text-gray-800"></li><li id="color" class="hidden ml-x w-5 h-5 rounded-[18px] overflow-hidden flex items-center justify-center"><img id="color-image" src alt class="w-[30px] h-[30px]"/></li></ul></div></li></ul></div><div id="product-notify-list" class="hidden"><ul class="flex flex-col gap-4"></ul></div><div id="message-notify"><div id="title-notify" class="text-sm m-1 font-bold hidden"></div><div id="description-notify" class=" text-xs m-1 hidden"></div><a id="link-notify" class="text-sm m-1 underline font-bold hidden"><span id="link-notify-text"></span></a></div></div></label>
3529<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(t=>globalThis.window.STOREFRONT?.CART?.subscribe((e=>{const r=document.getElementById(t),n=e.getCart()?.items;if(!r||!Array.isArray(n))return;const i=n.reduce(((t,e)=>t+e.quantity),0);r.innerText=i.toString()})))("P0-3780753")</script>
3529<div data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aswitch%3Amarca%22%7D%7D%7D" data-event-trigger="click" style="background:linear-gradient(90deg,#DEE35E,#FF9491,#875E8F,#99C9B5,#DEE35E);background-size:3200% 3200%;animation:gradient-etc 4s linear infinite;" class="rounded-full h-[42px] pr-1 group active:pr-0 active:ml-1 transition-all duration-200 mr-3"><div style="background:linear-gradient(90deg,#E6EB7E,#FF9491,#865E90,#99C9B5,#E6EB7E);background-size:3200% 3200%;animation:gradient-etc 4s linear infinite;" class="rounded-full p-px -mt-1 -ml-1 w-fit group-active:mt-0 group-active:-ml-1 transition-all duration-200"><a type="button" aria-label="Ir para Farm ETC" href="https://www.farmrio.com.br/farm-etc" class="bg-white rounded-full h-10 px-5 flex items-center justify-center gap-2 transition-all duration-200"><span class="flex items-center"><svg stroke-width="16" class="h-10 w-[29px]"><use href="/sprites.svg?__deco_c=2#switch-brand-etc-logo"></use></svg></span><span class="flex items-center"><svg width="23" height="23" stroke-width="16"><use href="/sprites.svg?__deco_c=2#switch-brand-arrow-right"></use></svg></span></a></div></div></div></nav><div id="login-snackbar" class="fixed z-10 top-[72px] md:top-[136px] left-1/2 transform -translate-x-1/2 rounded-full px-6 py-1 bg-etc-t2-pure h-14 flex items-center gap-[10px] leading-[16px] text-[13px] hidden"><span class="text-white min-w-[233px] h-full flex items-center">Entre em uma conta para<br/>adicionar peças aos seus desejos!</span><button type="button" hx-on:click="window.vtexid.start()" class="text-white min-w-[68px] h-full flex items-center underline">fazer login</button></div></div></div><img src="https://decoims.com/farmrio/97ef4da2-c2e8-4ba8-bd5d-4a3e247f142f/Layer_1.png" width="405" height="60" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=405&amp;height=60&amp;quality=high&amp;src=farmrio%2F97ef4da2-c2e8-4ba8-bd5d-4a3e247f142f%2FLayer_1.png 405w, https://decoims.com/image?fit=cover&amp;width=810&amp;height=120&amp;quality=high&amp;src=farmrio%2F97ef4da2-c2e8-4ba8-bd5d-4a3e247f142f%2FLayer_1.png 810w" loading="lazy" class="desktop-floating-logo block absolute left-[50px] xl:left-[74px] z-[1] transition-opacity [body:has(#sidemenu-drawer:checked)_&amp;]:opacity-0"/></header><div id="old-menu-ab-desktop"><div><input id="sidemenu-drawer" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="sidemenu-drawer" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip desktop-menu-container left-4 xl:left-[42px] bg-white rounded-3xl w-[400px] fixed max-h-[630px] p-4 h-full flex flex-col"><div class="px-4 py-3"><img src="https://decoims.com/farmrio/13206080-1314-4ea2-8421-44cc11851e18/logo.svg" width="405" height="60" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=405&amp;height=60&amp;quality=high&amp;src=farmrio%2F13206080-1314-4ea2-8421-44cc11851e18%2Flogo.svg 405w, https://decoims.com/image?fit=cover&amp;width=810&amp;height=120&amp;quality=high&amp;src=farmrio%2F13206080-1314-4ea2-8421-44cc11851e18%2Flogo.svg 810w" loading="lazy"/></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip mt-3 relative flex-grow h-[60%]"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atudo%20com%2025%25%20off%22%7D%7D%7D" data-event-trigger="click" href="/produtos-promo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tudo com 25% OFF</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%22%7D%7D%7D" data-event-trigger="click" for="P0-52014
352917" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Novidades</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-5201417" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-5201417" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-5201417" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Novidades</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/novidades" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%3Anuvem%20de%20algod%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/produtos/novo-drop" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Nuvem de algodão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%3Acuradoria%20farm%22%7D%7D%7D" data-event-trigger="click" href="/produtos/curadoria-farm" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Curadoria FARM</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%3Aas%20cariocas%22%7D%7D%7D" data-event-trigger="click" href="/cariocas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">As Cariocas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anovidades%3At%C3%A1%20na%20vitrine%22%7D%7D%7D" data-event-trigger="click" href="/ta-na-vitrine" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tá na vitrine</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%22%7D%7D%7D" data-event-trigger="click" for="P0-650569" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Roupas</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-650569" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-650569" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-650569" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Roupas</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Avestidos%22%7D%7D%7D" data-event-trigger="click" for="P0-23907709" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestidos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-23907709" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-23907709" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-23907709" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Vestidos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Alongo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-longo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Longo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Acurto%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-curto" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Curto</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Amidi%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-midi" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Midi</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Aliso%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-liso" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Liso</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Avestidos%3Acom%20manga%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-com-manga" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Com manga</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3At-shirts%22%7D%7D%7D" data-event-trigger="click" href="/produtos/t-shirt" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">T-shirts</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Ablusas%22%7D%7D%7D" data-event-trigger="click" for="P0-25304016" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Blusas</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-25304016" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-25304016" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-25304016" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Blusas</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/blusa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Abata%22%7D%7D%7D" data-event-trigger="click" href="/produtos/bata" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bata</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Aregata%22%7D%7D%7D" data-event-trigger="click" href="/produtos/regata" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Regata</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Acamisa%22%7D%7D%7D" data-event-trigger="click" href="/produtos/camisa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Camisa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Atop%22%7D%7D%7D" data-event-trigger="click" href="/produtos/top" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Top</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Amanga%20longa%22%7D%7D%7D" data-event-trigger="click" href="/produtos/blusa-manga-longa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Manga longa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Acolete%22%7D%7D%7D" data-event-trigger="click" href="/produtos/coletes" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Colete</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Akimono%22%7D%7D%7D" data-event-trigger="click" href="/produtos/kimono" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Kimono</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3At%C3%BAnica%22%7D%7D%7D" data-event-trigger="click" href="/produtos/tunicas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Túnica</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ablusas%3Abody%22%7D%7D%7D" data-event-trigger="click" href="/produtos/body" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Body</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Acasacos%22%7D%7D%7D" data-event-trigger="click" for="P0-26918676" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Casacos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-26918676" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-26918676" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-26918676" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Casacos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/casaco" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Apelinho%22%7D%7D%7D" data-event-trigger="click" href="/produtos/pelinhos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pelinho</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Atricot%22%7D%7D%7D" data-event-trigger="click" href="/produtos/casaco-tricot" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tricot</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Ajaqueta%22%7D%7D%7D" data-event-trigger="click" href="/produtos/jaquetas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jaqueta</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Acardigan%22%7D%7D%7D" data-event-trigger="click" href="/produtos/cardigan" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Cardigan</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acasacos%3Amoletom%22%7D%7D%7D" data-event-trigger="click" href="/produtos/moletom" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Moletom</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Asaias%22%7D%7D%7D" data-event-trigger="click" for="P0-27466628" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Saias</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-27466628" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-27466628" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-27466628" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Saias</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asaias%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/saia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asaias%3Alonga%22%7D%7D%7D" data-event-trigger="click" href="/produtos/saia-longa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Longa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asaias%3Acurta%22%7D%7D%7D" data-event-trigger="click" href="/produtos/saia-curta" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Curta</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asaias%3Amidi%22%7D%7D%7D" data-event-trigger="click" href="/produtos/saia-midi" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Midi</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Acal%C3%A7as%22%7D%7D%7D" data-event-trigger="click" for="P0-28611654" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calças</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-28611654" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-28611654" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-28611654" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Calças</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input
3529:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Aestampada%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-estampada" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Estampada</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Apantalona%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-pantalona" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pantalona</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Ajeans%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-jeans" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jeans</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Aaladim%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-aladim" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Aladim</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Acapri%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-capri" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Capri</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7as%3Aalfaiataria%20%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calca-alfaiataria" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Alfaiataria </span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Ashorts%22%7D%7D%7D" data-event-trigger="click" for="P0-29479330" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Shorts</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-29479330" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-29479330" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-29479330" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Shorts</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/short" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Aestampado%22%7D%7D%7D" data-event-trigger="click" href="/produtos/short-estampado" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Estampado</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Ajeans%22%7D%7D%7D" data-event-trigger="click" href="/produtos/short-jeans" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jeans</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Abermuda%22%7D%7D%7D" data-event-trigger="click" href="/produtos/bermuda" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bermuda</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Ashort%20saia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/short-saia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Short saia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ashorts%3Aalfaiataria%22%7D%7D%7D" data-event-trigger="click" href="/produtos/short-alfaiataria" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Alfaiataria</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Aconjuntos%22%7D%7D%7D" data-event-trigger="click" href="/produtos/conjuntos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Conjuntos</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Alisos%22%7D%7D%7D" data-event-trigger="click" for="P0-31291869" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lisos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-31291869" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-31291869" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-31291869" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Lisos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/lisos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Avestido%22%7D%7D%7D" data-event-trigger="click" href="/produtos/vestido-liso" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestido</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Ablusa%22%7D%7D%7D" data-event-trigger="click" href="/produtos/partes-de-cima-lisas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Blusa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Apartes%20de%20baixo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/partes-de-baixo-lisas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Partes de baixo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Acasaco%22%7D%7D%7D" data-event-trigger="click" href="/produtos/casaco-liso" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Casaco</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alisos%3Amacac%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/produtos/macacao-liso" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Macacão</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Ajeans%22%7D%7D%7D" data-event-trigger="click" href="/produtos/jeans-refarm" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jeans</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Amacac%C3%A3o%22%7D%7D%7D" data-event-trigger="click" for="P0-33894491" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Macacão</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-33894491" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-33894491" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-33894491" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Macacão</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Amacac%C3%A3o%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/macacao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Amacac%C3%A3o%3Alongo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/macacao-longo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Longo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Amacac%C3%A3o%3Acurto%22%7D%7D%7D" data-event-trigger="click" href="/produtos/macaquinho" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Curto</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Apraia%22%7D%7D%7D" data-event-trigger="click" for="P0-34972017" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-34972017" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-34972017" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-34972017" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Praia</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apraia%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apraia%3Abiqu%C3%ADni%22%7D%7D%7D" data-event-trigger="click" href="/produtos/praia/biquinis" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Biquíni</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apraia%3Amai%C3%B4%22%7D%7D%7D" data-event-trigger="click" href="/produtos/praia/maios" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Maiô</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apraia%3Asa%C3%ADda%20de%20praia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/roupas-de-praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Saída de praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apraia%3A
3529canga%22%7D%7D%7D" data-event-trigger="click" href="/produtos/praia/cangas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Canga</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Atricot%22%7D%7D%7D" data-event-trigger="click" href="/produtos/tricot" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tricot</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%22%7D%7D%7D" data-event-trigger="click" for="P0-7370341" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bazar </span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-7370341" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-7370341" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-7370341" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Bazar </p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/bazar" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3App%22%7D%7D%7D" data-event-trigger="click" href="/bazar/tamanho-pp" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">PP</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Ap%22%7D%7D%7D" data-event-trigger="click" href="/bazar/tamanho-p" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">P</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Am%22%7D%7D%7D" data-event-trigger="click" href="/bazar/tamanho-m" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">M</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Ag%22%7D%7D%7D" data-event-trigger="click" href="/bazar/tamanho-g" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">G</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Agg%22%7D%7D%7D" data-event-trigger="click" href="/bazar/tamanho-gg" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">
3529GG</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abazar%20%3Avestidos%22%7D%7D%7D" data-event-trigger="click" href="/bazar/vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestidos</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%22%7D%7D%7D" data-event-trigger="click" for="P0-8165140" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">FARM Etc</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-8165140" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-8165140" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-8165140" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">FARM Etc</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ver-tudo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Abazar%20%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/bazar" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bazar </span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Aprodutos%22%7D%7D%7D" data-event-trigger="click" for="P0-98428272" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Produtos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-98428272" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-98428272" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input
3529:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-98428272" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Produtos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ver-tudo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acopo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/copo-termico" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Copo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Agarrafa%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/garrafa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Garrafa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Abolsa%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/bolsa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bolsa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Amochila%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/mochila" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mochila</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Achaveiro%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/chaveiro" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Chaveiro</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Apra%20cabelo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/para-cabelo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pra cabelo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aalmofada%20de%20viagem%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/almofada-v
3529iagem" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Almofada de viagem</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Abike%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/lev" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bike</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aboia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/boia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Boia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Abola%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/bola" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bola</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Abon%C3%A9%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/bone" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Boné</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acaderno%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/caderno" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Caderno</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acaixa%20de%20metal%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/caixa-de-metal" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Caixa de metal</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acaixinha%20de%20som%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/caixinha-de-som" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Caixinha de som</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acamping%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/camping" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Camping</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acanga%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/canga" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Canga</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acart%C3%A3o%20postal%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/cartao-postal" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Cartão postal</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acarteira%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/carteira" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Carteira</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acooler%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/cooler" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Cooler</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Acorda%20de%20celular%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/corda-celular" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Corda de celular</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aespelho%20de%20bolsa%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/espelho" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Espelho de bolsa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aestojo%20%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estojo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Estojo </span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Afone%20e%20headphone%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/fone-de-ouvido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Fone e headphone</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Afrescobol%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/frescobol" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Frescobol</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Alancheira%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/lancheira" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lancheira</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Alen%C3%A7o%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/lenco" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lenço</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Amala%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/mala" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mala</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Ameia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/meia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Meia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Anecessaire%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/necessaire" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Necessaire</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3A%C3%B3culos%20de%20sol%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/zerezes" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Óculos de sol</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Apin%20e%20patch%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/pin-e-patch" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pin e patch</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aplanner%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/planner" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Planner</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Apochete%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/pochete" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pochete</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aporta%20incenso%20e%20incens%C3%A1rio%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/incensario" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Porta incenso e incensário</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Aporta%20isqueiro%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/porta-isqueiro" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Porta isqueiro</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Asabonete%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/sabonete" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Sabonete</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Askate%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/skate" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Skate</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Asling%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/sling" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Sling</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Atoalha%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/toalha" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Toalha</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Atravesseiro%20%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/trav
3529esseiro" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Travesseiro </span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%3Avela%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/vela" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vela</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Aroupas%22%7D%7D%7D" data-event-trigger="click" for="P0-99650717" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Roupas</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-99650717" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-99650717" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-99650717" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Roupas</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/roupas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Aconjunto%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/conjuntos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Conjunto</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Apartes%20de%20cima%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/partes-de-cima" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Partes de cima</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Apartes%20de%20baixo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/partes-de-baixo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Partes de baixo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Acasacos%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/casaco" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Casacos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/biquini-canga" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aroupas%3Ape%C3%A7a%20%C3%BAnica%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Peça única</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Acollabs%22%7D%7D%7D" data-event-trigger="click" for="P0-100791379" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Collabs</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-100791379" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-100791379" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-100791379" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Collabs</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/parcerias" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Arip%20curl%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/rip-curl" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Rip Curl</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Abic%22%7D%7D%7D" data-event-trigger="click" href="/conheca-bic" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bic</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Amatte%20le%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/matte-leao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Matte Leão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Acorona%22%7D%7D%7D" data-event-trigger="click" href="/produtos/corona" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Corona</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Azee%20dog%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/zeedog" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Zee dog</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Alev%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/lev" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">LEV</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Aem%20alta%22%7D%7D%7D" data-event-trigger="click" for="P0-101368039" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Em alta</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-101368039" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-101368039" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-101368039" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Em alta</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Ablusas%2C%20t-shirts%20e%20%2B%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/partes-de-cima" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Blusas, t-shirts e +</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Acopos%20e%20garrafas%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/garrafas-e-copos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Copos e garrafas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Amais%20vendidos%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/mais-vendidos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mais vendidos</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Apor%20estampa%22%7D%7D%7D" data-event-trigger="click" for="P0-102739028" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Por estampa</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-102739028" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-102739028" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-102739028" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Por estampa</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apor%20estampa%3Arelevo%20carioca%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estampa-relevo-carioca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Relevo Carioca</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apor%20estampa%3Apedra%20da%20g%C3%A1vea%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estampa-pedra-da-gavea" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pedra da Gávea</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apor%20estampa%3Amundo%20azul%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estampa-mundo-azul" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mundo Azul</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apor%20estampa%3Axadrez%20multi%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estampa-xadrez-multi" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Xadrez Multi</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apor%20estampa%3Aon%C3%A7a%20bandana%20%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/estampa-onca-bandana" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Onça Bandana </span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Alifestyle%22%7D%7D%7D" data-event-trigger="click" for="P0-103201767" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lifestyle</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-103201767" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-103201767" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-103201767" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Lifestyle</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Acamping%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/camping" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Camping</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Aestudante%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/volta-as-aulas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Estudante</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Aessenciais%20do%20dia%20a%20dia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/essenciais-do-dia-a-dia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Essenciais do dia a dia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Acolecion%C3%A1veis%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/colecionaveis" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Colecionáveis</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Aesporte%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/esporte" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Esporte</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Aviagem%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/viagem" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Viagem</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Abem-estar%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/bem-estar" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bem-estar</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alifestyle%3Aurbano%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/urbano" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Urbano</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Atem%20de%20tudo%22%7D%7D%7D" data-event-trigger="click" for="P0-104628483" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tem de tudo</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-104628483" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-104628483" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-104628483" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Tem de tudo</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ver-tudo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Aetc%20e%20tal%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/etc-e-tal" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Etc e tal</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Apra%20levar%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/mochilas-bolsas-carteiras" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pra levar</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Aviagem%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/viagem" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Viagem</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3At%C3%A9rmicos%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/termicos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Térmicos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Apapelaria%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/papelaria" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Papelaria</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Adecora%C3%A7%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/decoracao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Decoração</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atem%20de%20tudo%3Aesporte%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/esporte" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Esporte</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Afarm%20etc%3Apresentes%22%7D%7D%7D" data-event-trigger="click" for="P0-105279322" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Presentes</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-105279322" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-105279322" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-105279322" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Presentes</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/presentes-etc-ver-tudo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Aat%C3%A9%20r%2450%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ate-50" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Até R$50</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Aat%C3%A9%20r%24100%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ate-100" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Até R$100</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Aat%C3%A9%20r%24200%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ate-200" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Até R$200</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Aat%C3%A9%20r%24300%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/ate-300" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Até R$300</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Acolecion%C3%A1veis%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/colecionaveis" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Colecionáveis</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Apresentes%3Acl%C3%A1ssicos%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/presentes-classicos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Clássicos</span></span></a></li></ul></div></div></div></div></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%22%7D%7D%7D" data-event-trigger="click" for="P0-9106023" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Collabs</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div>
3529<input id="P0-9106023" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-9106023" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-9106023" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Collabs</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/parcerias" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Astanley%201913%22%7D%7D%7D" data-event-trigger="click" href="/produtos/stanley" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Stanley 1913</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Arip%20curl%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/rip-curl" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Rip Curl</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Abic%22%7D%7D%7D" data-event-trigger="click" href="/conheca-bic" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bic</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Ahavaianas%22%7D%7D%7D" data-event-trigger="click" href="/produtos/havaianas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Havaianas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Aadidas%22%7D%7D%7D" data-event-trigger="click" href="/produtos/adidas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">adidas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Amatte%20le%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/matte-leao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Matte Leão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Acorona%22%7D%7D%7D" data-event-trigger="click" href="/produtos/corona" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Corona</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Azerezes%22%7D%7D%7D" data-event-trigger="click" href="/farm-etc/zerezes" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Zerezes</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acollabs%3Ayawanawa%20%22%7D%7D%7D" data-event-trigger="click" href="/produtos/yawanawa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Yawanawa </span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%22%7D%7D%7D" data-event-trigger="click" for="P0-1051285" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Linhas</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-1051285" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-1051285" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-1051285" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Linhas</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Aartesanais%22%7D%7D%7D" data-event-trigger="click" href="/produtos/artesanais" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Artesanais</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Alisos%22%7D%7D%7D" data-event-trigger="click" href="/produtos/lisos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lisos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Are-farm%20jeans%22%7D%7D%7D" data-event-trigger="click" href="/produtos/jeans-refarm" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Re-farm jeans</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Aocasi%C3%B5es%20especiais%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ocasioes-especiais" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ocasiões especiais</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Aquero%22%7D%7D%7D" data-event-trigger="click" href="/linhas/quero" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Quero</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Aachadinhos%22%7D%7D%7D" data-event-trigger="click" href="/produtos/achadinhos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Achadinhos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Amesa%20posta%22%7D%7D%7D" data-event-trigger="click" href="/produtos/mesa-posta" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mesa posta</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Afantasia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/fantasias" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Fantasia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Ame%20leva!%22%7D%7D%7D" data-event-trigger="click" href="/linhas/me-leva" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Me leva!</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Arespons%C3%A1veis%22%7D%7D%7D" data-event-trigger="click" href="/produtos/responsaveis" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Responsáveis</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Aglobais%22%7D%7D%7D" data-event-trigger="click" href="/produtos/farm-global" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Globais</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Apra%20sua%20casa%22%7D%7D%7D" data-event-trigger="click" href="/pra-sua-casa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Pra sua casa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Alinhas%3Afarm%20futura%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/teen" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Farm futura</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%22%7D%7D%7D" data-event-trigger="click" for="P0-11412683" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Em alta</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-11412683" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-11412683" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-11412683" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Em alta</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Atend%C3%AAncias%22%7D%7D%7D" data-event-trigger="click" for="P0-219429237" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tendências</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-219429237" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-219429237" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-219429237" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Tendências</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atend%C3%AAncias%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/tendencias" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atend%C3%AAncias%3Atule%22%7D%7D%7D" data-event-trigger="click" href="/produtos/tule" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tule</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atend%C3%AAncias%3Arenda%22%7D%7D%7D" data-event-trigger="click" href="/produtos/renda" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Renda</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Atend%C3%AAncias%3Anovo%20navy%22%7D%7D%7D" data-event-trigger="click" href="/produtos/navy" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Novo navy</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Amais%20vendidos%22%7D%7D%7D" data-event-trigger="click" href="/mais-vendidos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mais vendidos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aem%20alta%3Alooks%20pro%20trabalho%22%7D%7D%7D" data-event-trigger="click" href="/produtos/looks-pra-trabalho" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Looks pro trabalho</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%22%7D%7D%7D" data-event-trigger="click" for="P0-12649183" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calçados</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-12649183" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-12649183" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-12649183" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Calçados</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ape" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%3Asand%C3%A1lia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ape-sandalia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Sandália</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%3Achinelo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ape-chinelo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Chinelo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%3Arasteira%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ape-rasteira" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Rasteira</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acal%C3%A7ados%3Ajelly%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ape-jelly" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jelly</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%22%7D%7D%7D" data-event-trigger="click" for="P0-13359606" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Acessórios</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-13359606" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-13359606" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-13359606" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Acessórios</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/produtos/acessorios" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Abolsa%22%7D%7D%7D" data-event-trigger="click" href="/produtos/acessorios/bolsas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bolsa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Adeu%20praia%22%7D%7D%7D" data-event-trigger="click" href="/produtos/acessorios-praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Deu praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Acal%C3%A7ados%22%7D%7D%7D" data-event-trigger="click" href="/produtos/calcados" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calçados</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Alen%C3%A7o%20%22%7D%7D%7D" data-event-trigger="click" href="/produtos/lencos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lenço </span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Agarrafa%22%7D%7D%7D" data-event-trigger="click" href="/produtos/acessorios/garrafas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Garrafa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Acopo%20t%C3%A9rmico%22%7D%7D%7D" data-event-trigger="click" href="/produtos/ace
3529ssorios/copos-termicos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Copo térmico</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Aachadinhos%22%7D%7D%7D" data-event-trigger="click" href="/produtos/achadinhos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Achadinhos</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%22%7D%7D%7D" data-event-trigger="click" for="P0-14860666" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Infantil &amp; teen </span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-14860666" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-14860666" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-14860666" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Infantil &amp; teen </p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/verao-27" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Aver%C3%A3o%2027%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/verao-27" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Verão 27</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Abazar%20%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/bazar" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bazar </span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3At%C3%A1%20na%20vitrine%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/ta-na-vitrine" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Tá na vitrine</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Abeb%C3%AAs%22%7D%7D%7D" data-event-trigger="click" for="P0-243858689" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bebês</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-243858689" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-243858689" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-243858689" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Bebês</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abeb%C3%AAs%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/bebe" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abeb%C3%AAs%3Avestido%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/bebe-vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestido</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abeb%C3%AAs%3Amacac%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/bebe-macacao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Macacão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Abeb%C3%AAs%3Acal%C3%A7a%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/bebe-calca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calça</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Ameninas%22%7D%7D%7D" data-event-trigger="click" for="P0-244733393" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Meninas</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-244733393" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-244733393" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-244733393" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Meninas</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input
3529:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Avestido%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestido</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Amacac%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-macacao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Macacão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Ablusa%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-blusa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Blusa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Asaia%20e%20short%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-saia-short" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Saia e short</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Acal%C3%A7a%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-calca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calça</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Acasaco%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-casaco" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Casaco</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Afantasia%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-fantasia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Fantasia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninas%3Aacess%C3%B3rio%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninas-acessorios" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Acessório</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Ameninos%22%7D%7D%7D" data-event-trigger="click" for="P0-245220782" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Meninos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-245220782" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-245220782" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-245220782" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Meninos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninos%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninos%3Acamiseta%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninos-camiseta" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Camiseta</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninos%3Acamisa%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninos-camisa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Camisa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninos%3Abermuda%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninos-bermuda" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Bermuda</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ameninos%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/meninos-praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Ateen%20(8%20a%2014%20anos)%22%7D%7D%7D" data-event-trigger="click" for="P0-246948109" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Teen (8 a 14 anos)</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-246948109" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-246948109" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-246948109" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Teen (8 a 14 anos)</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Avestido%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-vestido" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Vestido</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Amacac%C3%A3o%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-macacao" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Macacão</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Ablusa%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-blusa-bata-tshirt" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Blusa</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Ashort%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-short" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Short</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Asaia%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-saia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Saia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Acal%C3%A7a%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-calca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Calça</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Acasaco%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-casaco" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Casaco</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Ajeans%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-jeans" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jeans</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Apraia%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-praia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Praia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ateen%20(8%20a%2014%20anos)%3Aacess%C3%B3rio%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/farmfutura-acessorios" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Acessório</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Ainfantil%20%26%20teen%20%3Aacess%C3%B3rios%22%7D%7D%7D" data-event-trigger="click" for="P0-247823387" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Acessórios</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-247823387" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-247823387" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-247823387" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Acessórios</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Aver%20tudo%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/acessorio?O=OrderByReleaseDateDESC" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Ver tudo</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Apapelaria%20%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/fabula-cicero" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Papelaria </span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aacess%C3%B3rios%3Azumzum%22%7D%7D%7D" data-event-trigger="click" href="/fabula-e-bento/zumzum" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Zumzum</span></span></a></li></ul></div></div></div></div></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asustentabilidade%22%7D%7D%7D" data-event-trigger="click" for="P0-15697317" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Sustentabilidade</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-15697317" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-15697317" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-15697317" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Sustentabilidade</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%22%7D%7D%7D" data-event-trigger="click" for="P0-281512014" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Nosso compromisso</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-281512014" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-281512014" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-281512014" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Nosso compromisso</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Afarm%20do%20futuro%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Farm do futuro</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Arelat%C3%B3rio%202024%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/relatorio-24" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Relatório 2024</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Asomos%20selo%20b%22%7D%7D%7D" data-event-trigger="click" href="/selo-b" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Somos Selo B</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Agente%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/gente" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Gente</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Acultura%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/cultura" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Cultura</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Anatureza%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/natureza" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Natureza</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3A
3529circularidade%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/circularidade" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Circularidade</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Anosso%20compromisso%3Atranspar%C3%AAncia%22%7D%7D%7D" data-event-trigger="click" href="/transparencia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Transparência</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asustentabilidade%3Aprojetos%22%7D%7D%7D" data-event-trigger="click" for="P0-282258458" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Projetos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-282258458" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-282258458" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-282258458" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Projetos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Abuena%20gente%22%7D%7D%7D" data-event-trigger="click" href="/buena-gente" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Buena Gente</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Aamazonikas%22%7D%7D%7D" data-event-trigger="click" href="/amazonikas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Amazonikas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Acora%C3%A7%C3%A3o%20da%20floresta%22%7D%7D%7D" data-event-trigger="click" href="/coracao-da-floresta" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Coração da floresta</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Are-farm%20cria%22%7D%7D%7D" data-event-trigger="click" href="/re-farm-cria" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Re-Farm cria</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Amil%20%C3%A1rvores%20por%20dia%22%7D%7D%7D" data-event-trigger="click" href="/sustentabilidade/mil-arvores-por-dia" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Mil árvores por dia</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Ayawanawa%22%7D%7D%7D" data-event-trigger="click" href="/yawanawa" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Yawanawa</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asustentabilidade%3Aprodutos%20%2B%20respons%C3%A1veis%22%7D%7D%7D" data-event-trigger="click" for="P0-283232085" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Produtos + responsáveis</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-283232085" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-283232085" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-283232085" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Produtos + responsáveis</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%20%2B%20respons%C3%A1veis%3Aroupas%22%7D%7D%7D" data-event-trigger="click" href="/roupas-responsaveis" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Roupas</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprodutos%20%2B%20respons%C3%A1veis%3Ajeans%22%7D%7D%7D" data-event-trigger="click" href="/produtos/jeans-refarm" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Jeans</span></span></a></li></ul></div></div></div></div></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%22%7D%7D%7D" data-event-trigger="click" for="P0-165989" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Sobre a FARM</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-165989" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-165989" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-165989" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Sobre a FARM</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Acheirinho%20farm%20rio%22%7D%7D%7D" data-event-trigger="click" href="/cheirinho-farm-rio" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Cheirinho FARM Rio</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Aas%20cariocas%22%7D%7D%7D" data-event-trigger="click" href="/cariocas" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">AS CARIOCAS</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Aapp%20farm%20rio%22%7D%7D%7D" data-event-trigger="click" href="/app-farm" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">App FARM Rio</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Alojix%22%7D%7D%7D" data-event-trigger="click" href="/lojix" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Lojix</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Ado%20brasil%20pro%20mundo%22%7D%7D%7D" data-event-trigger="click" href="/do-brasil-pro-mundo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Do Brasil pro mundo</span></span></a></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Aprojetos%22%7D%7D%7D" data-event-trigger="click" for="P0-305478179" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Projetos</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-305478179" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-305478179" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:
3529pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-305478179" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Projetos</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Acarnaval%20carioca%22%7D%7D%7D" data-event-trigger="click" href="/saiba-mais-carnaval-carioca" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">CARNAVAL CARIOCA</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Aadidas%20%3C3%20farm%3A%2010%20anos%22%7D%7D%7D" data-event-trigger="click" href="/parcerias/adidas-10-anos" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Adidas &lt;3 FARM: 10 anos</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Aprojetos%3Aadidas%20%3C3%20flamengo%22%7D%7D%7D" data-event-trigger="click" href="/parcerias/adidas-flamengo" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Adidas &lt;3 Flamengo</span></span></a></li></ul></div></div></div></div></li><li class="px-6 h-15"><label data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Asobre%20a%20farm%3Acole%C3%A7%C3%B5es%22%7D%7D%7D" data-event-trigger="click" for="P0-306281731" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Coleções</span></span><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></label><div><input id="P0-306281731" type="checkbox" class="hidden peer"/><label aria-label="Fechar menu" for="P0-306281731" class="fixed inset-0 cursor-pointer pointer-events-none peer-checked:pointer-events-auto z-50"></label><div id="desktop-menu-container" class="opacity-0 pointer-events-none peer-checked:opacity-100 peer-checked:pointer-events-auto transition-opacity duration-300 ease-in-out z-[51] overscroll-contain has-[input:checked]:overflow-y-clip absolute inset-0 overflow-y-auto overscroll-contain bg-white"><div class="flex flex-col relative h-full"><div class="p-6 flex w-full items-center gap-2"><label for="P0-306281731" class="flex justify-center items-center rounded-full border border-etc-n1-medium size-8 cursor-pointer"><svg width="24" height="24" stroke-width="1"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></label><p class="text-[19px]">Coleções</p></div><div class="flex flex-col bg-white overscroll-contain overflow-y-auto has-[input:checked]:overflow-y-clip"><ul><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acole%C3%A7%C3%B5es%3Aver%C3%A3o%2027%22%7D%7D%7D" data-event-trigger="click" href="/verao-27" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Verão 27</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acole%C3%A7%C3%B5es%3Aalto%20inverno%2026%22%7D%7D%7D" data-event-trigger="click" href="/alto-inverno-26" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Alto Inverno 26</span></span></a></li><li class="px-6 h-15"><a data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22menu%3Aheader%3Acole%C3%A7%C3%B5es%3Ainverno%2026%22%7D%7D%7D" data-event-trigger="click" href="/inverno-26" class="flex justify-between items-center h-full text-[17px] cursor-pointer border-b border-etc-n1-light"><span class="flex items-center gap-2"><span class="relative">Inverno 26</span></span></a></li></ul></div></div></div></div></li></ul></div></div></div></div></li></ul><ul class="mt-4 flex flex-col gap-2 text-base lg:text-sm"><li class="flex justify-between items-center gap-2 h-10 px-6"><a href="/nossas-lojas" class="flex items-center gap-2 w-full"><img width="64" height="64" src="https://decoims.com/farmrio/9c2c8f1f-fde7-4d48-a5e7-a687fcf0578a/store-(1).png" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=64&amp;height=64&amp;quality=high&amp;src=farmrio%2F9c2c8f1f-fde7-4d48-a5e7-a687fcf0578a%2Fstore-%281%29.png 64w, https://decoims.com/image?fit=cover&amp;width=128&amp;height=128&amp;quality=high&amp;src=farmrio%2F9c2c8f1f-fde7-4d48-a5e7-a687fcf0578a%2Fstore-%281%29.png 128w" loading="lazy" class="size-8"/>Nossas lojas</a><svg width="22" height="22" stroke-width="16"><use href="/sprites.svg?__deco_c=2#ThinArrowRight"></use></svg></li></ul></div></div></div></div><div id="new-menu-ab" data-new-menu-desktop="true" style="top:var(--new-menu-top, var(--header-desktop-height, 64px));height:var(--new-menu-height, calc(100vh - var(--header-desktop-height, 64px)));" class="fixed left-0 right-0 z-[51] bg-white opacity-0 pointer-events-none transition-opacity duration-300 ease-in-out [body:has(#sidemenu-drawer:checked)_&amp;]:opacity-100 [body:has(#sidemenu-drawer:checked)_&amp;]:pointer-events-auto">
3529<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function updateNewMenuPosition(e){const t=document.querySelector("[data-header-container]");if(!t)return;let i=0;const n=()=>{cancelAnimationFrame(i),i=requestAnimationFrame((()=>{const i=document.getElementById(e);if(!i)return;const n=t.firstElementChild,s=Math.max(0,(n??t).getBoundingClientRect().bottom),r=globalThis.visualViewport?.height??globalThis.innerHeight;i.style.setProperty("--new-menu-top",`${s}px`),i.style.setProperty("--new-menu-height",`${Math.max(0,r-s)}px`)}))};n(),globalThis.addEventListener("resize",n),globalThis.addEventListener("scroll",n,{passive:!0}),globalThis.visualViewport?.addEventListener("resize",n),globalThis.visualViewport?.addEventListener("scroll",n),"ResizeObserver"in globalThis&&new ResizeObserver(n).observe(t),"MutationObserver"in globalThis&&new MutationObserver(n).observe(document.body,{attributes:!0,childList:!0,subtree:!0})})("new-menu-ab")</script>
3529<div id="nmP0313554360" style="color:#333333;" class="font-montserrat text-[#333333] h-full w-full bg-white"><style>#nmP0313554360 .nm-panels > div{display:none;}#nmP0313554360 .no-scrollbar::-webkit-scrollbar{display:none;}#nmP0313554360 .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}#nmP0313554360 .nm-desktop-sections-scroll{scrollbar-width:none;-ms-overflow-style:none;}#nmP0313554360 .nm-desktop-sections-scroll::-webkit-scrollbar{display:none;}#nmP0313554360 .nm-desktop-scrollbar-thumb{min-height:48px;}#nmP0313554360 .nm-dot{height:4px;width:4px;border-radius:9999px;background:#333333;transition:width .2s ease,background .2s ease;}#nmP0313554360 .nm-dot[disabled]{width:32px;height:4px;background:#333333;}
3530#nmP0313554360 .nm-input-0:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-0"]{color:rgba(51, 51, 51, 1)!important;}
3531#nmP0313554360 .nm-input-0:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-0{display:flex;}
3532#nmP0313554360 .nm-input-1:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-1"]{color:rgba(51, 51, 51, 1)!important;}
3533#nmP0313554360 .nm-input-1:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-1{display:flex;}
3534#nmP0313554360 .nm-input-2:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-2"]{color:rgba(51, 51, 51, 1)!important;}
3535#nmP0313554360 .nm-input-2:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-2{display:flex;}
3536#nmP0313554360 .nm-input-3:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-3"]{color:rgba(51, 51, 51, 1)!important;}
3537#nmP0313554360 .nm-input-3:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-3{display:flex;}
3538#nmP0313554360 .nm-input-4:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-4"]{color:rgba(51, 51, 51, 1)!important;}
3539#nmP0313554360 .nm-input-4:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-4{display:flex;}
3540#nmP0313554360 .nm-input-5:checked ~ .nm-desktop-layout .nm-nav label[for="nmP0313554360-tab-5"]{color:rgba(51, 51, 51, 1)!important;}
3541#nmP0313554360 .nm-input-5:checked ~ .nm-desktop-layout .nm-panels > .nm-panel-5{display:flex;}</style>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupDesktopMenuScrollbars(e){const t=document.getElementById(e);if(!t)return;t.querySelectorAll("[data-nm-desktop-scroll]").forEach((e=>{const t=e.parentElement?.querySelector("[data-nm-scrollbar]"),n=t?.querySelector("[data-nm-scrollbar-thumb]");if(!t||!n)return;let r=!1,i=0,l=0;const o=()=>{const r=e.scrollHeight-e.clientHeight,i=r>1;if(t.style.display=i?"block":"none",!i)return;const l=Math.max(48,e.clientHeight/e.scrollHeight*e.clientHeight),o=(e.clientHeight-l)*(e.scrollTop/r);n.style.height=`${l}px`,n.style.transform=`translateY(${o}px)`},s=e=>{r=!1,n.releasePointerCapture(e.pointerId)};e.addEventListener("scroll",o,{passive:!0}),n.addEventListener("pointerdown",(t=>{t.preventDefault(),r=!0,i=t.clientY,l=e.scrollTop,n.setPointerCapture(t.pointerId)})),n.addEventListener("pointermove",(t=>{if(!r)return;const o=n.offsetHeight,s=e.clientHeight-o,c=e.scrollHeight-e.clientHeight,a=t.clientY-i,d=s>0?a/s*c:0;e.scrollTop=l+d})),n.addEventListener("pointerup",s),n.addEventListener("pointercancel",s),t.addEventListener("pointerdown",(r=>{if(r.target===n)return;const i=t.getBoundingClientRect(),l=n.offsetHeight,o=e.clientHeight-l,s=e.scrollHeight-e.clientHeight,c=Math.min(Math.max(r.clientY-i.top-l/2,0),o);e.scrollTop=o>0?c/o*s:0})),globalThis.addEventListener("resize",o),"ResizeObserver"in globalThis&&new ResizeObserver(o).observe(e),requestAnimationFrame(o)}))})("nmP0313554360")</script>
3541<input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-0" checked class="nm-input-0 hidden"/><input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-1" class="nm-input-1 hidden"/><input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-2" class="nm-input-2 hidden"/><input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-3" class="nm-input-3 hidden"/><input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-4" class="nm-input-4 hidden"/><input type="radio" name="nmP0313554360-tab" id="nmP0313554360-tab-5" class="nm-input-5 hidden"/><div class="nm-desktop-layout mx-auto grid h-full w-full max-w-[1440px] grid-cols-[240px_minmax(0,1fr)] px-10 py-8"><div class="nm-nav flex flex-col pr-8"><label for="nmP0313554360-tab-0" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">FARM Rio</label><label for="nmP0313554360-tab-1" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">FARM Etc</label><label for="nmP0313554360-tab-2" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">Infantil &amp; Teen</label><label for="nmP0313554360-tab-3" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">Bazar</label><label for="nmP0313554360-tab-4" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">Sustentabilidade</label><label for="nmP0313554360-tab-5" style="color:rgba(153, 153, 153, 1);" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%22%7D" data-event-trigger="click" class="cursor-pointer py-2 text-[15px] font-medium">Sobre</label></div><div class="nm-panels min-h-0 h-full"><div class="nm-panel-0 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/novidades" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Anovidades%22%7D" data-event-trigger="click" class="w-fit font-normal">Novidades</a></div><div class="flex-1 flex flex-col gap-2"><a href="/novidades" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Anovidades%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/produtos/novo-drop" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Anovidades%3Anuvem%20de%20algod%C3%A3o%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Nuvem de algodão</span></a><a href="/produtos/curadoria-farm" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Anovidades%3Acuradoria%20farm%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Curadoria FARM</span></a><a href="/ta-na-vitrine" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Anovidades%3At%C3%A1%20na%20vitrine%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Tá na vitrine</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/produtos" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%22%7D" data-event-trigger="click" class="w-fit font-normal">Coleção</a></div><div class="flex-1 flex flex-col gap-2"><a href="/produtos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/produtos/vestido" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Avestidos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Vestidos</span></a><a href="/produtos/macacao" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Amacac%C3%B5es%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Macacões</span></a><a href="/produtos/sobreposicoes" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Acasacos%20%7C%20sobreposi%C3%A7%C3%A3o%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Casacos | Sobreposição</span></a><a href="/produtos/blusa-camisa" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Ablusas%20%7C%20camisas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Blusas | Camisas</span></a><a href="/produtos/calca" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Acal%C3%A7as%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Calças</span></a><a href="/produtos/short-e-saia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Asaias%20%7C%20shorts%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Saias | shorts</span></a><a href="/produtos/jeans-refarm" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Ajeans%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Jeans</span></a><a href="/produtos/tricot" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Atricots%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Tricots</span></a><a href="/produtos/artesanais" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Aartesanais%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Artesanais</span></a><a href="/produtos/conjuntos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Aconjuntos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Conjuntos</span></a><a href="/produtos/praia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acole%C3%A7%C3%A3o%3Apraia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Praia</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/produtos/acessorios" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aacess%C3%B3rios%22%7D" data-event-trigger="click" class="w-fit font-normal">Acessórios</a></div><div class="flex-1 flex flex-col gap-2"><a href="/produtos/acessorios" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aacess%C3%B3rios%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/produtos/acessorios/bolsas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aacess%C3%B3rios%3Abolsas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Bolsas</span></a><a href="/produtos/acessorios-praia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aacess%C3%B3rios%3Apraia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Praia</span></a><a href="/linhas/quero" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aacess%C3%B3rios%3Aquero%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Quero</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/produtos/ape" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acal%C3%A7ados%22%7D" data-event-trigger="click" class="w-fit font-normal">Calçados</a></div><div class="flex-1 flex flex-col gap-2"><a href="/produtos/ape" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acal%C3%A7ados%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/produtos/ape-sandalia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acal%C3%A7ados%3Asand%C3%A1lias%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Sandálias</span></a><a href="/produtos/ape-chinelo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Acal%C3%A7ados%3Achinelos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Chinelos</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/produtos/parcerias" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%22%7D" data-event-trigger="click" class="w-fit font-normal">Parcerias</a></div><div class="flex-1 flex flex-col gap-2"><a href="/produtos/parcerias" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-
3541px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/produtos/stanley" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Astanley%201913%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Stanley 1913</span></a><a href="/farm-etc/rip-curl" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Arip%20curl%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Rip Curl</span></a><a href="/conheca-bic" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Abic%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Bic</span></a><a href="/produtos/adidas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Aadidas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">adidas</span></a><a href="/farm-etc/matte-leao" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Amatte%20le%C3%A3o%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Matte Leão</span></a><a href="/produtos/havaianas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Ahavaianas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Havaianas</span></a><a href="/produtos/corona" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Acorona%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Corona</span></a><a href="/farm-etc/zerezes" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Azerezes%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Zerezes</span></a><a href="/produtos/yawanawa" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20rio%3Aparcerias%3Ayawanawa%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Yawanawa</span></a></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-0" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/sl
3541ider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/mais-vendidos" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fmais-vendidos%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20mais%20vendidos%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20mais%20vendidos%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/mais-vendidos&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu mais vendidos]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu mais vendidos]:banner:1&quot;,&quot;url&quot;:&quot;/mais-vendidos&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/mais-vendidos\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu mais vendidos]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu mais vendidos]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/f4b8f1b9-67ce-4840-8e99-6229b4170ccc/04-08-26-home-banner-menu-mais-vendidos-desktop.jpg"/><img src="https://decoims.com/farmrio/e1a29bbc-b65d-4b2c-a681-83f2d6913ac3/04-08-26-home-banner-menu-mais-vendidos-mobile.jpg" alt="[farm rio] [banner novo menu mais vendidos]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Mais vendidos</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/novidades" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fnovidades%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20novidades%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20novidades%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/novidades&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu novidades]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu novidades]:banner:2&quot;,&quot;url&quot;:&quot;/novidades&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/novidades\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu novidades]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu novidades]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/f406f18d-e68b-4429-a006-0cb621224f44/04-08-26-home-banner-menu-novidades-desktop.jpg"/><img src="https://decoims.com/farmrio/eb76cec0-6465-4e90-bd33-3706a1e6b5f2/04-08-26-home-banner-menu-novidades-mobile.jpg" alt="[farm rio] [banner novo menu novidades]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Novidades</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/produtos/vestido" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20vestidos%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20vestidos%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/produtos/vestido&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu vestidos]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu vestidos]:banner:3&quot;,&quot;url&quot;:&quot;/produtos/vestido&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/produtos/vestido\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu vestidos]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu vestidos]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/13ad2612-a12b-43de-9ce8-69cf133f8d55/04-08-26-home-banner-menu-vestidos-desktop.jpg"/><img src="https://decoims.com/farmrio/380f03f0-76fd-4afc-854b-11ed6a674d1d/04-08-26-home-banner-menu-vestidos-mobile.jpg" alt="[farm rio] [banner novo menu vestidos]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Vestidos</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2"><button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci0wIiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-0", "sidemenu-drawer")</script>
3541</div></div></div></div></div><div class="nm-panel-1 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/novidades" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Anovidades%22%7D" data-event-trigger="click" class="w-fit font-normal">Novidades</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/novidades" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Anovidades%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/ta-na-vitrine" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Anovidades%3At%C3%A1%20na%20vitrine%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Tá na vitrine</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/ver-tudo" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%22%7D" data-event-trigger="click" class="w-fit font-normal">Produtos</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/ver-tudo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/mochilas-bolsas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Abolsas%20%7C%20mochilas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Bolsas | Mochilas</span></a><a href="/farm-etc/garrafas-e-copos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Acopos%20%7C%20garrafas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Copos | Garrafas</span></a><a href="/farm-etc/para-cabelo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Apra%20cabelo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Pra Cabelo</span></a><a href="/farm-etc/viagem" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Aviagens%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Viagens</span></a><a href="/farm-etc/necessaire" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Anecessaires%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Necessaires</span></a><a href="/farm-etc/lancheira-e-cooler" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Alancheiras%20%7C%20coolers%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Lancheiras | Coolers</span></a><a href="/farm-etc/etc-e-tal" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Aacess%C3%B3rios%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Acessórios</span></a><a href="/farm-etc/esporte" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Aesportes%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Esportes</span></a><a href="/farm-etc/praia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Apraia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Praia</span></a><a href="/farm-etc/papelaria" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aprodutos%3Apapelaria%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Papelaria</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/roupas" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%22%7D" data-event-trigger="click" class="w-fit font-normal">Roupas</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/roupas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/partes-de-cima" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Apartes%20de%20cima%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de cima</span></a><a href="/farm-etc/conjuntos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Aconjuntos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Conjuntos</span></a><a href="/farm-etc/biquini-canga" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Apraia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Praia</span></a><a href="/farm-etc/vestido" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Ape%C3%A7as%20%C3%BAnicas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Peças únicas</span></a><a href="/farm-etc/partes-de-baixo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aroupas%3Apartes%20de%20baixo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de baixo</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/presentes-etc-ver-tudo" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%22%7D" data-event-trigger="click" class="w-fit font-normal">Presentes</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/presentes-etc-ver-tudo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/ate-50" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%3Aat%C3%A9%20r%24%2050%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Até R$ 50</span></a><a href="/farm-etc/ate-100" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%3Aat%C3%A9%20r%24%20100%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Até R$ 100</span></a><a href="/farm-etc/ate-200" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%3Aat%C3%A9%20r%24%20200%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Até R$ 200</span></a><a href="/farm-etc/ate-300" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Apresentes%3Aat%C3%A9%20r%24%20300%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Até R$ 300</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/parcerias" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%22%7D" data-event-trigger="click" class="w-fit font-normal">Parcerias</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/parcerias" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/rip-curl" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Arip%20curl%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Rip Curl</span></a><a href="/conheca-bic" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Abic%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Bic</span></a><a href="/farm-etc/matte-leao" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Amatte%20le%C3%A3o%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Matte Leão</span></a><a href="/produtos/corona" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Acorona%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Corona</span></a><a href="/farm-etc/zerezes" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Azerezes%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Zerezes</span></a><a href="/farm-etc/zeedog" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Azee%20dog%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Zee dog</span></a><a href="/farm-etc/lev" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Afarm%20etc%3Aparcerias%3Alev%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">LEV</span></a></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-1" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/sl
3541ider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/farm-etc/mochilas-bolsas-carteiras" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmetc%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffarm-etc%2Fmochilas-bolsas-carteiras%22%2C%22promotion_name%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20mochilas%20bolsas%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20mochilas%20bolsas%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/farm-etc/mochilas-bolsas-carteiras&quot;,&quot;promotion_name&quot;:&quot;[farm etc] [banner novo menu etc mochilas bolsas]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm etc] [banner novo menu etc mochilas bolsas]:banner:1&quot;,&quot;url&quot;:&quot;/farm-etc/mochilas-bolsas-carteiras&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmetc\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/farm-etc/mochilas-bolsas-carteiras\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm etc] [banner novo menu etc mochilas bolsas]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm etc] [banner novo menu etc mochilas bolsas]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/3e1f91c4-f656-4409-a478-a15152676aee/11-08-26-home-banner-menu-etc-mochilas-bolsas-desktop.jpg"/><img src="https://decoims.com/farmrio/5ea61859-9903-446a-9da4-9fc13ead2421/11-08-26-home-banner-menu-etc-mochilas-bolsas-mobile.jpg" alt="[farm etc] [banner novo menu etc mochilas bolsas]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Mochilas | Bolsas</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/farm-etc/mais-vendidos" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmetc%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffarm-etc%2Fmais-vendidos%22%2C%22promotion_name%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20mais%20vendidos%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20mais%20vendidos%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/farm-etc/mais-vendidos&quot;,&quot;promotion_name&quot;:&quot;[farm etc] [banner novo menu etc mais vendidos]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm etc] [banner novo menu etc mais vendidos]:banner:2&quot;,&quot;url&quot;:&quot;/farm-etc/mais-vendidos&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmetc\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/farm-etc/mais-vendidos\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm etc] [banner novo menu etc mais vendidos]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm etc] [banner novo menu etc mais vendidos]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/aac59eb8-27db-4de3-b6e3-8e3d7faf2d05/11-08-26-home-banner-menu-etc-mais-vendidos-desktop.jpg"/><img src="https://decoims.com/farmrio/711169a5-14a3-44c9-98a1-06d4a608c529/11-08-26-home-banner-menu-etc-mais-vendidos-mobile.jpg" alt="[farm etc] [banner novo menu etc mais vendidos]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Mais vendidos</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/farm-etc/termicos" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmetc%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffarm-etc%2Ftermicos%22%2C%22promotion_name%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20termico%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20etc%5D%20%5Bbanner%20novo%20menu%20etc%20termico%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/farm-etc/termicos&quot;,&quot;promotion_name&quot;:&quot;[farm etc] [banner novo menu etc termico]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm etc] [banner novo menu etc termico]:banner:3&quot;,&quot;url&quot;:&quot;/farm-etc/termicos&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmetc\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/farm-etc/termicos\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm etc] [banner novo menu etc termico]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm etc] [banner novo menu etc termico]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/12cc6c4d-1a4b-447a-9c03-1ae65cbd91dc/11-08-26-home-banner-menu-etc-termico-desktop.jpg"/><img src="https://decoims.com/farmrio/7992e156-07b1-494d-928f-7dc897730c8f/11-08-26-home-banner-menu-etc-termico-mobile.jpg" alt="[farm etc] [banner novo menu etc termico]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Térmicos</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2"><button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci0xIiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-1", "sidemenu-drawer")</script>
3541</div></div></div></div></div><div class="nm-panel-2 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/fabula-e-bento/verao-27" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Anovidades%22%7D" data-event-trigger="click" class="w-fit font-normal">Novidades</a></div><div class="flex-1 flex flex-col gap-2"><a href="/fabula-e-bento/verao-27" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Anovidades%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/fabula-e-bento/ta-na-vitrine" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Anovidades%3At%C3%A1%20na%20vitrine%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Tá na vitrine</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/fabula-e-bento/farmfutura" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%22%7D" data-event-trigger="click" class="w-fit font-normal">Teen</a></div><div class="flex-1 flex flex-col gap-2"><a href="/fabula-e-bento/farmfutura" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/fabula-e-bento/farmfutura-vestido" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%3Avestido%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Vestido</span></a><a href="/fabula-e-bento/farmfutura-blusa-bata-tshirt" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%3Apartes%20de%20cima%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de cima</span></a><a href="/fabula-e-bento/farmfutura-partes-de-baixo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%3Apartes%20de%20baixo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de baixo</span></a><a href="/fabula-e-bento/farmfutura-acessorios" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ateen%3Aacess%C3%B3rios%20%7C%20kits%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Acessórios | Kits</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/fabula-e-bento-ver-tudo" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%22%7D" data-event-trigger="click" class="w-fit font-normal">Infantil</a></div><div class="flex-1 flex flex-col gap-2"><a href="/fabula-e-bento-ver-tudo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/fabula-e-bento-vestidos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%3Avestidos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Vestidos</span></a><a href="/fabula-e-bento/meninas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%3Ameninas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Meninas</span></a><a href="/fabula-e-bento/meninos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%3Ameninos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Meninos</span></a><a href="/fabula-e-bento-acessorios" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Ainfantil%3Aacess%C3%B3rios%20%7C%20kits%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Acessórios | Kits</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/fabula-e-bento/bebe" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Abeb%C3%AAs%22%7D" data-event-trigger="click" class="w-fit font-normal">Bebês</a></div><div class="flex-1 flex flex-col gap-2"><a href="/fabula-e-bento/bebe" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Ainfantil%20%26%20teen%3Abeb%C3%AAs%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-2" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/sl
3541ider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/fabula-e-bento/verao-27" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffabula-e-bento%2Fverao-27%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20novidades%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20novidades%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/fabula-e-bento/verao-27&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu infantil teen novidades]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu infantil teen novidades]:banner:1&quot;,&quot;url&quot;:&quot;/fabula-e-bento/verao-27&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/fabula-e-bento/verao-27\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu infantil teen novidades]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu infantil teen novidades]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/a9808efd-bdc2-4baa-b005-59432308605c/12-08-26-home-banner-menu-novidades-desktop.png"/><img src="https://decoims.com/farmrio/2a1479ba-6bb8-4b2c-ba04-2c15298226db/12-08-26-home-banner-menu-novidades-mobile.png" alt="[farm rio] [banner novo menu infantil teen novidades]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Novidades</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/fabula-e-bento/farmfutura" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffabula-e-bento%2Ffarmfutura%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20futura%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20futura%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/fabula-e-bento/farmfutura&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu infantil teen futura]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu infantil teen futura]:banner:2&quot;,&quot;url&quot;:&quot;/fabula-e-bento/farmfutura&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/fabula-e-bento/farmfutura\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu infantil teen futura]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu infantil teen futura]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/18c9a246-76e8-443f-ab3b-2e7389cf1ef2/12-08-26-home-banner-menu-futura-desktop.png"/><img src="https://decoims.com/farmrio/49346a98-3205-45c2-9742-364bebb374f0/12-08-26-home-banner-menu-futura-mobile.png" alt="[farm rio] [banner novo menu infantil teen futura]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">FARM Futura</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/fabula-e-bento-ver-tudo" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffabula-e-bento-ver-tudo%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20fabula%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20infantil%20teen%20fabula%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/fabula-e-bento-ver-tudo&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu infantil teen fabula]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu infantil teen fabula]:banner:3&quot;,&quot;url&quot;:&quot;/fabula-e-bento-ver-tudo&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/fabula-e-bento-ver-tudo\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu infantil teen fabula]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu infantil teen fabula]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/a39660bf-f697-4601-a8d5-b4603f4f16f6/12-08-26-home-banner-menu-fabula-desktop.png"/><img src="https://decoims.com/farmrio/16433835-c473-4932-b66c-15f6ea734793/12-08-26-home-banner-menu-fabula-mobile.png" alt="[farm rio] [banner novo menu infantil teen fabula]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Fábula</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2"><button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci0yIiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-2", "sidemenu-drawer")</script>
3541</div></div></div></div></div><div class="nm-panel-3 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/bazar" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%22%7D" data-event-trigger="click" class="w-fit font-normal">Farm</a></div><div class="flex-1 flex flex-col gap-2"><a href="/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/bazar/vestido" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Avestidos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Vestidos</span></a><a href="/bazar/macacao" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Amacac%C3%B5es%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Macacões</span></a><a href="/bazar/acessorios" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Aacess%C3%B3rios%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Acessórios</span></a><a href="/bazar/partes-de-cima" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Apartes%20de%20cima%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de cima</span></a><a href="/bazar/partes-de-baixo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%3Apartes%20de%20baixo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Partes de baixo</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/farm-etc/bazar" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%20etc.%22%7D" data-event-trigger="click" class="w-fit font-normal">Farm Etc.</a></div><div class="flex-1 flex flex-col gap-2"><a href="/farm-etc/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%20etc.%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/farm-etc/roupa-bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%20etc.%3Aroupas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Roupas</span></a><a href="/farm-etc/ver-tudo-bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Afarm%20etc.%3Aprodutos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Produtos</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/fabula-e-bento/bazar" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Ainfantil%20%26%20teen%22%7D" data-event-trigger="click" class="w-fit font-normal">Infantil &amp; Teen</a></div><div class="flex-1 flex flex-col gap-2"><a href="/fabula-e-bento/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Ainfantil%20%26%20teen%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a><a href="/fabula-e-bento/teen/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Ainfantil%20%26%20teen%3Ateen%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Teen</span></a><a href="/fabula-e-bento/infantil/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Ainfantil%20%26%20teen%3Ainfantil%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Infantil</span></a><a href="/fabula-e-bento/bebe/bazar" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Abazar%3Ainfantil%20%26%20teen%3Abeb%C3%AAs%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Bebês</span></a></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-3" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/slider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/bazar/vestido" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fbazar%2Fvestido%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20vestidos%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20vestidos%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/bazar/vestido&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu bazar vestidos]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu bazar vestidos]:banner:1&quot;,&quot;url&quot;:&quot;/bazar/vestido&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/bazar/vestido\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu bazar vestidos]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu bazar vestidos]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/45b13651-606f-479e-888b-b3370c5bae15/11-08-26-home-banner-menu-bazar-vestidos-desktop.jpg"/><img src="https://decoims.com/farmrio/f54f64cc-a862-4e07-9140-e9bc7ab68094/11-08-26-home-banner-menu-bazar-vestidos-mobile.jpg" alt="[farm rio] [banner novo menu bazar vestidos]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Vestidos</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/bazar/destaques" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fbazar%2Fdestaques%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20destaques%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20destaques%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/bazar/destaques&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu bazar destaques]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu bazar destaques]:banner:2&quot;,&quot;url&quot;:&quot;/bazar/destaques&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/bazar/destaques\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu bazar destaques]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu bazar destaques]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/6a0468f9-0d27-48c6-8bbd-ec82be079ddc/11-08-26-home-banner-menu-bazar-destaques-desktop.jpg"/><img src="https://decoims.com/farmrio/ac1863c4-5976-44cf-8d20-e139ea9d6771/11-08-26-home-banner-menu-bazar-destaques-mobile.jpg" alt="[farm rio] [banner novo menu bazar destaques]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Destaques</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/farm-etc/ver-tudo-bazar" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Ffarm-etc%2Fver-tudo-bazar%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20acessorios%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20bazar%20acessorios%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/farm-etc/ver-tudo-bazar&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu bazar acessorios]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu bazar acessorios]:banner:3&quot;,&quot;url&quot;:&quot;/farm-etc/ver-tudo-bazar&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/farm-etc/ver-tudo-bazar\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu bazar acessorios]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu bazar acessorios]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/0c38e572-e770-43c9-8521-19bb5d81d29f/11-08-26-home-banner-menu-bazar-acessorios-desktop.jpg"/><img src="https://decoims.com/farmrio/865acf0e-daec-4228-a3be-90805ee4a776/11-08-26-home-banner-menu-bazar-acessorios-mobile.jpg" alt="[farm rio] [banner novo menu bazar acessorios]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Acessórios</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2"><button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci0zIiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-3", "sidemenu-drawer")</script>
3541</div></div></div></div></div><div class="nm-panel-4 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6">Nosso compromisso</div><div class="flex-1 flex flex-col gap-2"><a href="/sustentabilidade" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Afarm%20do%20futuro%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Farm do futuro</span></a><a href="/sustentabilidade/relatorio-24" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Arelat%C3%B3rio%202024%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Relatório 2024</span></a><a href="/selo-b" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Asomos%20selo%20b%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Somos Selo B</span></a><a href="/sustentabilidade/gente" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Agente%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Gente</span></a><a href="/sustentabilidade/cultura" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Acultura%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Cultura</span></a><a href="/sustentabilidade/natureza" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Anatureza%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Natureza</span></a><a href="/sustentabilidade/circularidade" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Acircularidade%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Circularidade</span></a><a href="/transparencia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Anosso%20compromisso%3Atranspar%C3%AAncia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Transparência</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6">Projetos</div><div class="flex-1 flex flex-col gap-2"><a href="/buena-gente" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Abuena%20gente%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Buena Gente</span></a><a href="/amazonikas" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Aamazonikas%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Amazonikas</span></a><a href="/coracao-da-floresta" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Acora%C3%A7%C3%A3o%20da%20floresta%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Coração da floresta</span></a><a href="/re-farm-cria" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Are-farm%20cria%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Re-farm cria</span></a><a href="/sustentabilidade/mil-arvores-por-dia" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Amil%20%C3%A1rvores%20por%20dia%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Mil árvores por dia</span></a><a href="/yawanawa" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprojetos%3Ayawanawa%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Yawanawa</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/produtos/responsaveis" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprodutos%20%2B%20respons%C3%A1veis%22%7D" data-event-trigger="click" class="w-fit font-normal">Produtos + responsáveis</a></div><div class="flex-1 flex flex-col gap-2"><a href="/produtos/responsaveis" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asustentabilidade%3Aprodutos%20%2B%20respons%C3%A1veis%3Aver%20tudo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal font-medium"><span class="relative flex items-center gap-2">Ver tudo</span><svg width="14" height="14" stroke-width="16" class="ml-1 shrink-0 -translate-y-px"><use href="/sprites.svg?__deco_c=2#ChevronRight"></use></svg></a></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-4" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/slider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/sustentabilidade/mil-arvores-por-dia" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fsustentabilidade%2Fmil-arvores-por-dia%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20mil%20arvores%20por%20dia%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20mil%20arvores%20por%20dia%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/sustentabilidade/mil-arvores-por-dia&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sustentabilidade mil arvores por dia]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sustentabilidade mil arvores por dia]:banner:1&quot;,&quot;url&quot;:&quot;/sustentabilidade/mil-arvores-por-dia&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/sustentabilidade/mil-arvores-por-dia\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade mil arvores por dia]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade mil arvores por dia]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/c7d00a73-3c45-47a3-87c9-40d7ca448726/11-08-26-home-banner-menu-sustentabilidade-mil-arvores-desktop.jpg"/><img src="https://decoims.com/farmrio/725d9af3-4beb-43e5-82ce-83388b58e952/11-08-26-home-banner-menu-sustentabilidade-mil-arvores-mobile.jpg" alt="[farm rio] [banner novo menu sustentabilidade mil arvores por dia]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Mil árvores por dia</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/sustentabilidade/cultura" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fsustentabilidade%2Fcultura%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20cultura%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20cultura%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/sustentabilidade/cultura&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sustentabilidade cultura]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sustentabilidade cultura]:banner:2&quot;,&quot;url&quot;:&quot;/sustentabilidade/cultura&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/sustentabilidade/cultura\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade cultura]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade cultura]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/4063b984-f1ab-4992-8aeb-7144b7d98db4/11-08-26-home-banner-menu-sustentabilidade-cultura-desktop.jpg"/><img src="https://decoims.com/farmrio/b678ca7a-c835-4852-b941-9c9c1883d795/11-08-26-home-banner-menu-sustentabilidade-cultura-mobile.jpg" alt="[farm rio] [banner novo menu sustentabilidade cultura]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Cultura</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/buena-gente" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fbuena-gente%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20buena%20gente%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sustentabilidade%20buena%20gente%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/buena-gente&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sustentabilidade buena gente]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sustentabilidade buena gente]:banner:3&quot;,&quot;url&quot;:&quot;/buena-gente&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/buena-gente\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade buena gente]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sustentabilidade buena gente]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/33b316a4-f262-49df-8a07-86d029e25d17/11-08-26-home-banner-menu-sustentabilidade-buena-gente-desktop.jpg"/><img src="https://decoims.com/farmrio/af9c1b3f-184b-4b40-89fb-dbdf331b8aff/11-08-26-home-banner-menu-sustentabilidade-buena-gente-mobile.jpg" alt="[farm rio] [banner novo menu sustentabilidade buena gente]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/>
3541</picture><span style="color:#333333;" class="text-[11px]">Buena Gente</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2"><button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci00Iiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-4", "sidemenu-drawer")</script>
3541</div></div></div></div></div><div class="nm-panel-5 h-full min-h-0"><div class="grid h-full grid-cols-[minmax(340px,430px)_minmax(0,1fr)]"><div class="px-10 flex min-h-0 flex-col"><div class="relative min-h-0 flex-1"><div data-nm-desktop-scroll="true" class="nm-desktop-sections-scroll h-full min-h-0 overflow-y-auto overscroll-contain pr-8"><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/cheirinho-farm-rio" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Acheirinho%20farm%20rio%22%7D" data-event-trigger="click" class="w-fit font-normal">Cheirinho FARM Rio</a></div><div class="flex-1 flex flex-col gap-2"></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/cariocas" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Aas%20cariocas%22%7D" data-event-trigger="click" class="w-fit font-normal">AS CARIOCAS</a></div><div class="flex-1 flex flex-col gap-2"></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/app-farm" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Aapp%20farm%20rio%22%7D" data-event-trigger="click" class="w-fit font-normal">App FARM Rio</a></div><div class="flex-1 flex flex-col gap-2"></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/lojix" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Alojix%22%7D" data-event-trigger="click" class="w-fit font-normal">Lojix</a></div><div class="flex-1 flex flex-col gap-2"></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/do-brasil-pro-mundo" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Ado%20brasil%20pro%20mundo%22%7D" data-event-trigger="click" class="w-fit font-normal">Do Brasil pro mundo</a></div><div class="flex-1 flex flex-col gap-2"></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6">Projetos</div><div class="flex-1 flex flex-col gap-2"><a href="/saiba-mais-carnaval-carioca" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Aprojetos%3Acarnaval%20carioca%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">CARNAVAL CARIOCA</span></a><a href="/parcerias/adidas-10-anos" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Aprojetos%3Aadidas%20%3C3%20farm%3A%2010%20anos%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Adidas &lt;3 FARM: 10 anos</span></a><a href="/parcerias/adidas-flamengo" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Aprojetos%3Aadidas%20%3C3%20flamengo%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Adidas &lt;3 Flamengo</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;" class="w-2/5 shrink-0 text-[12px] leading-6">Coleções</div><div class="flex-1 flex flex-col gap-2"><a href="/verao-27" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Acole%C3%A7%C3%B5es%3Aver%C3%A3o%2027%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Verão 27</span></a><a href="/alto-inverno-26" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Acole%C3%A7%C3%B5es%3Aalto%20inverno%2026%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Alto inverno 26</span></a><a href="/inverno-26" style="color:#333333;" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Acole%C3%A7%C3%B5es%3Ainverno%2026%22%7D" data-event-trigger="click" class="flex items-center gap-1 h-6 text-[12px] leading-6 w-fit font-normal"><span class="relative flex items-center gap-2">Inverno 26</span></a></div></div><div class="flex gap-6 py-6"><div style="color:#333333;
3541" class="w-2/5 shrink-0 text-[12px] leading-6"><a href="/nossas-lojas" data-event="%7B%22brand%22%3A%22farmrio%22%2C%22event%22%3A%22select_content%22%2C%22content_type%22%3A%22novo_menu%3Aheader%3Asobre%3Anossas%20lojas%22%7D" data-event-trigger="click" class="w-fit font-normal">Nossas lojas</a></div><div class="flex-1 flex flex-col gap-2"></div></div></div><div data-nm-scrollbar="true" aria-hidden="true" class="nm-desktop-scrollbar absolute right-0 top-0 hidden h-full w-1 bg-[#E5E5E5]"><div data-nm-scrollbar-thumb="true" class="nm-desktop-scrollbar-thumb absolute left-0 top-0 w-full cursor-grab rounded-full bg-[#8A8A8A] active:cursor-grabbing"></div></div></div></div><div class="flex min-h-0 flex-col px-10"><div class="flex-1"><div id="nmP0313554360-slider-5" class="flex flex-col gap-3 pt-2 w-[402px]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/slider flex gap-2 overflow-x-auto overscroll-x-contain snap-x snap-mandatory no-scrollbar w-[402px]"><li data-slider-item="0" class="shrink-0 snap-start w-[161px]"><a href="/lojix" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Flojix%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20lojix%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20lojix%5D%3Abanner%3A1%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/lojix&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sobre lojix]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sobre lojix]:banner:1&quot;,&quot;url&quot;:&quot;/lojix&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/lojix\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sobre lojix]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sobre lojix]:banner:1\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/ed70abe0-fb27-4cfa-994f-853e9f9c06b6/11-08-26-home-banner-menu-sobre-lojix-desktop.jpg"/><img src="https://decoims.com/farmrio/b32693b1-d37e-4872-955d-a077e96f55ce/11-08-26-home-banner-menu-sobre-lojix-mobile.jpg" alt="[farm rio] [banner novo menu sobre lojix]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Lojix</span></a></li><li data-slider-item="1" class="shrink-0 snap-start w-[161px]"><a href="/nossas-lojas" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fnossas-lojas%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20loja%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20loja%5D%3Abanner%3A2%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;
3541string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/nossas-lojas&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sobre loja]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sobre loja]:banner:2&quot;,&quot;url&quot;:&quot;/nossas-lojas&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/nossas-lojas\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sobre loja]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sobre loja]:banner:2\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/1b0c419b-7c87-4ca9-bc6d-fe217027cf2b/11-08-26-home-banner-menu-sobre-loja-desktop.jpg"/><img src="https://decoims.com/farmrio/1273e982-3b33-4ea1-a123-2c8ccd0f08a1/11-08-26-home-banner-menu-sobre-loja-mobile.jpg" alt="[farm rio] [banner novo menu sobre loja]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Nossas lojas</span></a></li><li data-slider-item="2" class="shrink-0 snap-start w-[161px]"><a href="/verao-27" data-new-menu-promotion="true" data-new-menu-promotion-event="%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22menu%22%2C%22promotion_url%22%3A%22%2Fverao-27%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20nova%20colecao%5D%22%2C%22creative_name%22%3A%22banner_novo_menu%22%2C%22creative_slot%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novo%20menu%20sobre%20nova%20colecao%5D%3Abanner%3A3%22%7D%7D" hx-on:click="(function handleBannerPromotionClick({promotion_name:e,creative_slot:n,creative_name:t,url:o,fn:r}){const a={creative_name:t,creative_slot:n,promotion_name:e,url:o,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(a)),r&amp;&amp;&quot;string&quot;==typeof r&amp;&amp;new Function(`return ${r}`)()})({&quot;region&quot;:&quot;menu&quot;,&quot;promotion_url&quot;:&quot;/verao-27&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novo menu sobre nova colecao]&quot;,&quot;creative_name&quot;:&quot;banner_novo_menu&quot;,&quot;creative_slot&quot;:&quot;[farm rio] [banner novo menu sobre nova colecao]:banner:3&quot;,&quot;url&quot;:&quot;/verao-27&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotion(o){const t=globalThis.window;t.DECO?.events?.dispatch?.({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;menu\&quot;,\&quot;promotion_url\&quot;:\&quot;/verao-27\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novo menu sobre nova colecao]\&quot;,\&quot;creative_name\&quot;:\&quot;banner_novo_menu\&quot;,\&quot;creative_slot\&quot;:\&quot;[farm rio] [banner novo menu sobre nova colecao]:banner:3\&quot;}})&quot;})" class="flex flex-col gap-2"><picture><source media="(min-width: 1024px)" srcset="https://decoims.com/farmrio/5b5380f1-68c5-452e-9e35-ae87acf6f76e/11-08-26-home-banner-menu-sobre-nova-colecao-desktop.jpg"/><img src="https://decoims.com/farmrio/1c1e43ba-aa9f-45ba-a748-3440fa411879/11-08-26-home-banner-menu-sobre-nova-colecao-mobile.jpg" alt="[farm rio] [banner novo menu sobre nova colecao]" width="161" height="272" loading="lazy" decoding="async" class="h-[272px] w-[161px] object-cover"/></picture><span style="color:#333333;" class="text-[11px]">Nova coleção</span></a></li></ul><div class="flex items-center justify-between"><ul class="flex items-center gap-1.5"><li class="flex"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li><li class="flex"><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto nm-dot"></button></li></ul><div class="flex items-center gap-2">
3541<button data-slide="prev" aria-label="Previous item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button><button data-slide="next" aria-label="Next item" style="background-color:rgba(235, 235, 235, 1);" class="flex justify-center items-center size-6 rounded-full text-[#333333]"><svg width="14" height="14" stroke-width="2" class="rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div></div>
3541<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3541oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3541HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3541H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3541oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3541HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3541HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3541sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3541dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3541HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJubVAwMzEzNTU0MzYwLXNsaWRlci01Iiwib25lQnlvbmUiOnRydWUsInNjcm9sbERvdHMiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3541<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupMenuBannerPromotionViews(e,t){const n=document.getElementById(e);if(!n)return;if("true"===n.dataset.newMenuPromotionViewsSetup)return;n.dataset.newMenuPromotionViewsSetup="true";const o=document.getElementById(t),r=n.parentElement?.closest("[id]")??n,i=Array.from(n.querySelectorAll("[data-new-menu-promotion]")).sort(((e,t)=>Number(e.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0)-Number(t.closest("[data-slider-item]")?.getAttribute("data-slider-item")??0))),a=globalThis.window;a.__newMenuViewedPromotions??=new Set;const s=e=>{if("true"===e.dataset.newMenuPromotionViewed)return;const t=e.dataset.newMenuPromotionEvent;if(!t)return;const n=JSON.parse(decodeURIComponent(t)),o=n?.meta?.creative_slot??t;if(a.__newMenuViewedPromotions?.has(o))return e.dataset.newMenuPromotionViewed="true",void 0;e.dataset.newMenuPromotionViewed="true",a.__newMenuViewedPromotions?.add(o),a.DECO?.events?.dispatch?.({name:"view_promotion",params:n})},d=e=>{const t=getComputedStyle(e);return(!o||o.checked)&&"none"!==t.display&&"hidden"!==t.visibility&&"0"!==t.opacity&&(e=>{const t=e.getBoundingClientRect();if(!t.width||!t.height)return 0;let n=Math.max(t.left,0),o=Math.max(t.top,0),r=Math.min(t.right,globalThis.innerWidth),i=Math.min(t.bottom,globalThis.innerHeight),a=e.parentElement;for(;a;){const e=getComputedStyle(a),t="auto"===e.overflowX||"scroll"===e.overflowX||"hidden"===e.overflowX,s="auto"===e.overflowY||"scroll"===e.overflowY||"hidden"===e.overflowY;if(t||s){const e=a.getBoundingClientRect();t&&(n=Math.max(n,e.left),r=Math.min(r,e.right)),s&&(o=Math.max(o,e.top),i=Math.min(i,e.bottom))}a=a.parentElement}return Math.max(0,r-n)*Math.max(0,i-o)/(t.width*t.height)})(e)>=.95},l=e=>e.closest("[data-slider-item]"),m=e=>Number(l(e)?.getAttribute("data-slider-item")??0),u=e=>{const t=l(e),n=(e=>l(e)?.parentElement)(e);if(!t||!n)return 0;const o=t.offsetLeft-n.offsetLeft;return Math.abs(n.scrollLeft-o)},c=()=>{(()=>{const e=i.filter(d);return e.length<=2?e:e.sort(((e,t)=>{const n=u(e)-u(t);return 0!==n?n:m(e)-m(t)})).slice(0,2).sort(((e,t)=>m(e)-m(t)))})().forEach(s)};let h=0;const w=()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)};if(!("IntersectionObserver"in globalThis))return c(),o?.addEventListener("change",w),void 0;const f=new IntersectionObserver(w,{threshold:.95});i.forEach((e=>f.observe(e))),o?.addEventListener("change",w),r.addEventListener("change",w),n.querySelectorAll("[data-slider]").forEach((e=>{e.addEventListener("scroll",w,{passive:!0})})),globalThis.addEventListener("resize",w)})("nmP0313554360-slider-5", "sidemenu-drawer")</script>
3541</div></div></div></div></div></div></div></div></div><div id="bly-search-input" class="w-full px-10 fixed overflow-y-hidden z-40 has-[#searchbar-container-input:checked]:hidden"><input type="checkbox" checked id="searchbar-container-input" autocomplete="off" class="hidden"/><div id="searchbar-desktop" class="search-control"></div><div id="searchbar-ab-desktop" class="search-ab"></div></div><style>
3542    .search-ab {
3543      display: none !important;
3544    }
3545  </style>
3545<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function resetSearchModalStateOnPageShow(e,t){const c=()=>{for(const t of e){const e=document.getElementById(t);"checkbox"===e?.type&&(e.checked=!1)}const c=document.getElementById(t);"checkbox"===c?.type&&(c.checked=!0)};c(),requestAnimationFrame(c),setTimeout(c,0),addEventListener("pageshow",c)})(["searchbar-modal","searchbar-ab-modal"], "searchbar-container-input")</script>
3545<section id="2201052792-00" data-manifest-key="site/sections/Miscellaneous/CampaignTimer.tsx"></section>
3545<script defer nonce="16c268fd223f430b98c07279b4c2abab">(({threshold:t=50})=>{function e(){const e=globalThis.window;const o=()=>{const o=document.querySelectorAll("[data-scrolled]"),n=e.scrollY>t;o.forEach((t=>{t.setAttribute("data-scrolled",n?"true":"false")}))},n=function(t,e){let o,n=0;return function(...l){const c=Date.now(),d=e-(c-n);d<=0?(o&&(clearTimeout(o),o=void 0),n=c,t.apply(this,l)):o||(o=setTimeout((()=>{n=Date.now(),o=void 0,t.apply(this,l)}),d))}}(o,100);o(),e.addEventListener("scroll",n)}"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e)})({"threshold":100})</script>
3545<style>
3546    #new-menu-ab {
3547      display: none;
3548    }
3549
3550    body[data-new-menu-active="true"] #new-menu-ab {
3551      display: block;
3552    }
3553
3554    body[data-new-menu-active="true"] #old-menu-ab,
3555    body[data-new-menu-active="true"] #old-menu-ab-desktop {
3556      display: none;
3557    }
3558
3559    body[data-new-menu-active="true"] .drawer:has(#sidemenu-drawer) .drawer-side {
3560      pointer-events: none;
3561    }
3562
3563    body[data-new-menu-active="true"] .drawer:has(#sidemenu-drawer) #drawer-aside {
3564      background-color: transparent;
3565      pointer-events: none;
3566      position: relative;
3567    }
3568
3569    body[data-new-menu-active="true"] .drawer:has(#sidemenu-drawer) .drawer-overlay {
3570      background-color: transparent;
3571      cursor: default;
3572    }
3573
3574    body[data-new-menu-active="true"] #sidemenu {
3575      background-color: #fff;
3576      height: var(--new-menu-height, calc(100dvh - var(--header-mobile-height, 50px)));
3577      inset-inline: 0;
3578      overflow: hidden;
3579      pointer-events: auto;
3580      position: absolute;
3581      top: var(--new-menu-top, var(--header-mobile-height, 50px));
3582    }
3583
3584    body[data-new-menu-active="true"] #new-menu-ab[data-new-menu-desktop] {
3585      height: var(--new-menu-height, calc(100dvh - var(--header-desktop-height, 64px)));
3586      top: var(--new-menu-top, var(--header-desktop-height, 64px));
3587    }
3588  </style>
3588<script type="module" nonce="16c268fd223f430b98c07279b4c2abab">(function setupNewMenuAbTest(e,t){const n="data-new-menu-active",s=document.getElementById(t),i=document.querySelector("[data-header-container]");e&&document.body.setAttribute(n,"true");const o=()=>{const e=i?.firstElementChild,t=Math.max(0,(e??i)?.getBoundingClientRect().bottom??0),n=globalThis.visualViewport?.height??globalThis.innerHeight;document.documentElement.style.setProperty("--new-menu-top",`${t}px`),document.documentElement.style.setProperty("--new-menu-height",`${Math.max(0,n-t)}px`)};o(),globalThis.addEventListener("resize",o),globalThis.addEventListener("scroll",o,{passive:!0}),globalThis.visualViewport?.addEventListener("resize",o),globalThis.visualViewport?.addEventListener("scroll",o),globalThis.addEventListener("new-menu-ab:change",o),i?.addEventListener("click",(e=>{if(!document.body.hasAttribute(n))return;const i=e.target;i?.closest(`[for="${t}"]`)||void(s?.checked&&(s.checked=!1,s.dispatchEvent(new Event("change",{bubbles:!0}))))}),!0),"ResizeObserver"in globalThis&&i&&new ResizeObserver(o).observe(i),"MutationObserver"in globalThis&&new MutationObserver(o).observe(document.body,{attributes:!0,childList:!0,subtree:!0})})(false, "sidemenu-drawer")</script>
3588</section><section id="2137306876-0" data-manifest-key="site/sections/Images/Carousel.tsx"><div id="P0-315663602" style="--banner-mobile-aspect-ratio:412/534;--banner-desktop-aspect-ratio:1440/720" class="grid w-full min-w-0 grid-cols-[48px_1fr_48px] sm:grid-cols-[120px_1fr_120px] grid-rows-[1fr_48px_1fr_64px] [aspect-ratio:var(--banner-mobile-aspect-ratio)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio)]"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/slider carousel carousel-center w-full col-span-full row-span-full"><li data-slider-item="0" class="carousel-item w-full"><a data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20tv%20promo%5D%2025%25%20%2B%2010%25%20off.%20confira%20as%20novidades%20FARM%22%2C%22creative_name%22%3A%22banner_carrousel%22%2C%22creative_slot%22%3A%22banner_carousel%3A%5Bfarm%20rio%5D%20%5Bbanner%20tv%20promo%5D%2025%25%20%2B%2010%25%20off.%20confira%20as%20novidades%20FARM%3A1%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fpromo%22%7D%2C%22brand%22%3A%22farmrio%22%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM&quot;,&quot;creative_name&quot;:&quot;banner_carrousel&quot;,&quot;creative_slot&quot;:&quot;banner_carousel:[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM:1&quot;,&quot;promotion_url&quot;:&quot;/produtos/promo&quot;,&quot;url&quot;:&quot;/produtos/promo&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM\&quot;,\&quot;creative_name\&quot;:\&quot;banner_carrousel\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_carousel:[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM:1\&quot;,\&quot;promotion_url\&quot;:\&quot;/produtos/promo\&quot;},\&quot;brand\&quot;:\&quot;farmrio\&quot;})&quot;})" href="/produtos/promo" alt="[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM" class="relative overflow-y-hidden w-full"><picture><source media="(max-width: 767px)" width="412" fetchPriority="high" height="534" sizes="100vw" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=534&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 824w"/><source media="(min-width: 768px)" fetchPriority="high" width="1440" height="720" sizes="100vw" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=720&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F23_BANNER-PRIMAVERA-20-10%2F23-09-26-home-banner-1-tv-primavera-25-10-desktop-.jpg%3Fauthuser%3D0 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F23_BANNER-PRIMAVERA-20-10%2F23-09-26-home-banner-1-tv-primavera-25-10-desktop-.jpg%3Fauthuser%3D0 2880w"/><img title="[farm rio] [banner tv promo] 25% + 10% off. confira as novida
3588des FARM" loading="eager" fetchpriority="high" alt="[farm rio] [banner tv promo] 25% + 10% off. confira as novidades FARM" width="1440" height="720" class="object-cover w-full h-full"/></picture></a></li><li data-slider-item="1" class="carousel-item w-full"><a data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20tv%20vitrine%5D%20vestido%20t-shirt%20ccoletivo.%20confira%20as%20novidades%20FARM%22%2C%22creative_name%22%3A%22banner_carrousel%22%2C%22creative_slot%22%3A%22banner_carousel%3A%5Bfarm%20rio%5D%20%5Bbanner%20tv%20vitrine%5D%20vestido%20t-shirt%20ccoletivo.%20confira%20as%20novidades%20FARM%3A2%22%2C%22promotion_url%22%3A%22%2Fnovidades%22%7D%2C%22brand%22%3A%22farmrio%22%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM&quot;,&quot;creative_name&quot;:&quot;banner_carrousel&quot;,&quot;creative_slot&quot;:&quot;banner_carousel:[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM:2&quot;,&quot;promotion_url&quot;:&quot;/novidades&quot;,&quot;url&quot;:&quot;/novidades&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM\&quot;,\&quot;creative_name\&quot;:\&quot;banner_carrousel\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_carousel:[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM:2\&quot;,\&quot;promotion_url\&quot;:\&quot;/novidades\&quot;},\&quot;brand\&quot;:\&quot;farmrio\&quot;})&quot;})" href="/novidades" alt="[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM" class="relative overflow-y-hidden w-full"><picture><source media="(max-width: 767px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=534&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-1-tv-vitrine-mobile.jpg 824w" data-fetchpriority="low" width="412" height="534" sizes="100vw"/><source media="(min-width: 768px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=720&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fdesktop%2F22-09-26-home-banner-1-tv-desktop.jpg 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fdesktop%2F22-09-26-home-banner-1-tv-desktop.jpg 2880w" data-fetchpriority="low" width="1440" height="720" sizes="100vw"/><img title="[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM" loading="lazy" decoding="async" data-slider-deferred-image="true" data-src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/desktop/22-09-26-home-banner-1-tv-desktop.jpg" fetchpriority="low" alt="[farm rio] [banner tv vitrine] vestido t-shirt ccoletivo. confira as novidades FARM" width="1440" height="720" class="object-cover w-full h-full"/></picture></a></li>
3588<li data-slider-item="2" class="carousel-item w-full"><a data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20tv%20bazar%5D%20%22%2C%22creative_name%22%3A%22banner_carrousel%22%2C%22creative_slot%22%3A%22banner_carousel%3A%5Bfarm%20rio%5D%20%5Bbanner%20tv%20bazar%5D%3A3%22%2C%22promotion_url%22%3A%22%2Fbazar%22%7D%2C%22brand%22%3A%22farmrio%22%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner tv bazar] &quot;,&quot;creative_name&quot;:&quot;banner_carrousel&quot;,&quot;creative_slot&quot;:&quot;banner_carousel:[farm rio] [banner tv bazar]:3&quot;,&quot;promotion_url&quot;:&quot;/bazar&quot;,&quot;url&quot;:&quot;/bazar&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner tv bazar] \&quot;,\&quot;creative_name\&quot;:\&quot;banner_carrousel\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_carousel:[farm rio] [banner tv bazar]:3\&quot;,\&quot;promotion_url\&quot;:\&quot;/bazar\&quot;},\&quot;brand\&quot;:\&quot;farmrio\&quot;})&quot;})" href="/bazar" alt="[farm rio] [banner tv bazar] " class="relative overflow-y-hidden w-full"><picture><source media="(max-width: 767px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=534&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F02_FEVEREIRO%2F20_BAZAR_60%2Fhome-banner-tv-1-bazar-tudo-60-mobile.jpg%3Fauthuser%3D1 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F02_FEVEREIRO%2F20_BAZAR_60%2Fhome-banner-tv-1-bazar-tudo-60-mobile.jpg%3Fauthuser%3D1 824w" data-fetchpriority="low" width="412" height="534" sizes="100vw"/><source media="(min-width: 768px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=720&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F02_FEVEREIRO%2F20_BAZAR_60%2Fhome-banner-tv-1-bazar-tudo-60-desktop.jpg%3Fauthuser%3D1 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F02_FEVEREIRO%2F20_BAZAR_60%2Fhome-banner-tv-1-bazar-tudo-60-desktop.jpg%3Fauthuser%3D1 2880w" data-fetchpriority="low" width="1440" height="720" sizes="100vw"/><img title="[farm rio] [banner tv bazar] " loading="lazy" decoding="async" data-slider-deferred-image="true" data-src="https://cf.farmriosoma.farmrio.com.br/site/2026/02_FEVEREIRO/20_BAZAR_60/home-banner-tv-1-bazar-tudo-60-desktop.jpg?authuser=1" fetchpriority="low" alt="[farm rio] [banner tv bazar] " width="1440" height="720" class="object-cover w-full h-full"/></picture></a></li><li data-slider-item="3" class="carousel-item w-full"><a data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20tv%20stanley%5D%20collab%20acess%C3%B3rios%20Stanley%20%2B%20FARM%20Rio.%20leva%20o%20lan%C3%A7amento!%22%2C%22creative_name%22%3A%22banner_carrousel%22%2C%22creative_slot%22%3A%22banner_carousel%3A%5Bfarm%20rio%5D%20%5Bbanner%20tv%20stanley%5D%20collab%20acess%C3%B3rios%20Stanley%20%2B%20FARM%20Rio.%20leva%20o%20lan%C3%A7amento!%3A4%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fstanley%22%7D%2C%22brand%22%3A%22farmrio%22%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,
3588creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!&quot;,&quot;creative_name&quot;:&quot;banner_carrousel&quot;,&quot;creative_slot&quot;:&quot;banner_carousel:[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!:4&quot;,&quot;promotion_url&quot;:&quot;/produtos/stanley&quot;,&quot;url&quot;:&quot;/produtos/stanley&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!\&quot;,\&quot;creative_name\&quot;:\&quot;banner_carrousel\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_carousel:[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!:4\&quot;,\&quot;promotion_url\&quot;:\&quot;/produtos/stanley\&quot;},\&quot;brand\&quot;:\&quot;farmrio\&quot;})&quot;})" href="/produtos/stanley" alt="[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!" class="relative overflow-y-hidden w-full"><picture><source media="(max-width: 767px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=534&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F08_AGOSTO%2F18_BANNER-STANLEY%2F18-08-26-home-banner-1-tv-stanley-mobile.jpg%3Fauthuser%3D1 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=1068&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F08_AGOSTO%2F18_BANNER-STANLEY%2F18-08-26-home-banner-1-tv-stanley-mobile.jpg%3Fauthuser%3D1 824w" data-fetchpriority="low" width="412" height="534" sizes="100vw"/><source media="(min-width: 768px)" data-srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=720&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F08_AGOSTO%2F18_BANNER-STANLEY%2F18-08-26-home-banner-1-tv-stanley-desktop.jpg%3Fauthuser%3D1 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F08_AGOSTO%2F18_BANNER-STANLEY%2F18-08-26-home-banner-1-tv-stanley-desktop.jpg%3Fauthuser%3D1 2880w" data-fetchpriority="low" width="1440" height="720" sizes="100vw"/><img title="[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!" loading="lazy" decoding="async" data-slider-deferred-image="true" data-src="https://cf.farmriosoma.farmrio.com.br/site/2026/08_AGOSTO/18_BANNER-STANLEY/18-08-26-home-banner-1-tv-stanley-desktop.jpg?authuser=1" fetchpriority="low" alt="[farm rio] [banner tv stanley] collab acessórios Stanley + FARM Rio. leva o lançamento!" width="1440" height="720" class="object-cover w-full h-full"/></picture></a></li></ul><div class="flex items-center justify-center z-10 col-start-1 row-start-2"><button data-slide="prev" aria-label="Previous item" class="btn btn-circle glass"><svg width="24" height="24" stroke-width="3" class="text-base-100"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div><div class="flex items-center justify-center z-10 col-start-3 row-start-2"><button data-slide="next" aria-label="Next item" class="btn btn-circle glass"><svg width="24" height="24" stroke-width="3" class="text-base-100 rotate-180"><use href="/sprites.svg?__deco_c=2#ChevronLeft"></use></svg></button></div><ul class="carousel justify-center col-span-full sm:gap-x gap-1 sm:mx-0 mx-5 z-10 row-start-4 h-[88px]"><button data-dot="0" aria-label="go to slider item 0" class="focus:outline-none group w-full sm:w-auto"><li class="carousel-item"><div style="animation-duration:9s;" class="w-full sm:w-24 h-0.5 rounded group-data-[painted]:bg-none group-data-[painted]:bg-white group-disabled:animate-progress bg-gradient-to-r from-white from-[length:var(--dot-progress)] to-[#f2f2f2]/[.5] to-[length:var(--dot-progress)]"></div></li></button><button data-dot="1" aria-label="go to slider item 1" class="focus:outline-none group w-full sm:w-auto"><li class="carousel-item"><div style="animation-duration:9s;" class="w-full sm:w-24 h-0.5 rounded group-data-[painted]:bg-none group-data-[painted]:bg-white group-disabled:animate-progress bg-gradient-to-r from-white from-[length:var(--dot-progress)] to-[#f2f2f2]/[.5] to-[length:var(--dot-progress)]"></div></li></button><button data-dot="2" aria-label="go to slider item 2" class="focus:outline-none group w-full sm:w-auto"><li class="carousel-item"><div style="animation-duration:9s;" class="w-full sm:w-24 h-0.5 rounded group-data-[painted]:bg-none group-data-[painted]:bg-white group-disabled:animate-progress bg-gradient-to-r from-white from-[length:var(--dot-progress)] to-[#f2f2f2]/[.5] to-[length:var(--dot-progress)]"></div></li></button><button data-dot="3" aria-label="go to slider item 3" class="focus:outline-none group w-full sm:w-auto"><li class="carousel-item"><div style="animation-duration:9s;" class="w-full sm:w-24 h-0.5 rounded group-data-[painted]:bg-none group-data-[painted]:bg-white group-disabled:animate-progress bg-gradient-to-r from-white from-[length:var(--dot-progress)] to-[#f2f2f2]/[.5] to-[length:var(--dot-progress)]"></div></li></button></ul>
3588<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3588oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3588HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3588H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3588oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3588HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3588HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3588dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3588HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJQMC0zMTU2NjM2MDIiLCJpbnRlcnZhbCI6OTAwMCwiaW5maW5pdGUiOnRydWUsInByb2dyZXNzaXZlTWVkaWEiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3588</div></section><section id="2853511427-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%225%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 720;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div></div></div></section><section id="807837488-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%226%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 1620;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 1620;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div></div></div></section><section id="875370768-0" data-manifest-key="site/sections/Images/BannerCollection.tsx"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><a href="/ta-na-vitrine" target="_self" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20animado%20estampa%5D%20%20produtos%20estampados%20FARM.%20leva%20agora!%22%2C%22creative_name%22%3A%22banner_collection%22%2C%22creative_slot%22%3A%22banner_collection%3A%5Bfarm%20rio%5D%20%5Bbanner%20animado%20estampa%5D%20%20produtos%20estampados%20FARM.%20leva%20agora!%3A1%22%2C%22promotion_url%22%3A%22%2Fta-na-vitrine%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner animado estampa]  produtos estampados FARM. leva agora!&quot;,&quot;creative_name&quot;:&quot;banner_collection&quot;,&quot;creative_slot&quot;:&quot;banner_collection:[farm rio] [banner animado estampa]  produtos estampados FARM. leva agora!:1&quot;,&quot;promotion_url&quot;:&quot;/ta-na-vitrine&quot;,&quot;url&quot;:&quot;/ta-na-vitrine&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner animado estampa]  produtos estampados FARM. leva agora!\&quot;,\&quot;creative_name\&quot;:\&quot;banner_collection\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_collection:[farm rio] [banner animado estampa]  produtos estampados FARM. leva agora!:1\&quot;,\&quot;promotion_url\&quot;:\&quot;/ta-na-vitrine\&quot;}})&quot;})" class="w-full"><video id="P0-320900429" src="https://player.vimeo.com/progressive_redirect/playback/1229205702/rendition/1080p/file.mp4%20%281080p%29.mp4?loc=external&amp;signature=583198c6213f3a337420424e51ae32107829d94f6a5993a6f35900059d6d5407" loop playsinline muted loading="lazy" class="block w-full h-auto border-none 
3588!rounded-none bg-[#f2f2f2]"></video>
3588<script defer src="data:text/javascript,(e%3D%3Edocument.getElementById(e)%3F.play())(%22P0-320900429%22)" nonce="16c268fd223f430b98c07279b4c2abab"></script>
3588</a></div></section><section id="1034157913-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2210%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="padding-top:10px;" class="w-full flex flex-col"><div class="grid w-full grid-cols-[48px_1fr_48px]"><ul class="carousel carousel-start col-span-full row-start-2 row-end-5 w-full"><li data-slider-item="0" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="1" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="2" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li></ul><div class="relative block z-10 col-start-1 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md left-4 w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="rotate-180 text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowLeft"></use></svg></span></div><div class="relative block z-10 col-start-3 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowRight"></use></svg></span></div></div></div></div></section><section id="296910008-0" data-manifest-key="site/sections/Images/BannerCollection.tsx"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><a href="/produtos" target="_self" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bfaixa%5D%20pe%C3%A7as%20especiais%20te%20esperando%22%2C%22creative_name%22%3A%22banner_collection%22%2C%22creative_slot%22%3A%22banner_collection%3A%5Bfarm%20rio%5D%20%5Bfaixa%5D%20pe%C3%A7as%20especiais%20te%20esperando%3A1%22%2C%22promotion_url%22%3A%22%2Fprodutos%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [faixa] peças especiais te esperando&quot;,&quot;creative_name&quot;:&quot;banner_collection&quot;,&quot;creative_slot&quot;:&quot;banner_collection:[farm rio] [faixa] peças especiais te esperando:1&quot;,&quot;promotion_url&quot;:&quot;/produtos&quot;,&quot;url&quot;:&quot;/produtos&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [faixa] peças especiais te esperando\&quot;,\&quot;creative_name\&quot;:\&quot;banner_collection\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_collection:[farm rio] [faixa] peças especiais te esperando:1\&quot;,\&quot;promotion_url\&quot;:\&quot;/produtos\&quot;}})&quot;})" class="w-full"><figure class="w-full"><picture style="--banner-mobile-aspect-ratio:412 / 91;--banner-desktop-aspect-ratio:1440 / 106;" class="block w-full bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"><source media="(max-width: 767px)" srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=91&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-6-categoria-mobile.jpg 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=182&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fmobile%2F22-09-26-home-banner-6-categoria-mobile.jpg 824w" width="412" height="91" sizes="100vw" fetchpriority="low"/><source media="(min-width: 768px)" srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=106&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fdesktop%2F22-09-26-home-banner-6-categoria-desktop.jpg 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=212&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fdesktop%2F22-09-26-home-banner-6-categoria-desktop.jpg 2880w" width="1440" height="106" sizes="100vw" fetchpriority="low"/><img loading="lazy" fetchpriority="low" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/desktop/22-09-26-home-banner-6-categoria-desktop.jpg" alt="[farm rio] [faixa] peças especiais te esperando" width="1440" height="106" class="block w-full h-auto"/></picture></figure></a></div></section><section id="1658548154-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;
3588renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2212%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 1620;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 1620;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div></div></div></section><section id="3194157232-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2213%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="gap:0px;padding-top:0px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><div style="--banner-mobile-aspect-ratio:412 / 534;--banner-desktop-aspect-ratio:1440 / 720;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div></div></div></section><section id="1216897509-0" data-manifest-key="site/sections/Images/CategoryNavegation.tsx"><div style="padding:32px 0px;" class="w-full flex flex-col"><div id="P0-322988605" class="grid w-full"><ul data-slider="true" class="data-[draggable='true']:[scroll-snap-type:none] group/slider carousel carousel-start col-span-full row-start-2 row-end-5 w-full"><li data-slider-item="0" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A0%22%2C%22promotion_name%22%3A%22%2Fprodutos%2Fvestido-com-manga%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido-com-manga%22%2C%22promotion_name%22%3A%22vestidos%20com%20manga%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A0%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/produtos/vestido-com-manga" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-01-vestidos-com-manga.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-01-vestidos-com-manga.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-01-vestidos-com-manga.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos com manga</span></a></div></li>
3588<li data-slider-item="1" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A1%22%2C%22promotion_name%22%3A%22%2Fmais-vendidos-vestidos%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fmais-vendidos-vestidos%22%2C%22promotion_name%22%3A%22vestidos%20favoritos%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A1%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/mais-vendidos-vestidos" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-02-vestidos-favoritos.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-02-vestidos-favoritos.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-02-vestidos-favoritos.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos favoritos</span></a></div></li><li data-slider-item="2" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A2%22%2C%22promotion_name%22%3A%22%2Fprodutos%2Fvestido-curto%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido-curto%22%2C%22promotion_name%22%3A%22vestidos%20curtos%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A2%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/produtos/vestido-curto" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-03-vestidos-curtos.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-03-vestidos-curtos.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-03-vestidos-curtos.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos curtos</span></a></div></li><li data-slider-item="3" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A3%22%2C%22promotion_name%22%3A%22%2Fprodutos%2Fvestido-midi%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido-midi%22%2C%22promotion_name%22%3A%22vestidos%20midis%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A3%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/produtos/vestido-midi" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-04-vestidos-longos.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-04-vestidos-longos.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-04-vestidos-longos.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos midis</span></a></div></li>
3588<li data-slider-item="4" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A4%22%2C%22promotion_name%22%3A%22%2Fprodutos%2Fvestido-liso%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido-liso%22%2C%22promotion_name%22%3A%22vestidos%20lisos%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A4%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/produtos/vestido-liso" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-05-vestidos-lisos.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-05-vestidos-lisos.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-05-vestidos-lisos.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos lisos</span></a></div></li><li data-slider-item="5" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A5%22%2C%22promotion_name%22%3A%22%2Fprodutos%2Fvestido-longo%22%2C%22creative_name%22%3A%22carrossel%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" class="carousel-item justify-center md:w-1/5 mx-auto w-1/2"><div data-event="%7B%22name%22%3A%22select_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_url%22%3A%22%2Fprodutos%2Fvestido-longo%22%2C%22promotion_name%22%3A%22vestidos%20longos%22%2C%22creative_name%22%3A%22carrossel%22%2C%22creative_slot%22%3A%22category-navegation%3A0%3A5%22%7D%7D%7D" data-event-trigger="click" data-has-commerce="true"><a href="/produtos/vestido-longo" class="flex flex-col items-center shrink-0"><div class="w-[150px] h-[150px] lg:w-44 lg:h-44 xl:w-48 xl:h-48 rounded-full overflow-hidden shrink-0"><img width="200" height="200" src="https://cf.farmriosoma.farmrio.com.br/site/2026/09_SETEMBRO/22_VITRINE/carrossel/carrossel-06-vestidos-midi.jpg" alt data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=200&amp;height=200&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-06-vestidos-midi.jpg 200w, https://decoims.com/image?fit=cover&amp;width=400&amp;height=400&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F09_SETEMBRO%2F22_VITRINE%2Fcarrossel%2Fcarrossel-06-vestidos-midi.jpg 400w" loading="lazy" class="object-cover w-full h-full"/></div><span class="pt-4 text-center text-sm md:text-lg font-light">vestidos longos</span></a></div></li></ul>
3588<script src="data:text/javascript;base64,ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSgoKHsgcm9vdElkLCBzY3JvbGwgPSAic21vb3RoIiwgaW50ZXJ2YWwsIGluZmluaXRlLCBvbmVCeW9uZSwgaXRlbURvdHMsIHBhZ2VEb3RzLCBzY3JvbGxEb3RzLCBwcm9ncmVzc2l2ZU1lZGlhID0gZmFsc2UsIGlzRnJvbUhvb2sgPSBmYWxzZSwgZGVza3RvcERyYWdnYWJsZSA9IGZhbHNlIH0pPT57CiAgY29uc3QgQVRUUklCVVRFUyA9IGlzRnJvbUhvb2sgLy8gdGhpcyBpcyB1c2VkIHRvIGtlZXAgY29tcGF0aWJpbGl0eSB0byB0aGUgb2xkIHdheSB0byBjcmVhdGUgYSBzbGlkZXIKICAgPyB7CiAgICAiZGF0YS1zbGlkZXIiOiBgW2RhdGEtc2xpZGVyXVtkYXRhLXJvb3Q9JHtyb290SWR9XWAsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6IGBbZGF0YS1zbGlkZXItaXRlbV1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogYFtkYXRhLXNsaWRlPSJwcmV2Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogYFtkYXRhLXNsaWRlPSJuZXh0Il1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtZG90IjogYFtkYXRhLWRvdF1bZGF0YS1yb290PSR7cm9vdElkfV1gLAogICAgImRhdGEtcHJvZ3Jlc3MiOiBgW2RhdGEtcHJvZ3Jlc3NdW2RhdGEtcm9vdD0ke3Jvb3RJZH1dYAogIH0gOiB7CiAgICAiZGF0YS1zbGlkZXIiOiAiW2RhdGEtc2xpZGVyXSIsCiAgICAiZGF0YS1zbGlkZXItaXRlbSI6ICJbZGF0YS1zbGlkZXItaXRlbV0iLAogICAgJ2RhdGEtc2xpZGU9InByZXYiJzogJ1tkYXRhLXNsaWRlPSJwcmV2Il0nLAogICAgJ2RhdGEtc2xpZGU9Im5leHQiJzogJ1tkYXRhLXNsaWRlPSJuZXh0Il0nLAogICAgImRhdGEtZG90IjogIltkYXRhLWRvdF0iLAogICAgImRhdGEtcHJvZ3Jlc3MiOiAiW2RhdGEtcHJvZ3Jlc3NdIgogIH07CiAgLy8gUGVyY2VudGFnZSBvZiB0aGUgaXRlbSB0aGF0IGhhcyB0byBiZSBpbnNpZGUgdGhlIGNvbnRhaW5lcgogIC8vIGZvciBpdCBpdCBiZSBjb25zaWRlcmVkIGFzIGluc2lkZSB0aGUgY29udGFpbmVyCiAgY29uc3QgVEhSRVNIT0xEID0gMC43NTsKICBjb25zdCBVU0VfSU5GSU5JVEVfQkVIQVZJT1VSID0gdHJ1ZTsKICBjb25zdCBpbnRlcnNlY3Rpb25YID0gKGVsZW1lbnQsIGNvbnRhaW5lcik9PnsKICAgIGNvbnN0IGRlbHRhID0gY29udGFpbmVyLndpZHR
3588oIC8gMV8wMDA7CiAgICBpZiAoZWxlbWVudC5yaWdodCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIDAuMDsKICAgIH0KICAgIGlmIChlbGVtZW50LmxlZnQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gMC4wOwogICAgfQogICAgaWYgKGVsZW1lbnQubGVmdCA8IGNvbnRhaW5lci5sZWZ0IC0gZGVsdGEpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQucmlnaHQgLSBjb250YWluZXIubGVmdCArIGRlbHRhOwogICAgfQogICAgaWYgKGVsZW1lbnQucmlnaHQgPiBjb250YWluZXIucmlnaHQgKyBkZWx0YSkgewogICAgICByZXR1cm4gY29udGFpbmVyLnJpZ2h0IC0gZWxlbWVudC5sZWZ0ICsgZGVsdGE7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudC53aWR0aDsKICB9OwogIC8vIGFzIGFueSBhcmUgb2sgaW4gdHlwZWd1YXJkIGZ1bmN0aW9ucwogIGNvbnN0IGlzSFRNTEVsZW1lbnQgPSAoeCk9Pi8vIGRlbm8tbGludC1pZ25vcmUgbm8tZXhwbGljaXQtYW55CiAgICB0eXBlb2YgeC5vZmZzZXRMZWZ0ID09PSAibnVtYmVyIjsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudC5jdXJyZW50U2NyaXB0Py5wYXJlbnRFbGVtZW50ID8/IG51bGw7CiAgY29uc3Qgc2xpZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXNsaWRlciJdKTsKICBjb25zdCBpdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChBVFRSSUJVVEVTWyJkYXRhLXNsaWRlci1pdGVtIl0pOwogIGNvbnN0IHByZXYgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9InByZXYiJ10pOwogIGNvbnN0IG5leHQgPSByb290Py5xdWVyeVNlbGVjdG9yKEFUVFJJQlVURVNbJ2RhdGEtc2xpZGU9Im5leHQiJ10pOwogIGNvbnN0IGRvdHMgPSByb290Py5xdWVyeVNlbGVjdG9yQWxsKEFUVFJJQlVURVNbImRhdGEtZG90Il0pOwogIGNvbnN0IHByb2dyZXNzID0gcm9vdD8ucXVlcnlTZWxlY3RvcihBVFRSSUJVVEVTWyJkYXRhLXByb2dyZXNzIl0pOwogIGlmICghcm9vdCB8fCAhc2xpZGVyIHx8ICFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGNvbnNvbGUud2FybigiTWlzc2luZyBuZWNlc3Nhcnkgc2xpZGVyIGF0dHJpYnV0ZXMuIEl0IHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQuIE5lY2Vzc2FyeSBlbGVtZW50czoiLCB7CiAgICAgIHJvb3QsCiAgICAgIHNsaWRlciwKICAgICAgaXRlbXMsCiAgICAgI
3588HJvb3RJZAogICAgfSk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gKCk9PnsKICAgIGNvbnN0IGluZGljZXMgPSBbXTsKICAgIGNvbnN0IHNsaWRlclJlY3QgPSBzbGlkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICBjb25zdCByYXRpbyA9IGludGVyc2VjdGlvblgocmVjdCwgc2xpZGVyUmVjdCkgLyByZWN0LndpZHRoOwogICAgICBpZiAocmF0aW8gPiBUSFJFU0hPTEQpIHsKICAgICAgICBpbmRpY2VzLnB1c2goaW5kZXgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gaW5kaWNlczsKICB9OwogIGNvbnN0IGVsZW1lbnRzSW5zaWRlQ29udGFpbmVyID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKTsKICBjb25zdCBpbmZpbml0ZUJlaGF2aW9yID0gIXNjcm9sbERvdHMgJiYgaW5maW5pdGUgJiYgZWxlbWVudHNJbnNpZGVDb250YWluZXIubGVuZ3RoID09PSAxICYmIGl0ZW1zLmxlbmd0aCA+IDEgJiYgVVNFX0lORklOSVRFX0JFSEFWSU9VUjsKICBjb25zdCBNRURJQV9USU1FT1VUID0gOF8wMDA7CiAgY29uc3QgcHJlcGFyZWRNZWRpYSA9IG5ldyBXZWFrTWFwKCk7CiAgY29uc3QgY2xvbmVCeU9yaWdpbmFsSW5kZXggPSBuZXcgTWFwKCk7CiAgY29uc3Qgd2l0aE1lZGlhVGltZW91dCA9IChwcm9taXNlKT0+bmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpPT5yZXNvbHZlKGZhbHNlKSwgTUVESUFfVElNRU9VVCk7CiAgICAgIHByb21pc2UudGhlbigocmVhZHkpPT57CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgIHJlc29sdmUocmVhZHkpOwogICAgICB9KS5jYXRjaCgoKT0+ewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTsKICAgICAgICByZXNvbHZlKGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKICBjb25zdCBwcmVwYXJlSW1hZ2UgPSAoaW1hZ2UpPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KGltYWdlKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBjb25zdCBwaWN0dXJlID0gaW1hZ2UuY2xvc2VzdCgicGljdHVyZSIpOwogICAgICBwaWN0dXJlPy5xdWVyeVNlbGVjdG9yQWxsKCJzb3VyY2VbZGF0YS1zcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoImZldGNocHJpb3JpdHkiLCAibG93Iik7CiAgICAgICAgc291cmNlLnNyY3NldCA9IHNvdXJjZS5kYXRhc2V0LnNyY3NldCA/PyAiIjsKICAgICAgfSk7CiAgICAgIGlmIChpbWFnZS5kYXRhc2V0LnNyYykgewogICAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgICAgICBpbWFnZS5sb2FkaW5nID0gImVhZ2VyIjsKICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZS5kYXRhc2V0LnNyYzsKICAgICAgfQogICAgICBpZiAoIWltYWdlLmNvbXBsZXRlKSB7CiAgICAgICAgY29uc3QgbG9hZGVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpPT57CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCk9PnJlc29sdmUodHJ1ZSksIHsKICAgICAgICAgICAgb25jZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsICgpPT5yZXNvbHZlKGZhbHNlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBpZiAoIWxvYWRlZCkgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHJldHVybiBmYWxzZTsKICAgICAgaWYgKHR5cGVvZiBpbWFnZS5kZWNvZGUgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW1hZ2UuZGVjb2RlKCk7CiAgICAgICAgfSBjYXRjaCAgewogICAgICAgICAgcmV0dXJuIGltYWdlLmNvbXBsZXRlICYmIGltYWdlLm5hdHVyYWxXaWR0aCA+IDA7CiAgICAgICAgfQogICAgICB9CiAgICAgIGltYWdlLmRhdGFzZXQuc2xpZGVyTWVkaWFSZWFkeSA9ICJ0cnVlIjsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9KSgpKTsKICAgIHByZXBhcmVkTWVkaWEuc2V0KGltYWdlLCBwcmVwYXJhdGlvbik7CiAgICByZXR1cm4gcHJlcGFyYXRpb247CiAgfTsKICBjb25zdCBwcmVwYXJlVmlkZW8gPSAodmlkZW8pPT57CiAgICBjb25zdCBleGlzdGluZyA9IHByZXBhcmVkTWVkaWEuZ2V0KHZpZGVvKTsKICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nOwogICAgY29uc3QgcHJlcGFyYXRpb24gPSB3aXRoTWVkaWFUaW1lb3V0KChhc3luYyAoKT0+ewogICAgICBpZiAodmlkZW8uZGF0YXNldC5wb3N0ZXIpIHZpZGVvLnBvc3RlciA9IHZpZGVvLmRhdGFzZXQucG9zdGVyOwogICAgICBpZiAodmlkZW8uZGF0YXNldC5zcmMpIHsKICAgICAgICB2aWRlby5wcmVsb2FkID0gImF1dG8iOwogICAgICAgIHZpZGVvLnNyYyA9IHZpZGVvLmRhdGFzZXQuc3JjOwogICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgfQogICAgICBpZiAodmlkZW8ucmVhZHlTdGF0ZSA8IEhUTUxNZWRpYUVsZW1lbnQuSEFWRV9DVVJSRU5UX0RBVEEpIHsKICAgICAgICBjb25zdCBsb2FkZWQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PnsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCAoKT0+cmVzb2x2ZSh0cnVlKSwgewogICAgICAgICAgICBvbmNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgKCk9PnJlc29sdmUoZmFsc2UpLCB7CiAgICAgICAgICAgIG9uY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgI
3588H0pOwogICAgICAgIGlmICghbG9hZGVkKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgdmlkZW8uZGF0YXNldC5zbGlkZXJNZWRpYVJlYWR5ID0gInRydWUiOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pKCkpOwogICAgcHJlcGFyZWRNZWRpYS5zZXQodmlkZW8sIHByZXBhcmF0aW9uKTsKICAgIHJldHVybiBwcmVwYXJhdGlvbjsKICB9OwogIGNvbnN0IHByZXBhcmVJdGVtID0gKGl0ZW0pPT57CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEgfHwgIWl0ZW0pIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7CiAgICBjb25zdCBpbWFnZXMgPSBBcnJheS5mcm9tKGl0ZW0ucXVlcnlTZWxlY3RvckFsbCgiaW1nIikpOwogICAgY29uc3QgdmlkZW9zID0gQXJyYXkuZnJvbShpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikpOwogICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgLi4uaW1hZ2VzLm1hcChwcmVwYXJlSW1hZ2UpLAogICAgICAuLi52aWRlb3MubWFwKHByZXBhcmVWaWRlbykKICAgIF0pLnRoZW4oKHJlc3VsdHMpPT5yZXN1bHRzLmV2ZXJ5KEJvb2xlYW4pKTsKICB9OwogIGNvbnN0IHVwZGF0ZVZpZGVvUGxheWJhY2sgPSAoYWN0aXZlSXRlbSk9PnsKICAgIGlmICghcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgc2xpZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoInZpZGVvIikuZm9yRWFjaCgodmlkZW8pPT57CiAgICAgIGlmIChhY3RpdmVJdGVtLmNvbnRhaW5zKHZpZGVvKSkgewogICAgICAgIHZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+dW5kZWZpbmVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2aWRlby5wYXVzZSgpOwogICAgICB9CiAgICB9KTsKICB9OwogIGNvbnN0IHByZXBhcmVGb2xsb3dpbmdJdGVtID0gKGluZGV4KT0+ewogICAgaWYgKCFwcm9ncmVzc2l2ZU1lZGlhKSByZXR1cm47CiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBwcmVwYXJlSXRlbShjdXJyZW50KS50aGVuKChyZWFkeSk9PnsKICAgICAgaWYgKCFyZWFkeSkgcmV0dXJuOwogICAgICBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKChpbmRleCArIDEpICUgaXRlbXMubGVuZ3RoKSk7CiAgICB9KTsKICB9OwogIGNvbnN0IGdldE1heFNjcm9sbExlZnQgPSAoKT0+TWF0aC5tYXgoMCwgc2xpZGVyLnNjcm9sbFdpZHR
3588oIC0gc2xpZGVyLmNsaWVudFdpZHRoKTsKICBjb25zdCBjbGFtcFNjcm9sbExlZnQgPSAobGVmdCk9Pk1hdGgubWluKE1hdGgubWF4KGxlZnQsIDApLCBnZXRNYXhTY3JvbGxMZWZ0KCkpOwogIGNvbnN0IGdldEl0ZW1TY3JvbGxMZWZ0ID0gKGl0ZW0pPT57CiAgICBpZiAoIWlzSFRNTEVsZW1lbnQoaXRlbSkpIHJldHVybiAwOwogICAgcmV0dXJuIGNsYW1wU2Nyb2xsTGVmdChpdGVtLm9mZnNldExlZnQgLSBzbGlkZXIub2Zmc2V0TGVmdCk7CiAgfTsKICBsZXQgc2Nyb2xsRG90UG9zaXRpb25zID0gW107CiAgY29uc3QgZ2V0U2Nyb2xsRG90UG9zaXRpb25zID0gKCk9PnsKICAgIGlmICghc2Nyb2xsRG90cykgcmV0dXJuIFtdOwogICAgaWYgKHNsaWRlci5jbGllbnRXaWR0aCA8PSAwKSB7CiAgICAgIHJldHVybiBzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoID8gc2Nyb2xsRG90UG9zaXRpb25zIDogWwogICAgICAgIDAKICAgICAgXTsKICAgIH0KICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSByZXR1cm4gWwogICAgICAwCiAgICBdOwogICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gTWF0aC5tYXgoZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKS5sZW5ndGgsIDEpOwogICAgY29uc3QgcG9zaXRpb25zID0gWwogICAgICAwCiAgICBdOwogICAgZm9yKGxldCBpbmRleCA9IHZpc2libGVJdGVtczsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4ICs9IHZpc2libGVJdGVtcyl7CiAgICAgI
3588HBvc2l0aW9ucy5wdXNoKGdldEl0ZW1TY3JvbGxMZWZ0KGl0ZW1zLml0ZW0oaW5kZXgpKSk7CiAgICB9CiAgICBwb3NpdGlvbnMucHVzaChtYXhTY3JvbGxMZWZ0KTsKICAgIHJldHVybiBwb3NpdGlvbnMucmVkdWNlKChhY2MsIHBvc2l0aW9uKT0+ewogICAgICBjb25zdCByb3VuZGVkUG9zaXRpb24gPSBNYXRoLnJvdW5kKGNsYW1wU2Nyb2xsTGVmdChwb3NpdGlvbikpOwogICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBhY2NbYWNjLmxlbmd0aCAtIDFdOwogICAgICBpZiAobGFzdFBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMobGFzdFBvc2l0aW9uIC0gcm91bmRlZFBvc2l0aW9uKSA+IDEpIHsKICAgICAgICBhY2MucHVzaChyb3VuZGVkUG9zaXRpb24pOwogICAgICB9CiAgICAgIHJldHVybiBhY2M7CiAgICB9LCBbXSk7CiAgfTsKICBjb25zdCBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXggPSAoKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBzY3JvbGxEb3RQb3NpdGlvbnMuZm9yRWFjaCgocG9zaXRpb24sIGluZGV4KT0+ewogICAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguYWJzKHNsaWRlci5zY3JvbGxMZWZ0IC0gcG9zaXRpb24pOwogICAgICBpZiAoZGlzdGFuY2UgPCBzbWFsbGVzdERpc3RhbmNlKSB7CiAgICAgICAgc21hbGxlc3REaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgIGFjdGl2ZUluZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGFjdGl2ZUluZGV4OwogIH07CiAgY29uc3QgdXBkYXRlU2Nyb2xsRG90cyA9ICgpPT57CiAgICBpZiAoIXNjcm9sbERvdHMgfHwgIWRvdHMpIHJldHVybjsKICAgIHNjcm9sbERvdFBvc2l0aW9ucyA9IGdldFNjcm9sbERvdFBvc2l0aW9ucygpOwogICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0U2Nyb2xsRG90SW5kZXgoKTsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCwgaW5kZXgpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICBpZiAoaW5kZXggPj0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCkgewogICAgICAgIGRvdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICBpZiAoaW5kZXggPT09IGFjdGl2ZUluZGV4KSB7CiAgICAgICAgZG90LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAidHJ1ZSIpOwogICAgICB9CiAgICB9KTsKICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgPD0gMSA/IHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIikgOiBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID49IG1heFNjcm9sbExlZnQgLSAxID8gbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKSA6IG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgIH0KICB9OwogIGNvbnN0IGdvVG9TY3JvbGxEb3QgPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgc2Nyb2xsRG90UG9zaXRpb25zID0gZ2V0U2Nyb2xsRG90UG9zaXRpb25zKCk7CiAgICBjb25zdCBwb3NpdGlvbiA9IHNjcm9sbERvdFBvc2l0aW9uc1tpbmRleF07CiAgICBpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogcG9zaXRpb24KICAgIH0pOwogIH07CiAgY29uc3Qgbm9ybWFsaXplU2Nyb2xsQm91bmRzID0gKCk9PnsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPiBtYXhTY3JvbGxMZWZ0KSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gbWF4U2Nyb2xsTGVmdDsKICAgIH0gZWxzZSBpZiAoc2xpZGVyLnNjcm9sbExlZnQgPCAwKSB7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gMDsKICAgIH0KICB9OwogIGxldCB0b3VjaFN0YXJ0WCA9IDA7CiAgbGV0IHRvdWNoU3RhcnRZID0gMDsKICBjb25zdCBoYW5kbGVUb3VjaFN0YXJ0ID0gKGV2ZW50KT0+ewogICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdOwogICAgaWYgKCF0b3VjaCkgcmV0dXJuOwogICAgdG91Y2hTdGFydFggPSB0b3VjaC5jbGllbnRYOwogICAgdG91Y2hTdGFydFkgPSB0b3VjaC5jbGllbnRZOwogIH07CiAgY29uc3QgaGFuZGxlVG91Y2hNb3ZlID0gKGV2ZW50KT0+ewogICAgaWYgKCFzY3JvbGxEb3RzKSByZXR1cm47CiAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07CiAgICBpZiAoIXRvdWNoKSByZXR1cm47CiAgICBjb25zdCBkZWx0YVggPSB0b3VjaC5jbGllbnRYIC0gdG91Y2hTdGFydFg7CiAgICBjb25zdCBkZWx0YVkgPSB0b3VjaC5jbGllbnRZIC0gdG91Y2hTdGFydFk7CiAgICBjb25zdCBpc0hvcml6b250YWxHZXN0dXJlID0gTWF0aC5hYnMoZGVsdGFYKSA+IE1hdGguYWJzKGRlbHRhWSk7CiAgICBpZiAoIWlzSG9yaXpvbnRhbEdlc3R1cmUpIHJldHVybjsKICAgIGNvbnN0IG1heFNjcm9sbExlZnQgPSBnZXRNYXhTY3JvbGxMZWZ0KCk7CiAgICBpZiAobWF4U2Nyb2xsTGVmdCA8PSAxKSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBub3JtYWxpemVTY3JvbGxCb3VuZHMoKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaXNBdFN0YXJ0ID0gc2xpZGVyLnNjcm9sbExlZnQgPD0gMTsKICAgIGNvbnN0IGlzQXRFbmQgPSBzbGlkZXIuc2Nyb2xsTGVmdCA+PSBtYXhTY3JvbGxMZWZ0IC0gMTsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0U3RhcnQgPSBpc0F0U3RhcnQgJiYgZGVsdGFYID4gMDsKICAgIGNvbnN0IGlzRHJhZ2dpbmdQYXN0RW5kID0gaXNBdEVuZCAmJiBkZWx0YVggPCAwOwogICAgaWYgKGlzRHJhZ2dpbmdQYXN0U3RhcnQgfHwgaXNEcmFnZ2luZ1Bhc3RFbmQpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIG5vcm1hbGl6ZVNjcm9sbEJvdW5kcygpOwogICAgfQogIH07CiAgY29uc3QgZ29Ub0l0ZW0gPSAoaW5kZXgsIGJlaGF2aW9yID0gc2Nyb2xsKT0+ewogICAgY29uc3QgaXRlbSA9IHNsaWRlci5xdWVyeVNlbGVjdG9yKGBsaVtkYXRhLXJvb3Q9JyR7cm9vdElkfSddW2RhdGEtc2xpZGVyLWl0ZW09JyR7aW5kZXh9J11gKSA/PyBzbGlkZXIucXVlcnlTZWxlY3RvcihgbGlbZGF0YS1zbGlkZXItaXRlbT0nJHtpbmRleH0nXWApOwogICAgaWYgKGl0ZW0pIHsKICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGl0ZW0pKSB7CiAgICAgICAgY29uc29sZS53YXJuKGBFbGVtZW50IGF0IGluZGV4ICR7aW5kZXh9IGlzIG5vdCBhbiBodG1sIGVsZW1lbnQuIFNraXBwaW5nIGNhcm91c2VsYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgI
3588HNsaWRlci5zY3JvbGxUbyh7CiAgICAgICAgdG9wOiAwLAogICAgICAgIGJlaGF2aW9yOiBiZWhhdmlvciwKICAgICAgICBsZWZ0OiBpdGVtLm9mZnNldExlZnQgLSByb290Lm9mZnNldExlZnQKICAgICAgfSk7CiAgICB9CiAgfTsKICBjb25zdCBnb1RvSXRlbURvdCA9IChpbmRleCwgYmVoYXZpb3IgPSBzY3JvbGwpPT57CiAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICBpZiAoIWl0ZW0pIHJldHVybjsKICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgewogICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGFuIGh0bWwgZWxlbWVudC4gU2tpcHBpbmcgY2Fyb3VzZWxgKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2xpZGVyLnNjcm9sbFRvKHsKICAgICAgdG9wOiAwLAogICAgICBiZWhhdmlvciwKICAgICAgbGVmdDogaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQKICAgIH0pOwogIH07CiAgY29uc3QgZ2V0TmVhcmVzdEl0ZW1JbmRleCA9ICgpPT57CiAgICBsZXQgYWN0aXZlSW5kZXggPSAwOwogICAgbGV0IHNtYWxsZXN0RGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CiAgICBmb3IobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspewogICAgICBjb25zdCBpdGVtID0gaXRlbXMuaXRlbShpbmRleCk7CiAgICAgIGlmICghaXNIVE1MRWxlbWVudChpdGVtKSkgY29udGludWU7CiAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnMoc2xpZGVyLnNjcm9sbExlZnQgLSAoaXRlbS5vZmZzZXRMZWZ0IC0gc2xpZGVyLm9mZnNldExlZnQpKTsKICAgICAgaWYgKGRpc3RhbmNlIDwgc21hbGxlc3REaXN0YW5jZSkgewogICAgICAgIHNtYWxsZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTsKICAgICAgICBhY3RpdmVJbmRleCA9IGluZGV4OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYWN0aXZlSW5kZXg7CiAgfTsKICBjb25zdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQgPSBhc3luYyAodGFyZ2V0SW5kZXgsIGRpcmVjdGlvbiwgY2xvbmVQb3NpdGlvbik9PnsKICAgIGNvbnN0IGNsb25lID0gY2xvbmVQb3NpdGlvbiA/IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldCh0YXJnZXRJbmRleCk/LltjbG9uZVBvc2l0aW9uXSA6IHVuZGVmaW5lZDsKICAgIGNvbnN0IHRhcmdldCA9IGNsb25lID8/IGl0ZW1zLml0ZW0odGFyZ2V0SW5kZXgpOwogICAgaWYgKGF3YWl0IHByZXBhcmVJdGVtKHRhcmdldCkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpbmRleDogdGFyZ2V0SW5kZXgsCiAgICAgICAgaXRlbTogdGFyZ2V0LAogICAgICAgIHNraXBwZWQ6IGZhbHNlCiAgICAgIH07CiAgICB9CiAgICBmb3IobGV0IG9mZnNldCA9IDE7IG9mZnNldCA8IGl0ZW1zLmxlbmd0aDsgb2Zmc2V0KyspewogICAgICBjb25zdCBmYWxsYmFja0luZGV4ID0gKHRhcmdldEluZGV4ICsgZGlyZWN0aW9uICogb2Zmc2V0ICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsKICAgICAgY29uc3QgZmFsbGJhY2sgPSBpdGVtcy5pdGVtKGZhbGxiYWNrSW5kZXgpOwogICAgICBpZiAoYXdhaXQgcHJlcGFyZUl0ZW0oZmFsbGJhY2spKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZGV4OiBmYWxsYmFja0luZGV4LAogICAgICAgICAgaXRlbTogZmFsbGJhY2ssCiAgICAgICAgICBza2lwcGVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfTsKICBjb25zdCBvbkNsaWNrUHJldiA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gMCA/IGluZmluaXRlID8gZ29Ub1Njcm9sbERvdChzY3JvbGxEb3RQb3NpdGlvbnMubGVuZ3RoIC0gMSkgOiBnb1RvU2Nyb2xsRG90KDApIDogZ29Ub1Njcm9sbERvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaXRlbURvdHMpIHsKICAgICAgY29uc3QgYWN0aXZlSW5kZXggPSBnZXROZWFyZXN0SXRlbUluZGV4KCk7CiAgICAgIGFjdGl2ZUluZGV4ID09PSAwID8gaW5maW5pdGUgPyBnb1RvSXRlbURvdChpdGVtcy5sZW5ndGggLSAxKSA6IG51bGwgOiBnb1RvSXRlbURvdChhY3RpdmVJbmRleCAtIDEpOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBXb3chIGl0ZW1zIHBlciBwYWdlIGlzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBiZWluZyBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBjb250YWluZXIhIQogICAgY29uc3QgaXRlbXNQZXJQYWdlID0gaW5kaWNlcy5sZW5ndGg7CiAgICBjb25zdCBpc1Nob3dpbmdGaXJzdCA9IGluZGljZXNbMF0gPT09IDA7CiAgICBjb25zdCBwYWdlSW5kZXggPSBNYXRoLmZsb29yKGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdGaXJzdCA/IGl0ZW1zLmxlbmd0aCAtIDEgOiBpbmRpY2VzWzBdIC0gMTsKICAgICAgY29uc3QgcHJlcGFyZWQgPSBhd2FpdCBnZXRQcmVwYXJlZE5hdmlnYXRpb25UYXJnZXQodGFyZ2V0SW5kZXgsIC0xLCBpc1Nob3dpbmdGaXJzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImJlZm9yZSIgOiB1bmRlZmluZWQpOwogICAgICBpZiAoIXByZXBhcmVkKSByZXR1cm47CiAgICAgIGNvbnN0IHRhcmdldFNjcm9sbEluZGV4ID0gcHJlcGFyZWQuc2tpcHBlZCA/IHByZXBhcmVkLmluZGV4IDogaXNTaG93aW5nRmlyc3QgJiYgaW5maW5pdGVCZWhhdmlvciA/IGl0ZW1zLmxlbmd0aCA6IHByZXBhcmVkLmluZGV4OwogICAgICBnb1RvSXRlbSh0YXJnZXRTY3JvbGxJbmRleCwgcHJlcGFyZWQuc2tpcHBlZCA/ICJpbnN0YW50IiA6IHNjcm9sbCk7CiAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2socHJlcGFyZWQuaXRlbSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChvbmVCeW9uZSkgewogICAgICBpc1Nob3dpbmdGaXJzdCA/IGluZmluaXRlID8gZ29Ub0l0ZW0oaXRlbXMubGVuZ3RoIC0gMSkgOiBudWxsIDogZ29Ub0l0ZW0oaW5kaWNlc1swXSAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgZ29Ub0l0ZW0oaXNTaG93aW5nRmlyc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoIDogaXRlbXMubGVuZ3RoIC0gMSA6IChwYWdlSW5kZXggLSAxKSAqIGl0ZW1zUGVyUGFnZSk7CiAgICB9CiAgfTsKICBjb25zdCBvbkNsaWNrTmV4dCA9IGFzeW5jICgpPT57CiAgICBpZiAoc2Nyb2xsRG90cykgewogICAgICBjb25zdCBhY3RpdmVJbmRleCA9IGdldE5lYXJlc3RTY3JvbGxEb3RJbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gc2Nyb2xsRG90UG9zaXRpb25zLmxlbmd0aCAtIDEgPyBpbmZpbml0ZSA/IGdvVG9TY3JvbGxEb3QoMCkgOiBnb1RvU2Nyb2xsRG90KGFjdGl2ZUluZGV4KSA6IGdvVG9TY3JvbGxEb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBhY3RpdmVJbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSA/IGluZmluaXRlID8gZ29Ub0l0ZW1Eb3QoMCkgOiBudWxsIDogZ29Ub0l0ZW1Eb3QoYWN0aXZlSW5kZXggKyAxKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgaW5kaWNlcyA9IGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKCk7CiAgICBpZiAoaW5kaWNlcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gV293ISBpdGVtcyBwZXIgcGFnZSBpcyBob3cgbWFueSBlbGVtZW50cyBhcmUgYmVpbmcgZGlzcGxheWVkIGluc2lkZSB0aGUgY29udGFpbmVyISEKICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IGluZGljZXMubGVuZ3RoOwogICAgY29uc3QgaXNTaG93aW5nTGFzdCA9IGluZGljZXNbaW5kaWNlcy5sZW5ndGggLSAxXSA9PT0gaXRlbXMubGVuZ3RoIC0gMTsKICAgIGNvbnN0IHBhZ2VJbmRleCA9IE1hdGguZmxvb3IoaW5kaWNlc1swXSAvIGl0ZW1zUGVyUGFnZSk7CiAgICBpZiAocHJvZ3Jlc3NpdmVNZWRpYSAmJiBpdGVtc1BlclBhZ2UgPT09IDEgJiYgIW9uZUJ5b25lKSB7CiAgICAgIGlmICghYXdhaXQgcHJlcGFyZUl0ZW0oaXRlbXMuaXRlbShpbmRpY2VzWzBdKSkpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBpc1Nob3dpbmdMYXN0ID8gMCA6IGluZGljZXNbMF0gKyAxOwogICAgICBjb25zdCBwcmVwYXJlZCA9IGF3YWl0IGdldFByZXBhcmVkTmF2aWdhdGlvblRhcmdldCh0YXJnZXRJbmRleCwgMSwgaXNTaG93aW5nTGFzdCAmJiBpbmZpbml0ZUJlaGF2aW9yID8gImFmdGVyIiA6IHVuZGVmaW5lZCk7CiAgICAgIGlmICghcHJlcGFyZWQpIHJldHVybjsKICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsSW5kZXggPSBwcmVwYXJlZC5za2lwcGVkID8gcHJlcGFyZWQuaW5kZXggOiBpc1Nob3dpbmdMYXN0ICYmIGluZmluaXRlQmVoYXZpb3IgPyBpdGVtcy5sZW5ndGggKyAxIDogcHJlcGFyZWQuaW5kZXg7CiAgICAgIGdvVG9JdGVtKHRhcmdldFNjcm9sbEluZGV4LCBwcmVwYXJlZC5za2lwcGVkID8gImluc3RhbnQiIDogc2Nyb2xsKTsKICAgICAgdXBkYXRlVmlkZW9QbGF5YmFjayhwcmVwYXJlZC5pdGVtKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gZ29Ub0l0ZW0oaXNTaG93aW5nTGFzdCA/IDAgOiAoaW5kaWNlc1tpbmRpY2VzLmxlbmd0aCAtIDFdICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgaWYgKG9uZUJ5b25lKSB7CiAgICAgIGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZSA/IGdvVG9JdGVtKDApIDogbnVsbCA6IGdvVG9JdGVtKGluZGljZXNbMF0gKyAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdvVG9JdGVtKGlzU2hvd2luZ0xhc3QgPyBpbmZpbml0ZUJlaGF2aW9yID8gaXRlbXMubGVuZ3RoICsgMSA6IDAgOiAocGFnZUluZGV4ICsgMSkgKiBpdGVtc1BlclBhZ2UpOwogICAgfQogIH07CiAgY29uc3QgdXBkYXRlUGFnZURvdHMgPSAoKT0+ewogICAgaWYgKCFwYWdlRG90cyB8fCAhZG90cykgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBNYXRoLm1heChpbmRpY2VzLmxlbmd0aCwgMSk7CiAgICBjb25zdCBtYXhWaXNpYmxlID0gTWF0aC5tYXgoLi4uaW5kaWNlcyk7CiAgICBjb25zdCBwYWdlRG90SW5kZXggPSBNYXRoLmZsb29yKG1heFZpc2libGUgLyBpdGVtc1BlclBhZ2UpICogaXRlbXNQZXJQYWdlOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QsIGkpPT57CiAgICAgIGlmIChpICUgaXRlbXNQZXJQYWdlICE9PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0ocGFnZURvdEluZGV4KTsKICAgIGlmIChhY3RpdmVEb3QpIHsKICAgICAgQXJyYXkuZnJvbShkb3RzKS5maWx0ZXIoKF9kb3QsIGkpPT5pIDwgcGFnZURvdEluZGV4ICYmIGkgJSBpdGVtc1BlclBhZ2UgPT09IDApLmZvckVhY2goKGRvdCk9PmRvdC5zZXRBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIsICJ0cnVlIikpOwogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCB1cGRhdGVBY3RpdmVEb3QgPSAoKT0+ewogICAgaWYgKHNjcm9sbERvdHMpIHsKICAgICAgdXBkYXRlU2Nyb2xsRG90cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocGFnZURvdHMgfHwgIWRvdHMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0ZW1Eb3RzKSB7CiAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gZ2V0TmVhcmVzdEl0ZW1JbmRleCgpOwogICAgICBBcnJheS5mcm9tKGRvdHMpLmZvckVhY2goKGRvdCk9PnsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXBhaW50ZWQiKTsKICAgICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgICB9KTsKICAgICAgY29uc3QgYWN0aXZlRG90ID0gZG90cy5pdGVtKGFjdGl2ZUluZGV4KTsKICAgICAgaWYgKGFjdGl2ZURvdCkgewogICAgICAgIGFjdGl2ZURvdC5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgInRydWUiKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbmRpY2VzID0gZ2V0RWxlbWVudHNJbnNpZGVDb250YWluZXIoKT
3588sKICAgIGlmIChpbmRpY2VzLmxlbmd0aCA9PT0gMCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBhY3RpdmVJbmRleCA9IE1hdGgubWluKC4uLmluZGljZXMpOwogICAgQXJyYXkuZnJvbShkb3RzKS5mb3JFYWNoKChkb3QpPT57CiAgICAgIGRvdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcGFpbnRlZCIpOwogICAgICBkb3QucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpOwogICAgfSk7CiAgICBjb25zdCBhY3RpdmVEb3QgPSBkb3RzLml0ZW0oYWN0aXZlSW5kZXgpOwogICAgaWYgKGFjdGl2ZURvdCkgewogICAgICBhY3RpdmVEb3Quc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICJ0cnVlIik7CiAgICB9CiAgfTsKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBpZiAocGFnZURvdHMpIHsKICAgICAgdXBkYXRlUGFnZURvdHMoKTsKICAgIH0gZWxzZSB7CiAgICAgIHVwZGF0ZUFjdGl2ZURvdCgpOwogICAgfQogICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbSk9PnsKICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoaXRlbS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIikpIHx8IDA7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSBwcmVwYXJlRm9sbG93aW5nSXRlbShpbmRleCk7CiAgICAgIGlmICghaW5maW5pdGUpIHsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIHByZXY/LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCAiIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmV2Py5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChpbmRleCA9PT0gaXRlbXMubGVuZ3RoIC0gMSkgewogICAgICAgICAgaWYgKGl0ZW0uaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgbmV4dD8uc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsICIiKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQ/LnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICBpZiAocHJvZ3Jlc3MuaWQgPT0gIjAiICYmIGluZGV4ID09PSBpdGVtcy5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLmhlaWdodCA9IGAkezEgLyBpdGVtcy5sZW5ndGggKiAxMDB9JWA7CiAgICAgICAgICAgIHByb2dyZXNzLnN0eWxlLndpZHRoID0gYCR7MSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3MuaWQgPSAiMSI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcm9ncmVzcy5zdHlsZS5oZWlnaHQgPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgICAgcHJvZ3Jlc3Muc3R5bGUud2lkdGggPSBgJHsoaW5kZXggKyAxKSAvIGl0ZW1zLmxlbmd0aCAqIDEwMH0lYDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogIH0sIHsKICAgIHRocmVzaG9sZDogVEhSRVNIT0xELAogICAgcm9vdDogc2xpZGVyLAogICAgcm9vdE1hcmdpbjogIjEwMHB4IgogIH0pOwogIGNvbnN0IGZ1bGxPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZWxlbWVudHMpPT57CiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtKT0+ewogICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSBzbGlkZXI/LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpYCk7CiAgICAgIGlmIChpdGVtLmlzSW50ZXJzZWN0aW5nICYmIGVsZW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgaWYgKGl0ZW0udGFyZ2V0ID09IGN1cnJlbnRJdGVtc1sxXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbShpdGVtcy5sZW5ndGggLSAxLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICAgIGlmIChpdGVtLnRhcmdldCA9PT0gY3VycmVudEl0ZW1zW2N1cnJlbnRJdGVtcy5sZW5ndGggLSAyXSkgewogICAgICAgICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICBnb1RvSXRlbSgwLCAiaW5zdGFudCIpOwogICAgICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrKGl0ZW1zWzBdKTsKICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9LCB7CiAgICB0aHJlc2hvbGQ6IDAuNywKICAgIHJvb3Q6IHNsaWRlciwKICAgIHJvb3RNYXJnaW46ICIxMDBweCIKICB9KTsKICBjb25zdCBjb25maWd1cmVDbG9uZSA9IChjbG9uZSwgb3JpZ2luYWxJbmRleCwgcG9zaXRpb24pPT57CiAgICBjbG9uZS5kYXRhc2V0LnNsaWRlckNsb25lID0gInRydWUiOwogICAgY2xvbmUuZGF0YXNldC5zbGlkZXJPcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleC50b1N0cmluZygpOwogICAgY29uc3QgcmVnaXN0ZXJlZCA9IGNsb25lQnlPcmlnaW5hbEluZGV4LmdldChvcmlnaW5hbEluZGV4KSA/PyB7fTsKICAgIHJlZ2lzdGVyZWRbcG9zaXRpb25dID0gY2xvbmU7CiAgICBjbG9uZUJ5T3JpZ2luYWxJbmRleC5zZXQob3JpZ2luYWxJbmRleCwgcmVnaXN0ZXJlZCk7CiAgICBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1ldmVudF0sIFtkYXRhLWV2ZW50LXRyaWdnZXJdIikuZm9yRWFjaCgoZWxlbWVudCk9PnsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQiKTsKICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtZXZlbnQtdHJpZ2dlciIpOwogICAgfSk7CiAgICBpZiAoIXByb2dyZXNzaXZlTWVkaWEpIHJldHVybjsKICAgIGNsb25lLnF1ZXJ5U2VsZWN0b3JBbGwoInNvdXJjZVtzcmNzZXRdIikuZm9yRWFjaCgoc291cmNlKT0+ewogICAgICBzb3VyY2UuZGF0YXNldC5zcmNzZXQgPSBzb3VyY2Uuc3Jjc2V0OwogICAgICBzb3VyY2UucmVtb3ZlQXR0cmlidXRlKCJzcmNzZXQiKTsKICAgICAgc291cmNlLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsICJsb3ciKTsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaCgoaW1hZ2UpPT57CiAgICAgIGNvbnN0IHNvdXJjZSA9IGltYWdlLmdldEF0dHJpYnV0ZSgic3JjIik7CiAgICAgIGlmIChzb3VyY2UpIGltYWdlLmRhdGFzZXQuc3JjID0gc291cmNlOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoInNyY3NldCIpOwogICAgICBpbWFnZS5kYXRhc2V0LnNsaWRlckRlZmVycmVkSW1hZ2UgPSAidHJ1ZSI7CiAgICAgIGltYWdlLmxvYWRpbmcgPSAibGF6eSI7CiAgICAgIGltYWdlLmZldGNoUHJpb3JpdHkgPSAibG93IjsKICAgIH0pOwogICAgY2xvbmUucXVlcnlTZWxlY3RvckFsbCgidmlkZW8iKS5mb3JFYWNoKCh2aWRlbyk9PnsKICAgICAgY29uc3Qgc291cmNlID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgY29uc3QgcG9zdGVyID0gdmlkZW8uZ2V0QXR0cmlidXRlKCJwb3N0ZXIiKTsKICAgICAgaWYgKHNvdXJjZSkgdmlkZW8uZGF0YXNldC5zcmMgPSBzb3VyY2U7CiAgICAgIGlmIChwb3N0ZXIpIHZpZGVvLmRhdGFzZXQucG9zdGVyID0gcG9zdGVyOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpOwogICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoInBvc3RlciIpOwogICAgICB2aWRlby5wcmVsb2FkID0gIm5vbmUiOwogICAgfSk7CiAgfTsKICBpZiAoaW5maW5pdGVCZWhh
3588dmlvcikgewogICAgY29uc3QgZmlyc3RJdGVtQ2xvbmUgPSBpdGVtc1swXS5jbG9uZU5vZGUodHJ1ZSk7CiAgICBjb25zdCBzZWNvbmRJdGVtQ2xvbmUgPSBpdGVtc1sxXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgcGVudWx0aW1hdGVJdGVtQ2xvbmUgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAyXT8uY2xvbmVOb2RlKHRydWUpOwogICAgY29uc3QgbGFzdEl0ZW1DbG9uZSA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdLmNsb25lTm9kZSh0cnVlKTsKICAgIGNvbmZpZ3VyZUNsb25lKGZpcnN0SXRlbUNsb25lLCAwLCAiYWZ0ZXIiKTsKICAgIHNlY29uZEl0ZW1DbG9uZSAmJiBjb25maWd1cmVDbG9uZShzZWNvbmRJdGVtQ2xvbmUsIDEsICJhZnRlciIpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgY29uZmlndXJlQ2xvbmUocGVudWx0aW1hdGVJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDIsICJiZWZvcmUiKTsKICAgIGNvbmZpZ3VyZUNsb25lKGxhc3RJdGVtQ2xvbmUsIGl0ZW1zLmxlbmd0aCAtIDEsICJiZWZvcmUiKTsKICAgIGxhc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgaXRlbXMubGVuZ3RoLnRvU3RyaW5nKCkpOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmU/LnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zbGlkZXItaXRlbSIpOwogICAgZmlyc3RJdGVtQ2xvbmUuc2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlci1pdGVtIiwgKGl0ZW1zLmxlbmd0aCArIDEpLnRvU3RyaW5nKCkpOwogICAgc2Vjb25kSXRlbUNsb25lPy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc2xpZGVyLWl0ZW0iKTsKICAgIHNsaWRlci5pbnNlcnRCZWZvcmUobGFzdEl0ZW1DbG9uZSwgaXRlbXNbMF0pOwogICAgcGVudWx0aW1hdGVJdGVtQ2xvbmUgJiYgc2xpZGVyLmluc2VydEJlZm9yZShwZW51bHRpbWF0ZUl0ZW1DbG9uZSwgbGFzdEl0ZW1DbG9uZSk7CiAgICBzbGlkZXIuYXBwZW5kQ2hpbGQoZmlyc3RJdGVtQ2xvbmUpOwogICAgc2Vjb25kSXRlbUNsb25lICYmIHNsaWRlci5hcHBlbmRDaGlsZChzZWNvbmRJdGVtQ2xvbmUpOwogICAgZ29Ub0l0ZW0oMCwgImluc3RhbnQiKTsKICB9CiAgaWYgKHByb2dyZXNzaXZlTWVkaWEpIHsKICAgIHByZXBhcmVGb2xsb3dpbmdJdGVtKGdldEVsZW1lbnRzSW5zaWRlQ29udGFpbmVyKClbMF0gPz8gMCk7CiAgfQogIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHNsaWRlcj8ucXVlcnlTZWxlY3RvckFsbChgbGlgKTsKICBpdGVtcy5mb3JFYWNoKChpdGVtKT0+b2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKSk7CiAgaWYgKGluZmluaXRlQmVoYXZpb3IpIHsKICAgIGZ1bGxPYnNlcnZlci5vYnNlcnZlKGN1cnJlbnRJdGVtc1sxXSk7CiAgICBmdWxsT2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50SXRlbXNbY3VycmVudEl0ZW1zLmxlbmd0aCAtIDJdKTsKICB9CiAgaWYgKHBhZ2VEb3RzKSB7CiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpLmxlbmd0aDsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBjb25zdCBkb3QgPSBkb3RzPy5pdGVtKGl0KTsKICAgICAgaWYgKCFkb3QpIGNvbnRpbnVlOwogICAgICBpZiAoaXQgJSBpdGVtc1BlclBhZ2UgIT09IDApIHsKICAgICAgICBkb3QuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZG90LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwogICAgICAgIGRvdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmIChzY3JvbGxEb3RzKSB7CiAgICB1cGRhdGVTY3JvbGxEb3RzKCk7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKT0+Z29Ub1Njcm9sbERvdChpdCkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IobGV0IGl0ID0gMDsgaXQgPCAoZG90cz8ubGVuZ3RoID8/IDApOyBpdCsrKXsKICAgICAgZG90cz8uaXRlbShpdCkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKT0+ewogICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5pdGVtKGl0KTsKICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBnZXRFbGVtZW50c0luc2lkZUNvbnRhaW5lcigpWzBdID8/IDA7CiAgICAgICAgaWYgKHByb2dyZXNzaXZlTWVkaWEgJiYgKCFhd2FpdCBwcmVwYXJlSXRlbShpdGVtcy5pdGVtKGN1cnJlbnRJbmRleCkpIHx8ICFhd2FpdCBwcmVwYXJlSXRlbShpdGVtKSkpIHJldHVybjsKICAgICAgICBpdGVtRG90cyA/IGdvVG9JdGVtRG90KGl0KSA6IGdvVG9JdGVtKGl0KTsKICAgICAgICBpdGVtICYmIHVwZGF0ZVZpZGVvUGxheWJhY2soaXRlbSk7CiAgICAgIH0pOwogICAgfQogIH0KICBwcmV2Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tQcmV2KTsKICBuZXh0Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICBpZiAoc2Nyb2xsRG90cykgewogICAgc2xpZGVyLnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclggPSAiY29udGFpbiI7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgbm9ybWFsaXplU2Nyb2xsQm91bmRzLCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGVUb3VjaFN0YXJ0LCB7CiAgICAgIHBhc3NpdmU6IHRydWUKICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsIGhhbmRsZVRvdWNoTW92ZSwgewogICAgICBwYXNzaXZlOiBmYWxzZQogICAgfSk7CiAgICBnbG9iYWxUaGlzLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogIH0gZWxzZSBpZiAocGFnZURvdHMpIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVQYWdlRG90cyk7CiAgfSBlbHNlIHsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB1cGRhdGVBY3RpdmVEb3QpOwogIH0KICBsZXQgYXV0b3BsYXlUaW1lb3V0OwogIGNvbnN0IHNjaGVkdWxlQXV0b3BsYXkgPSAoKT0+ewogICAgaWYgKCFpbnRlcnZhbCB8fCAhcHJvZ3Jlc3NpdmVNZWRpYSkgcmV0dXJuOwogICAgYXV0b3BsYXlUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKT0+ewogICAgICBhd2FpdCBvbkNsaWNrTmV4dCgpOwogICAgICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgICB9LCBpbnRlcnZhbCk7CiAgfTsKICBzY2hlZHVsZUF1dG9wbGF5KCk7CiAgY29uc3QgYXV0b3BsYXlJbnRlcnZhbCA9IGludGVydmFsICYmICFwcm9ncmVzc2l2ZU1lZGlhID8gc2V0SW50ZXJ2YWwob25DbGlja05leHQsIGludGVydmFsKSA6IHVuZGVmaW5lZDsKICBsZXQgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyOwogIGZ1bmN0aW9uIGVuYWJsZUhvcml6b250YWxTY3JvbGwoKSB7CiAgICBpZiAoIXNsaWRlcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBsZXQgaXNNb3VzZURvd24gPSBmYWxzZTsKICAgIGxldCBzdGFydFg7CiAgICBsZXQgc2Nyb2xsTGVmdDsKICAgIGxldCB2ZWxvY2l0eSA9IDA7CiAgICBsZXQgbW9tZW50dW1GcmFtZTsKICAgIGNvbnN0IG1vbWVudHVtU2Nyb2xsID0gKCk9PnsKICAgICAgc2xpZGVyLnNjcm9sbExlZnQgKz0gdmVsb2NpdHk7CiAgICAgI
3588HZlbG9jaXR5ICo9IDAuOTU7CiAgICAgIGlmIChNYXRoLmFicyh2ZWxvY2l0eSkgPiAwLjEpIHsKICAgICAgICBtb21lbnR1bUZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG1vbWVudHVtU2Nyb2xsKTsKICAgICAgfQogICAgfTsKICAgIHNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAoZSk9PnsKICAgICAgaXNNb3VzZURvd24gPSB0cnVlOwogICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gImdyYWJiaW5nIjsKICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gImluaXRpYWwiOwogICAgICBzdGFydFggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIHNjcm9sbExlZnQgPSBzbGlkZXIuc2Nyb2xsTGVmdDsKICAgICAgdmVsb2NpdHkgPSAwOwogICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShtb21lbnR1bUZyYW1lKTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICBzbGlkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsICgpPT57CiAgICAgIGlmIChpc01vdXNlRG93bikgewogICAgICAgIGlzTW91c2VEb3duID0gZmFsc2U7CiAgICAgICAgc2xpZGVyLmRhdGFzZXRbImRyYWdnaW5nIl0gPSAiZmFsc2UiOwogICAgICAgIHNsaWRlci5zdHlsZS5jdXJzb3IgPSAiZ3JhYiI7CiAgICAgICAgc2xpZGVyLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gInNtb290aCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCAoKT0+ewogICAgICBpZiAoaXNNb3VzZURvd24pIHsKICAgICAgICBpc01vdXNlRG93biA9IGZhbHNlOwogICAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gImZhbHNlIjsKICAgICAgICBzbGlkZXIuc3R5bGUuY3Vyc29yID0gIm5vcm1hbCI7CiAgICAgICAgbW9tZW50dW1GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShtb21lbnR1bVNjcm9sbCk7CiAgICAgIH0KICAgIH0pOwogICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIChlKT0+ewogICAgICBpZiAoIWlzTW91c2VEb3duKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHggPSBlLnBhZ2VYIC0gc2xpZGVyLm9mZnNldExlZnQ7CiAgICAgIGNvbnN0IHdhbGsgPSAoeCAtIHN0YXJ0WCkgKiAwLjU7CiAgICAgIHNsaWRlci5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdCAtIHdhbGs7CiAgICAgIHZlbG9jaXR5ID0gLXdhbGsgKiAwLjI7CiAgICAgIHNsaWRlci5kYXRhc2V0WyJkcmFnZ2luZyJdID0gInRydWUiOwogICAgfSk7CiAgfQogIGlmIChkZXNrdG9wRHJhZ2dhYmxlKSB7CiAgICBzbGlkZXIuZGF0YXNldFsiZHJhZ2dhYmxlIl0gPSAidHJ1ZSI7CiAgICBlbmFibGVIb3Jpem9udGFsU2Nyb2xsKCk7CiAgfQogIGlmIChzY3JvbGxEb3RzICYmICJSZXNpemVPYnNlcnZlciIgaW4gZ2xvYmFsVGhpcykgewogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZVNjcm9sbERvdHMpOwogICAgc2Nyb2xsRG90c1Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2xpZGVyKTsKICB9CiAgLy8gVW5yZWdpc3RlciBjYWxsYmFja3MKICByZXR1cm4gKCk9PnsKICAgIGZvcihsZXQgaXQgPSAwOyBpdCA8IChkb3RzPy5sZW5ndGggPz8gMCk7IGl0KyspewogICAgICBkb3RzPy5pdGVtKGl0KS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsICgpPT5nb1RvSXRlbShpdCkpOwogICAgfQogICAgcHJldj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvbkNsaWNrUHJldik7CiAgICBuZXh0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIG9uQ2xpY2tOZXh0KTsKICAgIGlmIChzY3JvbGxEb3RzKSB7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBub3JtYWxpemVTY3JvbGxCb3VuZHMpOwogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlU2Nyb2xsRG90cyk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgaGFuZGxlVG91Y2hTdGFydCk7CiAgICAgIHNsaWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBoYW5kbGVUb3VjaE1vdmUpOwogICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZVNjcm9sbERvdHMpOwogICAgfSBlbHNlIGlmIChwYWdlRG90cykgewogICAgICBzbGlkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgdXBkYXRlUGFnZURvdHMpOwogICAgfSBlbHNlIHsKICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZUFjdGl2ZURvdCk7CiAgICB9CiAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICBzY3JvbGxEb3RzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTsKICAgIGlmIChhdXRvcGxheVRpbWVvdXQpIGNsZWFyVGltZW91dChhdXRvcGxheVRpbWVvdXQpOwogICAgaWYgKGF1dG9wbGF5SW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoYXV0b3BsYXlJbnRlcnZhbCk7CiAgfTsKfSkoeyJyb290SWQiOiJQMC0zMjI5ODg2MDUiLCJpbmZpbml0ZSI6dHJ1ZSwib25lQnlvbmUiOnRydWUsImRlc2t0b3BEcmFnZ2FibGUiOmZhbHNlfSkpKQ==" defer nonce="16c268fd223f430b98c07279b4c2abab"></script>
3588</div></div></section><section id="3116416930-0" data-manifest-key="site/sections/Images/BannerCollection.tsx"><div style="gap:0px;padding-top:30px;padding-bottom:0px;" class="w-full flex md:flex-row flex-col"><a href="https://farmrio.onelink.me/VoZj/e48c7a23" target="_self" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bfaixa%5D%20ainda%20n%C3%A3o%20tem%20o%20app%20FARM%20Rio%3F%22%2C%22creative_name%22%3A%22banner_collection%22%2C%22creative_slot%22%3A%22banner_collection%3A%5Bfarm%20rio%5D%20%5Bfaixa%5D%20ainda%20n%C3%A3o%20tem%20o%20app%20FARM%20Rio%3F%3A1%22%2C%22promotion_url%22%3A%22https%3A%2F%2Ffarmrio.onelink.me%2FVoZj%2Fe48c7a23%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [faixa] ainda não tem o app FARM Rio?&quot;,&quot;creative_name&quot;:&quot;banner_collection&quot;,&quot;creative_slot&quot;:&quot;banner_collection:[farm rio] [faixa] ainda não tem o app FARM Rio?:1&quot;,&quot;promotion_url&quot;:&quot;https://farmrio.onelink.me/VoZj/e48c7a23&quot;,&quot;url&quot;:&quot;https://farmrio.onelink.me/VoZj/e48c7a23&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [faixa] ainda não tem o app FARM Rio?\&quot;,\&quot;creative_name\&quot;:\&quot;banner_collection\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_collection:[farm rio] [faixa] ainda não tem o app FARM Rio?:1\&quot;,\&quot;promotion_url\&quot;:\&quot;https://farmrio.onelink.me/VoZj/e48c7a23\&quot;}})&quot;})" class="w-full"><figure class="w-full"><picture style="--banner-mobile-aspect-ratio:412 / 75;--banner-desktop-aspect-ratio:1440 / 106;" class="block w-full bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"><source media="(max-width: 767px)" srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;height=75&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F07_JULHO%2F29_TARJA_BENEFICIOS%2Fmob%2F29-07-26-home-banner-7-titulo-tarja-beneficios-mobile.jpg 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;height=150&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F07_JULHO%2F29_TARJA_BENEFICIOS%2Fmob%2F29-07-26-home-banner-7-titulo-tarja-beneficios-mobile.jpg 824w" width="412" height="75" sizes="100vw" fetchpriority="low"/><source media="(min-width: 768px)" srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;height=106&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F07_JULHO%2F29_TARJA_BENEFICIOS%2Fdesk%2F29-07-26-home-banner-7-titulo-tarja-beneficios-desktop.jpg 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;height=212&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2F2026%2F07_JULHO%2F29_TARJA_BENEFICIOS%2Fdesk%2F29-07-26-home-banner-7-titulo-tarja-beneficios-desktop.jpg 2880w" width="1440" height="106" sizes="100vw" fetchpriority="low"/><img loading="lazy" fetchpriority="low" src="https://cf.farmriosoma.farmrio.com.br/site/2026/07_JULHO/29_TARJA_BENEFICIOS/desk/29-07-26-home-banner-7-titulo-tarja-beneficios-desktop.jpg" alt="[farm rio] [faixa] ainda não tem o app FARM Rio?" width="1440" height="106" class="block w-full h-auto"/></picture></figure></a></div></section><section id="2312394133-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;
3588renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2222%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="padding-top:-20px;" class="w-full flex flex-col"><div class="grid w-full grid-cols-[48px_1fr_48px]"><ul class="carousel carousel-start col-span-full row-start-2 row-end-5 w-full"><li data-slider-item="0" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="1" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="2" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="3" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="4" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="5" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="6" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="7" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="8" class="carousel-item md:w-[18%] mx-auto w-1/2"><div class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li></ul><div class="relative block z-10 col-start-1 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md left-4 w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="rotate-180 text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowLeft"></use></svg></span></div><div class="relative block z-10 col-start-3 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowRight"></use></svg></span></div></div></div></div></section><section id="3528015081-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2223%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="gap:0px;padding-top:0px;padding-bottom:20px;" class="w-full flex md:flex-row flex-col"><div style="--banner-mobile-aspect-ratio:412 / 31;--banner-desktop-aspect-ratio:1440 / 70;" class="w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"></div></div></div></section><section id="4069251363-0" data-manifest-key="site/sections/Images/BannerCollection.tsx"><div style="gap:0px;padding-top:0px;padding-bottom:20px;" class="w-full flex md:flex-row flex-col"><a href="/farm-etc/novidades" target="_self" data-event="%7B%22name%22%3A%22view_promotion%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22region%22%3A%22home%22%2C%22promotion_name%22%3A%22%5Bfarm%20rio%5D%20%5Bbanner%20novidades%20etc%5D%20lan%C3%A7amento%3A%20bolsa%20de%20praia%20listra%20floral%20FARM%20Etc.%20leva%20agora%22%2C%22creative_name%22%3A%22banner_collection%22%2C%22creative_slot%22%3A%22banner_collection%3A%5Bfarm%20rio%5D%20%5Bbanner%20novidades%20etc%5D%20lan%C3%A7amento%3A%20bolsa%20de%20praia%20listra%20floral%20FARM%20Etc.%20leva%20agora%3A1%22%2C%22promotion_url%22%3A%22%2Ffarm-etc%2Fnovidades%22%7D%7D%7D" data-event-trigger="view" data-has-commerce="true" hx-on:click="(function handleBannerClick({promotion_name:e,creative_slot:n,
3588creative_name:t,url:r,fn:a}){const o={creative_name:t,creative_slot:n,promotion_name:e,url:r,expiresAt:Date.now()+6e5};localStorage.setItem(&quot;lastClickedBanner&quot;,JSON.stringify(o)),a&amp;&amp;&quot;string&quot;==typeof a&amp;&amp;new Function(`return ${a}`)()})({&quot;region&quot;:&quot;home&quot;,&quot;promotion_name&quot;:&quot;[farm rio] [banner novidades etc] lançamento: bolsa de praia listra floral FARM Etc. leva agora&quot;,&quot;creative_name&quot;:&quot;banner_collection&quot;,&quot;creative_slot&quot;:&quot;banner_collection:[farm rio] [banner novidades etc] lançamento: bolsa de praia listra floral FARM Etc. leva agora:1&quot;,&quot;promotion_url&quot;:&quot;/farm-etc/novidades&quot;,&quot;url&quot;:&quot;/farm-etc/novidades&quot;,&quot;fn&quot;:&quot;(function dispatchSelectPromotionEvent(o){globalThis.window.DECO.events.dispatch({name:\&quot;select_promotion\&quot;,params:o})})({\&quot;adapter\&quot;:\&quot;DECO\&quot;,\&quot;brand\&quot;:\&quot;farmrio\&quot;,\&quot;meta\&quot;:{\&quot;region\&quot;:\&quot;home\&quot;,\&quot;promotion_name\&quot;:\&quot;[farm rio] [banner novidades etc] lançamento: bolsa de praia listra floral FARM Etc. leva agora\&quot;,\&quot;creative_name\&quot;:\&quot;banner_collection\&quot;,\&quot;creative_slot\&quot;:\&quot;banner_collection:[farm rio] [banner novidades etc] lançamento: bolsa de praia listra floral FARM Etc. leva agora:1\&quot;,\&quot;promotion_url\&quot;:\&quot;/farm-etc/novidades\&quot;}})&quot;})" class="w-full"><figure class="w-full"><picture class="block w-full bg-[#f2f2f2] [aspect-ratio:var(--banner-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--banner-desktop-aspect-ratio,auto)]"><source media="(max-width: 767px)" srcset="https://decoims.com/image?fit=cover&amp;width=412&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2FETC%2F2026%2F09_SETEMBRO%2F22_BANNER-NOVIDADES%2F22-09-26-farmrio-home-banner-1-tv-novidades-mobile.jpg%3Fauthuser%3D0 412w, https://decoims.com/image?fit=cover&amp;width=824&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2FETC%2F2026%2F09_SETEMBRO%2F22_BANNER-NOVIDADES%2F22-09-26-farmrio-home-banner-1-tv-novidades-mobile.jpg%3Fauthuser%3D0 824w" sizes="100vw" fetchpriority="low"/><source media="(min-width: 768px)" srcset="https://decoims.com/image?fit=cover&amp;width=1440&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2FETC%2F2026%2F09_SETEMBRO%2F22_BANNER-NOVIDADES%2F22-09-26-farmrio-home-banner-1-tv-novidades-desktop.jpg%3Fauthuser%3D0 1440w, https://decoims.com/image?fit=cover&amp;width=2880&amp;quality=high&amp;src=https%3A%2F%2Fcf.farmriosoma.farmrio.com.br%2Fsite%2FETC%2F2026%2F09_SETEMBRO%2F22_BANNER-NOVIDADES%2F22-09-26-farmrio-home-banner-1-tv-novidades-desktop.jpg%3Fauthuser%3D0 2880w" sizes="100vw" fetchpriority="low"/><img loading="lazy" fetchpriority="low" src="https://cf.farmriosoma.farmrio.com.br/site/ETC/2026/09_SETEMBRO/22_BANNER-NOVIDADES/22-09-26-farmrio-home-banner-1-tv-novidades-desktop.jpg?authuser=0" alt="[farm rio] [banner novidades etc] lançamento: bolsa de praia listra floral FARM Etc. leva agora" class="block w-full h-auto"/></picture></figure></a></div></section><section id="2253551846-0" data-manifest-key="website/sections/Rendering/Lazy.tsx"><div hx-get="/deco/render?props=%7B%22loading%22%3A%22eager%22%7D&amp;href=https%3A%2F%2Fwww.farmrio.com.br%2F&amp;pathTemplate=%2F&amp;renderSalt=0&amp;__cb=3902806881&amp;resolveChain=%5B2%2C%22website%2Fhandlers%2Ffresh.ts%22%2C0%2C%22page%22%2C2%2C%22resolved%22%2C1%2C%22pages-home-c4bcbfb771e9%22%2C2%2C%22website%2Fpages%2FPage.tsx%22%2C0%2C%22sections%22%2C2%2C%22website%2Fflags%2Fmultivariate.ts%22%2C0%2C%22variants%22%2C0%2C%221%22%2C0%2C%22value%22%2C2%2C%22resolved%22%2C0%2C%2227%22%5D" hx-trigger="intersect once threshold:0.0" hx-target="closest section" hx-swap="outerHTML transition:true"><div style="padding-top:0px;padding-bottom:0px;" class="w-full flex flex-col"><div class="grid w-full grid-cols-[48px_1fr_48px]"><ul class="carousel carousel-start col-span-full row-start-2 row-end-5 w-full">
3588<li data-slider-item="0" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="1" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="2" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li><li data-slider-item="3" class="carousel-item md:w-1/3 w-full"><div style="--category-mobile-aspect-ratio:0.7714285714285715;--category-desktop-aspect-ratio:0.6666666666666666;" class="block w-full rounded-none bg-[#f2f2f2] [aspect-ratio:var(--category-mobile-aspect-ratio,auto)] md:[aspect-ratio:var(--category-desktop-aspect-ratio,auto)]"></div></li></ul><div class="relative block z-10 col-start-1 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md left-4 w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="rotate-180 text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowLeft"></use></svg></span></div><div class="relative block z-10 col-start-3 row-start-3"><span class="absolute top-[calc(50%-20px)] drop-shadow-md w-9 h-9 flex justify-center items-center"><svg width="36" height="36" stroke-width="3" class="text-accent fill-current"><use href="/sprites.svg?__deco_c=2#ArrowRight"></use></svg></span></div></div></div></div></section><section id="1780992954-0" data-manifest-key="site/sections/Footer/Footer.tsx"><footer class="w-full flex flex-col md:border-t md:border-neutral md:pb-0 pb-16 md:mt-8 bg-accent text-accent-content"><div class="md:border-t md:border-neutral md:pt-[60px]"><div class="flex flex-col md:px-10 max-w-[1600px] md:mx-auto"><div class="grid grid-cols-2 md:grid-cols-7 grid-rows-[auto_auto_auto] md:grid-rows-[64px_auto] gap-0 md:pb-[60px] md:mb-0 mb-6"><div class="order-2 md:order-1 col-span-2 md:col-span-5 md:row-span-2"><ul class="hidden md:flex flex-row md:pr-10 w-full md:justify-between md:pt-0 pt-5 md:border-r md:border-base-300 false"><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><span class="mb-3.5">Institucional</span><ul class="flex flex-col gap-2 flex-wrap text-xs"><li><a href="/sobre-farm" aria-label="A FARM" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AA%20FARM%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">A FARM</a></li><li><a href="/farm-etc/sobre-farm-etc" aria-label="FARM Etc" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AFARM%20Etc%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">FARM Etc</a></li><li><a href="/nossas-lojas" aria-label="Nossas lojas" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3ANossas%20lojas%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Nossas lojas</a></li><li><a href="https://farm.gupy.io/" aria-label="Trabalhe aqui" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3ATrabalhe%20aqui%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Trabalhe aqui</a></li><li><a href="/fabula-na-farm" aria-label="Fábula na FARM" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AF%C3%A1bula%20na%20FARM%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Fábula na FARM</a></li><li><a href="https://www.azzas2154.com.br/" aria-label="Azzas 2154" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AAzzas%202154%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Azzas 2154</a></li><li><a href="/institucional/multimarcas" aria-label="Multimarcas" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AMultimarcas%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Multimarcas</a></li><li><a href="/farm-friday" aria-label="Farm Friday" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AFarm%20Friday%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Farm Friday</a></li><li><a href="/fabula-e-bento/novidades" aria-label="Fábula" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AInstitucional%3AF%C3%A1bula%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Fábula</a></li></ul></div></li><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><a href="/account" aria-label="Minha conta" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AMinha%20conta%22%7D%7D%7D" data-event-trigger="click" class="mb-3.5"><span>Minha conta</span></a><ul class="flex flex-col gap-2 flex-wrap text-xs">
3588<li><a href="/account#/orders" aria-label="Meus pedidos" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AMinha%20conta%3AMeus%20pedidos%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Meus pedidos</a></li><li><a href="/wishlist" aria-label="Meus desejos" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AMinha%20conta%3AMeus%20desejos%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Meus desejos</a></li></ul></div></li><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><span class="mb-3.5">Fala FARM</span><ul class="flex flex-col gap-2 flex-wrap text-xs"><li><a href="http://wa.me/552137337701" aria-label="Falar via Whatsapp" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFala%20FARM%3AFalar%20via%20Whatsapp%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Falar via Whatsapp</a></li></ul></div></li><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><a href="/fala-farm" aria-label="Precisa de ajuda?" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%22%7D%7D%7D" data-event-trigger="click" class="mb-3.5"><span>Precisa de ajuda?</span></a><ul class="flex flex-col gap-2 flex-wrap text-xs"><li><a href="/fala-farm#!section_360007328691" aria-label="Meus pedidos" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3AMeus%20pedidos%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Meus pedidos</a></li><li><a href="/fala-farm#!section_360007233792" aria-label="Troca e devolução" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3ATroca%20e%20devolu%C3%A7%C3%A3o%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Troca e devolução</a></li><li><a href="/fala-farm#!section_360007233832" aria-label="Entrega" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3AEntrega%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Entrega</a></li><li><a href="/fala-farm#!section_360007328671" aria-label="Promoções e cupons" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3APromo%C3%A7%C3%B5es%20e%20cupons%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Promoções e cupons</a></li><li><a href="/fala-farm#!section_360007233692" aria-label="Produtos" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3AProdutos%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Produtos</a></li><li><a href="/institucional/politicas#regulamento-promo" aria-label="Regulamento de promo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3ARegulamento%20de%20promo%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Regulamento de promo</a></li><li><a href="/institucional/politicas" aria-label="Políticas" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3APol%C3%ADticas%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Políticas</a></li><li><a href="/institucional/aviso-de-privacidade" aria-label="Aviso de privacidade" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3APrecisa%20de%20ajuda%3F%3AAviso%20de%20privacidade%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Aviso de privacidade</a></li></ul></div></li><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><a href="/sustentabilidade" aria-label="Sustentabilidade" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%22%7D%7D%7D" data-event-trigger="click" class="mb-3.5"><span>
3588Sustentabilidade</span></a><ul class="flex flex-col gap-2 flex-wrap text-xs"><li><a href="/sustentabilidade/circularidade" aria-label="Circularidade" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3ACircularidade%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Circularidade</a></li><li><a href="/sustentabilidade/gente" aria-label="Gente" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3AGente%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Gente</a></li><li><a href="/sustentabilidade/cultura" aria-label="Cultura" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3ACultura%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Cultura</a></li><li><a href="/sustentabilidade/natureza" aria-label="Natureza" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3ANatureza%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Natureza</a></li><li><a href="/transparencia" aria-label="Transparência" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3ATranspar%C3%AAncia%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Transparência</a></li><li><a href="/re-farm" aria-label="Re-FARM" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3ARe-FARM%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Re-FARM</a></li><li><a href="/institucional/fornecedores" aria-label="Fornecedores" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3ASustentabilidade%3AFornecedores%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Fornecedores</a></li></ul></div></li><li class="px-2.5"><div class="flex flex-col gap-2 text-base font-ligth text-secondary"><span class="mb-3.5">FARM Latam</span><ul class="flex flex-col gap-2 flex-wrap text-xs"><li><a href="https://www.farmrio.com.ar/" aria-label="Argentina" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AArgentina%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Argentina</a></li><li><a href="https://www.farmrio.cl/" aria-label="Chile" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AChile%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Chile</a></li><li><a href="https://www.farmrio.com.co/" aria-label="Colômbia" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3ACol%C3%B4mbia%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Colômbia</a></li><li><a href="https://www.farmrio.com.py/" aria-label="Paraguai" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AParaguai%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Paraguai</a></li><li><a href="https://www.farmrio.com.pe/" aria-label="Peru" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3APeru%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Peru</a></li><li><a href="https://www.farmrio.com.uy/" aria-label="Uruguai" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AUruguai%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Uruguai</a></li><li><a href="https://www.farmrio.com.bo/" aria-label="Bolívia" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3ABol%C3%ADvia%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Bolívia</a></li><li><a href="https://www.farmrio.com.ve/" aria-label="Venezuela" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AVenezuela%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Venezuela</a></li><li><a href="https://www.farmrio.com.pa/" aria-label="Panamá" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3APanam%C3%A1%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Panamá</a></li><li>
3588<a href="https://www.farmrio.com.ec/" aria-label="Equador" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Alink%3AFARM%20Latam%3AEquador%22%7D%7D%7D" data-event-trigger="click" class="block mb-3.5 link link-hover">Equador</a></li></ul></div></li></ul></div><div class="order-1 md:order-2 col-span-2 md:col-start-6 md:col-end-8 md:row-start-1 md:row-span-1 md:pl-14 mx-[30px] md:mx-0"><div class="w-full py-10 md:py-0  md:border-b-0 border-b border-base"><ul class="flex justify-center md:justify-between w-full items-center"><li class="md:w-[42px] w-[50px] items-center"><a href="https://www.facebook.com/adorofarm" target="_blank" rel="noopener noreferrer" aria-label="Facebook Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Afacebook%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Facebook"></use></svg></span></a></li><li class="md:w-[42px] w-[50px] items-center"><a href="http://twitter.com/adorofarm/" target="_blank" rel="noopener noreferrer" aria-label="Twitter Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Atwitter%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Twitter"></use></svg></span></a></li><li class="md:w-[42px] w-[50px] items-center"><a href="https://www.instagram.com/adorofarm/" target="_blank" rel="noopener noreferrer" aria-label="Instagram Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Ainstagram%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Instagram"></use></svg></span></a></li><li class="md:w-[42px] w-[50px] items-center"><a href="https://br.pinterest.com/adorofarm/" target="_blank" rel="noopener noreferrer" aria-label="Pinterest Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Apinterest%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Pinterest"></use></svg></span></a></li><li class="md:w-[42px] w-[50px] items-center"><a href="http://www.youtube.com/user/farmrio/" target="_blank" rel="noopener noreferrer" aria-label="Youtube Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Ayoutube%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Youtube"></use></svg></span></a></li><li class="md:w-[42px] w-[50px] items-center"><a href="https://open.spotify.com/user/radio_farm?si=7gKh4wzWT7yYQxIZv7RjQA&amp;utm_source=copy-link&amp;nd=1&amp;dlsi=161756badae94b6e" target="_blank" rel="noopener noreferrer" aria-label="Spotify Logo" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Asocial%3Alink%3Aspotify%22%7D%7D%7D" data-event-trigger="click" class="mr-0 md:mr-5 items-center w-full"><span><svg width="18" height="18" stroke-width="16" class="md:w-[23px] md:h-auto md:ml-0 ml-[14px]"><use href="/sprites.svg?__deco_c=2#Spotify"></use></svg></span></a></li></ul></div><div class=" hidden md:flex order-3 md:order-3 col-span-2 md:col-start-6 md:col-end-8 md:row-start-2 h-fit justify-center items-center"><div class="flex items-center justify-evenly md:justify-start md:pt-6 gap-14 md:gap-0 md:mt-0 md:border-t md:border-base-300 w-full pb-4 md:pb-0"><a href="/selo-b" target="_blank" aria-label="Selo B" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Aselos%3Aseguranca%3A%2Fselo-b%7D%22%7D%7D%7D" data-event-trigger="click" class="md:even:pl-6 md:odd:pr-6 md:odd:border-r md:odd:border-gray-200"><img loading="lazy" width="78" height="128" src="https://decoims.com/farmrio/3e898c86-eaab-48cf-ae29-baa5c22ae07a/1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png" alt="Selo B" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=78&amp;height=128&amp;quality=high&amp;src=farmrio%2F3e898c86-eaab-48cf-ae29-baa5c22ae07a%2F1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png 78w, https://decoims.com/image?fit=cover&amp;width=156&amp;height=256&amp;quality=high&amp;src=farmrio%2F3e898c86-eaab-48cf-ae29-baa5c22ae07a%2F1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png 156w"/></a><a href="/sustentabilidade/mil-arvores-por-dia" target="_blank" aria-label="Mil árvores por dia" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Aselos%3Aseguranca%3A%2Fsustentabilidade%2Fmil-arvores-por-dia%7D%22%7D%7D%7D" data-event-trigger="click" data-fresh-key="1" class="md:even:pl-6 md:odd:pr-6 md:odd:border-r md:odd:border-gray-200"><img loading="lazy" width="104" height="140" src="https://decoims.com/farmrio/2b79a580-e670-45ef-afe7-8ffcdf676aa7/1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png" alt="Mil árvores por dia" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=104&amp;height=140&amp;quality=high&amp;src=farmrio%2F2b79a580-e670-45ef-afe7-8ffcdf676aa7%2F1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png 104w, https://decoims.com/image?fit=cover&amp;width=208&amp;height=280&amp;quality=high&amp;src=farmrio%2F2b79a580-e670-45ef-afe7-8ffcdf676aa7%2F1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png 208w"/></a></div></div></div></div><div class="md:hidden order-3 md:order-3 col-span-2 md:col-start-6 md:col-end-8 md:row-start-2 h-fit justify-center items-center"><div class="flex items-center justify-evenly md:justify-start md:pt-6 gap-14 md:gap-0 md:mt-0 md:border-t md:border-base-300 w-full pb-4 md:pb-0"><a href="/selo-b" target="_blank" aria-label="Selo B" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Aselos%3Aseguranca%3A%2Fselo-b%7D%22%7D%7D%7D" data-event-trigger="click" class="md:even:pl-6 md:odd:pr-6 md:odd:border-r md:odd:border-gray-200"><img loading="lazy" width="78" height="128" src="https://decoims.com/farmrio/3e898c86-eaab-48cf-ae29-baa5c22ae07a/1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png" alt="Selo B" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=78&amp;height=128&amp;quality=high&amp;src=farmrio%2F3e898c86-eaab-48cf-ae29-baa5c22ae07a%2F1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png 78w, https://decoims.com/image?fit=cover&amp;width=156&amp;height=256&amp;quality=high&amp;src=farmrio%2F3e898c86-eaab-48cf-ae29-baa5c22ae07a%2F1742400129966-fdc0e6ff-f891-4073-870c-aac6ca328081.png 156w"/></a><a href="/sustentabilidade/mil-arvores-por-dia" target="_blank" aria-label="Mil árvores por dia" data-event="%7B%22name%22%3A%22select_content%22%2C%22params%22%3A%7B%22adapter%22%3A%22DECO%22%2C%22brand%22%3A%22farmrio%22%2C%22meta%22%3A%7B%22content_type%22%3A%22footer%3Aselos%3Aseguranca%3A%2Fsustentabilidade%2Fmil-arvores-por-dia%7D%22%7D%7D%7D" data-event-trigger="click" data-fresh-key="1" class="md:even:pl-6 md:odd:pr-6 md:odd:border-r md:odd:border-gray-200"><img loading="lazy" width="104" height="140" src="https://decoims.com/farmrio/2b79a580-e670-45ef-afe7-8ffcdf676aa7/1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png" alt="Mil árvores por dia" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=104&amp;height=140&amp;quality=high&amp;src=farmrio%2F2b79a580-e670-45ef-afe7-8ffcdf676aa7%2F1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png 104w, https://decoims.com/image?fit=cover&amp;width=208&amp;height=280&amp;quality=high&amp;src=farmrio%2F2b79a580-e670-45ef-afe7-8ffcdf676aa7%2F1742400131225-d3d6046d-19ea-4e95-af16-5b9b9b16de1c.png 208w"/></a></div></div></div><span class="border-b w-full md:flex hidden"></span><div class="flex flex-col md:px-0 px-[30px]"><address class="font-light flex md:items-center md:justify-center py-5 w-full md:text-xs text-[11px] not-italic md:text-center md:order-first order-last px-x text-[#8
3588c8c8c]">FARM RIO CIDADE MARAVILHOSA INDUSTRIA E COMERCIO DE ROUPAS SA. - Av Coronel Phidias Tavora 360, Blc 1 Armazém 1 - Pavuna - Rio de Janeiro - RJ - CEP: 21535-510. CNPJ: 09.611.669/0005-18  </address><div class="w-full flex"><div class="w-full border-b border-primary-content md:border-inherit"></div></div><address class="flex items-center md:justify-center py-6 pl-3 w-full text-[11px] md:text-xs not-italic text-center text-[#8c8c8c] font-light"><a href="/maps">Mapa do site</a></address><div class="w-full flex"><div class="w-full border-b border-primary-content md:border-inherit"></div></div><div class="md:hidden flex items-center justify-evenly px-x py-14 h-10 border-b border-primary-content"><a href="https://apps.apple.com/br/app/farm/id1545434715"><img src="https://decoims.com/farmrio/962faa18-7b04-48ef-b332-4b087fd379ea/1742400127063-e85b83df-eccd-4907-af4c-fabf149ef043.svg" width="118" height="38" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=118&amp;height=38&amp;quality=high&amp;src=farmrio%2F962faa18-7b04-48ef-b332-4b087fd379ea%2F1742400127063-e85b83df-eccd-4907-af4c-fabf149ef043.svg 118w, https://decoims.com/image?fit=cover&amp;width=236&amp;height=76&amp;quality=high&amp;src=farmrio%2F962faa18-7b04-48ef-b332-4b087fd379ea%2F1742400127063-e85b83df-eccd-4907-af4c-fabf149ef043.svg 236w" loading="lazy"/><div class="w-full flex"><div class="w-full border-b border-primary-content md:border-inherit"></div></div></a><a href="https://play.google.com/store/apps/details?id=br.com.farmrio.app" data-fresh-key="1"><img src="https://decoims.com/farmrio/864014b6-5c95-4341-92b3-16dc7b369bf7/1742400128475-75c9364f-8274-4a70-b9b2-fd5e246e3461.svg" width="118" height="39" data-fresh-disable-lock="true" srcset="https://decoims.com/image?fit=cover&amp;width=118&amp;height=39&amp;quality=high&amp;src=farmrio%2F864014b6-5c95-4341-92b3-16dc7b369bf7%2F1742400128475-75c9364f-8274-4a70-b9b2-fd5e246e3461.svg 118w, https://decoims.com/image?fit=cover&amp;width=236&amp;height=78&amp;quality=high&amp;src=farmrio%2F864014b6-5c95-4341-92b3-16dc7b369bf7%2F1742400128475-75c9364f-8274-4a70-b9b2-fd5e246e3461.svg 236w" loading="lazy"/><div class="w-full flex"><div class="w-full border-b border-primary-content md:border-inherit"></div></div></a></div><div class="flex items-center justify-center w-full md:py-5 flex-wrap"><div class="w-full flex items-center justify-center py-4 flex-nowrap gap-0 sm:gap-4"><div class="flex items-center justify-center shrink-0 scale-[0.8] sm:scale-[1]"><div class="flex gap-1 items-center text-black"><svg width="18" height="24" viewBox="0 0 18 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="min-width: 24px;"><path d="M9.35355 14.6464C9.54882 14.8417 9.54882 15.1582 9.35355 15.3535C9.15829 15.5488 8.84171 15.5488 8.64645 15.3535C8.45118 15.1582 8.45118 14.8417 8.64645 14.6464C8.84171 14.4511 9.15829 14.4511 9.35355 14.6464Z" stroke="currentColor" stroke-linejoin="round"></path><path d="M9 15.5V18.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M0.5 9.5H17.5V23.5H0.5V9.5Z" stroke="currentColor" stroke-linejoin="round"></path><path d="M3.5 6C3.5 2.962 5.962 0.5 9 0.5C12.038 0.5 14.5 2.962 14.5 6V9.5H3.5V6Z" stroke="currentColor" stroke-linejoin="round"></path></svg><span style="width: 50px; line-height: 1;">site seguro</span></div></div><div class="flex items-center justify-center shrink-0 scale-[0.8] sm:scale-[1]"><div class="flex gap-1 items-center text-black"><img src="https://lojafarm.vtexassets.com/arquivos/let.png?v=637949560347830000" width="110" height="24"></div></div><div class="flex items-center justify-center shrink-0 scale-[0.8] sm:scale-[1]"><div class="flex gap-1 items-center text-black"><div id="reputation-ra">
3588<script defer="true" type="text/javascript" id="ra-embed-reputation" src="https://s3.amazonaws.com/raichu-beta/selos/bundle.js" data-id="MTEyNjU6ZmFybS1yaW8=" data-target="reputation-ra" data-model="2"></script>
3588</div></div></div></div></div></div></div></footer></section></body></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.