{"version":3,"sources":["prebid.js","iiq.js","pricing.js","https://adncdn.net/0"],"names":["window","document","detectDevice","ua","navigator","userAgent","test","detectOsType","toLowerCase","includes","getDaypart","hour","Date","getHours","async","trackEvent","eventType","data","Math","random","auctionData","removeAdProperty","obj","Array","isArray","map","item","cleaned","key","hasOwnProperty","cleanedData","adUnitCode","auctionId","bidId","bidderRequestId","slot","getAdUnitPath","replace","sizes","size","getSizes","getWidth","getHeight","bidder","bidderCode","source","cpm","price","currency","netRevenue","responseTime","timeToRespond","timeout","mediaType","creativeId","creative_id","dealId","floorPrice","floorData","floorMin","floor","floorCurrency","bidCount","bidderRequests","length","bids","winningBid","bidRank","errorCode","errorMessage","rawEventData","extractUnifiedBidData","consolidatedEvent","timestamp","now","domain","location","hostname","deviceType","osType","geoCountry","getCountry","daypart","referrer","pageTitle","title","pageUrl","href","pageViewport","width","innerWidth","height","innerHeight","sessionId","getOrCreateSessionId","pageLoadTime","performance","connectionType","connection","effectiveType","url","fetch","method","headers","body","JSON","stringify","err","console","warn","adnSessionId","toString","substr","hookPrebidEvents","forEach","adnpbjs","onEvent","args","readyState","addEventListener","URL_PATHS_BLACKLIST","Object","freeze","adsConfig","id","position","isLazyLoaded","refreshIteration","sizeMapping","desktop","tablet","mobile","refreshTime","biddersWhiteList","appnexus","magnite","msft","pubmatic","rubicon","openx","unruly","country","adagio","adyoulike","amx","anyclip","contxtful","conversant","criteo","exco","fluct","gamoshi","ix","kueezrtb","medianet","oms","onetag","pixfuture","programmaticx","richaudience","rise","seedtag","sharethrough","smartadserver","smilewanted","sovrn","sparteo","ssp_geniee","teads","underdogmedia","vidazoo","yandex","bidders","params","placement_id","cid","crid","tagId","site_id","unit","delDomain","publisherId","accountId","siteId","zoneId","tagid","cId","pId","org","networkId","filter","name","bidderSettings","storageAllowed","adnimation","sonobi","taboola","bidderNames","endsWith","s2sBidders","s2sAliases","fromEntries","slice","GDPR_GEOS","needsGdpr","maxMs","Promise","resolve","start","check","__tcfapi","setTimeout","isGdprRequired","pbjsConfig","s2sConfig","enabled","endpoint","syncEndpoint","extPrebid","aliases","floors","enforcement","enforceJS","enforcePBS","floorDeals","bidAdjustment","skipRate","schema","fields","values","banner","native","video","default","priceGranularity","adServerCurrency","conversionRateFile","defaultRates","USD","EUR","ratesTTL","gvlMapping","amxS2S","magniteS2S","riseS2S","kueezrtbS2S","adagioS2S","consentManagement","gdpr","cmpApi","defaultGdprScope","actionTimeout","usp","useBidCache","schain","validation","config","ver","complete","nodes","asi","sid","hp","userSync","iframeEnabled","filterSettings","iframe","userIds","storage","type","expires","pid","partner","refreshInSeconds","detectMissingSizes","aliasSyncEnabled","auctionOptions","suppressStaleRender","version","customer","realTimeData","dataProviders","waitForIt","adServerTargeting","gtag","dataLayer","push","arguments","pbjs","que","googletag","cmd","pubads","onImpressionViewable","_taboola","GA_ID","PREBID_TIMEOUT_MS","createScript","src","preCreate","scriptEl","querySelector","attemptLoad","createElement","fetchPriority","defer","remove","head","appendChild","all","then","log","handleSlotRenderEnded","removeEventListener","IntentIqObject","main","intentIq_2072952453","callback","timeoutInMillis","ABTestingConfigurationSource","manualWinReportEnabled","domainName","host","vrBrowserBlackList","gamParameterName","reportExternalWin","biddingPlatformId","partnerAuctionId","prebidAuctionId","originalCpm","originalCurrency","status","placementId","error","initIiq","setAttribute","adUnits","slotsMap","lazyLoader","constructor","margin","this","observer","IntersectionObserver","onIntersect","rootMargin","entries","entry","isIntersecting","cb","target","dataset","lazyCallback","unobserve","add","element","getBoundingClientRect","top","cbName","observe","activeSlotIds","newPbjsAdUnits","viewportType","screen","event","slotId","getSlotElementId","adUnitPath","adUnit","timeoutMs","adUnitToRefresh","getSlots","at","setConfig","targeting","slotEl","getElementById","runBids","refresh","message","refreshAd","pbjsBids","requestBids","adUnitCodes","bidsBackHandler","setTargetingForGPTAsync","runPrebidBids","allSettled","createAdCmd","slotName","adsEl","querySelectorAll","adPath","adpath","slotBidders","code","mediaTypes","setBidderConfig","ortb2","ext","collectAds","addSize","build","defineSlot","intent_iq_group","defineSizeMapping","addService","pbjsAdUnit","find","addAdUnits","init","enableServices","display","getConfig","disableInitialLoad","createNativeCmd","onload","mark","destroyNativeCmd","footerEl","innerHTML","createNative","createAd","destroyAd","destroySlots","idx","indexOf","splice","removeAttribute","parentElement","destroyAdCmd","createInterstitial","createInterstitialCmd","getIpInfo","cached","localStorage","getItem","parse","res","ok","Error","ipInfo","json","setItem","removeItem","adn","destroyNative","onDomReady","callbacks","interval","setInterval","clearInterval","observeSlots","handleAdded","node","getAttribute","handleRemoved","isAdSlot","hasAttribute","nodeList","from","nodeType","Node","ELEMENT_NODE","flatMap","concat","subtree","childList","attributes","attributeFilter","attributeOldValue","MutationObserver","mutations","mutation","addedNodes","removedNodes","attributeName","isStyleChanged","oldStyle","oldValue","newStyle","isVisibilityChanged","style","getComputedStyle","isDisplayed","isVisible","visibility","startObserving","documentElement","scaleBottomAdToFit","inner","adEl","containerWidth","clientWidth","adWidth","offsetWidth","attrWidth","parseInt","isNaN","scale","min","transform","adHeight","offsetHeight","rescaleAllBottomSlots","addBottomRecipeAdUnits","textContent","injectBottomAdCSS","BottomRecipeAdUnits","onpage","marginTop","marginBottom","minHeight","className","pArr","injectedSlots","pElement","adUnitClone","cloneNode","insertBefore","tries","intervalId","scaleDesktopIncontent","rescaleAllDesktopIncontent","addInContentDesktopAdUnits","injectDesktopIncontentCSS","base","injected","clone","before","defineOutOfPageSlot","enums","OutOfPageFormat","INTERSTITIAL","pathname","some","path","isBlacklistedUrl","addCloseButton","stickyBannerSizeDiv","el","innerText","right","color","borderRadius","backgroundColor","cursor","fontSize","textAlign","classList","onclick","append","stickyBannerParent","justifyContent","bottom","zIndex","stickyBanner","getElementsByTagName","flag","isEmpty","createStickyBanner","SideBarAdUnit","h2Section","i","after","addSideBarAdUnits","template","heroImage","wrapper","background","left","ad","insertAdjacentElement","addATFMobileUnit","BottomCategoryAdUnits","addBottomCategoryAdUnits","elements","outbrainScript","previousElementSibling","contains","divElement","injectOutbrainMobile1x1Widget","nextElementSibling","injectOutbrainWidget","scriptElement","text","injectTaboolaRecipeUnit"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5HA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CCxmdA,eAAgBA,EAAQC,GAyJtB,SAASC,IACP,MAAMC,EAAKC,UAAUC,UACrB,MAAI,OAAOC,KAAKH,GAAY,SACxB,SAASG,KAAKH,GAAY,SACvB,SACT,EAxJA,iBAKE,SAASI,IACP,MAAMJ,EAAKC,UAAUC,UAAUG,cAC/B,OAAIL,EAAGM,SAAS,WAAmB,UAC/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","file":"fvpJswWp","sourcesContent":[null,null,null,"// Last updated: 2026-10-22T11:31:05.286Z by Gina\r\n(async function(window, document) {\r\n\r\n// ----------------------------------------------\r\n  // Prebid pricing config\r\n  // ----------------------------------------------\r\n\r\n  (async function () {\r\n    function normalizeAdUnitCode(adUnitCode) {\r\n      return adUnitCode.replace(/^gpt_unit_/, '').replace(/_\\d+$/, '');\r\n    }\r\n\r\n    function detectOsType() {\r\n      const ua = navigator.userAgent.toLowerCase();\r\n      if (ua.includes('windows')) return 'Windows';\r\n      if (ua.includes('mac')) return 'macOS';\r\n      if (ua.includes('linux')) return 'Linux';\r\n      if (ua.includes('android')) return 'Android';\r\n      if (ua.includes('iphone') || ua.includes('ipad') || ua.includes('ipod')) return 'iOS';\r\n      return 'Unknown';\r\n    }\r\n\r\n    function getDaypart() {\r\n      const hour = new Date().getHours();\r\n      if (hour >= 6 && hour < 12) return 'morning';\r\n      if (hour >= 12 && hour < 18) return 'afternoon';\r\n      if (hour >= 18 && hour < 22) return 'evening';\r\n      return 'night';\r\n    }\r\n\r\n    function extractUnifiedBidData(eventType, data) {\r\n      const removeAdProperty = (obj) => {\r\n        if (obj === null || typeof obj !== 'object') {\r\n          return obj;\r\n        }\r\n        if (Array.isArray(obj)) {\r\n          return obj.map(item => removeAdProperty(item));\r\n        }\r\n        const cleaned = {};\r\n        for (const key in obj) {\r\n          if (key !== 'ad' && obj.hasOwnProperty(key)) {\r\n            cleaned[key] = removeAdProperty(obj[key]);\r\n          }\r\n        }\r\n        return cleaned;\r\n      };\r\n\r\n      const cleanedData = removeAdProperty(data);\r\n\r\n      const baseData = {\r\n        eventType: eventType,\r\n        auctionId: cleanedData?.auctionId || null,\r\n        bidId: cleanedData?.bidId || cleanedData?.bidderRequestId || null,\r\n        adUnitCode: normalizeAdUnitCode(cleanedData?.adUnitCode || cleanedData?.slot?.getAdUnitPath?.() || ''),\r\n        sizes: cleanedData?.sizes || cleanedData?.size || (cleanedData?.slot?.getSizes?.() ?\r\n          cleanedData.slot.getSizes().map(size => size.getWidth ? [size.getWidth(), size.getHeight()] : size) : null),\r\n        bidder: cleanedData?.bidder || cleanedData?.bidderCode || null,\r\n        source: cleanedData?.source || 'unknown',\r\n        cpm: cleanedData?.cpm || cleanedData?.price || null,\r\n        currency: cleanedData?.currency || 'USD',\r\n        netRevenue: cleanedData?.netRevenue || null,\r\n        responseTime: cleanedData?.responseTime || cleanedData?.timeToRespond || null,\r\n        timeout: cleanedData?.timeout || null,\r\n        mediaType: cleanedData?.mediaType || null,\r\n        creativeId: cleanedData?.creativeId || cleanedData?.creative_id || null,\r\n        dealId: cleanedData?.dealId || null,\r\n        floorPrice: cleanedData?.floorData?.floorMin || cleanedData?.floor || null,\r\n        floorCurrency: cleanedData?.floorData?.floorCurrency || null,\r\n        bidCount: cleanedData?.bidderRequests?.length || cleanedData?.bids?.length || null,\r\n        winningBid: eventType === 'bidWon' ? true : false,\r\n        bidRank: cleanedData?.bidRank || null,\r\n        errorCode: cleanedData?.errorCode || null,\r\n        errorMessage: cleanedData?.errorMessage || null,\r\n        rawEventData: cleanedData\r\n      };\r\n\r\n      return baseData;\r\n    }\r\n\r\n    async function trackEvent(eventType, data) {\r\n      if (eventType !== 'bidWon' && Math.random() > 0.01) {\r\n        return;\r\n      }\r\n\r\n      try {\r\n        const auctionData = extractUnifiedBidData(eventType, data);\r\n\r\n        const consolidatedEvent = {\r\n          eventType: eventType,\r\n          timestamp: Date.now(),\r\n          domain: location.hostname,\r\n          deviceType: detectDevice(),\r\n          osType: detectOsType(),\r\n          geoCountry: await getCountry(),\r\n          daypart: getDaypart(),\r\n          userAgent: navigator.userAgent,\r\n          referrer: document.referrer,\r\n          pageTitle: document.title,\r\n          pageUrl: location.href,\r\n          pageViewport: {\r\n            width: window.innerWidth,\r\n            height: window.innerHeight\r\n          },\r\n          auctionData: auctionData,\r\n          sessionId: getOrCreateSessionId(),\r\n          pageLoadTime: performance.now(),\r\n          connectionType: navigator.connection?.effectiveType || 'unknown'\r\n        };\r\n\r\n        const url = 'https://adnml.net/data';\r\n        await fetch(url, {\r\n          method: 'POST',\r\n          headers: {\r\n            'Content-Type': 'application/json',\r\n            'api-key': '329e8145-e1c3-4262-a329-a804a3ee051c'\r\n          },\r\n          body: JSON.stringify(consolidatedEvent)\r\n        });\r\n\r\n      } catch (err) {\r\n        console.warn('Error tracking event:', eventType, err);\r\n      }\r\n    }\r\n\r\n    function getOrCreateSessionId() {\r\n      if (!window.adnSessionId) {\r\n        window.adnSessionId = 'sess_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\r\n      }\r\n      return window.adnSessionId;\r\n    }\r\n\r\n    function hookPrebidEvents() {\r\n      const trackedPrebidEvents = [\r\n        'bidWon',\r\n        'bidResponse',\r\n        'noBid',\r\n        'bidTimeout',\r\n        'auctionEnd',\r\n        'requestBids',\r\n        'bidAdjustment',\r\n        'bidderDone'\r\n      ];\r\n\r\n      trackedPrebidEvents.forEach((eventType) =>\r\n        adnpbjs.onEvent(eventType, (args) => trackEvent(eventType, args)));\r\n    }\r\n\r\n    if (document.readyState === 'loading') {\r\n      document.addEventListener('DOMContentLoaded', hookPrebidEvents);\r\n    } else {\r\n      hookPrebidEvents();\r\n    }\r\n  })();\r\n\r\n  function detectDevice() {\r\n    const ua = navigator.userAgent;\r\n    if (/Mobi/.test(ua)) return 'mobile';\r\n    if (/Tablet/.test(ua)) return 'tablet';\r\n    return 'desktop';\r\n  }\r\n\r\n  async function buildPrebidFloors(targetType) {\r\n    if (!adnPricing) {\r\n      return;\r\n    }\r\n\r\n    const hour = new Date().getHours();\r\n    const device = detectDevice();\r\n    const country = await getCountry();\r\n\r\n    const sourceModel = adnPricing[hour]?.model ?? adnPricing[0].model;\r\n    const sourceGroup = sourceModel.modelGroups[0];\r\n    const isClientSide = targetType === 'client';\r\n\r\n    // Reducer for client-side: filter by device/country, convert to 3-field keys\r\n    const clientReducer = (acc, [key, value]) => {\r\n      const [slot, size, media, dev, geo] = key.split('|');\r\n      if ((dev === device && geo === country) || !dev) {\r\n        acc[[slot, size, media].join('|')] = value;\r\n      }\r\n      return acc;\r\n    };\r\n\r\n    // Reducer for server-side: keep all entries as-is\r\n    const serverReducer = (acc, [key, value]) => {\r\n      acc[key] = value;\r\n      return acc;\r\n    };\r\n\r\n    const filteredValues = Object.entries(sourceGroup.values).reduce(\r\n      isClientSide ? clientReducer : serverReducer, {}\r\n    );\r\n\r\n    const res = {\r\n      floorProvider: sourceModel.floorProvider,\r\n      currency: sourceModel.currency,\r\n      floorsSchemaVersion: sourceModel.floorsSchemaVersion,\r\n      skipRate: sourceModel.skipRate,\r\n      modelGroups: [{\r\n        modelWeight: sourceGroup.modelWeight,\r\n        modelTimestamp: sourceGroup.modelTimestamp,\r\n        modelVersion: sourceGroup.modelVersion,\r\n        default: sourceGroup.default,\r\n        schema: {\r\n          fields: isClientSide ?\r\n            ['gptSlot', 'size', 'mediaType'] :\r\n            ['gptSlot', 'size', 'mediaType', 'deviceType', 'country']\r\n        },\r\n        values: filteredValues,\r\n        ...(isClientSide && {\r\n          additionalSchemaFields: {\r\n            deviceType: device,\r\n            country\r\n          }\r\n        })\r\n      }]\r\n    };\r\n\r\n    return res;\r\n  }\r\n\r\n  async function buildPrebidFloorsClient() {\r\n    const pricing = await buildPrebidFloors('client');\r\n    const defaultPricing = {\r\n      currency: 'USD',\r\n      skipRate: 0,\r\n      schema: {\r\n        fields: [\r\n          'mediaType'\r\n        ]\r\n      },\r\n      values: {\r\n        banner: 0.01,\r\n        native: 0.01,\r\n        video: 0.01\r\n      },\r\n      default: 0.01\r\n    };\r\n    return {\r\n      enforcement: {\r\n        enforceJS: true,\r\n        enforcePBS: true,\r\n        floorDeals: true,\r\n        bidAdjustment: true\r\n      },\r\n      data: pricing || defaultPricing\r\n    };\r\n  }\r\n\r\n  async function buildPrebidFloorsServer() {\r\n    const pricing = await buildPrebidFloors('server');\r\n    return !pricing ? undefined : {\r\n      enabled: true,\r\n      data: pricing.modelGroups[0],\r\n      floorProvider: pricing.floorProvider,\r\n      currency: pricing.currency,\r\n      skipRate: parseInt(pricing.skipRate),\r\n      enforcement: {\r\n        enforcePBS: true,\r\n        floorDeals: true,\r\n        bidAdjustment: true\r\n      }\r\n    };\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Configuration\r\n  // ----------------------------------------------\r\n\r\n  const URL_PATHS_BLACKLIST = Object.freeze([\r\n    // Add a list of URL paths to exclude.\r\n    // e.g. \"/path/to/page\"\r\n    \"/%D7%9E%D7%A4%D7%AA-%D7%90%D7%AA%D7%A8/\",\r\n    \"/%D7%AA%D7%A7%D7%A0%D7%95%D7%9F/\",\r\n    \"/accessibility-statement\",\r\n    \"/privacy-policy\",\r\n  ]);\r\n\r\n  const adsConfig = Object.freeze({\r\n    \"/80069395/10Dakot/InArticle_1\": {\r\n      \"id\": \"/80069395/10Dakot/InArticle_1\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"Other\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [],\r\n        \"tablet\": [],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/TopBanner\": {\r\n      \"id\": \"/80069395/10Dakot/TopBanner\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [728, 90]\r\n      ],\r\n      \"position\": \"ATF\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90]\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/Top\": {\r\n      \"id\": \"/80069395/10Dakot/Top\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"ATF\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [],\r\n        \"tablet\": [],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/BottomRecipeMobile\": {\r\n      \"id\": \"/80069395/10Dakot/BottomRecipeMobile\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"BTF\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [],\r\n        \"tablet\": [],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/Side_0\": {\r\n      \"id\": \"/80069395/10Dakot/Side_0\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [300, 600]\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/Bottom\": {\r\n      \"id\": \"/80069395/10Dakot/Bottom\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280],\r\n        [728, 90],\r\n        [970, 90],\r\n        [970, 250]\r\n      ],\r\n      \"position\": \"BTF\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90],\r\n          [970, 90],\r\n          [970, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/Sticky_Footer\": {\r\n      \"id\": \"/80069395/10Dakot/Sticky_Footer\",\r\n      \"size\": [\r\n        [320, 50],\r\n        [320, 60],\r\n        [728, 90],\r\n        [970, 90],\r\n        [800, 80],\r\n        [1000, 100]\r\n      ],\r\n      \"position\": \"Sticky\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90],\r\n          [970, 90],\r\n          [800, 80],\r\n          [1000, 100]\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90]\r\n        ],\r\n        \"mobile\": [\r\n          [320, 50],\r\n          [320, 60]\r\n        ]\r\n      },\r\n      \"refreshTime\": 45000\r\n    },\r\n    \"/80069395/10Dakot/Side_1\": {\r\n      \"id\": \"/80069395/10Dakot/Side_1\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [300, 600]\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/InContent\": {\r\n      \"id\": \"/80069395/10Dakot/InContent\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280],\r\n        [728, 90],\r\n        [970, 90],\r\n        [970, 250]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90],\r\n          [970, 90],\r\n          [970, 250],\r\n          [300, 250],\r\n          [336, 280],\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90],\r\n          [300, 250],\r\n          [336, 280],\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/80069395/10Dakot/InContent_0\": {\r\n      \"id\": \"/80069395/10Dakot/InContent_0\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280],\r\n        [728, 90],\r\n        [970, 90],\r\n        [970, 250]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90],\r\n          [970, 90],\r\n          [970, 250],\r\n          [300, 250],\r\n          [336, 280],\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90],\r\n          [300, 250],\r\n          [336, 280],\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    }\r\n  });\r\n\r\n  const biddersWhiteList = Object.freeze({\r\n    \"appnexus\":[\"US\",\"GB\",\"CA\",\"IL\",\"JP\",\"AU\",\"NZ\",\"IN\",\"BR\",\"ID\",\"EG\",\"AE\",\"SA\",\"AR\",\"CL\",\"MY\",\"PH\",\"PT\",\"HK\",\"SG\",\"NL\",\"BE\",\"IE\",\"NO\",\"SE\",\"FI\",\"DK\",\"CH\",\"DE\",\"TR\",\"PL\",\"RO\",\"CZ\",\"ZA\"],\r\n    \"magnite\":[\"US\",\"GB\",\"IL\",\"PS\",\"TR\",\"CA\",\"DE\",\"GH\",\"ZA\",\"FR\",\"ES\",\"IT\",\"AU\",\"NZ\",\"IN\",\"MX\",\"PL\",\"EC\",\"KR\",\"UA\",\"SA\",\"NL\",\"BE\",\"BD\",\"AE\",\"SG\",\"AM\",\"JP\",\"BR\",\"NG\",\"TH\",\"MY\",\"HK\",\"UZ\",\"SE\",\"AT\",\"PH\",\"VN\",\"CL\",\"IE\",\"CH\",\"NO\",\"FI\",\"DK\",\"PT\"],\r\n    \"msft\":[\"US\",\"GB\",\"CA\",\"IL\",\"JP\",\"AU\",\"NZ\",\"IN\",\"BR\",\"ID\",\"EG\",\"AE\",\"SA\",\"AR\",\"CL\",\"MY\",\"PH\",\"PT\",\"HK\",\"SG\",\"NL\",\"BE\",\"IE\",\"NO\",\"SE\",\"FI\",\"DK\",\"CH\",\"DE\",\"TR\",\"PL\",\"RO\",\"CZ\",\"ZA\"],\r\n    \"pubmatic\":[\"US\",\"CA\",\"GB\",\"IE\",\"AU\",\"NZ\",\"DE\",\"AT\",\"CH\",\"NL\",\"BE\",\"NO\",\"SE\",\"FI\",\"DK\",\"IL\",\"PR\"],\r\n    \"rubicon\":[\"US\",\"GB\",\"IL\",\"PS\",\"TR\",\"CA\",\"DE\",\"GH\",\"ZA\",\"FR\",\"ES\",\"IT\",\"AU\",\"NZ\",\"IN\",\"MX\",\"PL\",\"EC\",\"KR\",\"UA\",\"SA\",\"NL\",\"BE\",\"BD\",\"AE\",\"SG\",\"AM\",\"JP\",\"BR\",\"NG\",\"TH\",\"MY\",\"HK\",\"UZ\",\"SE\",\"AT\",\"PH\",\"VN\",\"CL\",\"IE\",\"CH\",\"NO\",\"FI\",\"DK\",\"PT\"],\r\n    \"openx\":[\"US\",\"CA\"],\r\n    \"unruly\":[\"US\",\"GB\"],\r\n  });\r\n\r\n  const biddersBlackList = Object.freeze({\r\n    \"33across\":[\"GH\",\"GB\",\"CA\",\"DE\",\"NL\",\"IL\",\"SG\",\"AU\",\"IT\",\"FR\"],\r\n    \"adagio\":[\"FR\",\"IL\",\"GB\",\"AU\",\"BE\",\"CH\",\"PH\",\"DE\",\"CN\",\"SG\"],\r\n    \"adyoulike\":[\"IL\",\"CA\",\"CN\",\"SG\",\"GB\",\"AU\",\"ZA\",\"FR\",\"IN\",\"PK\"],\r\n    \"amx\":[\"NL\",\"ID\",\"IT\",\"PH\",\"CN\",\"ES\",\"BE\",\"SO\",\"CH\",\"BR\"],\r\n    \"anyclip\":[\"GH\",\"US\",\"GB\",\"IT\",\"CA\",\"FR\",\"AT\",\"BR\",\"DE\",\"DK\"],\r\n    \"appnexus\":[\"DE\",\"CA\",\"GB\",\"FR\",\"ID\",\"AU\",\"PH\",\"BR\",\"TH\",\"SG\"],\r\n    \"contxtful\":[\"IL\",\"IN\",\"GB\",\"ID\",\"SG\",\"KR\",\"CN\",\"PH\",\"DE\",\"TH\"],\r\n    \"conversant\":[\"IL\",\"IN\",\"KR\",\"PH\",\"TH\",\"JP\",\"VN\",\"PK\",\"CN\",\"EG\"],\r\n    \"criteo\":[\"CN\",\"BD\",\"BY\",\"KZ\",\"AR\",\"MA\",\"CY\",\"CO\",\"BG\",\"CI\"],\r\n    \"exco\":[\"US\",\"SG\",\"GB\",\"DE\",\"CA\",\"AU\",\"IT\",\"PL\",\"CN\",\"BR\"],\r\n    \"fluct\":[\"US\",\"CA\",\"HK\",\"JP\",\"SG\",\"GB\",\"AU\",\"DE\",\"CN\",\"TW\"],\r\n    \"gamoshi\":[\"US\",\"GB\",\"CA\",\"DE\",\"AU\",\"PH\",\"IT\",\"SG\",\"CN\",\"MY\"],\r\n    \"ix\":[\"CN\",\"PL\",\"IE\",\"FI\",\"DK\",\"AT\",\"GR\",\"AR\",\"MA\",\"PT\"],\r\n    \"kueezrtb\":[\"IT\",\"CN\",\"ES\",\"BE\",\"UA\",\"PH\",\"CH\",\"TH\",\"SE\",\"BY\"],\r\n    \"magnite\":[\"NL\",\"IT\",\"CN\",\"BE\",\"SO\",\"CH\",\"ES\",\"UA\",\"BR\",\"PL\"],\r\n    \"medianet\":[\"CN\",\"CH\",\"MY\",\"UA\",\"VN\",\"BD\",\"AE\",\"PK\",\"TR\",\"BY\"],\r\n    \"msft\":[\"CN\",\"SO\",\"SG\",\"UA\",\"PH\",\"BY\",\"KZ\",\"KE\",\"IN\",\"IT\"],\r\n    \"oms\":[\"SG\",\"IN\",\"IL\",\"NL\",\"ID\",\"KR\",\"IT\",\"PH\",\"TH\",\"CH\"],\r\n    \"onetag\":[\"CN\",\"PL\",\"BD\",\"GR\",\"SE\",\"PK\",\"CY\",\"RO\",\"AT\",\"PT\"],\r\n    \"openx\":[\"DE\",\"NL\",\"CN\",\"IT\",\"BE\",\"SO\",\"JP\",\"ES\",\"PH\",\"SE\"],\r\n    \"pixfuture\":[\"DE\",\"CN\",\"AU\",\"FR\",\"SG\",\"TH\",\"PH\",\"ID\",\"BR\",\"JP\"],\r\n    \"programmaticx\":[\"FR\",\"SG\",\"IL\",\"GB\",\"ID\",\"IN\",\"KR\",\"DE\",\"PH\",\"JP\"],\r\n    \"richaudience\":[\"IN\",\"GB\",\"CN\",\"PK\",\"DE\",\"BD\",\"BR\",\"ZA\",\"FR\",\"TW\"],\r\n    \"rise\":[\"FR\",\"SG\",\"IN\",\"GB\",\"DE\",\"ID\",\"AU\",\"PH\",\"KR\",\"CN\"],\r\n    \"rubicon\":[\"IL\",\"CA\",\"MY\",\"GH\",\"SG\",\"AU\",\"PR\",\"GB\",\"CN\",\"DE\"],\r\n    \"seedtag\":[\"CN\",\"PH\",\"NG\",\"IN\",\"NO\",\"AT\",\"MA\",\"DK\",\"MY\",\"CI\"],\r\n    \"sharethrough\":[\"FR\",\"SG\",\"IL\",\"GB\",\"DE\",\"BE\",\"CH\",\"BR\",\"NL\",\"IT\"],\r\n    \"smartadserver\":[\"US\",\"SO\",\"GB\",\"IL\",\"CA\",\"KE\",\"SE\",\"NO\",\"NL\",\"CN\"],\r\n    \"smilewanted\":[\"DE\",\"ID\",\"CN\",\"PH\",\"NL\",\"SE\",\"IT\",\"TH\",\"CH\",\"ES\"],\r\n    \"sovrn\":[\"NL\",\"SG\",\"IT\",\"CN\",\"ES\",\"SE\",\"VN\",\"MY\",\"NG\",\"MX\"],\r\n    \"sparteo\":[\"CN\",\"PK\",\"BD\",\"RO\",\"FI\",\"CZ\",\"DZ\",\"NO\",\"HU\",\"DK\"],\r\n    \"ssp_geniee\":[\"IL\",\"GB\",\"DE\",\"NL\",\"ID\",\"IN\",\"KR\",\"IT\",\"CN\",\"ZA\"],\r\n    \"teads\":[\"CN\",\"CA\",\"SG\",\"IL\",\"AU\",\"GB\",\"FR\",\"TH\",\"DE\",\"PH\"],\r\n    \"underdogmedia\":[\"SO\",\"US\",\"CA\",\"ZA\",\"undefined\"],\r\n    \"unruly\":[\"IN\",\"ID\",\"DE\",\"AU\",\"PH\",\"KR\",\"CN\",\"SG\",\"TH\",\"JP\"],\r\n    \"vidazoo\":[\"FR\",\"SG\",\"GB\",\"IN\",\"ID\",\"DE\",\"PH\",\"CN\",\"SO\",\"TH\"],\r\n    \"yandex\":[\"IL\",\"US\",\"CA\",\"DE\",\"UA\",\"AU\",\"GB\",\"BG\",\"KZ\",\"LV\"]\r\n  });\r\n\r\n  const country = await getCountry();\r\n\r\n  const isBidderAllowed = ({ bidder }) => {\r\n    const name = bidder?.toLowerCase().replace(/s2s$/, '');\r\n    const whiteOk = !biddersWhiteList[name] || biddersWhiteList[name].includes(country);\r\n    // const blackOk = !biddersBlackList[name] || !biddersBlackList[name].includes(country);\r\n    return whiteOk;\r\n  };\r\n\r\n  const bidders = ([\r\n  { bidder: \"msft\", params: { placement_id: 30873047 } },\r\n  { bidder: \"medianet\", params: { cid: \"8CUAID4GW\", crid: \"788465678\" } },\r\n  { bidder: \"amx\", params: { tagId: \"YWRuaW1hdGlvbi5jb20\" } },\r\n  { bidder: \"conversant\", params: { site_id: \"227939\" } },\r\n  { bidder: \"openx\", params: { unit: \"559754877\", delDomain: \"adnimation-d.openx.net\" } },\r\n  { bidder: \"openxS2S\", params: { unit: \"562991078\", delDomain: \"adnimation-d.openx.net\" } },\r\n  { bidder: \"pubmatic\", params: { publisherId: \"166665\" } },\r\n  { bidder: \"magnite\", params: { accountId: 24664, siteId: 581788, zoneId: 3706218 } },\r\n  { bidder: \"magniteS2S\", params: { accountId: 24664, siteId: 581788, zoneId: 3706220 } },\r\n  { bidder: \"sovrn\", params: { tagid: \"1165643\" } },\r\n  { bidder: \"sovrnS2S\", params: { tagid: \"1284184\" } },\r\n  { bidder: \"unruly\", params: { siteId: 233835 } },\r\n  { bidder: \"vidazoo\", params: { cId: \"640af7e8a3aca06fc94e206c\", pId: \"59ac17c192832d0011283fe3\" } },\r\n  //{bidder: \"taboola\",params: {tagId: \"ROS\", publisherId: \"1814028\"}},\r\n  { bidder: \"rise\", params: { org: \"67dae7b0eee76c00011b7cab\" } },\r\n  { bidder: \"sparteo\", params: { networkId: \"2b124411-dc3b-4083-998e-84c8175f32cf\" } },\r\n  { bidder: 'kueezrtb', params: { cId: '67f78f8d058e4fe7549f4d8d', pId: '65lk7c192882r0011813fn9' } },\r\n  { bidder: \"adnimation\", params: { cId: \"6a05a0dccd19709c3f9fc14c\", pId: \"67wc13i392832d0041613hm9\" } },\r\n  { bidder: 'adnimationS2S', params: { cId: '6a2acd7005c73231e738ecdf', pId: '67wc13i392832d0041613hm9' } },\r\n//   { bidder: \"adagioS2S\", params: {\"organizationId\": \"1570\", \"site\": \"10dakot-co-il\", \"placement\": \"10dakot_ros\"}},      \r\n\r\n  ]).filter(isBidderAllowed);\r\n\r\n  const bidderSettings = Object.freeze({\r\n    \"33across\": { \"storageAllowed\": true },\r\n    \"adagio\": { \"storageAllowed\": true },\r\n    \"adnimation\": { \"storageAllowed\": true },\r\n    \"adyoulike\": { \"storageAllowed\": true },\r\n    \"amx\": { \"storageAllowed\": true },\r\n    \"anyclip\": { \"storageAllowed\": true },\r\n    \"appnexus\": { \"storageAllowed\": true },\r\n    \"contxtful\": { \"storageAllowed\": true },\r\n    \"conversant\": { \"storageAllowed\": true },\r\n    \"criteo\": { \"storageAllowed\": true },\r\n    \"exco\": { \"storageAllowed\": true },\r\n    \"fluct\": { \"storageAllowed\": true },\r\n    \"gamoshi\": { \"storageAllowed\": true },\r\n    \"ix\": { \"storageAllowed\": true },\r\n    \"kueezrtb\": { \"storageAllowed\": true },\r\n    \"magnite\": { \"storageAllowed\": true },\r\n    \"medianet\": { \"storageAllowed\": true },\r\n    \"msft\": { \"storageAllowed\": true },\r\n    \"oms\": { \"storageAllowed\": true },\r\n    \"onetag\": { \"storageAllowed\": true },\r\n    \"openx\": { \"storageAllowed\": true },\r\n    \"pixfuture\": { \"storageAllowed\": true },\r\n    \"programmaticx\": { \"storageAllowed\": true },\r\n    \"pubmatic\": { \"storageAllowed\": true },\r\n    \"richaudience\": { \"storageAllowed\": true },\r\n    \"rise\": { \"storageAllowed\": true },\r\n    \"rubicon\": { \"storageAllowed\": true },\r\n    \"seedtag\": { \"storageAllowed\": true },\r\n    \"sharethrough\": { \"storageAllowed\": true },\r\n    \"smartadserver\": { \"storageAllowed\": true },\r\n    \"smilewanted\": { \"storageAllowed\": true },\r\n    \"sonobi\": { \"storageAllowed\": true },\r\n    \"sovrn\": { \"storageAllowed\": true },\r\n    \"sparteo\": { \"storageAllowed\": true },\r\n    \"ssp_geniee\": { \"storageAllowed\": true },\r\n    \"taboola\": { \"storageAllowed\": true },\r\n    \"teads\": { \"storageAllowed\": true },\r\n    \"underdogmedia\": { \"storageAllowed\": true },\r\n    \"unruly\": { \"storageAllowed\": true },\r\n    \"vidazoo\": { \"storageAllowed\": true },\r\n    \"yandex\": { \"storageAllowed\": true },\r\n  });\r\n\r\nconst bidderNames = bidders.filter(({bidder}) => !bidder.endsWith('S2S')).map(({bidder}) => bidder);\r\n  const s2sBidders = bidders.filter(({bidder}) => bidder.endsWith('S2S')).map(({bidder}) => bidder);\r\n  const s2sAliases = Object.fromEntries(s2sBidders.map(bidder => [bidder, bidder.slice(0, -3)]));\r\n\r\n  const GDPR_GEOS = Object.freeze(['AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT','LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO','GB','CH']);\n  const CMP_WAIT_MS = 3000;\n  function waitForTcfApi(maxMs){return new Promise((resolve)=>{const start=Date.now();(function check(){if(typeof window.__tcfapi==='function')return resolve(true);if(Date.now()-start>=maxMs)return resolve(false);setTimeout(check,50);})();});}\n  async function isGdprRequired(country){const hasCmp=await waitForTcfApi(CMP_WAIT_MS);return hasCmp||GDPR_GEOS.includes(country);}\n  const needsGdpr = await isGdprRequired(await getCountry());\n\n  const pbjsConfig = Object.freeze({\r\n    's2sConfig': {\r\n      'enabled': true,\r\n      'accountId': '1001',\r\n      'bidders': s2sBidders,\r\n      'endpoint': 'https://adnpbs.com/openrtb2/auction',\r\n      'syncEndpoint': 'https://adnpbs.com/cookie_sync',\r\n      'timeout': 1500,\r\n      'extPrebid': {\r\n        'aliases': s2sAliases,\r\n        //'floors': await buildPrebidFloorsServer()\r\n      }\r\n    },\r\n    //'floors': await buildPrebidFloorsClient(),\r\n    'floors': {\r\n      'enforcement': {\r\n        'enforceJS': true,\r\n        'enforcePBS': false,\r\n        'floorDeals': true,\r\n        'bidAdjustment': true\r\n      },\r\n      'data': {\r\n        'currency': 'USD',\r\n        'skipRate': 0,\r\n        'schema': {\r\n          'fields': [\r\n            'mediaType'\r\n          ]\r\n        },\r\n        'values': {\r\n          'banner': 0.01,\r\n          'native': 0.01,\r\n          'video': 0.01\r\n        },\r\n        'default': 0.01\r\n      }\r\n    },\r\n    'priceGranularity': 'high',\r\n    'currency': {\r\n      'adServerCurrency': 'USD',\r\n      'conversionRateFile': 'https://cdn.jsdelivr.net/gh/prebid/currency-file@1/latest.json',\r\n      'defaultRates': {\r\n        'USD': {\r\n          'EUR': 0.92,\r\n          'USD': 1\r\n        },\r\n        'EUR': {\r\n          'USD': 1.09,\r\n          'EUR': 1\r\n        }\r\n      },\r\n      'ratesTTL': 3600000\r\n    },\r\n    'gvlMapping': {'amxS2S':737,'magniteS2S':52,'riseS2S':1043,'kueezrtbS2S':1165,'adagioS2S':617,'anyclip':1400,'exco':444},\n    'consentManagement': {\n      'gdpr': needsGdpr && {'cmpApi':'iab','defaultGdprScope':true,'timeout':500,'actionTimeout':2000},\n      'usp': { 'cmpApi':'iab', 'timeout':500 }\n    },\r\n    'useBidCache': true,\r\n    'schain': {\r\n      'validation': 'strict',\r\n      'config': {\r\n        'ver': '1.0',\r\n        'complete': 1,\r\n        'nodes': [{\r\n          'asi': 'adnimation.com',\r\n          'sid': '20230085',\r\n          'hp': 1\r\n        }]\r\n      }\r\n    },\r\n    'userSync': {\r\n      'iframeEnabled': true,\r\n      'filterSettings': {\r\n        'iframe': {\r\n          'bidders': bidderNames,\r\n          'filter': 'include'\r\n        }\r\n      },\r\n      'userIds': [{\r\n          'name': 'sharedId',\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': '_pubcid',\r\n            'expires': 365\r\n          }\r\n        },\r\n        {\r\n          'name': 'identityLink',\r\n          'params': {\r\n            'pid': '13346'\r\n          },\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': 'idl_env',\r\n            'expires': 30\r\n          }\r\n        },\r\n        {\r\n          'name': 'id5Id',\r\n          'params': {\r\n            'partner': 1262\r\n          },\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': 'id5id',\r\n            'expires': 90,\r\n            'refreshInSeconds': 28800\r\n          }\r\n        },\r\n        {\r\n          'name': '33acrossId',\r\n          'params': {\r\n            'pid': '0010b00002KBtyLAAT'\r\n          },\r\n          'storage': {\r\n            'name': '33acrossId',\r\n            'type': 'html5',\r\n            'expires': 90,\r\n            'refreshInSeconds': 28800\r\n          }\r\n        }\r\n      ]\r\n    },\r\n    'ix': {\r\n      'detectMissingSizes': true\r\n    },\r\n    'aliasSyncEnabled': true,\r\n    'auctionOptions': {\r\n      'suppressStaleRender': true\r\n    },\r\n    'contxtful': {\r\n      'version': 'v1',\r\n      'customer': 'ADNP250319'\r\n    },\r\n    'realTimeData': {\r\n      'dataProviders': [{\r\n        'name': 'contxtful',\r\n        'waitForIt': true,\r\n        'params': {\r\n          'version': 'v1',\r\n          'customer': 'ADNP250319',\r\n          'bidders': [\r\n            'contxtful'\r\n          ],\r\n          'adServerTargeting': true\r\n        }\r\n      }]\r\n    }\r\n  });\r\n\r\n  // ----------------------------------------------\r\n  // Placeholders\r\n  // ----------------------------------------------\r\n\r\n  // Prebid\r\n  window.pbjs = window.pbjs || {};\r\n  window.pbjs.que = window.pbjs.que || [];\r\n\r\n  // Google Tag\r\n  window.googletag = window.googletag || {};\r\n  window.googletag.cmd = window.googletag.cmd || [];\r\n  window.googletag.cmd.push(() =>\r\n    window.googletag.pubads().addEventListener(\r\n      'impressionViewable', onImpressionViewable));\r\n\r\n  // Google Analytics\r\n  window.dataLayer = window.dataLayer || [];\r\n\r\n  function gtag() {\r\n    window.dataLayer.push(arguments);\r\n  }\r\n\r\n  // Taboola\r\n  window._taboola = window._taboola || [];\r\n\r\n  // ----------------------------------------------\r\n  // Constants\r\n  // ----------------------------------------------\r\n\r\n  const GA_ID = 'G-3G5CJ5DVLR';\r\n\r\n  const APS_TIMEOUT_MS = 2000;\r\n  const PREBID_TIMEOUT_MS = 1800;\r\n\r\n  // ----------------------------------------------\r\n  // Scripts\r\n  // ----------------------------------------------\r\n\r\n  function createScript(src, preCreate = () => {}) {\r\n    return new Promise((resolve) => {\r\n      let scriptEl = document.querySelector(`script[src=\"${src}\"]`);\r\n\r\n      if (scriptEl) {\r\n        console.warn('Script already exists:', src);\r\n        resolve();\r\n        return;\r\n      }\r\n\r\n      const attemptLoad = () => {\r\n        scriptEl = document.createElement('script');\r\n        scriptEl.src = src;\r\n        scriptEl.fetchPriority = 'high';\r\n        preCreate(scriptEl);\r\n        scriptEl.async = !scriptEl.defer;\r\n        scriptEl.addEventListener('load', resolve);\r\n        scriptEl.addEventListener('error', () => {\r\n          console.warn('Retrying to load script:', src);\r\n          scriptEl.remove();\r\n          setTimeout(attemptLoad, 100);\r\n        });\r\n        document.head.appendChild(scriptEl);\r\n      };\r\n\r\n      attemptLoad();\r\n    });\r\n  }\r\n\r\n  Promise.all([\r\n    // Amazon Publisher Services\r\n    // createScript('https://c.amazon-adsystem.com/aax2/apstag.js'),\r\n\r\n    // Human anti-bot protection\r\n    createScript('https://cadmus.script.ac/d3svkhbhkz2i0f/script.js'),\r\n\r\n]).then(config);\r\n\r\n  // Block Through anti-adblock\r\n  //createScript('https://btloader.com/tag?o=5696523966873600&upapi=true');\r\n\r\n  // Vidazoo video ads\r\n  createScript('https://static.vidazoo.com/basev/vwpt.js', (scriptEl) => {\r\n    scriptEl.setAttribute('data-widget-id', '65e9b79ebdb3a9c5732bbae8');\r\n  });\r\n\r\n  // Google Analytics\r\n  createScript(`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`);\r\n\r\n  // KueezRTB cookieless solution\r\n  createScript('https://static.kueezrtb.com/latest.js', (scriptEl) => {\r\n    scriptEl.setAttribute('data-cfasync', 'false');\r\n    scriptEl.id = 'kueezrtb_latest';\r\n  });\r\n\r\n  class LazyLoader {\r\n    constructor(margin = '100px') {\r\n      this.observer = new IntersectionObserver(this.onIntersect, {\r\n        rootMargin: margin\r\n      });\r\n    }\r\n\r\n    onIntersect = (entries) => {\r\n      entries.forEach((entry) => {\r\n        if (entry.isIntersecting) {\r\n          const cb = entry.target.dataset.lazyCallback;\r\n          if (cb && window[cb]) {\r\n            window[cb](entry.target);\r\n            delete window[cb];\r\n          }\r\n          this.observer.unobserve(entry.target);\r\n        }\r\n      });\r\n    };\r\n\r\n    add(element, callback) {\r\n      if (!element || typeof callback !== 'function') return;\r\n      if (element.getBoundingClientRect().top < window.innerHeight) {\r\n        callback(element);\r\n      } else {\r\n        const cbName = 'lazy_cb_' + Math.random().toString(36).slice(2);\r\n        window[cbName] = callback;\r\n        element.dataset.lazyCallback = cbName;\r\n        this.observer.observe(element);\r\n      }\r\n    }\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // App\r\n  // ----------------------------------------------\r\n\r\n  const adUnits = [];\r\n  const slotsMap = [];\r\n  const lazyLoader = new LazyLoader();\r\n  const activeSlotIds = [];\r\n  const newPbjsAdUnits = [];\r\n  const viewportType =\r\n    window.screen.width > 1525 ?\r\n    'desktop' :\r\n    window.screen.width > 730 ?\r\n    'tablet' :\r\n    'mobile';\r\n\r\n  /**\r\n   * Main entry point of our tag.\r\n   */\r\n  function main() {\r\n    console.log('Starting...');\r\n    createScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js');\r\n  }\r\n\r\n  function config() {\r\n    console.log('Configuring...');\r\n    // initAps();\r\n    initGa();\r\n    initIiq();\r\n  }\r\n\r\n  function initAps() {\r\n    window.apstag.init({\r\n      pubID: '83d5088d-5f70-4acf-a888-15a83bf33932',\r\n      adServer: 'googletag',\r\n      schain: {\r\n        complete: 1,\r\n        ver: '1.0',\r\n        nodes: [{\r\n          asi: 'zerodegreeads.com',\r\n          sid: '32025ABC',\r\n          hp: 1\r\n          // rid: 'string', // The request ID (optional)\r\n          // name: 'string', // Name of the company paid for inventory under seller ID (optional)\r\n          // domain: 'string', // Business domain of this node (optional)\r\n        }]\r\n      }\r\n    });\r\n  }\r\n\r\n  function initGa() {\r\n    window.googletag.cmd.push(() => {\r\n      const handleSlotRenderEnded = () => {\r\n        gtag('js', new Date());\r\n        gtag('config', GA_ID);\r\n\r\n        googletag.pubads().removeEventListener('slotRenderEnded', handleSlotRenderEnded);\r\n      };\r\n      googletag.pubads().addEventListener('slotRenderEnded', handleSlotRenderEnded);\r\n    });\r\n  }\r\n\r\n  function initIiq() {\r\n    if (!window.IntentIqObject) {\r\n      console.log('IIQ not found - skipping initialization');\r\n      main();\r\n      return;\r\n    }\r\n\r\n    try {\r\n      // Configure IntentIQ\r\n      window.intentIq_2072952453 = new IntentIqObject({\r\n        partner: 2072952453,\r\n        pbjs: adnpbjs,\r\n        callback: main,\r\n        timeoutInMillis: 1800,\r\n        ABTestingConfigurationSource: 'IIQServer',\r\n        manualWinReportEnabled: true,\r\n        domainName: window.location.host,\r\n        vrBrowserBlackList: ['chrome'],\r\n        gamParameterName: 'googletag', // Optional\r\n      });\r\n\r\n      adnpbjs.onEvent('bidWon', (data) => {\r\n        window.intentIq_2072952453.reportExternalWin({\r\n          biddingPlatformId: 1, // PreBid\r\n          partnerAuctionId: data.auctionId,\r\n          bidderCode: data.bidderCode,\r\n          prebidAuctionId: data.auctionId,\r\n          cpm: data.cpm,\r\n          currency: 'USD',\r\n          originalCpm: data.originalCpm,\r\n          originalCurrency: 'USD',\r\n          status: data.status,\r\n          placementId: data.adUnitCode\r\n        });\r\n      });\r\n\r\n    } catch (err) {\r\n      console.error('Failed to initialize IntentIQ:', err);\r\n      throw err;\r\n    }\r\n  }\r\n\r\n  function initAds() {\r\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\r\n    adsEl.forEach(slotEl => createAd(slotEl.dataset.adpath));\r\n  }\r\n\r\n  function onImpressionViewable(event) {\r\n    const {\r\n      slot\r\n    } = event;\r\n    const slotId = slot.getSlotElementId();\r\n    if (!activeSlotIds.includes(slotId)) {\r\n      return;\r\n    }\r\n\r\n    const adUnitPath = slot.getAdUnitPath();\r\n    const adUnit = adsConfig[adUnitPath];\r\n    const timeoutMs = adUnit.refreshTime;\r\n\r\n    setTimeout(() => refreshAd(slot, slotId, adUnit), timeoutMs);\r\n  }\r\n\r\n  function collectAds() {\r\n    adUnits.length = 0;\r\n\r\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\r\n    if (!adsEl.length) {\r\n      console.warn('No ads found to collect');\r\n      return;\r\n    }\r\n\r\n    adsEl.forEach((slotEl) => {\r\n      const adPath = slotEl.dataset.adpath;\r\n      const slot = adsConfig[adPath];\r\n      const slotId = slot?.id;\r\n      const sizes = slot?.sizeMapping[viewportType];\r\n\r\n      if (!sizes?.length) {\r\n        console.warn(\r\n          'Failed to find slot sizes for viewport - bids will be affected for',\r\n          viewportType, slotId\r\n        );\r\n        return;\r\n      }\r\n\r\n      // Clone global bidders\r\n      const slotBidders = [...bidders];\r\n\r\n      // Inject extra bidders based on slot position\r\n      if (slot.position === 'ATF') {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"ATF\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      } else if (slot.position === 'Content') {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"Content\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      } else if (slot.position === 'BTF') {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"BTF\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      } else if (slot.position === 'Side') {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"Side\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      } else if (slot.position === 'Sticky') {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"Sticky\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      } else {\r\n        slotBidders.push({\r\n          bidder: \"taboola\",\r\n          params: {\r\n            tagId: \"ROS\",\r\n            publisherId: '1814028'\r\n          }\r\n        });\r\n      }\r\n\r\n      adUnits.push({\r\n        bids: slotBidders,\r\n        code: slotId,\r\n        mediaTypes: {\r\n          banner: {\r\n            sizes\r\n          }\r\n        }\r\n      });\r\n    });\r\n\r\n    newPbjsAdUnits.length = 0;\r\n    newPbjsAdUnits.push(...adUnits);\r\n\r\n    window.adnpbjs.que.push(() => {\r\n      window.adnpbjs.bidderSettings = bidderSettings;\r\n      window.adnpbjs.setConfig(pbjsConfig);\r\n      window.adnpbjs.setBidderConfig({\r\n        bidders: ['sparteo'], // replace with your custom bidder\r\n        config: {\r\n          ortb2: {\r\n            source: {\r\n              ext: {\r\n                schain: {\r\n                  ver: \"1.0\",\r\n                  complete: 1,\r\n                  nodes: [{\r\n                    asi: \"zerodegreeads.com\",\r\n                    sid: \"32025ABC\",\r\n                    hp: 1\r\n                  }]\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  function runApsBids(slotEl, resolve) {\r\n    return;\r\n\r\n    const slotId = slotEl.id;\r\n    const adPath = slotEl.dataset.adpath;\r\n\r\n    const sizes = adsConfig[adPath].sizeMapping[viewportType];\r\n    if (!sizes.length) {\r\n      console.warn(\r\n        'Failed to find slot sizes for viewport - canceling APS bid for',\r\n        viewportType, slotId\r\n      );\r\n      resolve();\r\n      return;\r\n    }\r\n\r\n    const slots = [{\r\n      slotID: slotId,\r\n      slotName: adsConfig[adPath].id,\r\n      sizes\r\n    }];\r\n\r\n    window.apstag.fetchBids({\r\n      slots,\r\n      timeout: APS_TIMEOUT_MS\r\n    }, () => {\r\n      window.apstag.setDisplayBids();\r\n      resolve();\r\n    });\r\n  }\r\n\r\n  function runPrebidBids(slotEl, resolve) {\r\n    const slotId = slotEl.id;\r\n    window.pbjs.que.push(() =>\r\n      window.pbjs.requestBids({\r\n        timeout: PREBID_TIMEOUT_MS,\r\n        adUnitCodes: [slotId],\r\n        bidsBackHandler: () => {\r\n          window.pbjs.setTargetingForGPTAsync([slotId]);\r\n          resolve();\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  async function runBids(slotEl) {\r\n    const slotId = slotEl.id;\r\n    // const apsBids = new Promise((resolve) => runApsBids(slotEl, resolve));\r\n    const pbjsBids = new Promise((resolve) => runPrebidBids(slotEl, resolve));\r\n    await Promise.allSettled([pbjsBids]);\r\n  }\r\n\r\n  async function createAdCmd(slotName) {\r\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\r\n    if (!slotEl) {\r\n      console.warn('Failed to find ad to create by id:', slotName);\r\n      return;\r\n    }\r\n\r\n    collectAds();\r\n\r\n    let adUnit = adsConfig[slotName];\r\n    if (!adUnit) {\r\n      console.warn('Failed to find ad with the following id:', slotName);\r\n      return;\r\n    }\r\n\r\n    const sizeMapping = googletag\r\n      .sizeMapping()\r\n      .addSize([980, 200], adUnit.sizeMapping.desktop)\r\n      .addSize([730, 200], adUnit.sizeMapping.tablet)\r\n      .addSize([0, 0], adUnit.sizeMapping.mobile)\r\n      .build();\r\n\r\n    const adPath = slotEl.dataset.adpath;\r\n    let refreshIteration = adsConfig[adPath].refreshIteration;\r\n    refreshIteration++;\r\n\r\n    const slot = googletag\r\n    .defineSlot(adUnit.id, adUnit.size)\r\n    .setConfig({\r\n        targeting: {\r\n      'refreshIteration': refreshIteration.toString(),\r\n      'intent_iq_group': 'U'\r\n    }\r\n  })\r\n  .defineSizeMapping(sizeMapping)\r\n  .addService(window.googletag.pubads());\r\n\r\n    slotEl.id = slot.getSlotElementId();\r\n\r\n    const pbjsAdUnit = newPbjsAdUnits.find(adUnit => adUnit.code === slotName);\r\n    if (pbjsAdUnit) {\r\n      pbjsAdUnit.code = slotEl.id;\r\n      window.adnpbjs.addAdUnits(pbjsAdUnit);\r\n      window.pbjs = adnpbjs;\r\n    }\r\n\r\n    slotsMap[slotEl.id] = slot;\r\n    activeSlotIds.push(slotEl.id);\r\n\r\n    const init = async () => {\r\n      try {\r\n        await runBids(slotEl);\r\n        window.googletag.enableServices();\r\n        window.googletag.display(slotEl.id);\r\n        if (googletag.getConfig('disableInitialLoad').disableInitialLoad) {\r\n          window.googletag.pubads().refresh([slot]);\r\n        }\r\n      } catch (err) {\r\n        console.error('Failed to run bids for ad slot: %s, %s', slotEl.id, err);\r\n      }\r\n    };\r\n\r\n    const isLazyLoaded = adsConfig[adPath]?.isLazyLoaded !== false;\r\n    if (isLazyLoaded) {\r\n      lazyLoader.add(slotEl, init);\r\n    } else {\r\n      init();\r\n    }\r\n  }\r\n\r\n  async function refreshAd(slot, slotId, adUnit) {\r\n    try {\r\n      const adUnitToRefresh = googletag\r\n        .pubads()\r\n        .getSlots()\r\n        .filter((slot) => slot.getSlotElementId() === slotId)\r\n        .at(0);\r\n\r\n      if (!adUnitToRefresh) {\r\n        return;\r\n      }\r\n\r\n      adUnit.refreshIteration++;\r\n      slot.setConfig({ targeting: { refreshIteration: adUnit.refreshIteration.toString() } });\r\n\r\n      const slotEl = document.getElementById(adUnitToRefresh.getSlotElementId());\r\n      await runBids(slotEl);\r\n\r\n      window.googletag.pubads().refresh([slotsMap[slotEl.id]]);\r\n    } catch (err) {\r\n      console.error('Failed to refresh ad:', slotId, err.message);\r\n    }\r\n  }\r\n\r\n  function destroyAdCmd(slotName) {\r\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\r\n    if (!slotEl) {\r\n      console.warn('Failed to find ad to destroy by id:', slotName);\r\n      return;\r\n    }\r\n\r\n    const slotId = slotEl.id;\r\n    if (slotId && slotsMap[slotId]) {\r\n      window.googletag.destroySlots([slotsMap[slotId]]);\r\n      delete slotsMap[slotId];\r\n      const idx = activeSlotIds.indexOf(slotId);\r\n      if (idx > -1) {\r\n        activeSlotIds.splice(idx, 1);\r\n      }\r\n    }\r\n\r\n    slotEl.innerHTML = '';\r\n    slotEl.id = '';\r\n    slotEl.removeAttribute('data-onpage');\r\n    if (slotId.toLowerCase().includes('sticky_footer')) {\r\n      slotEl.parentElement.parentElement.remove();\r\n    }\r\n  }\r\n\r\n  function createNativeCmd() {\r\n    createScript('https://cdn.taboola.com/libtrc/adnimationnetwork/loader.js', (scriptEl) => {\r\n      scriptEl.id = 'tb_loader_script';\r\n      scriptEl.onload = () => {\r\n        window.performance?.mark?.('tbl_ic');\r\n      };\r\n    });\r\n\r\n    createScript('data:text/javascript;charset=utf-8,_taboola.push({flush:true})', (scriptEl) => {\r\n      scriptEl.setAttribute('data-taboola-flush', 'true');\r\n      scriptEl.defer = true;\r\n    });\r\n  }\r\n\r\n  function destroyNativeCmd() {\r\n    const footerEl = document.querySelector('.adn-footer');\r\n    if (footerEl) {\r\n      footerEl.innerHTML = '';\r\n    }\r\n  }\r\n\r\n  function createNative() {\r\n    window.googletag.cmd.push(createNativeCmd);\r\n  }\r\n\r\n  function destroyNative() {\r\n    window.googletag.cmd.push(destroyNativeCmd);\r\n  }\r\n\r\n  function createAd(slotName) {\r\n    window.googletag.cmd.push(() => createAdCmd(slotName));\r\n  }\r\n\r\n  function destroyAd(slotName) {\r\n    window.googletag.cmd.push(() => destroyAdCmd(slotName));\r\n  }\r\n\r\n  function createInterstitial() {\r\n    window.googletag.cmd.push(createInterstitialCmd);\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Exports\r\n  // ----------------------------------------------\r\n\r\n  window.adn = {\r\n    createAd,\r\n    destroyAd,\r\n    createNative,\r\n    destroyNative,\r\n    createInterstitial,\r\n  };\r\n\r\n  // ----------------------------------------------\r\n  // Utils\r\n  // ----------------------------------------------\r\n\r\n  async function getIpInfo() {\r\n    try {\r\n      const cached = localStorage.getItem('ipinfo');\r\n      if (cached) return JSON.parse(cached);\r\n      const key = '7c4d73767e64472ea502eacdbc47386b';\r\n      const url = `https://d2dvy74lyjayxz.cloudfront.net/?key=${key}`;\r\n      const res = await fetch(url);\r\n      if (!res.ok) throw new Error(`HTTP-${res.status}`);\r\n      const ipInfo = await res.json();\r\n      localStorage.setItem('ipinfo', JSON.stringify(ipInfo));\r\n      localStorage.removeItem('adngeo'); // Old version cleanup\r\n      return ipInfo;\r\n    } catch (err) {\r\n      console.error('Failed to get ip info:', err.message);\r\n      return null;\r\n    }\r\n  }\r\n\r\n  async function getCountry() {\r\n    const ipInfo = await getIpInfo();\r\n    return ipInfo?.country ?? 'US';\r\n  }\r\n\r\n  async function getPlatform() {\r\n    const ipInfo = await getIpInfo();\r\n    return ['ios','android','mobile','desktop'].find(k => ipInfo?.[k]) ?? 'desktop';\r\n  }\r\n\r\n  async function waitForElement(selector) {\r\n    let cnt = 0;\r\n    const timeout = 100;\r\n    const threshold = 3000 / timeout;\r\n    return new Promise((resolve) => {\r\n      let interval = setInterval(() => {\r\n        if (document.querySelector(selector)) {\r\n          clearInterval(interval);\r\n          resolve();\r\n        }\r\n        if (++cnt === threshold) {\r\n          console.warn('Still waiting for selector:', selector);\r\n        }\r\n      }, timeout);\r\n    });\r\n  }\r\n\r\n  const onDomReady = (function () {\r\n    const callbacks = [];\r\n\r\n    document.addEventListener('DOMContentLoaded', () => {\r\n      callbacks.forEach((callback) => callback());\r\n      callbacks.length = 0;\r\n    });\r\n\r\n    const interval = setInterval(() => {\r\n      if (\r\n        document.readyState === 'complete' ||\r\n        document.readyState === 'interactive'\r\n      ) {\r\n        clearInterval(interval);\r\n        callbacks.forEach((callback) => callback());\r\n        callbacks.length = 0;\r\n      }\r\n    }, 100);\r\n\r\n    return (callback) => {\r\n      if (\r\n        document.readyState === 'complete' ||\r\n        document.readyState === 'interactive'\r\n      ) {\r\n        setTimeout(callback, 0);\r\n      } else {\r\n        callbacks.push(callback);\r\n      }\r\n    };\r\n  })();\r\n\r\n  // Find \"URL_PATHS_BLACKLIST\" under the \"Configuration\" section.\r\n  // There you can add any additional URL paths to blacklist.\r\n  function isBlacklistedUrl() {\r\n    const {\r\n      pathname\r\n    } = window.location;\r\n    const list = URL_PATHS_BLACKLIST ?? [];\r\n    const isBlacklisted = list.some((path) => pathname.includes(path));\r\n    return isBlacklisted;\r\n  }\r\n\r\n  function observeSlots() {\r\n    const isVisible = (element) => {\r\n      const style = window.getComputedStyle(element);\r\n      const isDisplayed = style.display !== 'none';\r\n      const isVisible = style.visibility !== 'hidden';\r\n      return isDisplayed && isVisible;\r\n    };\r\n\r\n    const isStyleChanged = (mutation) =>\r\n      mutation.type === 'attributes' &&\r\n      (\r\n        mutation.attributeName === 'style' ||\r\n        mutation.attributeName === 'class'\r\n      );\r\n\r\n    const isVisibilityChanged = (mutation) => {\r\n      const oldStyle = mutation.oldValue || '';\r\n      const newStyle = mutation.target.getAttribute('style') || '';\r\n      const wasHidden = oldStyle.includes('hidden') || oldStyle.includes('none');\r\n      const isHidden = newStyle.includes('hidden') || newStyle.includes('none');\r\n      return wasHidden !== isHidden;\r\n    }\r\n\r\n    const handleAdded = (node) => {\r\n      const slot = node.getAttribute('data-adpath');\r\n      console.log('Added:', slot);\r\n      createAd(slot);\r\n    }\r\n\r\n    const handleRemoved = (node) => {\r\n      const slot = node.getAttribute('data-adpath');\r\n      console.log('Removed:', slot);\r\n      destroyAd(slot);\r\n    }\r\n\r\n    const isAdSlot = (node) => node.hasAttribute?.('data-adpath');\r\n\r\n    const getSlots = (nodeList) =>\r\n      Array.from(nodeList)\r\n      .filter((node) => node.nodeType === Node.ELEMENT_NODE)\r\n      .flatMap((node) => Array.from(node.querySelectorAll('[data-adpath]')).concat(node))\r\n      .filter(isAdSlot);\r\n\r\n    const handleMutations = (mutations) =>\r\n      mutations.forEach((mutation) => {\r\n        const addedNodes = getSlots(mutation.addedNodes);\r\n        const removedNodes = getSlots(mutation.removedNodes);\r\n\r\n        addedNodes.forEach(handleAdded);\r\n        removedNodes.forEach(handleRemoved);\r\n\r\n        if (\r\n          !addedNodes.includes(mutation.target) &&\r\n          !removedNodes.includes(mutation.target) &&\r\n          isStyleChanged(mutation) &&\r\n          isVisibilityChanged(mutation)\r\n        ) {\r\n          const childNodes = getSlots(mutation.target);\r\n          childNodes.forEach((node) => {\r\n            if (isVisible(node)) {\r\n              handleAdded(node);\r\n            } else {\r\n              handleRemoved(node);\r\n            }\r\n          });\r\n        }\r\n      });\r\n\r\n    // const config = {\r\n    //   subtree: true,\r\n    //   childList: true,\r\n    //   attributes: true,\r\n    //   attributeFilter: ['style', 'class'],\r\n    //   attributeOldValue: true\r\n    // };\r\n\r\n    // const observer = new MutationObserver(handleMutations);\r\n    // observer.observe(document, config);\r\n    const config = {\r\n      subtree: true,\r\n      childList: true,\r\n      attributes: true,\r\n      attributeFilter: ['style', 'class'],\r\n      attributeOldValue: true\r\n    };\r\n\r\n    const observer = new MutationObserver(handleMutations);\r\n\r\n    const startObserving = () => {\r\n      const target = document.body || document.documentElement;\r\n      if (target) {\r\n        observer.observe(target, config);\r\n      }\r\n    };\r\n\r\n    if (document.body) {\r\n      startObserving();\r\n    } else {\r\n      document.addEventListener('DOMContentLoaded', startObserving);\r\n    }\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Custom\r\n  // ----------------------------------------------\r\n\r\n  function createStickyBanner() {\r\n\r\n    const addCloseButton = (stickyBannerSizeDiv) => {\r\n      const el = document.createElement('div');\r\n      el.innerText = 'Close';\r\n      el.style.position = 'absolute';\r\n      el.style.top = '-20px';\r\n      el.style.right = '0px';\r\n      el.style.height = '20px';\r\n      el.style.width = '50px';\r\n      el.style.color = 'white';\r\n      el.style.borderRadius = '2px';\r\n      el.style.backgroundColor = '#bc4f7e';\r\n      el.style.cursor = 'pointer';\r\n      el.style.fontSize = '14px';\r\n      el.style.textAlign = 'center';\r\n      el.classList.add('closeButton');\r\n      el.onclick = function () {\r\n        this.parentElement.remove();\r\n      };\r\n      stickyBannerSizeDiv.append(el);\r\n    };\r\n\r\n    const stickyBannerParent = document.createElement('div');\r\n    stickyBannerParent.classList.add('adnSticky');\r\n    stickyBannerParent.style.position = 'fixed';\r\n    stickyBannerParent.style.display = 'flex';\r\n    stickyBannerParent.style.justifyContent = 'space-evenly';\r\n    stickyBannerParent.style.bottom = '0px';\r\n    stickyBannerParent.style.width = '100%';\r\n    stickyBannerParent.style.backgroundColor = 'transparent';\r\n    stickyBannerParent.style.zIndex = '998';\r\n\r\n    const stickyBannerSizeDiv = document.createElement('div');\r\n    stickyBannerSizeDiv.style.position = 'relative';\r\n\r\n    const stickyBanner = document.createElement('div');\r\n    stickyBanner.dataset.onpage = !0;\r\n    stickyBanner.dataset.adpath = '/80069395/10Dakot/Sticky_Footer';\r\n\r\n    stickyBannerSizeDiv.append(stickyBanner);\r\n    stickyBannerParent.append(stickyBannerSizeDiv);\r\n    document.getElementsByTagName('body')[0].append(stickyBannerParent);\r\n\r\n    let flag = true;\r\n    googletag.cmd.push(() => {\r\n      googletag.pubads().addEventListener('slotRenderEnded', (event) => {\r\n        if (event.slot.getSlotElementId().includes('Sticky_Footer') && !event.isEmpty && flag) {\r\n          flag = false;\r\n          addCloseButton(stickyBannerSizeDiv);\r\n        }\r\n      });\r\n      googletag.enableServices();\r\n    });\r\n\r\n  }\r\n\r\n  let addInContentAdUnits = () => {\r\n    let inContentAdUnit = document.createElement('div');\r\n    inContentAdUnit.dataset.onpage = true;\r\n    inContentAdUnit.dataset.adpath = '/80069395/10Dakot/InContent';\r\n    inContentAdUnit.style.textAlign = 'center';\r\n    inContentAdUnit.style.marginTop = '40px';\r\n    inContentAdUnit.style.marginBottom = '40px';\r\n    inContentAdUnit.style.minHeight = '250px';\r\n    //inContentAdUnit.style.backgroundColor = 'green';\r\n    let h2Section = document.querySelectorAll('.after_ingridients');\r\n    h2Section.forEach(pElement => pElement.parentElement.insertBefore(inContentAdUnit.cloneNode(true), pElement.nextElementSibling));\r\n  };\r\n\r\n  let addMethoddUnits = () => {\r\n    let MethodAdUnit = document.createElement('div');\r\n    MethodAdUnit.dataset.onpage = true;\r\n    MethodAdUnit.dataset.adpath = '/80069395/10Dakot/InContent_0';\r\n    MethodAdUnit.style.textAlign = 'center';\r\n    MethodAdUnit.style.marginTop = '40px';\r\n    MethodAdUnit.style.marginBottom = '40px';\r\n    MethodAdUnit.style.minHeight = '250px';\r\n    //MethodAdUnit.style.backgroundColor = 'pink';\r\n\r\n    // Loop through all elements and check if their text content includes \"אופן הכנה\"\r\n    document.querySelectorAll('*').forEach(el => {\r\n      if (el.textContent.includes('אופן הכנה')) {\r\n        el.parentElement.insertBefore(MethodAdUnit.cloneNode(true), el);\r\n      }\r\n    });\r\n  };\r\n\r\n  (function () {\r\n    function injectBottomAdCSS() {\r\n      if (document.getElementById('bottom-recipe-ad-css')) return;\r\n\r\n      const css = `\r\n      /* Outer container for the bottom recipe ad */\r\n      [data-onpage][data-adpath^=\"/80069395/10Dakot/Bottom\"] {\r\n        display: block !important;\r\n        width: 100% !important;\r\n        margin: 40px auto !important;\r\n        text-align: center !important;\r\n        box-sizing: border-box !important;\r\n      }\r\n\r\n      /* Inner wrapper that we will scale the ad inside */\r\n      .bottom-recipe-inner {\r\n        display: inline-block !important;\r\n        position: relative !important;\r\n        /* height is set via JS after scaling */\r\n      }\r\n\r\n      /* Ad elements themselves */\r\n      .bottom-recipe-inner iframe,\r\n      .bottom-recipe-inner ins,\r\n      .bottom-recipe-inner div[id^=\"google_ads_iframe\"] {\r\n        display: block !important;\r\n        margin: 0 auto !important;\r\n        float: none !important;\r\n        transform-origin: top center !important;\r\n      }\r\n    `;\r\n\r\n      const style = document.createElement('style');\r\n      style.id = 'bottom-recipe-ad-css';\r\n      style.textContent = css;\r\n      document.head.appendChild(style);\r\n    }\r\n\r\n    // Scale a single bottom ad to fit its container\r\n    function scaleBottomAdToFit(slot) {\r\n      if (!slot) return;\r\n\r\n      const inner = slot.querySelector('.bottom-recipe-inner');\r\n      if (!inner) return;\r\n\r\n      const adEl =\r\n        inner.querySelector('iframe') ||\r\n        inner.querySelector('ins') ||\r\n        inner.querySelector('div[id^=\"google_ads_iframe\"]');\r\n\r\n      if (!adEl) return;\r\n\r\n      // Available width\r\n      const containerWidth = slot.clientWidth;\r\n      if (!containerWidth) return;\r\n\r\n      // Natural ad width\r\n      let adWidth = adEl.offsetWidth;\r\n      if (!adWidth) {\r\n        const attrWidth = parseInt(adEl.getAttribute('width'), 10);\r\n        if (!isNaN(attrWidth)) adWidth = attrWidth;\r\n      }\r\n      if (!adWidth) return;\r\n\r\n      const scale = Math.min(1, containerWidth / adWidth);\r\n\r\n      // Apply scaling\r\n      adEl.style.transform = `scale(${scale})`;\r\n\r\n      // Adjust wrapper height so the scaled ad isn't clipped vertically\r\n      const adHeight =\r\n        adEl.offsetHeight || parseInt(adEl.getAttribute('height'), 10) || 0;\r\n      if (adHeight) {\r\n        inner.style.height = adHeight * scale + 'px';\r\n      }\r\n    }\r\n\r\n    // Rescale all bottom slots (e.g. on resize)\r\n    function rescaleAllBottomSlots() {\r\n      const slots = document.querySelectorAll(\r\n        '[data-onpage][data-adpath^=\"/80069395/10Dakot/Bottom\"]'\r\n      );\r\n      slots.forEach(scaleBottomAdToFit);\r\n    }\r\n\r\n    // 🚀 Your public function – call this as before\r\n    window.addBottomRecipeAdUnits = () => {\r\n      injectBottomAdCSS();\r\n\r\n      const BottomRecipeAdUnits = document.createElement('div');\r\n      BottomRecipeAdUnits.dataset.onpage = true;\r\n      BottomRecipeAdUnits.dataset.adpath = '/80069395/10Dakot/Bottom';\r\n      BottomRecipeAdUnits.style.marginTop = '40px';\r\n      BottomRecipeAdUnits.style.marginBottom = '40px';\r\n      BottomRecipeAdUnits.style.minHeight = '250px';\r\n\r\n      // Inner wrapper for scaling\r\n      const inner = document.createElement('div');\r\n      inner.className = 'bottom-recipe-inner';\r\n      BottomRecipeAdUnits.appendChild(inner);\r\n\r\n      const pArr = document.querySelectorAll('#comment');\r\n      const injectedSlots = [];\r\n\r\n      pArr.forEach(pElement => {\r\n        const adUnitClone = BottomRecipeAdUnits.cloneNode(true);\r\n        pElement.parentElement.insertBefore(adUnitClone, pElement);\r\n        injectedSlots.push(adUnitClone);\r\n      });\r\n\r\n      // Try rescaling several times while ads load\r\n      let tries = 0;\r\n      const maxTries = 20; // 20 * 500ms = 10s\r\n      const intervalId = setInterval(() => {\r\n        tries++;\r\n        injectedSlots.forEach(scaleBottomAdToFit);\r\n        if (tries >= maxTries) clearInterval(intervalId);\r\n      }, 500);\r\n\r\n      // Rescale on window resize too\r\n      window.addEventListener('resize', rescaleAllBottomSlots);\r\n    };\r\n  })();\r\n\r\nlet addBottomCategoryAdUnits = () => {\r\n    let BottomCategoryAdUnits = document.createElement('div');\r\n    BottomCategoryAdUnits.dataset.onpage = true;\r\n    BottomCategoryAdUnits.dataset.adpath = '/80069395/10Dakot/Bottom';\r\n    BottomCategoryAdUnits.style.textAlign = '-webkit-center';\r\n    BottomCategoryAdUnits.style.marginTop = '40px';\r\n    BottomCategoryAdUnits.style.marginBottom = '40px';\r\n    BottomCategoryAdUnits.style.minHeight = '250px';\r\n\r\n    let pArr = document.querySelectorAll('#content_readmore');\r\n    pArr.forEach(pElement => pElement.before(BottomCategoryAdUnits.cloneNode(true)));\r\n\r\n  };\r\n\r\n  (function () {\r\n    function injectDesktopIncontentCSS() {\r\n      if (document.getElementById('desktop-incontent-css')) return;\r\n\r\n      const css = `\r\n      /* Outer container for the desktop in-content unit */\r\n      [data-onpage][data-adpath^=\"/80069395/10Dakot/InContent\"] {\r\n        display: block !important;\r\n        width: 100% !important;\r\n        margin: 40px auto !important;\r\n        text-align: center !important;\r\n        box-sizing: border-box !important;\r\n      }\r\n\r\n      /* Inner wrapper that we scale */\r\n      .desktop-incontent-inner {\r\n        display: inline-block !important;\r\n        position: relative !important;\r\n      }\r\n\r\n      /* Ad elements inside */\r\n      .desktop-incontent-inner iframe,\r\n      .desktop-incontent-inner ins,\r\n      .desktop-incontent-inner div[id^=\"google_ads_iframe\"] {\r\n        display: block !important;\r\n        margin: 0 auto !important;\r\n        float: none !important;\r\n        transform-origin: top center !important;\r\n      }\r\n    `;\r\n\r\n      const style = document.createElement('style');\r\n      style.id = 'desktop-incontent-css';\r\n      style.textContent = css;\r\n      document.head.appendChild(style);\r\n    }\r\n\r\n    // Scale a single ad slot to fit the Elementor column\r\n    function scaleDesktopIncontent(slot) {\r\n      if (!slot) return;\r\n\r\n      const inner = slot.querySelector('.desktop-incontent-inner');\r\n      if (!inner) return;\r\n\r\n      const adEl =\r\n        inner.querySelector('iframe') ||\r\n        inner.querySelector('ins') ||\r\n        inner.querySelector('div[id^=\"google_ads_iframe\"]');\r\n\r\n      if (!adEl) return;\r\n\r\n      const containerWidth = slot.clientWidth;\r\n      if (!containerWidth) return;\r\n\r\n      let adWidth = adEl.offsetWidth;\r\n      if (!adWidth) {\r\n        const attrWidth = parseInt(adEl.getAttribute('width'), 10);\r\n        if (!isNaN(attrWidth)) adWidth = attrWidth;\r\n      }\r\n      if (!adWidth) return;\r\n\r\n      const scale = Math.min(1, containerWidth / adWidth);\r\n      adEl.style.transform = `scale(${scale})`;\r\n\r\n      const adHeight =\r\n        adEl.offsetHeight || parseInt(adEl.getAttribute('height'), 10) || 0;\r\n\r\n      if (adHeight) inner.style.height = adHeight * scale + 'px';\r\n    }\r\n\r\n    function rescaleAllDesktopIncontent() {\r\n      const slots = document.querySelectorAll(\r\n        '[data-onpage][data-adpath^=\"/80069395/10Dakot/InContent\"]'\r\n      );\r\n      slots.forEach(scaleDesktopIncontent);\r\n    }\r\n\r\n    // 🚀 Your updated public function\r\n    window.addInContentDesktopAdUnits = () => {\r\n      // Desktop only\r\n      if (window.innerWidth < 1024) return;\r\n\r\n      injectDesktopIncontentCSS();\r\n\r\n      const base = document.createElement('div');\r\n      base.dataset.onpage = true;\r\n      base.dataset.adpath = '/80069395/10Dakot/InContent_0';\r\n      base.style.marginTop = '40px';\r\n      base.style.marginBottom = '40px';\r\n      base.style.minHeight = '250px';\r\n\r\n      const inner = document.createElement('div');\r\n      inner.className = 'desktop-incontent-inner';\r\n      base.appendChild(inner);\r\n\r\n      const pArr = document.querySelectorAll(\r\n        'body > div.elementor > div.elementor-element > div > div > div.elementor-element.elementor-element-df5c565.e-con-full.np.no-print.e-flex.e-con.e-child'\r\n      );\r\n\r\n      const injected = [];\r\n\r\n      pArr.forEach(pElement => {\r\n        const clone = base.cloneNode(true);\r\n        pElement.before(clone);\r\n        injected.push(clone);\r\n      });\r\n\r\n      // Try to scale multiple times while ads load\r\n      let tries = 0;\r\n      const maxTries = 20;\r\n      const interval = setInterval(() => {\r\n        tries++;\r\n        injected.forEach(scaleDesktopIncontent);\r\n        if (tries >= maxTries) clearInterval(interval);\r\n      }, 500);\r\n\r\n      window.addEventListener('resize', rescaleAllDesktopIncontent);\r\n    };\r\n  })();\r\n\r\nlet addSideBarAdUnits = () => {\r\n    let SideBarAdUnit = document.createElement('div');\r\n    SideBarAdUnit.dataset.onpage = true;\r\n    SideBarAdUnit.dataset.adpath = '/80069395/10Dakot/Side_0';\r\n    SideBarAdUnit.style.textAlign = 'center';\r\n    SideBarAdUnit.style.marginTop = '40px';\r\n    SideBarAdUnit.style.marginBottom = '40px';\r\n    SideBarAdUnit.style.minHeight = '250px';\r\n    //SideBarAdUnit.style.backgroundColor = 'blue';\r\n    let h2Section = document.querySelectorAll('.aside.aside--start > div:nth-of-type(2n + 1)');\r\n    for (let i = 0; i < h2Section.length && i < 1; i++) {\r\n      let adUnit = SideBarAdUnit.cloneNode(true);\r\n      adUnit.dataset.adpath = '/80069395/10Dakot/Side_' + i;\r\n      h2Section[i].after(adUnit);\r\n    }\r\n  };\r\n\r\n  function addATFMobileUnit() {\r\n    if (screen.width > 768) return;\r\n\r\n    if (document.querySelector('[data-adpath=\"/80069395/10Dakot/Top\"]')) {\r\n      console.log('ATF mobile unit already injected — skipping.');\r\n      return;\r\n    }\r\n\r\n    const template = document.createElement('div');\r\n    template.dataset.onpage = true;\r\n    template.dataset.adpath = '/80069395/10Dakot/Top';\r\n    template.style.textAlign = 'center';\r\n    template.style.minHeight = '250px';\r\n\r\n    // ⭐ Generic selector for ALL recipe pages — hero image container\r\n    const heroImage = document.querySelector(\r\n      '.elementor .e-con-full.hero-s.e-parent .e-con-full.above-the-fold.e-child'\r\n    );\r\n\r\n    if (heroImage) {\r\n      // Wrap the ad in a full-width white background container\r\n      const wrapper = document.createElement('div');\r\n      wrapper.style.background = '#ffffff'; // white background\r\n      wrapper.style.width = '100vw'; // full viewport width\r\n      wrapper.style.position = 'relative';\r\n      wrapper.style.left = '0';\r\n      //wrapper.style.padding = '20px 0';       // optional vertical spacing\r\n      wrapper.style.marginTop = '5px';\r\n      wrapper.style.marginBottom = '0px';\r\n\r\n      // Clone the ad template and append to wrapper\r\n      const ad = template.cloneNode(true);\r\n      wrapper.appendChild(ad);\r\n\r\n      // Inject wrapper after hero image\r\n      heroImage.insertAdjacentElement('afterend', wrapper);\r\n\r\n      console.log('ATF mobile unit injected AFTER hero image with full-width white background.');\r\n    } else {\r\n      console.log('Hero image container not found — ATF not injected.');\r\n    }\r\n  }\r\n\r\nfunction createInterstitialCmd() {\r\n\r\n    const slot = window.googletag.defineOutOfPageSlot(\r\n      '/80069395/10Dakot/10Dakot_Interstitial', window.googletag.enums.OutOfPageFormat.INTERSTITIAL);\r\n\r\n    if (!slot) {\r\n      console.error('Failed to define out of page slot - Interstitial');\r\n      return;\r\n    }\r\n\r\n    slot.addService(window.googletag.pubads());\r\n    window.googletag.enableServices();\r\n    window.googletag.display(slot);\r\n\r\n  }\r\n\r\n  function injectTaboolaRecipeUnit() {\r\n    // Only run on mobile (< 768px)\r\n    if (screen.width >= 768) {\r\n      console.log('Not mobile — Taboola recipe unit not injected.');\r\n      return;\r\n    }\r\n\r\n    const target = document.querySelector('#amir_before_groceries');\r\n    if (!target) {\r\n      console.log('Selector not found — skipping.');\r\n      return;\r\n    }\r\n\r\n    // Prevent duplicates\r\n    if (document.getElementById('taboola-mid-article-thumbnails-dakot')) {\r\n      console.log('Taboola block already exists — skipping.');\r\n      return;\r\n    }\r\n\r\n    // Create wrapper div\r\n    const divElement = document.createElement('div');\r\n    divElement.id = 'taboola-mid-article-thumbnails-dakot';\r\n\r\n    // Create Taboola script\r\n    const scriptElement = document.createElement('script');\r\n    scriptElement.type = 'text/javascript';\r\n    scriptElement.text = `\r\n    window._taboola = window._taboola || [];\r\n    _taboola.push({\r\n      mode: 'thumbnails-mid-1x1',\r\n      container: 'taboola-mid-article-thumbnails-dakot',\r\n      placement: 'Mid Article Thumbnails Dakot',\r\n      target_type: 'mix'\r\n    });\r\n  `;\r\n\r\n    // Insert BEFORE the selector\r\n    target.insertAdjacentElement('beforebegin', divElement);\r\n    divElement.appendChild(scriptElement);\r\n\r\n    console.log('Taboola recipe unit injected before selector.');\r\n  }\r\n\r\nfunction injectTaboolaFooterUnit() {\r\n\r\n    // Select all elements matching the selector\r\n    var elements = document.querySelectorAll('#wpdcom > div.wpd-form-wrap');\r\n\r\n    if (elements.length === 0) {\r\n      console.log('No elements found with the selector.');\r\n      return;\r\n    }\r\n\r\n    // Loop through each matched element\r\n    elements.forEach(function (element) {\r\n      var divElement = document.createElement('div');\r\n      divElement.id = 'taboola--below-article-thumbnails-dakot-12';\r\n\r\n      var scriptElement = document.createElement('script');\r\n      scriptElement.type = 'text/javascript';\r\n      scriptElement.text = `\r\n      window._taboola = window._taboola || [];\r\n      _taboola.push({\r\n        mode: 'alternating-thumbnails-a',\r\n        container: 'taboola--below-article-thumbnails-dakot-12',\r\n        placement: ' Below Article Thumbnails Dakot 12',\r\n        target_type: 'mix'\r\n      });\r\n    `;\r\n\r\n      element.appendChild(divElement);\r\n      element.appendChild(scriptElement);\r\n    });\r\n\r\n    console.log('Taboola footer unit injected successfully.');\r\n  }\r\n\r\n  function injectTaboolaFooterSPLITUnit() {\r\n\r\n    // Select all elements matching the selector\r\n    var elements = document.querySelectorAll('main > .elementor-element.elementor-element-29b26fd.elementor-widget__width-inherit.np.no-print.elementor-widget.elementor-widget-shortcode');\r\n\r\n    if (elements.length === 0) {\r\n      console.log('No elements found with the selector.');\r\n      return;\r\n    }\r\n\r\n    // Loop through each matched element\r\n    elements.forEach(function (element) {\r\n      var divElement = document.createElement('div');\r\n      divElement.id = 'taboola-below-article-thumbnails-dakot-20';\r\n\r\n      var scriptElement = document.createElement('script');\r\n      scriptElement.type = 'text/javascript';\r\n      scriptElement.text = `\r\n      window._taboola = window._taboola || [];\r\n      _taboola.push({\r\n        mode: 'thumbs-feed-01-a',\r\n        container: 'taboola-below-article-thumbnails-dakot-20',\r\n        placement: 'Below Article Thumbnails Dakot 20',\r\n        target_type: 'mix'\r\n      });\r\n    `;\r\n\r\n      element.appendChild(divElement);\r\n      element.appendChild(scriptElement);\r\n    });\r\n\r\n    console.log('Taboola footer SPLIT unit injected successfully.');\r\n  }\r\n\r\n  function injectOutbrainWidget() {\r\n  // Select all elements matching the target selector\r\n  var elements = document.querySelectorAll('#wpdcom > div.wpd-form-wrap');\r\n\r\n  if (elements.length === 0) {\r\n    console.log('No elements found with the selector.');\r\n    return;\r\n  }\r\n\r\n  // Inject Outbrain JS script if it hasn't been added yet\r\n  if (!document.querySelector('script[src*=\"widgets.outbrain.com/outbrain.js\"]')) {\r\n    var outbrainScript = document.createElement('script');\r\n    outbrainScript.type = 'text/javascript';\r\n    outbrainScript.async = true;\r\n    outbrainScript.src = 'https://widgets.outbrain.com/outbrain.js';\r\n    document.head.appendChild(outbrainScript);\r\n  }\r\n\r\n  // Loop through each matched element and insert the container directly after it\r\n  elements.forEach(function (element) {\r\n    // Check if widget was already injected for this element to prevent duplicates\r\n    if (element.nextElementSibling && element.nextElementSibling.classList.contains('OUTBRAIN')) {\r\n      return;\r\n    }\r\n\r\n    var divElement = document.createElement('div');\r\n    divElement.className = 'OUTBRAIN';\r\n    divElement.setAttribute('data-widget-id', 'GS_1');\r\n\r\n    // Insert directly AFTER the target selector element\r\n    element.insertAdjacentElement('afterend', divElement);\r\n  });\r\n\r\n  console.log('Outbrain widget container injected successfully.');\r\n}\r\n\r\nfunction injectOutbrainMobile1x1Widget() {\r\n    // Only run on mobile (< 768px)\r\n    if (screen.width >= 768) {\r\n      console.log('Not mobile — Outbrain 1x1 unit not injected.');\r\n      return;\r\n    }\r\n\r\n  // Select all elements matching the target selector\r\n  var elements = document.querySelectorAll('#amir_before_groceries');\r\n\r\n  if (elements.length === 0) {\r\n    console.log('No elements found with the selector.');\r\n    return;\r\n  }\r\n\r\n  // Inject Outbrain JS script if it hasn't been added yet\r\n  if (!document.querySelector('script[src*=\"widgets.outbrain.com/outbrain.js\"]')) {\r\n    var outbrainScript = document.createElement('script');\r\n    outbrainScript.type = 'text/javascript';\r\n    outbrainScript.async = true;\r\n    outbrainScript.src = 'https://widgets.outbrain.com/outbrain.js';\r\n    document.head.appendChild(outbrainScript);\r\n  }\r\n\r\n  // Loop through each matched element and insert the container directly before it\r\n  elements.forEach(function (element) {\r\n    // Check if widget was already injected BEFORE this element to prevent duplicates\r\n    if (element.previousElementSibling && element.previousElementSibling.classList.contains('OUTBRAIN')) {\r\n      return;\r\n    }\r\n\r\n    var divElement = document.createElement('div');\r\n    divElement.className = 'OUTBRAIN';\r\n    divElement.setAttribute('data-widget-id', 'CRMB_2');\r\n\r\n    // Insert directly BEFORE the target selector element\r\n    element.insertAdjacentElement('beforebegin', divElement);\r\n  });\r\n\r\n  console.log('Outbrain widget container injected successfully.');\r\n}\r\n\r\n  onDomReady(async () => {\r\n    if (isBlacklistedUrl()) {\r\n      return;\r\n    }\r\n\r\n    try {\r\n      // Add custom slots creation logic here 👇\r\n      createNative();\r\n      createStickyBanner();\r\n      addSideBarAdUnits();\r\n      addATFMobileUnit();\r\n      addInContentDesktopAdUnits();\r\n      addBottomRecipeAdUnits();\r\n      addBottomCategoryAdUnits();\r\n      createInterstitial();\r\n      \r\n\r\n      if (window.location.pathname === \"/recipe/%d7%9e%d7%aa%d7%9b%d7%95%d7%9f-%d7%9c%d7%94%d7%9e%d7%91%d7%95%d7%a8%d7%92%d7%a8/\") {\r\n        injectOutbrainMobile1x1Widget();\r\n        injectOutbrainWidget();\r\n      }\r\n\r\n      if (window.location.pathname !== \"/recipe/%d7%9e%d7%aa%d7%9b%d7%95%d7%9f-%d7%9c%d7%94%d7%9e%d7%91%d7%95%d7%a8%d7%92%d7%a8/\") {\r\n        injectTaboolaFooterUnit();\r\n        injectTaboolaRecipeUnit();\r\n      }\r\n\r\n    } catch (err) {\r\n      console.error('Failed to create slots:', err.message);\r\n    }\r\n\r\n    // Must be called last\r\n    initAds();\r\n    observeSlots();\r\n  });\r\n\r\n})(window, document);"]}