{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./src/js/reuses/legacy.js","webpack:///./src/js/webSupport/index.js","webpack:///./src/js/utils/coverageRate.js","webpack:///./src/js/support.js"],"names":["parentHotUpdateCallback","window","chunkId","moreModules","hotAvailableFilesMap","hotRequestedFilesMap","moduleId","Object","prototype","hasOwnProperty","call","hotUpdate","hotWaitingFiles","hotChunksLoading","hotUpdateDownloaded","hotAddUpdateChunk","hotCurrentChildModule","hotApplyOnUpdate","hotCurrentHash","hotCurrentModuleData","hotCurrentParents","hotCurrentParentsTemp","hotCreateRequire","me","installedModules","__webpack_require__","fn","request","hot","active","parents","indexOf","push","children","ObjectFactory","name","configurable","enumerable","get","set","value","defineProperty","e","hotStatus","hotSetStatus","then","finishChunkLoading","err","hotWaitingFilesMap","hotEnsureUpdateChunk","t","mode","hotCreateModule","_acceptedDependencies","_declinedDependencies","_selfAccepted","_selfDeclined","_selfInvalidated","_disposeHandlers","_main","accept","dep","callback","undefined","i","length","decline","dispose","addDisposeHandler","removeDisposeHandler","idx","splice","invalidate","this","modules","hotApplyInvalidatedModule","hotQueuedInvalidatedModules","check","hotCheck","apply","hotApply","status","l","hotStatusHandlers","addStatusHandler","removeStatusHandler","data","newStatus","hotDeferred","hotUpdateNewHash","toModuleId","id","Error","requestTimeout","Promise","resolve","reject","XMLHttpRequest","requestPath","p","open","timeout","send","onreadystatechange","readyState","update","JSON","parse","responseText","hotApplyInvalidatedModules","c","h","promise","script","document","createElement","charset","src","head","appendChild","hotDownloadUpdateChunk","deferred","result","outdatedModules","options","hotApplyInternal","cb","j","module","getAffectedStuff","updateModuleId","outdatedDependencies","queue","map","chain","queueItem","pop","type","parentId","parent","concat","addAllToSet","a","b","item","appliedUpdate","warnUnexpectedRequire","abortError","doApply","doDispose","chainInfo","join","onDeclined","ignoreDeclined","onUnaccepted","ignoreUnaccepted","onAccepted","onDisposed","outdatedSelfAcceptedModules","slice","errorHandler","keys","forEach","installedChunks","hotDisposeChunk","dependency","moduleOutdatedDependencies","disposeHandlers","child","error","callbacks","onErrored","dependencyId","ignoreErrored","err2","originalError","list","exports","m","d","getter","o","r","Symbol","toStringTag","__esModule","ns","create","key","bind","n","object","property","s","toPropertyKey","obj","writable","_typeof","iterator","constructor","toPrimitive","TypeError","String","Number","getUrlParameterByName","url","replace","results","RegExp","exec","decodeURIComponent","handleThrTrackArray","trackingTag","width","height","style","body","identifyTrackingType","rawTrackingType","trackingType","split","tracking_code","thrTrackArray","location","toString","imgUrl","multipleTracking","thrTrackObj","getElementsByTagName","innerHTML","trackingList","trackingElement","trackingUrl","adInfo","css","position","bottom","left","padding","display","mapToNative","adViewNativeRectangle","adViewRectangle","srcRectangle","offsetX","x","offsetY","y","rateWidth","rateHeight","coverageRate","onScreenRect","videoRect","screenP1","screenP3","videoP1","videoP3","p1","p3","VPADN","messagePort","serviceList","viewableDetection","enable","messageQueue","sendMessageToAdSdk","messageObj","postMessage","addEventListener","event","_event$data","eventName","source","subtype","ports","env","mraid","exposedPercentage","viewableDetectionInfo","_serviceList$viewable","target","intersectionPercent","intersectionRect","iframePosition","targetRect","getBoundingClientRect","rootPosition","top","intersectionPosition","Math","max","min","viewPercent","calculateIntersectionPercent","receiveMessageByAdSdk","support","deviceType","Vponext","onceArray","cleanCrString","urlStr","substring","dispatchToMraid","listener","intersectionRatio","parseInt","clickEventObject","clickClose","close","svClickCollapseEvent","callbackFuncZoom","drawDefaultISCloseBtn","adType","networkId","arguments","transformCloseBtnPosition","iframeIntTop","closeBtn","querySelector","parentElement","isIS","includes","close_btn","close_btn_img","zIndex","right","el","ms","opacity","isIn","interval","duration","gap","func","clearInterval","fading","getAttribute","setAttribute","setInterval","fade","orientation","setTimeout","clickCollapse","callbackFunc","zoomBtnZindex","fadeZoom","expandBoolean","switchDisplayZoomBtn","displayBoolean","defaultZoomBtn","removeEventListener","transformClickUrl","click_url","result_url","query_str_arr","process_str","query_string","vars","pair","arr","transferQueryString","search","lnk","redirect_url","encodeURIComponent","onceCall","funName","click","addScriptWithTimeStamp","Date","getMilliseconds","postByNavigatorWithTimeStamp","navigator","sendBeacon","isFirstTimeSendClick","completeCallback","errorCallback","configParams","clickUrl","URLSearchParams","clickUrlWithPosition","vpsdkClick","params","creativeRect","clickPositionObj","clickPositionX","clientX","toFixed","clickPositionY","clientY","closeBtnRect","_objectSpread","closeBtnX","closeBtnY","searchParams","URL","checkWhetherNativeByLnk","u","urlSearchParams","clickPosition","landing","openBrowser","vpsdkopenBrowser","stopPropagation","setExpandProperties","_ref2","state","useCustomClose","expand","collapse","appendZoomBtn","containerInfo","zoomBtnTop","zoom_btn","zoom_btn_img","objectKey","index","switchDisplayDefaultISCloseBtn","setOrientationProperties","properties","fire3rdPartyTracking","triggerImpressionCallback","_ref","isImpression","video","exposureChangeHandler","visibleRectangle","adWebRectangle","clientWidth","clientHeight","videoWebRectangle","offsetLeft","offsetTop","videoViewRectangle","videoViewPercent","exposureProperties","occlusionRectangles","vpsdkRemoveEventListener","appendDefaultISCloseBtn","vponTagAttrs","vpon_ad_format","use_custom_close","nid","MRAID_ENV","sdkVersion","pollingIntervalId","startTime","now","VPADN_ENV","initInfo","info","_adCss","vpsdk","_creativeData","creativeData","initialInfo","disableVponLogo","enableIfaService","getLocation","lat","lon","accuracy","lastfix","ipservice"],"mappings":"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","file":"vpon-support.js","sourcesContent":[" \tfunction hotDisposeChunk(chunkId) {\n \t\tdelete installedChunks[chunkId];\n \t}\n \tvar parentHotUpdateCallback = window[\"webpackHotUpdate\"];\n \twindow[\"webpackHotUpdate\"] = // eslint-disable-next-line no-unused-vars\n \tfunction webpackHotUpdateCallback(chunkId, moreModules) {\n \t\thotAddUpdateChunk(chunkId, moreModules);\n \t\tif (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);\n \t} ;\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadUpdateChunk(chunkId) {\n \t\tvar script = document.createElement(\"script\");\n \t\tscript.charset = \"utf-8\";\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".\" + hotCurrentHash + \".hot-update.js\";\n \t\tif (null) script.crossOrigin = null;\n \t\tdocument.head.appendChild(script);\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadManifest(requestTimeout) {\n \t\trequestTimeout = requestTimeout || 10000;\n \t\treturn new Promise(function(resolve, reject) {\n \t\t\tif (typeof XMLHttpRequest === \"undefined\") {\n \t\t\t\treturn reject(new Error(\"No browser support\"));\n \t\t\t}\n \t\t\ttry {\n \t\t\t\tvar request = new XMLHttpRequest();\n \t\t\t\tvar requestPath = __webpack_require__.p + \"\" + hotCurrentHash + \".hot-update.json\";\n \t\t\t\trequest.open(\"GET\", requestPath, true);\n \t\t\t\trequest.timeout = requestTimeout;\n \t\t\t\trequest.send(null);\n \t\t\t} catch (err) {\n \t\t\t\treturn reject(err);\n \t\t\t}\n \t\t\trequest.onreadystatechange = function() {\n \t\t\t\tif (request.readyState !== 4) return;\n \t\t\t\tif (request.status === 0) {\n \t\t\t\t\t// timeout\n \t\t\t\t\treject(\n \t\t\t\t\t\tnew Error(\"Manifest request to \" + requestPath + \" timed out.\")\n \t\t\t\t\t);\n \t\t\t\t} else if (request.status === 404) {\n \t\t\t\t\t// no update available\n \t\t\t\t\tresolve();\n \t\t\t\t} else if (request.status !== 200 && request.status !== 304) {\n \t\t\t\t\t// other failure\n \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" failed.\"));\n \t\t\t\t} else {\n \t\t\t\t\t// success\n \t\t\t\t\ttry {\n \t\t\t\t\t\tvar update = JSON.parse(request.responseText);\n \t\t\t\t\t} catch (e) {\n \t\t\t\t\t\treject(e);\n \t\t\t\t\t\treturn;\n \t\t\t\t\t}\n \t\t\t\t\tresolve(update);\n \t\t\t\t}\n \t\t\t};\n \t\t});\n \t}\n\n \tvar hotApplyOnUpdate = true;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentHash = \"12e12f2bbb7e86ab68ea\";\n \tvar hotRequestTimeout = 10000;\n \tvar hotCurrentModuleData = {};\n \tvar hotCurrentChildModule;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParents = [];\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParentsTemp = [];\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateRequire(moduleId) {\n \t\tvar me = installedModules[moduleId];\n \t\tif (!me) return __webpack_require__;\n \t\tvar fn = function(request) {\n \t\t\tif (me.hot.active) {\n \t\t\t\tif (installedModules[request]) {\n \t\t\t\t\tif (installedModules[request].parents.indexOf(moduleId) === -1) {\n \t\t\t\t\t\tinstalledModules[request].parents.push(moduleId);\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\thotCurrentParents = [moduleId];\n \t\t\t\t\thotCurrentChildModule = request;\n \t\t\t\t}\n \t\t\t\tif (me.children.indexOf(request) === -1) {\n \t\t\t\t\tme.children.push(request);\n \t\t\t\t}\n \t\t\t} else {\n \t\t\t\tconsole.warn(\n \t\t\t\t\t\"[HMR] unexpected require(\" +\n \t\t\t\t\t\trequest +\n \t\t\t\t\t\t\") from disposed module \" +\n \t\t\t\t\t\tmoduleId\n \t\t\t\t);\n \t\t\t\thotCurrentParents = [];\n \t\t\t}\n \t\t\treturn __webpack_require__(request);\n \t\t};\n \t\tvar ObjectFactory = function ObjectFactory(name) {\n \t\t\treturn {\n \t\t\t\tconfigurable: true,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: function() {\n \t\t\t\t\treturn __webpack_require__[name];\n \t\t\t\t},\n \t\t\t\tset: function(value) {\n \t\t\t\t\t__webpack_require__[name] = value;\n \t\t\t\t}\n \t\t\t};\n \t\t};\n \t\tfor (var name in __webpack_require__) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(__webpack_require__, name) &&\n \t\t\t\tname !== \"e\" &&\n \t\t\t\tname !== \"t\"\n \t\t\t) {\n \t\t\t\tObject.defineProperty(fn, name, ObjectFactory(name));\n \t\t\t}\n \t\t}\n \t\tfn.e = function(chunkId) {\n \t\t\tif (hotStatus === \"ready\") hotSetStatus(\"prepare\");\n \t\t\thotChunksLoading++;\n \t\t\treturn __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {\n \t\t\t\tfinishChunkLoading();\n \t\t\t\tthrow err;\n \t\t\t});\n\n \t\t\tfunction finishChunkLoading() {\n \t\t\t\thotChunksLoading--;\n \t\t\t\tif (hotStatus === \"prepare\") {\n \t\t\t\t\tif (!hotWaitingFilesMap[chunkId]) {\n \t\t\t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t\t\t}\n \t\t\t\t\tif (hotChunksLoading === 0 && hotWaitingFiles === 0) {\n \t\t\t\t\t\thotUpdateDownloaded();\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t};\n \t\tfn.t = function(value, mode) {\n \t\t\tif (mode & 1) value = fn(value);\n \t\t\treturn __webpack_require__.t(value, mode & ~1);\n \t\t};\n \t\treturn fn;\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateModule(moduleId) {\n \t\tvar hot = {\n \t\t\t// private stuff\n \t\t\t_acceptedDependencies: {},\n \t\t\t_declinedDependencies: {},\n \t\t\t_selfAccepted: false,\n \t\t\t_selfDeclined: false,\n \t\t\t_selfInvalidated: false,\n \t\t\t_disposeHandlers: [],\n \t\t\t_main: hotCurrentChildModule !== moduleId,\n\n \t\t\t// Module API\n \t\t\tactive: true,\n \t\t\taccept: function(dep, callback) {\n \t\t\t\tif (dep === undefined) hot._selfAccepted = true;\n \t\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function() {};\n \t\t\t\telse hot._acceptedDependencies[dep] = callback || function() {};\n \t\t\t},\n \t\t\tdecline: function(dep) {\n \t\t\t\tif (dep === undefined) hot._selfDeclined = true;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n \t\t\t\telse hot._declinedDependencies[dep] = true;\n \t\t\t},\n \t\t\tdispose: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\taddDisposeHandler: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\tremoveDisposeHandler: function(callback) {\n \t\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n \t\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n \t\t\t},\n \t\t\tinvalidate: function() {\n \t\t\t\tthis._selfInvalidated = true;\n \t\t\t\tswitch (hotStatus) {\n \t\t\t\t\tcase \"idle\":\n \t\t\t\t\t\thotUpdate = {};\n \t\t\t\t\t\thotUpdate[moduleId] = modules[moduleId];\n \t\t\t\t\t\thotSetStatus(\"ready\");\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"ready\":\n \t\t\t\t\t\thotApplyInvalidatedModule(moduleId);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"prepare\":\n \t\t\t\t\tcase \"check\":\n \t\t\t\t\tcase \"dispose\":\n \t\t\t\t\tcase \"apply\":\n \t\t\t\t\t\t(hotQueuedInvalidatedModules =\n \t\t\t\t\t\t\thotQueuedInvalidatedModules || []).push(moduleId);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tdefault:\n \t\t\t\t\t\t// ignore requests in error states\n \t\t\t\t\t\tbreak;\n \t\t\t\t}\n \t\t\t},\n\n \t\t\t// Management API\n \t\t\tcheck: hotCheck,\n \t\t\tapply: hotApply,\n \t\t\tstatus: function(l) {\n \t\t\t\tif (!l) return hotStatus;\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\taddStatusHandler: function(l) {\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\tremoveStatusHandler: function(l) {\n \t\t\t\tvar idx = hotStatusHandlers.indexOf(l);\n \t\t\t\tif (idx >= 0) hotStatusHandlers.splice(idx, 1);\n \t\t\t},\n\n \t\t\t//inherit from previous dispose call\n \t\t\tdata: hotCurrentModuleData[moduleId]\n \t\t};\n \t\thotCurrentChildModule = undefined;\n \t\treturn hot;\n \t}\n\n \tvar hotStatusHandlers = [];\n \tvar hotStatus = \"idle\";\n\n \tfunction hotSetStatus(newStatus) {\n \t\thotStatus = newStatus;\n \t\tfor (var i = 0; i < hotStatusHandlers.length; i++)\n \t\t\thotStatusHandlers[i].call(null, newStatus);\n \t}\n\n \t// while downloading\n \tvar hotWaitingFiles = 0;\n \tvar hotChunksLoading = 0;\n \tvar hotWaitingFilesMap = {};\n \tvar hotRequestedFilesMap = {};\n \tvar hotAvailableFilesMap = {};\n \tvar hotDeferred;\n\n \t// The update info\n \tvar hotUpdate, hotUpdateNewHash, hotQueuedInvalidatedModules;\n\n \tfunction toModuleId(id) {\n \t\tvar isNumber = +id + \"\" === id;\n \t\treturn isNumber ? +id : id;\n \t}\n\n \tfunction hotCheck(apply) {\n \t\tif (hotStatus !== \"idle\") {\n \t\t\tthrow new Error(\"check() is only allowed in idle status\");\n \t\t}\n \t\thotApplyOnUpdate = apply;\n \t\thotSetStatus(\"check\");\n \t\treturn hotDownloadManifest(hotRequestTimeout).then(function(update) {\n \t\t\tif (!update) {\n \t\t\t\thotSetStatus(hotApplyInvalidatedModules() ? \"ready\" : \"idle\");\n \t\t\t\treturn null;\n \t\t\t}\n \t\t\thotRequestedFilesMap = {};\n \t\t\thotWaitingFilesMap = {};\n \t\t\thotAvailableFilesMap = update.c;\n \t\t\thotUpdateNewHash = update.h;\n\n \t\t\thotSetStatus(\"prepare\");\n \t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\thotDeferred = {\n \t\t\t\t\tresolve: resolve,\n \t\t\t\t\treject: reject\n \t\t\t\t};\n \t\t\t});\n \t\t\thotUpdate = {};\n \t\t\tvar chunkId = 8;\n \t\t\t// eslint-disable-next-line no-lone-blocks\n \t\t\t{\n \t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t}\n \t\t\tif (\n \t\t\t\thotStatus === \"prepare\" &&\n \t\t\t\thotChunksLoading === 0 &&\n \t\t\t\thotWaitingFiles === 0\n \t\t\t) {\n \t\t\t\thotUpdateDownloaded();\n \t\t\t}\n \t\t\treturn promise;\n \t\t});\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotAddUpdateChunk(chunkId, moreModules) {\n \t\tif (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])\n \t\t\treturn;\n \t\thotRequestedFilesMap[chunkId] = false;\n \t\tfor (var moduleId in moreModules) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\thotUpdate[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif (--hotWaitingFiles === 0 && hotChunksLoading === 0) {\n \t\t\thotUpdateDownloaded();\n \t\t}\n \t}\n\n \tfunction hotEnsureUpdateChunk(chunkId) {\n \t\tif (!hotAvailableFilesMap[chunkId]) {\n \t\t\thotWaitingFilesMap[chunkId] = true;\n \t\t} else {\n \t\t\thotRequestedFilesMap[chunkId] = true;\n \t\t\thotWaitingFiles++;\n \t\t\thotDownloadUpdateChunk(chunkId);\n \t\t}\n \t}\n\n \tfunction hotUpdateDownloaded() {\n \t\thotSetStatus(\"ready\");\n \t\tvar deferred = hotDeferred;\n \t\thotDeferred = null;\n \t\tif (!deferred) return;\n \t\tif (hotApplyOnUpdate) {\n \t\t\t// Wrap deferred object in Promise to mark it as a well-handled Promise to\n \t\t\t// avoid triggering uncaught exception warning in Chrome.\n \t\t\t// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666\n \t\t\tPromise.resolve()\n \t\t\t\t.then(function() {\n \t\t\t\t\treturn hotApply(hotApplyOnUpdate);\n \t\t\t\t})\n \t\t\t\t.then(\n \t\t\t\t\tfunction(result) {\n \t\t\t\t\t\tdeferred.resolve(result);\n \t\t\t\t\t},\n \t\t\t\t\tfunction(err) {\n \t\t\t\t\t\tdeferred.reject(err);\n \t\t\t\t\t}\n \t\t\t\t);\n \t\t} else {\n \t\t\tvar outdatedModules = [];\n \t\t\tfor (var id in hotUpdate) {\n \t\t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\t\toutdatedModules.push(toModuleId(id));\n \t\t\t\t}\n \t\t\t}\n \t\t\tdeferred.resolve(outdatedModules);\n \t\t}\n \t}\n\n \tfunction hotApply(options) {\n \t\tif (hotStatus !== \"ready\")\n \t\t\tthrow new Error(\"apply() is only allowed in ready status\");\n \t\toptions = options || {};\n \t\treturn hotApplyInternal(options);\n \t}\n\n \tfunction hotApplyInternal(options) {\n \t\thotApplyInvalidatedModules();\n\n \t\tvar cb;\n \t\tvar i;\n \t\tvar j;\n \t\tvar module;\n \t\tvar moduleId;\n\n \t\tfunction getAffectedStuff(updateModuleId) {\n \t\t\tvar outdatedModules = [updateModuleId];\n \t\t\tvar outdatedDependencies = {};\n\n \t\t\tvar queue = outdatedModules.map(function(id) {\n \t\t\t\treturn {\n \t\t\t\t\tchain: [id],\n \t\t\t\t\tid: id\n \t\t\t\t};\n \t\t\t});\n \t\t\twhile (queue.length > 0) {\n \t\t\t\tvar queueItem = queue.pop();\n \t\t\t\tvar moduleId = queueItem.id;\n \t\t\t\tvar chain = queueItem.chain;\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (\n \t\t\t\t\t!module ||\n \t\t\t\t\t(module.hot._selfAccepted && !module.hot._selfInvalidated)\n \t\t\t\t)\n \t\t\t\t\tcontinue;\n \t\t\t\tif (module.hot._selfDeclined) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"self-declined\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tif (module.hot._main) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"unaccepted\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n \t\t\t\t\tvar parentId = module.parents[i];\n \t\t\t\t\tvar parent = installedModules[parentId];\n \t\t\t\t\tif (!parent) continue;\n \t\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n \t\t\t\t\t\treturn {\n \t\t\t\t\t\t\ttype: \"declined\",\n \t\t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\tparentId: parentId\n \t\t\t\t\t\t};\n \t\t\t\t\t}\n \t\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n \t\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n \t\t\t\t\t\tif (!outdatedDependencies[parentId])\n \t\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n \t\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n \t\t\t\t\t\tcontinue;\n \t\t\t\t\t}\n \t\t\t\t\tdelete outdatedDependencies[parentId];\n \t\t\t\t\toutdatedModules.push(parentId);\n \t\t\t\t\tqueue.push({\n \t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\tid: parentId\n \t\t\t\t\t});\n \t\t\t\t}\n \t\t\t}\n\n \t\t\treturn {\n \t\t\t\ttype: \"accepted\",\n \t\t\t\tmoduleId: updateModuleId,\n \t\t\t\toutdatedModules: outdatedModules,\n \t\t\t\toutdatedDependencies: outdatedDependencies\n \t\t\t};\n \t\t}\n\n \t\tfunction addAllToSet(a, b) {\n \t\t\tfor (var i = 0; i < b.length; i++) {\n \t\t\t\tvar item = b[i];\n \t\t\t\tif (a.indexOf(item) === -1) a.push(item);\n \t\t\t}\n \t\t}\n\n \t\t// at begin all updates modules are outdated\n \t\t// the \"outdated\" status can propagate to parents if they don't accept the children\n \t\tvar outdatedDependencies = {};\n \t\tvar outdatedModules = [];\n \t\tvar appliedUpdate = {};\n\n \t\tvar warnUnexpectedRequire = function warnUnexpectedRequire() {\n \t\t\tconsole.warn(\n \t\t\t\t\"[HMR] unexpected require(\" + result.moduleId + \") to disposed module\"\n \t\t\t);\n \t\t};\n\n \t\tfor (var id in hotUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\tmoduleId = toModuleId(id);\n \t\t\t\t/** @type {TODO} */\n \t\t\t\tvar result;\n \t\t\t\tif (hotUpdate[id]) {\n \t\t\t\t\tresult = getAffectedStuff(moduleId);\n \t\t\t\t} else {\n \t\t\t\t\tresult = {\n \t\t\t\t\t\ttype: \"disposed\",\n \t\t\t\t\t\tmoduleId: id\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\t/** @type {Error|false} */\n \t\t\t\tvar abortError = false;\n \t\t\t\tvar doApply = false;\n \t\t\t\tvar doDispose = false;\n \t\t\t\tvar chainInfo = \"\";\n \t\t\t\tif (result.chain) {\n \t\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n \t\t\t\t}\n \t\t\t\tswitch (result.type) {\n \t\t\t\t\tcase \"self-declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\t\" in \" +\n \t\t\t\t\t\t\t\t\tresult.parentId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"unaccepted\":\n \t\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n \t\t\t\t\t\tif (!options.ignoreUnaccepted)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"accepted\":\n \t\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n \t\t\t\t\t\tdoApply = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"disposed\":\n \t\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n \t\t\t\t\t\tdoDispose = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tdefault:\n \t\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n \t\t\t\t}\n \t\t\t\tif (abortError) {\n \t\t\t\t\thotSetStatus(\"abort\");\n \t\t\t\t\treturn Promise.reject(abortError);\n \t\t\t\t}\n \t\t\t\tif (doApply) {\n \t\t\t\t\tappliedUpdate[moduleId] = hotUpdate[moduleId];\n \t\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n \t\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n \t\t\t\t\t\tif (\n \t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n \t\t\t\t\t\t\t\tresult.outdatedDependencies,\n \t\t\t\t\t\t\t\tmoduleId\n \t\t\t\t\t\t\t)\n \t\t\t\t\t\t) {\n \t\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n \t\t\t\t\t\t\taddAllToSet(\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n \t\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t\tif (doDispose) {\n \t\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n \t\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Store self accepted outdated modules to require them later by the module system\n \t\tvar outdatedSelfAcceptedModules = [];\n \t\tfor (i = 0; i < outdatedModules.length; i++) {\n \t\t\tmoduleId = outdatedModules[i];\n \t\t\tif (\n \t\t\t\tinstalledModules[moduleId] &&\n \t\t\t\tinstalledModules[moduleId].hot._selfAccepted &&\n \t\t\t\t// removed self-accepted modules should not be required\n \t\t\t\tappliedUpdate[moduleId] !== warnUnexpectedRequire &&\n \t\t\t\t// when called invalidate self-accepting is not possible\n \t\t\t\t!installedModules[moduleId].hot._selfInvalidated\n \t\t\t) {\n \t\t\t\toutdatedSelfAcceptedModules.push({\n \t\t\t\t\tmodule: moduleId,\n \t\t\t\t\tparents: installedModules[moduleId].parents.slice(),\n \t\t\t\t\terrorHandler: installedModules[moduleId].hot._selfAccepted\n \t\t\t\t});\n \t\t\t}\n \t\t}\n\n \t\t// Now in \"dispose\" phase\n \t\thotSetStatus(\"dispose\");\n \t\tObject.keys(hotAvailableFilesMap).forEach(function(chunkId) {\n \t\t\tif (hotAvailableFilesMap[chunkId] === false) {\n \t\t\t\thotDisposeChunk(chunkId);\n \t\t\t}\n \t\t});\n\n \t\tvar idx;\n \t\tvar queue = outdatedModules.slice();\n \t\twhile (queue.length > 0) {\n \t\t\tmoduleId = queue.pop();\n \t\t\tmodule = installedModules[moduleId];\n \t\t\tif (!module) continue;\n\n \t\t\tvar data = {};\n\n \t\t\t// Call dispose handlers\n \t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n \t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n \t\t\t\tcb = disposeHandlers[j];\n \t\t\t\tcb(data);\n \t\t\t}\n \t\t\thotCurrentModuleData[moduleId] = data;\n\n \t\t\t// disable module (this disables requires from this module)\n \t\t\tmodule.hot.active = false;\n\n \t\t\t// remove module from cache\n \t\t\tdelete installedModules[moduleId];\n\n \t\t\t// when disposing there is no need to call dispose handler\n \t\t\tdelete outdatedDependencies[moduleId];\n\n \t\t\t// remove \"parents\" references from all children\n \t\t\tfor (j = 0; j < module.children.length; j++) {\n \t\t\t\tvar child = installedModules[module.children[j]];\n \t\t\t\tif (!child) continue;\n \t\t\t\tidx = child.parents.indexOf(moduleId);\n \t\t\t\tif (idx >= 0) {\n \t\t\t\t\tchild.parents.splice(idx, 1);\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// remove outdated dependency from module children\n \t\tvar dependency;\n \t\tvar moduleOutdatedDependencies;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n \t\t\t\t\t\tidx = module.children.indexOf(dependency);\n \t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Now in \"apply\" phase\n \t\thotSetStatus(\"apply\");\n\n \t\tif (hotUpdateNewHash !== undefined) {\n \t\t\thotCurrentHash = hotUpdateNewHash;\n \t\t\thotUpdateNewHash = undefined;\n \t\t}\n \t\thotUpdate = undefined;\n\n \t\t// insert new code\n \t\tfor (moduleId in appliedUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {\n \t\t\t\tmodules[moduleId] = appliedUpdate[moduleId];\n \t\t\t}\n \t\t}\n\n \t\t// call accept handlers\n \t\tvar error = null;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tvar callbacks = [];\n \t\t\t\t\tfor (i = 0; i < moduleOutdatedDependencies.length; i++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[i];\n \t\t\t\t\t\tcb = module.hot._acceptedDependencies[dependency];\n \t\t\t\t\t\tif (cb) {\n \t\t\t\t\t\t\tif (callbacks.indexOf(cb) !== -1) continue;\n \t\t\t\t\t\t\tcallbacks.push(cb);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t\tfor (i = 0; i < callbacks.length; i++) {\n \t\t\t\t\t\tcb = callbacks[i];\n \t\t\t\t\t\ttry {\n \t\t\t\t\t\t\tcb(moduleOutdatedDependencies);\n \t\t\t\t\t\t} catch (err) {\n \t\t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n \t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\t\tdependencyId: moduleOutdatedDependencies[i],\n \t\t\t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t\t\t});\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Load self accepted modules\n \t\tfor (i = 0; i < outdatedSelfAcceptedModules.length; i++) {\n \t\t\tvar item = outdatedSelfAcceptedModules[i];\n \t\t\tmoduleId = item.module;\n \t\t\thotCurrentParents = item.parents;\n \t\t\thotCurrentChildModule = moduleId;\n \t\t\ttry {\n \t\t\t\t__webpack_require__(moduleId);\n \t\t\t} catch (err) {\n \t\t\t\tif (typeof item.errorHandler === \"function\") {\n \t\t\t\t\ttry {\n \t\t\t\t\t\titem.errorHandler(err);\n \t\t\t\t\t} catch (err2) {\n \t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n \t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\terror: err2,\n \t\t\t\t\t\t\t\toriginalError: err\n \t\t\t\t\t\t\t});\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\tif (!error) error = err2;\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\ttype: \"self-accept-errored\",\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t});\n \t\t\t\t\t}\n \t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// handle errors in accept handlers and self accepted module load\n \t\tif (error) {\n \t\t\thotSetStatus(\"fail\");\n \t\t\treturn Promise.reject(error);\n \t\t}\n\n \t\tif (hotQueuedInvalidatedModules) {\n \t\t\treturn hotApplyInternal(options).then(function(list) {\n \t\t\t\toutdatedModules.forEach(function(moduleId) {\n \t\t\t\t\tif (list.indexOf(moduleId) < 0) list.push(moduleId);\n \t\t\t\t});\n \t\t\t\treturn list;\n \t\t\t});\n \t\t}\n\n \t\thotSetStatus(\"idle\");\n \t\treturn new Promise(function(resolve) {\n \t\t\tresolve(outdatedModules);\n \t\t});\n \t}\n\n \tfunction hotApplyInvalidatedModules() {\n \t\tif (hotQueuedInvalidatedModules) {\n \t\t\tif (!hotUpdate) hotUpdate = {};\n \t\t\thotQueuedInvalidatedModules.forEach(hotApplyInvalidatedModule);\n \t\t\thotQueuedInvalidatedModules = undefined;\n \t\t\treturn true;\n \t\t}\n \t}\n\n \tfunction hotApplyInvalidatedModule(moduleId) {\n \t\tif (!Object.prototype.hasOwnProperty.call(hotUpdate, moduleId))\n \t\t\thotUpdate[moduleId] = modules[moduleId];\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {},\n \t\t\thot: hotCreateModule(moduleId),\n \t\t\tparents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),\n \t\t\tchildren: []\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// __webpack_hash__\n \t__webpack_require__.h = function() { return hotCurrentHash; };\n\n\n \t// Load entry module and return exports\n \treturn hotCreateRequire(11)(__webpack_require__.s = 11);\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const getUrlParameterByName = function(name, url) {\n // http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)'),\n results = regex.exec(url);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n};\n\nconst handleThrTrackArray = (url, type) => {\n const trackingTag = document.createElement(type);\n trackingTag.src = url;\n if (type === 'img') {\n trackingTag.width = '0px';\n trackingTag.height = '0px';\n trackingTag.style = 'display:none';\n }\n document.body.appendChild(trackingTag);\n}\n\nconst identifyTrackingType = rawTrackingType => {\n var trackingTypeNumber = rawTrackingType.split('=')[1];\n var trackingType = '';\n switch (trackingTypeNumber) {\n case '0':\n trackingType = 'img';\n break;\n case '1':\n trackingType = 'js';\n break;\n default:\n break;\n }\n return trackingType;\n};\n\nexport const tracking_code = () => {\n \n var thrTrackArray = getUrlParameterByName('thr_track_array', window.location.toString());\n var imgUrl = getUrlParameterByName('3_p_t_c', window.location.toString());\n var multipleTracking = getUrlParameterByName('3_p_t_c_n', window.location.toString());\n \n if (thrTrackArray) {\n\n const thrTrackObj = JSON.parse(thrTrackArray);\n Object.keys(thrTrackObj).forEach(key => {\n switch(key) {\n case 'urls':\n thrTrackObj[key].forEach(item => {\n handleThrTrackArray(item, 'img');\n });\n break;\n case 'jsUrls':\n thrTrackObj[key].forEach(item => {\n handleThrTrackArray(item, 'script');\n });\n break;\n }\n });\n return;\n }\n if (imgUrl) {\n document.getElementsByTagName('body')[0].innerHTML += imgUrl;\n } else if (multipleTracking) {\n var trackingList = multipleTracking.split(',');\n for (var i = 0; i < trackingList.length; i++) {\n var trackingElement = trackingList[i].split(';')\n var trackingType = identifyTrackingType(trackingElement[0])\n var trackingUrl = decodeURIComponent(trackingElement[1])\n\n if (trackingType === 'img') {\n handleThrTrackArray(trackingUrl, 'img');\n } else if (trackingType === 'js') {\n handleThrTrackArray(trackingUrl, 'script');\n } else {\n console.log('Unknown Tracking Type')\n }\n }\n }\n };\n\n export const initialMraid = () => {\n const mraid = (window.mraid = {\n addEventListener: (event, listener) => {\n console.log(`[support] mraid.addEventListener event: ${event}`);\n if (!event || !listener) {\n console.log(`[support] Event and listener are required fields. 'addEventListener(${event})'`);\n } else if (!contains(event, mraid.EVENTS)) {\n console.log(`[support] no such event: ${event}, 'addEventListener'`);\n } else {\n let handlers = mraid.eventListeners[event];\n if (handlers === undefined) {\n // no handlers defined yet, set it up\n mraid.eventListeners[event] = [];\n handlers = mraid.eventListeners[event];\n }\n \n // see if the listener is already present\n for (let handler in handlers) {\n if (listener === handler) {\n // listener already present, nothing to do\n return;\n }\n }\n // not present yet, go ahead and add it\n handlers.push(listener);\n }\n },\n fireOnShowEvent: () => {\n console.log('[support] mraid.fireOnShowEvent');\n const handlers = mraid.eventListeners[mraid.EVENTS.ON_SHOW];\n if (handlers !== undefined) {\n for (let i = 0; i < handlers.length; i++) {\n handlers[i]();\n }\n }\n },\n fireReadyEvent: () => {\n console.log('[support] mraid.fireReadyEvent');\n const handlers = mraid.eventListeners[mraid.EVENTS.READY];\n if (handlers !== undefined) {\n for (let i = 0; i < handlers.length; i++) {\n handlers[i]();\n }\n }\n },\n setExpandProperties: ({ useCustomClose }) => {\n mraid.expandProperties = {\n useCustomClose,\n };\n },\n removeEventListener: (event, listener) => {\n console.log(`[support] mraid.removeEventListener[${event}]`);\n //fix removeEventListener not work\n const handlers = mraid.eventListeners[event];\n \n if (handlers !== undefined) {\n const index = handlers.indexOf(listener);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n }\n },\n isSDK: () => true,\n click: () => {\n console.log('[support] dispatch.click invoked!!');\n _vpon_android.click();\n },\n close: () => {\n console.log('[support] dispatch.close invoked!!');\n _vpon_android.close();\n },\n open: url => {\n console.log('[support] dispatch.open invoked!!');\n _vpon_android.open(url);\n },\n fireExposureChangeEvent: (exposedPercentage, visibleRectangle, occlusionRectangles = null) => {\n console.log('[support] mraid.fireExposureChangeEvent');\n mraid.exposureProperties = {\n ...mraid.exposureProperties,\n exposedPercentage,\n visibleRectangle,\n occlusionRectangles,\n };\n const handlers = mraid.eventListeners[mraid.EVENTS.EXPOSURE_CHANGE];\n if (handlers !== undefined) {\n for (let i = 0; i < handlers.length; i++) {\n handlers[i](\n mraid.exposureProperties.exposedPercentage,\n mraid.exposureProperties.visibleRectangle,\n mraid.exposureProperties.occlusionRectangles\n );\n }\n }\n },\n orientationProperties: {\n allowOrientationChange: true,\n forceOrientation: 'none',\n },\n expandProperties: {\n useCustomClose: false,\n },\n exposureProperties: {\n exposedPercentage: 0,\n visibleRectangle: {},\n occlusionRectangles: null,\n },\n eventListeners: {},\n STATES: {\n LOADING: 'loading',\n DEFAULT: 'default',\n EXPANDED: 'expanded',\n RESIZED: 'resized',\n HIDDEN: 'hidden',\n },\n EVENTS: {\n READY: 'ready',\n ON_SHOW: 'onshow',\n EXPOSURE_CHANGE: 'exposureChange',\n },\n });\n const _internal_android = (window._internal_android = {\n onExposureChange: (exposedPercentage, visibleRectangle) => {\n mraid.exposureProperties = {\n ...mraid.exposureProperties,\n exposedPercentage,\n visibleRectangle,\n };\n mraid.fireExposureChangeEvent(exposedPercentage, visibleRectangle);\n },\n });\n };","export const noticeExposureChange = cb => {\n function receiveMessageFromIndex(event) {\n const { intersectionRatio } = event.data;\n if (intersectionRatio === undefined) return;\n cb(parseInt(intersectionRatio * 100));\n }\n window.addEventListener('message', receiveMessageFromIndex, false);\n};\n\nexport const noticeImpression = cb => {\n const receiveMessageFromIndex = ({ data }) => {\n const { isImpression, viewPercent } = data;\n if (isImpression) {\n cb(viewPercent);\n }\n };\n window.addEventListener('message', receiveMessageFromIndex, false);\n};\n\nexport const noticeExpandProperties = state => {\n parent.postMessage({ type: 'expandProperties', useCustomClose: state }, '*');\n};\n\nconst adInfo = [\n {\n name: 'initPostion',\n css: {\n width: '100%',\n height: '45vw',\n position: 'fixed',\n bottom: '0px',\n left: '0px',\n padding: '0px',\n display: 'none',\n 'z-index': '9999998',\n },\n },\n];\n\nexport const initialInfo = (info = adInfo) => {\n try {\n for (let i = 0; i < info.length; i++) {\n const name = info[i].name;\n switch (name) {\n case 'initPostion':\n if (info[i].css) {\n window.parent.postMessage({ event: name, style: info[i].css }, '*');\n } else {\n console.warn('initPostion css does not exist');\n }\n break;\n case 'expand':\n case 'collapse':\n _adCss[name] = info[i].css;\n break;\n case 'creative':\n vpsdk._creativeData = info[i].creativeData;\n break;\n default:\n console.warn(name);\n }\n }\n } catch (error) {\n console.log(error);\n }\n};\n","// Rectangle: { x: Int, y: Int, width: Int, height: Int }\n// Rectangle -> Rectangle -> Rectangle -> Rectangle\nconst mapToNative = (adViewNativeRectangle, adViewRectangle, srcRectangle) => {\n console.log(`[mapToNative] ${JSON.stringify({ adViewNativeRectangle, adViewRectangle, srcRectangle })}`)\n const offsetX = adViewNativeRectangle.x - adViewRectangle.x;\n const offsetY = adViewNativeRectangle.y - adViewRectangle.y;\n const rateWidth = adViewNativeRectangle.width / adViewRectangle.width;\n const rateHeight = adViewNativeRectangle.height / adViewRectangle.height;\n \n const nativeRect = {\n x: srcRectangle.x + offsetX,\n y: srcRectangle.y + offsetY,\n width: srcRectangle.width * rateWidth,\n height: srcRectangle.height * rateHeight,\n };\n console.log(`[mapToNative] ${JSON.stringify({ nativeRect })}`)\n return nativeRect\n};\n\n// Rectangle -> Rectangle -> Double\nconst coverageRate = (onScreenRect, videoRect) => {\n console.log(`[coverageRate] ${JSON.stringify({ onScreenRect, videoRect })}`)\n const screenP1 = {\n x: onScreenRect.x,\n y: onScreenRect.y,\n };\n const screenP3 = {\n x: onScreenRect.x + onScreenRect.width,\n y: onScreenRect.y + onScreenRect.height,\n };\n const videoP1 = {\n x: videoRect.x,\n y: videoRect.y,\n };\n const videoP3 = {\n x: videoRect.x + videoRect.width,\n y: videoRect.y + videoRect.height,\n };\n if (\n videoP1.x <= screenP3.x &&\n videoP1.y <= screenP3.y &&\n videoP3.x >= screenP1.x &&\n videoP3.y >= screenP1.y\n ) {\n const p1 = {\n x: videoP1.x >= screenP1.x ? videoP1.x : screenP1.x,\n y: videoP1.y >= screenP1.y ? videoP1.y : screenP1.y,\n };\n const p3 = {\n x: videoP3.x <= screenP3.x ? videoP3.x : screenP3.x,\n y: videoP3.y <= screenP3.y ? videoP3.y : screenP3.y,\n };\n const w = p3.x - p1.x;\n const h = p3.y - p1.y;\n return (w * h) / (videoRect.width * videoRect.height) * 100;\n } else {\n return 0;\n }\n};\n\nexport {\n mapToNative,\n coverageRate,\n};\n","import { noticeExposureChange, noticeImpression, noticeExpandProperties, initialInfo } from './webSupport';\nimport { tracking_code } from './reuses/legacy';\nimport { mapToNative, coverageRate } from './utils/coverageRate';\n\nwindow.VPADN = window.VPADN || {};\nVPADN.messagePort = VPADN.messagePort || null;\nconst serviceList = {\n viewableDetection: {\n enable: false\n }\n};\nlet messageQueue = [];\n\nwindow.addEventListener(\"message\", function (event) {\n let { messagePort } = VPADN;\n const { event: eventName, source, subtype } = event.data;\n\n if (source === 'vpadnAdSdk') {\n if (eventName === 'vpadnInternalBridgeConnect' && event.ports && event.ports.length) {\n VPADN.messagePort = event.ports[0];\n VPADN.subtype = subtype;\n sendMessageToAdSdk({source: 'vpadnSupport', event: 'vpadnInternalBridgeConnected'});\n return;\n }\n\n if (messagePort) {\n receiveMessageByAdSdk(event);\n }\n }\n});\n\nfunction sendMessageToAdSdk(messageObj) {\n const { messagePort } = VPADN;\n\n if (messagePort) {\n if (messageQueue && messageQueue.length) {\n messageQueue.forEach(messageObj => {\n messagePort.postMessage(messageObj);\n });\n messageQueue = [];\n }\n\n messagePort.postMessage(messageObj);\n return;\n }\n\n messageQueue.push(messageObj);\n}\n\nfunction receiveMessageByAdSdk(event) {\n const { event: eventName } = event.data;\n\n if (eventName === 'askCreativeEnv') {\n sendMessageToAdSdk({source: 'vpadnSupport', event: 'answerCreativeEnv', env: window.mraid ? 'app' : 'web'});\n }\n\n if (eventName === 'registMraidExposureChange') {\n mraid.addEventListener('exposureChange', function(exposedPercentage) {\n sendMessageToAdSdk({source: 'vpadnSupport', event: 'mraidExposureChange', exposedPercentage});\n });\n }\n\n if (eventName === 'boardcastViewPercent') {\n const { viewableDetectionInfo } = event.data;\n serviceList.viewableDetection.data = viewableDetectionInfo;\n if (serviceList.viewableDetection.enable) {\n calculateIntersectionPercent();\n }\n }\n}\n\nfunction calculateIntersectionPercent() {\n const { cb, target, data } = serviceList.viewableDetection;\n const { intersectionPercent, intersectionRect, iframePosition } = data;\n const targetRect = target.getBoundingClientRect();\n const rootPosition = {\n top: intersectionRect.top - iframePosition.y,\n bottom: intersectionRect.bottom - iframePosition.y\n };\n\n if (intersectionPercent === 0 || intersectionPercent === 100) {\n cb(intersectionPercent);\n return;\n }\n\n if (rootPosition.top >= targetRect.bottom || rootPosition.bottom <= targetRect.top) {\n cb(0);\n return;\n }\n\n const intersectionPosition = {\n top: Math.max(rootPosition.top, targetRect.top),\n bottom: Math.min(rootPosition.bottom, targetRect.bottom)\n };\n\n const viewPercent = ((intersectionPosition.bottom - intersectionPosition.top) * 100) / targetRect.height;\n cb(viewPercent);\n}\n\nconst support = (window.support = (() => {\n let deviceType = window.mraid && window.mraid.Vponext ? 'app' : 'web';\n\n const onceArray = [];\n\n const onceCall = (eventName, funName) => {\n if (onceArray.indexOf(eventName) === -1) {\n funName();\n onceArray.push(eventName);\n }\n };\n\n const transferQueryString = process_str => {\n var query_string = {};\n var query = process_str;\n var vars = query.split('&');\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n // If first entry with this name\n if (typeof query_string[pair[0]] === 'undefined') {\n query_string[pair[0]] = decodeURIComponent(pair[1]);\n // If second entry with this name\n } else if (typeof query_string[pair[0]] === 'string') {\n var arr = [query_string[pair[0]], decodeURIComponent(pair[1])];\n query_string[pair[0]] = arr;\n // If third or later entry with this name\n } else {\n query_string[pair[0]].push(decodeURIComponent(pair[1]));\n }\n }\n return query_string;\n };\n\n const cleanCrString = urlStr => {\n var result = urlStr;\n if (urlStr.indexOf('cr={click_redir}') >= 0)\n result = urlStr\n .replace('cr={click_redir}', '')\n .replace('?&', '?')\n .replace('&&', '&');\n if (result.slice(-1) == '?' || result.slice(-1) == '&') result = result.substring(0, result.length - 1);\n return result;\n };\n\n const removeEndLs = urlStr => {\n var result = urlStr;\n if (urlStr.indexOf('&ls=') >= 0) result = urlStr.replace('&ls=', '');\n return result;\n };\n\n const transformClickUrl = click_url => {\n var no_change_msg = 'No need to modify all URL. what we do is just remove cr={click_redir}.';\n var query_str = window.location.search.substring(1);\n var query_str_arr = transferQueryString(query_str);\n var result_url;\n\n if (\n typeof query_str_arr.lnk === 'undefined' ||\n query_str_arr.lnk == 'undefined' ||\n query_str_arr.lnk == null ||\n query_str_arr.lnk == '' ||\n click_url.indexOf('cr={click_redir}') < 0\n ) {\n result_url = cleanCrString(click_url);\n\n // no need to change whole URL because\n // 1. no lnk in query string or\n // 2. no \"cr={click_redir}\" in click_url\n console.log(no_change_msg);\n return result_url;\n } else {\n var redirect_url = removeEndLs(query_str_arr.lnk);\n console.log('redirect url: ' + redirect_url);\n\n // modified only if it's after SEG 3.3.46\n result_url = cleanCrString(click_url);\n result_url = redirect_url + '&ls=' + encodeURIComponent(result_url);\n return result_url;\n }\n };\n\n const dispatchToMraid = (event, listener) => {\n switch (event) {\n case 'ready':\n if (deviceType === 'web') {\n listener();\n } else {\n mraid.addEventListener(event, listener);\n }\n break;\n case 'exposureChange':\n if (deviceType === 'web') {\n noticeExposureChange(listener);\n } else {\n mraid.addEventListener(event, listener);\n }\n break;\n case 'onshow':\n case 'onhide':\n if (deviceType !== 'web') {\n mraid.addEventListener(event, listener);\n } else {\n listener();\n }\n break;\n default:\n console.log(`[VponSupport] No ${event} keyword.`);\n }\n };\n\n const addEventListener = (event, listener) => dispatchToMraid(event, listener);\n const removeEventListener = (event, listener) => {\n try {\n deviceType !== 'web' ? mraid.removeEventListener(event, listener) : vpsdkRemoveEventListener(event, listener);\n } catch (error) {\n console.log(error);\n }\n };\n function vpsdkRemoveEventListener(eventName, listener) {\n if (eventName == 'ready') {\n document.removeEventListener('DOMContentLoaded', listener)\n } else if (eventName == 'onshow') {\n window.removeEventListener('load', listener)\n }\n }\n\n let clickEventObject = null;\n\n const click = e => {\n clickEventObject = e;\n if (deviceType !== 'web') {\n mraid.click(e);\n } else {\n vpsdkClick(undefined, undefined, null, e);\n }\n };\n function vpsdkClick() {\n function checkNaClickFirstTime(store, id) {\n if (store[id]) return false\n else return true\n }\n\n function addScriptWithTimeStamp(url) {\n var script = document.createElement('script')\n script.src = url + \"×tamp=\" + new Date().getMilliseconds();\n document.body.appendChild(script)\n }\n\n function postByNavigatorWithTimeStamp(url) {\n navigator.sendBeacon(url + \"×tamp=\" + new Date().getMilliseconds());\n }\n\n function setClickPosition({ clientX, clientY }, clickUrl) {\n let result = clickUrl.replace('clk_x=-1&clk_y=-1', `clk_x=${clientX}&clk_y=${clientY}`);\n return result;\n }\n\n var isFirstTimeSendClick = true;\n var clickStorage = {}\n /**\n * @param {JSONObject} configParams\n * @param {string} configParams.clickUrl\n * @param {number} configParams.id\n */\n return (function (completeCallback, errorCallback, configParams, event) {\n if (!!configParams) { // Web Native Ad\n if (checkNaClickFirstTime(clickStorage, configParams.id)) {\n clickStorage[configParams.id] = true\n //addScriptWithTimeStamp(configParams.clickUrl)\n\n if (typeof (window.navigator.sendBeacon) != \"undefined\") {\n //202102: Change Get to Post.\n postByNavigatorWithTimeStamp(configParams.clickUrl);\n }\n else {\n addScriptWithTimeStamp(configParams.clickUrl)\n }\n }\n } else { //Web ad except native ad\n var url = window.location.toString()\n var searchParams = new URLSearchParams(window.location.search);\n var clickUrl = searchParams.get('clickUrl');\n let clickUrlWithPosition = clickUrl;\n\n if (!clickUrl) {\n return;\n }\n\n //210429: Prevent macro doesn't be replaced in websdk.\n if (clickUrl.includes('clk_x=[click_x]&clk_y=[click_y]')) {\n clickUrl = clickUrl.replace(/\\[.*?\\]/g, -1);\n }\n //210419: click position works except native ad.\n if (clickUrl.includes('clk_x=-1&clk_y=-1') && !!event) {\n clickUrlWithPosition = setClickPosition(event, clickUrl);\n }\n\n if (isFirstTimeSendClick) {\n isFirstTimeSendClick = false\n // addScriptWithTimeStamp(clickUrl);\n\n if (typeof (window.navigator.sendBeacon) != \"undefined\") {\n //202102: Change Get to Post.\n postByNavigatorWithTimeStamp(clickUrlWithPosition);\n }\n else {\n addScriptWithTimeStamp(clickUrlWithPosition);\n }\n }\n }\n })();\n }\n\n const open = url => {\n if (deviceType !== 'web') {\n mraid.open(url, clickEventObject);\n } else {\n vpsdkopenBrowser(url, clickEventObject);\n }\n };\n function vpsdkopenBrowser(url, event) {\n var params = {\n u: url,\n o: 'open'\n };\n\n openBrowser(params, event);\n }\n function openBrowser(params, event) {\n const creativeView = document.querySelector('#camain') || document.body;\n const creativeRect = creativeView.getBoundingClientRect();\n const closeBtn = document.querySelector('a[id$=\"_close\"]');\n let clickPositionObj = {\n clickPositionX: (((event.clientX - creativeRect.x) / creativeRect.width) * 100).toFixed(2),\n clickPositionY: (((event.clientY - creativeRect.y) / creativeRect.height) * 100).toFixed(2)\n }\n if (closeBtn) {\n const closeBtnRect = closeBtn.getBoundingClientRect();\n clickPositionObj = {\n ...clickPositionObj,\n closeBtnX: (((closeBtnRect.x - creativeRect.x) / creativeRect.width) * 100).toFixed(2),\n closeBtnY: (((closeBtnRect.y - creativeRect.y) / creativeRect.height) * 100).toFixed(2)\n }\n }\n\n function checkWhetherNativeByLnk(lnk) {\n const searchParams = new URLSearchParams(new URL(lnk).search);\n return searchParams.get('vponOpenTab') && searchParams.get('vponClickAction');\n }\n \n // Web Native Ad will pass the openTab & clickaction information by appending parameters in the query string\n var nativeOpenTab = ''\n var nativeClickAction = ''\n if (checkWhetherNativeByLnk(params.u)) {\n const searchParams = new URLSearchParams(new URL(params.u).search);\n nativeOpenTab = searchParams.get('vponOpenTab')\n nativeClickAction = searchParams.get('vponClickAction')\n params.u = params.u.slice(0, (params.u).indexOf('&vponOpenTab='))\n }\n\n const urlSearchParams = new URLSearchParams(location.search);\n\n if ((urlSearchParams.get('subtype') && urlSearchParams.get('subtype') === 'ulrec') || urlSearchParams.get('t') && urlSearchParams.get('t') === 'ulrec') {\n window.top.postMessage({\n event: 'openBrowser',\n data: {\n clickPosition: clickPositionObj,\n landing: params.u\n }\n }, '*');\n } else {\n window.parent.postMessage({\n event: 'openBrowser',\n data: {\n clickPosition: clickPositionObj,\n landing: params.u\n }\n }, '*');\n }\n }\n \n const close = (e) => {\n e.stopPropagation();\n try {\n if (deviceType === 'web') {\n window.parent.postMessage({\n event: 'supportClose'\n }, '*');\n } else {\n mraid.close();\n }\n } catch (error) {\n console.log(error);\n }\n };\n const setExpandProperties = ({ useCustomClose }) => {\n try {\n if (deviceType === 'web') {\n noticeExpandProperties(useCustomClose);\n return;\n }\n\n mraid.setExpandProperties({\n useCustomClose: useCustomClose\n });\n } catch (error) {\n console.log(error);\n }\n };\n const setOrientationProperties = properties => {\n if (typeof mraid !== 'undefined' && mraid !== null) {\n try {\n mraid.setOrientationProperties(properties);\n } catch (error) {\n console.log(error);\n }\n }\n };\n \n const fire3rdPartyTracking = () => {\n // 走 web 時 webSDK 自身會處理 3rd party tracking\n try {\n if (deviceType === 'web') return;\n tracking_code();\n } catch (error) {\n console.log(error);\n }\n };\n\n const triggerImpressionCallback = listener => {\n try {\n if (deviceType !== 'web') return;\n if (typeof listener !== 'function') {\n console.error('args is not a function');\n return;\n }\n noticeImpression(listener);\n } catch (error) {\n console.log(error);\n }\n };\n\n const viewableDetection = (id, cb) => {\n if (!id) {\n support.addEventListener('exposureChange', cb);\n return;\n }\n const video = document.querySelector(`#${id}`)\n console.log('[VponSupport] video:', video)\n if (!video) {\n console.log(`[VponSupport] viewableDetection: video Element is not existed.`)\n support.addEventListener('exposureChange', cb);\n return;\n }\n\n if (deviceType !== 'web') {\n // In-app\n console.log(`[VponSupport] viewableDetection: In-App`)\n const exposureChangeHandler = (\n exposedPercentage,\n visibleRectangle,\n occlusionRectangles = null,\n adViewRectangle = null\n ) => {\n // For backward compatable\n if (!adViewRectangle) {\n console.log(`[VponSupport] viewableDetection: adViewRectangle is null`)\n return cb(exposedPercentage)\n }\n\n const adWebRectangle = {\n x: 0,\n y: 0,\n width: document.querySelector('body').clientWidth || 1,\n height: document.querySelector('body').clientHeight || 1,\n }\n const videoWebRectangle = {\n x: video.offsetLeft || 0,\n y: video.offsetTop || 0,\n width: video.clientWidth || 1,\n height: video.clientHeight || 1,\n }\n const videoViewRectangle = mapToNative(adViewRectangle, adWebRectangle, videoWebRectangle);\n const videoViewPercent = coverageRate(visibleRectangle, videoViewRectangle)\n cb(videoViewPercent)\n }\n support.addEventListener('exposureChange', exposureChangeHandler)\n // The first time the viewableDetection is initially detected.\n exposureChangeHandler(\n mraid.exposureProperties.exposedPercentage,\n mraid.exposureProperties.visibleRectangle,\n mraid.exposureProperties.occlusionRectangles,\n mraid.exposureProperties.adViewRectangle\n )\n } else {\n // Web\n serviceList.viewableDetection = {\n ...serviceList.viewableDetection,\n enable: true,\n target: video,\n cb\n };\n }\n };\n function clickClose(e) {\n console.log('[support.js] Call support.close()');\n support.close(e);\n }\n\n /**\n * To interstitial ad, to append a default-style close button of Vpon\n * To one-of-third-ad-expansion, to append collapse and expand button\n * @param {adType}, expected one of \"int\" or \"int_30h\"\n */\n const appendDefaultISCloseBtn = (adType) => {\n console.log('[support] appendDefaultISCloseBtn invoked!!');\n if (deviceType !== 'web') {\n if(window.MRAID_ENV && window.MRAID_ENV.sdkVersion){\n console.log('[support] window.MRAID_ENV.sdkVersion : '+window.MRAID_ENV.sdkVersion);\n }\n const POLLING_INTERVAL = 50;\n const POLLING_TIMEOUT = 500;\n let pollingIntervalId = null;\n let startTime = Date.now();\n\n const checkNid = () => {\n const hasNid = window.VPADN_ENV && typeof window.VPADN_ENV.nid !== 'undefined';\n\n if (hasNid) {\n const nid = window.VPADN_ENV.nid;\n console.log(`[support] nid: ${nid} get`);\n drawDefaultISCloseBtn(adType, nid);\n clearInterval(pollingIntervalId);\n } else {\n console.log('[support] checking nid exist...');\n }\n\n if (Date.now() - startTime >= POLLING_TIMEOUT) {\n console.log('[support] maximum await time exceed use default nid ');\n drawDefaultISCloseBtn(adType, 'vpon');\n clearInterval(pollingIntervalId);\n }\n };\n\n console.log('[support] start inquiry window.VPADN_ENV.nid');\n pollingIntervalId = setInterval(checkNid, POLLING_INTERVAL);\n return;\n }\n window.parent.postMessage({ event: 'getWebSDKEnv' }, '*');\n window.addEventListener('message', (e) => {\n if (e.data.event === 'setWebSDKEnv' && e.data.data.vponTagAttrs.vpon_ad_format==='mi'\n && !e.data.data.vponTagAttrs.use_custom_close) {\n let networkId = e.data.data.vponTagAttrs.nid || 'vpon';\n drawDefaultISCloseBtn(adType, networkId);\n }\n });\n }\n\n const drawDefaultISCloseBtn = (adType, networkId = \"vpon\") => {\n function fade(el, ms = 3, type = 'in') {\n /**\n * return if close button was defined as display == none\n */\n // if (el.style.display === 'none') {\n // return;\n // }\n if (ms === 0) {\n el.style.display = 'block'\n el.style.opacity = 1\n return\n }\n const isIn = type === 'in'\n let opacity = isIn ? 0 : 1\n let interval = 50\n let duration = ms * 1000\n if (duration === 0) duration = .1\n let gap = interval / duration\n if (isIn) {\n el.style.display = 'block'\n el.style.opacity = opacity\n }\n\n const func = () => {\n opacity = isIn ? opacity + gap : opacity - gap\n el.style.opacity = opacity\n\n if (opacity <= 0) el.style.display = 'none'\n if (opacity <= 0 || opacity >= 1) {\n clearInterval(fading);\n //Call support.close when click on closebtn.\n if (el.getAttribute('listener') !== 'true') {\n el.addEventListener('click', function (e) {\n const elementClicked = e.target;\n elementClicked.setAttribute('listener', 'true');\n clickClose(e);\n console.log('Zoom event has been attached');\n });\n }\n }\n }\n const fading = setInterval(func, interval)\n }\n function transformCloseBtnPosition() {\n // var iframeInt = document.querySelector(\"[vpon_ad_format='mi']\").querySelector('iframe')\n // var closeBtn = document.querySelector(\"[vpon_ad_format='mi']\").querySelector('a')\n // var iframeIntTop = iframeInt.getBoundingClientRect().top\n var iframeIntTop = document.body.getBoundingClientRect().top;\n var closeBtn = document.body.querySelector('#_support_close');\n\n if (iframeIntTop < 0) {\n closeBtn.style.top = (-iframeIntTop + 5) + 'px'\n } else {\n closeBtn.style.top = '5px'\n }\n }\n function transformCloseBtnPositionViaOrient() {\n if (window.orientation !== 90 && window.orientation !== -90) {\n setTimeout(function () {\n transformCloseBtnPosition()\n }, 200)\n }\n }\n function transformCloseBtnPositionViaScroll() {\n if (window.orientation !== 90 && window.orientation !== -90) {\n setTimeout(function () {\n transformCloseBtnPosition()\n }, 200)\n }\n }\n try {\n console.log('[support] appendDefaultISCloseBtn');\n if (!!document.querySelector('#_support_close')) {\n return;\n }\n\n let parentElement = document.querySelector('body');\n var adType = adType || 'int';\n let isIS = false;\n\n // 210415: t=\"1\" means custom series, add close btn when t=\"1\" temporary.\n if (adType.includes('int') || adType == \"1\") {\n isIS = true;\n }\n\n if (!!parentElement && isIS) {\n var close_btn = document.createElement('a');\n var close_btn_img = document.createElement('img');\n close_btn.id = '_support_close';\n if (adType == 'int_30h') {\n console.log('[support] Paint default 1/3 IS close button.');\n close_btn.style.display = 'block';\n close_btn_img.style.width = '31.05px';\n close_btn_img.style.height = '31.05px';\n close_btn_img.style.zIndex = '9999999';\n close_btn_img.style.right = '0';\n close_btn_img.style.top = '0';\n close_btn_img.style.position = 'absolute';\n close_btn_img.src = '//m.vpon.com/tpl/img/int_liquid_close.png';\n close_btn.appendChild(close_btn_img);\n }\n else {\n console.log('[support] Paint default IS close button('+networkId+').');\n\n close_btn.style.width = '70px';\n close_btn.style.height = '70px';\n close_btn.style.zIndex = '10001';\n close_btn.style.position = 'absolute'; //'fixed'\n close_btn.style[networkId === 'skm' ? 'right' : 'left'] = '5px';\n close_btn.style.top = '5px';\n close_btn_img.style.width = '45px';\n close_btn_img.src =\n 'data:image/png;base64,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';\n close_btn.appendChild(close_btn_img);\n }\n fade(close_btn);\n parentElement.appendChild(close_btn);\n transformCloseBtnPosition()\n window.addEventListener('orientationchange', transformCloseBtnPositionViaOrient);\n window.addEventListener('scroll', transformCloseBtnPositionViaScroll);\n }\n else {\n console.log('[support] appendDefaultCloseBtn: Cannot find append target body, or the ad does not belong to IS.')\n }\n } catch (error) {\n console.error(`[support] Failed in appendDefaultCloseBtn: ${error}`);\n }\n }\n\n const clickCollapse = (callbackFunc, fading) => {\n console.log('[support.js] Call support.collapse()');\n clearInterval(fading);\n callbackFunc();\n //support.collapse(callbackFunc);\n }\n var svClickCollapseEvent;\n var zoomBtnZindex = null;\n function fadeZoom(el, callbackFunc, ms = 3, type = 'in') {\n /**\n * return if close button was defined as display == none\n */\n // if (el.style.display === 'none') {\n // return;\n // }\n if (ms === 0) {\n el.style.display = 'block'\n el.style.opacity = 1\n return\n }\n const isIn = type === 'in'\n let opacity = isIn ? 0 : 1\n let interval = 50\n let duration = ms * 1000\n if (duration === 0) duration = .1\n let gap = interval / duration\n if (isIn) {\n el.style.display = 'block'\n el.style.opacity = opacity\n }\n\n const func = () => {\n opacity = isIn ? opacity + gap : opacity - gap\n el.style.opacity = opacity\n\n if (opacity <= 0) el.style.display = 'none'\n if (opacity <= 0 || opacity >= 1) {\n clearInterval(fading);\n //Call support.close when click on closebtn.\n svClickCollapseEvent = function () { clickCollapse(callbackFunc, fading); };\n el.addEventListener('click', svClickCollapseEvent);\n }\n\n }\n var fading = setInterval(func, interval)\n\n }\n /**\n * \n * @param {*} containerInfo Zoom Btn style\n * @param {*} callbackFunc Creativity callback\n */\n var callbackFuncZoom;\n const appendZoomBtn = (containerInfo, callbackFunc) => {\n try {\n\n console.log('[support] appendZoomBtn.');\n callbackFuncZoom = callbackFunc;\n var zoomBtnTop = null;\n function transformZoomBtnPosition() {\n let iframeIntTop = document.body.getBoundingClientRect().top;\n let zoomBtn = document.body.querySelector('#_support_collapse');\n\n if (iframeIntTop < 0) {\n zoomBtn.style.top = (-iframeIntTop + 5) + 'px'\n }\n else if(zoomBtnTop!=null){\n zoomBtn.style.top = zoomBtnTop;\n } \n else {\n zoomBtn.style.top = '5px'\n }\n }\n function transformZoomBtnPositionViaOrient() {\n if (window.orientation !== 90 && window.orientation !== -90) {\n setTimeout(function () {\n transformCloseBtnPosition()\n }, 200)\n }\n }\n function transformZoomBtnPositionViaScroll() {\n if (window.orientation !== 90 && window.orientation !== -90) {\n setTimeout(function () {\n transformCloseBtnPosition()\n }, 200)\n }\n }\n if (!!document.querySelector('#_support_collapse')) {\n console.error('[support] _support_collapse btn has already appended');\n switchDisplayZoomBtn(true);\n return;\n }\n let parentElement = document.querySelector('body');\n if (!!parentElement) {\n let zoom_btn = document.createElement('a');\n let zoom_btn_img = document.createElement('img');\n zoom_btn_img.style.height = '100%';\n zoom_btn_img.style.width = '100%';\n let style = containerInfo.css;\n Object.keys(style).map(function (objectKey, index) {\n if(objectKey == 'top')\n zoomBtnTop = style[objectKey];\n if(objectKey == 'z-index')\n zoomBtnZindex = style[objectKey];\n var value = style[objectKey];\n zoom_btn.style[objectKey] = value;\n });\n zoom_btn.id = '_support_collapse';\n zoom_btn_img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAASFBMVEVMaXEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAC/v79gYGDPz88QEBCAgIDt7e1AQEAwMDAgICBwcHCvr69QUFCPj48k3ENwAAAACnRSTlMA3yD/EEBQgO+fGxWR4AAAATBJREFUeNqt1tlyhSAMBuAqYCAuuJ3T93/TTi2SxsHEDv1vvOEbZAt8/FNaBz9x7aP2XfBI8aFT2lvI7UmB1cFz5Bq8S+OKAlAKFERAOUERuuFCN/o4pn4eruNx5ZbLsh3f0RhzGJeFbYpkNGbekjD9MddW+a3vlksSZmBTbb1AmEBvhU4SeTORu/ECmblAf4gOBZIEpRNXkQm2nl4hY4z7xv6sRYmkzJjT0sqLxLDBwB8JSCSSiAWipYqEyl6mV5+zPiPRUF4ScUXS3xL3e/X3R6Rle2yP8VMj/rqTp1Ejgc4LCZl06VRyMQvEp7PPxdALBM4KwwQKxFtWx04hEeDV8hT4pt1+SWN5Tc6VF9dlvVt5ClB9FwIV94tgKm++UH8j6/d+/euCIx3oL6X699gXXUtEJQBdBRkAAAAASUVORK5CYII=';\n zoom_btn.appendChild(zoom_btn_img);\n fadeZoom(zoom_btn, callbackFunc);\n parentElement.appendChild(zoom_btn);\n\n\n transformZoomBtnPosition()\n window.addEventListener('orientationchange', transformZoomBtnPositionViaOrient);\n window.addEventListener('scroll', transformZoomBtnPositionViaScroll);\n zoom_btn.style.zIndex = '999';\n if(zoomBtnZindex!= null)\n zoom_btn.style.zIndex = zoomBtnZindex;\n\n }\n\n } catch (error) {\n console.error(`[support] Failed in appendZoomBtn: ${error}`)\n }\n }\n /**\n * For Expand Background Ad, expand iframe as full screen.\n */\n var expandBoolean = false;\n const expand = (callback) => {\n console.log('[support] expand');\n try {\n expandBoolean = true;\n window.parent.postMessage({ event: 'supportExpand' }, '*');\n //setTimeout(function(){ callback(); }, 300);\n\n window.addEventListener('resize', function(){\n if(expandBoolean){\n callback();\n expandBoolean = false;\n }\n });\n // console.log('[support] expand add event listener');\n // window.addEventListener('message', function (e) {\n // if (e.data.event == 'supportExpandComplete' &&!!ExpandCallback){\n // console.log('[support] supportExpandComplete');\n // ExpandCallback();\n // }\n\n // });\n \n } catch (error) {\n console.error(`[support] Failed in expand: ${error}`)\n\n }\n }\n /**\n * For Expand Background Ad, collapse iframe as 1/3 IS.\n */\n const collapse = (callback) => {\n try {\n console.log('[support] collapse');\n expandBoolean = false;\n window.parent.postMessage({ event: 'supportCollapse' }, '*');\n if (!!callback)\n callback();\n } catch (error) {\n console.error(`[support] Failed in collapse ${error}`);\n }\n\n }\n\n const switchDisplayDefaultISCloseBtn = (displayBoolean) => {\n try {\n console.log('[support] switchDisplayDefaultISCloseBtn');\n\n //let defaultCloseBtn = document.querySelector('a[id$=\"_close\"]');\n if (displayBoolean) {\n window.parent.postMessage({ event: 'supportShowCloseBtn' }, '*');\n\n //fadeCloseBtn(defaultCloseBtn);\n //defaultCloseBtn.style.display = 'block';\n }\n else {\n window.parent.postMessage({ event: 'supportHideCloseBtn' }, '*');\n\n //defaultCloseBtn.style.display = 'none';\n //defaultCloseBtn.removeEventListener('click', clickClose());\n }\n } catch (error) {\n console.error(`[support] Failed in switchDisplayDefaultISCloseBtn: ${error}`)\n }\n }\n const switchDisplayZoomBtn = (displayBoolean) => {\n try {\n let defaultZoomBtn = document.querySelector(\"#_support_collapse\");\n if (!!defaultZoomBtn) {\n if (displayBoolean) {\n fadeZoom(defaultZoomBtn, callbackFuncZoom);\n\n //defaultZoomBtn.style.display = 'block';\n }\n else {\n defaultZoomBtn.style.display = 'none';\n defaultZoomBtn.removeEventListener('click', svClickCollapseEvent);\n\n }\n }\n else {\n console.error('Default Collapse Btn Does Not Exsist')\n }\n\n } catch (error) {\n console.error(`[support] Failed in switchDisplayDefaultISCloseBtn: ${error}`)\n }\n }\n\n const disableVponLogo = () => {\n if (deviceType === 'web') {\n window.parent.postMessage({ event: 'supportDisableVponLogo' }, '*');\n } else {\n mraid.disableVponLogo();\n }\n }\n\n const enableIfaService = () => {\n mraid.enableIfaService();\n }\n\n const getLocation = () => {\n if (deviceType === 'web') {\n const searchParams = new URLSearchParams(window.location.search);\n const lat = searchParams.get('u_lat');\n const lon = searchParams.get('u_lon');\n return {\n lat,\n lon,\n type: 2,\n accuracy: 0.0,\n lastfix: 0,\n ipservice: ''\n };\n } else {\n return mraid.getLocation();\n }\n }\n\n const setLocation = (u_lat, u_lon) => {\n window.VPADN_WEBSDK_ENV = window.VPADN_WEBSDK_ENV || {};\n window.VPADN_WEBSDK_ENV.searchParams = window.VPADN_WEBSDK_ENV.searchParams || {};\n window.VPADN_WEBSDK_ENV.searchParams.u_lat = u_lat;\n window.VPADN_WEBSDK_ENV.searchParams.u_lon = u_lon;\n }\n\n const initInfo = info => initialInfo(info);\n\n return {\n transformClickUrl,\n onceCall,\n addEventListener,\n click,\n open,\n close,\n setExpandProperties,\n expand,\n collapse,\n appendZoomBtn,\n switchDisplayDefaultISCloseBtn,\n switchDisplayZoomBtn,\n setOrientationProperties,\n fire3rdPartyTracking,\n triggerImpressionCallback,\n viewableDetection,\n removeEventListener,\n appendDefaultISCloseBtn,\n initInfo,\n disableVponLogo,\n enableIfaService,\n getLocation\n };\n})());"],"sourceRoot":""}