{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?d18a","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?2ef9","webpack:///./src/App.vue?315a","webpack:///./src/plugins/random.js","webpack:///./src/api/instance.js","webpack:///./src/api/identity.js","webpack:///./src/api/user.js","webpack:///./src/api/campaign.js","webpack:///./src/api/coupon.js","webpack:///./src/config/oidc.js","webpack:///./src/store/index.js","webpack:///./src/router/index.js","webpack:///./src/locale/de.js","webpack:///./src/locale/en.js","webpack:///./src/locale/es.js","webpack:///./src/locale/fr.js","webpack:///./src/locale/ja.js","webpack:///./src/locale/pt.js","webpack:///./src/locale/zh.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/layouts/Default.vue","webpack:///src/layouts/Default.vue","webpack:///./src/layouts/Default.vue?d7e2","webpack:///./src/layouts/Default.vue?044a","webpack:///./src/layouts/Login.vue","webpack:///src/layouts/Login.vue","webpack:///./src/layouts/Login.vue?4249","webpack:///./src/layouts/Login.vue?b307","webpack:///./src/layouts/Blank.vue","webpack:///src/layouts/Blank.vue","webpack:///./src/layouts/Blank.vue?1464","webpack:///./src/layouts/Blank.vue?2966","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","layout","staticRenderFns","computed","$route","meta","created","$vuetify","theme","dark","component","random","uuid4","replace","axios","defaults","headers","common","TSMInstance","TSMPublicInstance","setTSMInterceptor","response","requestError","responseError","interceptors","use","url","process","clientId","async","updateIdentity","nonce","post","client_id","refreshIdentity","refreshToken","search","query","me","blockUser","userId","block","put","getStaffUsers","setUserRole","role","setUserType","timezones","tags","openCampaigns","closedCampaigns","createCampaign","campaign","deleteCampaign","campaignId","delete","getCampaign","getWaitList","getCampaignLanding","slug","getSignUpCheck","updateSignUp","campaignScore","updateBonusScores","scores","updateBonusExp","campaignScoreId","score","blockScore","approveAllEligible","autoApproveCampaign","enabled","displayCouponsCampaign","myScores","createScore","channelId","createScoreList","channels","deleteScore","loadOverlay","setCampaignLogos","overlayThemeLabel","overlayThemeLightLabel","overlayThemeImageUrl","overlayThemeLightImageUrl","overlayMessageText","overlayMessageInterval","overlayMessageDuration","overlayMessageStartDate","overlayMessageEndDate","progressBarImageUrl","progressBarLightImageUrl","logoImageUrl","logoLightImageUrl","sponsorImageUrl","sponsorLightImageUrl","sponsorImages","sponsorLightImages","sponsorText","sponsorLevel1ImageUrl","sponsorLevel1Name","sponsorLevel2ImageUrl","sponsorLevel2Name","sponsorLevel3ImageUrl","sponsorLevel3Name","sponsorLevel4ImageUrl","sponsorLevel4Name","sponsorLevel5ImageUrl","sponsorLevel5Name","sponsorLevel6ImageUrl","sponsorLevel6Name","sponsorLevel7ImageUrl","sponsorLevel7Name","sponsorLevel8ImageUrl","sponsorLevel8Name","sponsorLevel9ImageUrl","sponsorLevel9Name","sponsorLevel10ImageUrl","sponsorLevel10Name","sponsorLevel11ImageUrl","sponsorLevel11Name","sponsorLevel12ImageUrl","sponsorLevel12Name","overlay_theme_label","overlay_theme_light_label","overlay_theme_image_url","overlay_theme_light_image_url","overlay_message_text","overlay_message_interval","overlay_message_duration","overlay_message_start_date","overlay_message_end_date","progress_bar_image_url","progress_bar_light_image_url","logo_image_url","logo_light_image_url","sponsor_image_url","sponsor_light_image_url","sponsor_images","sponsor_light_images","sponsor_text","sponsor_level1_image_url","sponsor_level1_name","sponsor_level2_image_url","sponsor_level2_name","sponsor_level3_image_url","sponsor_level3_name","sponsor_level4_image_url","sponsor_level4_name","sponsor_level5_image_url","sponsor_level5_name","sponsor_level6_image_url","sponsor_level6_name","sponsor_level7_image_url","sponsor_level7_name","sponsor_level8_image_url","sponsor_level8_name","sponsor_level9_image_url","sponsor_level9_name","sponsor_level10_image_url","sponsor_level10_name","sponsor_level11_image_url","sponsor_level11_name","sponsor_level12_image_url","sponsor_level12_name","setCampaign","campaignName","localName","link1Name","link1Url","link2Name","link2Url","link3Name","link3Url","local_name","link1_name","link1_url","link2_name","link2_url","link3_name","link3_url","setCampaignLanding","landingCustomSubtitle","landingDates","landingFaqsTitle","landingMultipleChoicesTitle","landingSignUpEnabled","landingBannerImageUrl","landingPrize1ImageUrl","landingPrize2ImageUrl","landingPrize3ImageUrl","landingPrize1Name","landingPrize2Name","landingPrize3Name","landingPrize4Name","landingPrize5Name","landingPrize6Name","landingPrize7Name","landingPrize8Name","landingPrize9Name","landingPrize10Name","landingPrize11Name","landingPrize12Name","landingCarouselInterval","landing_custom_subtitle","landing_dates","landing_faqs_title","landing_multiple_choices_title","landing_sign_up_enabled","landing_banner_image_url","landing_prize1_image_url","landing_prize2_image_url","landing_prize3_image_url","landing_prize1_name","landing_prize2_name","landing_prize3_name","landing_prize4_name","landing_prize5_name","landing_prize6_name","landing_prize7_name","landing_prize8_name","landing_prize9_name","landing_prize10_name","landing_prize11_name","landing_prize12_name","landing_carousel_interval","setCampaignFaqs","faqs","setCampaignMultipleChoices","multipleChoices","multiple_choices","setCampaignWhiteListUsers","whiteListUsers","landing_white_list_users","createCampaignCouponList","fileName","content","file_name","rows","getCampaignCouponList","getUserCampaignCouponList","deleteCoupon","couponId","getConfig","authority","redirect_uri","popup_redirect_uri","response_type","scope","post_logout_redirect_uri","silentRedirectUri","automaticSilentRenew","oidcSettings","Vue","Vuex","allowedStaffUserIds","isEmpty","trim","split","Store","state","user","staff","authUser","authTimeout","searchResults","overlay","getters","sessionStorage","JSON","parse","mutations","removeItem","stringify","newCampaign","newScore","campaigns","filter","x","campaign_id","id","forEach","channel","y","newScores","scoreId","updateScore","_campaigns","concat","_x$scores","bonus_e_x_p","actions","signin","context","location","signOut","commit","signinCallback","expires_at","Date","now","expires_in","catch","_","loadSystem","login","dispatch","channel_id","loadCampaigns","searchValue","scoresUnblocked","sc","blocked","sorted","orderBy","getMe","includes","newCamp","submitSignUp","addChannel","addChannels","deleteChannelScore","autoRefreshToken","checkTimeout","refresh_token","access_token","createCampaignCoupons","getCampaignCoupons","getUserCampaignCoupons","coupon","updateCampaignLogos","updateCampaignEdit","updateCampaignLanding","updateCampaignFaqs","updateCampaignMultipleChoices","updateCampaignWhiteListUsers","updateUserRole","updateUserType","Router","routes","path","requiresAuth","router","base","beforeEach","to","from","next","matched","some","record","store","de","title","logout","heading_welcome","home_para1","rewards","home_para1_1","home_para1_2","home_para1_3","reminder","home_para2","terms","privacy_policy","develop_by","level","completed","congratulations","challenge_completed","campaign_expired","copy_clipboard","open_campaigns","campaign_name","campaign_level","campaign_level_completed","campaign_score","campaign_details","campaign_no_details","campaign_rewards","campaign_no_rewards","campaign_start_date","campaign_end_date","campaign_time_left","campaign_includes","current_score","completed_level","next_level_score","browser_source_url","browser_source_help","no_campaigns_available","closed_campaigns","search_rewards","rewards_per_page","no_rewards_available","tier","coupon_code","digital_reward_name","digital_reward_mechanics","digital_mechanics","download_rewards","welcome_to","sign_up","sign_up_incomplete","landing_title","landing_subtitle","landing_affiliate","landing_partner","landing_full_name","landing_email","landing_contact","landing_country","landing_address","landing_address_info","landing_state","landing_city","landing_marketing","landing_attention","landing_agree","landing_disagree","landing_submit","landing_success","landing_click_here","landing_success_info","landing_error","landing_error_info","unauthorized_message","dashboard_unused_overlay","en","starting_soon","es","fr","ja","pt","zhHant","Vuetify","buttons","rounded","lang","locales","zh","current","themes","primary","_t","stopTsmLoading","library","add","faTwitch","faDiscord","faTwitter","faLinkedin","faUserShield","faChevronLeft","config","Authorization","id_token","productionTip","VueClipboard","VueVirtualScroller","VuePapaParse","VTiptap","FontAwesomeIcon","Default","Login","Blank","vuetify","h","App","$mount"],"mappings":"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","file":"js/app.f2355ca9.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"campaign\":\"campaign\",\"channels~settings~whiteList\":\"channels~settings~whiteList\",\"channels\":\"channels\",\"settings\":\"settings\",\"whiteList\":\"whiteList\",\"coupons\":\"coupons\",\"dashboard\":\"dashboard\",\"faqs\":\"faqs\",\"home\":\"home\",\"multipleChoices\":\"multipleChoices\",\"oidcCallback\":\"oidcCallback\",\"overlay\":\"overlay\",\"rewards\":\"rewards\",\"signUp\":\"signUp\",\"userMgmt\":\"userMgmt\",\"waitList\":\"waitList\"}[chunkId]||chunkId) + \".\" + {\"campaign\":\"6c6b20eb\",\"channels~settings~whiteList\":\"d360b3d7\",\"channels\":\"caa07e24\",\"settings\":\"0d6e504f\",\"whiteList\":\"2e5ba53d\",\"coupons\":\"7cfc181b\",\"dashboard\":\"899397f9\",\"faqs\":\"0be9b1e4\",\"home\":\"850a1667\",\"multipleChoices\":\"af59d4e3\",\"oidcCallback\":\"cff0efb7\",\"overlay\":\"d6d5d14c\",\"rewards\":\"5c81a8b9\",\"signUp\":\"1c44baed\",\"userMgmt\":\"71e4ec26\",\"waitList\":\"40cba04f\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"campaign\":1,\"channels~settings~whiteList\":1,\"channels\":1,\"settings\":1,\"whiteList\":1,\"coupons\":1,\"dashboard\":1,\"faqs\":1,\"home\":1,\"multipleChoices\":1,\"oidcCallback\":1,\"overlay\":1,\"rewards\":1,\"signUp\":1,\"userMgmt\":1,\"waitList\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"campaign\":\"campaign\",\"channels~settings~whiteList\":\"channels~settings~whiteList\",\"channels\":\"channels\",\"settings\":\"settings\",\"whiteList\":\"whiteList\",\"coupons\":\"coupons\",\"dashboard\":\"dashboard\",\"faqs\":\"faqs\",\"home\":\"home\",\"multipleChoices\":\"multipleChoices\",\"oidcCallback\":\"oidcCallback\",\"overlay\":\"overlay\",\"rewards\":\"rewards\",\"signUp\":\"signUp\",\"userMgmt\":\"userMgmt\",\"waitList\":\"waitList\"}[chunkId]||chunkId) + \".\" + {\"campaign\":\"7617bd79\",\"channels~settings~whiteList\":\"dda28552\",\"channels\":\"40c54935\",\"settings\":\"d02094ba\",\"whiteList\":\"2eb2ad66\",\"coupons\":\"543a0b0b\",\"dashboard\":\"5121c583\",\"faqs\":\"48949ce8\",\"home\":\"fcbee948\",\"multipleChoices\":\"85aa184b\",\"oidcCallback\":\"94e5e5e6\",\"overlay\":\"34a01029\",\"rewards\":\"50e5d136\",\"signUp\":\"b02c7bc2\",\"userMgmt\":\"caf446f6\",\"waitList\":\"02f9137c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=6adc712d&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.layout,{tag:\"component\"},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6adc712d\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=6adc712d&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import uuid4 from 'uuid/v4'\n\n/**\n * Generates RFC4122 version 4 guid ()\n */\n\nexport default function random() {\n return uuid4().replace(/-/g, '')\n}\n","import axios from 'axios'\n\naxios.defaults.headers.common['Access-Control-Allow-Origin'] = '*'\n\nconst TSMInstance = axios.create()\nconst TSMPublicInstance = axios.create()\n\nexport function setTSMInterceptor(request, response, requestError, responseError) {\n TSMInstance.interceptors.request.use(request, requestError)\n\n TSMInstance.interceptors.response.use(response, (error) => Promise.reject(error.response))\n}\n\nexport { TSMInstance, TSMPublicInstance }\n","import { TSMInstance, TSMPublicInstance } from '@/api/instance'\n\nconst url = process.env.VUE_APP_BASE_API_URL\nconst clientId = process.env.VUE_APP_CLIENT_ID\n\nexport async function updateIdentity(code, nonce) {\n const response = await TSMPublicInstance.post(`${url}api/Identity`, {\n client_id: clientId,\n code,\n nonce\n })\n return response.data\n}\n\nexport async function refreshIdentity(refreshToken) {\n const response = await TSMInstance.post(`${url}api/Identity/Refresh`, {\n client_id: clientId,\n refreshToken\n })\n return response.data\n}\n","import { TSMInstance } from '@/api/instance'\n\nconst url = process.env.VUE_APP_BASE_API_URL\n\nexport async function search(query) {\n const response = await TSMInstance.get(`${url}api/User/${query}`)\n return response.data\n}\n\nexport async function me() {\n const response = await TSMInstance.get(`${url}api/User`)\n return response.data\n}\n\nexport async function blockUser(userId, block) {\n const response = await TSMInstance.put(`${url}api/User/${userId}/Block/${block}`)\n return response.data\n}\n\nexport async function getStaffUsers() {\n const response = await TSMInstance.get(`${url}api/User/StaffUsers`)\n return response.data\n}\n\nexport async function setUserRole(userId, role) {\n const response = await TSMInstance.put(`${url}api/User/${userId}/Role/${role}`)\n return response.data\n}\n\nexport async function setUserType(userId, type) {\n const response = await TSMInstance.put(`${url}api/User/${userId}/Type/${type}`)\n return response.data\n}\n","import { TSMInstance, TSMPublicInstance } from '@/api/instance'\n\nconst url = process.env.VUE_APP_BASE_API_URL\n\nexport async function timezones() {\n const response = await TSMInstance.get(`${url}api/Campaign/Timezones`)\n return response.data\n}\n\nexport async function tags() {\n const response = await TSMInstance.get(`${url}api/Campaign/Tags`)\n return response.data\n}\n\nexport async function openCampaigns() {\n const response = await TSMInstance.get(`${url}api/Campaign/OpenCampaigns`)\n return response.data\n}\n\nexport async function closedCampaigns() {\n const response = await TSMInstance.get(`${url}api/Campaign/ClosedCampaigns`)\n return response.data\n}\n\nexport async function createCampaign(campaign) {\n const response = await TSMInstance.post(`${url}api/Campaign`, campaign)\n return response.data\n}\n\nexport async function deleteCampaign(campaignId) {\n const response = await TSMInstance.delete(`${url}api/Campaign/${campaignId}`)\n return response.data\n}\n\nexport async function getCampaign(campaignId) {\n const response = await TSMInstance.get(`${url}api/Campaign/${campaignId}`)\n return response.data\n}\n\nexport async function getWaitList(campaignId) {\n const response = await TSMInstance.get(`${url}api/Campaign/WaitList/${campaignId}`)\n return response.data\n}\n\nexport async function getCampaignLanding(slug) {\n const response = await TSMPublicInstance.get(`${url}api/Campaign/Landing/${slug}`)\n return response.data\n}\n\nexport async function getSignUpCheck(slug) {\n const response = await TSMInstance.get(`${url}api/Campaign/SignUpCheck/${slug}`)\n return response.data\n}\n\nexport async function updateSignUp(campaignScore) {\n const response = await TSMInstance.post(`${url}api/Campaign/SignUp`, campaignScore)\n return response.data\n}\n\nexport async function updateBonusScores(campaignId, scores) {\n const response = await TSMInstance.post(`${url}api/Campaign/Bonus/Scores/${campaignId}`, scores)\n return response.data\n}\n\nexport async function updateBonusExp(campaignScoreId, score) {\n const response = await TSMInstance.put(`${url}api/Campaign/${campaignScoreId}/${score}`)\n return response.data\n}\n\nexport async function blockScore(campaignScoreId, block) {\n const response = await TSMInstance.put(`${url}api/Campaign/${campaignScoreId}/Block/${block}`)\n return response.data\n}\n\nexport async function approveAllEligible(campaignId) {\n const response = await TSMInstance.put(`${url}api/Campaign/${campaignId}/Eligible/Approve/All`)\n return response.data\n}\n\nexport async function autoApproveCampaign(campaignId, enabled) {\n const response = await TSMInstance.put(`${url}api/Campaign/${campaignId}/Auto/Approve/${enabled}`)\n return response.data\n}\n\nexport async function displayCouponsCampaign(campaignId, enabled) {\n const response = await TSMInstance.put(`${url}api/Campaign/${campaignId}/Display/Coupons/${enabled}`)\n return response.data\n}\n\nexport async function myScores() {\n const response = await TSMInstance.get(`${url}api/Campaign/MyScores`)\n return response.data\n}\n\nexport async function createScore(campaignId, channelId) {\n const response = await TSMInstance.post(`${url}api/Campaign/${campaignId}/${channelId}`, '')\n return response.data\n}\n\nexport async function createScoreList(campaignId, channels) {\n const response = await TSMInstance.post(`${url}api/Campaign/${campaignId}`, channels)\n return response.data\n}\n\nexport async function deleteScore(campaignId, channelId) {\n const response = await TSMInstance.delete(`${url}api/Campaign/${campaignId}/${channelId}`, '')\n return response.data\n}\n\nexport async function loadOverlay(campaignId, channelId, slug) {\n const response = await TSMPublicInstance.get(`${url}api/Campaign/${campaignId}/${channelId}/${slug}`)\n return response.data\n}\n\nexport async function setCampaignLogos(\n campaignId,\n overlayThemeLabel,\n overlayThemeLightLabel,\n overlayThemeImageUrl,\n overlayThemeLightImageUrl,\n overlayMessageText,\n overlayMessageInterval,\n overlayMessageDuration,\n overlayMessageStartDate,\n overlayMessageEndDate,\n progressBarImageUrl,\n progressBarLightImageUrl,\n logoImageUrl,\n logoLightImageUrl,\n sponsorImageUrl,\n sponsorLightImageUrl,\n sponsorImages,\n sponsorLightImages,\n sponsorText,\n sponsorLevel1ImageUrl,\n sponsorLevel1Name,\n sponsorLevel2ImageUrl,\n sponsorLevel2Name,\n sponsorLevel3ImageUrl,\n sponsorLevel3Name,\n sponsorLevel4ImageUrl,\n sponsorLevel4Name,\n sponsorLevel5ImageUrl,\n sponsorLevel5Name,\n sponsorLevel6ImageUrl,\n sponsorLevel6Name,\n sponsorLevel7ImageUrl,\n sponsorLevel7Name,\n sponsorLevel8ImageUrl,\n sponsorLevel8Name,\n sponsorLevel9ImageUrl,\n sponsorLevel9Name,\n sponsorLevel10ImageUrl,\n sponsorLevel10Name,\n sponsorLevel11ImageUrl,\n sponsorLevel11Name,\n sponsorLevel12ImageUrl,\n sponsorLevel12Name\n) {\n const response = await TSMInstance.post(`${url}api/Campaign/Logos/${campaignId}`, {\n overlay_theme_label: overlayThemeLabel,\n overlay_theme_light_label: overlayThemeLightLabel,\n overlay_theme_image_url: overlayThemeImageUrl,\n overlay_theme_light_image_url: overlayThemeLightImageUrl,\n overlay_message_text: overlayMessageText,\n overlay_message_interval: overlayMessageInterval,\n overlay_message_duration: overlayMessageDuration,\n overlay_message_start_date: overlayMessageStartDate,\n overlay_message_end_date: overlayMessageEndDate,\n progress_bar_image_url: progressBarImageUrl,\n progress_bar_light_image_url: progressBarLightImageUrl,\n logo_image_url: logoImageUrl,\n logo_light_image_url: logoLightImageUrl,\n sponsor_image_url: sponsorImageUrl,\n sponsor_light_image_url: sponsorLightImageUrl,\n sponsor_images: sponsorImages,\n sponsor_light_images: sponsorLightImages,\n sponsor_text: sponsorText,\n sponsor_level1_image_url: sponsorLevel1ImageUrl,\n sponsor_level1_name: sponsorLevel1Name,\n sponsor_level2_image_url: sponsorLevel2ImageUrl,\n sponsor_level2_name: sponsorLevel2Name,\n sponsor_level3_image_url: sponsorLevel3ImageUrl,\n sponsor_level3_name: sponsorLevel3Name,\n sponsor_level4_image_url: sponsorLevel4ImageUrl,\n sponsor_level4_name: sponsorLevel4Name,\n sponsor_level5_image_url: sponsorLevel5ImageUrl,\n sponsor_level5_name: sponsorLevel5Name,\n sponsor_level6_image_url: sponsorLevel6ImageUrl,\n sponsor_level6_name: sponsorLevel6Name,\n sponsor_level7_image_url: sponsorLevel7ImageUrl,\n sponsor_level7_name: sponsorLevel7Name,\n sponsor_level8_image_url: sponsorLevel8ImageUrl,\n sponsor_level8_name: sponsorLevel8Name,\n sponsor_level9_image_url: sponsorLevel9ImageUrl,\n sponsor_level9_name: sponsorLevel9Name,\n sponsor_level10_image_url: sponsorLevel10ImageUrl,\n sponsor_level10_name: sponsorLevel10Name,\n sponsor_level11_image_url: sponsorLevel11ImageUrl,\n sponsor_level11_name: sponsorLevel11Name,\n sponsor_level12_image_url: sponsorLevel12ImageUrl,\n sponsor_level12_name: sponsorLevel12Name\n })\n return response.data\n}\n\nexport async function setCampaign(campaignId, campaignName, localName, link1Name, link1Url, link2Name, link2Url, link3Name, link3Url) {\n const response = await TSMInstance.post(`${url}api/Campaign/Edit/${campaignId}`, {\n name: campaignName,\n local_name: localName,\n link1_name: link1Name,\n link1_url: link1Url,\n link2_name: link2Name,\n link2_url: link2Url,\n link3_name: link3Name,\n link3_url: link3Url\n })\n return response.data\n}\n\nexport async function setCampaignLanding(\n campaignId,\n landingCustomSubtitle,\n landingDates,\n landingFaqsTitle,\n landingMultipleChoicesTitle,\n landingSignUpEnabled,\n landingBannerImageUrl,\n landingPrize1ImageUrl,\n landingPrize2ImageUrl,\n landingPrize3ImageUrl,\n landingPrize1Name,\n landingPrize2Name,\n landingPrize3Name,\n landingPrize4Name,\n landingPrize5Name,\n landingPrize6Name,\n landingPrize7Name,\n landingPrize8Name,\n landingPrize9Name,\n landingPrize10Name,\n landingPrize11Name,\n landingPrize12Name,\n landingCarouselInterval\n) {\n const response = await TSMInstance.post(`${url}api/Campaign/Landing/${campaignId}`, {\n landing_custom_subtitle: landingCustomSubtitle,\n landing_dates: landingDates,\n landing_faqs_title: landingFaqsTitle,\n landing_multiple_choices_title: landingMultipleChoicesTitle,\n landing_sign_up_enabled: landingSignUpEnabled,\n landing_banner_image_url: landingBannerImageUrl,\n landing_prize1_image_url: landingPrize1ImageUrl,\n landing_prize2_image_url: landingPrize2ImageUrl,\n landing_prize3_image_url: landingPrize3ImageUrl,\n landing_prize1_name: landingPrize1Name,\n landing_prize2_name: landingPrize2Name,\n landing_prize3_name: landingPrize3Name,\n landing_prize4_name: landingPrize4Name,\n landing_prize5_name: landingPrize5Name,\n landing_prize6_name: landingPrize6Name,\n landing_prize7_name: landingPrize7Name,\n landing_prize8_name: landingPrize8Name,\n landing_prize9_name: landingPrize9Name,\n landing_prize10_name: landingPrize10Name,\n landing_prize11_name: landingPrize11Name,\n landing_prize12_name: landingPrize12Name,\n landing_carousel_interval: `${landingCarouselInterval}`\n })\n return response.data\n}\n\nexport async function setCampaignFaqs(campaignId, faqs) {\n const response = await TSMInstance.post(`${url}api/Campaign/Faqs/${campaignId}`, {\n faqs\n })\n return response.data\n}\n\nexport async function setCampaignMultipleChoices(campaignId, multipleChoices) {\n const response = await TSMInstance.post(`${url}api/Campaign/MultipleChoices/${campaignId}`, {\n multiple_choices: multipleChoices\n })\n return response.data\n}\n\nexport async function setCampaignWhiteListUsers(campaignId, whiteListUsers) {\n const response = await TSMInstance.post(`${url}api/Campaign/WhiteListUsers/${campaignId}`, {\n landing_white_list_users: whiteListUsers\n })\n return response.data\n}\n","import { TSMInstance } from '@/api/instance'\n\nconst url = process.env.VUE_APP_BASE_API_URL\n\nexport async function createCampaignCouponList(campaignId, fileName, content) {\n const response = await TSMInstance.post(`${url}api/Coupon/Campaign/${campaignId}`, {\n file_name: fileName,\n rows: content.data\n })\n return response.data\n}\n\nexport async function getCampaignCouponList(campaignId) {\n const response = await TSMInstance.get(`${url}api/Coupon/Campaign/${campaignId}`)\n return response.data\n}\n\nexport async function getUserCampaignCouponList(campaignId) {\n const response = await TSMInstance.get(`${url}api/Coupon/Campaign/${campaignId}/MyCoupons`)\n return response.data\n}\n\nexport async function deleteCoupon(couponId) {\n const response = await TSMInstance.delete(`${url}api/Coupon/${couponId}`)\n return response.data\n}\n","function getConfig() {\n return {\n authority: 'https://id.twitch.tv/oauth2',\n client_id: process.env.VUE_APP_CLIENT_ID,\n redirect_uri: process.env.VUE_APP_REDIRECT_URI,\n popup_redirect_uri: process.env.VUE_APP_POPUP_REDIRECT_URI,\n response_type: 'token id_token',\n scope: 'openid channel:read:subscriptions bits:read',\n post_logout_redirect_uri: process.env.VUE_APP_POST_LOGOUT_REDIRECT_URI,\n silentRedirectUri: process.env.VUE_APP_SILENT_REDIRECT_URI,\n automaticSilentRenew: false\n }\n}\n\nexport const oidcSettings = getConfig()\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport random from '@/plugins/random'\nimport {\n refreshIdentity,\n updateIdentity,\n search,\n me,\n openCampaigns,\n closedCampaigns,\n createCampaign,\n myScores,\n createScore,\n createScoreList,\n deleteScore,\n getCampaign,\n getWaitList,\n getCampaignLanding,\n getStaffUsers,\n getSignUpCheck,\n updateSignUp,\n deleteCampaign,\n setCampaign,\n setCampaignLogos,\n setCampaignLanding,\n setCampaignFaqs,\n setCampaignMultipleChoices,\n setCampaignWhiteListUsers,\n setUserRole,\n setUserType,\n loadOverlay,\n timezones,\n tags,\n updateBonusExp,\n updateBonusScores,\n blockScore,\n blockUser,\n approveAllEligible,\n autoApproveCampaign,\n displayCouponsCampaign,\n createCampaignCouponList,\n getCampaignCouponList,\n getUserCampaignCouponList,\n deleteCoupon\n} from '@/api'\nimport { oidcSettings } from '@/config/oidc'\nimport { isEmpty, orderBy } from 'lodash'\n\nVue.use(Vuex)\n\nconst allowedStaffUserIds = !isEmpty(process.env.VUE_APP_ALLOWED_STAFF_USER_IDS) ? process.env.VUE_APP_ALLOWED_STAFF_USER_IDS.trim().split(',') : []\n\nexport default new Vuex.Store({\n state: {\n user: null,\n staff: false,\n authUser: null,\n authTimeout: null,\n scores: null,\n openCampaigns: [],\n closedCampaigns: [],\n searchResults: [],\n overlay: null,\n timezones: [],\n tags: []\n },\n getters: {\n authUser: (state) => {\n if (state.authUser == null) {\n if (sessionStorage.user) {\n return JSON.parse(sessionStorage.user)\n }\n return null\n }\n return state.authUser\n },\n user: (state) => {\n return state.user\n },\n scores: (state) => {\n return state.scores\n },\n staff: (state) => {\n return state.staff\n },\n openCampaigns: (state) => {\n return state.openCampaigns\n },\n closedCampaigns: (state) => {\n return state.closedCampaigns\n },\n searchResults: (state) => {\n return state.searchResults\n },\n overlay: (state) => {\n return state.overlay\n },\n timezones: (state) => {\n return state.timezones\n },\n tags: (state) => {\n return state.tags\n }\n },\n mutations: {\n authUser(state, value) {\n if (value == null) {\n state.authUser = null\n sessionStorage.removeItem('user')\n sessionStorage.removeItem('login')\n sessionStorage.removeItem('campaign')\n } else {\n state.authUser = value\n sessionStorage.user = JSON.stringify(value)\n }\n },\n user(state, user) {\n state.user = user\n },\n scores(state, scores) {\n state.scores = scores\n },\n staff(state, staff) {\n state.staff = staff\n },\n authTimeout(state, timeout) {\n state.authTimeout = timeout\n },\n openCampaigns(state, openCampaigns) {\n state.openCampaigns = openCampaigns\n },\n closedCampaigns(state, closedCampaigns) {\n state.closedCampaigns = closedCampaigns\n },\n campaign(state, campaign) {\n state.campaign = campaign\n },\n newCampaign(state, newCampaign) {\n state.openCampaigns.push(newCampaign)\n },\n searchResults(state, searchResults) {\n state.searchResults = searchResults\n },\n timezones(state, timezones) {\n state.timezones = timezones\n },\n tags(state, tags) {\n state.tags = tags\n },\n overlay(state, overlay) {\n state.overlay = overlay\n },\n newScore(state, newScore) {\n const campaigns = state.openCampaigns.filter((x) => newScore.campaign_id === x.id)\n campaigns.forEach((x) => {\n const channel = x.scores.filter((y) => y.id === newScore.id)\n if (channel.length === 0) {\n x.scores.push(newScore)\n }\n })\n },\n deleteScore(state, deleteScore) {\n const campaigns = state.openCampaigns.filter((x) => deleteScore.campaignId === x.id)\n campaigns.forEach((x) => {\n const newScores = []\n if (x.scores && x.scores.length > 0) {\n x.scores.forEach((y) => {\n if (y.channel.id !== deleteScore.scoreId) {\n newScores.push(y)\n }\n })\n x.scores = newScores\n }\n })\n },\n updateScore(state, updateScore) {\n let campaigns = state.openCampaigns.filter((x) => updateScore.campaign_id === x.id)\n campaigns = campaigns.concat(state.closedCampaigns.filter((x) => updateScore.campaign_id === x.id))\n ;(campaigns ?? []).forEach((x) => {\n ;(x.scores ?? []).forEach((y) => {\n if (y.id === updateScore.id) {\n y.score = updateScore.score\n y.bonus_e_x_p = updateScore.bonus_e_x_p\n }\n })\n })\n },\n deleteCampaign(state, deleteScore) {\n state.openCampaigns = state.openCampaigns.filter((x) => deleteScore.campaignId !== x.id)\n state.closedCampaigns = state.closedCampaigns.filter((x) => deleteScore.campaignId !== x.id)\n }\n },\n actions: {\n signin(context) {\n // generate a state value\n sessionStorage.state = random()\n // generate a nonce value\n sessionStorage.nonce = random()\n window.location = `${oidcSettings.authority}/authorize?client_id=${oidcSettings.client_id}&redirect_uri=${oidcSettings.redirect_uri}&response_type=code&scope=${oidcSettings.scope}&state=${sessionStorage.state}&nonce=${sessionStorage.nonce}`\n },\n signOut(context) {\n context.commit('user', null)\n return context.commit('authUser', null)\n },\n signinCallback(context, data) {\n return updateIdentity(data.code, data.nonce)\n .then((data) => {\n data.expires_at = Date.now() + (data.expires_in - 60) * 1000\n context.commit('authUser', data)\n sessionStorage.removeItem('nonce')\n sessionStorage.removeItem('state')\n return true\n })\n .catch((_) => {\n return false\n })\n },\n loadSystem(context) {\n if (sessionStorage.login === 'signUp') {\n return context.dispatch('getMe').then((_) => context.dispatch('autoRefreshToken', true))\n } else {\n return context\n .dispatch('getMe')\n .then((_) => context.dispatch('myScores'))\n .then((_) => context.dispatch('loadCampaigns'))\n .then((_) => context.dispatch('autoRefreshToken', true))\n }\n },\n loadOverlay(context, value) {\n return loadOverlay(value.campaign_id, value.channel_id, value.slug).then((result) => context.commit('overlay', result))\n },\n loadCampaigns(context) {\n if (context.state.staff) {\n const promises = []\n\n promises.push(openCampaigns().then((openCampaigns) => context.commit('openCampaigns', openCampaigns)))\n promises.push(closedCampaigns().then((closedCampaigns) => context.commit('closedCampaigns', closedCampaigns)))\n promises.push(timezones().then((timezones) => context.commit('timezones', timezones)))\n tags().then((tags) => context.commit('tags', tags))\n return Promise.all(promises).then((_) => true)\n } else {\n return true\n }\n },\n search(context, searchValue) {\n search(searchValue).then((searchResults) => {\n context.commit('searchResults', searchResults)\n return true\n })\n },\n myScores(context) {\n return myScores().then((scores) => {\n const scoresUnblocked = scores.filter((sc) => !sc.blocked)\n const sorted = orderBy(scoresUnblocked, ['campaign.start_date'], ['desc'])\n context.commit('scores', sorted)\n return true\n })\n },\n getMe(context) {\n return me().then((user) => {\n if (user.type === 'staff') {\n if (allowedStaffUserIds?.length > 0) {\n context.commit('staff', allowedStaffUserIds.includes(user.id))\n } else {\n context.commit('staff', true)\n }\n }\n context.commit('user', user)\n return true\n })\n },\n createCampaign(context, campaign) {\n if (context.state.staff) {\n createCampaign(campaign).then((newCamp) => {\n context.commit('newCampaign', newCamp)\n context.dispatch('loadCampaigns')\n })\n }\n },\n getCampaign(context, campaign) {\n if (context.state.staff) {\n return getCampaign(campaign).then((result) => {\n context.commit('campaign', result)\n return result\n })\n }\n },\n getWaitList(context, campaign) {\n if (context.state.staff) {\n return getWaitList(campaign).then((result) => {\n return result\n })\n }\n },\n getCampaignLanding(context, slug) {\n return getCampaignLanding(slug).then((result) => {\n return result\n })\n },\n getStaffUsers(context) {\n return getStaffUsers().then((result) => {\n return result\n })\n },\n getSignUpCheck(context, slug) {\n return getSignUpCheck(slug).then((result) => {\n return result\n })\n },\n submitSignUp(context, campaignScore) {\n return updateSignUp(campaignScore).then((result) => {\n return result\n })\n },\n addChannel(context, value) {\n createScore(value.campaignId, value.channelId).then((result) => {\n context.commit('newScore', result)\n })\n },\n addChannels(context, value) {\n return createScoreList(value.campaignId, value.channels).then((result) => {\n context.dispatch('loadCampaigns')\n return result\n })\n },\n deleteChannelScore(context, value) {\n return deleteScore(value.campaignId, value.scoreId).then((_) => {\n context.commit('deleteScore', value)\n })\n },\n deleteCampaign(context, value) {\n return deleteCampaign(value.campaignId).then((_) => {\n context.commit('deleteCampaign', value)\n context.dispatch('myScores')\n })\n },\n updateBonusExp(context, value) {\n updateBonusExp(value.scoreId, value.score).then((data) => {\n context.commit('updateScore', data)\n })\n },\n updateBonusScores(context, value) {\n return updateBonusScores(value.campaignId, value.scores).then((data) => {\n return data\n })\n },\n blockUser(context, value) {\n return blockUser(value.userId, value.block).then((data) => {\n return data\n })\n },\n blockScore(context, value) {\n return blockScore(value.scoreId, value.block).then((data) => {\n context.dispatch('myScores')\n return data\n })\n },\n approveAllEligible(context, campaign) {\n return approveAllEligible(campaign)\n },\n autoApproveCampaign(context, value) {\n return autoApproveCampaign(value.campaignId, value.enabled)\n },\n displayCouponsCampaign(context, value) {\n return displayCouponsCampaign(value.campaignId, value.enabled)\n },\n autoRefreshToken(context, checkTimeout) {\n if (context.getters.authUser !== null) {\n if (checkTimeout && context.state.authTimeout !== null) {\n return\n }\n const timeout = setTimeout(() => {\n if (context.getters.authUser !== null) {\n const user = context.getters.authUser\n refreshIdentity(user.refresh_token).then((data) => {\n user.expires_at = Date.now() + (user.expires_in - 60) * 1000\n user.access_token = data.access_token\n user.refresh_token = data.refresh_token\n context.commit('authUser', user)\n context.dispatch('autoRefreshToken', false)\n })\n }\n }, 60 * 60 * 1000)\n context.commit('authTimeout', timeout)\n }\n },\n createCampaignCoupons(context, value) {\n if (context.state.staff) {\n return createCampaignCouponList(value.campaignId, value.fileName, value.content)\n }\n },\n getCampaignCoupons(context, campaign) {\n if (context.state.staff) {\n return getCampaignCouponList(campaign)\n }\n },\n getUserCampaignCoupons(context, campaign) {\n if (context.state.user) {\n return getUserCampaignCouponList(campaign)\n }\n },\n deleteCoupon(context, coupon) {\n if (context.state.staff) {\n return deleteCoupon(coupon)\n }\n },\n updateCampaignLogos(context, value) {\n if (context.state.staff) {\n return setCampaignLogos(\n value.campaignId,\n value.overlayThemeLabel,\n value.overlayThemeLightLabel,\n value.overlayThemeImageUrl,\n value.overlayThemeLightImageUrl,\n value.overlayMessageText,\n value.overlayMessageInterval,\n value.overlayMessageDuration,\n value.overlayMessageStartDate,\n value.overlayMessageEndDate,\n value.progressBarImageUrl,\n value.progressBarLightImageUrl,\n value.logoImageUrl,\n value.logoLightImageUrl,\n value.sponsorImageUrl,\n value.sponsorLightImageUrl,\n value.sponsorImages,\n value.sponsorLightImages,\n value.sponsorText,\n value.sponsorLevel1ImageUrl,\n value.sponsorLevel1Name,\n value.sponsorLevel2ImageUrl,\n value.sponsorLevel2Name,\n value.sponsorLevel3ImageUrl,\n value.sponsorLevel3Name,\n value.sponsorLevel4ImageUrl,\n value.sponsorLevel4Name,\n value.sponsorLevel5ImageUrl,\n value.sponsorLevel5Name,\n value.sponsorLevel6ImageUrl,\n value.sponsorLevel6Name,\n value.sponsorLevel7ImageUrl,\n value.sponsorLevel7Name,\n value.sponsorLevel8ImageUrl,\n value.sponsorLevel8Name,\n value.sponsorLevel9ImageUrl,\n value.sponsorLevel9Name,\n value.sponsorLevel10ImageUrl,\n value.sponsorLevel10Name,\n value.sponsorLevel11ImageUrl,\n value.sponsorLevel11Name,\n value.sponsorLevel12ImageUrl,\n value.sponsorLevel12Name\n ).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateCampaignEdit(context, value) {\n if (context.state.staff) {\n return setCampaign(value.campaignId, value.name, value.localName, value.link1Name, value.link1Url, value.link2Name, value.link2Url, value.link3Name, value.link3Url).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateCampaignLanding(context, value) {\n if (context.state.staff) {\n return setCampaignLanding(\n value.campaignId,\n value.landingCustomSubtitle,\n value.landingDates,\n value.landingFaqsTitle,\n value.landingMultipleChoicesTitle,\n value.landingSignUpEnabled,\n value.landingBannerImageUrl,\n value.landingPrize1ImageUrl,\n value.landingPrize2ImageUrl,\n value.landingPrize3ImageUrl,\n value.landingPrize1Name,\n value.landingPrize2Name,\n value.landingPrize3Name,\n value.landingPrize4Name,\n value.landingPrize5Name,\n value.landingPrize6Name,\n value.landingPrize7Name,\n value.landingPrize8Name,\n value.landingPrize9Name,\n value.landingPrize10Name,\n value.landingPrize11Name,\n value.landingPrize12Name,\n value.landingCarouselInterval\n ).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateCampaignFaqs(context, value) {\n if (context.state.staff) {\n return setCampaignFaqs(value.campaignId, value.faqs).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateCampaignMultipleChoices(context, value) {\n if (context.state.staff) {\n return setCampaignMultipleChoices(value.campaignId, value.multipleChoices).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateCampaignWhiteListUsers(context, value) {\n if (context.state.staff) {\n return setCampaignWhiteListUsers(value.campaignId, value.whiteListUsers).then((_) => context.dispatch('loadCampaigns'))\n }\n },\n updateUserRole(context, value) {\n if (context.state.staff) {\n return setUserRole(value.userId, value.role)\n }\n },\n updateUserType(context, value) {\n if (context.state.staff) {\n return setUserType(value.userId, value.type)\n }\n }\n },\n modules: {}\n})\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport store from '@/store'\n\nVue.use(Router)\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n component: () => import(/* webpackChunkName: \"home\" */ '@/views/Home.vue'),\n meta: {\n layout: 'login'\n }\n },\n {\n path: '/unauthorized',\n name: 'unauthorized',\n component: () => import(/* webpackChunkName: \"dashboard\" */ '@/views/Unauthorized.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/dashboard',\n name: 'dashboard',\n component: () => import(/* webpackChunkName: \"dashboard\" */ '@/views/Dashboard.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/settings',\n name: 'settings',\n component: () => import(/* webpackChunkName: \"settings\" */ '@/views/Settings.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/oidc-callback',\n name: 'oidcCallback',\n component: () => import(/* webpackChunkName: \"oidcCallback\" */ '@/views/OidcCallback.vue'),\n meta: {\n layout: 'login'\n }\n },\n {\n path: '/campaign/:slug',\n name: 'campaign',\n component: () => import(/* webpackChunkName: \"campaign\" */ '@/views/Campaign.vue'),\n meta: {\n layout: 'login'\n }\n },\n {\n path: '/sign-up',\n name: 'signUp',\n component: () => import(/* webpackChunkName: \"signUp\" */ '@/views/SignUp.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/channels/:campaignId',\n name: 'channels',\n component: () => import(/* webpackChunkName: \"channels\" */ '@/views/Channels.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/coupons/:campaignId',\n name: 'coupons',\n component: () => import(/* webpackChunkName: \"coupons\" */ '@/views/Coupons.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/rewards/:campaignId',\n name: 'rewards',\n component: () => import(/* webpackChunkName: \"rewards\" */ '@/views/Rewards.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/faqs/:campaignId',\n name: 'faqs',\n component: () => import(/* webpackChunkName: \"faqs\" */ '@/views/Faqs.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/multiple-choices/:campaignId',\n name: 'multipleChoices',\n component: () => import(/* webpackChunkName: \"multipleChoices\" */ '@/views/MultipleChoices.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/user-mgmt',\n name: 'userMgmt',\n component: () => import(/* webpackChunkName: \"userMgmt\" */ '@/views/UserMgmt.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/white-list/:campaignId',\n name: 'whiteList',\n component: () => import(/* webpackChunkName: \"whiteList\" */ '@/views/WhiteList.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/wait-list/:campaignId',\n name: 'waitList',\n component: () => import(/* webpackChunkName: \"waitList\" */ '@/views/WaitList.vue'),\n meta: {\n layout: 'default',\n requiresAuth: true\n }\n },\n {\n path: '/overlay/:slug/:channelId/:campaignId/:theme',\n name: 'overlay',\n component: () => import(/* webpackChunkName: \"overlay\" */ '@/views/Overlay.vue'),\n meta: {\n layout: 'blank'\n }\n }\n]\n\nconst router = new Router({\n mode: 'history',\n base: './',\n routes\n})\n\nrouter.beforeEach((to, from, next) => {\n const requiresAuth = to.matched.some((record) => record.meta.requiresAuth)\n if (requiresAuth) {\n if (store.getters.authUser != null) {\n next()\n } else {\n router.push({ name: 'home' })\n }\n } else {\n next()\n }\n})\n\nexport default router\n","import { de } from 'vuetify/lib/locale'\n\nexport default {\n ...de,\n title: 'Glitch Exp',\n login: 'Anmeldung',\n logout: 'Ausloggen',\n heading_welcome: 'Willkommen bei EXP',\n home_para1: 'GLITCH EXP ist ein für Twitch Interactive entwickeltes Tool. Dies wird für Kampagnen verwendet, in denen ',\n rewards: 'Creators',\n home_para1_1: ' für ihre gesammelten Punkte belohnt werden. Je mehr Punkte du sammelst, desto größer ist die Belohnung. Die Art und Weise, wie du Punkte sammelst, hängt von der jeweiligen Kampagne und den von Twitch festgelegten Kriterien ab.',\n home_para1_2: 'Bitte lese die ',\n home_para1_3: ' durch und lass es uns gerne wissen, wenn du Fragen hast.',\n reminder: 'Als Erinnerung',\n home_para2:\n 'Bitte stelle sicher, dass du dich bereits für die Teilnahme an einer Kampagne angemeldet und deinen Twitch-Benutzernamen im entsprechenden Formular angegeben hast. Wenn du dich noch nicht auf unsere Webseite angemeldet hast, bevor du diese function benutzt, wirst du keine Prämien verdienen können.',\n terms: 'Nutzungsbedingungen',\n privacy_policy: 'Datenschutzbestimmungen',\n develop_by: 'Dieses Tool wurde in Zusammenarbeit mit X-Team und anderen Entwicklungspartnern entwickelt.',\n level: 'Level',\n completed: 'Vollendet!',\n congratulations: '',\n challenge_completed: 'Herausforderung Abgeschlossen!',\n campaign_expired: 'Die Kampagne ist abgelaufen!',\n copy_clipboard: 'EXP Overlay wurde erfolgreich in die Zwischenablage kopiert!',\n open_campaigns: 'Offene Kampagnen',\n campaign_name: 'Kampagnenname',\n campaign_level: 'Level
Abgeschlossen',\n campaign_level_completed: 'Level Abgeschlossen',\n campaign_score: 'Punktzahl',\n campaign_details: 'Einzelheiten',\n campaign_no_details: ' ',\n campaign_rewards: 'Prämien',\n campaign_no_rewards: ' ',\n campaign_start_date: 'Startdatum',\n campaign_end_date: 'Endtermin',\n campaign_time_left: 'Übrige Zeit',\n campaign_includes: 'Inklusive',\n current_score: 'Momentaner Punktestand',\n completed_level: 'Abgeschlossenes Level',\n next_level_score: 'Nächste Level -Score',\n browser_source_url: 'Browserquelle URL',\n browser_source_help: 'Bitte klicke auf deine bevorzugte Version der URL-Browserquelle, um die bereitgestellte URL in dein OBS einzufügen.',\n no_campaigns_available: 'Keine kampagnen verfügbar',\n closed_campaigns: 'Geschlossene Kampagnen',\n search_rewards: 'Suche Prämien',\n rewards_per_page: 'Prämien pro Teilnehmer',\n no_rewards_available: 'Keine belohnungen verfügbar',\n tier: 'Ebene',\n coupon_code: 'Gutscheincode',\n digital_reward_name: 'Digitaler Belohnungsname',\n digital_reward_mechanics: 'Digitale Belohnungsmechanik',\n digital_mechanics: 'Digitale Belohnungs
mechanik',\n download_rewards: 'Prämien Herunterladen',\n welcome_to: 'Willkommen bei',\n sign_up: 'Anmelden',\n sign_up_incomplete: 'Anmeldung unvollständig',\n landing_title: 'Melde dich hier an, um Teil der Challenge zu sein!',\n landing_subtitle: 'Die folgenden Infos werden nur für diese Kampagne genutzt.',\n landing_affiliate: 'Affiliate',\n landing_partner: 'Partner',\n landing_full_name: 'Vollständiger Name',\n landing_email: 'E-Mail',\n landing_contact: 'Telefonnummer',\n landing_country: 'Land',\n landing_address: 'Adresse',\n landing_address_info: '*Dies dient dazu, dass du physische Waren erhältst. Falls du in den nächsten drei Monaten umziehen wirst, trage bitte deine aktuelle Versandadresse ein und markiere hier *Umzug geplant*.',\n landing_state: 'Bundesland',\n landing_city: 'Stadt',\n landing_marketing: 'Zu Marketingzwecken könnten wir dich auf unseren Kommunikationskanälen präsentieren. Stimmst du zu, dass Twitch deine Abbildung, Videos/Clips oder Stream-Inhalte für Werbezwecke verwenden darf?',\n landing_attention: '*Hinweis: Wenn du gegen die Community-Richtlinien, die Nutzungsbedingungen oder lokale Gesetze usw. verstößt, behält sich Twitch das Recht vor, jegliche Werbemittel zu entfernen.',\n landing_agree: 'Ich stimme zu',\n landing_disagree: 'Ich stimme nicht zu',\n landing_submit: 'Abschicken',\n landing_success: 'Anmeldung erfolgreich! Du bist dabei!',\n landing_click_here: 'Klicke hier',\n landing_success_info: ', um zur Glitch EXP-Website zu gelangen und dich auf ein aufregendes Erlebnis mit dem vorzubereiten',\n landing_error: 'Es tut uns leid, du hast dich leider nicht qualifiziert.',\n landing_error_info: 'Die Marketingkampagne ist nur auf Einladung und wir haben dein Interesse zur Kenntnis genommen. Wir hoffen, dir in naher Zukunft eine Einladung für unsere kommenden Kampagnen zukommen lassen zu können.',\n unauthorized_message: 'Entschuldigung, Sie haben derzeit keinen Zugriff.',\n dashboard_unused_overlay: 'Bitte verwenden Sie das EXP-Overlay in OBS!'\n}\n","import { en } from 'vuetify/lib/locale'\n\nexport default {\n ...en,\n title: 'Glitch Exp',\n login: 'Login',\n logout: 'Logout',\n heading_welcome: 'Welcome to EXP',\n home_para1: 'GLITCH EXP is a tool developed for Twitch Interactive for use in campaigns that ',\n rewards: 'rewards creators',\n home_para1_1: ' based on the points they earn. The more points you earn the bigger the reward you receive. The way you earn points will vary based on each campaign and the criteria determined by Twitch.',\n home_para1_2: 'Please read the ',\n home_para1_3: ' and contact us if you have any questions.
',\n reminder: 'Reminder',\n home_para2: 'Please ensure you have already signed up to participate in a campaign and provided your Twitch username on the relevant form. When you enter the website, you will only see the campaign you are participating in.
',\n terms: 'Terms of Service',\n privacy_policy: 'Privacy Policy',\n develop_by: 'This tool was developed in conjunction with X-Team and other development partners.',\n level: 'Level',\n completed: 'Completed!',\n congratulations: 'Congrats!',\n challenge_completed: 'Challenge Completed!',\n campaign_expired: 'The campaign is expired!',\n copy_clipboard: 'EXP Overlay URL copied to clipboard!',\n open_campaigns: 'Open Campaigns',\n campaign_name: 'Campaign Name',\n campaign_level: 'Level
Completed',\n campaign_level_completed: 'Level Completed',\n campaign_score: 'Score',\n campaign_details: 'Details',\n campaign_no_details: ' ',\n campaign_rewards: 'Rewards',\n campaign_no_rewards: ' ',\n campaign_start_date: 'Start Date',\n campaign_end_date: 'End Date',\n campaign_time_left: 'Time Left',\n campaign_includes: 'Includes',\n current_score: 'Current Score',\n completed_level: 'Completed Level',\n next_level_score: 'Next Level Score',\n browser_source_url: 'Browser Source URL',\n browser_source_help: 'Please click your preferred version of the Browser Source URL to copy it and paste it into your OBS system using the provided URL.',\n no_campaigns_available: 'No campaigns available',\n closed_campaigns: 'Closed Campaigns',\n search_rewards: 'Search Rewards',\n rewards_per_page: 'Rewards per Page',\n no_rewards_available: 'No rewards available',\n tier: 'Tier',\n coupon_code: 'Coupon Code',\n digital_reward_name: 'Digital Reward Name',\n digital_reward_mechanics: 'Digital Reward Mechanics',\n digital_mechanics: 'Digital Reward
Mechanics',\n download_rewards: 'Download Rewards',\n starting_soon: 'Starting soon',\n welcome_to: 'Welcome to',\n sign_up: 'Sign up',\n sign_up_incomplete: 'Sign Up Incomplete',\n landing_title: 'Register to join the fun!',\n landing_subtitle: 'The following information will only be used for this campaign.',\n landing_affiliate: 'Affiliate',\n landing_partner: 'Partner',\n landing_full_name: 'Full name',\n landing_email: 'Email address',\n landing_contact: 'Contact number',\n landing_country: 'Country',\n landing_address: 'Address',\n landing_address_info: '*This is for you to receive physical goods. if you are going to move house in the following three months, please put your current shipping address and mark *plan to move house* here.',\n landing_state: 'State',\n landing_city: 'City',\n landing_marketing: 'For marketing purposes, we might feature you in our communication channels. Do you agree to authorize Twitch to use your likeness, videos/clips or stream contents on advertising promotion?',\n landing_attention: '*Attention: If you violate the community guideline, T&S or local law etc., Twitch has right to remove any promotional resources.',\n landing_agree: 'I agree',\n landing_disagree: 'I disagree',\n landing_submit: 'Register',\n landing_success: \"Success! You're confirmed!\",\n landing_click_here: 'Click here',\n landing_success_info: 'to head to the Glitch EXP website and prepare for the upcoming',\n landing_error: \"Sorry, you're not eligible :(\",\n landing_error_info: \"The program is invitation-only at the moment but we've taken note of your interest. We hope to extend an invitation for our upcoming campaigns in the near future.\",\n unauthorized_message: \"Sorry, you currently don't have access.\",\n dashboard_unused_overlay: 'Please Use EXP overlay in OBS!'\n}\n","import { es } from 'vuetify/lib/locale'\n\nexport default {\n ...es,\n title: 'Glitch Exp',\n login: 'Acesso',\n logout: 'Cerrar Sesión',\n heading_welcome: 'Bienvenido a EXP',\n home_para1: 'GLITCH EXP es una herramienta desarrollada para Twitch Interactive para su uso en campañas que ',\n rewards: 'recompensa a los creadores',\n home_para1_1: ' en función de los puntos que ganan. Cuantos más puntos ganes, mayor será la recompensa que recibes. La forma en que gana puntos variará según cada campaña y los criterios determinados por Twitch.',\n home_para1_2: 'Lea la ',\n home_para1_3: ' y contáctenos si tiene alguna pregunta.
',\n reminder: 'Recordatorio',\n home_para2: 'Asegúrese de que ya se haya registrado para participar en una campaña y de haber introducido su nombre de usuario Twitch en el formulario relevante. Cuando ingrese al sitio web, solo verá la campaña en la que participa.
',\n terms: 'Términos de Servicio',\n privacy_policy: 'Política de Privacidad',\n develop_by: 'Esta herramienta se desarrolló junto con X-Team y otros socios de desarrollo.',\n level: 'Nivel',\n completed: '¡Completado!',\n congratulations: '¡Enhorabuena!',\n challenge_completed: '¡Desafío Completado!',\n campaign_expired: '¡La campaña ha caducado!',\n copy_clipboard: '¡Exp superpuesta copiada con éxito al portapapeles!',\n open_campaigns: 'Campañas Abiertas',\n campaign_name: 'Nombre de Campaña',\n campaign_level: 'Nivel
Completado',\n campaign_level_completed: 'Nivel Completado',\n campaign_score: 'Puntaje',\n campaign_details: 'Detalles',\n campaign_no_details: ' ',\n campaign_rewards: 'Cupones',\n campaign_no_rewards: ' ',\n campaign_start_date: 'Fecha de Inicio',\n campaign_end_date: 'Fecha Final',\n campaign_time_left: 'Tiempo Restante',\n campaign_includes: 'Incluir',\n current_score: 'Puntuación Actual',\n completed_level: 'Nivel Completado',\n next_level_score: 'Puntuación del Siguiente Nivel',\n browser_source_url: 'Barra EXP',\n browser_source_help: 'Haga clic en su versión preferida de la Barra EXP para copiarla y pegarla en su sistema OBS utilizando la URL proporcionada.',\n no_campaigns_available: 'No hay campañas disponibles',\n closed_campaigns: 'Campañas Cerradas',\n search_rewards: 'Cupones de Búsqueda',\n rewards_per_page: 'Cupones por Página',\n no_rewards_available: 'No hay cupones disponibles',\n tier: 'Nivel',\n coupon_code: 'Código Promocional',\n digital_reward_name: 'Nombre de Recompensa',\n digital_reward_mechanics: 'Mecánica de Recompensa',\n digital_mechanics: 'Mecánica de
Recompensa',\n download_rewards: 'Descargar Cupones',\n welcome_to: 'Bienvenido a',\n sign_up: 'Registrarse',\n sign_up_incomplete: 'Registro incompleto',\n landing_title: '¡Regístrate aquí para participar en este desafío!',\n landing_subtitle: 'La siguiente información solo se utilizará para ésta campaña',\n landing_affiliate: 'Affiliate',\n landing_partner: 'Partner',\n landing_full_name: 'Nombre completo',\n landing_email: 'Correo electrónico',\n landing_contact: 'Teléfono de contacto',\n landing_country: 'País',\n landing_address: 'Dirección',\n landing_address_info: '*Esta dirección será utilizada para confirmar tu residencia en México y/o entregar premios en caso de haber recompensas físicas.',\n landing_state: 'Estado',\n landing_city: 'Ciudad',\n landing_marketing: 'Con propósitos de marketing, es posible que te incluyamos y formes parte de nuestros canales de comunicacion. ¿Estás de acuerdo y autorizas a Twitch para usar tu imagen, vídeos/clips o contenido de stream, con fines promocionales?',\n landing_attention: '*Atención: si violas las normas de la comunidad, Términos y condiciones de uso, la ley local, etc. Twitch tiene el derecho de eliminar cualquier recurso promocional.',\n landing_agree: 'Estoy de acuerdo y autorizo',\n landing_disagree: 'No estoy de acuerdo',\n landing_submit: 'Enviar',\n landing_success: '¡Registro completo! Estás dentro!',\n landing_click_here: 'Clica aquí',\n landing_success_info: 'para dirigirte a la web Glitch EXP para prepararte para una experiencia increíble con el desafío',\n landing_error: 'Lo sentimos, no cumples los requisitos necesarios :(',\n landing_error_info: 'La campaña de marketing es solo por invitación, tomamos nota de tu interés. Esperamos poder enviar una invitación para próximas campañas en un futuro.',\n unauthorized_message: 'Lo siento, actualmente no tienes acceso.',\n dashboard_unused_overlay: '¡Por favor, utiliza el overlay EXP en OBS!'\n}\n","import { fr } from 'vuetify/lib/locale'\n\nexport default {\n ...fr,\n title: 'Glitch Exp',\n login: 'Connexion',\n logout: 'Se déconnecter',\n heading_welcome: 'Bienvenue sur EXP',\n home_para1: 'Glitch Exp est un outil développé pour Twitch Interactive dans le cadre de campagnes qui ',\n rewards: 'récompensent les créateurs',\n home_para1_1: \" en fonction des points qu'ils gagnent. Plus vous gagnez de points, plus grande est la récompense que vous recevez. La façon dont vous gagnez des points variera en fonction de chaque campagne et des critères déterminés en amont par Twitch.\",\n home_para1_2: 'Veuillez lire la ',\n home_para1_3: ' et nous contacter si vous avez des questions.
',\n reminder: 'Rappel',\n home_para2: \"Veuillez vous assurer que vous êtes déjà inscrit pour participer à une campagne et ayez fourni votre nom d'utilisateur Twitch sur le formulaire prévu à cet effet. Lorsque vous entrez sur le site Web, vous verrez uniquement la campagne à laquelle vous participez.
\",\n terms: \"Conditions d'utilisation\",\n privacy_policy: 'Politique de confidentialité',\n develop_by: \"Cet outil a été développé conjointement avec X-Team et d'autres partenaires de développement.\",\n level: 'Niveau',\n completed: 'Bravo!',\n congratulations: 'Bravo!',\n challenge_completed: 'Défi Relevé!',\n campaign_expired: 'La campagne est expirée!',\n copy_clipboard: 'EXP superposition a copié avec succès dans le presse-papiers!',\n open_campaigns: 'Campagnes Ouvertes',\n campaign_name: 'Nom de la Campagne',\n campaign_level: 'Niveau
Terminé',\n campaign_level_completed: 'Niveau Terminé',\n campaign_score: 'Score',\n campaign_details: 'Détails',\n campaign_no_details: ' ',\n campaign_rewards: 'Récompenses',\n campaign_no_rewards: ' ',\n campaign_start_date: 'Date de Début',\n campaign_end_date: 'Date de Fin',\n campaign_time_left: 'Temps Restant',\n campaign_includes: 'Comprend',\n current_score: 'Score Actuel',\n completed_level: 'Niveau Terminé',\n next_level_score: 'Score de Niveau Suivant',\n browser_source_url: 'URL de Source du Navigateur',\n browser_source_help: \"Veuillez cliquer sur votre version préférée de l'URL de la source du navigateur pour la copier et collez-la dans votre système OBS à l'aide de l'URL fournie.\",\n no_campaigns_available: 'Aucune campagne disponible',\n closed_campaigns: 'Campagnes Fermées',\n search_rewards: 'Rechercher des Récompenses',\n rewards_per_page: 'Récompenses par Page',\n no_rewards_available: 'Aucune récompense disponible',\n tier: 'Niveau',\n coupon_code: 'Code Promo',\n digital_reward_name: 'Nom de Récompense',\n digital_reward_mechanics: 'Mécanique de Récompense',\n digital_mechanics: 'Mécanique de
Récompense',\n download_rewards: 'Télécharger Récompenses',\n welcome_to: 'Bienvenue sur',\n sign_up: \"S'inscrire\",\n sign_up_incomplete: 'Inscription incomplète',\n landing_title: 'Inscrivez-vous ici pour rejoindre le challenge!',\n landing_subtitle: 'Les informations suivantes seront utilisées uniquement dans le cadre de cette campagne.',\n landing_affiliate: 'Affilié',\n landing_partner: 'Partenaire',\n landing_full_name: 'Nom complet',\n landing_email: 'E-mail',\n landing_contact: 'Numéro de téléphone',\n landing_country: 'Pays',\n landing_address: 'Adresse',\n landing_address_info: '*Nous avons besoin de cette information pour vous envoyer vos récompenses. Si vous prévoyez de déménager dans les trois prochains mois, veuillez indiquer votre adresse de livraison actuelle et mentionner *déménagement à venir* ici.',\n landing_state: 'Région',\n landing_city: 'Ville',\n landing_marketing: 'Pour des raisons de marketing, nous pourrions vous présenter sur nos canaux de communication. Autorisez-vous Twitch à utiliser votre apparence, vos vidéos/clips ou le contenu de votre stream à des fins de promotion publicitaire?',\n landing_attention: '**Attention : si vous enfreignez les règles de la communauté, les conditions générales de service, ou les lois locales, Twitch se réserve le droit de retirer toute ressource promotionnelle.',\n landing_agree: \"J'accepte\",\n landing_disagree: 'Je refuse',\n landing_submit: 'Soumettre',\n landing_success: 'Inscription réussie! Bienvenue!',\n landing_click_here: 'Cliquez ici',\n landing_success_info: 'pour accéder à Glitch EXP et préparez-vous à vivre une expérience folle avec le challenge',\n landing_error: \"Désolé, vous n'êtes pas admissible :(\",\n landing_error_info: 'Cette campagne marketing est uniquement sur invitation, et nous avons pris note de votre intérêt. Nous espérons pouvoir vous inviter à nos prochaines campagnes dans un avenir proche.',\n unauthorized_message: \"Désolé, vous n'avez actuellement pas accès.\",\n dashboard_unused_overlay: 'Veuillez utiliser la superposition EXP dans OBS!'\n}\n","import { ja } from 'vuetify/lib/locale'\n\nexport default {\n ...ja,\n title: 'Glitch Exp',\n login: 'ログイン',\n logout: 'ログアウト',\n heading_welcome: 'EXPへようこそ',\n home_para1: 'GLITCH EXP は、Twitch Interactive 向けに開発されたツールで、以下のキャンペーンで使用します。',\n rewards: 'クリエイターに報酬を与える',\n home_para1_1: ' 獲得したポイントに基づいて。ポイントを獲得すればするほど、より大きな報酬を受け取れます。ポイントの獲得方法はキャンペーンごとに異なり、Twitchが指定する条件によっても異なります。',\n home_para1_2: 'を読んでください。',\n home_para1_3: ' ご質問がございましたらお問い合わせください。
',\n reminder: 'リマインダー',\n home_para2: 'キャンペーンへの参加登録をすでに完了しており、関連するフォームにあなたのTwitchユーザー名を入力していることを必ずご確認ください。ウェブサイトを開いた際には、あなたが参加しているキャンペーンのみが表示されます。
',\n terms: '利用規約',\n privacy_policy: 'プライバシーポリシー',\n develop_by: 'このツールの開発は、X-Team およびその他の開発パートナーと共同で開発されました。',\n level: 'レベル',\n completed: 'おめでとう!',\n congratulations: 'おめでとう!',\n challenge_completed: 'チャレンジが完了しました!',\n campaign_expired: 'キャンペーンの有効期限が切れています!',\n copy_clipboard: 'Exp OverlayはClipboardに正常にコピーされました!',\n open_campaigns: 'オープンキャンペーン',\n campaign_name: 'キャンペーン名',\n campaign_level: '完了したレベル',\n campaign_level_completed: '完了したレベル',\n campaign_score: 'スコア',\n campaign_details: '詳細',\n campaign_no_details: ' ',\n campaign_rewards: '報酬',\n campaign_no_rewards: ' ',\n campaign_start_date: '開始日',\n campaign_end_date: '終了日',\n campaign_time_left: '残り時間',\n campaign_includes: '含まれる',\n current_score: '現在のスコア',\n completed_level: '完了したレベル',\n next_level_score: '次のレベルまでのスコア',\n browser_source_url: 'ブラウザソースURL',\n browser_source_help: '希望のブラウザソースのURLをクリックしてコピーをし、お使いのOBSに貼り付けて使用します。',\n no_campaigns_available: '利用可能なキャンペーンはありません',\n closed_campaigns: 'クローズドキャンペーン',\n search_rewards: '報酬を検索',\n rewards_per_page: '参加者ごとの報酬',\n no_rewards_available: '利用可能な報酬はありません',\n tier: 'ティア',\n coupon_code: 'クーポンコード',\n digital_reward_name: 'デジタル報酬名',\n digital_reward_mechanics: 'デジタル報酬メカニック',\n digital_mechanics: 'デジタル報酬メカニック',\n download_rewards: 'ダウンロード特典',\n welcome_to: 'へようこそ',\n sign_up: '登録する',\n sign_up_incomplete: 'サインアップが未完了',\n landing_title: 'こちらから登録しましょう!',\n landing_subtitle: '以下の情報は本キャンペーンのためにのみ使用されます。',\n landing_affiliate: 'アフィリエイト',\n landing_partner: 'パートナー',\n landing_full_name: '氏名',\n landing_email: 'eメール',\n landing_contact: 'Discord ID',\n landing_country: '国名',\n landing_address: '住所',\n landing_address_info: '*直近で引っ越し予定のある方は別途実行委員にご連絡ください。',\n landing_state: '都道府県',\n landing_city: '市区町村',\n landing_marketing: 'マーケティングを目的として、当社のコミュニケーションチャンネルであなたを紹介する場合があります。Twitchがあなたの肖像、ビデオ/クリップ、ストリームコンテンツを広告宣伝に使用することに同意しますか?',\n landing_attention: '*注意:コミュニティガイドライン、T&S、地域の法律などに違反した場合、Twitchはプロモーションリソースを削除する権利を有します。',\n landing_agree: '同意する',\n landing_disagree: '同意しない',\n landing_submit: '登録する',\n landing_success: '登録が無事終わりました!',\n landing_click_here: 'Glitch EXP',\n landing_success_info: 'のウェブサイトにアクセスして の準備をしましょう',\n landing_error: '残念ながら、あなたは今回のキャンペーンに参加できません。',\n landing_error_info: '今回は審査の結果、ご参加を見送らせていただきましたが、近い将来、次回のキャンペーンにご招待させていただきたいと思いますので、またのご応募お待ちしております。',\n unauthorized_message: '申し訳ありませんが、現在アクセスできません。',\n dashboard_unused_overlay: 'OBSでEXPオーバーレイをご利用ください!'\n}\n","import { pt } from 'vuetify/lib/locale'\n\nexport default {\n ...pt,\n title: 'Glitch Exp',\n login: 'Entrar',\n logout: 'Sair',\n heading_welcome: 'Bem-vindo ao EXP',\n home_para1: 'GLITCH EXP é uma ferramenta desenvolvida para a Twitch Interactive para uso em ',\n rewards: 'campanhas de recompensas',\n home_para1_1: ' em que os criadores podem ganhar pontos. Quanto mais pontos os criadores ganham, melhor é a recompensa que eles recebem. A maneira de ganhar pontos pode variar de acordo com cada campanha e pelos critérios estabelecidos pela Twitch.',\n home_para1_2: 'Por favor leia atentamente a ',\n home_para1_3: ' e nos contate caso tenha qualquer questionamento.',\n reminder: 'Lembrete',\n home_para2: 'Por favor garanta que você já se inscreveu para participar na campanha e forneceu seus dados, como username da Twitch no formulário de inscrição. Quando você entrar no website, você verá a campanha para a qual você está inscrito e participando.
',\n terms: 'Termos de Serviço',\n privacy_policy: 'Política de Privacidade',\n develop_by: 'Essa ferramenta foi desenvolvida em colaboração com o X-Team e outros parceiros de desenvolvimento.',\n level: 'Nível',\n completed: 'Completo!',\n congratulations: 'Parabéns!',\n challenge_completed: 'Desafio Completo!',\n campaign_expired: 'A campanha expirou!',\n copy_clipboard: 'A overlay Exp foi copiado com sucesso para a área de transferência!',\n open_campaigns: 'Campanhas Abertas',\n campaign_name: 'Nome da Campanha',\n campaign_level: 'Nível
Concluído',\n campaign_level_completed: 'Nível Concluído',\n campaign_score: 'Pontuação',\n campaign_details: 'Detalhes',\n campaign_no_details: ' ',\n campaign_rewards: 'Coupons',\n campaign_no_rewards: ' ',\n campaign_start_date: 'Data de Início',\n campaign_end_date: 'Data Final',\n campaign_time_left: 'Tempo Restante',\n campaign_includes: 'Inclui',\n current_score: 'Pontuação atual',\n completed_level: 'Nível Concluído',\n next_level_score: 'Pontuação do Próximo Nível',\n browser_source_url: 'Barra EXP',\n browser_source_help: 'Clique em sua versão preferida da Barra EXP para copiá-la e cole-a no sistema OBS usando a URL fornecida.',\n no_campaigns_available: 'Nenhuma campanha disponível',\n closed_campaigns: 'Campanhas Fechadas',\n search_rewards: 'Pesquisar Coupons',\n rewards_per_page: 'Coupons por Página',\n no_rewards_available: 'Nenhuma recompensa disponível',\n tier: 'Nível',\n coupon_code: 'Código do Cupom',\n digital_reward_name: 'Nome da Recompensa',\n digital_reward_mechanics: 'Mecânica da Recompensa',\n digital_mechanics: 'Mecânica da
Recompensa',\n download_rewards: 'Baixar Coupons',\n welcome_to: 'Bem-vindo ao',\n sign_up: 'Inscrever-se',\n sign_up_incomplete: 'Cadastro incompleto',\n landing_title: 'Se increva e participe do desafio!',\n landing_subtitle: 'As seguintes informações serão usadas nesse desafio:',\n landing_affiliate: 'Afiliado',\n landing_partner: 'Parceiro',\n landing_full_name: 'Nome completo',\n landing_email: 'Email',\n landing_contact: 'Telefone',\n landing_country: 'País',\n landing_address: 'Endereço',\n landing_address_info: '*Esse endereço será utilizado para confirmação de residência no Brasil e/ou para entrega de premiação em caso de recompensas físicas.',\n landing_state: 'Estado',\n landing_city: 'Cidade',\n landing_marketing: 'Apenas para os propósitos de Marketing, a Twitch pode vir a utilizar sua imagem e seu canal na Twitch em nossos canais de comunicação. Você autoriza a Twitch ao uso de sua imagem e do seu canal em video/clips ou lives para publicidade?',\n landing_attention: 'Atenção: a Twitch se reserva no direito de remover qualquer publicidade no caso de violação das Diretrizes da nossa comunidade.',\n landing_agree: 'Eu concordo.',\n landing_disagree: 'Eu discordo.',\n landing_submit: 'Me inscrever',\n landing_success: 'Inscrição confirmada.',\n landing_click_here: 'Clique aqui',\n landing_success_info: 'para acessar o site Glitch EXP e se prepare para ativar sua participação no desafio',\n landing_error: 'Desculpe, mas sua inscrição não é elegível.',\n landing_error_info: 'Esse programa de incentivo à Parceiros da Twitch é apenas para convidados. Vamos considerar seu interesse em futuros programas.',\n unauthorized_message: 'Desculpe, você não tem acesso no momento.',\n dashboard_unused_overlay: 'Por favor, use a Barra EXP no OBS!'\n}\n","import { zhHant } from 'vuetify/lib/locale'\n\nexport default {\n ...zhHant,\n title: 'Glitch Exp',\n login: '登入',\n logout: '登出',\n heading_welcome: '歡迎來到EXP',\n home_para1: 'GLITCH EXP 是為 Twitch Interactive 開發的一種工具,用於活動',\n rewards: '獎勵創作者',\n home_para1_1: ' 根據他們賺取的積分。贏得的積分越多,獲得的獎勵也越大。贏得積分的方式會根據Twitch設計的各個行銷活動條件而不同。',\n home_para1_2: '請閱讀 ',\n home_para1_3: ' 如果您有任何問題,請聯繫我們。
',\n reminder: '提醒',\n home_para2: '請確認您完成註冊行銷活動才能參加,並在相關表單提供您的 Twitch 使用者名稱。進入網站後,您只會看到您參加的行銷活動。
',\n terms: '服務條款',\n privacy_policy: '隱私權政策',\n develop_by: '這項工具是與 X-Team 和其他開發合作夥伴共同開發',\n level: '級',\n completed: '挑戰完成!',\n congratulations: '恭喜!',\n challenge_completed: '挑戰完成!',\n campaign_expired: '該活動已過期!',\n copy_clipboard: 'EXP小工具顯示版本,複製成功!',\n open_campaigns: '進行中的活動',\n campaign_name: '活動名稱',\n campaign_level: '達標層級',\n campaign_level_completed: '達標層級',\n campaign_score: '分數',\n campaign_details: '細節',\n campaign_no_details: ' ',\n campaign_rewards: '獎勵',\n campaign_no_rewards: ' ',\n campaign_start_date: '開始日期',\n campaign_end_date: '結束日期',\n campaign_time_left: '剩餘時間',\n campaign_includes: '包括',\n current_score: '當前分數',\n completed_level: '達標層級',\n next_level_score: '下個層級目標分數',\n browser_source_url: 'Browser Source URL',\n browser_source_help: '請點擊複製您首選的EXP小工具顯示版本,並使用提供的Browser Source URL,設定至您的OBS系統中。',\n no_campaigns_available: '沒有可用的廣告活動',\n closed_campaigns: '結束的活動',\n search_rewards: '搜尋獎勵',\n rewards_per_page: '每位參與者的獎勵',\n no_rewards_available: '沒有可用獎勵',\n tier: '層級',\n coupon_code: '優惠券代碼',\n digital_reward_name: '數位類型獎勵名稱',\n digital_reward_mechanics: '數位類型獎勵機制',\n digital_mechanics: '數位類型獎勵機制',\n download_rewards: '下載獎勵',\n welcome_to: '歡迎來到',\n sign_up: '報名',\n sign_up_incomplete: '報名未完成',\n landing_title: '報名成為本活動的一份子!',\n landing_subtitle: '以下的資訊僅會用於本活動相關作業上',\n landing_affiliate: '盟友',\n landing_partner: '夥伴',\n landing_full_name: '真實姓名',\n landing_email: '電子郵件',\n landing_contact: '聯絡電話',\n landing_country: '國家/地區',\n landing_address: '通訊地址',\n landing_address_info: '*以下資訊是用於寄送實體獎品。如果您計劃在接下來的三個月搬家,請在現在地址的後方加上「*計畫搬家」',\n landing_state: '區',\n landing_city: '城市',\n landing_marketing: '出於活動行銷目的,我們可能會在我們的溝通管道中推廣您的頻道內容。您是否同意授權 Twitch 使用您的肖像、影片/剪輯或實況內容進行宣傳?',\n landing_attention: '*注意:如果您違反社群規範、信任與安全條款或當地法律等,Twitch 有權刪除任何行銷資源',\n landing_agree: '我同意授權',\n landing_disagree: '我不同意授權',\n landing_submit: '送出',\n landing_success: '報名成功!你已經是活動一員啦!',\n landing_click_here: '點擊這裡',\n landing_success_info: ',到Glitch EXP網站查看你是否有本活動出現在Open Campaign。接下來,精心策劃有趣的活動,跟粉絲觀眾一起同樂吧',\n landing_error: '不好意思,您不符合本次活動資格 :(',\n landing_error_info: '雖然本活動為邀請制,我們會記下您的申請,未來若開放更多夥伴盟友參加時,會邀請您參加本活動。',\n unauthorized_message: '抱歉,您目前沒有存取權限。',\n dashboard_unused_overlay: '請在OBS使用EXP覆蓋層!'\n}\n","import Vue from 'vue'\nimport Vuetify from 'vuetify/lib/framework'\nimport { de, en, es, fr, ja, pt, zh } from '@/locale'\n\nVue.use(Vuetify)\n\nexport default new Vuetify({\n buttons: { rounded: true },\n lang: {\n locales: { de, en, es, fr, ja, pt, zh },\n current: 'en'\n },\n theme: {\n themes: {\n dark: {\n primary: '#beff00'\n }\n }\n }\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Default.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Default.vue?vue&type=template&id=73f4a982\"\nimport script from \"./Default.vue?vue&type=script&lang=js\"\nexport * from \"./Default.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=fbfd3a62\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blank.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blank.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Blank.vue?vue&type=template&id=77d6f565\"\nimport script from \"./Blank.vue?vue&type=script&lang=js\"\nexport * from \"./Blank.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import 'es6-promise/auto'\n\nimport Vue from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\nimport store from '@/store'\nimport vuetify from '@/plugins/vuetify'\nimport VueClipboard from 'vue-clipboard2'\nimport VueVirtualScroller from 'vue-virtual-scroller'\nimport VuePapaParse from 'vue-papa-parse'\nimport VTiptap from '@peepi/vuetify-tiptap'\n\nimport 'vue-virtual-scroller/dist/vue-virtual-scroller.css'\nimport '@splidejs/splide/dist/css/splide.min.css'\n\nimport Default from '@/layouts/Default'\nimport Login from '@/layouts/Login'\nimport Blank from '@/layouts/Blank'\n\nimport { setTSMInterceptor } from '@/api/instance'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faTwitch, faDiscord, faTwitter, faLinkedin } from '@fortawesome/free-brands-svg-icons'\nimport { faUserShield, faChevronLeft } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\n\nlibrary.add(faTwitch)\nlibrary.add(faDiscord)\nlibrary.add(faTwitter)\nlibrary.add(faLinkedin)\nlibrary.add(faUserShield)\nlibrary.add(faChevronLeft)\n\n// used to remove the loading state and display it accordingly\nfunction stopTsmLoading(data) {\n store.dispatch('setTsmLoading', false)\n return data\n}\n\nsetTSMInterceptor(\n (config) => {\n return {\n ...config,\n headers: {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\n Authorization: `Bearer ${store.getters.authUser.id_token}`\n }\n }\n },\n (data) => data,\n stopTsmLoading,\n stopTsmLoading\n)\n\nVue.config.productionTip = false\n\nVue.use(VueClipboard)\nVue.use(VueVirtualScroller)\nVue.use(VuePapaParse)\nVue.use(VTiptap)\n\nVue.component('font-awesome-icon', FontAwesomeIcon)\nVue.component('default-layout', Default)\nVue.component('login-layout', Login)\nVue.component('blank-layout', Blank)\n\nnew Vue({\n router,\n store,\n vuetify,\n render: (h) => h(App)\n}).$mount('#app')\n"],"sourceRoot":""}