{"version":3,"sources":["../webpack/bootstrap","../node_modules/long-press-event/src/long-press-event.js","ts/teachers2/async_modules/index.ts","ts/teachers2/index.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","15","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","timer","hasPointerEvents","navigator","isTouch","MaxTouchPoints","msMaxTouchPoints","mouseDown","mouseUp","mouseMove","startX","startY","maxDiffX","maxDiffY","fireLongPressEvent","originalEvent","clearLongPressTimer","changedTouches","unifyEvent","this","dispatchEvent","CustomEvent","bubbles","cancelable","detail","clientX","clientY","offsetX","offsetY","pageX","pageY","screenX","screenY","addEventListener","suppressEvent","removeEventListener","stopImmediatePropagation","preventDefault","stopPropagation","cancelEvent","startLongPressTimer","el","longPressDelayInMs","parseInt","attributeName","defaultValue","documentElement","attributeValue","getAttribute","parentNode","getNearestAttribute","fn","delay","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","mozCancelRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","start","Date","getTime","handle","requestAnimFrame","loop","requestTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","params","evt","createEvent","initCustomEvent","Event","callback","diffX","Math","abs","diffY","handleError","getEl","getElementById","MOUNT_ELEMS","assignmentList","lessonPlans","teacherReportStudents","teacherReportAssignments","standardAlignment","subscriptionPlans","subscriptionBilling","subscriptionConfirmation","subscriptionMySubscription","subscriptionPaymentMethod","subscriptionCancel","teacherGames","exploreSubject","explore","studentPerformance","assignmentEditor","assignmentBuilder","assignmentLiveView","myStudents","search","referrals","studentGroupsList","coTeachersList","rewardsBalance","rewardsGetPoints","rewardsUsePoints","rewardsGameReviews","rewardsShareAssignments","rewardsPointsHistory","championChallenge","teacherAssessmentsEditor","teacherAssessmentsList","assignmentShow","kitchenSink","browseQuestions","editQuestion","editQuestionPreview","$","jQuery","polly","Polly","polly2","Polly2","ready","then","init","catch"],"mappings":"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","file":"js/teachers2.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(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 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\t15: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||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// 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([\"QrCi\",0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/*!\n * long-press-event - v@version@\n * Pure JavaScript long-press-event\n * https://github.com/john-doherty/long-press-event\n * @author John Doherty <www.johndoherty.info>\n * @license MIT\n */\n(function (window, document) {\n  'use strict'; // local timer object based on rAF\n\n  var timer = null; // check if we're using a touch screen\n\n  var hasPointerEvents = 'PointerEvent' in window || window.navigator && 'msPointerEnabled' in window.navigator;\n  var isTouch = 'ontouchstart' in window || navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; // switch to pointer events or touch events if using a touch screen\n\n  var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';\n  var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';\n  var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove'; // track number of pixels the mouse moves during long press\n\n  var startX = 0; // mouse x position when timer started\n\n  var startY = 0; // mouse y position when timer started\n\n  var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled\n\n  var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled\n  // patch CustomEvent to allow constructor creation (IE/Chrome)\n\n  if (typeof window.CustomEvent !== 'function') {\n    window.CustomEvent = function (event, params) {\n      params = params || {\n        bubbles: false,\n        cancelable: false,\n        detail: undefined\n      };\n      var evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n      return evt;\n    };\n\n    window.CustomEvent.prototype = window.Event.prototype;\n  } // requestAnimationFrame() shim by Paul Irish\n\n\n  window.requestAnimFrame = function () {\n    return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n      window.setTimeout(callback, 1000 / 60);\n    };\n  }();\n  /**\n   * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance\n   * @param {function} fn The callback function\n   * @param {int} delay The delay in milliseconds\n   * @returns {object} handle to the timeout object\n   */\n\n\n  function requestTimeout(fn, delay) {\n    if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame && !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support\n    !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);\n    var start = new Date().getTime();\n    var handle = {};\n\n    var loop = function loop() {\n      var current = new Date().getTime();\n      var delta = current - start;\n\n      if (delta >= delay) {\n        fn.call();\n      } else {\n        handle.value = requestAnimFrame(loop);\n      }\n    };\n\n    handle.value = requestAnimFrame(loop);\n    return handle;\n  }\n  /**\n   * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance\n   * @param {object} handle The callback function\n   * @returns {void}\n   */\n\n\n  function clearRequestTimeout(handle) {\n    if (handle) {\n      window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) : window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) : window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) :\n      /* Support for legacy API */\n      window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) : window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) : window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) : clearTimeout(handle);\n    }\n  }\n  /**\n   * Fires the 'long-press' event on element\n   * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired\n   * @returns {void}\n   */\n\n\n  function fireLongPressEvent(originalEvent) {\n    clearLongPressTimer();\n    originalEvent = unifyEvent(originalEvent); // fire the long-press event\n\n    var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {\n      bubbles: true,\n      cancelable: true,\n      // custom event data (legacy)\n      detail: {\n        clientX: originalEvent.clientX,\n        clientY: originalEvent.clientY\n      },\n      // add coordinate data that would typically acompany a touch/click event\n      clientX: originalEvent.clientX,\n      clientY: originalEvent.clientY,\n      offsetX: originalEvent.offsetX,\n      offsetY: originalEvent.offsetY,\n      pageX: originalEvent.pageX,\n      pageY: originalEvent.pageY,\n      screenX: originalEvent.screenX,\n      screenY: originalEvent.screenY\n    }));\n\n    if (!allowClickEvent) {\n      // suppress the next click event if e.preventDefault() was called in long-press handler\n      document.addEventListener('click', function suppressEvent(e) {\n        document.removeEventListener('click', suppressEvent, true);\n        cancelEvent(e);\n      }, true);\n    }\n  }\n  /**\n   * consolidates mouse, touch, and Pointer events\n   * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired\n   * @returns {MouseEvent|PointerEvent|Touch}\n   */\n\n\n  function unifyEvent(e) {\n    if (e.changedTouches !== undefined) {\n      return e.changedTouches[0];\n    }\n\n    return e;\n  }\n  /**\n   * method responsible for starting the long press timer\n   * @param {event} e - event object\n   * @returns {void}\n   */\n\n\n  function startLongPressTimer(e) {\n    clearLongPressTimer(e);\n    var el = e.target; // get delay from html attribute if it exists, otherwise default to 1500\n\n    var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500\n    // start the timer\n\n    timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);\n  }\n  /**\n   * method responsible for clearing a pending long press timer\n   * @param {event} e - event object\n   * @returns {void}\n   */\n\n\n  function clearLongPressTimer(e) {\n    clearRequestTimeout(timer);\n    timer = null;\n  }\n  /**\n  * Cancels the current event\n  * @param {object} e - browser event object\n  * @returns {void}\n  */\n\n\n  function cancelEvent(e) {\n    e.stopImmediatePropagation();\n    e.preventDefault();\n    e.stopPropagation();\n  }\n  /**\n   * Starts the timer on mouse down and logs current position\n   * @param {object} e - browser event object\n   * @returns {void}\n   */\n\n\n  function mouseDownHandler(e) {\n    startX = e.clientX;\n    startY = e.clientY;\n    startLongPressTimer(e);\n  }\n  /**\n   * If the mouse moves n pixels during long-press, cancel the timer\n   * @param {object} e - browser event object\n   * @returns {void}\n   */\n\n\n  function mouseMoveHandler(e) {\n    // calculate total number of pixels the pointer has moved\n    var diffX = Math.abs(startX - e.clientX);\n    var diffY = Math.abs(startY - e.clientY); // if pointer has moved more than allowed, cancel the long-press timer and therefore the event\n\n    if (diffX >= maxDiffX || diffY >= maxDiffY) {\n      clearLongPressTimer(e);\n    }\n  }\n  /**\n   * Gets attribute off HTML element or nearest parent\n   * @param {object} el - HTML element to retrieve attribute from\n   * @param {string} attributeName - name of the attribute\n   * @param {any} defaultValue - default value to return if no match found\n   * @returns {any} attribute value or defaultValue\n   */\n\n\n  function getNearestAttribute(el, attributeName, defaultValue) {\n    // walk up the dom tree looking for data-action and data-trigger\n    while (el && el !== document.documentElement) {\n      var attributeValue = el.getAttribute(attributeName);\n\n      if (attributeValue) {\n        return attributeValue;\n      }\n\n      el = el.parentNode;\n    }\n\n    return defaultValue;\n  } // hook events that clear a pending long press event\n\n\n  document.addEventListener(mouseUp, clearLongPressTimer, true);\n  document.addEventListener(mouseMove, mouseMoveHandler, true);\n  document.addEventListener('wheel', clearLongPressTimer, true);\n  document.addEventListener('scroll', clearLongPressTimer, true); // hook events that can trigger a long press event\n\n  document.addEventListener(mouseDown, mouseDownHandler, true); // <- start\n})(window, document);","// Async imports must be expressed explicitly for webpack\n// to correctly resolve them, hence the verbosity of this file.\n// See: https://github.com/webpack/webpack/issues/196\n\nfunction handleError(error: Error) {\n  // @todo: report to Sentry\n  console.error(error.message)\n}\n\nconst getEl = (key: string) => document.getElementById(key)\n\nconst MOUNT_ELEMS = {\n  assignmentList: getEl('teacher_assignments'),\n  lessonPlans: getEl('lesson_plans'),\n  teacherReportStudents: getEl('teacher_report_students'),\n  teacherReportAssignments: getEl('teacher_report_assignments'),\n  standardAlignment: getEl('standard_alignment'),\n  subscriptionPlans: getEl('subscription_plans'),\n  subscriptionBilling: getEl('subscription_billing'),\n  subscriptionConfirmation: getEl('subscription_confirmation'),\n  subscriptionMySubscription: getEl('subscription_my_subscription'),\n  subscriptionPaymentMethod: getEl('subscription_payment_method'),\n  subscriptionCancel: getEl('subscription_cancel'),\n  teacherGames: getEl('teacher_games'),\n  exploreSubject: getEl('explore_subject'),\n  explore: getEl('teacher_explore'),\n  studentPerformance: getEl('student_performance'),\n  assignmentEditor: getEl('assignment_editor'),\n  assignmentBuilder: getEl('assignment_builder'),\n  assignmentLiveView: getEl('assignment_live_view'),\n  myStudents: getEl('teacher_students'),\n  search: getEl('teachers_search'),\n  referrals: getEl('teacher_referrals'),\n  studentGroupsList: getEl('student_groups_list'),\n  coTeachersList: getEl('coteachers_list'),\n  rewardsBalance: getEl('teachers_rewards_balance'),\n  rewardsGetPoints: getEl('teachers_rewards_get_points'),\n  rewardsUsePoints: getEl('teachers_rewards_use_points'),\n  rewardsGameReviews: getEl('teachers_rewards_game_reviews'),\n  rewardsShareAssignments: getEl('teachers_rewards_share_assignments'),\n  rewardsPointsHistory: getEl('teacher_rewards_points_history'),\n  championChallenge: getEl('teacher_champion_challenge'),\n  teacherAssessmentsEditor: getEl('teacher_assessments_editor'),\n  teacherAssessmentsList: getEl('teacher_assessments_list'),\n  assignmentShow: getEl('assignment_show'),\n  kitchenSink: getEl('kitchen_sink'),\n  browseQuestions: getEl('browse_questions'),\n  editQuestion: getEl('edit_questions'),\n  editQuestionPreview: getEl('question_editor_preview'),\n}\n\n// NOTE: webpack's `import()` function must be declared explicitly\n// for each module in order to correctly split bundles at compile\n// time. As a result, this code may look duplicative, but this\n// constraint prevents DRYing it up.\n\nexport function loadModules() {\n  if (MOUNT_ELEMS.assignmentList) {\n    import('./assignment_list')\n      .then(module => module.init(MOUNT_ELEMS.assignmentList))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.lessonPlans) {\n    import('./lesson_plans')\n      .then(module => module.init(MOUNT_ELEMS.lessonPlans))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.standardAlignment) {\n    import('./standard_alignment')\n      .then(module => module.init(MOUNT_ELEMS.standardAlignment))\n      .catch(handleError)\n  }\n  if (MOUNT_ELEMS.subscriptionPlans) {\n    import('./subscription/plans')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionPlans))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.subscriptionBilling) {\n    import('./subscription/billing')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionBilling))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.subscriptionConfirmation) {\n    import('./subscription/confirmation')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionConfirmation))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.subscriptionMySubscription) {\n    import('./subscription/my_subscription')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionMySubscription))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.subscriptionPaymentMethod) {\n    import('./subscription/payment_method')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionPaymentMethod))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.subscriptionCancel) {\n    import('./subscription/cancel')\n      .then(module => module.init(MOUNT_ELEMS.subscriptionCancel))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.teacherGames) {\n    import('./games')\n      .then(module => module.init(MOUNT_ELEMS.teacherGames))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.exploreSubject) {\n    import('./explore_subject')\n      .then(module => module.init(MOUNT_ELEMS.exploreSubject))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.explore) {\n    import('./explore')\n      .then(module => module.init(MOUNT_ELEMS.explore))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.teacherReportStudents) {\n    import('./reporting/students')\n      .then(module => module.init(MOUNT_ELEMS.teacherReportStudents))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.teacherReportAssignments) {\n    import('./reporting/assignments')\n      .then(module => module.init(MOUNT_ELEMS.teacherReportAssignments))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.studentPerformance) {\n    import('./student_performance')\n      .then(module => module.init(MOUNT_ELEMS.studentPerformance))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.assignmentEditor) {\n    import('./assignment_editor')\n      .then(module => module.init(MOUNT_ELEMS.assignmentEditor))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.assignmentBuilder) {\n    import('./assignment_builder')\n      .then(module => module.init(MOUNT_ELEMS.assignmentBuilder))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.assignmentLiveView) {\n    import('./assignment_live_view')\n      .then(module => module.init(MOUNT_ELEMS.assignmentLiveView))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.myStudents) {\n    import('./my_students')\n      .then(module => module.init(MOUNT_ELEMS.myStudents))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.search) {\n    import('./search')\n      .then(module => module.init(MOUNT_ELEMS.search))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.referrals) {\n    import('./referrals')\n      .then(module => module.init(MOUNT_ELEMS.referrals))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.studentGroupsList) {\n    import('./student_groups')\n      .then(module => module.init(MOUNT_ELEMS.studentGroupsList))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.coTeachersList) {\n    import('./coteachers_list')\n      .then(module => module.init(MOUNT_ELEMS.coTeachersList))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsBalance) {\n    import('./rewards/balance')\n      .then(module => module.init(MOUNT_ELEMS.rewardsBalance))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsGetPoints) {\n    import('./rewards/get_points')\n      .then(module => module.init(MOUNT_ELEMS.rewardsGetPoints))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsUsePoints) {\n    import('./rewards/use_points')\n      .then(module => module.init(MOUNT_ELEMS.rewardsUsePoints))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsGameReviews) {\n    import('./rewards/game_reviews')\n      .then(module => module.init(MOUNT_ELEMS.rewardsGameReviews))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsShareAssignments) {\n    import('./rewards/share_assignments')\n      .then(module => module.init(MOUNT_ELEMS.rewardsShareAssignments))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.rewardsPointsHistory) {\n    import('./rewards/points_history')\n      .then(module => module.init(MOUNT_ELEMS.rewardsPointsHistory))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.championChallenge) {\n    import('./champion_challenge')\n      .then(module => module.init(MOUNT_ELEMS.championChallenge))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.teacherAssessmentsEditor) {\n    import('./assessments/editor')\n      .then(module => module.init(MOUNT_ELEMS.teacherAssessmentsEditor))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.teacherAssessmentsList) {\n    import('./assessments/list')\n      .then(module => module.init(MOUNT_ELEMS.teacherAssessmentsList))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.assignmentShow) {\n    import('./assignment_show')\n      .then(module => module.init(MOUNT_ELEMS.assignmentShow))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.kitchenSink) {\n    import('./kitchen_sink/questions')\n      .then(module => module.init(MOUNT_ELEMS.kitchenSink))\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.browseQuestions) {\n    // load browse questions form submit events\n    import('../modules/question_editor')\n      .then(module => module.init())\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.editQuestion) {\n    // load question editor form submit events\n    import('../modules/question_editor')\n      .then(module => module.init())\n      .catch(handleError)\n  }\n\n  if (MOUNT_ELEMS.editQuestionPreview) {\n    // load question editor form submit events\n    import('./question_editor')\n      .then(module => module.init(MOUNT_ELEMS.editQuestionPreview))\n      .catch(handleError)\n  }\n}\n","/**\n * Teachers Eex Layout\n */\n\n// Stylesheets\nimport '@scss/teachers2.scss'\n\n// assignment editor uses press events to show back side of game card\nimport 'long-press-event'\nimport $ from 'jquery'\n\nwindow.$ = $\nwindow.jQuery = $\n//\n// Load Async Modules\n//\n\nimport * as AsyncLoader from './async_modules'\nimport Polly from '../common/tts/polly'\nimport Polly2 from '../common/tts/polly2'\n\ndeclare global {\n  interface Window {\n    polly?: any\n    globalReload?: any\n    submitConsoleLogs?: any\n  }\n}\n\nif (window.polly === undefined) {\n  window.polly = new Polly()\n}\n\nif (window.polly2 === undefined) {\n  window.polly2 = new Polly2()\n}\n\n$(document).ready(function() {\n  AsyncLoader.loadModules()\n})\n\n//\n// HMR\n//\n\nif (module.hot) {\n  module.hot.accept()\n}\n"],"sourceRoot":""}