{"version":3,"file":"js/PanoraamaContent.bundle.js","mappings":"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","sources":["webpack://rp-majoitus-client/./src/views/PanoraamaContent/PanoraamaContent.js","webpack://rp-majoitus-client/./src/views/PanoraamaContent/index.js","webpack://rp-majoitus-client/./node_modules/postscribe/dist/postscribe.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport postscribe from 'postscribe';\n\nimport Spinner from '../../components/Spinner';\n\nconst token = `${process.env.RUKA_ES_AUTH_TOKEN}`;\n\nconst refreshSetting = parseInt(drupalSettings.panoraama_refresh_interval);\n\nconst fetchUrl = `${process.env.NODE_API_URL}/getPanoraamaContent?url=${drupalSettings.panoraama_url}`;\n\nconst PanoraamaContent = () => {\n const advRef = useRef(null);\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n async function getPanoraamacontent() {\n await fetchApi();\n }\n\n getPanoraamacontent();\n }, []);\n\n // Content is fetched every x minutes, can be changed in site settings.\n // Minimum one minute.\n useEffect(() => {\n async function getPanoraamacontent() {\n await fetchApi();\n }\n\n let refreshInterval = refreshSetting * 60000;\n if (!refreshInterval || refreshInterval < 60000) {\n refreshInterval = 60000;\n }\n\n const interval = setInterval(() => {\n getPanoraamacontent();\n // Previous content needs to be removed.\n document.getElementById('panoraama-content-react').innerHTML = null;\n }, refreshInterval);\n\n return () => clearInterval(interval);\n }, []);\n\n async function fetchApi() {\n console.log('Fetching content from Panoraama');\n setIsLoading(true);\n\n const response = await fetch(fetchUrl, {\n headers: {\n token: token,\n },\n });\n\n if (response.ok) {\n const pageContent = await response.text();\n // Postscribe is used, because panoraama script uses document.write,\n // and otherwise the whole page might be overwritten.\n if (advRef) {\n postscribe(advRef.current, pageContent);\n }\n } else {\n console.log('Failed to fetch content from Panoraama');\n }\n\n setIsLoading(false);\n }\n\n return (\n
\n
\n {isLoading && }\n
\n );\n};\n\nexport default PanoraamaContent;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\n\nimport PanoraamaContent from './PanoraamaContent';\n\nconst root = ReactDOM.createRoot(document.getElementById('panoraama_content'));\n\nroot.render(\n \n \n \n);\n","/**\n * @file postscribe\n * @description Asynchronously write javascript, even with document.write.\n * @version v2.0.8\n * @see {@link https://krux.github.io/postscribe}\n * @license MIT\n * @author Derek Brans\n * @copyright 2016 Krux Digital, Inc\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"postscribe\"] = factory();\n\telse\n\t\troot[\"postscribe\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\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.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _postscribe = __webpack_require__(1);\n\t\n\tvar _postscribe2 = _interopRequireDefault(_postscribe);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tmodule.exports = _postscribe2['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = postscribe;\n\t\n\tvar _writeStream = __webpack_require__(2);\n\t\n\tvar _writeStream2 = _interopRequireDefault(_writeStream);\n\t\n\tvar _utils = __webpack_require__(4);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * A function that intentionally does nothing.\n\t */\n\tfunction doNothing() {}\n\t\n\t/**\n\t * Available options and defaults.\n\t *\n\t * @type {Object}\n\t */\n\tvar OPTIONS = {\n\t /**\n\t * Called when an async script has loaded.\n\t */\n\t afterAsync: doNothing,\n\t\n\t /**\n\t * Called immediately before removing from the write queue.\n\t */\n\t afterDequeue: doNothing,\n\t\n\t /**\n\t * Called sync after a stream's first thread release.\n\t */\n\t afterStreamStart: doNothing,\n\t\n\t /**\n\t * Called after writing buffered document.write calls.\n\t */\n\t afterWrite: doNothing,\n\t\n\t /**\n\t * Allows disabling the autoFix feature of prescribe\n\t */\n\t autoFix: true,\n\t\n\t /**\n\t * Called immediately before adding to the write queue.\n\t */\n\t beforeEnqueue: doNothing,\n\t\n\t /**\n\t * Called before writing a token.\n\t *\n\t * @param {Object} tok The token\n\t */\n\t beforeWriteToken: function beforeWriteToken(tok) {\n\t return tok;\n\t },\n\t\n\t /**\n\t * Called before writing buffered document.write calls.\n\t *\n\t * @param {String} str The string\n\t */\n\t beforeWrite: function beforeWrite(str) {\n\t return str;\n\t },\n\t\n\t /**\n\t * Called when evaluation is finished.\n\t */\n\t done: doNothing,\n\t\n\t /**\n\t * Called when a write results in an error.\n\t *\n\t * @param {Error} e The error\n\t */\n\t error: function error(e) {\n\t throw new Error(e.msg);\n\t },\n\t\n\t\n\t /**\n\t * Whether to let scripts w/ async attribute set fall out of the queue.\n\t */\n\t releaseAsync: false\n\t};\n\t\n\tvar nextId = 0;\n\tvar queue = [];\n\tvar active = null;\n\t\n\tfunction nextStream() {\n\t var args = queue.shift();\n\t if (args) {\n\t var options = utils.last(args);\n\t\n\t options.afterDequeue();\n\t args.stream = runStream.apply(undefined, args);\n\t options.afterStreamStart();\n\t }\n\t}\n\t\n\tfunction runStream(el, html, options) {\n\t active = new _writeStream2['default'](el, options);\n\t\n\t // Identify this stream.\n\t active.id = nextId++;\n\t active.name = options.name || active.id;\n\t postscribe.streams[active.name] = active;\n\t\n\t // Override document.write.\n\t var doc = el.ownerDocument;\n\t\n\t var stash = {\n\t close: doc.close,\n\t open: doc.open,\n\t write: doc.write,\n\t writeln: doc.writeln\n\t };\n\t\n\t function _write(str) {\n\t str = options.beforeWrite(str);\n\t active.write(str);\n\t options.afterWrite(str);\n\t }\n\t\n\t _extends(doc, {\n\t close: doNothing,\n\t open: doNothing,\n\t write: function write() {\n\t for (var _len = arguments.length, str = Array(_len), _key = 0; _key < _len; _key++) {\n\t str[_key] = arguments[_key];\n\t }\n\t\n\t return _write(str.join(''));\n\t },\n\t writeln: function writeln() {\n\t for (var _len2 = arguments.length, str = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t str[_key2] = arguments[_key2];\n\t }\n\t\n\t return _write(str.join('') + '\\n');\n\t }\n\t });\n\t\n\t // Override window.onerror\n\t var oldOnError = active.win.onerror || doNothing;\n\t\n\t // This works together with the try/catch around WriteStream::insertScript\n\t // In modern browsers, exceptions in tag scripts go directly to top level\n\t active.win.onerror = function (msg, url, line) {\n\t options.error({ msg: msg + ' - ' + url + ': ' + line });\n\t oldOnError.apply(active.win, [msg, url, line]);\n\t };\n\t\n\t // Write to the stream\n\t active.write(html, function () {\n\t // restore document.write\n\t _extends(doc, stash);\n\t\n\t // restore window.onerror\n\t active.win.onerror = oldOnError;\n\t\n\t options.done();\n\t active = null;\n\t nextStream();\n\t });\n\t\n\t return active;\n\t}\n\t\n\tfunction postscribe(el, html, options) {\n\t if (utils.isFunction(options)) {\n\t options = { done: options };\n\t } else if (options === 'clear') {\n\t queue = [];\n\t active = null;\n\t nextId = 0;\n\t return;\n\t }\n\t\n\t options = utils.defaults(options, OPTIONS);\n\t\n\t // id selector\n\t if (/^#/.test(el)) {\n\t el = window.document.getElementById(el.substr(1));\n\t } else {\n\t el = el.jquery ? el[0] : el;\n\t }\n\t\n\t var args = [el, html, options];\n\t\n\t el.postscribe = {\n\t cancel: function cancel() {\n\t if (args.stream) {\n\t args.stream.abort();\n\t } else {\n\t args[1] = doNothing;\n\t }\n\t }\n\t };\n\t\n\t options.beforeEnqueue(args);\n\t queue.push(args);\n\t\n\t if (!active) {\n\t nextStream();\n\t }\n\t\n\t return el.postscribe;\n\t}\n\t\n\t_extends(postscribe, {\n\t // Streams by name.\n\t streams: {},\n\t // Queue of streams.\n\t queue: queue,\n\t // Expose internal classes.\n\t WriteStream: _writeStream2['default']\n\t});\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _prescribe = __webpack_require__(3);\n\t\n\tvar _prescribe2 = _interopRequireDefault(_prescribe);\n\t\n\tvar _utils = __webpack_require__(4);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t/**\n\t * Turn on to debug how each chunk affected the DOM.\n\t * @type {boolean}\n\t */\n\tvar DEBUG_CHUNK = false;\n\t\n\t/**\n\t * Prefix for data attributes on DOM elements.\n\t * @type {string}\n\t */\n\tvar BASEATTR = 'data-ps-';\n\t\n\t/**\n\t * ID for the style proxy\n\t * @type {string}\n\t */\n\tvar PROXY_STYLE = 'ps-style';\n\t\n\t/**\n\t * ID for the script proxy\n\t * @type {string}\n\t */\n\tvar PROXY_SCRIPT = 'ps-script';\n\t\n\t/**\n\t * Get data attributes\n\t *\n\t * @param {Object} el The DOM element.\n\t * @param {String} name The attribute name.\n\t * @returns {String}\n\t */\n\tfunction getData(el, name) {\n\t var attr = BASEATTR + name;\n\t\n\t var val = el.getAttribute(attr);\n\t\n\t // IE 8 returns a number if it's a number\n\t return !utils.existy(val) ? val : String(val);\n\t}\n\t\n\t/**\n\t * Set data attributes\n\t *\n\t * @param {Object} el The DOM element.\n\t * @param {String} name The attribute name.\n\t * @param {null|*} value The attribute value.\n\t */\n\tfunction setData(el, name) {\n\t var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\t\n\t var attr = BASEATTR + name;\n\t\n\t if (utils.existy(value) && value !== '') {\n\t el.setAttribute(attr, value);\n\t } else {\n\t el.removeAttribute(attr);\n\t }\n\t}\n\t\n\t/**\n\t * Stream static html to an element, where \"static html\" denotes \"html\n\t * without scripts\".\n\t *\n\t * This class maintains a *history of writes devoid of any attributes* or\n\t * \"proxy history\".\n\t *\n\t * Injecting the proxy history into a temporary div has no side-effects,\n\t * other than to create proxy elements for previously written elements.\n\t *\n\t * Given the `staticHtml` of a new write, a `tempDiv`'s innerHTML is set to\n\t * `proxy_history + staticHtml`.\n\t * The *structure* of `tempDiv`'s contents, (i.e., the placement of new nodes\n\t * beside or inside of proxy elements), reflects the DOM structure that would\n\t * have resulted if all writes had been squashed into a single write.\n\t *\n\t * For each descendent `node` of `tempDiv` whose parentNode is a *proxy*,\n\t * `node` is appended to the corresponding *real* element within the DOM.\n\t *\n\t * Proxy elements are mapped to *actual* elements in the DOM by injecting a\n\t * `data-id` attribute into each start tag in `staticHtml`.\n\t *\n\t */\n\t\n\tvar WriteStream = function () {\n\t /**\n\t * Constructor.\n\t *\n\t * @param {Object} root The root element\n\t * @param {?Object} options The options\n\t */\n\t function WriteStream(root) {\n\t var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t _classCallCheck(this, WriteStream);\n\t\n\t this.root = root;\n\t this.options = options;\n\t this.doc = root.ownerDocument;\n\t this.win = this.doc.defaultView || this.doc.parentWindow;\n\t this.parser = new _prescribe2['default']('', { autoFix: options.autoFix });\n\t\n\t // Actual elements by id.\n\t this.actuals = [root];\n\t\n\t // Embodies the \"structure\" of what's been written so far,\n\t // devoid of attributes.\n\t this.proxyHistory = '';\n\t\n\t // Create a proxy of the root element.\n\t this.proxyRoot = this.doc.createElement(root.nodeName);\n\t\n\t this.scriptStack = [];\n\t this.writeQueue = [];\n\t\n\t setData(this.proxyRoot, 'proxyof', 0);\n\t }\n\t\n\t /**\n\t * Writes the given strings.\n\t *\n\t * @param {...String} str The strings to write\n\t */\n\t\n\t\n\t WriteStream.prototype.write = function write() {\n\t var _writeQueue;\n\t\n\t (_writeQueue = this.writeQueue).push.apply(_writeQueue, arguments);\n\t\n\t // Process writes\n\t // When new script gets pushed or pending this will stop\n\t // because new writeQueue gets pushed\n\t while (!this.deferredRemote && this.writeQueue.length) {\n\t var arg = this.writeQueue.shift();\n\t\n\t if (utils.isFunction(arg)) {\n\t this._callFunction(arg);\n\t } else {\n\t this._writeImpl(arg);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Calls the given function.\n\t *\n\t * @param {Function} fn The function to call\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._callFunction = function _callFunction(fn) {\n\t var tok = { type: 'function', value: fn.name || fn.toString() };\n\t this._onScriptStart(tok);\n\t fn.call(this.win, this.doc);\n\t this._onScriptDone(tok);\n\t };\n\t\n\t /**\n\t * The write implementation\n\t *\n\t * @param {String} html The HTML to write.\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._writeImpl = function _writeImpl(html) {\n\t this.parser.append(html);\n\t\n\t var tok = void 0;\n\t var script = void 0;\n\t var style = void 0;\n\t var tokens = [];\n\t\n\t // stop if we see a script token\n\t while ((tok = this.parser.readToken()) && !(script = utils.isScript(tok)) && !(style = utils.isStyle(tok))) {\n\t tok = this.options.beforeWriteToken(tok);\n\t\n\t if (tok) {\n\t tokens.push(tok);\n\t }\n\t }\n\t\n\t if (tokens.length > 0) {\n\t this._writeStaticTokens(tokens);\n\t }\n\t\n\t if (script) {\n\t this._handleScriptToken(tok);\n\t }\n\t\n\t if (style) {\n\t this._handleStyleToken(tok);\n\t }\n\t };\n\t\n\t /**\n\t * Write contiguous non-script tokens (a chunk)\n\t *\n\t * @param {Array} tokens The tokens\n\t * @returns {{tokens, raw, actual, proxy}|null}\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._writeStaticTokens = function _writeStaticTokens(tokens) {\n\t var chunk = this._buildChunk(tokens);\n\t\n\t if (!chunk.actual) {\n\t // e.g., no tokens, or a noscript that got ignored\n\t return null;\n\t }\n\t\n\t chunk.html = this.proxyHistory + chunk.actual;\n\t this.proxyHistory += chunk.proxy;\n\t this.proxyRoot.innerHTML = chunk.html;\n\t\n\t if (DEBUG_CHUNK) {\n\t chunk.proxyInnerHTML = this.proxyRoot.innerHTML;\n\t }\n\t\n\t this._walkChunk();\n\t\n\t if (DEBUG_CHUNK) {\n\t chunk.actualInnerHTML = this.root.innerHTML;\n\t }\n\t\n\t return chunk;\n\t };\n\t\n\t /**\n\t * Build a chunk.\n\t *\n\t * @param {Array} tokens The tokens to use.\n\t * @returns {{tokens: *, raw: string, actual: string, proxy: string}}\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._buildChunk = function _buildChunk(tokens) {\n\t var nextId = this.actuals.length;\n\t\n\t // The raw html of this chunk.\n\t var raw = [];\n\t\n\t // The html to create the nodes in the tokens (with id's injected).\n\t var actual = [];\n\t\n\t // Html that can later be used to proxy the nodes in the tokens.\n\t var proxy = [];\n\t\n\t var len = tokens.length;\n\t for (var i = 0; i < len; i++) {\n\t var tok = tokens[i];\n\t var tokenRaw = tok.toString();\n\t\n\t raw.push(tokenRaw);\n\t\n\t if (tok.attrs) {\n\t // tok.attrs <==> startTag or atomicTag or cursor\n\t // Ignore noscript tags. They are atomic, so we don't have to worry about children.\n\t if (!/^noscript$/i.test(tok.tagName)) {\n\t var id = nextId++;\n\t\n\t // Actual: inject id attribute: replace '>' at end of start tag with id attribute + '>'\n\t actual.push(tokenRaw.replace(/(\\/?>)/, ' ' + BASEATTR + 'id=' + id + ' $1'));\n\t\n\t // Don't proxy scripts: they have no bearing on DOM structure.\n\t if (tok.attrs.id !== PROXY_SCRIPT && tok.attrs.id !== PROXY_STYLE) {\n\t // Proxy: strip all attributes and inject proxyof attribute\n\t proxy.push(\n\t // ignore atomic tags (e.g., style): they have no \"structural\" effect\n\t tok.type === 'atomicTag' ? '' : '<' + tok.tagName + ' ' + BASEATTR + 'proxyof=' + id + (tok.unary ? ' />' : '>'));\n\t }\n\t }\n\t } else {\n\t // Visit any other type of token\n\t // Actual: append.\n\t actual.push(tokenRaw);\n\t\n\t // Proxy: append endTags. Ignore everything else.\n\t proxy.push(tok.type === 'endTag' ? tokenRaw : '');\n\t }\n\t }\n\t\n\t return {\n\t tokens: tokens,\n\t raw: raw.join(''),\n\t actual: actual.join(''),\n\t proxy: proxy.join('')\n\t };\n\t };\n\t\n\t /**\n\t * Walk the chunks.\n\t *\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._walkChunk = function _walkChunk() {\n\t var node = void 0;\n\t var stack = [this.proxyRoot];\n\t\n\t // use shift/unshift so that children are walked in document order\n\t while (utils.existy(node = stack.shift())) {\n\t var isElement = node.nodeType === 1;\n\t var isProxy = isElement && getData(node, 'proxyof');\n\t\n\t // Ignore proxies\n\t if (!isProxy) {\n\t if (isElement) {\n\t // New actual element: register it and remove the the id attr.\n\t this.actuals[getData(node, 'id')] = node;\n\t setData(node, 'id');\n\t }\n\t\n\t // Is node's parent a proxy?\n\t var parentIsProxyOf = node.parentNode && getData(node.parentNode, 'proxyof');\n\t if (parentIsProxyOf) {\n\t // Move node under actual parent.\n\t this.actuals[parentIsProxyOf].appendChild(node);\n\t }\n\t }\n\t\n\t // prepend childNodes to stack\n\t stack.unshift.apply(stack, utils.toArray(node.childNodes));\n\t }\n\t };\n\t\n\t /**\n\t * Handles Script tokens\n\t *\n\t * @param {Object} tok The token\n\t */\n\t\n\t\n\t WriteStream.prototype._handleScriptToken = function _handleScriptToken(tok) {\n\t var _this = this;\n\t\n\t var remainder = this.parser.clear();\n\t\n\t if (remainder) {\n\t // Write remainder immediately behind this script.\n\t this.writeQueue.unshift(remainder);\n\t }\n\t\n\t tok.src = tok.attrs.src || tok.attrs.SRC;\n\t\n\t tok = this.options.beforeWriteToken(tok);\n\t if (!tok) {\n\t // User has removed this token\n\t return;\n\t }\n\t\n\t if (tok.src && this.scriptStack.length) {\n\t // Defer this script until scriptStack is empty.\n\t // Assumption 1: This script will not start executing until\n\t // scriptStack is empty.\n\t this.deferredRemote = tok;\n\t } else {\n\t this._onScriptStart(tok);\n\t }\n\t\n\t // Put the script node in the DOM.\n\t this._writeScriptToken(tok, function () {\n\t _this._onScriptDone(tok);\n\t });\n\t };\n\t\n\t /**\n\t * Handles style tokens\n\t *\n\t * @param {Object} tok The token\n\t */\n\t\n\t\n\t WriteStream.prototype._handleStyleToken = function _handleStyleToken(tok) {\n\t var remainder = this.parser.clear();\n\t\n\t if (remainder) {\n\t // Write remainder immediately behind this style.\n\t this.writeQueue.unshift(remainder);\n\t }\n\t\n\t tok.type = tok.attrs.type || tok.attrs.TYPE || 'text/css';\n\t\n\t tok = this.options.beforeWriteToken(tok);\n\t\n\t if (tok) {\n\t // Put the style node in the DOM.\n\t this._writeStyleToken(tok);\n\t }\n\t\n\t if (remainder) {\n\t this.write();\n\t }\n\t };\n\t\n\t /**\n\t * Build a style and insert it into the DOM.\n\t *\n\t * @param {Object} tok The token\n\t */\n\t\n\t\n\t WriteStream.prototype._writeStyleToken = function _writeStyleToken(tok) {\n\t var el = this._buildStyle(tok);\n\t\n\t this._insertCursor(el, PROXY_STYLE);\n\t\n\t // Set content\n\t if (tok.content) {\n\t if (el.styleSheet && !el.sheet) {\n\t el.styleSheet.cssText = tok.content;\n\t } else {\n\t el.appendChild(this.doc.createTextNode(tok.content));\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Build a style element from an atomic style token.\n\t *\n\t * @param {Object} tok The token\n\t * @returns {Element}\n\t */\n\t\n\t\n\t WriteStream.prototype._buildStyle = function _buildStyle(tok) {\n\t var el = this.doc.createElement(tok.tagName);\n\t\n\t el.setAttribute('type', tok.type);\n\t\n\t // Set attributes\n\t utils.eachKey(tok.attrs, function (name, value) {\n\t el.setAttribute(name, value);\n\t });\n\t\n\t return el;\n\t };\n\t\n\t /**\n\t * Append a span to the stream. That span will act as a cursor\n\t * (i.e. insertion point) for the element.\n\t *\n\t * @param {Object} el The element\n\t * @param {string} which The type of proxy element\n\t */\n\t\n\t\n\t WriteStream.prototype._insertCursor = function _insertCursor(el, which) {\n\t this._writeImpl('');\n\t\n\t var cursor = this.doc.getElementById(which);\n\t\n\t if (cursor) {\n\t cursor.parentNode.replaceChild(el, cursor);\n\t }\n\t };\n\t\n\t /**\n\t * Called when a script is started.\n\t *\n\t * @param {Object} tok The token\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._onScriptStart = function _onScriptStart(tok) {\n\t tok.outerWrites = this.writeQueue;\n\t this.writeQueue = [];\n\t this.scriptStack.unshift(tok);\n\t };\n\t\n\t /**\n\t * Called when a script is done.\n\t *\n\t * @param {Object} tok The token\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._onScriptDone = function _onScriptDone(tok) {\n\t // Pop script and check nesting.\n\t if (tok !== this.scriptStack[0]) {\n\t this.options.error({ msg: 'Bad script nesting or script finished twice' });\n\t return;\n\t }\n\t\n\t this.scriptStack.shift();\n\t\n\t // Append outer writes to queue and process them.\n\t this.write.apply(this, tok.outerWrites);\n\t\n\t // Check for pending remote\n\t\n\t // Assumption 2: if remote_script1 writes remote_script2 then\n\t // the we notice remote_script1 finishes before remote_script2 starts.\n\t // I think this is equivalent to assumption 1\n\t if (!this.scriptStack.length && this.deferredRemote) {\n\t this._onScriptStart(this.deferredRemote);\n\t this.deferredRemote = null;\n\t }\n\t };\n\t\n\t /**\n\t * Build a script and insert it into the DOM.\n\t * Done is called once script has executed.\n\t *\n\t * @param {Object} tok The token\n\t * @param {Function} done The callback when complete\n\t */\n\t\n\t\n\t WriteStream.prototype._writeScriptToken = function _writeScriptToken(tok, done) {\n\t var el = this._buildScript(tok);\n\t var asyncRelease = this._shouldRelease(el);\n\t var afterAsync = this.options.afterAsync;\n\t\n\t if (tok.src) {\n\t // Fix for attribute \"SRC\" (capitalized). IE does not recognize it.\n\t el.src = tok.src;\n\t this._scriptLoadHandler(el, !asyncRelease ? function () {\n\t done();\n\t afterAsync();\n\t } : afterAsync);\n\t }\n\t\n\t try {\n\t this._insertCursor(el, PROXY_SCRIPT);\n\t if (!el.src || asyncRelease) {\n\t done();\n\t }\n\t } catch (e) {\n\t this.options.error(e);\n\t done();\n\t }\n\t };\n\t\n\t /**\n\t * Build a script element from an atomic script token.\n\t *\n\t * @param {Object} tok The token\n\t * @returns {Element}\n\t */\n\t\n\t\n\t WriteStream.prototype._buildScript = function _buildScript(tok) {\n\t var el = this.doc.createElement(tok.tagName);\n\t\n\t // Set attributes\n\t utils.eachKey(tok.attrs, function (name, value) {\n\t el.setAttribute(name, value);\n\t });\n\t\n\t // Set content\n\t if (tok.content) {\n\t el.text = tok.content;\n\t }\n\t\n\t return el;\n\t };\n\t\n\t /**\n\t * Setup the script load handler on an element.\n\t *\n\t * @param {Object} el The element\n\t * @param {Function} done The callback\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._scriptLoadHandler = function _scriptLoadHandler(el, done) {\n\t function cleanup() {\n\t el = el.onload = el.onreadystatechange = el.onerror = null;\n\t }\n\t\n\t var error = this.options.error;\n\t\n\t function success() {\n\t cleanup();\n\t if (done != null) {\n\t done();\n\t }\n\t done = null;\n\t }\n\t\n\t function failure(err) {\n\t cleanup();\n\t error(err);\n\t if (done != null) {\n\t done();\n\t }\n\t done = null;\n\t }\n\t\n\t function reattachEventListener(el, evt) {\n\t var handler = el['on' + evt];\n\t if (handler != null) {\n\t el['_on' + evt] = handler;\n\t }\n\t }\n\t\n\t reattachEventListener(el, 'load');\n\t reattachEventListener(el, 'error');\n\t\n\t _extends(el, {\n\t onload: function onload() {\n\t if (el._onload) {\n\t try {\n\t el._onload.apply(this, Array.prototype.slice.call(arguments, 0));\n\t } catch (err) {\n\t failure({ msg: 'onload handler failed ' + err + ' @ ' + el.src });\n\t }\n\t }\n\t success();\n\t },\n\t onerror: function onerror() {\n\t if (el._onerror) {\n\t try {\n\t el._onerror.apply(this, Array.prototype.slice.call(arguments, 0));\n\t } catch (err) {\n\t failure({ msg: 'onerror handler failed ' + err + ' @ ' + el.src });\n\t return;\n\t }\n\t }\n\t failure({ msg: 'remote script failed ' + el.src });\n\t },\n\t onreadystatechange: function onreadystatechange() {\n\t if (/^(loaded|complete)$/.test(el.readyState)) {\n\t success();\n\t }\n\t }\n\t });\n\t };\n\t\n\t /**\n\t * Determines whether to release.\n\t *\n\t * @param {Object} el The element\n\t * @returns {boolean}\n\t * @private\n\t */\n\t\n\t\n\t WriteStream.prototype._shouldRelease = function _shouldRelease(el) {\n\t var isScript = /^script$/i.test(el.nodeName);\n\t return !isScript || !!(this.options.releaseAsync && el.src && el.hasAttribute('async'));\n\t };\n\t\n\t return WriteStream;\n\t}();\n\t\n\texports['default'] = WriteStream;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * @file prescribe\n\t * @description Tiny, forgiving HTML parser\n\t * @version vundefined\n\t * @see {@link https://github.com/krux/prescribe/}\n\t * @license MIT\n\t * @author Derek Brans\n\t * @copyright 2016 Krux Digital, Inc\n\t */\n\t(function webpackUniversalModuleDefinition(root, factory) {\n\t\tif(true)\n\t\t\tmodule.exports = factory();\n\t\telse if(typeof define === 'function' && define.amd)\n\t\t\tdefine([], factory);\n\t\telse if(typeof exports === 'object')\n\t\t\texports[\"Prescribe\"] = factory();\n\t\telse\n\t\t\troot[\"Prescribe\"] = factory();\n\t})(this, function() {\n\treturn /******/ (function(modules) { // webpackBootstrap\n\t/******/ \t// The module cache\n\t/******/ \tvar installedModules = {};\n\t\n\t/******/ \t// The require function\n\t/******/ \tfunction __webpack_require__(moduleId) {\n\t\n\t/******/ \t\t// Check if module is in cache\n\t/******/ \t\tif(installedModules[moduleId])\n\t/******/ \t\t\treturn installedModules[moduleId].exports;\n\t\n\t/******/ \t\t// Create a new module (and put it into the cache)\n\t/******/ \t\tvar module = installedModules[moduleId] = {\n\t/******/ \t\t\texports: {},\n\t/******/ \t\t\tid: moduleId,\n\t/******/ \t\t\tloaded: false\n\t/******/ \t\t};\n\t\n\t/******/ \t\t// Execute the module function\n\t/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t/******/ \t\t// Flag the module as loaded\n\t/******/ \t\tmodule.loaded = true;\n\t\n\t/******/ \t\t// Return the exports of the module\n\t/******/ \t\treturn module.exports;\n\t/******/ \t}\n\t\n\t\n\t/******/ \t// expose the modules object (__webpack_modules__)\n\t/******/ \t__webpack_require__.m = modules;\n\t\n\t/******/ \t// expose the module cache\n\t/******/ \t__webpack_require__.c = installedModules;\n\t\n\t/******/ \t// __webpack_public_path__\n\t/******/ \t__webpack_require__.p = \"\";\n\t\n\t/******/ \t// Load entry module and return exports\n\t/******/ \treturn __webpack_require__(0);\n\t/******/ })\n\t/************************************************************************/\n\t/******/ ([\n\t/* 0 */\n\t/***/ function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _HtmlParser = __webpack_require__(1);\n\t\n\t\tvar _HtmlParser2 = _interopRequireDefault(_HtmlParser);\n\t\n\t\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t\tmodule.exports = _HtmlParser2['default'];\n\t\n\t/***/ },\n\t/* 1 */\n\t/***/ function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _supports = __webpack_require__(2);\n\t\n\t\tvar supports = _interopRequireWildcard(_supports);\n\t\n\t\tvar _streamReaders = __webpack_require__(3);\n\t\n\t\tvar streamReaders = _interopRequireWildcard(_streamReaders);\n\t\n\t\tvar _fixedReadTokenFactory = __webpack_require__(6);\n\t\n\t\tvar _fixedReadTokenFactory2 = _interopRequireDefault(_fixedReadTokenFactory);\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\t\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t\t/**\n\t\t * Detection regular expressions.\n\t\t *\n\t\t * Order of detection matters: detection of one can only\n\t\t * succeed if detection of previous didn't\n\t\n\t\t * @type {Object}\n\t\t */\n\t\tvar detect = {\n\t\t comment: /^');\n\t\t if (index >= 0) {\n\t\t return new _tokens.CommentToken(stream.substr(4, index - 1), index + 3);\n\t\t }\n\t\t}\n\t\n\t\t/**\n\t\t * Reads non-tag characters.\n\t\t *\n\t\t * @param {string} stream The input stream\n\t\t * @returns {CharsToken}\n\t\t */\n\t\tfunction chars(stream) {\n\t\t var index = stream.indexOf('<');\n\t\t return new _tokens.CharsToken(index >= 0 ? index : stream.length);\n\t\t}\n\t\n\t\t/**\n\t\t * Reads start tag token.\n\t\t *\n\t\t * @param {string} stream The input stream\n\t\t * @returns {StartTagToken}\n\t\t */\n\t\tfunction startTag(stream) {\n\t\t var endTagIndex = stream.indexOf('>');\n\t\t if (endTagIndex !== -1) {\n\t\t var match = stream.match(REGEXES.startTag);\n\t\t if (match) {\n\t\t var _ret = function () {\n\t\t var attrs = {};\n\t\t var booleanAttrs = {};\n\t\t var rest = match[2];\n\t\n\t\t match[2].replace(REGEXES.attr, function (match, name) {\n\t\t if (!(arguments[2] || arguments[3] || arguments[4] || arguments[5])) {\n\t\t attrs[name] = '';\n\t\t } else if (arguments[5]) {\n\t\t attrs[arguments[5]] = '';\n\t\t booleanAttrs[arguments[5]] = true;\n\t\t } else {\n\t\t attrs[name] = arguments[2] || arguments[3] || arguments[4] || REGEXES.fillAttr.test(name) && name || '';\n\t\t }\n\t\n\t\t rest = rest.replace(match, '');\n\t\t });\n\t\n\t\t return {\n\t\t v: new _tokens.StartTagToken(match[1], match[0].length, attrs, booleanAttrs, !!match[3], rest.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, ''))\n\t\t };\n\t\t }();\n\t\n\t\t if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n\t\t }\n\t\t }\n\t\t}\n\t\n\t\t/**\n\t\t * Reads atomic tag token.\n\t\t *\n\t\t * @param {string} stream The input stream\n\t\t * @returns {AtomicTagToken}\n\t\t */\n\t\tfunction atomicTag(stream) {\n\t\t var start = startTag(stream);\n\t\t if (start) {\n\t\t var rest = stream.slice(start.length);\n\t\t // for optimization, we check first just for the end tag\n\t\t if (rest.match(new RegExp('<\\/\\\\s*' + start.tagName + '\\\\s*>', 'i'))) {\n\t\t // capturing the content is inefficient, so we do it inside the if\n\t\t var match = rest.match(new RegExp('([\\\\s\\\\S]*?)<\\/\\\\s*' + start.tagName + '\\\\s*>', 'i'));\n\t\t if (match) {\n\t\t return new _tokens.AtomicTagToken(start.tagName, match[0].length + start.length, start.attrs, start.booleanAttrs, match[1]);\n\t\t }\n\t\t }\n\t\t }\n\t\t}\n\t\n\t\t/**\n\t\t * Reads an end tag token.\n\t\t *\n\t\t * @param {string} stream The input stream\n\t\t * @returns {EndTagToken}\n\t\t */\n\t\tfunction endTag(stream) {\n\t\t var match = stream.match(REGEXES.endTag);\n\t\t if (match) {\n\t\t return new _tokens.EndTagToken(match[1], match[0].length);\n\t\t }\n\t\t}\n\t\n\t/***/ },\n\t/* 4 */\n\t/***/ function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\texports.EndTagToken = exports.AtomicTagToken = exports.StartTagToken = exports.TagToken = exports.CharsToken = exports.CommentToken = exports.Token = undefined;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t\t/**\n\t\t * Token is a base class for all token types parsed. Note we don't actually\n\t\t * use intheritance due to IE8's non-existent ES5 support.\n\t\t */\n\t\tvar Token =\n\t\t/**\n\t\t * Constructor.\n\t\t *\n\t\t * @param {string} type The type of the Token.\n\t\t * @param {Number} length The length of the Token text.\n\t\t */\n\t\texports.Token = function Token(type, length) {\n\t\t _classCallCheck(this, Token);\n\t\n\t\t this.type = type;\n\t\t this.length = length;\n\t\t this.text = '';\n\t\t};\n\t\n\t\t/**\n\t\t * CommentToken represents comment tags.\n\t\t */\n\t\n\t\n\t\tvar CommentToken = exports.CommentToken = function () {\n\t\t /**\n\t\t * Constructor.\n\t\t *\n\t\t * @param {string} content The content of the comment\n\t\t * @param {Number} length The length of the Token text.\n\t\t */\n\t\t function CommentToken(content, length) {\n\t\t _classCallCheck(this, CommentToken);\n\t\n\t\t this.type = 'comment';\n\t\t this.length = length || (content ? content.length : 0);\n\t\t this.text = '';\n\t\t this.content = content;\n\t\t }\n\t\n\t\t CommentToken.prototype.toString = function toString() {\n\t\t return '