{"version":3,"file":"categoryPageClient_usa.js","sources":["../../../node_modules/.pnpm/ua-parser-js@1.0.37/node_modules/ua-parser-js/src/ua-parser.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/v4.js","../../../packages/lib-common/src/utils/objectUtils.ts","../../../packages/lib-common/src/utils/deviceUtils.ts","../../../packages/lib-common/src/utils/logUtils.ts","../../../packages/lib-common/src/utils/numUtils.ts","../../../packages/lib-common/src/utils/typeUtils.ts","../../../packages/lib-common/src/utils/urlUtils.ts","../../../packages/lib-common/src/utils/dateTimeUtils.ts","../../../packages/lib-common/src/utils/pageUtils.ts","../../../packages/lib-common/src/utils/cookieUtils.ts","../../../packages/lib-domain-tag/src/eventSubjects/domainSubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/domContentLoadedSubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/tcfReadySubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/domReadyStateCompleteSubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/domReadyStateInteractiveSubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/windowUrlChangedSubject.ts","../../../packages/lib-domain-tag/src/domain/commandArray.ts","../../../packages/lib-domain-tag/src/domain/domainTag.ts","../../../packages/lib-domain-tag/src/main.ts","../../../packages/lib-domain-tag/global.ts","../../../packages/lib-domain-tag/src/ads/googleTypes.ts","../../../packages/lib-domain-tag/src/ads/eventSubjects/slotRenderEndedSubject.ts","../../../packages/lib-domain-tag/src/ads/adUnit.ts","../../../packages/lib-domain-tag/src/ads/pbjsConfigs.ts","../../../packages/lib-domain-tag/src/ads/eventSubjects/firstSlotRenderEndedSubject.ts","../../../packages/lib-domain-tag/src/eventSubjects/pageClientExecutionEndedSubject.ts","../../../packages/lib-domain-tag/src/ads/pageAdsBuilder.ts","../../../packages/lib-domain-tag/src/ads/bidder.ts","../../../packages/lib-domain-tag/src/ads/bidderHelper.ts","../lib/bidderConfs/worldPageBidderHelper.ts","../lib/bidderConfs/trPageBidderHelper.ts","../../../packages/lib-domain-tag/countryEnum.ts","../lib/main.ts","../lib/pages/pageBidderHelper.ts","../lib/commonAdUnits/outOfPageAdUnits.ts","../lib/pages/utilHelpers.ts","../lib/pages/categoryPage/desktopCategoryPageAdsBuilder.ts","../lib/pages/categoryPage/mobileCategoryPageAdsBuilder.ts","../lib/pages/categoryPage/pageClient.ts"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.37\n Copyright © 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.37',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 500;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant|iemobile|slim)\\s?(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // Heytap/Ovi\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 ' + BROWSER]], [\n /(oculus|sailfish|huawei|vivo)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 ' + BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, 'Sogou Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, 'Sogou Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/2345 Browser\n ], [NAME, VERSION], [\n /(lbbrowser)/i, // LieBao Browser\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(Klarna)\\/([\\w\\.]+)/i, // Klarna Shopping Browser for iOS & Android\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram/Snapchat\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i, // Links\n /panasonic;(viera)/i // Panasonic Viera\n ], [NAME, VERSION], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, // Redmi Pad\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n \n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w+)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i // Windows Phone\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /windows nt 6\\.2; (arm)/i, // Windows RT\n /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","\nimport { v4 as uuidv4 } from \"uuid\";\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace objUtil {\n export const isStrNullOrUndefined = (data?: string | null | undefined) => {\n return data === null || data === undefined || data?.trim()?.length === 0 || data?.trim() === '';\n }\n\n export const isNullOrEmpty = isStrNullOrUndefined;\n\n export const isObjNullOrUndefined = (data?: object | null | undefined): boolean => {\n return data === null || data === undefined;\n }\n export const isNumNullOrUndefined = (data?: number | null | undefined): boolean => {\n return data === null || data === undefined;\n }\n\n export const uuidStr = (): string => {\n return uuidv4();\n }\n\n}\n\n\n","import {UAParser} from \"ua-parser-js\";\nimport {typeUtil} from \"./typeUtils\";\nimport {objUtil} from \"./objectUtils\";\ntype StringOrUndefined=typeUtil.StringOrUndefined;\nconst isStrNullOrUndefined=objUtil.isStrNullOrUndefined;\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace deviceUtil {\n\n\n export const isMobileExt = (userAgent?: string | null | undefined): boolean => {\n return /Mobile|Mobi|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/i.test(userAgent ?? navigator.userAgent);\n };\n\n export enum DeviceTypeEnum {\n desktop = 'desktop',\n mobile = 'mobile',\n tablet = 'tablet',\n phone = 'phone',\n smarttv = 'smarttv'\n }\n\n export type DeviceTypeArray = Array\n\n export class DeviceTypeInfo {\n\n\n constructor() {\n const uaParser = new UAParser(window?.navigator?.userAgent);\n const ua = uaParser.getResult();\n this.model = ua.device?.model;\n this.vendor = ua.device?.vendor;\n this.osName = ua.os?.name;\n this.osVersion = ua.os?.version;\n this.type = ua.device?.type;\n if (isStrNullOrUndefined(this.type)) {\n if (isMobileExt()) {\n this.type = DeviceTypeEnum.mobile;\n } else {\n this.type = DeviceTypeEnum.desktop;\n }\n }\n\n }\n type: StringOrUndefined | DeviceTypeEnum;\n model: StringOrUndefined;\n vendor: StringOrUndefined;\n osName: StringOrUndefined;\n osVersion: StringOrUndefined;\n\n isDesktop():boolean{\n const type=this.type ?? DeviceTypeEnum.mobile;\n const result=DeviceTypeInfo.desktopDevices.some(q=>q === type)\n return result;\n }\n isMobile():boolean{\n const type=this.type ?? DeviceTypeEnum.mobile;\n const result=DeviceTypeInfo.mobileDevices.some(q=>q === type)\n return result;\n }\n\n\n public static readonly desktopDevices = [DeviceTypeEnum.desktop, DeviceTypeEnum.tablet, DeviceTypeEnum.smarttv];\n public static readonly mobileDevices = [DeviceTypeEnum.mobile, DeviceTypeEnum.phone];\n public static readonly allDevices = [\n DeviceTypeEnum.mobile,DeviceTypeEnum.phone,\n DeviceTypeEnum.desktop, DeviceTypeEnum.tablet,DeviceTypeEnum.smarttv\n ];\n\n\n }\n\n //export const deviceTypeInfo = new DeviceTypeInfo();\n\n}\n\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace logUtil {\n let isLoggerActive: boolean | undefined;\n const consoleBold = \"font-weight: bold\";\n const consoleNormal = \"font-weight: normal\";\n\n\n let _logPrefix = \"domain-client\";\n export const isDebug = (): boolean => {\n if (isLoggerActive != null) return isLoggerActive;\n isLoggerActive = window.location?.search?.indexOf(\"debug=true\") > 0;\n return isLoggerActive;\n }\n export const setLogPrefix = (prefix: string) => {\n _logPrefix = prefix;\n isDebug();\n }\n setLogPrefix(_logPrefix);\n\n \n\n // export const consoleLog = (message: any, ...data: any[]) => {\n // if (logger) {\n // console?.log(`%c${_logPrefix}%c`, consoleBold, consoleNormal, message, data);\n // }\n // }\n export const consoleLog = (...data:any) => {\n if (isLoggerActive) {\n console?.log(`%c${_logPrefix}%c`, consoleBold, consoleNormal,...data);\n } \n }\n\n export const consoleWarn = (...data: any) => {\n console?.warn(`%c${_logPrefix}%c`, consoleBold, consoleNormal, ...data)\n }\n\n export const consoleError = (...data: any) => {\n console?.error(`%c${_logPrefix}%c`, consoleBold, consoleNormal, ...data)\n }\n\n export const throwError = (message: string) => {\n throw new Error(message);\n\n }\n export const throwEvalError = (message: string) => {\n throw new EvalError(message);\n\n }\n\n}\n\n\n\n","// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace numUtil {\n export const getRandomInt = (): number => {\n return new Date().getTime() | 0;\n };\n}\n\n\n\n\n\n","// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace typeUtil {\n export type CallbackFunction = () => void;\n export type InitFunction = () => void;\n export type StringOrUndefined = string | undefined;\n export type NumberOrUndefined = number | undefined;\n\n export interface IObjectIndexer {\n [key: string]: T;\n }\n\n export class ObjectIndexer implements IObjectIndexer {\n [key: string]: T;\n }\n}\n\n\n\n\n\n\n","import {objUtil} from \"./objectUtils\"\nimport { typeUtil } from \"./typeUtils\";\ntype StringOrUndefined= typeUtil.StringOrUndefined;\nconst isNullOrEmpty=objUtil.isNullOrEmpty;\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace urlUtil {\n export const getUrlQueryStringValue = (name: string): StringOrUndefined => {\n const urlParams = new URLSearchParams(window.location.search)\n const data = urlParams.get(name);\n return data ? data : undefined;\n\n }\n export const getWindowUrlString = (): StringOrUndefined => {\n\n return window?.location?.toString();\n }\n\n export const getDocumentReferrer = (): StringOrUndefined => {\n const data = document?.referrer;\n return isNullOrEmpty(data) ? undefined : data;\n }\n\n export const getHostNameFromUrl = (): StringOrUndefined => {\n return window?.location?.host\n }\n\n export const getUrlQueryStringValues = (names: Array): Map => {\n const urlParams = new URLSearchParams(window.location.search)\n const result = new Map();\n names.map(q => {\n const data = urlParams.get(q);\n result.set(q, data ? data : undefined);\n })\n return result;\n }\n export const getUrlQueryStringAllParams = (): Map => {\n const result = new Map();\n const urlParams = new URLSearchParams(window.location.search)\n for (const [key, value] of urlParams) {\n result.set(key, value);\n }\n return result;\n }\n}","\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace dateUtil{\n\nexport class DateTimeHelper {\n public getTimeStamp(){\n return new Date().getTime();\n }\n\n}\n\nexport const dateTime=new DateTimeHelper();\n}","// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace pageUtil {\n export enum PageTypeEnum {\n noPageType = \"no-page-type\",\n index = 'index',\n allPosts = 'all-posts',\n postDetail = 'post',\n loadMorePost = 'load-more-post',\n authorPost = 'author-post',\n tag = 'tag',\n astrologyIndex = 'astrology-index',\n astrologyAstrologyHoroscopeReview = 'astrology-horoscope-review',\n breakingNews = 'breaking-news',\n category = 'category',\n authors = 'authors',\n authorArchive = 'author-archive',\n page = 'page',\n election = 'election',\n contract = 'contract',\n financeIndex = 'finance-index',\n financeForex = 'finance-forex',\n financeSubPage = 'finance-subpages',\n sportIndexPage = 'sport-index',\n sportSubPage = 'sport-subpages',\n dynamicPage = 'dynamic-page',\n eNewsPaper = 'enewspaper-page',\n epg = 'epg-page',//electronic program guide page\n program = 'program',\n liveStream = 'live-stream'\n\n }\n\n export type PageTypeArray = Array;\n}","// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace cookieUtil {\n export class CookieHelper {\n public doesCookieExists(cookieName: string) {\n const cookies = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].trim();\n if (cookie.startsWith(cookieName + '=')) {\n return true;\n }\n }\n return false;\n }\n\n }\n\n export const cookieHelper = new CookieHelper();\n}\n\n\n\n","import { logUtil } from \"@repo/lib-common\";\n\nexport type DomainSubjectCallback = (data: T | undefined) => void;\n\nexport abstract class DomainSubject {\n\n private data?: T;\n name?: string;\n subscriptions: DomainSubjectCallback[] = new Array>;\n mustBeTriggeredOnce = false;\n isTriggered = false;\n isInitialized = false;\n constructor() {\n\n }\n setData(data?: T) {\n this.data = data;\n }\n setDataAndTrigger(data?: T) {\n this.data = data;\n this.trigger();\n }\n getData() {\n return this.data ?? {} as T;\n }\n public subscribe(fn: DomainSubjectCallback) {\n\n this.subscriptions.push(fn);\n if (this.isTriggered && fn) {\n fn(this.data);\n }\n }\n public onBeforeTrigger?: VoidFunction;\n public onAfterTrigger?: VoidFunction;\n private maxRetryCount = 3;\n private retryCount = 0;\n public trigger() {\n this.isTriggered = true;\n logUtil.consoleLog(`${this.name} is triggered, data:`, this.data);\n if (this.mustBeTriggeredOnce && this.isTriggered) return;\n if (this.subscriptions.length === 0 || this.retryCount >= this.maxRetryCount) return;\n if (this.subscriptions.length === 0) {\n this.retryCount++;\n setTimeout(() => {\n this.trigger();\n }, 2000)\n return;\n }\n logUtil.consoleLog(`${this.name} callbacks are triggered`)\n for (let i = 0; i < this.subscriptions.length; i++) {\n const fn = this.subscriptions[i];\n if (fn) {\n fn(this.data);\n }\n }\n this.retryCount = 0;\n }\n\n activate() {\n\n if (this.isInitialized) {\n logUtil.consoleLog(`${this.name} is alreaedy activated`);\n return;\n }\n this.isInitialized = true;\n this.init();\n return this;\n\n }\n\n abstract init(): void\n // init(){\n // throw Error(\"override init on derived class\");\n // };\n\n\n}\n\n\n\n\n\n","import { DomainSubject } from \"./domainSubject\";\nimport { logUtil } from \"@repo/lib-common\";\n\nexport class DomContentLoadedSubject extends DomainSubject {\n\n name = \"DomContentLoadedSubject\";\n init = () => {\n logUtil.consoleLog(\"DomContentLoadedSubject init called\");\n if (document.readyState === \"complete\") {\n logUtil.consoleLog(\"DomContentLoadedSubject fail-safe triggered when readyState:\", document.readyState);\n this.trigger();\n return;\n }\n logUtil.consoleLog(\"DomContentLoadedSubject registered when readyState:\", document.readyState);\n document.addEventListener(\"DOMContentLoaded\", (event) => {\n logUtil.consoleLog(\"DOMContentLoaded event:\", event);\n this.trigger();\n });\n return;\n\n\n\n }\n\n}\n\nconst domContentLoadedSubject = new DomContentLoadedSubject();\ndomContentLoadedSubject.activate();\n\nexport { domContentLoadedSubject };\n\n\n\n\n","// @ts-ignore\nimport { logUtil } from \"@repo/lib-common\";\nimport { DomainSubject } from \"./domainSubject\";\nimport { domContentLoadedSubject } from \"./domContentLoadedSubject\";\n\n\n\nconst maxTcfCheckCount = 5;\nexport class TcfReadySubject extends DomainSubject {\n name = \"TcfReadySubject\";\n tcfCheckCount = 0;\n checkTCF(): boolean {\n // @ts-ignore\n let isTcfLoaded = (typeof window.__tcfapi !== \"undefined\") && (typeof window.__tcfapi === \"function\") && window.__tcfapi !== \"undefined\";\n\n if (isTcfLoaded) return isTcfLoaded;\n try {\n // @ts-ignore\n isTcfLoaded = (typeof window.frames !== \"undefined\") && (typeof window.frames.__tcfapi !== \"undefined\");\n } catch (e) { /* empty */ }\n return isTcfLoaded;\n }\n init = () => {\n if (this.tcfCheckCount > maxTcfCheckCount) {\n logUtil.consoleWarn(\"tcf not found on page\");\n return;\n }\n this.tcfCheckCount++;\n if (this.checkTCF()) {\n // @ts-ignore\n __tcfapi('addEventListener', 2, (tcData) => {\n console.log(tcData);\n logUtil.consoleLog(\"tcf->tcData\", tcData);\n // @ts-ignore\n this.setDataAndTrigger(this.tcData);\n\n });\n } else {\n setTimeout(() => {\n this.init();\n }, 500);\n }\n\n }\n}\n\nconst tcfReadySubject = new TcfReadySubject();\n\n\n\n/** attach to the dom content load event */\ndomContentLoadedSubject.subscribe(() => { tcfReadySubject.activate() });\nexport { tcfReadySubject };\n\n\n\n\n","import {DomainSubject} from \"./domainSubject\";\nimport {logUtil} from \"@repo/lib-common\";\nconst complete='complete';\nexport class DomReadyStateCompleteSubject extends DomainSubject{\n name= \"DomReadyStateCompleteSubject\";\n init=()=>{\n logUtil.consoleLog(`DomReadyStateCompleteSubject init called. document.readyState: ${document.readyState}`);\n if (document.readyState === complete) {\n logUtil.consoleLog(`${this.name} document.readyState is already ${document.readyState}`);\n this.trigger();\n return;\n }\n document.addEventListener(\"readystatechange\", (event) => {\n if (document.readyState === complete) {\n logUtil.consoleLog(`${this.name} document.readyState became ${document.readyState} event:`,event);\n this.trigger();\n }\n });\n }\n}\nconst domReadyStateCompleteSubject=new DomReadyStateCompleteSubject();\ndomReadyStateCompleteSubject.activate();\nexport {domReadyStateCompleteSubject};\n\n\n\n","import {DomainSubject} from \"./domainSubject\";\nimport {logUtil} from \"@repo/lib-common\";\n\nconst interactive='interactive';\nconst complete='complete';\n\nexport class DomReadyStateInteractiveSubject extends DomainSubject{\n name= \"DomReadyStateInteractiveSubject\";\n init=()=>{\n if (document.readyState === complete || document.readyState ===interactive) {\n logUtil.consoleLog(`${this.name} document.readyState is already ${document.readyState}`);\n this.trigger();\n return;\n }\n document.addEventListener(\"readystatechange\", (event) => {\n if (document.readyState === interactive) {\n logUtil.consoleLog(`${this.name} document.readyState became ${document.readyState} event:`,event);\n this.trigger();\n }\n\n });\n }\n\n\n}\n\nconst domReadyStateInteractiveSubject=new DomReadyStateInteractiveSubject();\ndomReadyStateInteractiveSubject.activate();\nexport {domReadyStateInteractiveSubject};\n\n\n\n\n","import {logUtil} from \"@repo/lib-common\";\nimport {DomainSubject} from \"./domainSubject\";\n\nexport class WindowUrlChangedSubject extends DomainSubject{\n name = \"WindowUrlChangedSubject\";\n init=()=>{\n window?.addEventListener(\"popstate\",(event)=>{\n logUtil.consoleLog(\"popstate\",event)\n this.trigger();\n });\n window?.addEventListener(\"hashchange\",(event)=>{\n logUtil.consoleLog(\"hashchange\",event)\n this.trigger();\n });\n }\n}\n\nconst windowUrlChangedSubject=new WindowUrlChangedSubject();\nwindowUrlChangedSubject.activate();\nexport {windowUrlChangedSubject};\n","import {logUtil} from \"@repo/lib-common\";\n\nlogUtil.setLogPrefix(\"domain-client\")\n\nexport interface ICommand {\n command: VoidFunction | undefined;\n hasError: boolean;\n exception: unknown\n\n}\n\nexport class CommandArray {\n waiting: Array = [];\n executed: Array = [];\n isProcessing: boolean = false;\n canProcess:boolean=false;\n\n\n push(f: VoidFunction): number {\n const num = this.waiting.push(f);\n if (!this.isProcessing && this.canProcess) {\n this.processQueue();\n }\n return num;\n }\n\n processQueue(): void {\n if (this.isProcessing) {\n logUtil.consoleLog(\"already processing queue\");\n return;\n }\n if (this.isProcessing) {\n this.isProcessing = true;\n }\n try {\n while (this.waiting.length > 0) {\n const commandFunc = this.waiting.shift();\n let hasError = false;\n let exception = null;\n try {\n if (commandFunc) {\n commandFunc();\n }\n } catch (e) {\n hasError = true;\n exception = e;\n logUtil.consoleError(\"processQueue error\", e);\n }\n this.executed.push({command: commandFunc, hasError: hasError, exception: exception});\n }\n } catch (ex) {\n logUtil.consoleError(ex);\n } finally {\n this.isProcessing = false;\n }\n }\n\n}\n","import { CommandArray } from \"./commandArray\";\nimport { ComponentBase, Components } from \"./types\";\nimport { cookieUtil, logUtil } from \"@repo/lib-common\";\nimport { domReadyStateCompleteSubject } from \"../eventSubjects/domReadyStateCompleteSubject\";\nimport { domContentLoadedSubject } from \"../eventSubjects/domContentLoadedSubject\";\n\nexport type ExistingPrimitiveTagType = { cmd: [] };\nexport type DomainTagGlobalType = DomainTag | ExistingPrimitiveTagType | undefined\nexport class DomainTag {\n\n constructor() {\n domReadyStateCompleteSubject.subscribe(() => {\n this.cmd.canProcess = true;\n this.processQueue();\n })\n domContentLoadedSubject.subscribe(() => {\n this.cmd.canProcess = true;\n this.processQueue();\n });\n }\n\n cmd: CommandArray = new CommandArray();\n components: Components = {};\n addComponent(c: T): void {\n\n if (this.components[c.key]) {\n logUtil.consoleWarn(\"another service already exists with same key:\", c);\n }\n this.components[c.key] = c;\n logUtil.consoleLog(\"adding a new service finished\", c);\n }\n get(key: string): ComponentBase {\n const srv = this.components[key];\n return srv;\n }\n processQueue(): void {\n this.cmd.processQueue();\n }\n isInitialized: boolean = false;\n isRegen: boolean = false;\n\n doesCookieExists = cookieUtil.cookieHelper.doesCookieExists;\n\n\n\n}\n\n\n","\nimport { DomainTag, ExistingPrimitiveTagType } from \"./domain/domainTag\";\n\nlet isDomainTagInitialized = false;\n\nexport function ensureDomainTag() {\n if (isDomainTagInitialized) return;\n isDomainTagInitialized = true;\n const domainTagInstance = new DomainTag();\n domainTagInstance.isInitialized = true;\n\n const existingTag = (window.domainTag as ExistingPrimitiveTagType);\n window.domainTag = domainTagInstance;\n if (existingTag) {\n domainTagInstance.isRegen = true;\n while (existingTag.cmd && existingTag.cmd.length > 0) {\n const cmdFunc = existingTag.cmd.shift();\n if (cmdFunc) {\n domainTagInstance.cmd.push(cmdFunc);\n }\n\n }\n }\n //domainTagInstance.processQueue();\n\n}\n\n\n\n","/* eslint-disable no-var */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-namespace */\nimport { cookieUtil, deviceUtil, pageUtil } from \"@repo/lib-common\";\nimport { PageAdsBuilder } from \"./src/ads/pageAdsBuilder\";\nimport { DomainTagGlobalType } from \"./src/domain/domainTag\";\nimport { TargetingMap } from \"./src/ads/googleTypes\";\nimport { CountryEnum } from \"./countryEnum\";\nimport { ensureDomainTag } from \"./src/main\";\nimport { PageAdsBuilderForSpecialUseCases } from \"./src/ads/pageAdsBuilderForSpecialUseCases\";\n\n\nexport { }\nexport interface AdsConf {\n isEnabled: boolean;\n targetingMap: TargetingMap;\n //isSecure:boolean;\n}\n\nexport class DomainPageClient {\n adsBuilder?: PageAdsBuilderForSpecialUseCases | PageAdsBuilder;\n device?: deviceUtil.DeviceTypeInfo;\n pageType?: pageUtil.PageTypeEnum;\n doesCookieExists = cookieUtil.cookieHelper.doesCookieExists;\n\n}\n\ndeclare global {\n interface Window {\n pbjs: any;\n googletag: any;\n\n\n domainTag: DomainTagGlobalType;\n domainClient: DomainPageClient; //late init in web app runtime\n domainAdsConfForDesktop: AdsConf; //late init in web app runtime\n domainAdsConfForMobile: AdsConf; //late init in web app runtime\n domainCountry: CountryEnum; //late init in web app build\n domainDevice: deviceUtil.DeviceTypeInfo; //late init in web app build\n\n }\n}\n//@ts-ignore\nwindow.domainCountry = import.meta.env.VITE_COUNTRY;\n//ensure google tag -->\nwindow.googletag = window.googletag || { cmd: [] };\n//ensure google tag --<\n\n//ensure pbjs -->\nwindow.pbjs = window.pbjs || {};\nwindow.pbjs.que = window.pbjs.que || [];\n//ensure pbjs --<\n\n//ensure domain objects -->\nwindow.domainDevice = new deviceUtil.DeviceTypeInfo();\nwindow.domainTag = window.domainTag || { cmd: [] };\nwindow.domainAdsConfForDesktop = window.domainAdsConfForDesktop || {\n isEnabled: true,\n targetingMap: {},\n isAdxEnabled: true,\n} as AdsConf;\n\nensureDomainTag();\n//ensure domain objects --<\n\n\n","import {typeUtil} from \"@repo/lib-common\"\nimport {AdUnit} from \"./adUnit\";\n\n//#region gpt mix types\nexport type GptSlot = googletag.Slot;\nexport type TargetingMap = typeUtil.ObjectIndexer;\nexport type AdUnitMap = typeUtil.ObjectIndexer\nexport const NamedSize_Val1 = \"fluid\";\nexport const NamedSize_Val2 = [\"fluid\"];\nexport type NamedSize = \"fluid\" | [\"fluid\"];\nexport type SingleSize = [number, number];\nexport type SingleSizeMix = SingleSize | NamedSize;\nexport type MultiSize = SingleSizeMix[];\n\nexport type SingleSizeArray = SingleSize[];\nexport type GeneralSize = SingleSizeArray | SingleSize | NamedSize | SingleSizeMix | MultiSize;\n\nexport type GptSlotRenderEndedEventData = googletag.events.SlotRenderEndedEvent;\nexport type GptSlotRequestedEventData = googletag.events.SlotRequestedEvent;\nexport type GptSlotOnloadEventData = googletag.events.SlotOnloadEvent;\nexport type GptImpressionViewableEventData = googletag.events.ImpressionViewableEvent;\nexport type GptSlotResponseReceivedEventData = googletag.events.SlotResponseReceived;\nexport type GptSlotVisibilityChangedEventData = googletag.events.SlotVisibilityChangedEvent;\n\n\nexport class GptSlotRenderEndedEvent {\n constructor(eventData?: GptSlotRenderEndedEventData) {\n this.eventData = eventData;\n }\n\n createdAt: Date = new Date();\n eventData?: GptSlotRenderEndedEventData\n}\n\nexport class GptSlotRequestedEvent {\n constructor(eventData?: GptSlotRequestedEventData) {\n this.eventData = eventData;\n }\n createdAt: Date = new Date();\n eventData?: GptSlotRequestedEventData\n}\n\nexport class GptSlotOnloadEvent {\n constructor(eventData?: GptSlotOnloadEventData) {\n this.eventData = eventData;\n }\n createdAt: Date = new Date();\n eventData?: GptSlotOnloadEventData\n}\n\nexport class GptImpressionViewableEvent {\n constructor(eventData?: GptImpressionViewableEventData) {\n this.eventData = eventData;\n }\n createdAt: Date = new Date();\n eventData?: GptImpressionViewableEventData\n}\n\nexport class GptSlotResponseReceivedEvent {\n constructor(eventData?: GptSlotResponseReceivedEventData) {\n this.eventData = eventData;\n }\n createdAt: Date = new Date();\n eventData?: GptSlotResponseReceivedEventData\n}\n\nexport class GptSlotVisibilityChangedEvent {\n constructor(eventData?: GptSlotVisibilityChangedEventData) {\n this.eventData = eventData;\n }\n createdAt: Date = new Date();\n eventData?: GptSlotVisibilityChangedEventData\n}\n\n//#endregion\n\n","import { DomainSubject } from \"../../eventSubjects/domainSubject\";\n\n\nexport class SlotRenderEndedSubjectData{\n isEmpty: boolean=true;\n divId?:string;\n}\nexport class SlotRenderEndedSubject extends DomainSubject{\n name = \"SlotRenderEndedSubject\";\n init=()=>{}\n}","import {\n GptSlot,\n GeneralSize,\n GptImpressionViewableEvent,\n GptSlotOnloadEvent,\n GptSlotRenderEndedEvent,\n GptSlotRequestedEvent,\n GptSlotResponseReceivedEvent,\n GptSlotVisibilityChangedEvent,\n SingleSizeArray,\n GptSlotRenderEndedEventData,\n GptSlotRequestedEventData,\n GptSlotOnloadEventData,\n GptImpressionViewableEventData, GptSlotResponseReceivedEventData, GptSlotVisibilityChangedEventData,\n SingleSize\n} from \"./googleTypes\";\nimport { Bidder } from \"./bidder\";\nimport { BidderHelper } from \"./bidderHelper\";\nimport { dateUtil, deviceUtil, logUtil } from \"@repo/lib-common\";\nimport { ApsSlot, PbjsAdUnit } from \"./pbjsTypes\";\nimport { SlotRenderEndedSubject, SlotRenderEndedSubjectData } from \"./eventSubjects/slotRenderEndedSubject\";\nimport { DomainSubjectCallback } from \"../eventSubjects/domainSubject\";\n\n\n\n//#region ad unit subtypes -->\nexport abstract class AdSizes {\n private static single_300x600: SingleSize = [300, 600];\n private static single_300x250: SingleSize = [300, 250];\n private static single_970x250: SingleSize = [970, 250];\n private static single_1x1: SingleSize = [1, 1];\n\n public static general_1x1: GeneralSize = [AdSizes.single_1x1];\n public static general_300x600: GeneralSize = [AdSizes.single_300x250];\n public static general_970x250: GeneralSize = [AdSizes.single_970x250];\n public static prebid_970x250: SingleSizeArray = [AdSizes.single_970x250];\n public static prebid_300x600: SingleSizeArray = [AdSizes.single_300x600];\n public static prebid_300x250: SingleSizeArray = [AdSizes.single_300x250];\n\n public static desktop_PageSkin_Top: GeneralSize = AdSizes.general_1x1;//[[1, 1], [1230, 40]];\n public static desktop_Masthead: GeneralSize = [[1, 1], [728, 90], [960, 90], [960, 250], [970, 90], [970, 250]];\n public static desktop_Tower: GeneralSize = [[1, 1], [120, 600], [160, 600], [300, 600]];\n public static desktop_GenBodyBox: GeneralSize = [[300, 600], [300, 250], [250, 250], [200, 200]];\n public static desktop_Gen_300x250: GeneralSize = [[200, 200], [250, 250], [300, 50], [300, 100], [300, 250], [320, 50], [320, 100], [320, 150]];\n public static desktop_Widget_300x250: GeneralSize = [[336, 280], [300, 250], [250, 250], [200, 200]];\n public static desktop_Widget_336x280: GeneralSize = [[336, 280], [300, 250], [250, 250], [200, 200]];\n public static desktop_GenBodyBox_300x250: GeneralSize = [[300, 250], [250, 250], [200, 200]];\n\n public static desktop_Intext: GeneralSize = [[1, 1], [200, 200], [250, 250], [300, 250], [336, 280], [640, 480]];\n public static desktop_And_Mobile_Nativo: GeneralSize = [[1, 1], 'fluid'];\n\n public static mobile_Generic: GeneralSize = [[1, 1], [200, 200], [250, 250], [300, 50], [300, 100], [300, 250], [320, 50], [320, 100], [320, 150], 'fluid'];\n public static mobile_Generic_v2: GeneralSize = [[200, 200], [250, 250], [300, 50], [300, 100], [300, 250], [320, 50], [320, 100], [320, 150], 'fluid'];\n\n\n}\n\nexport abstract class AdSizesTv {\n private static single_300x600: SingleSize = [300, 600];\n private static single_300x250: SingleSize = [300, 250];\n private static single_970x250: SingleSize = [970, 250];\n private static single_1x1: SingleSize = [1, 1];\n\n public static general_1x1: GeneralSize = [AdSizesTv.single_1x1];\n public static general_300x600: GeneralSize = [AdSizesTv.single_300x250];\n public static general_970x250: GeneralSize = [AdSizesTv.single_970x250];\n public static prebid_970x250: SingleSizeArray = [AdSizesTv.single_970x250];\n public static prebid_300x600: SingleSizeArray = [AdSizesTv.single_300x600];\n public static prebid_300x250: SingleSizeArray = [AdSizesTv.single_300x250];\n\n public static desktop_PageSkin_Top: GeneralSize = AdSizes.general_1x1;//[[1, 1], [1230, 40]];\n public static desktop_Masthead: GeneralSize = [[970, 250]];\n //public static desktop_Masthead: GeneralSize = [[1, 1], [728, 90], [960, 90], [960, 250], [970, 90], [970, 250]];\n public static desktop_Tower: GeneralSize = [[160, 600]];\n // public static desktop_Tower: GeneralSize = [[1, 1], [120, 600], [160, 600], [300, 600]];\n public static desktop_GenBodyBox: GeneralSize = [[300, 600], [300, 250], [250, 250], [200, 200]];\n public static desktop_Gen_300x250: GeneralSize = [[200, 200], [250, 250], [300, 50], [300, 100], [300, 250], [320, 50], [320, 100], [320, 150]];\n public static desktop_Widget_300x250: GeneralSize = [[336, 280], [300, 250], [250, 250], [200, 200]];\n public static desktop_Widget_336x280: GeneralSize = [[336, 280], [300, 250], [250, 250], [200, 200]];\n public static desktop_GenBodyBox_300x250: GeneralSize = [[300, 250], [250, 250], [200, 200]];\n\n public static desktop_Intext: GeneralSize = [[1, 1], [200, 200], [250, 250], [300, 250], [336, 280], [640, 480]];\n public static desktop_And_Mobile_Nativo: GeneralSize = [[1, 1], 'fluid'];\n\n public static mobile_Generic: GeneralSize = [[1, 1], [200, 200], [250, 250], [300, 50], [300, 100], [300, 250], [320, 50], [320, 100], [320, 150], 'fluid'];\n\n\n}\nexport const enum AdUnitTypeEnum {\n banner = \"banner\",\n outOfPage_Interstitial = \"interstitial\",\n outOfPage_BottomAnchor = \"bottom-anchor\",\n outOfPage_TopAnchor = \"top-anchor\",\n\n\n}\n\n/** ad unit special use case besides type */\nexport const enum AdUnitSpecialUseCaseEnum {\n none = \"none\",\n nativo = \"nativo\",\n intext = \"intext\",\n rewarded = \"rewarded\",\n loadMore = \"loadMore\"\n}\n\n\n/** ad loading strategy */\nexport const enum AdLoadingStrategyTypeEnum {\n /** default value, if none ad unit will not be requested */\n none = \"none\",\n /** used for above the fold (viewport) initial single request architecture */\n sra = \"sra\",\n\n trigger = \"trigger\",\n /** used for below the fold (viewport) lazy load (intersection observer based) */\n intersectionObserverBasedLazyLoad = \"intersection_observer_lazy_load\",\n\n /** used for google publisher tag lazy load architecture (not implemented) */\n gptLazyLoad = \"gpt_lazy_load\",\n\n /** used for initializing ad unit after dom content loaded */\n domContentLoaded = \"dom_content_loaded\"\n\n\n}\n//#endregion\n\n//#region states\nexport class PbjsState {\n private _isPbjsInitialRequestExecuted = false;\n public get isPbjsInitialRequestExecuted() {\n return this._isPbjsInitialRequestExecuted;\n }\n public set isPbjsInitialRequestExecuted(value) {\n this._isPbjsInitialRequestExecuted = value;\n }\n private _isPbjsAdUnitAdded_TimeStame?: number | undefined;\n public get isPbjsAdUnitAdded_TimeStame(): number | undefined {\n return this._isPbjsAdUnitAdded_TimeStame;\n }\n public set isPbjsAdUnitAdded_TimeStame(value: number | undefined) {\n this._isPbjsAdUnitAdded_TimeStame = value;\n }\n private _isPbjsAdUnitAdded = false;\n public get isPbjsAdUnitAdded() {\n return this._isPbjsAdUnitAdded;\n }\n public set isPbjsAdUnitAdded(value) {\n this.isPbjsAdUnitAdded_TimeStame = dateUtil.dateTime.getTimeStamp();\n this._isPbjsAdUnitAdded = value;\n }\n\n private _lastRequestedAt?: number | undefined;\n public get lastRequestedAt(): number | undefined {\n return this._lastRequestedAt;\n }\n public set lastRequestedAt(value: number | undefined) {\n this._lastRequestedAt = value;\n }\n}\n\nexport class GptState {\n\n private _isDefineSlotExecuted = false;\n public get isDefineSlotExecuted() {\n return this._isDefineSlotExecuted;\n }\n public set isDefineSlotExecuted(value) {\n this._isDefineSlotExecuted = value;\n }\n\n private _isDisplaySlotExecuted = false;\n public get isDisplaySlotExecuted() {\n return this._isDisplaySlotExecuted;\n }\n public set isDisplaySlotExecuted(value) {\n this._isDisplaySlotExecuted = value;\n }\n\n private _refreshSlotExecutedAt?: number | undefined;\n public get refreshSlotExecutedAt(): number | undefined {\n return this._refreshSlotExecutedAt;\n }\n public set refreshSlotExecutedAt(value: number | undefined) {\n this._refreshSlotExecutedAt = value;\n }\n\n private _isRefreshSlotExecuted = false;\n public get isRefreshSlotExecuted() {\n return this._isRefreshSlotExecuted;\n }\n public set isRefreshSlotExecuted(value) {\n this.refreshSlotExecutedAt = dateUtil.dateTime.getTimeStamp();\n this._isRefreshSlotExecuted = value;\n }\n\n //#region gpt events\n private _gptSlotRenderEndedEvent?: GptSlotRenderEndedEvent | undefined;\n public get gptSlotRenderEndedEvent(): GptSlotRenderEndedEvent | undefined {\n return this._gptSlotRenderEndedEvent;\n }\n public set gptSlotRenderEndedEvent(value: GptSlotRenderEndedEvent | undefined) {\n this._gptSlotRenderEndedEvent = value;\n }\n\n private _gptSlotRequestedEvent?: GptSlotRequestedEvent | undefined;\n public get gptSlotRequestedEvent(): GptSlotRequestedEvent | undefined {\n return this._gptSlotRequestedEvent;\n }\n public set gptSlotRequestedEvent(value: GptSlotRequestedEvent | undefined) {\n this._gptSlotRequestedEvent = value;\n }\n\n private _gptSlotOnloadEvent?: GptSlotOnloadEvent | undefined;\n public get gptSlotOnloadEvent(): GptSlotOnloadEvent | undefined {\n return this._gptSlotOnloadEvent;\n }\n public set gptSlotOnloadEvent(value: GptSlotOnloadEvent | undefined) {\n this._gptSlotOnloadEvent = value;\n }\n\n private _gptImpressionViewableEvent?: GptImpressionViewableEvent | undefined;\n public get gptImpressionViewableEvent(): GptImpressionViewableEvent | undefined {\n return this._gptImpressionViewableEvent;\n }\n public set gptImpressionViewableEvent(value: GptImpressionViewableEvent | undefined) {\n this._gptImpressionViewableEvent = value;\n }\n\n private _gptSlotResponseReceivedEvent?: GptSlotResponseReceivedEvent | undefined;\n public get gptSlotResponseReceivedEvent(): GptSlotResponseReceivedEvent | undefined {\n return this._gptSlotResponseReceivedEvent;\n }\n public set gptSlotResponseReceivedEvent(value: GptSlotResponseReceivedEvent | undefined) {\n this._gptSlotResponseReceivedEvent = value;\n }\n\n private _gptSlotVisibilityChangedEvent?: GptSlotVisibilityChangedEvent | undefined;\n public get gptSlotVisibilityChangedEvent(): GptSlotVisibilityChangedEvent | undefined {\n return this._gptSlotVisibilityChangedEvent;\n }\n public set gptSlotVisibilityChangedEvent(value: GptSlotVisibilityChangedEvent | undefined) {\n this._gptSlotVisibilityChangedEvent = value;\n }\n\n //#endregion\n\n}\n\nexport class AutoRefreshState {\n\n private _isCompleted = false;\n public get isCompleted() {\n return this._isCompleted;\n }\n public set isCompleted(value) {\n this._isCompleted = value;\n }\n\n private _completedAt?: number | undefined;\n public get completedAt(): number | undefined {\n return this._completedAt;\n }\n public set completedAt(value: number | undefined) {\n this._completedAt = value;\n }\n\n}\nexport class IntersectionObserverState {\n\n private _isCompleted = false;\n public get isCompleted() {\n return this._isCompleted;\n }\n public set isCompleted(value) {\n this.completedAt = dateUtil.dateTime.getTimeStamp();\n this._isCompleted = value;\n }\n\n private _completedAt?: number | undefined;\n public get completedAt(): number | undefined {\n return this._completedAt;\n }\n public set completedAt(value: number | undefined) {\n this._completedAt = value;\n }\n\n}\n//#endregion\n\nexport class AdUnitState {\n private _isProcessLockEnabled: boolean = false;\n public get isProcessLockEnabled(): boolean {\n return this._isProcessLockEnabled;\n }\n public set isProcessLockEnabled(value: boolean) {\n this._isProcessLockEnabled = value;\n }\n}\n\nexport interface AdUnitSizeMapping {\n viewport: SingleSize;\n sizes: GeneralSize;\n}\n/** ad unit main builder class contains google and header bidding */\nexport class AdUnit {\n\n\n\n static builder(type: AdUnitTypeEnum): AdUnit {\n return new AdUnit(type);\n }\n constructor(type: AdUnitTypeEnum) {\n this.type = type;\n }\n\n\n\n\n //#region simple states\n\n gptState = new GptState();\n pbjsState = new PbjsState();\n autoRefreshState = new AutoRefreshState();\n objectState = new AdUnitState();\n intersectionObserverState = new IntersectionObserverState();\n\n\n\n\n\n\n mustBeInitialized() {\n if (this.objectState.isProcessLockEnabled) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false objectState.isProcessLockEnabled:`, this.objectState.isProcessLockEnabled);\n return false;\n }\n if (this.gptState.isDefineSlotExecuted) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false gptState.isDefineSlotExecuted:`, this.gptState.isDefineSlotExecuted);\n return false;\n }\n if (this.gptState.isDisplaySlotExecuted) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false gptState.isDisplaySlotExecuted:`, this.gptState.isDisplaySlotExecuted);\n return false;\n }\n\n if (this.isPreBidEnabled && this.pbjsState.isPbjsAdUnitAdded) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false pbjsState.isPbjsAdUnitAdded:`, this.pbjsState.isPbjsAdUnitAdded);\n return false;\n }\n if (this.isPreBidEnabled && this.pbjsState.isPbjsInitialRequestExecuted) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false pbjsState.isPbjsInitialRequestExecuted:`, this.pbjsState.isPbjsInitialRequestExecuted);\n return false;\n }\n if (this.gptSlot) {\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=false gptSlot:`, this.gptSlot);\n return false;\n }\n logUtil.consoleLog(`adUnit ${this.divId} mustBeInitialized=true`);\n return true;\n }\n\n private refreshTimeLimitInMs = 60 * 1000; //in milliseccond\n canBeRefreshed() {\n if (!this.isAutoRefreshEnabled) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, isAutoRefreshEnabled:`, this.isAutoRefreshEnabled);\n return false;\n }\n if (this.objectState.isProcessLockEnabled) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, objectState.isProcessLockEnabled:`, this.objectState.isProcessLockEnabled);\n return false;\n }\n if (this.gptState.isRefreshSlotExecuted && this.gptState.refreshSlotExecutedAt) {\n const timeDif = dateUtil.dateTime.getTimeStamp() - this.gptState.refreshSlotExecutedAt;\n if (timeDif < this.refreshTimeLimitInMs) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, gptState.refreshSlotExecutedAt timeDif:`, timeDif);\n return false;\n }\n }\n if (this.mustBeInitialized()) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, mustBeInitialized:`, this.mustBeInitialized());\n return false;\n }\n\n if (this.gptState.gptImpressionViewableEvent && this.gptState.gptImpressionViewableEvent.eventData) {\n const timeDif = dateUtil.dateTime.getTimeStamp() - this.gptState.gptImpressionViewableEvent.createdAt.getTime();\n if (timeDif < this.refreshTimeLimitInMs) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, gptState.gptImpressionViewableEvent.createdAt timeDif:`, timeDif);\n return false;\n }\n }\n if (this.gptState.gptSlotVisibilityChangedEvent && this.gptState.gptSlotVisibilityChangedEvent.eventData\n && this.gptState.gptSlotVisibilityChangedEvent.eventData?.inViewPercentage <= 0) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, gptState.gptSlotVisibilityChangedEvent.eventData.inViewPercentage:`, this.gptState.gptSlotVisibilityChangedEvent.eventData?.inViewPercentage);\n return false;\n }\n\n if (this.intersectionObserverState.isCompleted && this.intersectionObserverState.completedAt) {\n const timeDif = dateUtil.dateTime.getTimeStamp() - this.intersectionObserverState.completedAt;\n if (timeDif < this.refreshTimeLimitInMs) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, intersectionObserverState.completedAt timeDif:`, timeDif);\n return false;\n }\n }\n\n if (this.autoRefreshState.isCompleted && this.autoRefreshState.completedAt) {\n const timeDif = dateUtil.dateTime.getTimeStamp() - this.autoRefreshState.completedAt;\n if (timeDif < this.refreshTimeLimitInMs) {\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=false, autoRefreshState.completedAt timeDif:`, timeDif);\n return false;\n }\n }\n\n logUtil.consoleLog(`adUnit ${this.divId} canBeRefreshed=true`, this);\n\n return true;\n\n\n\n\n }\n\n\n\n //#endregion\n\n //#region props\n type: AdUnitTypeEnum;\n isEnabled: boolean = true;\n adUnitPath!: string;\n sizes: GeneralSize = [];\n divId!: string;\n divStyle?: string;\n isCollapseEmptyDivEnabled: boolean = false;\n loadingStrategy: AdLoadingStrategyTypeEnum = AdLoadingStrategyTypeEnum.none;\n gptSlot?: GptSlot;\n isAutoRefreshEnabled_WhenPageUrlChanged: boolean = false;\n isAutoRefreshEnabled: boolean = false;\n specialUseCaseType: AdUnitSpecialUseCaseEnum = AdUnitSpecialUseCaseEnum.none;\n specialUseCaseIndex: number = 0;\n setSpecialUseCaseIndex(val: number) {\n this.specialUseCaseIndex = val;\n return this;\n }\n\n\n setSpecialUseCase(useCaseType: AdUnitSpecialUseCaseEnum) {\n this.specialUseCaseType = useCaseType;\n return this;\n }\n\n setIsEnabled(value: boolean): AdUnit {\n this.isEnabled = value;\n return this;\n }\n setAdUnitPath(value: string): AdUnit {\n this.adUnitPath = value;\n return this;\n }\n setSizes(value: GeneralSize): AdUnit {\n this.sizes = value;\n return this;\n }\n\n\n\n sizeMappings: Array = [];\n addSizeMapping(viewport: SingleSize, sizes: GeneralSize) {\n this.sizeMappings.push({ viewport, sizes });\n //const sizeMapping = { viewport: viewport, sizes: sizes } as AdUnitSizeMapping\n //this.sizeMappings.push(sizeMapping)\n return this;\n\n }\n setDeviceType(deviceTypes: deviceUtil.DeviceTypeArray) {\n this.allowedDevices = deviceTypes;\n return this;\n }\n\n\n\n setDivId(value: string): AdUnit {\n this.divId = value;\n return this;\n }\n setDivStyleAfterRequest(divStyle: string) {\n this.divStyle = divStyle;\n return this;\n }\n setCollapseEmptyDivEnabled(value: boolean): AdUnit {\n this.isCollapseEmptyDivEnabled = value;\n return this;\n }\n\n setLoadingStrategy(value: AdLoadingStrategyTypeEnum): AdUnit {\n this.loadingStrategy = value;\n return this;\n }\n\n setIsAutoRefreshEnabled(value: boolean): AdUnit {\n this.isAutoRefreshEnabled = value;\n return this;\n }\n\n setIsAutoRefreshEnabled_WhenPageUrlChanged(value: boolean): AdUnit {\n this.isAutoRefreshEnabled_WhenPageUrlChanged = value;\n return this;\n }\n\n\n setType(value: AdUnitTypeEnum): AdUnit {\n this.type = value;\n return this;\n }\n setGptSlot(value: GptSlot) {\n this.gptSlot = value;\n return this;\n }\n //#endregion\n\n\n\n //#region prebid -->\n /** prebid AdUnit object to be used for ad request\n * @link https://docs.prebid.org/dev-docs/adunit-reference.html#ad-unit-reference\n *\n * */\n pbjsAdUnit?: PbjsAdUnit;\n apsSlot?: ApsSlot;\n bidderHelper?: BidderHelper;\n isPreBidEnabled = false;\n prebidSizeLimits: SingleSizeArray = [];\n calculatedBidders?: Array;\n allowedDevices: deviceUtil.DeviceTypeArray = [];\n\n\n setIsPrebidEnabled(value: boolean): AdUnit {\n this.isPreBidEnabled = value;\n return this;\n }\n\n setPrebidSizeLimits(sizes: SingleSizeArray) {\n this.prebidSizeLimits = sizes;\n return this;\n }\n setBidders(bidders: Array): AdUnit {\n this.calculatedBidders = bidders;\n return this;\n }\n setBidderHelper(bidderHelper: BidderHelper) {\n this.bidderHelper = bidderHelper;\n return this;\n }\n\n setBidderCustomParam(bidderCode: string, args: any): AdUnit {\n\n if (this.isPreBidEnabled && this.bidderHelper?.bidders) {\n this.bidderHelper.bidders.forEach((q: { code: string; params: any; }) => {\n if (q.code === bidderCode) {\n q.params = { ...q.params, ...args };\n }\n });\n }\n return this;\n\n }\n //#endregion\n\n //#region subjects -->\n private slotRenderEndedSubject = new SlotRenderEndedSubject();\n onSlotRenderEnded(fn: DomainSubjectCallback) {\n this.slotRenderEndedSubject.subscribe(fn);\n return this;\n }\n //#endregion\n\n //#region gpt event data setters -->\n\n setGptSlotRenderEndedEventData(data: GptSlotRenderEndedEventData) {\n\n this.gptState.gptSlotRenderEndedEvent = new GptSlotRenderEndedEvent(data);\n const subjectData = new SlotRenderEndedSubjectData();\n subjectData.isEmpty = data.isEmpty;\n subjectData.divId = this.divId;\n this.slotRenderEndedSubject.setDataAndTrigger(subjectData);\n\n return this;\n }\n\n setGptSlotRequestedEventData(data: GptSlotRequestedEventData) {\n this.gptState.refreshSlotExecutedAt = dateUtil.dateTime.getTimeStamp();\n this.gptState.gptSlotRequestedEvent = new GptSlotRequestedEvent(data);\n return this;\n }\n\n\n setGptSlotOnloadEventData(data: GptSlotOnloadEventData) {\n this.gptState.gptSlotOnloadEvent = new GptSlotOnloadEvent(data);\n return this;\n }\n\n\n setGptImpressionViewableEventData(data: GptImpressionViewableEventData) {\n this.gptState.gptImpressionViewableEvent = new GptImpressionViewableEvent(data);\n return this;\n }\n\n\n setGptSlotResponseReceivedEventData(data: GptSlotResponseReceivedEventData) {\n this.gptState.refreshSlotExecutedAt = dateUtil.dateTime.getTimeStamp();\n this.gptState.gptSlotResponseReceivedEvent = new GptSlotResponseReceivedEvent(data);\n return this;\n }\n\n\n setGptSlotVisibilityChangedEventData(data: GptSlotVisibilityChangedEventData) {\n this.gptState.gptSlotVisibilityChangedEvent = new GptSlotVisibilityChangedEvent(data);\n return this;\n }\n\n //#endregion\n\n\n\n isDivStyleApplied = false;\n applyDivStyle() {\n if (this.isDivStyleApplied) return;\n if (this.divStyle !== undefined) {\n const elem = document.getElementById(this.divId);\n if (elem) {\n elem.setAttribute('style', this.divStyle);\n this.isDivStyleApplied = true;\n return;\n }\n logUtil.consoleWarn(`${this.divId} elem is not found and style will not be applied`);\n } else {\n logUtil.consoleWarn(`${this.divId} elem is found but style will not be applied style:`, this.divStyle);\n }\n }\n\n /** Build and validate adUnit*/\n build() {\n if (this.loadingStrategy === AdLoadingStrategyTypeEnum.none) {\n logUtil.throwError(`AdLoadingStrategy is not defined for ${this.divId} ${this.adUnitPath}`);\n return this;\n }\n if (!this.adUnitPath) {\n logUtil.consoleError(`adUnitPath not defined for ${this.divId} ${this.adUnitPath}`);\n return this;\n }\n if (!this.divId && this.type == AdUnitTypeEnum.banner) {\n logUtil.throwError(`divId not defined`);\n return this;\n }\n\n if (this.isPreBidEnabled) {\n // this.calculatedBidders = this.bidderHelper?.filterBySizeArray(this.prebidSizeLimits);\n this.calculatedBidders = this.bidderHelper?.filterBySizeAndDevice(this.prebidSizeLimits, this.allowedDevices);\n if (!(this.calculatedBidders && this.calculatedBidders?.length > 0)) {\n logUtil.throwError(`bidders could not be calculated for ${this.divId} ${this.adUnitPath}`);\n return this;\n }\n const prebid = {} as PbjsAdUnit;\n prebid.code = this.adUnitPath;\n prebid.mediaTypes = { banner: { sizes: this.prebidSizeLimits } };\n prebid.bids = this.calculatedBidders.map(q => q.toBidObj());\n this.pbjsAdUnit = prebid;\n\n\n const apsSlot = {} as ApsSlot;\n apsSlot.slotID = this.divId;\n apsSlot.slotName = this.adUnitPath;\n apsSlot.sizes = this.prebidSizeLimits;\n this.apsSlot = apsSlot;\n\n }\n\n return this;\n }\n\n\n\n\n}\n\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const pbjsPaapiConfig: any = {\n enabled: true,\n gpt: {\n autoconfig: false\n },\n defaultForSlots: 1,\n bidders: ['criteo', 'rtbhouse'],\n};\n\n//rtbhouse paapi conf teyitleşilecek\nexport const pbjsFledgeForGptConfig: any = {\n enabled: true,\n bidders: ['criteo', 'rtbhouse'],\n defaultForSlots: 1\n};\n\n\n\nexport const pbjsConfig_Default: any = {\n criteo: {\n fastBidVersion: 'latest',\n },\n fledgeForGpt: pbjsFledgeForGptConfig,\n paapi: pbjsPaapiConfig,\n currency: {\n adServerCurrency: \"TRY\",\n },\n consentManagement: undefined,\n gvlMapping: null,\n priceGranularity: {\n \"buckets\": [\n {\n \"precision\": 2,\n \"min\": 0,\n \"max\": 10,\n \"increment\": 0.01\n },\n {\n \"precision\": 2,\n \"min\": 10,\n \"max\": 25,\n \"increment\": 0.05\n },\n {\n \"precision\": 2,\n \"min\": 25,\n \"max\": 50,\n \"increment\": 0.1\n },\n {\n \"precision\": 2,\n \"min\": 50,\n \"max\": 100,\n \"increment\": 0.25\n }]\n },\n userSync: {\n userIds: [\n {\n name: \"pubCommonId\",\n storage: {\n type: \"cookie\",\n name: \"_pubcid\",\n expires: 60\n }\n }],\n syncDelay: 3000 // 3 seconds after the first auction\n },\n\n};\n\nexport const pbjsConfig_ConsentManagement: any = {\n gdpr: {\n cmpApi: 'iab',\n defaultGdprScope: true,\n allowAuctionWithoutConsent: true, //suppress auctions if there's no GDPR consent string\n timeout: 3000,\n rules: [{\n purpose: \"storage\",\n enforcePurpose: true,\n enforceVendor: true,\n vendorExceptions: ['yandex']\n }, {\n purpose: \"basicAds\",\n enforcePurpose: true,\n enforceVendor: true,\n vendorExceptions: ['yandex']\n }, {\n purpose: \"measurement\",\n enforcePurpose: true,\n enforceVendor: true,\n vendorExceptions: ['yandex']\n }, {\n purpose: \"personalizedAds\",\n enforcePurpose: true,\n enforceVendor: true,\n vendorExceptions: ['yandex']\n\n }]\n },\n usp: {\n cmpApi: 'iab',\n timeout: 1000\n }\n} as any;\n\nexport const pbjsConfig_GvlMapping = {\n \"yandex\": 9855524\n};\n\nexport const pbjs_BidderSettings = {\n taboola: {\n storageAllowed: true\n }\n}\n\n\n","\nimport { DomainSubject } from \"../../eventSubjects/domainSubject\";\nimport {SlotRenderEndedSubjectData} from \"./slotRenderEndedSubject\";\n\nexport class FirstSlotRenderEndedSubject extends DomainSubject{\n name=\"FirstSlotRenderEndedSubject\";\n mustBeTriggeredOnce=true;\n \n onAfterTrigger=()=>{\n setTimeout(()=>{\n const endEvent=new CustomEvent(\"adRunner_SlotRenderEnded\");\n dispatchEvent(endEvent);\n },6000);\n }\n init=()=>{}\n\n}\n\nconst firstSlotRenderEndedSubject=new FirstSlotRenderEndedSubject();\nfirstSlotRenderEndedSubject.activate();\n\nexport {firstSlotRenderEndedSubject};","\nimport { DomainSubject } from \"./domainSubject\";\n\nexport class PageClientSubjectData {\n eventTime = new Date();\n}\n\nexport class PageClientExecutionEndedSubject extends DomainSubject {\n name = \"PageClientExecutionEndedSubject\";\n mustBeTriggeredOnce = true;\n\n\n onAfterTrigger = () => {\n setTimeout(() => {\n const endEvent = new CustomEvent(\"adRunner_SlotRenderEnded\");\n dispatchEvent(endEvent);\n }, 6000);\n }\n\n init = () => {\n this.subscribe(() => {\n const endEvent = new CustomEvent(\"PageClientExecutionEnded\");\n dispatchEvent(endEvent);\n })\n }\n\n}\n\nconst pageClientExecutionEndedSubject = new PageClientExecutionEndedSubject();\npageClientExecutionEndedSubject.activate();\n\nexport { pageClientExecutionEndedSubject };","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-namespace */\nimport { dateUtil, deviceUtil, logUtil, pageUtil } from \"@repo/lib-common\";\nimport { AdLoadingStrategyTypeEnum, AdUnit, AdUnitSpecialUseCaseEnum, AdUnitTypeEnum } from \"./adUnit\";\n\nimport { AdUnitMap, GptSlot, TargetingMap } from \"./googleTypes\";\nimport { pbjs_BidderSettings, pbjsConfig_ConsentManagement, pbjsConfig_Default, pbjsConfig_GvlMapping } from \"./pbjsConfigs\";\nimport { PbjsAdUnit } from \"./pbjsTypes\";\nimport { objUtil } from \"@repo/lib-common\";\n//import { domContentLoadedSubject } from \"../eventSubjects/domContentLoadedSubject\";\nimport { tcfReadySubject } from \"../eventSubjects/tcfReadySubject\";\nimport { firstSlotRenderEndedSubject } from \"./eventSubjects/firstSlotRenderEndedSubject\";\nimport { SlotRenderEndedSubjectData } from \"./eventSubjects/slotRenderEndedSubject\";\nimport { AdsConf } from \"../../global\";\nimport { PageClientSubjectData, pageClientExecutionEndedSubject } from \"../eventSubjects/pageClientExecutionEndedSubject\";\n\n\n\nconst uuidStr = objUtil.uuidStr;\n\n\nconst PREBID_TIMEOUT = 1000;\nconst PREBID_FAILSAFE_TIMEOUT = 2000;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-var\ndeclare var pbjs: any;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-var\ndeclare var apstag: any;\n\n/** req manager for aps and prebid **/\nexport class RequestManager {\n adserverRequestSent = false;\n aps = false;\n prebid = false;\n err_pbjsRequestIds_AlreadExists = false;\n err_pbjsResponseIds_AlreadExists = false;\n correlationId!: string;\n}\n/** page main builder class contains ad units and targeting */\nexport abstract class PageAdsBuilder {\n\n constructor(deviceType: deviceUtil.DeviceTypeEnum, pageType: pageUtil.PageTypeEnum) {\n this.pageType = pageType;\n this.deviceType = deviceType;\n this.indexer = `${this.deviceType}-${this.pageType}`\n if (!this.isEnabled) return;\n this.init();\n }\n abstract init(): void;\n deviceType: deviceUtil.DeviceTypeEnum;\n pageType: pageUtil.PageTypeEnum;\n isEnabled: boolean = true;\n indexer: string;\n targeting: TargetingMap = {};\n adUnits: AdUnitMap = {};\n\n\n\n //#region auto refresh\n isAutoRefreshEnabled = false;\n isAutoRefreshRunning = false;\n autoRefreshIntervalInMs = 45 * 1000;\n autoRefreshRefId?: number;\n adsConf?: AdsConf\n setAdsConfAndApply(val: AdsConf) {\n this.adsConf = val;\n //check if adsConf exists -->\n if (this.adsConf) {\n logUtil.consoleLog(\"custom adsConf has been applied\", this.adsConf)\n this.isEnabled = this.adsConf.isEnabled;\n this.mergeTargetingMap(this.adsConf.targetingMap)\n }\n //check if adsConf exists -->\n\n return this;\n }\n\n\n setIsAutoRefreshEnabled(val: boolean) {\n this.isAutoRefreshEnabled = val;\n return this;\n }\n getIsAutoRefreshEnabled() {\n return this.isAutoRefreshEnabled;\n }\n //#endregion\n\n\n setIsEnabled(value: boolean): PageAdsBuilder {\n this.isEnabled = value;\n return this;\n }\n\n\n setTargeting(key: string, value: string): PageAdsBuilder {\n this.targeting[key] = value;\n return this;\n }\n\n mergeTargetingMap(targtingMap: TargetingMap): PageAdsBuilder {\n if (!targtingMap) return this;\n Object.keys(targtingMap).forEach(key => {\n this.targeting[key] = targtingMap[key];\n })\n return this;\n }\n\n setTargetingMap(targetingMap: TargetingMap): PageAdsBuilder {\n this.targeting = targetingMap;\n return this;\n }\n\n applyAdUnit(adUnit: AdUnit) {\n if (!adUnit.isEnabled) {\n return false;\n }\n adUnit.setDeviceType([this.deviceType])\n if (adUnit.build()) {\n this.adUnits[adUnit.divId] = adUnit;\n return true;\n }\n logUtil.consoleError(\"adUnit could not be initialized\", adUnit)\n\n }\n\n getAdUnitByDivId(divId: string): AdUnit {\n return this.adUnits[divId];\n }\n\n private outPageAdUnitTypes = [\n AdUnitTypeEnum.outOfPage_BottomAnchor,\n AdUnitTypeEnum.outOfPage_Interstitial,\n AdUnitTypeEnum.outOfPage_TopAnchor,\n\n ];\n filterAdUnits(args?: {\n isPrebidEnabled?: boolean,\n adUnitType?: AdUnitTypeEnum,\n adUnitTypes?: Array,\n loadingStrategy?: AdLoadingStrategyTypeEnum,\n loadingStrategies?: Array,\n excludeLoadingStrategies?: Array,\n specialUseCase?: AdUnitSpecialUseCaseEnum,\n specialUseCaseIndex?: number,\n allSpecialUseCases?: boolean,\n allOutOfPages?: boolean,\n isAutoRefreshEnabled?: boolean,\n divIds?: Array,\n divId?: string,\n mustBeInitialized?: boolean,\n canBeRefreshed?: boolean,\n excludeDivIds?: Array\n }) {\n return Object.entries(this.adUnits).filter(entry => {\n const adUnit = entry[1];\n if (!adUnit.isEnabled) return false;\n\n if (args?.adUnitType && args?.adUnitType !== adUnit.type) return false;\n if (args?.adUnitTypes && args.adUnitTypes.length > 0 && !args?.adUnitTypes.includes(adUnit.type)) return false;\n if (args?.loadingStrategy && args?.loadingStrategy !== adUnit.loadingStrategy) return false;\n if (args?.excludeLoadingStrategies && args?.excludeLoadingStrategies.includes(adUnit.loadingStrategy)) return false;\n if (args?.loadingStrategies && args?.loadingStrategies.length > 0 && !args.loadingStrategies.includes(adUnit.loadingStrategy)) return false;\n if (args?.isPrebidEnabled && args?.isPrebidEnabled !== adUnit.isPreBidEnabled) return false;\n if (args?.specialUseCase && args?.specialUseCase !== adUnit.specialUseCaseType) return false;\n if (args?.allSpecialUseCases && AdUnitSpecialUseCaseEnum.none === adUnit.specialUseCaseType) return false;\n if (args?.allOutOfPages && !this.outPageAdUnitTypes.includes(adUnit.type)) return false;\n if (args?.isAutoRefreshEnabled && args?.isAutoRefreshEnabled !== adUnit.isAutoRefreshEnabled) return false;\n if (args?.excludeDivIds && args.excludeDivIds.length > 0 && args.excludeDivIds.includes(adUnit.divId)) return false;\n if (args?.divId && args.divId !== adUnit.divId) return false;\n if (args?.divIds && !args.divIds.includes(adUnit.divId)) return false;\n if (args?.mustBeInitialized && args.mustBeInitialized !== adUnit.mustBeInitialized()) return false;\n //can be refreshed conditions -->\n if (args?.canBeRefreshed && !adUnit.canBeRefreshed()) return false;\n if (args?.canBeRefreshed && !this.intersectionObserver_VisibleDivIds.has(adUnit.divId)) return false;\n //can be refreshed conditions <--\n if (args?.specialUseCaseIndex && args?.specialUseCaseIndex !== adUnit.specialUseCaseIndex) return false;\n\n return true;\n\n }\n ).map(([, q]) => q);\n\n }\n\n updateAdUnit(adUnit: AdUnit) {\n this.adUnits[adUnit.divId] = adUnit;\n }\n\n //#region gpt -->\n gptWindowObject() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.googletag = window.googletag || { cmd: [] };\n }\n gptIsReady() {\n return window.googletag && googletag.apiReady && googletag.pubadsReady;\n\n }\n executeAsGptCommand(cmd: VoidFunction) {\n if (this.gptIsReady()) {\n cmd();\n } else {\n googletag.cmd.push(cmd);\n }\n }\n executeAsPbjsCommand(cmd: VoidFunction) {\n if (window.pbjs && pbjs.libloaded) {\n cmd();\n } else {\n pbjs.que.push(cmd);\n }\n }\n\n\n gptRefreshAdUnits(adUnits: Array) {\n const slots = adUnits.filter(q => q.gptSlot).map(q => {\n q.gptState.isRefreshSlotExecuted = true;\n this.updateAdUnit(q);\n return q.gptSlot!\n });\n if (!slots || slots.length == 0) {\n logUtil.consoleWarn(\"gptRefreshAdUnits ad unit slots are empty\", adUnits);\n return;\n }\n googletag.pubads().refresh(slots);\n }\n\n gptDisplayAdUnit(adUnit: AdUnit) {\n logUtil.consoleLog(\"GPT: display called adUnit.divId:\", adUnit.divId);\n adUnit.gptState.isDisplaySlotExecuted = true;\n if (adUnit.gptSlot) {\n googletag.display(adUnit.gptSlot);\n } else {\n logUtil.consoleWarn(\"GPT: display canceled because slot is undefined adUnit.divId:\", adUnit.divId);\n }\n this.updateAdUnit(adUnit);\n }\n\n gptDisplayAdUnits(adUnits: Array) {\n adUnits.forEach(adUnit => {\n this.gptDisplayAdUnit(adUnit);\n });\n }\n\n gptDefineSlot(adUnit: AdUnit) {\n logUtil.consoleLog(\"GPT: define slot called adUnit.divId:\", adUnit.divId);\n if (adUnit.gptState.isDefineSlotExecuted && adUnit.gptSlot) {\n logUtil.consoleLog(`GPT: define slot already called for adUnit.divId:`, adUnit.divId);\n return;\n }\n\n adUnit.gptState.isDefineSlotExecuted = true;\n let gptSlot: GptSlot | null | undefined;\n if (adUnit.type === AdUnitTypeEnum.banner) {\n gptSlot = googletag.defineSlot(adUnit.adUnitPath, adUnit.sizes, adUnit.divId);\n if (gptSlot) {\n gptSlot.addService(googletag.pubads());\n gptSlot.setCollapseEmptyDiv(adUnit.isCollapseEmptyDivEnabled);\n if (adUnit.sizeMappings && adUnit.sizeMappings.length > 0) {\n const gm = googletag.sizeMapping();\n adUnit.sizeMappings.map(sm => {\n gm.addSize(sm.viewport, sm.sizes);\n });\n const gmBuild = gm.build();\n if (gmBuild) { gptSlot.defineSizeMapping(gmBuild!); }\n }\n\n\n logUtil.consoleLog(`gptSlot created for ${adUnit.adUnitPath}`);\n adUnit.setGptSlot(gptSlot);\n }\n\n } else if (adUnit.type === AdUnitTypeEnum.outOfPage_Interstitial) {\n //gptSlot = googletag.defineOutOfPageSlot(adUnit.adUnitPath, googletag.enums.OutOfPageFormat.INTERSTITIAL);\n gptSlot = googletag.defineOutOfPageSlot(adUnit.adUnitPath, adUnit.divId); //adm içindeki template'den dolayı bu şekilde olmalı\n if (gptSlot) {\n gptSlot.addService(googletag.pubads());\n logUtil.consoleLog(`gptSlot created for ${adUnit.adUnitPath}`);\n adUnit.setGptSlot(gptSlot);\n }\n } else if (adUnit.type === AdUnitTypeEnum.outOfPage_BottomAnchor) {\n gptSlot = googletag.defineOutOfPageSlot(adUnit.adUnitPath, googletag.enums.OutOfPageFormat.BOTTOM_ANCHOR);\n if (gptSlot) {\n gptSlot.addService(googletag.pubads());\n logUtil.consoleLog(`gptSlot created for ${adUnit.adUnitPath}`);\n adUnit.setGptSlot(gptSlot);\n }\n } else if (adUnit.type === AdUnitTypeEnum.outOfPage_TopAnchor) {\n gptSlot = googletag.defineOutOfPageSlot(adUnit.adUnitPath, googletag.enums.OutOfPageFormat.TOP_ANCHOR);\n if (gptSlot) {\n gptSlot.addService(googletag.pubads());\n logUtil.consoleLog(`gptSlot created for ${adUnit.adUnitPath}`);\n adUnit.setGptSlot(gptSlot);\n }\n }\n if (!gptSlot) {\n logUtil.consoleError(`gptSlot could not be created for ${adUnit.adUnitPath}`);\n }\n this.updateAdUnit(adUnit);\n }\n\n gptEnableServices() {\n googletag.pubads().collapseEmptyDivs(false);\n googletag.pubads().disableInitialLoad();\n googletag.pubads().enableSingleRequest();\n googletag.enableServices();\n }\n\n gptSetTargeting() {\n const targetingEntries = Object.entries(this.targeting);\n targetingEntries.forEach(entry => {\n googletag.pubads().setTargeting(entry[0], entry[1])\n });\n }\n\n gptRegisterEvents() {\n this.executeAsGptCommand(() => {\n googletag.pubads().addEventListener(\"slotRenderEnded\", (event: any): void => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:slotRenderEnded for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.setGptSlotRenderEndedEventData(event);\n this.updateAdUnit(adUnit);\n }\n if (!firstSlotRenderEndedSubject.isTriggered) {\n const firstData = new SlotRenderEndedSubjectData();\n firstData.divId = elemId;\n firstData.isEmpty = event.isEmpty;\n firstSlotRenderEndedSubject.setDataAndTrigger(firstData);\n }\n });\n\n googletag.pubads().addEventListener(\"slotVisibilityChanged\", (event: any) => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:slotVisibilityChanged for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.setGptSlotVisibilityChangedEventData(event);\n this.updateAdUnit(adUnit);\n }\n });\n\n\n googletag.pubads().addEventListener(\"slotRequested\", (event: any) => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:slotRequested for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.objectState.isProcessLockEnabled = true;\n adUnit.setGptSlotRequestedEventData(event);\n this.updateAdUnit(adUnit);\n }\n });\n googletag.pubads().addEventListener(\"slotResponseReceived\", (event: any) => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:slotResponseReceived for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.objectState.isProcessLockEnabled = false;\n adUnit.setGptSlotResponseReceivedEventData(event);\n this.updateAdUnit(adUnit);\n }\n });\n\n googletag.pubads().addEventListener(\"impressionViewable\", (event: any) => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:impressionViewable for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.setGptImpressionViewableEventData(event);\n this.updateAdUnit(adUnit);\n }\n });\n googletag.pubads().addEventListener(\"slotOnload\", (event: any) => {\n const slot = event.slot;\n const elemId = slot.getSlotElementId();\n logUtil.consoleLog(`\"GPT:slotOnload for ${elemId}`, event);\n const adUnit = this.adUnits[elemId];\n if (adUnit) {\n adUnit.setGptSlotOnloadEventData(event);\n this.updateAdUnit(adUnit);\n }\n });\n });\n\n }\n\n //#endregion\n\n //#region pbjs -->\n private pbjsRequestIds = new Set;\n private pbjsResponseIds = new Set;\n\n\n pbjsWindowObject() {\n logUtil.consoleLog(\"pbjsWindowObject called\");\n window.pbjs = window.pbjs || {};\n window.pbjs.que = window.pbjs.que || [];\n }\n\n pbjsSetDefaultConfig() {\n logUtil.consoleLog(\"pbjsSetDefaultConfig called\");\n pbjs.setConfig(pbjsConfig_Default);\n pbjs.bidderSettings = pbjs_BidderSettings;\n }\n\n pbjsSetConfig(config: any) {\n logUtil.consoleLog(\"pbjsSetConfig called\");\n this.executeAsPbjsCommand(() => {\n pbjs.setConfig(config);\n });\n }\n\n pbjsMergeConfig(config: any) {\n logUtil.consoleLog(\"pbjsMergeConfig called\");\n this.executeAsPbjsCommand(() => {\n pbjs.mergeConfig(config);\n });\n\n }\n\n pbjsEnsureAdUnitsAdded(adUnits: Array) {\n logUtil.consoleLog(\"pbjsAddAdUnits called\", adUnits);\n if (adUnits && adUnits.length > 0) {\n const pbjsInternalAdUnitCodes = (pbjs.adUnits as PbjsAdUnit[]).map(q => q.code);\n const pbjsAdUnits = adUnits.filter(adUnit => !pbjsInternalAdUnitCodes.includes(adUnit.adUnitPath)).map(adUnit => {\n adUnit.pbjsState.isPbjsAdUnitAdded = true;\n this.updateAdUnit(adUnit);\n logUtil.consoleLog(\"pbjsAddAdUnits will add\", adUnit);\n return adUnit.pbjsAdUnit;\n });\n if (pbjsAdUnits && pbjsAdUnits.length > 0) {\n pbjs.addAdUnits(pbjsAdUnits);\n }\n }\n }\n\n pbjsRefreshGptSlots(requestManager: RequestManager, correlationId: string, adUnitCodes: Array, isFailSafeCall = false) {\n\n logUtil.consoleLog(`pbjsRefreshGptSlots called correlationId: ${correlationId}, isFailSafeCall:${isFailSafeCall} adUnits:`, adUnitCodes);\n if (!this.pbjsRequestIds.has(correlationId)) {\n this.pbjsRequestIds.add(correlationId);\n logUtil.consoleLog(`first use ${this.pbjsRefreshGptSlots.name}`);\n requestManager.err_pbjsRequestIds_AlreadExists = true;\n return;\n }\n if (this.pbjsResponseIds.has(correlationId)) {\n logUtil.consoleLog(`reqRes correlation id already exists ${correlationId} isFailSafeCall:${isFailSafeCall}`);\n requestManager.err_pbjsResponseIds_AlreadExists = true;\n return;\n }\n this.pbjsResponseIds.add(correlationId);\n //apstag -->\n if (requestManager.adserverRequestSent === true) {\n return;\n }\n requestManager.adserverRequestSent = true;\n //apstag --<\n this.executeAsGptCommand(() => {\n pbjs.setTargetingForGPTAsync();\n const slots = googletag.pubads().getSlots().filter(q => adUnitCodes.includes(q.getAdUnitPath()));\n logUtil.consoleLog(\"GPT slots:\", slots);\n if (slots.length !== adUnitCodes.length) {\n logUtil.consoleError(\"adUnit codes and slots do not match\", adUnitCodes);\n }\n googletag.pubads().refresh(slots);\n })\n }\n\n apstagRefreshSlots(requestManager: RequestManager, adUnitCodes: Array, isFailSafeCall = false) {\n\n logUtil.consoleLog(`apstagRefreshSlots called correlationId: ${requestManager.correlationId}, isFailSafeCall:${isFailSafeCall} adUnits:`, adUnitCodes);\n if (!this.pbjsRequestIds.has(requestManager.correlationId)) {\n this.pbjsRequestIds.add(requestManager.correlationId);\n logUtil.consoleLog(`first use ${this.pbjsRefreshGptSlots.name}`);\n requestManager.err_pbjsRequestIds_AlreadExists = true;\n return;\n }\n if (this.pbjsResponseIds.has(requestManager.correlationId)) {\n logUtil.consoleLog(`reqRes correlation id already exists ${requestManager.correlationId} isFailSafeCall:${isFailSafeCall}`);\n requestManager.err_pbjsResponseIds_AlreadExists = true;\n return;\n }\n this.pbjsResponseIds.add(requestManager.correlationId);\n //apstag -->\n if (requestManager.adserverRequestSent === true) {\n return;\n }\n requestManager.adserverRequestSent = true;\n //apstag --<\n this.executeAsGptCommand(() => {\n apstag.setDisplayBids();\n const slots = googletag.pubads().getSlots().filter(q => adUnitCodes.includes(q.getAdUnitPath()));\n googletag.pubads().getSlots().forEach(q => console.log(q.getAdUnitPath()));\n if (slots.length !== adUnitCodes.length) {\n logUtil.consoleError(\"adUnit codes and slots do not match\", adUnitCodes);\n }\n googletag.pubads().refresh(slots);\n })\n }\n\n public pbjsRequestBidsByPbjsAdUnits(adUnits: Array) {\n logUtil.consoleLog(\"pbjsRequestBidsByPbjsAdUnits called\", adUnits);\n if (adUnits === undefined || adUnits.length <= 0) {\n logUtil.consoleError(`${this.pbjsRequestBidsByPbjsAdUnits.name} canceled. adUnits are undefined or empty`);\n return;\n }\n\n const adUnitCodes = adUnits.map(adUnit => {\n adUnit.pbjsState.lastRequestedAt = dateUtil.dateTime.getTimeStamp();\n if (!adUnit.pbjsState.isPbjsInitialRequestExecuted) {\n adUnit.pbjsState.isPbjsInitialRequestExecuted = true;\n }\n this.updateAdUnit(adUnit);\n return adUnit.adUnitPath\n });\n\n const correlationId = uuidStr();\n this.pbjsRequestIds.add(correlationId);\n\n //apstag -->\n //pbjs.setTargetingForGPTAsync();\n const requestManager = new RequestManager();\n requestManager.correlationId = correlationId;\n //apstag --<\n\n\n // APS request -->\n const apsSlots = adUnits.filter(q => q.apsSlot).map(q => q.apsSlot);\n if (apsSlots && apsSlots.length > 0) {\n this.executeAsGptCommand(() => {\n apstag.fetchBids({\n timeout: PREBID_TIMEOUT,\n slots: apsSlots\n }, (bids: any) => {\n logUtil.consoleLog(`apstag response for ${correlationId} => bids:`, bids);\n googletag.cmd.push(() => {\n apstag.setDisplayBids();\n requestManager.aps = true; // signals that APS request has completed\n this.apstagRefreshSlots(requestManager, adUnitCodes)\n });\n }\n );\n })\n }\n\n // APS request --<\n\n this.executeAsPbjsCommand(() => {\n this.pbjsEnsureAdUnitsAdded(adUnits);\n\n logUtil.consoleLog(`request sent for ${correlationId}`);\n\n\n\n pbjs.requestBids({\n timeout: PREBID_TIMEOUT,\n adUnitCodes: adUnitCodes,\n bidsBackHandler: (bids?: any, timeOut?: boolean, auctionId?: string) => {\n logUtil.consoleLog(`bisBackHandler response for ${correlationId} => timeOut:${timeOut}, auctionId:${auctionId}, bids:`, bids);\n requestManager.prebid = true;\n pbjs.setPAAPIConfigForGPT();\n this.pbjsRefreshGptSlots(requestManager, correlationId, adUnitCodes);\n }\n });\n setTimeout(() => {\n this.pbjsRefreshGptSlots(requestManager, correlationId, adUnitCodes, true);\n }, PREBID_FAILSAFE_TIMEOUT);\n });\n\n }\n\n\n //#endregion\n\n\n //#region customLazyLoad -->\n private intersectionObserver_RootMargin = \"400px\"; //\"0px\"\n private intersectionObserver_VisibleIntersectionRatio = 0.50;\n private intersectionObserver_MinInterSectionRatio = 0.01;\n private intersectionObserver_Thresholds = [this.intersectionObserver_MinInterSectionRatio, this.intersectionObserver_VisibleIntersectionRatio];\n private intersectionObserver_Options = {\n root: null,\n //root:document.body,\n rootMargin: this.intersectionObserver_RootMargin,\n threshold: this.intersectionObserver_Thresholds,\n\n };\n\n\n intersectionObserver?: IntersectionObserver;\n intersectionObserver_VisibleDivIds = new Set;\n\n initIntersectionObserver() {\n if (this.intersectionObserver) return;\n logUtil.consoleLog(\"initIntersectionObserver_ForLazyLoad called\")\n\n //all ad units to track visibility -->\n const gptDivIds = this.filterAdUnits({ excludeLoadingStrategies: [AdLoadingStrategyTypeEnum.trigger] }).map(q => q.divId);\n //all ad units to track visibility --<\n if (gptDivIds && gptDivIds.length > 0) {\n this.intersectionObserver = new IntersectionObserver((entries) => {\n // if(!this.gptIsReady()){\n // logUtil.consoleLog(\"intersectionObserver: GPT is not ready, will wait next intersection cycle\");\n // return;\n // }\n this.intersectionObserver_CallBack(entries);\n }, this.intersectionObserver_Options);\n gptDivIds.forEach(divId => {\n const elem = document.getElementById(divId);\n\n if (elem) {\n this.intersectionObserver!.observe(elem);\n }\n })\n }\n\n }\n\n intersectionObserver_CallBack(entries: IntersectionObserverEntry[]) {\n entries.forEach((entry) => {\n const elemId = entry.target.id;\n if (entry.isIntersecting) {\n logUtil.consoleLog(`intersectionObserver: ${elemId} became visible intersectionRatio: ${entry.intersectionRatio}`);\n if (this.intersectionObserver_VisibleDivIds.has(elemId)) {\n //elem is already processed\n return;\n }\n this.intersectionObserver_VisibleDivIds.add(elemId);\n\n //check adunits to be initialized\n // let filteredAdUnits = this.filterAdUnits({ divId: elemId, mustBeInitialized: true });\n // if (filteredAdUnits && filteredAdUnits.length > 0) {\n // logUtil.consoleLog(`intersectionObserver: ${elemId} ad unit found to be initialized`);\n\n // } else {\n\n // filteredAdUnits = this.filterAdUnits({ divId: elemId, canBeRefreshed: true });\n // if (filteredAdUnits && filteredAdUnits.length > 0) {\n // logUtil.consoleLog(`intersectionObserver: ${elemId} ad unit found to be refreshed`);\n // } else {\n // const adUnit = this.getAdUnitByDivId(elemId);\n // logUtil.consoleLog(`intersectionObserver: ${elemId} ad unit is not available to be initialized/refreshed `, adUnit);\n // }\n // }\n const filteredAdUnits = this.filterAdUnits({ divId: elemId, mustBeInitialized: true });\n logUtil.consoleLog(`intersectionObserver: ${elemId} ad unit found to be initialized`, filteredAdUnits);\n filteredAdUnits.forEach(adUnit => {\n\n this.refreshOrInitializeAdUnit(adUnit);\n\n });\n\n } else {\n this.intersectionObserver_VisibleDivIds.delete(elemId);\n logUtil.consoleLog(`intersectionObserver: ${elemId} is not visible and will not be requested`)\n }\n });\n }\n\n //#endregion\n disableAndStopAutoRefresh() {\n this.setIsAutoRefreshEnabled(false);\n this.autoRefreshRefId && clearInterval(this.autoRefreshRefId);\n\n }\n applyDivStyles() {\n const adUnits = this.filterAdUnits({ excludeLoadingStrategies: [AdLoadingStrategyTypeEnum.trigger] });\n adUnits.forEach(adUnit => {\n adUnit.applyDivStyle();\n });\n }\n\n\n initAutoRefresh() {\n\n logUtil.consoleLog(`initAutoRefresh called autoRefreshIntervalInMs:`, this.autoRefreshIntervalInMs);\n\n if (this.isAutoRefreshEnabled && !this.autoRefreshRefId) {\n\n this.autoRefreshRefId = setInterval(() => {\n\n logUtil.consoleLog(\"autoRefresh triggered\", new Date());\n if (!this.gptIsReady()) {\n logUtil.consoleLog(\"autoRefresh: GPT is not ready, will wait next autoRefresh cycle\");\n return;\n }\n if (this.isAutoRefreshRunning) return;\n this.isAutoRefreshRunning = true;\n const filteredAdUnits = this.filterAdUnits({ canBeRefreshed: true });\n if (filteredAdUnits && filteredAdUnits.length > 0) {\n logUtil.consoleLog(`autoRefresh: ad units found to refresh`, filteredAdUnits);\n const pbjsAdUnits = filteredAdUnits.filter(q => q.isPreBidEnabled === true);\n if (pbjsAdUnits && pbjsAdUnits.length > 0) {\n logUtil.consoleLog(`autoRefresh: pbjsAdUnits to refresh`, pbjsAdUnits);\n this.pbjsRequestBidsByPbjsAdUnits(pbjsAdUnits)\n }\n const gptAdUnits = filteredAdUnits.filter(q => q.isPreBidEnabled === false);\n if (gptAdUnits && gptAdUnits.length > 0) {\n logUtil.consoleLog(`autoRefresh: gptAdUnits to refresh`, gptAdUnits);\n this.gptRefreshAdUnits(gptAdUnits)\n }\n } else {\n logUtil.consoleLog(`autoRefresh: ad units not found to refresh`);\n }\n\n this.isAutoRefreshRunning = false;\n }, this.autoRefreshIntervalInMs);\n }\n }\n\n refreshOrInitializeAdUnit(adUnit: AdUnit) {\n if (adUnit.objectState.isProcessLockEnabled) {\n logUtil.consoleLog('refreshOrInitializeAdUnit: adunit has proc lock and will not be refreshed', adUnit.divId, adUnit);\n return;\n }\n this.executeAsGptCommand(() => {\n adUnit.objectState.isProcessLockEnabled = true;\n //if prebid enabled adunit -->\n if (adUnit.isPreBidEnabled) {\n if (!adUnit.gptState.isDefineSlotExecuted || !adUnit.gptSlot) {\n this.gptDefineSlot(adUnit);\n }\n logUtil.consoleLog('after gptDefineSlot', adUnit.divId, adUnit);\n if (!adUnit.gptState.isDisplaySlotExecuted) {\n logUtil.consoleLog('in gptDisplayAdUnit', adUnit.divId, adUnit);\n this.gptDisplayAdUnit(adUnit);\n }\n this.pbjsRequestBidsByPbjsAdUnits([adUnit]);\n\n }\n //if prebid enabled adunit <--\n //if prebid disabled adunit -->\n else {\n if (!adUnit.gptState.isDefineSlotExecuted) {\n\n this.gptDefineSlot(adUnit);\n\n }\n if (!adUnit.gptState.isDisplaySlotExecuted) {\n this.gptDisplayAdUnit(adUnit);\n }\n\n this.gptRefreshAdUnits([adUnit]);\n\n }\n //if prebid disabled adunit <--\n adUnit.objectState.isProcessLockEnabled = false;\n this.updateAdUnit(adUnit);\n });\n }\n\n isExecuteCompleted = false;\n execute() {\n\n try {\n logUtil.consoleLog(\"client execution started\");\n if (!this.isEnabled) {\n logUtil.consoleLog(\"ads are disabled, client execution stopped\");\n return;\n }\n\n\n\n\n tcfReadySubject.subscribe((tcData) => {\n if (tcData && tcData.gdprApplies) {\n const newConf = pbjsConfig_Default;\n newConf.consentManagement = pbjsConfig_ConsentManagement;\n newConf.gvlMapping = pbjsConfig_GvlMapping;\n\n this.pbjsMergeConfig(newConf);\n }\n });\n\n\n this.gptWindowObject();\n this.gptRegisterEvents();\n this.executeAsGptCommand(() => { this.gptSetTargeting(); });\n\n const singleRequestRequiredAdUnits = this.filterAdUnits({\n adUnitType: AdUnitTypeEnum.banner,\n loadingStrategy: AdLoadingStrategyTypeEnum.sra\n });\n\n //set states to avoid recurring request while waiting GPT to load/init in page. slotResponseReceived event will release lock. -->\n singleRequestRequiredAdUnits.forEach(adUnit => {\n adUnit.objectState.isProcessLockEnabled = true;\n this.updateAdUnit(adUnit);\n });\n\n //set states to avoid recurring request while waiting GPT to load/init in page. slotResponseReceived event will release lock. --<\n this.executeAsGptCommand(() => {\n //gpt define all sra ad units -->\n singleRequestRequiredAdUnits.forEach(adUnit => {\n this.gptDefineSlot(adUnit);\n });\n });\n\n this.executeAsGptCommand(() => { this.gptEnableServices(); });\n\n\n //send request to pbjs if required -->\n const pbjsAdUnits = singleRequestRequiredAdUnits\n .filter(q => q.isPreBidEnabled && q.pbjsAdUnit);\n\n\n\n if (pbjsAdUnits && pbjsAdUnits.length > 0) {\n this.pbjsWindowObject();\n this.executeAsPbjsCommand(() => { this.pbjsSetDefaultConfig(); });\n this.executeAsGptCommand(() => {\n this.gptDisplayAdUnits(pbjsAdUnits);\n });\n this.pbjsRequestBidsByPbjsAdUnits(pbjsAdUnits);\n }\n //send request to pbjs if required --<\n // call display and refresh for all gptSlots -->\n const gptAdUnits = singleRequestRequiredAdUnits\n .filter(q => !q.isPreBidEnabled);\n if (gptAdUnits && gptAdUnits.length > 0) {\n this.executeAsGptCommand(() => {\n this.gptDisplayAdUnits(gptAdUnits);\n this.gptRefreshAdUnits(gptAdUnits);\n });\n }\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === \"complete\") {\n this.applyDivStyles();\n this.initIntersectionObserver();\n }\n });\n\n // call display for all gptSlots --<\n document.addEventListener(\"DOMContentLoaded\", () => {\n logUtil.consoleLog(\"client execution domContentLoadedSubject started\");\n\n this.applyDivStyles();\n const preExecutedDivIds = singleRequestRequiredAdUnits && singleRequestRequiredAdUnits.length > 0 ? singleRequestRequiredAdUnits.map(q => q.divId) : [];\n //init domContentLoaded ads -->\n const domContentLoadAdUnits = this.filterAdUnits({\n loadingStrategy: AdLoadingStrategyTypeEnum.domContentLoaded,\n excludeDivIds: preExecutedDivIds\n });\n\n logUtil.consoleLog(\"domContentLoadAdUnits data:\", domContentLoadAdUnits);\n if (domContentLoadAdUnits && domContentLoadAdUnits.length > 0) {\n domContentLoadAdUnits.forEach(adUnit => {\n preExecutedDivIds.push(adUnit.divId);\n this.refreshOrInitializeAdUnit(adUnit);\n });\n }\n //init domContentLoaded ads --<\n\n\n //init custom lazy loads -->\n this.initIntersectionObserver();\n //init custom lazy loads --< \n\n\n //init outOfPAge ads -->\n setTimeout(() => {\n const outOfPAgeAdUnits = this.filterAdUnits({\n adUnitTypes: [AdUnitTypeEnum.outOfPage_Interstitial, AdUnitTypeEnum.outOfPage_BottomAnchor, AdUnitTypeEnum.outOfPage_TopAnchor],\n excludeDivIds: preExecutedDivIds\n });\n logUtil.consoleLog(\"outOfPAgeAdUnits data:\", outOfPAgeAdUnits);\n if (outOfPAgeAdUnits && outOfPAgeAdUnits.length > 0) {\n outOfPAgeAdUnits.forEach(adUnit => {\n preExecutedDivIds.push(adUnit.divId);\n this.refreshOrInitializeAdUnit(adUnit);\n });\n }\n }, 500);\n //init outOfPAge ads --<\n this.initAutoRefresh();\n\n\n logUtil.consoleLog(\"client execution domContentLoadedSubject finished\");\n this.isExecuteCompleted = true;\n\n\n })\n\n } catch (error) {\n logUtil.consoleError(error);\n\n } finally {\n logUtil.consoleLog(\"client execution finished\");\n document.addEventListener(\"DOMContentLoaded\", () => {\n pageClientExecutionEndedSubject.setDataAndTrigger(new PageClientSubjectData());\n });\n }\n\n\n\n\n }\n\n\n}\n\n\n","import {deviceUtil,pageUtil} from \"@repo/lib-common\";\nimport {Bid, BidderParamMap} from './pbjsTypes';\nimport {SingleSizeArray} from \"./googleTypes\";\n\n/** prebid /header bidding bidder class\n *\n * */\nexport class Bidder {\n static builder( code:string):Bidder {\n return new Bidder(code);\n }\n constructor( code:string){\n this.code=code;\n }\n code: string;\n isEnabled: boolean = false;\n params: BidderParamMap = {};\n isAnyDeviceAllowed: boolean = false;\n allowedDevices: deviceUtil.DeviceTypeArray = [];\n\n isAnySizeAllowed: boolean = false;\n allowedSizes: SingleSizeArray = [];\n\n \n allowedPageTypes: pageUtil.PageTypeArray = [];\n\n setIsEnabled(value: boolean): Bidder {\n this.isEnabled = value;\n return this;\n }\n setCode(value: string): Bidder {\n this.code = value;\n return this;\n }\n setParams(value: BidderParamMap): Bidder {\n this.params = value;\n return this;\n }\n\n //size -->\n setIsAnySizeAllowed(value: boolean): Bidder {\n this.isAnySizeAllowed = value;\n return this;\n }\n setAllowedSizes(value: SingleSizeArray): Bidder {\n this.isAnySizeAllowed=false;\n this.allowedSizes = value;\n return this;\n }\n //size <--\n\n //device -->\n setIsAnyDeviceAllowed(value: boolean): Bidder {\n this.isAnyDeviceAllowed = value;\n return this;\n }\n setAllowedDevices(value: deviceUtil.DeviceTypeArray): Bidder {\n this.allowedDevices = value;\n return this;\n }\n //device <--\n\n toBidObj(){\n return { bidder: this.code, params:this.params} as Bid;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { deviceUtil } from \"@repo/lib-common\";\nimport { Bidder } from \"./bidder\";\nimport { NamedSize_Val1, NamedSize_Val2, SingleSizeArray } from \"./googleTypes\";\n/** bidder helper class for easy use cases\n *\n * */\nexport class BidderHelper {\n bidders = new Array();\n addBidder(bidder: Bidder) {\n this.bidders.push(bidder);\n }\n addBidders(bidders: Array) {\n this.bidders.push(...bidders);\n }\n\n // filterBySizeArray(sizeArray: SingleSizeArray) {\n\n // const filteredBidders = new Array();\n // for (let i = 0; i < sizeArray.length; i++) {\n // const size = sizeArray[i];\n // // @ts-expect-error named obj\n // if (!Array.isArray(size) || size === NamedSize_Val1 || size === NamedSize_Val2) continue;\n // const tBidders = this.bidders.filter(b => b.isEnabled && (b.isAnySizeAllowed ||\n // b.allowedSizes.filter((value) => value[0] === size[0] && value[1] === size[1]).length > 0)\n // );\n // filteredBidders.push(...tBidders);\n // }\n\n // return filteredBidders;\n // }\n\n filterBySizeAndDevice(sizeArray: SingleSizeArray, deviceTypes: Array) {\n\n const filteredBidders = new Array();\n for (let i = 0; i < sizeArray.length; i++) {\n const size = sizeArray[i];\n // @ts-expect-error named obj\n if (!Array.isArray(size) || size === NamedSize_Val1 || size === NamedSize_Val2) continue;\n const tBidders = this.bidders.filter(b => b.isEnabled &&\n (b.isAnyDeviceAllowed === true || b.allowedDevices.filter(d => deviceTypes.includes(d)).length > 0)\n && (b.isAnySizeAllowed === true ||\n b.allowedSizes.filter((value) => value[0] === size[0] && value[1] === size[1]).length > 0)\n );\n filteredBidders.push(...tBidders);\n }\n\n return filteredBidders;\n }\n\n\n\n}\n\n\n","import { AdSizes, Bidder, BidderHelper } from \"@repo/lib-domain-tag\";\nimport { deviceUtil } from \"@repo/lib-common\";\n\n\nconst DeviceTypeInfo = deviceUtil.DeviceTypeInfo;\nconst worldPageBidderHelper = new BidderHelper();\n\n//#region criteo\n/*\nconst criteo_300x250 = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 9934, zoneId: 1471385 })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(criteo_300x250);\n\n\nconst criteo_300x600_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 9934, zoneId: 1471386 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\nworldPageBidderHelper.addBidder(criteo_300x600_desktop);\n\n\nconst criteo_336x280_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 9934, zoneId: 1471388 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes([[336, 280]]);\nworldPageBidderHelper.addBidder(criteo_336x280_desktop);\n\n\nconst criteo_970x250_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 9934, zoneId: 1471387 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\nworldPageBidderHelper.addBidder(criteo_970x250_desktop);\n*/\n//#endregion\n\n//#region adform\nconst adForm_300x250_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231075 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\n\nworldPageBidderHelper.addBidder(adForm_300x250_desktop);\n\n\nconst adForm_300x600_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231145 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\nworldPageBidderHelper.addBidder(adForm_300x600_desktop);\n\n\nconst adForm_970x250_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231146 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\nworldPageBidderHelper.addBidder(adForm_970x250_desktop);\n\n\nconst adForm_300x250_mobile = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231147 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.mobileDevices)\n .setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(adForm_300x250_mobile);\n//#endregion\n\n//#region yandex\nconst yandex_300x250_mobile = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-1' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.mobileDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(yandex_300x250_mobile);\n\nconst yandex_300x250_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-1' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(yandex_300x250_desktop);\n\nconst yandex_300x600_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-2' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\nworldPageBidderHelper.addBidder(yandex_300x600_desktop);\n\n\nconst yandex_970x250_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-3' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\nworldPageBidderHelper.addBidder(yandex_970x250_desktop);\n\n//#endregion\n\n//#region admatic\nconst admatic_300x250 = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(admatic_300x250);\n\n\nconst admatic_300x600_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\nworldPageBidderHelper.addBidder(admatic_300x600_desktop);\n\nconst admatic_336x280_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes([[336, 280]]);\nworldPageBidderHelper.addBidder(admatic_336x280_desktop);\n\nconst admatic_970x250_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(true).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\nworldPageBidderHelper.addBidder(admatic_970x250_desktop);\n//#endregion\n\n//#region taboola\nconst taboola_300x250 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_300_250' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\nworldPageBidderHelper.addBidder(taboola_300x250);\n\nconst taboola_300x600 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_300_600' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\nworldPageBidderHelper.addBidder(taboola_300x600);\n\nconst taboola_970x250 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_970_250' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\nworldPageBidderHelper.addBidder(taboola_970x250);\n\n//#endregion\n\nexport { worldPageBidderHelper };\n","import { AdSizes, Bidder, BidderHelper } from \"@repo/lib-domain-tag\";\nimport { deviceUtil } from \"@repo/lib-common\";\n\nconst DeviceTypeInfo = deviceUtil.DeviceTypeInfo;\nconst trPageBidderHelper = new BidderHelper();\n\n//#region criteo\n/* criteo iptal edildi\nconst criteo_300x250 = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 4200, zoneId: 1496268 })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(criteo_300x250);\n\n\nconst criteo_300x600_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 4200, zoneId: 1496271 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\ntrPageBidderHelper.addBidder(criteo_300x600_desktop);\n\nconst criteo_336x280_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 4200, zoneId: 1496272 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes([[336, 280]]);\ntrPageBidderHelper.addBidder(criteo_336x280_desktop);\n\n\nconst criteo_970x250_desktop = Bidder.builder(\"criteo\")\n .setIsEnabled(true).setParams({ networkId: 4200, zoneId: 1496274 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\ntrPageBidderHelper.addBidder(criteo_970x250_desktop);\n*/\n//#endregion\n\n//#region rtbHouse\nconst rtbHouse = Bidder.builder(\"rtbhouse\")\n .setIsEnabled(true).setParams({ region: 'prebid-eu', publisherId: '32e68c03e662a554d456' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(true);\ntrPageBidderHelper.addBidder(rtbHouse);\n//#endregion\n\n//#region adForm\nconst adForm_300x250_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231067 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(adForm_300x250_desktop);\n\nconst adForm_300x600_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231068 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\ntrPageBidderHelper.addBidder(adForm_300x600_desktop);\n\nconst adForm_970x250_desktop = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231076 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\ntrPageBidderHelper.addBidder(adForm_970x250_desktop);\n\nconst adForm_300x250_mobile = Bidder.builder(\"adform\")\n .setIsEnabled(true).setParams({ mid: 1231143 })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.mobileDevices)\n .setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(adForm_300x250_mobile);\n//#endregion\n\n//#region yandex\nconst yandex_300x250_mobile = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-1' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.mobileDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(yandex_300x250_mobile);\n\nconst yandex_300x250_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-1' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(yandex_300x250_desktop);\n\nconst yandex_300x600_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-2' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\ntrPageBidderHelper.addBidder(yandex_300x600_desktop);\n\n\nconst yandex_970x250_desktop = Bidder.builder(\"yandex\").setIsEnabled(true)\n .setParams({ placementId: 'R-A-2217816-3' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\ntrPageBidderHelper.addBidder(yandex_970x250_desktop);\n\n\n//#endregion\n\n//#region admatic\nconst admatic_300x250 = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(admatic_300x250);\n\n\nconst admatic_300x600_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\ntrPageBidderHelper.addBidder(admatic_300x600_desktop);\n\nconst admatic_336x280_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes([[336, 280]]);\ntrPageBidderHelper.addBidder(admatic_336x280_desktop);\n\n\nconst admatic_970x250_desktop = Bidder.builder(\"admatic\")\n .setIsEnabled(true).setParams({ networkId: 108266335578, host: 'gkbjdy0uaftq.rtb.admatic.com.tr' })\n .setIsAnyDeviceAllowed(false).setAllowedDevices(DeviceTypeInfo.desktopDevices)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\ntrPageBidderHelper.addBidder(admatic_970x250_desktop);\n\n//#endregion\n\n//#region taboola\nconst taboola_300x250 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_300_250' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x250);\ntrPageBidderHelper.addBidder(taboola_300x250);\n\nconst taboola_300x600 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_300_600' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_300x600);\ntrPageBidderHelper.addBidder(taboola_300x600);\n\nconst taboola_970x250 = Bidder.builder(\"taboola\")\n .setIsEnabled(true).setParams({ publisherId: 1554971, tagId: 'sozcuPrebidData_970_250' })\n .setIsAnyDeviceAllowed(true)\n .setIsAnySizeAllowed(false).setAllowedSizes(AdSizes.prebid_970x250);\ntrPageBidderHelper.addBidder(taboola_970x250);\n\n//#endregion\n\nexport { trPageBidderHelper };\n","export const enum CountryEnum {\n tr = \"tr\",\n usa = \"usa\",\n local = \"local\",\n world = \"world\"\n}\n","export const domainCountry = import.meta.env.VITE_COUNTRY;\nexport function init() {\n window.domainCountry = domainCountry;\n}\ninit();","import { logUtil } from \"@repo/lib-common\";\n\nimport { worldPageBidderHelper } from \"../bidderConfs/worldPageBidderHelper\";\nimport { trPageBidderHelper } from \"../bidderConfs/trPageBidderHelper\";\nimport { CountryEnum } from \"@repo/lib-domain-tag/countryEnum\";\nimport { domainCountry } from \"../main\";\n\nfunction getPageBidder() {\n\n window.domainCountry = domainCountry;\n logUtil.consoleLog(\"getPageBidder countryInfo\", domainCountry);\n if (domainCountry === CountryEnum.world) {\n return worldPageBidderHelper;\n }\n return trPageBidderHelper;\n}\nconst pageBidderHelper = getPageBidder()\nexport { pageBidderHelper }\n\n\n","import { deviceUtil } from \"@repo/lib-common\";\nimport { AdLoadingStrategyTypeEnum, AdSizes, AdUnit, AdUnitSpecialUseCaseEnum, AdUnitTypeEnum } from \"@repo/lib-domain-tag\";\n\nexport const desktopOutOfPageAdUnit = [\n AdUnit.builder(AdUnitTypeEnum.outOfPage_Interstitial)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setSpecialUseCaseIndex(0)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_popup\")\n .setDivId(\"div-sozcu_popup\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.trigger)\n .setSizes(AdSizes.general_1x1)\n .setIsAutoRefreshEnabled(false)\n .setIsPrebidEnabled(false)\n .build()\n];\n\n\nexport const mobileOutOfPageAdUnit = [\n AdUnit.builder(AdUnitTypeEnum.outOfPage_Interstitial)\n .setDeviceType(deviceUtil.DeviceTypeInfo.mobileDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setSpecialUseCaseIndex(0)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_mobile_interstial\")\n .setDivId(\"div-sozcu_popup\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.trigger)\n .setSizes(AdSizes.general_1x1)\n .setIsAutoRefreshEnabled(false)\n .setIsPrebidEnabled(false)\n .build()\n];","import { SlotRenderEndedSubjectData } from \"@repo/lib-domain-tag/src/ads/eventSubjects/slotRenderEndedSubject.ts\"\nimport { DomainSubjectCallback } from \"@repo/lib-domain-tag\";\n\nexport const fixPageSkinCssClass: DomainSubjectCallback = (data) => {\n if (data && data.isEmpty === false && (data.divId === 'div-sozcu_anasayfa_pageskin_tepe' || data.divId === 'div-sozcu_gen_pageskin_tepe')) {\n document.body.classList.add(\"pageskinTrue\");\n }\n}\n\nexport const displayDivDesktopIndexStickyParent: DomainSubjectCallback = (data) => {\n\n if (data && data.isEmpty === false && data.divId === 'div-sozcu_desktop_anasayfa_sticky') {\n const divParent = document.getElementById(\"div-sozcu_desktop_anasayfa_sticky_parent\")\n if (divParent) {\n divParent.classList.add(\"bg-light\");\n }\n }\n else if (data && data.isEmpty === false && data.divId === 'div-sozcu_mobile_post_sticky_parent') {\n const divParent = document.getElementById(\"div-sozcu_mobile_detay_320x50_sticky\")\n if (divParent) {\n divParent.classList.add(\"bg-light\");\n }\n }\n}\n\n ","import {\n AdLoadingStrategyTypeEnum,\n AdSizes,\n AdUnit,\n AdUnitSpecialUseCaseEnum,\n AdUnitTypeEnum,\n PageAdsBuilder\n} from \"@repo/lib-domain-tag\";\nimport { pageBidderHelper } from \"../pageBidderHelper\";\nimport { deviceUtil, pageUtil } from \"@repo/lib-common\";\nimport { desktopOutOfPageAdUnit } from \"../../commonAdUnits/outOfPageAdUnits\";\nimport {fixPageSkinCssClass} from \"../utilHelpers.ts\";\n\nexport class DesktopCategoryPageAdsBuilder extends PageAdsBuilder {\n override init() {\n\n this.setIsAutoRefreshEnabled(true);\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_pageskin_tepe\")\n .setDivId(\"div-sozcu_gen_pageskin_tepe\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.sra)\n .setSizes(AdSizes.desktop_PageSkin_Top)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(false)\n //.setPrebidSizeLimits([])\n //.setBidderHelper(pageBidderHelper)\n .onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_masthead\")\n .setDivId(\"div-sozcu_gen_masthead\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.sra)\n .setSizes(AdSizes.desktop_Masthead)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_970x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_gen_masthead' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_left\")\n .setDivId(\"div-sozcu_gen_left\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.sra)\n .setSizes(AdSizes.desktop_Tower)\n .addSizeMapping([1900, 0], [[300, 600], [160, 600], [120, 600], [1, 1]])\n .addSizeMapping([1366, 0], [[160, 600], [120, 600], [1, 1]])\n .addSizeMapping([0, 0], [])\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x600)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_gen_left' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_right\")\n .setDivId(\"div-sozcu_gen_right\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.sra)\n .setSizes(AdSizes.desktop_Tower)\n .addSizeMapping([1900, 0], [[300, 600], [160, 600], [120, 600], [1, 1]])\n .addSizeMapping([1366, 0], [[160, 600], [120, 600], [1, 1]])\n .addSizeMapping([0, 0], [])\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x600)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_gen_right' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_body_box_1\")\n .setDivId(\"div-sozcu_gen_body_box_1\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.intersectionObserverBasedLazyLoad)\n .setSizes(AdSizes.desktop_GenBodyBox)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_gen_body_box_1' })\n\n );\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_gen_body_masthead_1\")\n .setDivId(\"div-sozcu_gen_body_masthead_1\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.intersectionObserverBasedLazyLoad)\n .setSizes(AdSizes.desktop_Masthead)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_970x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_gen_body_masthead_1' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_footer_masthead\")\n .setDivId(\"div-sozcu_footer_masthead\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.intersectionObserverBasedLazyLoad)\n .setSizes(AdSizes.desktop_Masthead)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_970x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_footer_masthead' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n desktopOutOfPageAdUnit.forEach(adUnit => {\n this.applyAdUnit(adUnit);\n });\n\n // if (domainCountry === CountryEnum.usa) {\n // this.applyAdUnit(\n // AdUnit.builder(AdUnitTypeEnum.outOfPage_BottomAnchor)\n // .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n // .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n // .setIsEnabled(true)\n // .setAdUnitPath(\"/66738120/sozcu_anchor_ads\")\n // //.setDivId(\"div-sozcu_anchor_ads\")\n // //.setDivStyleAfterRequest('')\n // .setLoadingStrategy(AdLoadingStrategyTypeEnum.trigger)\n // .setSizes(AdSizes.general_1x1)\n // .setIsAutoRefreshEnabled(true)\n // .setIsPrebidEnabled(false)\n // //.setPrebidSizeLimits([])\n // //.setBidderHelper(pageBidderHelper)\n // );\n // }\n\n\n }\n}\n\nexport const desktopCategoryPageAdsBuilder = new DesktopCategoryPageAdsBuilder(deviceUtil.DeviceTypeEnum.desktop, pageUtil.PageTypeEnum.postDetail);\n\n\n","import {\n AdLoadingStrategyTypeEnum,\n AdSizes,\n AdUnit,\n AdUnitSpecialUseCaseEnum,\n AdUnitTypeEnum,\n PageAdsBuilder\n} from \"@repo/lib-domain-tag\";\nimport { pageBidderHelper } from \"../pageBidderHelper\";\nimport { deviceUtil, pageUtil } from \"@repo/lib-common\";\nimport { mobileOutOfPageAdUnit } from \"../../commonAdUnits/outOfPageAdUnits\";\n\nexport class MobileCategoryPageAdsBuilder extends PageAdsBuilder {\n override init() {\n\n this.setIsAutoRefreshEnabled(true);\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.mobileDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_m_gen_masthead\")\n .setDivId(\"div-sozcu_m_gen_masthead\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.sra)\n .setSizes(AdSizes.mobile_Generic)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_m_gen_masthead' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.mobileDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_m_gen_box_1\")\n .setDivId(\"div-sozcu_m_gen_box_1\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.intersectionObserverBasedLazyLoad)\n .setSizes(AdSizes.mobile_Generic)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_m_gen_box_1' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n );\n this.applyAdUnit(\n AdUnit.builder(AdUnitTypeEnum.banner)\n .setDeviceType(deviceUtil.DeviceTypeInfo.mobileDevices)\n .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n .setIsEnabled(true)\n .setAdUnitPath(\"/66738120/sozcu_mobil_footer\")\n .setDivId(\"div-sozcu_mobil_footer\")\n .setDivStyleAfterRequest('')\n .setLoadingStrategy(AdLoadingStrategyTypeEnum.intersectionObserverBasedLazyLoad)\n .setSizes(AdSizes.mobile_Generic)\n .setIsAutoRefreshEnabled(true)\n .setIsPrebidEnabled(true)\n .setPrebidSizeLimits(AdSizes.prebid_300x250)\n .setBidderHelper(pageBidderHelper)\n .setBidderCustomParam('taboola', { tagId: 'sozcu_mobil_footer' })\n //.onSlotRenderEnded(fixPageSkinCssClass)\n\n );\n\n\n\n mobileOutOfPageAdUnit.forEach(adUnit => {\n this.applyAdUnit(adUnit);\n });\n\n // if (domainCountry === CountryEnum.usa) {\n // this.applyAdUnit(\n // AdUnit.builder(AdUnitTypeEnum.outOfPage_BottomAnchor)\n // .setDeviceType(deviceUtil.DeviceTypeInfo.desktopDevices)\n // .setSpecialUseCase(AdUnitSpecialUseCaseEnum.none)\n // .setIsEnabled(true)\n // .setAdUnitPath(\"/66738120/sozcu_anchor_ads\")\n // //.setDivId(\"div-sozcu_anchor_ads\")\n // //.setDivStyleAfterRequest('')\n // .setLoadingStrategy(AdLoadingStrategyTypeEnum.trigger)\n // .setSizes(AdSizes.general_1x1)\n // .setIsAutoRefreshEnabled(true)\n // .setIsPrebidEnabled(false)\n // //.setPrebidSizeLimits([])\n // //.setBidderHelper(pageBidderHelper)\n // );\n // }\n\n }\n}\n\nexport const mobileCategoryPageAdsBuilder = new MobileCategoryPageAdsBuilder(deviceUtil.DeviceTypeEnum.mobile, pageUtil.PageTypeEnum.postDetail);\n\n\n","import { desktopCategoryPageAdsBuilder } from \"./desktopCategoryPageAdsBuilder\";\nimport { mobileCategoryPageAdsBuilder } from \"./mobileCategoryPageAdsBuilder\";\n\nimport { deviceUtil, pageUtil } from \"@repo/lib-common\";\nimport { DomainPageClient } from \"@repo/lib-domain-tag\";\nconst PageTypeEnum = pageUtil.PageTypeEnum;\nlet isPageClientInitiated = false;\nexport const initPageClient_Category = function () {\n if (isPageClientInitiated) return;\n isPageClientInitiated = true;\n const device = window.domainDevice || new deviceUtil.DeviceTypeInfo();\n const pageClient = new DomainPageClient();\n pageClient.device = device;\n pageClient.pageType = PageTypeEnum.category;\n\n\n if (device.isMobile()) {\n pageClient.adsBuilder = mobileCategoryPageAdsBuilder.setAdsConfAndApply(window.domainAdsConfForMobile);\n } else {\n pageClient.adsBuilder = desktopCategoryPageAdsBuilder.setAdsConfAndApply(window.domainAdsConfForDesktop);\n }\n\n window.domainClient = pageClient;\n const isLoggedIn = pageClient.doesCookieExists('loggedIn') && pageClient.doesCookieExists('_sgf_facebook_name') && pageClient.doesCookieExists('_sgf_user_pids');\n pageClient.adsBuilder.setIsEnabled(!isLoggedIn);\n pageClient.adsBuilder.execute();\n}\ninitPageClient_Category();\n"],"names":["window","undefined","LIBVERSION","EMPTY","UNKNOWN","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","UA_MAX_LENGTH","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","EDGE","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","MAC_OS","extend","regexes","extensions","mergedRegexes","i","enumerize","arr","enums","has","str1","str2","lowerize","str","majorize","version","trim","len","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","strMapper","map","oldSafariMap","windowsVersionMap","UAParser","_navigator","_ua","_uach","_rgxmap","_isSelfNav","_browser","_cpu","_device","_engine","_os","module","exports","$","parser","result","prop","this","getRandomValues","rnds8","rng","byteToHex","unsafeStringify","offset","randomUUID","native","v4","options","buf","rnds","objUtil","data","_a","uuidv4","isStrNullOrUndefined","deviceUtil","userAgent","DeviceTypeEnum","_DeviceTypeInfo","_b","_c","_d","_e","_f","type","DeviceTypeInfo","logUtil","isLoggerActive","consoleBold","consoleNormal","_logPrefix","prefix","message","numUtil","typeUtil","ObjectIndexer","isNullOrEmpty","urlUtil","name","names","urlParams","key","value","dateUtil","DateTimeHelper","pageUtil","PageTypeEnum","cookieUtil","CookieHelper","cookieName","cookies","DomainSubject","fn","DomContentLoadedSubject","event","domContentLoadedSubject","maxTcfCheckCount","TcfReadySubject","tcData","isTcfLoaded","tcfReadySubject","complete","DomReadyStateCompleteSubject","domReadyStateCompleteSubject","interactive","DomReadyStateInteractiveSubject","domReadyStateInteractiveSubject","WindowUrlChangedSubject","windowUrlChangedSubject","CommandArray","f","num","commandFunc","hasError","exception","e","ex","DomainTag","c","isDomainTagInitialized","ensureDomainTag","domainTagInstance","existingTag","cmdFunc","DomainPageClient","NamedSize_Val1","NamedSize_Val2","GptSlotRenderEndedEvent","eventData","GptSlotRequestedEvent","GptSlotOnloadEvent","GptImpressionViewableEvent","GptSlotResponseReceivedEvent","GptSlotVisibilityChangedEvent","SlotRenderEndedSubjectData","SlotRenderEndedSubject","_AdSizes","AdSizes","_AdSizesTv","AdSizesTv","AdUnitTypeEnum","AdUnitSpecialUseCaseEnum","AdLoadingStrategyTypeEnum","PbjsState","GptState","AutoRefreshState","IntersectionObserverState","AdUnitState","AdUnit","timeDif","val","useCaseType","viewport","sizes","deviceTypes","divStyle","bidders","bidderHelper","bidderCode","args","subjectData","elem","prebid","apsSlot","pbjsPaapiConfig","pbjsFledgeForGptConfig","pbjsConfig_Default","pbjsConfig_ConsentManagement","pbjsConfig_GvlMapping","pbjs_BidderSettings","FirstSlotRenderEndedSubject","endEvent","firstSlotRenderEndedSubject","PageClientSubjectData","PageClientExecutionEndedSubject","pageClientExecutionEndedSubject","uuidStr","PREBID_TIMEOUT","PREBID_FAILSAFE_TIMEOUT","RequestManager","PageAdsBuilder","deviceType","pageType","targtingMap","targetingMap","adUnit","divId","entry","cmd","adUnits","slots","gptSlot","gm","sm","gmBuild","elemId","firstData","config","pbjsInternalAdUnitCodes","pbjsAdUnits","requestManager","correlationId","adUnitCodes","isFailSafeCall","apsSlots","bids","timeOut","auctionId","gptDivIds","entries","filteredAdUnits","gptAdUnits","newConf","singleRequestRequiredAdUnits","preExecutedDivIds","domContentLoadAdUnits","outOfPAgeAdUnits","error","Bidder","code","BidderHelper","bidder","sizeArray","filteredBidders","size","tBidders","b","d","worldPageBidderHelper","adForm_300x250_desktop","adForm_300x600_desktop","adForm_970x250_desktop","adForm_300x250_mobile","yandex_300x250_mobile","yandex_300x250_desktop","yandex_300x600_desktop","yandex_970x250_desktop","admatic_300x250","admatic_300x600_desktop","admatic_336x280_desktop","admatic_970x250_desktop","taboola_300x250","taboola_300x600","taboola_970x250","trPageBidderHelper","rtbHouse","CountryEnum","domainCountry","init","getPageBidder","pageBidderHelper","desktopOutOfPageAdUnit","mobileOutOfPageAdUnit","fixPageSkinCssClass","DesktopCategoryPageAdsBuilder","desktopCategoryPageAdsBuilder","MobileCategoryPageAdsBuilder","mobileCategoryPageAdsBuilder","isPageClientInitiated","initPageClient_Category","device","pageClient","isLoggedIn"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}