{"version":3,"sources":["webpack:///@mol-ads/mol-ads-tcfv2/webpack/bootstrap","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/utils/logger.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CmpApiModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/Cloneable.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/IntEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/BooleanEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/NonIABModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Response.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetTCDataCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/Command.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/publisherRestrictions.js","webpack:///@mol-ads/mol-ads-tcfv2/(webpack)/buildin/global.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/BitLength.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/RestrictionType.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/FixedVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/tcModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/Base64Url.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/BinarySearchTree.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Fields.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/PurposeRestriction.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Segment.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/DateEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/LangEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/PurposeRestrictionVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/VendorVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/VectorEncodingType.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/GVL.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/Json.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/TCModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/TCFCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Disabled.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/TCData.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/AdditionalModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CallResponder.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/Cmp.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/stub.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/lodash.pick/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/DecodingError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/EncodingError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/GVLError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/TCModelError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/ConsentLanguages.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/PurposeRestrictionVector.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/DeviceDisclosureStorageAccessType.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/SegmentIDs.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Vector.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/SegmentEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/FieldEncoderMap.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/FieldSequence.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/SegmentSequence.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/SemanticPreEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/TCString.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/CmpStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/DisplayStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/EventStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/EventListenerQueue.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/InAppTCData.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Ping.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CmpApi.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/CommandMap.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/PingCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetInAppTCDataCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetVendorListCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/AddEventListenerCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/RemoveEventListenerCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/SupportedVersions.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/whatwg-fetch/fetch.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/utils/broker.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/user-preference.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/display-purposes.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/model.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/Ui.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/clientApi.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/storage-iframe.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/persist/Persist.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/config/config.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__export","e","debugEnabled","global","location","search","substr","split","some","searchParam","decodeURIComponent","includes","createLog","args","console","log","status_1","EventListenerQueue_1","CmpApiModel","reset","this","cmpId","cmpVersion","eventStatus","gdprApplies","tcModel","tcString","tcfPolicyVersion","cmpStatus","CmpStatus","LOADING","disabled","displayStatus","DisplayStatus","HIDDEN","eventQueue","clear","apiVersion","EventListenerQueue","__values","iterator","length","next","done","TypeError","Cloneable","clone","constructor","keys","forEach","deepClone","Date","getTime","a","push","error","return","Array","u","f","errors_1","IntEncoder","encode","parseInt","toString","EncodingError","repeat","decode","DecodingError","BooleanEncoder","NonIABModel","vendorList","consentString","vendorListVersion","reduce","acc","provider_id","provider_name","policy_url","id","policyUrl","vendorIds","Set","map","updateModel","getConsents","filter","has","join","consents","consent","every","cvl","obj","ids","entries","CmpApiModel_1","Response","__extends","setPrototypeOf","__proto__","Command_1","response_1","GetTCDataCommand","apply","arguments","respond","throwIfParamInvalid","invokeCallback","TCData","param","listenerId","isArray","Number","isInteger","Error","Command","success","assign","callback","publisherRestrictionPurposeIds","g","Function","window","model_1","BitLength","_","F","v","y","Fields","consentLanguage","consentScreen","created","isServiceSpecific","lastUpdated","policyVersion","publisherCountryCode","publisherLegitimateInterests","publisherConsents","purposeConsents","purposeLegitimateInterests","purposeOneTreatment","specialFeatureOptins","useNonStandardStacks","version","anyBoolean","encodingType","maxId","numCustomPurposes","numEntries","numRestrictions","purposeId","restrictionType","segmentType","singleOrRange","vendorId","RestrictionType","NOT_ALLOWED","REQUIRE_CONSENT","REQUIRE_LI","BooleanEncoder_1","FixedVectorEncoder","Vector","set","bitLength","createTcModelFromGvl","gvl","TCModel","readyPromise","vendors","values","flexiblePurposes","legIntPurposes","purposeRestriction","PurposeRestriction","publisherRestrictions","add","specialPurposeOnlyDeclared","purposes","specialPurposes","TcModel","model","tcModelFromTcString","TCString","createTcModelFromTcString","byPurposeVendorMap","gvlIsReady","updated","updateUserPreferences","consentAll","dissentAll","hasUserDissentedToAll","hasUserConsentedToAll","consentedVendorCheck","newModel","vendorConsents","vendorLegitimateInterests","empty","setAll","unsetAll","setAllPurposeLegitimateInterests","setAllVendorLegitimateInterests","size","vendorsWithPurposes","purposesIds","hasConsentedToAllSpecialFeatureOptins","specialFeatures","hasConsentedToAllPurposes","purposeRestrictions","vendorIdsDissentedByPurpose","from","flat","constrainedByFlexPurpose","restriction","vendorHasRestriction","vendorIdDissentedByFlexiblePurpose","vendorRestrictedToConsent","hasConsented","consentedTests","consented","legitimateInterest","dissentedByPurpose","formPreferenceOpts","oldModel","prefs","set_","consentScreen_","createTcModel","Base64Url","test","LCM","BASIS","DICT","REVERSE_DICT","Map","BinarySearchTree","root","isEmpty","left","right","contains","min","max","remove","supportOOB","publisherCustomConsents","publisherCustomLegitimateInterests","vendorsAllowed","vendorsDisclosed","Cloneable_1","RestrictionType_1","unHash","hashSeparator","TCModelError","isValid","configurable","purposeId_","isSameAs","Segment","CORE","VENDORS_DISCLOSED","VENDORS_ALLOWED","PUBLISHER_TC","IntEncoder_1","DateEncoder","Math","round","setTime","LangEncoder","toUpperCase","charCodeAt","slice","String","fromCharCode","BitLength_1","PurposeRestrictionVectorEncoder","getRestrictions","getVendors","B","PurposeRestrictionVector","h","L","__1","FixedVectorEncoder_1","VectorEncodingType_1","VendorVectorEncoder","E","VectorEncodingType","RANGE","buildRangeEncoding","FIELD","charAt","__awaiter","Promise","throw","then","__generator","label","sent","trys","ops","pop","Json_1","GVL","isReady_","isLatest","baseUrl","lang_","DEFAULT_LANGUAGE","isVendorList","populate","resolve","GVLError","CACHE","versionedFilename","replace","fetchJson","LATEST_CACHE_KEY","latestFilename","baseUrl_","emptyLanguageCache","LANGUAGE_CACHE","consentLanguages","delete","emptyCache","cacheLanguage","features","stacks","Json","fetch","message","getJson","JSON","parse","stringify","gvlSpecificationVersion","fullVendorList","changeLanguage","languageFilename","vendors_","mapVendors","bySpecialPurposeVendorMap","byFeatureVendorMap","bySpecialFeatureVendorMap","legInt","flexible","deletedDate","getFilteredVendors","getVendorsWithConsentPurpose","getVendorsWithLegIntPurpose","getVendorsWithFlexiblePurpose","getVendorsWithSpecialPurpose","getVendorsWithFeature","getVendorsWithSpecialFeature","narrowVendorsTo","isInstanceOf","ConsentLanguages","absCall","XMLHttpRequest","withCredentials","addEventListener","readyState","DONE","status","response","responseType","open","timeout","ontimeout","send","post","GVL_1","isServiceSpecific_","supportOOB_","useNonStandardStacks_","purposeOneTreatment_","publisherCountryCode_","version_","policyVersion_","consentLanguage_","cmpId_","cmpVersion_","vendorListVersion_","numCustomPurposes_","gvl_","setAllVendorConsents","unsetAllVendorConsents","setAllVendorsDisclosed","unsetAllVendorsDisclosed","setAllVendorsAllowed","unsetAllVendorsAllowed","unsetAllVendorLegitimateInterests","setAllPurposeConsents","unsetAllPurposeConsents","unsetAllPurposeLegitimateInterests","setAllSpecialFeatureOptins","unsetAllSpecialFeatureOptins","customPurposes","sort","UTC","getUTCFullYear","getUTCMonth","getUTCDate","TCFCommand","PING","GET_TC_DATA","GET_IN_APP_TC_DATA","GET_VENDOR_LIST","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","Response_1","Disabled","ERROR","__read","__spread","concat","AdditionalModel_1","AdditionalModel","addtlConsent","acmVersion","nrvString","nrvVersion","repromptVersion","publisherCC","outOfBand","allowedVendors","createVectorField","disclosedVendors","purpose","legitimateInterests","vendor","publisher","customPurpose","restrictions","createRestrictions","getMaxVendorId","command_1","CommandMap_1","Disabled_1","SupportedVersions_1","API_KEY","CallResponder","customCommands","callQueue","apiCall","purgeQueuedCalls","SupportedVersions","isCustomCommand","isBuiltInCommand","CommandMap","Cmp","cvlJson","nrvJson","storeTcString","persist","ui","uuid","gvlVersion","gvlUiVersion","nextRepromptVersion","nrvUiVersion","cvlVersion","cvlUiVersion","cmpstub","hasUserSelectedTheirPreference","notifyModelUpdate","isReady","openUi","notifyUsersPreferences","getGvl","consentToAll","dissentToAll","updateConsent","reloadTcModel","levelChanged","runApiMethod","getPurposesByVendorMap","getNonRegisteredVendors","lastKnownConsentScreen","undefined","acmModel","nrvModel","api","CmpApi","getCustomVendorsConsents","getNonRegisteredVendorsConsents","getConsentDegree","setUserId","uiLevel","getValidTCData","resolved","tcData","__tcfapi","consentedVendors","consentedVendorsDetails","getStoredRepromptVersion","fn","resp","consentDegree","getConsentString","getVendorListVersion","persistOpts","saveTCString","update","data","formConsentAndLegInt","pref","keyPrefix","consentKey","legIntKey","userPreference","legInterest","_id","nonTcfVendors","nonRegisteredVendors","specialFeatureId","optIn","options","currentLevel","setCurrentLevel","screen","match","url","json","gvlJson","cmpModel","acmVendors","getUiModel","cmpUpdateHandlers","reload","createCmp","CallResponder_1","cmpFrame","queue","currentWindow","frameLocator","hasEventListener","frames","ignore","top","parent","addFrame","doc","document","iframe","createElement","style","display","body","appendChild","removeEventListener","setTimeout","callbackFn","cmpLoaded","event","source","postMessage","msgIsString","__tcfapiCall","payload","command","retValue","returnMsg","__tcfapiReturn","returnValue","callId","parameter","freeGlobal","freeSelf","self","func","thisArg","arrayPush","array","index","offset","objectProto","objectToString","propertyIsEnumerable","spreadableSymbol","isConcatSpreadable","nativeMax","isFlattenable","isObjectLike","isLength","tag","type","isObject","isFunction","isArrayLike","isArrayLikeObject","isArguments","toKey","isSymbol","result","start","pick","props","predicate","basePickBy","basePick","iteratee","arrayMap","baseFlatten","depth","isStrict","otherArgs","langSet","PurposeRestriction_1","BinarySearchTree_1","isOkToHave","hash","restrictPurposeToLegalBasis","getRestrictionType","getPurposes","DeviceDisclosureStorageAccessType","COOKIE","WEB","APP","_a","Segment_1","SegmentIDs","ID_TO_KEY","KEY_TO_ID","maxId_","unset","isIntMap","isValidNumber","isSet","Base64Url_1","field_1","sequence_1","Fields_1","SegmentEncoder","fieldSequence","FieldEncoderMap","isPublisherCustom","indexOf","FieldSequence","DateEncoder_1","LangEncoder_1","PurposeRestrictionVectorEncoder_1","VendorVectorEncoder_1","V","I","x","C","q","b","SegmentSequence","isForVendors","SemanticPreEncoder","process","language","processor","encoder_1","TCModel_1","segments","STUB","LOADED","VISIBLE","DISABLED","EventStatus","TC_LOADED","CMP_UI_SHOWN","USER_ACTION_COMPLETE","GetTCDataCommand_1","queueNumber","exec","InAppTCData","Ping","tcf_core_1","numUpdates","throwIfInvalidInt","callResponder","disable","PingCommand_1","GetInAppTCDataCommand_1","GetVendorListCommand_1","AddEventListenerCommand_1","RemoveEventListenerCommand_1","TCFCommand_1","PingCommand","GetInAppTCDataCommand","GetVendorListCommand","AddEventListenerCommand","RemoveEventListenerCommand","globalThis","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","toLowerCase","normalizeValue","iteratorFor","items","shift","Headers","headers","append","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","byteOffset","text","readAsText","chars","readArrayBufferAsText","formData","oldValue","methods","Request","input","method","upcased","credentials","signal","referrer","cache","reParamSearch","form","trim","bytes","bodyInit","ok","statusText","redirectStatuses","redirect","RangeError","DOMException","err","stack","init","request","aborted","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","onabort","href","fixUrl","setRequestHeader","onreadystatechange","polyfill","target","Broker","sender","random","substring","action","cb","handleMessage","cancel","on","userPreferenceModel","vectorToPrefArr","vector","state","idsForUserPreference","preferences","setIfConsented","defaultLegitimateInterests","createModel","restrictPurposeIds","applyFlexiblePurposes","consentable","removeUnconsentableVendors","userPrefs","createUserPreference","config","displayPurposes","Ui","brand","uiScriptUrl","renderPlatform","clientBroker","scriptLoaded","brokerId","broker","once","emit","removeStorageListener","handler","newValue","handleExternalPreferenceUpdate","uiHandlers","uiScriptBase","appState","src","script","dataset","loadScript","clientApi","cmp","setUuid","close","notifyUserPreferenceCaptured","onContentLoaded","loadStorage","scriptBase","path","srcPath","title","onLoad","contentWindow","canStoreUserPreference","parentNode","removeChild","TimeoutError","ms","errorAfter","repeatUntil","interval","MAX_SAFE_INTEGER","now","check","opts","xhttp","k","race","raceWithin","Persist","backendUrl","channel","platform","domain","host","tryToSend","euconsent","Config","_cvlVersion","_nrvVersion","tcStringFromClient","addtlConsentFromClient","cvlVersionFromClient","nrvStringFromClient","nrvVersionFromClient","tcStringFromStorage","nrvStringFromStorage","nrvVersionFromStorage","addtlConsentFromStorage","storedStrings","clientStrings","stored","client","selectStrings","currentRepromptVersionFromClient","nextRepromptVersionFromClient","tcDataFromStorage","repromptVersionFromStorage","selectRepromptVersions","createUi","fetchVendor","fetchVendorData","gvlUrl","cvlUrl","nrvUrl","vendorLists","all","clientConfig","controllerScriptBase","storeUserPreference","loadStorageIframe","userPreferences","getUserPreferences","getGVLVersions","getNrvVersions","getCvlVersions","cmpOpts","showUi","scriptTag","getElementById","createConfig","launch"],"mappings":"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","file":"index.js","sourcesContent":[" \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};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 75);\n","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./encoder\")),__export(require(\"./errors\")),__export(require(\"./model\")),__export(require(\"./Cloneable\")),__export(require(\"./GVL\")),__export(require(\"./Json\")),__export(require(\"./TCModel\")),__export(require(\"./TCString\"));","export const debugEnabled = global.location?.search?.substr(1)?.split('&')?.some(searchParam => {\n const [key, value] = searchParam.split('=')\n return decodeURIComponent(key) === 'adsDebug' && (value === true || value === 'all' || decodeURIComponent(value).split(',').includes('tcfv2'))\n})\n\nexport function createLog () {\n return debugEnabled ? (...args) => console.log('[mol-ads-cmp]', ...args) : () => {}\n}\n","\"use strict\";function __export(r){for(var e in r)exports.hasOwnProperty(e)||(exports[e]=r[e])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./DecodingError\")),__export(require(\"./EncodingError\")),__export(require(\"./GVLError\")),__export(require(\"./TCModelError\"));","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./BinarySearchTree\")),__export(require(\"./ConsentLanguages\")),__export(require(\"./Fields\")),__export(require(\"./PurposeRestriction\")),__export(require(\"./PurposeRestrictionVector\")),__export(require(\"./DeviceDisclosureStorageAccessType\")),__export(require(\"./RestrictionType\")),__export(require(\"./Segment\")),__export(require(\"./SegmentIDs\")),__export(require(\"./Vector\"));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var status_1=require(\"./status\"),EventListenerQueue_1=require(\"./EventListenerQueue\"),CmpApiModel=function(){function e(){}return e.reset=function(){delete this.cmpId,delete this.cmpVersion,delete this.eventStatus,delete this.gdprApplies,delete this.tcModel,delete this.tcString,delete this.tcfPolicyVersion,this.cmpStatus=status_1.CmpStatus.LOADING,this.disabled=!1,this.displayStatus=status_1.DisplayStatus.HIDDEN,this.eventQueue.clear()},e.apiVersion=\"2\",e.eventQueue=new EventListenerQueue_1.EventListenerQueue,e.cmpStatus=status_1.CmpStatus.LOADING,e.disabled=!1,e.displayStatus=status_1.DisplayStatus.HIDDEN,e}();exports.CmpApiModel=CmpApiModel;","\"use strict\";var __values=this&&this.__values||function(e){var r=\"function\"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")};Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable=function(){function e(){}return e.prototype.clone=function(){var e=this,r=new this.constructor;return Object.keys(this).forEach((function(t){var n=e.deepClone(e[t]);void 0!==n&&(r[t]=n)})),r},e.prototype.deepClone=function(e){var r,t,n=typeof e;if(\"number\"===n||\"string\"===n||\"boolean\"===n)return e;if(null!==e&&\"object\"===n){if(\"function\"==typeof e.clone)return e.clone();if(e instanceof Date)return new Date(e.getTime());if(void 0!==e[Symbol.iterator]){var o=[];try{for(var i=__values(e),l=i.next();!l.done;l=i.next()){var a=l.value;o.push(this.deepClone(a))}}catch(e){r={error:e}}finally{try{l&&!l.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return e instanceof Array?o:new e.constructor(o)}var u={};for(var f in e)e.hasOwnProperty(f)&&(u[f]=this.deepClone(e[f]));return u}},e}();exports.Cloneable=Cloneable;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../../errors\"),IntEncoder=function(){function r(){}return r.encode=function(r,e){var n;if(\"string\"==typeof r&&(r=parseInt(r,10)),(n=r.toString(2)).length>e||r<0)throw new errors_1.EncodingError(r+\" too large to encode into \"+e);return n.length} cvl \n * @returns {NonIABVendorList}\n */\nconst parseVendors = (cvl) => {\n // eslint-disable-next-line camelcase\n return cvl.reduce((acc, { provider_id, provider_name, policy_url }) => ({\n ...acc,\n [provider_id]: {\n id: provider_id,\n name: provider_name,\n policyUrl: policy_url\n }\n }), {})\n}\n\nexport class NonIABModel {\n /**\n * @type {Consents}\n */\n #consents\n\n /**\n * @type {string} \n */\n #consentString\n\n /**\n * @type {NonIABVendorList}\n */\n #cvl\n\n /**\n * @type {number|string|undefined}\n */\n #vendorListVersion\n\n /**\n * @param {Object} opts\n * @param {Array} opts.vendorList \n * @param {string} [opts.consentString ]\n * @param {number|string} [opts.vendorListVersion]\n */\n constructor ({ vendorList, consentString, vendorListVersion }) {\n /**\n * @type {NonIABVendorList}\n */\n this.#cvl = parseVendors(vendorList)\n const vendorIds = new Set(Object.keys(this.#cvl).map(id => parseInt(id)))\n this.#consents = {}\n this.updateModel = this.updateModel.bind(this)\n this.getConsents = this.getConsents.bind(this)\n this.#consentString = `1~${consentString ? consentString.substr(2).split('.').map(id => parseInt(id)).filter(id => id).filter(id => vendorIds.has(id)).join('.') : ''}`\n this.#consents = this.#decode()\n this.#vendorListVersion = vendorListVersion\n }\n\n #encode () {\n const isEmpty = obj => !Object.keys(obj).length\n if (isEmpty(this.#consents)) return '1~'\n\n const ids = Object.entries(this.#consents).filter(([ignore, { consent }]) => consent).map(([id, ignore]) => id).join('.')\n return `1~${ids}`\n }\n\n #decode () {\n if (this.#consentString === '1~') return {}\n\n const consentedVendorIds = this.#consentString.substr(2).split('.').map(id => parseInt(id)).filter(id => id)\n const consentMap = consentedVendorIds.reduce((acc, id) => ({ ...acc, ...{ [id]: { consent: true } } }), {})\n return consentMap\n }\n\n updateModel (consents) {\n this.#consents = consents\n this.#consentString = this.#encode()\n }\n\n getConsents () {\n return this.#consents\n }\n\n getConsentString () {\n return this.#consentString\n }\n\n consentToAll () {\n this.#consents = Object.keys(this.#cvl).reduce((acc, id) => ({ ...acc, [id]: { consent: true } }), {})\n this.#consentString = this.#encode()\n }\n\n dissentToAll () {\n this.#consents = {}\n this.consent = this.#encode()\n }\n\n hasUserConsentedToAll () {\n const cvlIds = Object.keys(this.#cvl)\n return cvlIds.every(id => this.#consents[id] && this.#consents[id].consent)\n }\n\n hasUserDissentedToAll () {\n const cvlIds = Object.keys(this.#cvl)\n return cvlIds.every(id => !(this.#consents[id] && this.#consents[id].consent))\n }\n\n /**\n * @returns {UiModel}\n */\n getUiModel () {\n return {\n cvl: this.#cvl,\n consents: this.getConsents()\n }\n }\n\n getVendors () {\n return this.#cvl\n }\n\n getVendorListVersion () {\n return this.#vendorListVersion\n }\n}\n\n/**\n * @typedef {Object} UiModel\n * @property {import('./NonIABModel').NonIABVendorList} cvl\n * @property {import('./NonIABModel').Consents} consents\n */\n\n/** @typedef {Record} Consents */\n\n/**\n * @typedef {Object} Vendor \n * @property {string} provider_name\n * @property {string} provider_id\n * @property {string} policy_url \n */\n\n/** @typedef {Record} NonIABVendorList */","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./Disabled\")),__export(require(\"./InAppTCData\")),__export(require(\"./Ping\")),__export(require(\"./Response\")),__export(require(\"./TCData\"));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),Response=function(){this.cmpId=CmpApiModel_1.CmpApiModel.cmpId,this.cmpVersion=CmpApiModel_1.CmpApiModel.cmpVersion,this.gdprApplies=CmpApiModel_1.CmpApiModel.gdprApplies,this.tcfPolicyVersion=CmpApiModel_1.CmpApiModel.tcfPolicyVersion};exports.Response=Response;","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./CmpStatus\")),__export(require(\"./DisplayStatus\")),__export(require(\"./EventStatus\"));","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(r,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])})(r,e)};return function(r,e){function n(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Command_1=require(\"./Command\"),response_1=require(\"../response\"),GetTCDataCommand=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return __extends(r,t),r.prototype.respond=function(){this.throwIfParamInvalid(),this.invokeCallback(new response_1.TCData(this.param,this.listenerId))},r.prototype.throwIfParamInvalid=function(){if(!(void 0===this.param||Array.isArray(this.param)&&this.param.every(Number.isInteger)))throw new Error(\"Invalid Parameter\")},r}(Command_1.Command);exports.GetTCDataCommand=GetTCDataCommand;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Command=function(){function t(t,e,n,a){this.success=!0,Object.assign(this,{callback:t,listenerId:n,param:e,next:a});try{this.respond()}catch(t){this.invokeCallback(null)}}return t.prototype.invokeCallback=function(t){var e=null!==t;\"function\"==typeof this.next?this.callback(this.next,t,e):this.callback(t,e)},t}();exports.Command=Command;","export const publisherRestrictionPurposeIds = [3, 4]","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./Base64Url\")),__export(require(\"./BitLength\")),__export(require(\"./SegmentEncoder\")),__export(require(\"./SemanticPreEncoder\")),__export(require(\"./field\")),__export(require(\"./sequence\"));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../model\"),BitLength=function(){function e(){}var s,d,i,o,l,n,t,r,m,p,u,_,a,c,F,g,v,y;return s=model_1.Fields.cmpId,d=model_1.Fields.cmpVersion,i=model_1.Fields.consentLanguage,o=model_1.Fields.consentScreen,l=model_1.Fields.created,n=model_1.Fields.isServiceSpecific,t=model_1.Fields.lastUpdated,r=model_1.Fields.policyVersion,m=model_1.Fields.publisherCountryCode,p=model_1.Fields.publisherLegitimateInterests,u=model_1.Fields.publisherConsents,_=model_1.Fields.purposeConsents,a=model_1.Fields.purposeLegitimateInterests,c=model_1.Fields.purposeOneTreatment,F=model_1.Fields.specialFeatureOptins,g=model_1.Fields.useNonStandardStacks,v=model_1.Fields.vendorListVersion,y=model_1.Fields.version,e[s]=12,e[d]=12,e[i]=12,e[o]=6,e[l]=36,e[n]=1,e[t]=36,e[r]=6,e[m]=12,e[p]=24,e[u]=24,e[_]=24,e[a]=24,e[c]=1,e[F]=12,e[g]=1,e[v]=12,e[y]=6,e.anyBoolean=1,e.encodingType=1,e.maxId=16,e.numCustomPurposes=6,e.numEntries=12,e.numRestrictions=12,e.purposeId=6,e.restrictionType=2,e.segmentType=3,e.singleOrRange=1,e.vendorId=16,e}();exports.BitLength=BitLength;","\"use strict\";var RestrictionType;Object.defineProperty(exports,\"__esModule\",{value:!0}),function(e){e[e.NOT_ALLOWED=0]=\"NOT_ALLOWED\",e[e.REQUIRE_CONSENT=1]=\"REQUIRE_CONSENT\",e[e.REQUIRE_LI=2]=\"REQUIRE_LI\"}(RestrictionType=exports.RestrictionType||(exports.RestrictionType={}));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var BooleanEncoder_1=require(\"./BooleanEncoder\"),errors_1=require(\"../../errors\"),model_1=require(\"../../model\"),FixedVectorEncoder=function(){function e(){}return e.encode=function(e,o){for(var r=\"\",n=1;n<=o;n++)r+=BooleanEncoder_1.BooleanEncoder.encode(e.has(n));return r},e.decode=function(e,o){if(e.length!==o)throw new errors_1.DecodingError(\"bitfield encoding length mismatch\");for(var r=new model_1.Vector,n=1;n<=o;n++)BooleanEncoder_1.BooleanEncoder.decode(e[n-1])&&r.set(n);return r.bitLength=e.length,r},e}();exports.FixedVectorEncoder=FixedVectorEncoder;","// @ts-check\n\nimport { PurposeRestriction, RestrictionType, TCModel, TCString } from '@mol-ads/tcf-core'\nimport { GVL } from '@mol-ads/tcf-core'\nimport { createLog } from '../utils/logger'\nimport { publisherRestrictionPurposeIds } from './publisherRestrictions'\n\nconst log = createLog()\n\nasync function createTcModelFromGvl (gvl) {\n log('creating TCModel for new user')\n const tcModel = new TCModel()\n tcModel.cmpId = 27\n tcModel.cmpVersion = 3\n // siteSpecific Storage (ie not global)\n tcModel.isServiceSpecific = true\n tcModel.publisherCountryCode = 'GB'\n tcModel.gvl = gvl\n tcModel.publisherConsents.set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n tcModel.publisherLegitimateInterests.set([5, 6, 8, 10])\n\n await tcModel.gvl.readyPromise\n\n const vendors = Object.values(tcModel.gvl.vendors).map(({ id, flexiblePurposes, legIntPurposes }) => ({ vendorId: id, flexiblePurposes: new Set(flexiblePurposes), legIntPurposes: new Set(legIntPurposes) }))\n publisherRestrictionPurposeIds.forEach(purposeId => {\n const purposeRestriction = new PurposeRestriction()\n purposeRestriction.purposeId = purposeId\n purposeRestriction.restrictionType = RestrictionType.REQUIRE_CONSENT\n vendors.forEach(({ vendorId, flexiblePurposes, legIntPurposes }) => {\n try {\n if (flexiblePurposes.has(purposeId) && legIntPurposes.has(purposeId)) {\n // vendorID and restriction\n log(`restricting purposeId: ${purposeId} for vendorId: ${vendorId}`)\n tcModel.publisherRestrictions.add(vendorId, purposeRestriction)\n }\n } catch (e) {\n log('unable to restrict', purposeId, vendorId)\n }\n })\n })\n\n const specialPurposeOnlyDeclared = Object.values(tcModel.gvl.vendors).filter(v => v.purposes.length === 0 && v.legIntPurposes.length === 0 && v.specialPurposes.length > 0)\n log('specialPurposeOnly', specialPurposeOnlyDeclared)\n\n return new TcModel({ gvl, model: tcModel, specialPurposeOnlyDeclared })\n}\n\n/**\n * @param {*} gvl \n * @param {string} tcString \n * @returns {[TCModel, Array]}\n */\nfunction tcModelFromTcString (gvl, tcString) {\n log('creating TCModel from tcString')\n\n const tcModel = TCString.decode(tcString)\n\n // controller was originally released with consentScreen=0, this hack will update all those users\n if (tcModel.consentScreen === 0) {\n tcModel.consentScreen = 1\n }\n tcModel.gvl = gvl\n const specialPurposeOnlyDeclared = Object.values(tcModel.gvl.vendors).filter(v => v.purposes.length === 0 && v.legIntPurposes.length === 0 && v.specialPurposes.length > 0)\n log('specialPurposeOnly', specialPurposeOnlyDeclared)\n return [tcModel, specialPurposeOnlyDeclared]\n}\n\nfunction createTcModelFromTcString (gvl, tcString) {\n const [tcModel, specialPurposeOnlyDeclared] = tcModelFromTcString(gvl, tcString)\n return new TcModel({ gvl, model: tcModel, specialPurposeOnlyDeclared })\n}\n\n/**\n * @typedef {Object} TcModelOpts\n * @property {*} gvl\n * @property {TCModel} model\n * @property {Array} specialPurposeOnlyDeclared\n */\nexport class TcModel {\n /**\n * @param {TcModelOpts} param0 \n */\n constructor ({ gvl, model, specialPurposeOnlyDeclared = [] }) {\n this.gvl = gvl\n /**\n * @type {TCModel}\n */\n this.model = model\n this.specialPurposeOnlyDeclared = specialPurposeOnlyDeclared\n this.byPurposeVendorMap = this.byPurposeVendorMap.bind(this)\n this.gvlIsReady = this.gvlIsReady.bind(this)\n this.updated = this.updated.bind(this)\n this.tcString = this.tcString.bind(this)\n this.updateUserPreferences = this.updateUserPreferences.bind(this)\n this.consentAll = this.consentAll.bind(this)\n this.dissentAll = this.dissentAll.bind(this)\n this.hasUserDissentedToAll = this.hasUserDissentedToAll.bind(this)\n this.hasUserConsentedToAll = this.hasUserConsentedToAll.bind(this)\n this.consentedVendorCheck = this.consentedVendorCheck.bind(this)\n }\n\n reload (tcString) {\n const [newModel, specialPurposeOnlyDeclared] = tcModelFromTcString(this.gvl, tcString)\n log('reloading tcModel', tcString, newModel)\n\n this.model = newModel\n this.specialPurposeOnlyDeclared = specialPurposeOnlyDeclared\n }\n\n byPurposeVendorMap () {\n return this.model.gvl.byPurposeVendorMap\n }\n\n gvlIsReady () {\n return this.model.gvl.readyPromise\n }\n\n updated () {\n this.model.updated()\n }\n\n tcString () {\n log('encoding', this.model)\n return TCString.encode(this.model)\n }\n\n updateUserPreferences ({ vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins, consentScreen }) {\n this.model.vendorConsents.empty()\n this.model.vendorConsents.set(vendorConsents)\n\n this.model.vendorLegitimateInterests.empty()\n this.model.vendorLegitimateInterests.set(vendorLegitimateInterests)\n this.model.vendorLegitimateInterests.set(this.specialPurposeOnlyDeclared.map(({ id }) => id))\n\n this.model.purposeConsents.empty()\n this.model.purposeConsents.set(purposeConsents)\n this.model.purposeLegitimateInterests.empty()\n this.model.purposeLegitimateInterests.set(purposeLegitimateInterests)\n\n this.model.specialFeatureOptins.empty()\n this.model.specialFeatureOptins.set(specialFeatureOptins)\n\n this.model.consentScreen = consentScreen\n this.model.updated()\n\n this.model = TCString.decode(TCString.encode(this.model))\n this.model.gvl = this.gvl\n }\n\n consentAll ({ consentScreen }) {\n this.model.setAll()\n this.model.consentScreen = consentScreen\n this.model.updated()\n this.model = TCString.decode(TCString.encode(this.model))\n this.model.gvl = this.gvl\n }\n\n dissentAll ({ consentScreen }) {\n this.model.unsetAll()\n this.model.setAllPurposeLegitimateInterests()\n this.model.setAllVendorLegitimateInterests()\n this.model.consentScreen = consentScreen\n this.model.updated()\n this.model = TCString.decode(TCString.encode(this.model))\n this.model.gvl = this.gvl\n }\n\n hasUserDissentedToAll () {\n return !this.model.specialFeatureOptins.size &&\n !this.model.purposeConsents.size &&\n !this.model.vendorConsents.size\n }\n\n hasUserConsentedToAll () {\n const vendorsWithPurposes = Object.keys(this.model.gvl.vendors).filter(id => this.model.gvl.vendors[id].purposes.length > 0).map(id => parseInt(id))\n const purposesIds = Object.keys(this.model.gvl.purposes).map(id => parseInt(id))\n const specialFeatureOptinIds = Object.keys(this.model.gvl.specialFeatures).map(id => parseInt(id))\n const hasConsentedToAllSpecialFeatureOptins = specialFeatureOptinIds.every(id => this.model.specialFeatureOptins.has(id))\n const hasConsentedToAllPurposes = purposesIds.every(id => this.model.purposeConsents.has(id))\n const hasConsentedToAllVendorPurposes = vendorsWithPurposes.every(id => this.model.vendorConsents.has(id))\n return hasConsentedToAllVendorPurposes && hasConsentedToAllPurposes && hasConsentedToAllSpecialFeatureOptins\n }\n\n consentedVendorCheck () {\n const purposesIds = Object.keys(this.model.gvl.purposes).map(id => parseInt(id))\n const purposeRestrictions = [3, 4].map(purposeId => {\n const purposeRestriction = new PurposeRestriction()\n purposeRestriction.purposeId = purposeId\n purposeRestriction.restrictionType = RestrictionType.REQUIRE_CONSENT\n return purposeRestriction\n })\n const model = TCString.decode(TCString.encode(this.model))\n model.gvl = this.gvl\n const vendorIdsDissentedByPurpose = new Set(purposesIds.filter(id => !model.purposeConsents.has(id)).map(id => Array.from(this.model.gvl.byPurposeVendorMap[id] && this.model.gvl.byPurposeVendorMap[id].consent || [])).flat())\n const vendorIdDissentedByFlexiblePurpose = (id) => {\n return purposeRestrictions.some(restriction => {\n return model.publisherRestrictions.vendorHasRestriction(id, restriction) && !model.purposeConsents.has(restriction.purposeId)\n })\n }\n const preferenceForIds = Array.from(this.model.gvl.vendorIds).map(id => {\n const constrainedByFlexPurpose = vendorIdDissentedByFlexiblePurpose(id)\n const vendorRestrictedToConsent = purposeRestrictions.some(restriction => model.publisherRestrictions.vendorHasRestriction(id, restriction))\n const hasConsented = (vendorRestrictedToConsent ? model.vendorConsents.has(id) : (model.vendorConsents.has(id) || model.vendorLegitimateInterests.has(id))) &&\n !vendorIdsDissentedByPurpose.has(id) &&\n !constrainedByFlexPurpose\n\n return {\n id,\n hasConsented,\n consentedTests: {\n consented: model.vendorConsents.has(id),\n legitimateInterest: model.vendorLegitimateInterests.has(id),\n vendorRestrictedToConsent,\n dissentedByPurpose: vendorIdsDissentedByPurpose.has(id),\n constrainedByFlexPurpose: constrainedByFlexPurpose\n }\n }\n })\n return preferenceForIds\n }\n\n consentedVendors () {\n return this.consentedVendorCheck().filter(({ hasConsented }) => hasConsented).map(({ id }) => id)\n }\n\n consentedVendorsDetails () {\n return this.consentedVendorCheck()\n }\n}\n\n/**\n * @property {TcModel} oldModel\n * @returns {PreferenceOpts}\n */\nconst formPreferenceOpts = (oldModel) => {\n return [\n 'purposeConsents',\n 'purposeLegitimateInterests',\n 'specialFeatureOptins',\n 'vendorConsents',\n 'vendorLegitimateInterests'\n ].reduce(\n (prefs, key) => ({ ...prefs, ...{ [key]: Array.from(oldModel.model[key].set_).map(v => parseInt(v)) } }),\n { \n vendorConsents: [],\n vendorLegitimateInterests: [], \n purposeConsents: [], \n purposeLegitimateInterests: [],\n specialFeatureOptins: [], \n consentScreen: oldModel.model.consentScreen_\n }) \n}\n/**\n * @param {TCModelOpts} opts \n * @returns {Promise}\n */\nexport async function createTcModel ({ tcString, gvl, oldModel }) {\n const tcModel = await (tcString ? createTcModelFromTcString(gvl, tcString) : createTcModelFromGvl(gvl))\n if (oldModel) {\n tcModel.updateUserPreferences(formPreferenceOpts(oldModel))\n }\n return tcModel\n}\n\n/**\n * @typedef {Object} TCModelOpts\n * @property {string} [tcString]\n * @property {GVL} gvl\n * @property {TcModel} [oldModel]\n */\n\n/**\n * @typedef {Object} PreferenceOpts\n * @property {Array} vendorConsents\n * @property {Array} vendorLegitimateInterests\n * @property {Array} purposeConsents\n * @property {Array} purposeLegitimateInterests\n * @property {Array} specialFeatureOptins\n * @property {number} consentScreen \n **/\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../errors\"),Base64Url=function(){function r(){}return r.encode=function(r){if(!/^[0-1]+$/.test(r))throw new errors_1.EncodingError(\"Invalid bitField\");var e=r.length%this.LCM;r+=e?\"0\".repeat(this.LCM-e):\"\";for(var t=\"\",n=0;ne.value))break;if(null===e.right){e.right=r;break}e=e.right}},e.prototype.get=function(){for(var t=[],e=this.root;e;)if(e.left){for(var r=e.left;r.right&&r.right!=e;)r=r.right;r.right==e?(r.right=null,t.push(e.value),e=e.right):(r.right=e,e=e.left)}else t.push(e.value),e=e.right;return t},e.prototype.contains=function(t){for(var e=!1,r=this.root;r;){if(r.value===t){e=!0;break}t>r.value?r=r.right:te.value)r=e,e=e.right,o=\"right\";else{if(e.left||e.right)if(e.left)if(e.right){var i=this.min(e.right);this.remove(i,e.right),e.value=i}else r?r[o]=e.left:this.root=e.left;else r?r[o]=e.right:this.root=e.right;else r?r[o]=null:this.root=null;e=null}},e}(Cloneable_1.Cloneable);exports.BinarySearchTree=BinarySearchTree;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Fields=function(){function e(){}return e.cmpId=\"cmpId\",e.cmpVersion=\"cmpVersion\",e.consentLanguage=\"consentLanguage\",e.consentScreen=\"consentScreen\",e.created=\"created\",e.supportOOB=\"supportOOB\",e.isServiceSpecific=\"isServiceSpecific\",e.lastUpdated=\"lastUpdated\",e.numCustomPurposes=\"numCustomPurposes\",e.policyVersion=\"policyVersion\",e.publisherCountryCode=\"publisherCountryCode\",e.publisherCustomConsents=\"publisherCustomConsents\",e.publisherCustomLegitimateInterests=\"publisherCustomLegitimateInterests\",e.publisherLegitimateInterests=\"publisherLegitimateInterests\",e.publisherConsents=\"publisherConsents\",e.publisherRestrictions=\"publisherRestrictions\",e.purposeConsents=\"purposeConsents\",e.purposeLegitimateInterests=\"purposeLegitimateInterests\",e.purposeOneTreatment=\"purposeOneTreatment\",e.specialFeatureOptins=\"specialFeatureOptins\",e.useNonStandardStacks=\"useNonStandardStacks\",e.vendorConsents=\"vendorConsents\",e.vendorLegitimateInterests=\"vendorLegitimateInterests\",e.vendorListVersion=\"vendorListVersion\",e.vendorsAllowed=\"vendorsAllowed\",e.vendorsDisclosed=\"vendorsDisclosed\",e.version=\"version\",e}();exports.Fields=Fields;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable_1=require(\"../Cloneable\"),errors_1=require(\"../errors\"),RestrictionType_1=require(\"./RestrictionType\"),PurposeRestriction=function(e){function t(t,r){var o=e.call(this)||this;return void 0!==t&&(o.purposeId=t),void 0!==r&&(o.restrictionType=r),o}return __extends(t,e),t.unHash=function(e){var r=e.split(this.hashSeparator),o=new t;if(2!==r.length)throw new errors_1.TCModelError(\"hash\",e);return o.purposeId=parseInt(r[0],10),o.restrictionType=parseInt(r[1],10),o},Object.defineProperty(t.prototype,\"hash\",{get:function(){if(!this.isValid())throw new Error(\"cannot hash invalid PurposeRestriction\");return\"\"+this.purposeId+t.hashSeparator+this.restrictionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"purposeId\",{get:function(){return this.purposeId_},set:function(e){this.purposeId_=e},enumerable:!0,configurable:!0}),t.prototype.isValid=function(){return Number.isInteger(this.purposeId)&&this.purposeId>0&&(this.restrictionType===RestrictionType_1.RestrictionType.NOT_ALLOWED||this.restrictionType===RestrictionType_1.RestrictionType.REQUIRE_CONSENT||this.restrictionType===RestrictionType_1.RestrictionType.REQUIRE_LI)},t.prototype.isSameAs=function(e){return this.purposeId===e.purposeId&&this.restrictionType===e.restrictionType},t.hashSeparator=\"-\",t}(Cloneable_1.Cloneable);exports.PurposeRestriction=PurposeRestriction;","\"use strict\";var Segment;Object.defineProperty(exports,\"__esModule\",{value:!0}),function(e){e.CORE=\"core\",e.VENDORS_DISCLOSED=\"vendorsDisclosed\",e.VENDORS_ALLOWED=\"vendorsAllowed\",e.PUBLISHER_TC=\"publisherTC\"}(Segment=exports.Segment||(exports.Segment={}));","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./BooleanEncoder\")),__export(require(\"./DateEncoder\")),__export(require(\"./FieldEncoderMap\")),__export(require(\"./FixedVectorEncoder\")),__export(require(\"./IntEncoder\")),__export(require(\"./LangEncoder\")),__export(require(\"./PurposeRestrictionVectorEncoder\")),__export(require(\"./VectorEncodingType\")),__export(require(\"./VendorVectorEncoder\"));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var IntEncoder_1=require(\"./IntEncoder\"),errors_1=require(\"../../errors\"),DateEncoder=function(){function e(){}return e.encode=function(e,r){return IntEncoder_1.IntEncoder.encode(Math.round(e.getTime()/100),r)},e.decode=function(e,r){if(r!==e.length)throw new errors_1.DecodingError(\"invalid bit length\");var n=new Date;return n.setTime(100*IntEncoder_1.IntEncoder.decode(e,r)),n},e}();exports.DateEncoder=DateEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var IntEncoder_1=require(\"./IntEncoder\"),errors_1=require(\"../../errors\"),LangEncoder=function(){function e(){}return e.encode=function(e,r){var n=(e=e.toUpperCase()).charCodeAt(0)-65,o=e.charCodeAt(1)-65;if(n<0||n>25||o<0||o>25)throw new errors_1.EncodingError(\"invalid language code: \"+e);if(r%2==1)throw new errors_1.EncodingError(\"numBits must be even, \"+r+\" is not valid\");return r/=2,IntEncoder_1.IntEncoder.encode(n,r)+IntEncoder_1.IntEncoder.encode(o,r)},e.decode=function(e,r){if(r!==e.length||e.length%2)throw new errors_1.DecodingError(\"invalid bit length for language\");var n=e.length/2,o=IntEncoder_1.IntEncoder.decode(e.slice(0,n),n)+65,t=IntEncoder_1.IntEncoder.decode(e.slice(n),n)+65;return String.fromCharCode(o)+String.fromCharCode(t)},e}();exports.LangEncoder=LangEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var BitLength_1=require(\"../BitLength\"),BooleanEncoder_1=require(\"./BooleanEncoder\"),errors_1=require(\"../../errors\"),IntEncoder_1=require(\"./IntEncoder\"),model_1=require(\"../../model\"),PurposeRestrictionVectorEncoder=function(){function e(){}return e.encode=function(e){var t=IntEncoder_1.IntEncoder.encode(e.numRestrictions,BitLength_1.BitLength.numRestrictions);return e.isEmpty()||e.getRestrictions().forEach((function(n){t+=IntEncoder_1.IntEncoder.encode(n.purposeId,BitLength_1.BitLength.purposeId),t+=IntEncoder_1.IntEncoder.encode(n.restrictionType,BitLength_1.BitLength.restrictionType);for(var r=e.getVendors(n),o=r.length,i=0,d=0,c=\"\",s=function(t){var n=r[t];0===d&&(i++,d=n);var s=r[o-1],B=e.gvl.vendorIds;if(t===o-1||r[t+1]>function(e){for(;++e<=s&&!B.has(e););return e}(n)){var g=!(n===d);c+=BooleanEncoder_1.BooleanEncoder.encode(g),c+=IntEncoder_1.IntEncoder.encode(d,BitLength_1.BitLength.vendorId),g&&(c+=IntEncoder_1.IntEncoder.encode(n,BitLength_1.BitLength.vendorId)),d=0}},B=0;Bi&&E<_)&&t)&&(e.has(c+1)?0===o.length&&(o.push(c),E+=__1.BitLength.singleOrRange,E+=__1.BitLength.vendorId):(o.push(c),E+=__1.BitLength.vendorId,r.push(o),o=[]))})),n?(t+=VectorEncodingType_1.VectorEncodingType.RANGE+\"\",t+=this.buildRangeEncoding(r)):(t+=VectorEncodingType_1.VectorEncodingType.FIELD+\"\",t+=d),t},e.decode=function(e,n){var r,o=0,t=IntEncoder_1.IntEncoder.decode(e.substr(o,__1.BitLength.maxId),__1.BitLength.maxId);o+=__1.BitLength.maxId;var d=IntEncoder_1.IntEncoder.decode(e.charAt(o),__1.BitLength.encodingType);if(o+=__1.BitLength.encodingType,d===VectorEncodingType_1.VectorEncodingType.RANGE){if(r=new model_1.Vector,1===n){if(\"1\"===e.substr(o,1))throw new errors_1.DecodingError(\"Unable to decode default consent=1\");o++}var c=IntEncoder_1.IntEncoder.decode(e.substr(o,__1.BitLength.numEntries),__1.BitLength.numEntries);o+=__1.BitLength.numEntries;for(var _=0;_0&&s[s.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!s||o[1]>s[0]&&o[1]0){var o=r;t.CACHE.has(o)?(n.populate(t.CACHE.get(o)),n.readyPromise=Promise.resolve()):(s+=t.versionedFilename.replace(\"[VERSION]\",o+\"\"),n.readyPromise=n.fetchJson(s))}else t.CACHE.has(t.LATEST_CACHE_KEY)?(n.populate(t.CACHE.get(t.LATEST_CACHE_KEY)),n.readyPromise=Promise.resolve()):(n.isLatest=!0,n.readyPromise=n.fetchJson(s+t.latestFilename))}return n}return __extends(t,e),Object.defineProperty(t,\"baseUrl\",{get:function(){return this.baseUrl_},set:function(e){if(/^https?:\\/\\/vendorlist\\.consensu\\.org\\//.test(e))throw new errors_1.GVLError(\"Invalid baseUrl! You may not pull directly from vendorlist.consensu.org and must provide your own cache\");e.length>0&&\"/\"!==e[e.length-1]&&(e+=\"/\"),this.baseUrl_=e},enumerable:!0,configurable:!0}),t.emptyLanguageCache=function(e){var r=!1;return void 0===e&&t.LANGUAGE_CACHE.size>0?(t.LANGUAGE_CACHE=new Map,r=!0):\"string\"==typeof e&&this.consentLanguages.has(e.toUpperCase())&&(t.LANGUAGE_CACHE.delete(e.toUpperCase()),r=!0),r},t.emptyCache=function(e){var r=!1;return Number.isInteger(e)&&e>=0?(t.CACHE.delete(e),r=!0):void 0===e&&(t.CACHE=new Map,r=!0),r},t.prototype.cacheLanguage=function(){t.LANGUAGE_CACHE.has(this.lang_)||t.LANGUAGE_CACHE.set(this.lang_,{purposes:this.purposes,specialPurposes:this.specialPurposes,features:this.features,specialFeatures:this.specialFeatures,stacks:this.stacks})},t.prototype.fetchJson=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),t=this.populate,[4,Json_1.Json.fetch(e)];case 1:return t.apply(this,[n.sent()]),[3,3];case 2:throw r=n.sent(),new errors_1.GVLError(r.message);case 3:return[2]}}))}))},t.prototype.getJson=function(){return JSON.parse(JSON.stringify({gvlSpecificationVersion:this.gvlSpecificationVersion,vendorListVersion:this.vendorListVersion,tcfPolicyVersion:this.tcfPolicyVersion,lastUpdated:this.lastUpdated,purposes:this.purposes,specialPurposes:this.specialPurposes,features:this.features,specialFeatures:this.specialFeatures,stacks:this.stacks,vendors:this.fullVendorList}))},t.prototype.changeLanguage=function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,s,o,i;return __generator(this,(function(a){switch(a.label){case 0:if(r=e.toUpperCase(),!t.consentLanguages.has(r))return[3,6];if(r===this.lang_)return[3,5];if(this.lang_=r,!t.LANGUAGE_CACHE.has(r))return[3,1];for(s in n=t.LANGUAGE_CACHE.get(r))n.hasOwnProperty(s)&&(this[s]=n[s]);return[3,5];case 1:o=t.baseUrl+t.languageFilename.replace(\"[LANG]\",e),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.fetchJson(o)];case 3:return a.sent(),this.cacheLanguage(),[3,5];case 4:throw i=a.sent(),new errors_1.GVLError(\"unable to load language: \"+i.message);case 5:return[3,7];case 6:throw new errors_1.GVLError(\"unsupported language \"+e);case 7:return[2]}}))}))},Object.defineProperty(t.prototype,\"language\",{get:function(){return this.lang_},enumerable:!0,configurable:!0}),t.prototype.isVendorList=function(e){return void 0!==e&&void 0!==e.vendors},t.prototype.populate=function(e){this.purposes=e.purposes,this.specialPurposes=e.specialPurposes,this.features=e.features,this.specialFeatures=e.specialFeatures,this.stacks=e.stacks,this.isVendorList(e)&&(this.gvlSpecificationVersion=e.gvlSpecificationVersion,this.tcfPolicyVersion=e.tcfPolicyVersion,this.vendorListVersion=e.vendorListVersion,this.lastUpdated=e.lastUpdated,\"string\"==typeof this.lastUpdated&&(this.lastUpdated=new Date(this.lastUpdated)),this.vendors_=e.vendors,this.fullVendorList=e.vendors,this.mapVendors(),this.isReady_=!0,this.isLatest&&t.CACHE.set(t.LATEST_CACHE_KEY,this.getJson()),t.CACHE.has(this.vendorListVersion)||t.CACHE.set(this.vendorListVersion,this.getJson())),this.cacheLanguage()},t.prototype.mapVendors=function(e){var t=this;this.byPurposeVendorMap={},this.bySpecialPurposeVendorMap={},this.byFeatureVendorMap={},this.bySpecialFeatureVendorMap={},Object.keys(this.purposes).forEach((function(e){t.byPurposeVendorMap[e]={legInt:new Set,consent:new Set,flexible:new Set}})),Object.keys(this.specialPurposes).forEach((function(e){t.bySpecialPurposeVendorMap[e]=new Set})),Object.keys(this.features).forEach((function(e){t.byFeatureVendorMap[e]=new Set})),Object.keys(this.specialFeatures).forEach((function(e){t.bySpecialFeatureVendorMap[e]=new Set})),Array.isArray(e)||(e=Object.keys(this.fullVendorList).map((function(e){return+e}))),this.vendorIds=new Set(e),this.vendors_=e.reduce((function(e,r){var n=t.vendors_[\"\"+r];return n&&void 0===n.deletedDate&&(n.purposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].consent.add(r)})),n.specialPurposes.forEach((function(e){t.bySpecialPurposeVendorMap[e+\"\"].add(r)})),n.legIntPurposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].legInt.add(r)})),n.flexiblePurposes&&n.flexiblePurposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].flexible.add(r)})),n.features.forEach((function(e){t.byFeatureVendorMap[e+\"\"].add(r)})),n.specialFeatures.forEach((function(e){t.bySpecialFeatureVendorMap[e+\"\"].add(r)})),e[r]=n),e}),{})},t.prototype.getFilteredVendors=function(e,t,r,n){var s=this,o=e.charAt(0).toUpperCase()+e.slice(1),i={};return(\"purpose\"===e&&r?this[\"by\"+o+\"VendorMap\"][t+\"\"][r]:this[\"by\"+(n?\"Special\":\"\")+o+\"VendorMap\"][t+\"\"]).forEach((function(e){i[e+\"\"]=s.vendors[e+\"\"]})),i},t.prototype.getVendorsWithConsentPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"consent\")},t.prototype.getVendorsWithLegIntPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"legInt\")},t.prototype.getVendorsWithFlexiblePurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"flexible\")},t.prototype.getVendorsWithSpecialPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,void 0,!0)},t.prototype.getVendorsWithFeature=function(e){return this.getFilteredVendors(\"feature\",e)},t.prototype.getVendorsWithSpecialFeature=function(e){return this.getFilteredVendors(\"feature\",e,void 0,!0)},Object.defineProperty(t.prototype,\"vendors\",{get:function(){return this.vendors_},enumerable:!0,configurable:!0}),t.prototype.narrowVendorsTo=function(e){this.mapVendors(e)},Object.defineProperty(t.prototype,\"isReady\",{get:function(){return this.isReady_},enumerable:!0,configurable:!0}),t.prototype.clone=function(){var e=new t(this.getJson());return this.lang_!==t.DEFAULT_LANGUAGE&&e.changeLanguage(this.lang_),e},t.isInstanceOf=function(e){return\"object\"==typeof e&&\"function\"==typeof e.narrowVendorsTo},t.LANGUAGE_CACHE=new Map,t.CACHE=new Map,t.LATEST_CACHE_KEY=0,t.DEFAULT_LANGUAGE=\"EN\",t.consentLanguages=new model_1.ConsentLanguages,t.latestFilename=\"vendor-list.json\",t.versionedFilename=\"archives/vendor-list-v[VERSION].json\",t.languageFilename=\"purposes-[LANG].json\",t}(Cloneable_1.Cloneable);exports.GVL=GVL;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Json=function(){function e(){}return e.absCall=function(e,t,n,r){return new Promise((function(o,s){var i=new XMLHttpRequest;i.withCredentials=n,i.addEventListener(\"load\",(function(){if(i.readyState==XMLHttpRequest.DONE)if(i.status>=200&&i.status<300){var e=i.response;if(\"string\"==typeof e)try{e=JSON.parse(e)}catch(e){}o(e)}else s(new Error(\"HTTP Status: \"+i.status+\" response type: \"+i.responseType))})),i.addEventListener(\"error\",(function(){s(new Error(\"error\"))})),i.addEventListener(\"abort\",(function(){s(new Error(\"aborted\"))})),null===t?i.open(\"GET\",e,!0):i.open(\"POST\",e,!0),i.responseType=\"json\",i.timeout=r,i.ontimeout=function(){s(new Error(\"Timeout \"+r+\"ms \"+e))},i.send(t)}))},e.post=function(e,t,n,r){return void 0===n&&(n=!1),void 0===r&&(r=0),this.absCall(e,JSON.stringify(t),n,r)},e.fetch=function(e,t,n){return void 0===t&&(t=!1),void 0===n&&(n=0),this.absCall(e,null,t,n)},e}();exports.Json=Json;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable_1=require(\"./Cloneable\"),errors_1=require(\"./errors\"),GVL_1=require(\"./GVL\"),model_1=require(\"./model\"),TCModel=function(e){function t(t){var n=e.call(this)||this;return n.isServiceSpecific_=!1,n.supportOOB_=!0,n.useNonStandardStacks_=!1,n.purposeOneTreatment_=!1,n.publisherCountryCode_=\"AA\",n.version_=2,n.consentScreen_=0,n.policyVersion_=2,n.consentLanguage_=\"EN\",n.cmpId_=0,n.cmpVersion_=0,n.vendorListVersion_=0,n.numCustomPurposes_=0,n.specialFeatureOptins=new model_1.Vector,n.purposeConsents=new model_1.Vector,n.purposeLegitimateInterests=new model_1.Vector,n.publisherConsents=new model_1.Vector,n.publisherLegitimateInterests=new model_1.Vector,n.publisherCustomConsents=new model_1.Vector,n.publisherCustomLegitimateInterests=new model_1.Vector,n.vendorConsents=new model_1.Vector,n.vendorLegitimateInterests=new model_1.Vector,n.vendorsDisclosed=new model_1.Vector,n.vendorsAllowed=new model_1.Vector,n.publisherRestrictions=new model_1.PurposeRestrictionVector,t&&(n.gvl=t),n.updated(),n}return __extends(t,e),Object.defineProperty(t.prototype,\"gvl\",{get:function(){return this.gvl_},set:function(e){GVL_1.GVL.isInstanceOf(e)||(e=new GVL_1.GVL(e)),this.gvl_=e,this.publisherRestrictions.gvl=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"cmpId\",{get:function(){return this.cmpId_},set:function(e){if(!(Number.isInteger(+e)&&e>1))throw new errors_1.TCModelError(\"cmpId\",e);this.cmpId_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"cmpVersion\",{get:function(){return this.cmpVersion_},set:function(e){if(!(Number.isInteger(+e)&&e>-1))throw new errors_1.TCModelError(\"cmpVersion\",e);this.cmpVersion_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"consentScreen\",{get:function(){return this.consentScreen_},set:function(e){if(!(Number.isInteger(+e)&&e>-1))throw new errors_1.TCModelError(\"consentScreen\",e);this.consentScreen_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"consentLanguage\",{get:function(){return this.consentLanguage_},set:function(e){this.consentLanguage_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"publisherCountryCode\",{get:function(){return this.publisherCountryCode_},set:function(e){if(!/^([A-z]){2}$/.test(e))throw new errors_1.TCModelError(\"publisherCountryCode\",e);this.publisherCountryCode_=e.toUpperCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vendorListVersion\",{get:function(){return this.gvl?this.gvl.vendorListVersion:this.vendorListVersion_},set:function(e){if((e=+e>>0)<0)throw new errors_1.TCModelError(\"vendorListVersion\",e);this.vendorListVersion_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"policyVersion\",{get:function(){return this.gvl?this.gvl.tcfPolicyVersion:this.policyVersion_},set:function(e){if(this.policyVersion_=parseInt(e,10),this.policyVersion_<0)throw new errors_1.TCModelError(\"policyVersion\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"version\",{get:function(){return this.version_},set:function(e){this.version_=parseInt(e,10)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isServiceSpecific\",{get:function(){return this.isServiceSpecific_},set:function(e){this.isServiceSpecific_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useNonStandardStacks\",{get:function(){return this.useNonStandardStacks_},set:function(e){this.useNonStandardStacks_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"supportOOB\",{get:function(){return this.supportOOB_},set:function(e){this.supportOOB_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"purposeOneTreatment\",{get:function(){return this.purposeOneTreatment_},set:function(e){this.purposeOneTreatment_=e},enumerable:!0,configurable:!0}),t.prototype.setAllVendorConsents=function(){this.vendorConsents.set(this.gvl.vendors)},t.prototype.unsetAllVendorConsents=function(){this.vendorConsents.empty()},t.prototype.setAllVendorsDisclosed=function(){this.vendorsDisclosed.set(this.gvl.vendors)},t.prototype.unsetAllVendorsDisclosed=function(){this.vendorsDisclosed.empty()},t.prototype.setAllVendorsAllowed=function(){this.vendorsAllowed.set(this.gvl.vendors)},t.prototype.unsetAllVendorsAllowed=function(){this.vendorsAllowed.empty()},t.prototype.setAllVendorLegitimateInterests=function(){this.vendorLegitimateInterests.set(this.gvl.vendors)},t.prototype.unsetAllVendorLegitimateInterests=function(){this.vendorLegitimateInterests.empty()},t.prototype.setAllPurposeConsents=function(){this.purposeConsents.set(this.gvl.purposes)},t.prototype.unsetAllPurposeConsents=function(){this.purposeConsents.empty()},t.prototype.setAllPurposeLegitimateInterests=function(){this.purposeLegitimateInterests.set(this.gvl.purposes)},t.prototype.unsetAllPurposeLegitimateInterests=function(){this.purposeLegitimateInterests.empty()},t.prototype.setAllSpecialFeatureOptins=function(){this.specialFeatureOptins.set(this.gvl.specialFeatures)},t.prototype.unsetAllSpecialFeatureOptins=function(){this.specialFeatureOptins.empty()},t.prototype.setAll=function(){this.setAllVendorConsents(),this.setAllPurposeLegitimateInterests(),this.setAllSpecialFeatureOptins(),this.setAllPurposeConsents(),this.setAllVendorLegitimateInterests()},t.prototype.unsetAll=function(){this.unsetAllVendorConsents(),this.unsetAllPurposeLegitimateInterests(),this.unsetAllSpecialFeatureOptins(),this.unsetAllPurposeConsents(),this.unsetAllVendorLegitimateInterests()},Object.defineProperty(t.prototype,\"numCustomPurposes\",{get:function(){var e=this.numCustomPurposes_;if(\"object\"==typeof this.customPurposes){var t=Object.keys(this.customPurposes).sort((function(e,t){return+e-+t}));e=parseInt(t.pop(),10)}return e},set:function(e){if(this.numCustomPurposes_=parseInt(e,10),this.numCustomPurposes_<0)throw new errors_1.TCModelError(\"numCustomPurposes\",e)},enumerable:!0,configurable:!0}),t.prototype.updated=function(){var e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()));this.created=t,this.lastUpdated=t},t.consentLanguages=GVL_1.GVL.consentLanguages,t}(Cloneable_1.Cloneable);exports.TCModel=TCModel;","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./TCFCommand\"));","\"use strict\";var TCFCommand;Object.defineProperty(exports,\"__esModule\",{value:!0}),function(e){e.PING=\"ping\",e.GET_TC_DATA=\"getTCData\",e.GET_IN_APP_TC_DATA=\"getInAppTCData\",e.GET_VENDOR_LIST=\"getVendorList\",e.ADD_EVENT_LISTENER=\"addEventListener\",e.REMOVE_EVENT_LISTENER=\"removeEventListener\"}(TCFCommand=exports.TCFCommand||(exports.TCFCommand={}));","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Response_1=require(\"./Response\"),status_1=require(\"../status\"),Disabled=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.cmpStatus=status_1.CmpStatus.ERROR,e}return __extends(e,t),e}(Response_1.Response);exports.Disabled=Disabled;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}(),__read=this&&this.__read||function(e,t){var r=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var o,i,n=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=n.next()).done;)s.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return s},__spread=this&&this.__spread||function(){for(var e=[],t=0;t0)for(var r=e.getMaxVendorId(),o=function(r){var o=r.toString();e.getRestrictions(r).forEach((function(e){var r=e.purposeId.toString();t[r]||(t[r]={}),t[r][o]=e.restrictionType}))},i=1;i<=r;i++)o(i);return t},t.prototype.createVectorField=function(e,t){return t?t.reduce((function(t,r){return t[r+\"\"]=e.has(+r),t}),{}):__spread(e).reduce((function(e,t){return e[t[0].toString(10)]=t[1],e}),{})},t}(Response_1.Response);exports.TCData=TCData;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var AdditionalModel=function(){};exports.AdditionalModel=AdditionalModel;","\"use strict\";var __read=this&&this.__read||function(o,n){var m=\"function\"==typeof Symbol&&o[Symbol.iterator];if(!m)return o;var a,e,t=m.call(o),i=[];try{for(;(void 0===n||n-- >0)&&!(a=t.next()).done;)i.push(a.value)}catch(o){e={error:o}}finally{try{a&&!a.done&&(m=t.return)&&m.call(t)}finally{if(e)throw e.error}}return i},__spread=this&&this.__spread||function(){for(var o=[],n=0;n new Promise(resolve => {\n this.tcModel.gvlIsReady().then(() => {\n let resolved = false\n const done = (tcData) => {\n if (!resolved) {\n resolved = true\n resolve(tcData)\n }\n }\n global.__tcfapi('addEventListener', 2, tcData => {\n if (tcData.tcString.length) {\n global.__tcfapi('removeEventListener', 2, () => {}, tcData.listenerId)\n done(tcData)\n }\n })\n global.__tcfapi('getTCData', 2, tcData => {\n if (tcData.tcString.length) {\n done(tcData)\n }\n })\n })\n })\n\n this.api = new CmpApi(27, 3, true, {\n hasUserConsentedToAll: async callback => {\n this.runApiMethod(async () => {\n await this.tcModel.gvlIsReady()\n return this.hasUserConsentedToAll()\n }, callback)\n },\n hasUserDissentedToAll: async callback => {\n this.runApiMethod(async () => {\n await this.tcModel.gvlIsReady()\n return this.hasUserDissentedToAll()\n }, callback)\n },\n getPurposesByVendorMap: async (callback) => {\n this.runApiMethod(async () => {\n await this.tcModel.gvlIsReady()\n return this.getPurposesByVendorMap()\n }, callback)\n },\n getCustomVendorsConsents: async (callback) => {\n this.runApiMethod(async () => {\n await this.tcModel.gvlIsReady()\n return this.getCustomVendorsConsents()\n }, callback)\n },\n getNonRegisteredVendorsConsents: (callback) => {\n this.runApiMethod(async () => {\n await this.tcModel.gvlIsReady()\n return this.getNonRegisteredVendorsConsents()\n }, callback)\n },\n getConsentDegree: async (callback) => {\n this.runApiMethod(async () => this.getConsentDegree(), callback)\n },\n setUserId: (callback, uuid) => {\n this.runApiMethod(() => {\n this.uuid = uuid\n return null\n }, callback)\n },\n openUi: (callback, { uiLevel, uuid = this.uuid }) => {\n this.runApiMethod(() => {\n this.uuid = uuid\n this.openUi(uiLevel)\n }, callback)\n },\n getValidTCData: async callback => {\n this.runApiMethod(async () => validTCDataP(), callback)\n },\n consentedVendors: async callback => {\n this.runApiMethod(async () => this.consentedVendors(), callback)\n },\n consentedVendorsDetails: async callback => {\n this.runApiMethod(async () => this.consentedVendorsDetails(), callback)\n },\n getStoredRepromptVersion: callback => {\n this.runApiMethod(() => this.repromptVersion, callback)\n },\n getNonRegisteredVendors: callback => {\n this.runApiMethod(() => this.getNonRegisteredVendors(), callback)\n }\n })\n }\n\n async runApiMethod (fn, callback) {\n try {\n const resp = await fn()\n callback(resp, true)\n } catch (e) {\n log(e)\n callback(null, false)\n }\n }\n\n getGvl () {\n return this.tcModel.gvl\n }\n\n async notifyModelUpdate () {\n const tcString = this.tcModel.tcString()\n this.hasUserSelectedTheirPreference = true\n const consentDegree = await this.getConsentDegree()\n const addtlConsent = this.acmModel.getConsentString()\n const acmVersion = this.acmModel.getVendorListVersion()\n const nrvString = this.nrvModel.getConsentString()\n const nrvVersion = this.nrvModel.getVendorListVersion()\n\n /**\n * @type {import('../persist/Persist').SaveOpts}\n */\n const persistOpts = {\n uuid: this.uuid,\n tcString,\n consentDegree,\n addtlConsent,\n nrvString\n }\n await this.persist.saveTCString(persistOpts)\n this.repromptVersion = this.nextRepromptVersion\n this.api.update(tcString, false, { addtlConsent, acmVersion, nrvString, nrvVersion, repromptVersion: this.repromptVersion })\n }\n\n updateConsent (data) {\n log('data', data)\n\n const formConsentAndLegInt = (pref, keyPrefix) => {\n const consentKey = `${keyPrefix}Consents`\n const legIntKey = `${keyPrefix}LegitimateInterests`\n return Object.entries(pref).reduce((acc, [id, userPreference]) => {\n const { consent, legInterest } = userPreference\n const _id = parseInt(id)\n if (consent) {\n acc[consentKey].push(_id)\n }\n if (legInterest) {\n acc[legIntKey].push(_id)\n }\n return acc\n }, { [consentKey]: [], [legIntKey]: [] })\n }\n\n const { purposes = {}, specialFeatures = {}, vendors = {}, nonTcfVendors = {}, nonRegisteredVendors = {} } = data\n const { vendorConsents, vendorLegitimateInterests } = formConsentAndLegInt(vendors, 'vendor')\n const { purposeConsents, purposeLegitimateInterests } = formConsentAndLegInt(purposes, 'purpose')\n const specialFeatureOptins = Object.entries(specialFeatures).reduce((acc, [specialFeatureId, userPreference]) => {\n const id = parseInt(specialFeatureId)\n if (userPreference.optIn) {\n acc.push(id)\n }\n return acc\n }, [])\n\n this.acmModel.updateModel(nonTcfVendors)\n this.nrvModel.updateModel(nonRegisteredVendors)\n const options = { vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins, consentScreen: this.lastKnownConsentScreen }\n log('options:', options)\n this.tcModel.updateUserPreferences(options)\n this.notifyModelUpdate()\n log('model updates', vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, this.acmModel.getConsents(), this.nrvModel.getConsents())\n }\n\n consentToAll () {\n log('user consenting to all')\n this.acmModel.consentToAll()\n this.nrvModel.consentToAll()\n this.tcModel.consentAll({ consentScreen: this.lastKnownConsentScreen })\n this.notifyModelUpdate()\n }\n\n dissentToAll () {\n log('user dissenting to all')\n this.acmModel.dissentToAll()\n this.nrvModel.dissentToAll()\n this.tcModel.dissentAll({ consentScreen: this.lastKnownConsentScreen })\n this.notifyModelUpdate()\n }\n\n levelChanged ({ currentLevel }) {\n try {\n this.setCurrentLevel(currentLevel)\n log('last known consent screen:', this.lastKnownConsentScreen)\n } catch (e) {\n log(e.message)\n }\n }\n\n setCurrentLevel (currentLevel) {\n const screen = currentLevel.match(/\\d/)\n if (typeof screen[0] === 'undefined') {\n throw new Error('Unknown level: ' + currentLevel)\n }\n this.lastKnownConsentScreen = screen[0]\n }\n\n isReady () {\n return this.tcModel.gvlIsReady()\n }\n\n hasUserConsentedToAll () {\n if (!this.hasUserSelectedTheirPreference) return false\n return this.tcModel.hasUserConsentedToAll() && this.acmModel.hasUserConsentedToAll() && this.nrvModel.hasUserConsentedToAll()\n }\n\n hasUserDissentedToAll () {\n if (!this.hasUserSelectedTheirPreference) return false\n return this.tcModel.hasUserDissentedToAll() && this.acmModel.hasUserDissentedToAll() && this.nrvModel.hasUserDissentedToAll()\n }\n\n getCustomVendorsConsents () {\n return this.acmModel.getConsents()\n }\n\n getNonRegisteredVendorsConsents () {\n return this.nrvModel.getConsents()\n }\n\n async getConsentDegree () {\n await this.tcModel.gvlIsReady()\n return this.hasUserSelectedTheirPreference ? this.hasUserConsentedToAll() && 'yes' || this.hasUserDissentedToAll() && 'no' || 'partial' : undefined\n }\n\n async consentedVendors () {\n await this.tcModel.gvlIsReady()\n return this.tcModel.consentedVendors()\n }\n\n async consentedVendorsDetails () {\n await this.tcModel.gvlIsReady()\n return this.tcModel.consentedVendorsDetails()\n }\n\n getPurposesByVendorMap () {\n const entries = Object.entries(this.tcModel.byPurposeVendorMap())\n const purposesByVendorMap = entries\n .reduce((acc, [purpose, { consent: vendorIds }]) => {\n vendorIds.forEach(vendorId => (acc[vendorId] = acc[vendorId] || []).push(purpose))\n return acc\n }, {})\n return purposesByVendorMap\n }\n\n getNonRegisteredVendors () {\n return this.nrvModel.getVendors()\n }\n\n /**\n * @param {UiLevel} uiLevel \n */\n async openUi (uiLevel) {\n if (this.gvlVersion !== this.gvlUiVersion) {\n const url = `//cmp.dmgmediaprivacy.co.uk/gvl/${this.gvlUiVersion}/vendor-list.json`\n const response = await fetch(url)\n const gvlJson = await response.json()\n const tcModel = await createTcModel({ gvl: new GVL(gvlJson), oldModel: this.tcModel })\n this.tcModel = tcModel\n this.gvlVersion = this.gvlUiVersion\n }\n\n if (this.acmModel.getVendorListVersion() !== this.cvlUiVersion) {\n const url = `//cmp.dmgmediaprivacy.co.uk/custom/${this.cvlUiVersion}/vendor-list.json`\n const response = await fetch(url)\n const cvlJson = await response.json()\n this.acmModel = new NonIABModel({ vendorList: Object.values(cvlJson), consentString: this.acmModel.getConsentString(), vendorListVersion: this.cvlUiVersion })\n }\n\n if (this.nrvModel.getVendorListVersion() !== this.nrvUiVersion) {\n const url = `//cmp.dmgmediaprivacy.co.uk/nrv/${this.nrvUiVersion}/vendor-list.json`\n const response = await fetch(url)\n const nrvJson = await response.json()\n this.nrvModel = new NonIABModel({ vendorList: Object.values(nrvJson), consentString: this.nrvModel.getConsentString(), vendorListVersion: this.nrvUiVersion })\n }\n\n const consentString = this.hasUserSelectedTheirPreference ? this.tcModel.tcString() : ''\n const cmpModel = {\n tcModel: this.tcModel.model,\n hasUserSelectedTheirPreference: this.hasUserSelectedTheirPreference,\n acmVendors: this.acmModel.getUiModel(),\n nonRegisteredVendors: this.nrvModel.getUiModel()\n }\n const cmpUpdateHandlers = {\n reloadTcModel: this.reloadTcModel,\n updateConsent: this.updateConsent,\n consentToAll: this.consentToAll,\n dissentToAll: this.dissentToAll,\n levelChanged: this.levelChanged\n }\n\n log('opening UI')\n this.setCurrentLevel(uiLevel)\n this.ui.open(uiLevel, { cmpModel, cmpUpdateHandlers })\n this.api.update(consentString, true, { \n addtlConsent: this.acmModel.getConsentString(),\n acmVersion: this.acmModel.getVendorListVersion(),\n nrvString: this.nrvModel.getConsentString(),\n nrvVersion: this.nrvModel.getVendorListVersion(),\n repromptVersion: this.repromptVersion\n })\n }\n\n notifyUsersPreferences () {\n const consentString = this.hasUserSelectedTheirPreference ? this.tcModel.tcString() : ''\n log('notifying users')\n this.api.update(consentString, false, { \n addtlConsent: this.acmModel.getConsentString(),\n acmVersion: this.acmModel.getVendorListVersion(),\n nrvString: this.nrvModel.getConsentString(),\n nrvVersion: this.nrvModel.getVendorListVersion(),\n repromptVersion: this.repromptVersion \n })\n }\n\n reloadTcModel (tcString) {\n this.tcModel.reload(tcString)\n this.isReady().then(() => {\n this.hasUserSelectedTheirPreference = true\n this.notifyUsersPreferences()\n })\n }\n\n setUuid (uuid) {\n this.uuid = uuid\n }\n}\n\n/**\n * @param {CreateCmpOpts} opts\n * @returns {Promise}\n */\nexport async function createCmp ({ gvlJson, cvlJson = {}, nrvJson = {}, tcString, addtlConsent, storeTcString, persist, ui, uuid, gvlVersion, gvlUiVersion, repromptVersion, nextRepromptVersion, nrvString, nrvVersion, nrvUiVersion, cvlVersion, cvlUiVersion }) {\n const gvl = new GVL(gvlJson)\n const tcModel = await createTcModel({ gvl, tcString })\n return new Cmp({ \n tcModel, \n cvlJson, \n nrvJson,\n tcString, \n addtlConsent, \n storeTcString, \n persist, \n ui, \n uuid, \n gvlVersion, \n gvlUiVersion, \n repromptVersion, \n nextRepromptVersion,\n nrvString,\n nrvVersion,\n nrvUiVersion,\n cvlVersion,\n cvlUiVersion\n })\n}\n\n/**\n * @typedef {Omit & {tcModel: import('./tcModel').TcModel}} CmpOpts\n */\n\n/**\n * @typedef {Object} CreateCmpOpts\n * @property {*} gvlJson\n * @property {*} cvlJson\n * @property {*} [nrvJson]\n * @property {string} [tcString]\n * @property {string} [addtlConsent]\n * @property {boolean} storeTcString\n * @property {*} persist\n * @property {*} ui\n * @property {string} uuid\n * @property {number} gvlVersion\n * @property {number} gvlUiVersion\n * @property {number} repromptVersion\n * @property {number} nextRepromptVersion\n * @property {string} [nrvString]\n * @property {number} [nrvVersion]\n * @property {number} nrvUiVersion\n * @property {number|string} cvlVersion\n * @property {number} cvlUiVersion\n */\n\n/**\n * @typedef {'Level1'|'Level2'} UiLevel\n */","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./command\")),__export(require(\"./response\")),__export(require(\"./status\")),__export(require(\"./CmpApi\"));var CallResponder_1=require(\"./CallResponder\");exports.API_KEY=CallResponder_1.API_KEY;","(function () {\n const TCF_LOCATOR_NAME = '__tcfapiLocator'\n\n function makeStub () {\n const queue = []\n const currentWindow = window\n let frameLocator = window\n let hasEventListener = false\n let cmpFrame\n\n function addFrame () {\n const doc = currentWindow.document\n\n if (!currentWindow.frames[TCF_LOCATOR_NAME]) {\n if (doc.readyState === 'interactive' || doc.readyState === 'complete') {\n const iframe = doc.createElement('iframe')\n\n iframe.style.display = 'none'\n iframe.name = TCF_LOCATOR_NAME\n doc.body.appendChild(iframe)\n\n if (hasEventListener) {\n doc.removeEventListener('readystatechange', addFrame)\n hasEventListener = false\n }\n } else if (typeof doc.addEventListener === 'function') {\n doc.addEventListener('readystatechange', addFrame)\n hasEventListener = true\n } else {\n setTimeout(addFrame, 5)\n }\n }\n }\n\n function tcfAPIHandler (...args) {\n let gdprApplies\n\n if (!args.length) {\n /**\n * shortcut to get the queue when the full CMP\n * implementation loads; it can call tcfapiHandler()\n * with no arguments to get the queued arguments\n */\n return queue\n }\n\n const callbackFn = args[2]\n\n switch (args[0]) {\n case 'setGdprApplies':\n /**\n * shortcut to set gdprApplies if the publisher\n * knows that they apply GDPR rules to all\n * traffic (see the section on \"What does the\n * gdprApplies value mean\") for more\n */\n if (args.length > 3 && parseInt(args[1], 10) === 2 && typeof args[3] === 'boolean') {\n gdprApplies = args[3]\n\n if (typeof callbackFn === 'function') {\n callbackFn('set', true)\n }\n }\n break\n case 'ping':\n /**\n * Only supported method; give PingReturn\n * object as response\n */\n if (typeof callbackFn === 'function') {\n callbackFn({\n gdprApplies: gdprApplies,\n cmpLoaded: false,\n cmpStatus: 'stub'\n })\n }\n break\n default:\n /**\n * some other method, just queue it for the\n * full CMP implementation to deal with\n */\n queue.push(args)\n break\n }\n }\n\n function postMessageEventHandler (event) {\n if (!event || !event.source || !event.source.postMessage) {\n /**\n * either invalid function call or \"postMessage\"\n * isn't available on calling side\n * either way return early\n */\n return\n }\n\n const msgIsString = typeof event.data === 'string'\n let json = event.data\n\n if (msgIsString) {\n try {\n /**\n * Try to parse the data from the event. This is important\n * to have in a try/catch because often messages may come\n * through that are not JSON\n */\n json = JSON.parse(event.data)\n } catch (ignore) {\n /**\n * Since it's not possible to parse the given message\n * return early\n */\n return\n }\n }\n\n if (typeof json === 'object' && json.__tcfapiCall) {\n const payload = json.__tcfapiCall\n\n window.__tcfapi(\n payload.command,\n payload.version,\n (retValue, success) => {\n const returnMsg = {\n __tcfapiReturn: {\n returnValue: retValue,\n success: success,\n callId: payload.callId\n }\n }\n\n event.source.postMessage(\n (msgIsString) ? JSON.stringify(returnMsg) : returnMsg,\n '*'\n )\n },\n payload.parameter\n )\n }\n }\n\n /**\n * Iterate up to the top window checking for an already-created\n * \"__tcfapilLocator\" frame on every level. If one exists already then we are\n * not the master CMP and will not queue commands.\n */\n while (frameLocator) {\n try {\n if (frameLocator.frames[TCF_LOCATOR_NAME]) {\n cmpFrame = frameLocator\n break\n }\n } catch (ignore) { }\n\n // if we're at the top and no cmpFrame\n if (frameLocator === currentWindow.top) {\n break\n }\n\n // Move up\n frameLocator = frameLocator.parent\n }\n\n if (!cmpFrame) {\n // we have recur'd up the windows and have found no __tcfapiLocator frame\n addFrame()\n currentWindow.__tcfapi = tcfAPIHandler\n currentWindow.addEventListener('message', postMessageEventHandler, false)\n }\n };\n\n if (typeof module !== 'undefined') {\n module.exports = makeStub\n } else {\n makeStub()\n }\n})()\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var DecodingError=function(r){function t(t){var o=r.call(this,t)||this;return o.name=\"DecodingError\",o}return __extends(t,r),t}(Error);exports.DecodingError=DecodingError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var EncodingError=function(r){function t(t){var n=r.call(this,t)||this;return n.name=\"EncodingError\",n}return __extends(t,r),t}(Error);exports.EncodingError=EncodingError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var GVLError=function(r){function t(t){var o=r.call(this,t)||this;return o.name=\"GVLError\",o}return __extends(t,r),t}(Error);exports.GVLError=GVLError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var TCModelError=function(r){function t(t,o,e){void 0===e&&(e=\"\");var n=r.call(this,\"invalid value \"+o+\" passed for \"+t+\" \"+e)||this;return n.name=\"TCModelError\",n}return __extends(t,r),t}(Error);exports.TCModelError=TCModelError;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var ConsentLanguages=function(){function e(){}return e.prototype.has=function(n){return e.langSet.has(n)},e.prototype.forEach=function(n){e.langSet.forEach(n)},Object.defineProperty(e.prototype,\"size\",{get:function(){return e.langSet.size},enumerable:!0,configurable:!0}),e.langSet=new Set([\"BG\",\"CA\",\"CS\",\"DA\",\"DE\",\"EL\",\"EN\",\"ES\",\"ET\",\"FI\",\"FR\",\"HR\",\"HU\",\"IT\",\"JA\",\"LT\",\"LV\",\"MT\",\"NL\",\"NO\",\"PL\",\"PT\",\"RO\",\"RU\",\"SK\",\"SL\",\"SV\",\"TR\",\"ZH\"]),e}();exports.ConsentLanguages=ConsentLanguages;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}(),__values=this&&this.__values||function(e){var t=\"function\"==typeof Symbol&&Symbol.iterator,r=t&&e[t],o=0;if(r)return r.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")};Object.defineProperty(exports,\"__esModule\",{value:!0});var PurposeRestriction_1=require(\"./PurposeRestriction\"),BinarySearchTree_1=require(\"./BinarySearchTree\"),RestrictionType_1=require(\"./RestrictionType\"),Cloneable_1=require(\"../Cloneable\"),PurposeRestrictionVector=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.bitLength=0,t.map=new Map,t}return __extends(t,e),t.prototype.has=function(e){return this.map.has(e)},t.prototype.isOkToHave=function(e,t,r){var o,i=!0;if(null===(o=this.gvl)||void 0===o?void 0:o.vendors){var n=this.gvl.vendors[r];if(n)if(e===RestrictionType_1.RestrictionType.NOT_ALLOWED)i=n.legIntPurposes.includes(t)||n.purposes.includes(t);else if(n.flexiblePurposes.length)switch(e){case RestrictionType_1.RestrictionType.REQUIRE_CONSENT:i=n.flexiblePurposes.includes(t)&&n.legIntPurposes.includes(t);break;case RestrictionType_1.RestrictionType.REQUIRE_LI:i=n.flexiblePurposes.includes(t)&&n.purposes.includes(t)}else i=!1;else i=!1}return i},t.prototype.add=function(e,t){if(this.isOkToHave(t.restrictionType,t.purposeId,e)){var r=t.hash;this.has(r)||(this.map.set(r,new BinarySearchTree_1.BinarySearchTree),this.bitLength=0),this.map.get(r).add(e)}},t.prototype.restrictPurposeToLegalBasis=function(e){for(var t=this.gvl.vendorIds,r=e.hash,o=function(){var e,r,o;try{for(var i=__values(t),n=i.next();!n.done;n=i.next())o=n.value}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return o}(),i=1;i<=o;i++)this.has(r)||(this.map.set(r,new BinarySearchTree_1.BinarySearchTree),this.bitLength=0),this.map.get(r).add(i)},t.prototype.getVendors=function(e){var t=[];if(e){var r=e.hash;this.has(r)&&(t=this.map.get(r).get())}else{var o=new Set;this.map.forEach((function(e){e.get().forEach((function(e){o.add(e)}))})),t=Array.from(o)}return t},t.prototype.getRestrictionType=function(e,t){var r;return this.getRestrictions(e).forEach((function(e){e.purposeId===t&&(void 0===r||r>e.restrictionType)&&(r=e.restrictionType)})),r},t.prototype.vendorHasRestriction=function(e,t){for(var r=!1,o=this.getRestrictions(e),i=0;i0&&o[o.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0},e.prototype.isSet=function(t){var e=!1;return t instanceof Set&&(e=Array.from(t).every(this.isValidNumber)),e},e.prototype.set=function(t){var e=this;if(Array.isArray(t))t.forEach((function(t){return e.set(t)}));else if(this.isSet(t))this.set(Array.from(t));else if(this.isIntMap(t))this.set(Object.keys(t).map((function(t){return+t})));else{if(!this.isValidNumber(t))throw new errors_1.TCModelError(\"set()\",t,\"must be positive integer array, positive integer, Set, or IntMap\");this.set_.add(t),this.maxId_=Math.max(this.maxId,t),this.bitLength=0}},e.prototype.empty=function(){this.set_=new Set},e.prototype.forEach=function(t){for(var e=1;e<=this.maxId;e++)t(this.has(e),e)},Object.defineProperty(e.prototype,\"size\",{get:function(){return this.set_.size},enumerable:!0,configurable:!0}),e.prototype.setAll=function(t){this.set(t)},e}(Cloneable_1.Cloneable);exports.Vector=Vector;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Base64Url_1=require(\"./Base64Url\"),BitLength_1=require(\"./BitLength\"),field_1=require(\"./field\"),sequence_1=require(\"./sequence\"),errors_1=require(\"../errors\"),Fields_1=require(\"../model/Fields\"),model_1=require(\"../model\"),SegmentEncoder=function(){function e(){}return e.encode=function(e,r){var n,i=this;try{n=this.fieldSequence[\"\"+e.version][r]}catch(n){throw new errors_1.EncodingError(\"Unable to encode version: \"+e.version+\", segment: \"+r)}var t=\"\";return r!==model_1.Segment.CORE&&(t=field_1.IntEncoder.encode(model_1.SegmentIDs.KEY_TO_ID[r],BitLength_1.BitLength.segmentType)),n.forEach((function(n){var o=e[n],s=field_1.FieldEncoderMap[n],d=BitLength_1.BitLength[n];void 0===d&&i.isPublisherCustom(n)&&(d=+e[Fields_1.Fields.numCustomPurposes]);try{t+=s.encode(o,d)}catch(e){throw new errors_1.EncodingError(\"Error encoding \"+r+\"->\"+n+\": \"+e.message)}})),Base64Url_1.Base64Url.encode(t)},e.decode=function(e,r,n){var i=this,t=Base64Url_1.Base64Url.decode(e),o=0;return n===model_1.Segment.CORE&&(r.version=field_1.IntEncoder.decode(t.substr(o,BitLength_1.BitLength[Fields_1.Fields.version]),BitLength_1.BitLength[Fields_1.Fields.version])),n!==model_1.Segment.CORE&&(o+=BitLength_1.BitLength.segmentType),this.fieldSequence[\"\"+r.version][n].forEach((function(e){var n=field_1.FieldEncoderMap[e],s=BitLength_1.BitLength[e];if(void 0===s&&i.isPublisherCustom(e)&&(s=+r[Fields_1.Fields.numCustomPurposes]),0!==s){var d=t.substr(o,s);if(n===field_1.VendorVectorEncoder?r[e]=n.decode(d,r.version):r[e]=n.decode(d,s),Number.isInteger(s))o+=s;else{if(!Number.isInteger(r[e].bitLength))throw new errors_1.DecodingError(e);o+=r[e].bitLength}}})),r},e.isPublisherCustom=function(e){return 0===e.indexOf(\"publisherCustom\")},e.fieldSequence=new sequence_1.FieldSequence,e}();exports.SegmentEncoder=SegmentEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),BooleanEncoder_1=require(\"./BooleanEncoder\"),DateEncoder_1=require(\"./DateEncoder\"),FixedVectorEncoder_1=require(\"./FixedVectorEncoder\"),IntEncoder_1=require(\"./IntEncoder\"),LangEncoder_1=require(\"./LangEncoder\"),PurposeRestrictionVectorEncoder_1=require(\"./PurposeRestrictionVectorEncoder\"),VendorVectorEncoder_1=require(\"./VendorVectorEncoder\"),FieldEncoderMap=function(){function e(){}var o,r,d,n,c,t,i,s,l,E,_,F,V,a,m,u,p,I,x,g,L,v,C,q,B,b;return o=model_1.Fields.version,r=model_1.Fields.created,d=model_1.Fields.lastUpdated,n=model_1.Fields.cmpId,c=model_1.Fields.cmpVersion,t=model_1.Fields.consentScreen,i=model_1.Fields.consentLanguage,s=model_1.Fields.vendorListVersion,l=model_1.Fields.policyVersion,E=model_1.Fields.isServiceSpecific,_=model_1.Fields.useNonStandardStacks,F=model_1.Fields.specialFeatureOptins,V=model_1.Fields.purposeConsents,a=model_1.Fields.purposeLegitimateInterests,m=model_1.Fields.purposeOneTreatment,u=model_1.Fields.publisherCountryCode,p=model_1.Fields.vendorConsents,I=model_1.Fields.vendorLegitimateInterests,x=model_1.Fields.publisherRestrictions,g=model_1.Fields.vendorsDisclosed,L=model_1.Fields.vendorsAllowed,v=model_1.Fields.publisherConsents,C=model_1.Fields.publisherLegitimateInterests,q=model_1.Fields.numCustomPurposes,B=model_1.Fields.publisherCustomConsents,b=model_1.Fields.publisherCustomLegitimateInterests,e[o]=IntEncoder_1.IntEncoder,e[r]=DateEncoder_1.DateEncoder,e[d]=DateEncoder_1.DateEncoder,e[n]=IntEncoder_1.IntEncoder,e[c]=IntEncoder_1.IntEncoder,e[t]=IntEncoder_1.IntEncoder,e[i]=LangEncoder_1.LangEncoder,e[s]=IntEncoder_1.IntEncoder,e[l]=IntEncoder_1.IntEncoder,e[E]=BooleanEncoder_1.BooleanEncoder,e[_]=BooleanEncoder_1.BooleanEncoder,e[F]=FixedVectorEncoder_1.FixedVectorEncoder,e[V]=FixedVectorEncoder_1.FixedVectorEncoder,e[a]=FixedVectorEncoder_1.FixedVectorEncoder,e[m]=BooleanEncoder_1.BooleanEncoder,e[u]=LangEncoder_1.LangEncoder,e[p]=VendorVectorEncoder_1.VendorVectorEncoder,e[I]=VendorVectorEncoder_1.VendorVectorEncoder,e[x]=PurposeRestrictionVectorEncoder_1.PurposeRestrictionVectorEncoder,e.segmentType=IntEncoder_1.IntEncoder,e[g]=VendorVectorEncoder_1.VendorVectorEncoder,e[L]=VendorVectorEncoder_1.VendorVectorEncoder,e[v]=FixedVectorEncoder_1.FixedVectorEncoder,e[C]=FixedVectorEncoder_1.FixedVectorEncoder,e[q]=IntEncoder_1.IntEncoder,e[B]=FixedVectorEncoder_1.FixedVectorEncoder,e[b]=FixedVectorEncoder_1.FixedVectorEncoder,e}();exports.FieldEncoderMap=FieldEncoderMap;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),FieldSequence=function(){var e,d;this[1]=((e={})[model_1.Segment.CORE]=[model_1.Fields.version,model_1.Fields.created,model_1.Fields.lastUpdated,model_1.Fields.cmpId,model_1.Fields.cmpVersion,model_1.Fields.consentScreen,model_1.Fields.consentLanguage,model_1.Fields.vendorListVersion,model_1.Fields.purposeConsents,model_1.Fields.vendorConsents],e),this[2]=((d={})[model_1.Segment.CORE]=[model_1.Fields.version,model_1.Fields.created,model_1.Fields.lastUpdated,model_1.Fields.cmpId,model_1.Fields.cmpVersion,model_1.Fields.consentScreen,model_1.Fields.consentLanguage,model_1.Fields.vendorListVersion,model_1.Fields.policyVersion,model_1.Fields.isServiceSpecific,model_1.Fields.useNonStandardStacks,model_1.Fields.specialFeatureOptins,model_1.Fields.purposeConsents,model_1.Fields.purposeLegitimateInterests,model_1.Fields.purposeOneTreatment,model_1.Fields.publisherCountryCode,model_1.Fields.vendorConsents,model_1.Fields.vendorLegitimateInterests,model_1.Fields.publisherRestrictions],d[model_1.Segment.PUBLISHER_TC]=[model_1.Fields.publisherConsents,model_1.Fields.publisherLegitimateInterests,model_1.Fields.numCustomPurposes,model_1.Fields.publisherCustomConsents,model_1.Fields.publisherCustomLegitimateInterests],d[model_1.Segment.VENDORS_ALLOWED]=[model_1.Fields.vendorsAllowed],d[model_1.Segment.VENDORS_DISCLOSED]=[model_1.Fields.vendorsDisclosed],d)};exports.FieldSequence=FieldSequence;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),SegmentSequence=function(e,s){if(this[1]=[model_1.Segment.CORE],this[2]=[model_1.Segment.CORE],2===e.version)if(e.isServiceSpecific)this[2].push(model_1.Segment.PUBLISHER_TC);else{var t=!(!s||!s.isForVendors);t&&!0!==e[model_1.Fields.supportOOB]||this[2].push(model_1.Segment.VENDORS_DISCLOSED),t&&(e[model_1.Fields.supportOOB]&&e[model_1.Fields.vendorsAllowed].size>0&&this[2].push(model_1.Segment.VENDORS_ALLOWED),this[2].push(model_1.Segment.PUBLISHER_TC))}};exports.SegmentSequence=SegmentSequence;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../errors\"),model_1=require(\"../model\"),SemanticPreEncoder=function(){function e(){}return e.process=function(e,r){var o,s,n=e.gvl;if(!n)throw new errors_1.EncodingError(\"Unable to encode TCModel without a GVL\");if(!n.isReady)throw new errors_1.EncodingError(\"Unable to encode TCModel tcModel.gvl.readyPromise is not resolved\");(e=e.clone()).consentLanguage=n.language.toUpperCase(),(null===(o=r)||void 0===o?void 0:o.version)>0&&(null===(s=r)||void 0===s?void 0:s.version)<=this.processor.length?e.version=r.version:e.version=this.processor.length;var t=e.version-1;if(!this.processor[t])throw new errors_1.EncodingError(\"Invalid version: \"+e.version);return this.processor[t](e,n)},e.processor=[function(e){return e},function(e,r){e.publisherRestrictions.gvl=r,e.purposeLegitimateInterests.unset(1);var o=new Map;return o.set(\"legIntPurposes\",e.vendorLegitimateInterests),o.set(\"purposes\",e.vendorConsents),o.forEach((function(o,s){o.forEach((function(n,t){if(n){var i=r.vendors[t];if(!i||i.deletedDate)o.unset(t);else if(0===i[s].length)if(\"legIntPurposes\"===s&&0===i.purposes.length&&0===i.legIntPurposes.length&&i.specialPurposes.length>0);else if(e.isServiceSpecific)if(0===i.flexiblePurposes.length)o.unset(t);else{for(var l=e.publisherRestrictions.getRestrictions(t),c=!1,u=0,p=l.length;u0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return i},__spread=this&&this.__spread||function(){for(var t=[],r=0;r0){var e=t.getMaxVendorId();t.getRestrictions().forEach((function(t){r[t.purposeId.toString()]=\"_\".repeat(e)}));for(var n=function(e){var n=e+1;t.getRestrictions(n).forEach((function(t){var n=t.restrictionType.toString(),o=t.purposeId.toString(),a=r[o].substr(0,e),i=r[o].substr(e+1);r[o]=a+n+i}))},o=0;o=i))throw new Error(\"Invalid \"+p+\": \"+e)},e.prototype.update=function(e,p,i){if(void 0===p&&(p=!1),void 0===i&&(i={addtlConsent:\"\",acmVersion:void 0,nrvString:\"\",nrvVersion:void 0,repromptVersion:1}),CmpApiModel_1.CmpApiModel.disabled)throw new Error(\"CmpApi Disabled\");CmpApiModel_1.CmpApiModel.cmpStatus=status_1.CmpStatus.LOADED,p?(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.VISIBLE,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.CMP_UI_SHOWN):void 0===CmpApiModel_1.CmpApiModel.tcModel?(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.DISABLED,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.TC_LOADED):(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.HIDDEN,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.USER_ACTION_COMPLETE),CmpApiModel_1.CmpApiModel.gdprApplies=null!==e,CmpApiModel_1.CmpApiModel.gdprApplies?(\"\"===e?(CmpApiModel_1.CmpApiModel.tcModel=new tcf_core_1.TCModel,CmpApiModel_1.CmpApiModel.tcModel.cmpId=CmpApiModel_1.CmpApiModel.cmpId,CmpApiModel_1.CmpApiModel.tcModel.cmpVersion=CmpApiModel_1.CmpApiModel.cmpVersion):CmpApiModel_1.CmpApiModel.tcModel=tcf_core_1.TCString.decode(e),CmpApiModel_1.CmpApiModel.tcModel.isServiceSpecific=this.isServiceSpecific,CmpApiModel_1.CmpApiModel.tcfPolicyVersion=+CmpApiModel_1.CmpApiModel.tcModel.policyVersion,CmpApiModel_1.CmpApiModel.tcString=e,AdditionalModel_1.AdditionalModel.addtlConsent=i.addtlConsent,AdditionalModel_1.AdditionalModel.acmVersion=i.acmVersion,AdditionalModel_1.AdditionalModel.nrvString=i.nrvString,AdditionalModel_1.AdditionalModel.repromptVersion=i.repromptVersion,AdditionalModel_1.AdditionalModel.nrvVersion=i.nrvVersion):CmpApiModel_1.CmpApiModel.tcModel=null,0===this.numUpdates?this.callResponder.purgeQueuedCalls():CmpApiModel_1.CmpApiModel.eventQueue.exec(),this.numUpdates++},e.prototype.disable=function(){CmpApiModel_1.CmpApiModel.disabled=!0,CmpApiModel_1.CmpApiModel.cmpStatus=status_1.CmpStatus.ERROR},e}();exports.CmpApi=CmpApi;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var PingCommand_1=require(\"./PingCommand\"),GetTCDataCommand_1=require(\"./GetTCDataCommand\"),GetInAppTCDataCommand_1=require(\"./GetInAppTCDataCommand\"),GetVendorListCommand_1=require(\"./GetVendorListCommand\"),AddEventListenerCommand_1=require(\"./AddEventListenerCommand\"),RemoveEventListenerCommand_1=require(\"./RemoveEventListenerCommand\"),TCFCommand_1=require(\"./TCFCommand\"),CommandMap=function(){function m(){}var n,e,C,a,d,o;return n=TCFCommand_1.TCFCommand.PING,e=TCFCommand_1.TCFCommand.GET_TC_DATA,C=TCFCommand_1.TCFCommand.GET_IN_APP_TC_DATA,a=TCFCommand_1.TCFCommand.GET_VENDOR_LIST,d=TCFCommand_1.TCFCommand.ADD_EVENT_LISTENER,o=TCFCommand_1.TCFCommand.REMOVE_EVENT_LISTENER,m[n]=PingCommand_1.PingCommand,m[e]=GetTCDataCommand_1.GetTCDataCommand,m[C]=GetInAppTCDataCommand_1.GetInAppTCDataCommand,m[a]=GetVendorListCommand_1.GetVendorListCommand,m[d]=AddEventListenerCommand_1.AddEventListenerCommand,m[o]=RemoveEventListenerCommand_1.RemoveEventListenerCommand,m}();exports.CommandMap=CommandMap;","\"use strict\";var __extends=this&&this.__extends||function(){var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var e in t)t.hasOwnProperty(e)&&(n[e]=t[e])})(t,e)};return function(t,e){function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var response_1=require(\"../response\"),Command_1=require(\"./Command\"),PingCommand=function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return __extends(t,n),t.prototype.respond=function(){this.invokeCallback(new response_1.Ping)},t}(Command_1.Command);exports.PingCommand=PingCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var GetTCDataCommand_1=require(\"./GetTCDataCommand\"),response_1=require(\"../response\"),GetInAppTCDataCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){this.throwIfParamInvalid(),this.invokeCallback(new response_1.InAppTCData(this.param))},e}(GetTCDataCommand_1.GetTCDataCommand);exports.GetInAppTCDataCommand=GetInAppTCDataCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,o){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(e,o)};return function(e,o){function r(){this.constructor=e}t(e,o),e.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),Command_1=require(\"./Command\"),tcf_core_1=require(\"@mol-ads/tcf-core\"),GetVendorListCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){var t,e=this,o=CmpApiModel_1.CmpApiModel.tcModel,r=o.vendorListVersion;void 0===this.param&&(this.param=r),(t=this.param===r&&o.gvl?o.gvl:new tcf_core_1.GVL(this.param)).readyPromise.then((function(){e.invokeCallback(t.getJson())}))},e}(Command_1.Command);exports.GetVendorListCommand=GetVendorListCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),GetTCDataCommand_1=require(\"./GetTCDataCommand\"),AddEventListenerCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){this.listenerId=CmpApiModel_1.CmpApiModel.eventQueue.add({callback:this.callback,param:this.param,next:this.next}),t.prototype.respond.call(this)},e}(GetTCDataCommand_1.GetTCDataCommand);exports.AddEventListenerCommand=AddEventListenerCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),Command_1=require(\"./Command\"),RemoveEventListenerCommand=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.respond=function(){this.invokeCallback(CmpApiModel_1.CmpApiModel.eventQueue.remove(this.param))},t}(Command_1.Command);exports.RemoveEventListenerCommand=RemoveEventListenerCommand;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var SupportedVersions=function(){function e(){}return e.has=function(e){return\"string\"==typeof e&&(e=+e),this.set_.has(e)},e.set_=new Set([0,2,void 0,null]),e}();exports.SupportedVersions=SupportedVersions;","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","const target = window\n\nexport class Broker {\n constructor (ns, sender = 'app', id) {\n this.ns = ns\n this.id = id && String(id) || Math.random().toString(36).substring(2)\n this.sender = sender\n }\n\n emit (action, payload = {}) {\n const message = {\n ns: this.ns,\n id: this.id,\n sender: this.sender,\n action,\n payload\n }\n\n target.postMessage(message, '*')\n }\n\n on (action, cb) {\n const handleMessage = (event) => {\n const data = event.data\n if (data.ns === this.ns && data.id === this.id && data.action === action && data.sender !== this.sender) {\n cb(data.payload, action)\n }\n }\n\n target.addEventListener('message', handleMessage)\n\n return () => target.removeEventListener('message', handleMessage)\n }\n\n once (action, cb) {\n const cancel = this.on(action, () => {\n cb()\n cancel()\n })\n }\n}\n","// @ts-check\nimport { Vector } from '@mol-ads/tcf-core'\n\n/**\n * @param {PreferenceVectors} model \n * @returns {IABUserPrefs}\n */\nfunction userPreferenceModel (model) {\n const setIfConsented = (id) => (obj, [key, vector]) => {\n if (vector.has(id)) {\n obj[key] = true\n }\n return obj\n }\n const vectorToPrefArr = vector => {\n const pref = []\n vector.forEach((state, index) => {\n if (state) {\n pref.push(index)\n }\n })\n return pref\n }\n\n const consentedIds = obj => Array.from(new Set(Object.values(obj).map(vectorToPrefArr).flat()))\n\n // preferences keys: consents, legInterest, optIn\n const idsForUserPreference = preferences => {\n const ids = consentedIds(preferences)\n return ids.reduce((acc, id) => {\n acc[id] = Object.entries(preferences).reduce(setIfConsented(id), {})\n return acc\n }, {})\n }\n\n // key: vendors, purposes, specialFeatures\n return Object.entries(model).reduce((acc, [key, preferences]) => {\n acc[key] = idsForUserPreference(preferences)\n return acc\n }, {vendors: {}, purposes: {}, specialFeatures: {}})\n}\n\n/**\n * @param {UserPreferenceVectors} userPreferenceVectors \n * @returns {PreferenceVectors}\n */\nconst userPreferenceVectors = ({ vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins }) => {\n return {\n vendors: {\n consent: vendorConsents,\n legInterest: vendorLegitimateInterests\n },\n purposes: {\n consent: purposeConsents,\n legInterest: purposeLegitimateInterests\n },\n specialFeatures: {\n optIn: specialFeatureOptins\n }\n }\n}\n\n/**\n * @param {import('@mol-ads/tcf-core').TCModel} tcModel \n * @param {boolean} hasUserSelectedTheirPreference \n * @returns {{vendorLegitimateInterests: Vector, purposeLegitimateInterests: Vector}}\n */\nfunction legitimateInterestPreferences (tcModel, hasUserSelectedTheirPreference) {\n const defaultLegitimateInterests = () => {\n const purposeLegitimateInterests = new Vector()\n purposeLegitimateInterests.setAll(tcModel.gvl.purposes)\n const vendorLegitimateInterests = new Vector()\n vendorLegitimateInterests.setAll(tcModel.gvl.vendors)\n return { vendorLegitimateInterests, purposeLegitimateInterests }\n }\n\n const userSelectedLegitimateInterests = () => ({\n purposeLegitimateInterests: tcModel.purposeLegitimateInterests,\n vendorLegitimateInterests: tcModel.vendorLegitimateInterests\n })\n\n return hasUserSelectedTheirPreference ? userSelectedLegitimateInterests() : defaultLegitimateInterests()\n}\n\n/**\n * @param {import('../ui/Ui').CmpModelForUi} cmpModel \n * @returns {UserPrefs}\n */\nexport default function (cmpModel) {\n const { vendorConsents, purposeConsents, specialFeatureOptins } = cmpModel.tcModel\n const { vendorLegitimateInterests, purposeLegitimateInterests } = legitimateInterestPreferences(cmpModel.tcModel, cmpModel.hasUserSelectedTheirPreference)\n const iabUserPrefs = userPreferenceModel(userPreferenceVectors({\n vendorConsents,\n vendorLegitimateInterests,\n purposeConsents,\n purposeLegitimateInterests,\n specialFeatureOptins\n }))\n return { \n ...iabUserPrefs,\n nonTcfVendors: cmpModel.acmVendors.consents || {},\n nonRegisteredVendors: cmpModel.nonRegisteredVendors.consents || {}\n }\n}\n\n/** \n * @typedef {Object} IABUserPrefs\n * @property {PurposePreference} purposes \n * @property {SpecialFeaturePreference} specialFeatures\n * @property {VendorsPreference} vendors\n */\n\n/**\n * @typedef {Object} NonIABUserPrefs\n * @property {import('../cmp/NonIABModel').Consents} nonTcfVendors\n * @property {import('../cmp/NonIABModel').Consents} nonRegisteredVendors\n */\n\n/** @typedef {IABUserPrefs & NonIABUserPrefs} UserPrefs */\n\n/**\n * @typedef {Object} Preference\n * @property {boolean} [consent]\n * @property {boolean} [legInterest]\n */\n\n/** @typedef {Record} PurposePreference */\n/** @typedef {Record} SpecialFeaturePreference */\n\n/**\n * @typedef {Object} UserPreferenceVectors\n * @property {import('@mol-ads/tcf-core').Vector} vendorConsents\n * @property {import('@mol-ads/tcf-core').Vector} vendorLegitimateInterests\n * @property {import('@mol-ads/tcf-core').Vector} purposeConsents\n * @property {import('@mol-ads/tcf-core').Vector} purposeLegitimateInterests\n * @property {import('@mol-ads/tcf-core').Vector} specialFeatureOptins\n */\n\n/**\n * @typedef {Object} PreferenceVectors\n * @property {{consent: Vector, legInterest: Vector}} vendors\n * @property {{consent: Vector, legInterest: Vector}} purposes\n * @property {{optIn: Vector}} specialFeatures\n */\n","export default [\n {\n type: 'purposes',\n id: 1\n },\n {\n type: 'stacks',\n id: 42\n }\n]\n","// @ts-check\nimport createUserPreference from './user-preference'\nimport pick from 'lodash.pick'\nimport displayPurposes from './display-purposes'\nimport { publisherRestrictionPurposeIds } from '../cmp/publisherRestrictions'\n\n/**\n * @param {IntMap} vendors\n * @param {(...any) => void} log \n * @returns {IntMap}\n */\nfunction removeUnconsentableVendors (vendors, log) {\n const consentableVendors = Object.values(vendors).filter(vendor => {\n const consentable = vendor.purposes.length !== 0 || vendor.legIntPurposes.length !== 0 || vendor.specialPurposes.length !== 0\n !consentable && log('removing', vendor.id, vendor.name)\n return consentable\n })\n return consentableVendors.reduce((acc, vendor) => {\n acc[vendor.id] = vendor\n return acc\n }, {})\n}\n\n/**\n * @param {IntMap} vendors\n * @returns {IntMap}\n */\nfunction applyFlexiblePurposes (vendors) {\n const restrictPurposeIds = new Set([...publisherRestrictionPurposeIds])\n return Object.entries(vendors).reduce((acc, [id, v]) => {\n v.purposes = Array.from(new Set([...v.purposes, ...v.flexiblePurposes.filter(purposeId => restrictPurposeIds.has(purposeId))]))\n v.legIntPurposes = v.legIntPurposes.filter(purposeId => !restrictPurposeIds.has(purposeId))\n acc[id] = v\n return acc\n }, {})\n}\n\n/**\n * @param {UIModelOpts} opts \n * @returns {UIModel}\n */\nexport function createModel ({ cmpModel, currentLevel, log, uiLevel }) {\n const gvl = cmpModel.tcModel.gvl\n const { purposes, specialPurposes, features, specialFeatures } = gvl\n const stacks = pick(gvl.stacks, [42])\n const vendors = applyFlexiblePurposes(removeUnconsentableVendors(JSON.parse(JSON.stringify(gvl.vendors)), log))\n const userPrefs = createUserPreference(cmpModel)\n const nonTcfVendors = cmpModel.acmVendors.cvl\n const nonRegisteredVendors = cmpModel.nonRegisteredVendors.cvl\n return {\n config: {\n hash: {\n purposes,\n specialPurposes,\n features,\n specialFeatures,\n vendors,\n stacks,\n nonTcfVendors,\n nonRegisteredVendors\n },\n userPrefs,\n displayPurposes\n },\n currentLevel: uiLevel || currentLevel\n }\n}\n\n/**\n * @typedef {Object} UIModelOpts\n * @property {import('./Ui').UiLevel} currentLevel\n * @property {import('./Ui').UiLevel} uiLevel\n * @property {import('./Ui').CmpModelForUi} cmpModel\n * @property {(...any) => void} log\n */\n\n/**\n * @typedef {Object} UIModel\n * @property {UIModelConfig} config\n * @property {import('./Ui').UiLevel} currentLevel\n */\n\n/**\n * @typedef {Object} UIModelConfig\n * @property {UIGVLModel} hash\n * @property {import('./user-preference').UserPrefs} userPrefs\n * @property {DisplayPurposes} displayPurposes\n */\n/**\n * @typedef {Object} UIGVLModel\n * @property {IntMap} purposes\n * @property {IntMap} specialPurposes\n * @property {IntMap} features\n * @property {IntMap} specialFeatures\n * @property {IntMap} vendors\n * @property {IntMap} stacks\n * @property {import('../cmp/NonIABModel').NonIABVendorList} nonTcfVendors\n * @property {import('../cmp/NonIABModel').NonIABVendorList} nonRegisteredVendors\n */\n\n/**\n * @template T\n * @typedef {import('@mol-ads/tcf-core').IntMap} IntMap\n */\n\n/**\n * @typedef {import('@mol-ads/tcf-core').Purpose} Purpose\n */\n\n/**\n * @typedef {import('@mol-ads/tcf-core').Feature} Feature\n */\n\n /**\n * @typedef {import('@mol-ads/tcf-core').Vendor} Vendor\n */\n\n /**\n * @typedef {import('@mol-ads/tcf-core').Stack} Stack\n */\n\n /**\n * @typedef {Array<{type: string, id: number}>} DisplayPurposes\n */\n","// @ts-check\n\nimport { createLog } from '../utils/logger'\nimport { Broker } from '../utils/broker'\nimport { createModel } from './model'\n\nconst log = createLog()\n\nconst uiNamespace = '@mol-fe/mol-fe-cmp'\n\nfunction loadScript (uiScriptBase, appState) {\n log('loadScript', appState)\n const script = (src) => {\n const script = document.createElement('script')\n script.dataset.state = JSON.stringify(appState)\n script.src = src\n script.id = 'mol-fe-cmp-script'\n return script\n }\n\n const src = uiScriptBase\n document.body.appendChild(script(src))\n}\n\nfunction uiHandlers (broker, clientBroker, cmpUpdateHandlers, removeStorageListener) {\n const handler = h => (...args) => {\n if (removeStorageListener) {\n removeStorageListener()\n removeStorageListener = null\n }\n h(...args)\n }\n\n broker.on('close', handler(data => { cmpUpdateHandlers.updateConsent(data) }))\n broker.on('close:allow_all', handler(() => { cmpUpdateHandlers.consentToAll() }))\n broker.on('close:deny_all', handler(() => { cmpUpdateHandlers.dissentToAll() }))\n broker.on('level_changed', data => {\n log('level_changed', data)\n cmpUpdateHandlers.levelChanged(data)\n clientBroker.emit('level_changed', data)\n })\n}\n\nfunction handleExternalPreferenceUpdate (broker, reloadTcModel) {\n const handler = ({ key, newValue }) => {\n if (key !== 'mol.ads.cmp.tcf.client') return\n remove()\n const tcString = newValue\n try {\n reloadTcModel(tcString)\n broker.emit('close')\n } catch (error) {\n console.error(error)\n }\n }\n\n window.addEventListener('storage', handler)\n\n const remove = () => {\n window.removeEventListener('storage', handler)\n }\n return remove\n}\n\nexport default class Ui {\n /**\n * @type {Promise|undefined}\n */\n #pBannerIsReady\n\n constructor ({ brand, uiScriptUrl, renderPlatform, uiLevel, clientBroker }) {\n this.scriptLoaded = false\n this.brand = brand\n this.uiScriptUrl = uiScriptUrl\n this.renderPlatform = renderPlatform\n this.uiLevel = uiLevel\n this.clientBroker = clientBroker\n this.brokerId = Math.random().toString(36).substring(2)\n this.broker = new Broker(uiNamespace, '@mol-ads/mol-ads-tcf', this.brokerId)\n this.open = this.open.bind(this)\n this.#pBannerIsReady\n }\n\n /**\n * @param {*} uiLevel \n * @param {{cmpModel: CmpModelForUi, cmpUpdateHandlers: CmpUpdateHandlers}} opts\n */\n open (uiLevel, { cmpModel, cmpUpdateHandlers }) {\n const model = createModel({ cmpModel, currentLevel: this.uiLevel, log, uiLevel })\n log('open', model)\n\n this.#pBannerIsReady = new Promise(resolve => {\n this.broker.once('is_ready', () => {\n resolve()\n })\n })\n\n if (!this.scriptLoaded) {\n const removeStorageListener = handleExternalPreferenceUpdate(this.broker, cmpUpdateHandlers.reloadTcModel)\n uiHandlers(this.broker, this.clientBroker, cmpUpdateHandlers, removeStorageListener)\n loadScript(this.uiScriptUrl, {\n ...model,\n renderPlatform: this.renderPlatform,\n brand: this.brand,\n id: this.brokerId\n })\n this.scriptLoaded = true\n } else {\n this.broker.emit('open', model)\n }\n }\n\n close () {\n log('closing UI')\n if (this.#pBannerIsReady) {\n this.#pBannerIsReady.then(() => {\n this.broker.emit('close')\n })\n }\n }\n\n notifyUserPreferenceCaptured () {\n log('publishing user_consent_captured')\n this.broker.emit('user_consent_captured')\n }\n}\n\n/**\n * @typedef {Object} CmpModelForUi\n * @property {import('@mol-ads/tcf-core').TCModel} tcModel\n * @property {boolean} hasUserSelectedTheirPreference\n * @property {import('../cmp/NonIABModel').UiModel} acmVendors\n * @property {import('../cmp/NonIABModel').UiModel} nonRegisteredVendors\n */\n\n/**\n * @typedef {Recordvoid>} CmpUpdateHandlers\n */\n\n/**\n * @typedef {'Level1'|'Level2'} UiLevel\n */\n\n","// @ts-check\n/**\n * @param {import('./utils/broker').Broker} broker \n * @param {import('./cmp/Cmp').Cmp} cmp \n * @param {import('./ui/Ui').default} ui \n */\nexport default function clientApi (broker, cmp, ui) {\n broker.on('open', ({ uiLevel, uuid }) => {\n if (uuid) {\n cmp.setUuid(uuid)\n }\n cmp.openUi(uiLevel)\n })\n\n broker.on('dissentToAll', ({ uuid }) => {\n ui.close()\n cmp.setUuid(uuid)\n cmp.setCurrentLevel('Level1')\n cmp.dissentToAll()\n })\n\n broker.on('consentToAll', ({ uuid }) => {\n ui.close()\n cmp.setUuid(uuid)\n cmp.setCurrentLevel('Level1')\n cmp.consentToAll()\n })\n\n broker.on('ads-initialised', () => {\n // send message to Ui\n ui.notifyUserPreferenceCaptured()\n })\n}\n","import { createLog, debugEnabled } from './utils/logger'\n\nconst log = createLog()\n\nconst onContentLoaded = handler => {\n if (['complete', 'loaded', 'interactive'].includes(document.readyState)) {\n handler()\n } else {\n document.addEventListener('DOMContentLoaded', handler)\n }\n}\n\nexport default async function loadStorage (broker, brokerId, scriptBase) {\n return new Promise((resolve, reject) => {\n const path = `${scriptBase}/storage/index.html`\n const srcPath = debugEnabled ? `${path}?adsDebug=tcfv2` : path\n const iframe = document.createElement('iframe')\n iframe.style.display = 'none'\n iframe.title = 'TCFV2 Storage'\n iframe.src = `${srcPath}#brokerId=${brokerId}`\n\n const onLoad = async () => {\n log('loaded')\n const { contentWindow } = iframe\n\n iframe.removeEventListener('load', onLoad)\n\n if (!contentWindow) {\n reject(new Error('Couldn\\'t successfully create CMP'))\n }\n }\n\n iframe.addEventListener('load', onLoad)\n iframe.addEventListener('error', reject)\n\n broker.on('storageLoaded', data => {\n log('storage', data)\n if (!data.canStoreUserPreference) {\n const parent = iframe.parentNode\n if (parent) {\n log('unloading iframe')\n parent.removeChild(iframe)\n }\n resolve({ tcData: data.tcData })\n return\n }\n resolve({ iframe, tcData: data.tcData })\n })\n\n onContentLoaded(() => document.body.appendChild(iframe))\n })\n}\n","// @ts-check\nimport { createLog } from '../utils/logger'\n\nconst log = createLog()\n\nclass TimeoutError extends Error {\n constructor (ms) {\n super(`Exceeded ${ms}`)\n }\n}\n\nconst timeout = ms =>\n new Promise(resolve => setTimeout(resolve, ms))\n\nconst errorAfter = async (ms, error = new TimeoutError(ms)) => {\n await timeout(ms)\n throw error\n}\n\nconst raceWithin = (ms, promise, error) =>\n Promise.race([promise, errorAfter(ms, error)])\n\nconst repeatUntil = (predicate, interval = 10, timeout = Number.MAX_SAFE_INTEGER) => new Promise((resolve, reject) => {\n const start = Date.now()\n const check = async () => {\n const result = await predicate()\n if (!result) {\n if (Date.now() - start < timeout) {\n setTimeout(check, interval)\n } else {\n reject(new Error(`Timeout: exceeded ${timeout}ms`))\n }\n } else {\n resolve(result)\n }\n }\n check()\n})\n\nconst request = (opts) => {\n let method = 'GET'\n let url\n let timeout = 3000\n let headers = {}\n let data\n if (typeof opts === 'string') {\n url = opts\n } else {\n ({ method = 'GET', url, timeout = 3000, headers = {}, data } = opts)\n }\n const xhttp = new XMLHttpRequest()\n\n const promise = new Promise((resolve, reject) => {\n xhttp.onreadystatechange = function () {\n if (this.readyState === 4) {\n if (this.status > 199 && this.status < 300) {\n resolve(this.responseText)\n } else {\n reject(new Error(`Error status ${this.status}: ${this.statusText}`))\n }\n }\n }\n xhttp.open(method, url, true)\n Object.entries(headers).forEach(([k, v]) => xhttp.setRequestHeader(k, v))\n if (data) {\n xhttp.send(data)\n } else {\n xhttp.send()\n }\n })\n\n return timeout ? raceWithin(timeout, promise) : promise\n}\n\nexport default class Persist {\n constructor ({ backendUrl, channel, platform, domain = location.host }) {\n this.backendUrl = backendUrl\n this.channel = channel\n this.platform = platform\n this.domain = domain || location.host\n this.saveTCString = this.saveTCString.bind(this)\n }\n\n /**\n * @param {SaveOpts} opts \n */\n async saveTCString ({uuid, tcString, consentDegree, nrvString, addtlConsent }) {\n const tryToSend = async (data) => {\n try {\n log('trying to send update to backend. payload:', data)\n await request({\n method: 'POST',\n url: this.backendUrl,\n headers: {\n 'Content-Type': 'application/json'\n },\n data: JSON.stringify(data)\n })\n log('update sent to backend successfully')\n return true\n } catch (e) {\n log('send to backend failed with:', e.message)\n log('send to backend rescheduled 5s')\n }\n }\n const value = {\n addtlConsent,\n consent: consentDegree,\n domain: this.domain,\n euconsent: tcString,\n nrvString,\n platform: this.platform,\n uuid,\n version: 0\n }\n if (this.channel) {\n value.channel = this.channel\n }\n\n await repeatUntil(() => tryToSend(value), 10000)\n }\n}\n\n/**\n * @typedef {Object} SaveOpts\n * @property {string} uuid\n * @property {string} tcString\n * @property {'yes'|'no'|'partial'} [consentDegree]\n * @property {string} addtlConsent\n * @property {string} nrvString\n */\n","// @ts-check\nimport { createLog } from '../utils/logger'\nimport { TCString } from '@mol-ads/tcf-core'\n\nconst log = createLog()\n\n/**\n * @typedef {Object} ChosenStrings\n * @property {string|undefined} tcString\n * @property {string|undefined} addtlConsent\n * @property {string|undefined} cvlVersion\n * @property {string|undefined} nrvString\n * @property {string|undefined} nrvVersion\n */\n\n/**\n * @typedef {Object} RepromptVersions\n * @property {number} repromptVersion\n * @property {number} nextRepromptVersion\n */\n\n/**\n * @param {number} currentRepromptVersionFromClient \n * @param {number} nextRepromptVersionFromClient \n * @param {*} tcDataFromStorage \n * @returns {RepromptVersions}\n */\nfunction selectRepromptVersions (currentRepromptVersionFromClient, nextRepromptVersionFromClient, tcDataFromStorage) {\n const { repromptVersion: repromptVersionFromStorage = 0 } = tcDataFromStorage || {}\n const repromptVersion = Math.max(currentRepromptVersionFromClient, repromptVersionFromStorage)\n const nextRepromptVersion = Math.max(repromptVersion, nextRepromptVersionFromClient)\n log('nextRepromptVersion', nextRepromptVersion)\n return { nextRepromptVersion, repromptVersion }\n}\n/**\n * @param {string|undefined} tcStringFromClient \n * @param {string|undefined} addtlConsentFromClient \n * @param {string|undefined} nrvStringFromClient\n * @param {*} tcDataFromStorage \n * @returns {ChosenStrings}\n */\nfunction selectUserStrings (tcStringFromClient, addtlConsentFromClient, cvlVersionFromClient, nrvStringFromClient, nrvVersionFromClient, tcDataFromStorage) {\n const { \n tcString: tcStringFromStorage = undefined,\n nrvString: nrvStringFromStorage = undefined,\n nrvVersion: nrvVersionFromStorage = undefined,\n addtlConsent: addtlConsentFromStorage = undefined,\n acmVersion: cvlVersionFromStorage = undefined\n } = tcDataFromStorage || {}\n const storedStrings = { \n tcString: tcStringFromStorage,\n nrvString: nrvStringFromStorage,\n nrvVersion: nrvVersionFromStorage,\n addtlConsent: addtlConsentFromStorage,\n cvlVersion: cvlVersionFromStorage\n }\n const clientStrings = {\n tcString: tcStringFromClient,\n nrvString: nrvStringFromClient,\n nrvVersion: nrvVersionFromClient,\n addtlConsent: addtlConsentFromClient,\n cvlVersion: cvlVersionFromClient\n }\n log('clientString', tcStringFromClient)\n log('storedString', tcStringFromStorage)\n const selectStrings = (tcStringFromStorage, tcStringFromClient) => {\n const stored = TCString.decode(tcStringFromStorage).lastUpdated\n const client = TCString.decode(tcStringFromClient).lastUpdated\n log('stored', stored)\n log('client', client)\n return stored > client ? storedStrings : clientStrings\n }\n\n if (tcStringFromClient && tcStringFromStorage) {\n return selectStrings(tcStringFromStorage, tcStringFromClient)\n } else if (tcStringFromClient) {\n return clientStrings\n } else {\n return storedStrings\n }\n}\n\nexport class Config {\n /**\n * @type {TCFV2ScriptOpts}\n */\n #config\n /**\n * @param {TCFV2ScriptOpts} config\n */\n constructor (config) {\n this.#config = config\n }\n\n getGVLVersions (tcString) {\n const { vendorListVersion } = tcString && TCString.decode(tcString) || {}\n log('gvlVersion from tcString', vendorListVersion)\n let gvlUiVersion = parseInt(this.#config.gvlUiVersion)\n const gvlVersion = vendorListVersion || gvlUiVersion\n gvlUiVersion = Math.max(gvlVersion, gvlUiVersion)\n log('selected gvlVersions', { gvlVersion, gvlUiVersion })\n return { gvlVersion, gvlUiVersion }\n }\n\n /**\n * @param {string|undefined} _cvlVersion \n */\n getCvlVersions (_cvlVersion) {\n let cvlUiVersion = parseInt(this.#config.cvlUiVersion)\n /** @type {string|number} */\n let cvlVersion\n // this is only necessary because the initial version '0.0.1', all following versions are integers\n if (_cvlVersion && !Number(_cvlVersion)) {\n cvlVersion = _cvlVersion\n } else if (this.#config.cvlVersion && !Number(this.#config.cvlVersion)) {\n cvlVersion = this.#config.cvlVersion\n } else {\n cvlVersion = _cvlVersion ? parseInt(_cvlVersion) : this.#config.cvlVersion ? parseInt(this.#config.cvlVersion) : cvlUiVersion\n cvlUiVersion = cvlVersion ? Math.max(cvlVersion, cvlUiVersion) : cvlUiVersion\n }\n log('selected cvlVersions', { cvlVersion, cvlUiVersion })\n return { cvlVersion, cvlUiVersion }\n }\n\n getNrvVersions (_nrvVersion) {\n const nrvVersion = _nrvVersion ? parseInt(_nrvVersion) : undefined\n let nrvUiVersion = parseInt(this.#config.nrvUiVersion)\n nrvUiVersion = nrvVersion ? Math.max(nrvVersion, nrvUiVersion) : nrvUiVersion\n log('selected nrvVersions', { nrvVersion, nrvUiVersion })\n return { nrvVersion, nrvUiVersion }\n }\n\n getUserPreferences (tcData) {\n return {\n ...selectUserStrings(\n this.#config.tcString,\n this.#config.addtlConsent,\n this.#config.cvlVersion,\n this.#config.nrvString, \n this.#config.nrvVersion,\n tcData),\n ...selectRepromptVersions(this.#config.repromptVersion, this.#config.nextRepromptVersion, tcData)\n }\n }\n\n get (key) {\n if (!key) return this.#config\n \n if (Object.prototype.hasOwnProperty.call(this.#config, key)) {\n return this.#config[key]\n }\n }\n}\n\nexport function createConfig () {\n const scriptTag = document.getElementById('mol-ads-tcfv2-script')\n /**\n * @type TCFV2ScriptOpts\n */\n const config = JSON.parse(scriptTag?.dataset.opts || '{}')\n log('config', config)\n return new Config(config)\n}\n\n/**\n * @typedef {'Level1' | 'Level2'} UILevel\n */\n\n/**\n * @typedef {Object} TCFV2ScriptOpts\n * @property {string} [addtlConsent]\n * @property {string} [backendUrl]\n * @property {string} [brand]\n * @property {string} [brokerId]\n * @property {string} controllerScriptBase\n * @property {string} [cvlVersion]\n * @property {string} cvlUiVersion\n * @property {string} gvlUiVersion\n * @property {number|string} gvlVersion\n * @property {number} nextRepromptVersion\n * @property {string} [renderPlatform]\n * @property {number} repromptVersion\n * @property {boolean} [showUi]\n * @property {boolean} [storeUserPreference]\n * @property {string} [tcString]\n * @property {UILevel} [uiLevel]\n * @property {string} uiScriptUrl\n * @property {string} [uuid]\n * @property {string} platform\n * @property {string} [nrvString]\n * @property {string} nrvUiVersion\n * @property {string} [nrvVersion]\n */\n","// @ts-check\nimport 'whatwg-fetch'\nimport { Broker } from './utils/broker'\nimport { createCmp } from './cmp/Cmp'\nimport Ui from './ui/Ui'\nimport { createLog } from './utils/logger'\nimport clientApi from './clientApi'\nimport loadStorageIframe from './storage-iframe'\nimport Persist from './persist/Persist'\nimport { Config, createConfig } from './config/config'\n\n// https://vendorlist.consensu.org/v2/vendor-list.json\n\nconst log = createLog()\n\nfunction createUi (broker, config) {\n const { uiLevel, renderPlatform, brand, uiScriptUrl } = config.get()\n return new Ui({ uiLevel, renderPlatform, brand, uiScriptUrl, clientBroker: broker })\n}\n\nasync function fetchVendor (url) {\n const response = await fetch(url)\n return response.json()\n}\n\n/**\n * @param {{ gvlVersion: number, cvlVersion: number|string, nrvVersion?: number }} opts \n */\nasync function fetchVendorData ({ gvlVersion, cvlVersion, nrvVersion }) {\n const gvlUrl = `//cmp.dmgmediaprivacy.co.uk/gvl/${gvlVersion}/vendor-list.json`\n const cvlUrl = `//cmp.dmgmediaprivacy.co.uk/custom/${cvlVersion}/vendor-list.json`\n const nrvUrl = `//cmp.dmgmediaprivacy.co.uk/nrv/${nrvVersion}/vendor-list.json`\n const vendorLists = [fetchVendor(gvlUrl), fetchVendor(cvlUrl)]\n if (nrvVersion) {\n vendorLists.push(fetchVendor(nrvUrl))\n }\n return Promise.all(vendorLists)\n}\n\n/**\n * @param {Broker} broker \n * @param {Config} config \n */\nasync function launch (broker, config) {\n const clientConfig = config.get()\n log('clientConfig', clientConfig)\n const { brokerId, controllerScriptBase, backendUrl, channel, platform, renderPlatform, storeUserPreference, uuid } = clientConfig\n const { tcData, iframe } = !!config.get('storeUserPreference') && await loadStorageIframe(broker, brokerId, controllerScriptBase)\n const userPreferences = config.getUserPreferences(tcData)\n log('userPreferences', userPreferences)\n const { gvlVersion, gvlUiVersion } = config.getGVLVersions(userPreferences.tcString)\n const { nrvVersion, nrvUiVersion } = config.getNrvVersions(userPreferences.nrvVersion)\n const { cvlVersion, cvlUiVersion } = config.getCvlVersions(userPreferences.cvlVersion)\n const [gvlJson, cvlJson, nrvJson] = await fetchVendorData({ gvlVersion, cvlVersion, nrvVersion })\n const persist = new Persist({ backendUrl, channel, platform: platform || renderPlatform })\n const ui = createUi(broker, config)\n const { addtlConsent, repromptVersion, nextRepromptVersion, nrvString, tcString } = userPreferences\n /**\n * @type import('./cmp/Cmp').CreateCmpOpts\n */\n const cmpOpts = {\n gvlJson,\n cvlJson,\n nrvJson,\n storeTcString: storeUserPreference,\n persist,\n ui,\n uuid,\n gvlVersion,\n gvlUiVersion,\n nrvVersion,\n nrvUiVersion,\n cvlVersion,\n cvlUiVersion,\n addtlConsent,\n repromptVersion,\n nextRepromptVersion,\n nrvString, \n tcString\n }\n const cmp = await createCmp(cmpOpts)\n log(`${userPreferences.tcString ? 'Existing' : 'New'} User`, cmp.tcModel)\n const showUi = (clientConfig.showUi === 'true' || clientConfig.showUi === true)\n broker.emit('is_loaded')\n const message = {\n ns: '@mol-ads/mol-ads-cmp',\n id: brokerId,\n sender: 'mol-ads/mol-ads-cmp',\n action: 'is_loaded'\n }\n if (iframe) {\n iframe.contentWindow.postMessage(message, '*')\n }\n\n await cmp.isReady()\n clientApi(broker, cmp, ui)\n if (showUi) {\n cmp.openUi(clientConfig.uiLevel)\n } else {\n cmp.notifyUsersPreferences()\n }\n broker.emit('is_ready')\n}\n\nsetTimeout(() => {\n const config = createConfig()\n const brokerId = config.get('brokerId')\n const broker = new Broker('@mol-ads/mol-ads-cmp', 'mol-ads-cmp', brokerId)\n launch(broker, config)\n}, 10)\n"],"sourceRoot":""}