{"version":3,"file":"js/5249-56f335c1a6af6a335c0c.chunk.js","mappings":"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,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACzE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IACrE,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACtE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACxE,EAAG,EAAG,EAAG,GA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","sources":["webpack://endrun/./app/javascript/app/util/svgarchelper.js","webpack://endrun/./app/javascript/app/shortcodes/audioplayer_1.js"],"sourcesContent":["function generateCommand(size, arcWidth, destRatio) {\n const width = size;\n const centerX = width / 2;\n const radius = width / 2;\n\n function polarToCartesian(centerX, centerY, radius, angleRatio) {\n // angleRatio is 0->1, where 0 is 12 oclock\n var angleInRadians = (angleRatio * 2 - 0.5) * Math.PI;\n var x = centerX + radius * Math.cos(angleInRadians);\n var y = centerY + radius * Math.sin(angleInRadians);\n return [x, y];\n }\n\n function arc(radius, rotation, large_arc_flag, sweep_flag, x, y) {\n return [\n 'A',\n radius,\n radius,\n rotation,\n large_arc_flag,\n sweep_flag,\n x,\n y,\n ].join(' ');\n }\n\n destRatio = (destRatio - 0.00001) % 1;\n\n const outsidePt = polarToCartesian(centerX, centerX, radius, destRatio);\n const insidePt = polarToCartesian(\n centerX,\n centerX,\n radius - arcWidth,\n destRatio\n );\n\n const commands = [];\n commands.push('M' + centerX + ',0');\n\n commands.push(\n arc(\n radius,\n 0, // rotation, 0 == clockwise\n destRatio >= 0.5 ? 1 : 0, // large arc flag\n 1, // sweep flag\n outsidePt[0],\n outsidePt[1]\n )\n );\n\n commands.push('L ' + insidePt.join(' '));\n\n commands.push(\n arc(\n radius - arcWidth,\n 0,\n destRatio >= 0.5 ? 1 : 0, // large arc flag\n 0,\n centerX,\n arcWidth\n )\n );\n\n commands.push('Z');\n\n return commands.join('\\n');\n}\n\nexport function svgBuildPlayer(size, arcWidth) {\n function createSVGElement(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n }\n\n function rect(x, y, width, height) {\n const r = createSVGElement('rect');\n r.setAttribute('x', x);\n r.setAttribute('y', y);\n r.setAttribute('width', width);\n r.setAttribute('height', height);\n return r;\n }\n\n const svg = createSVGElement('svg');\n svg.setAttribute('width', size + 'px');\n svg.setAttribute('height', size + 'px');\n svg.setAttribute('shape-rendering', 'geometricPrecision');\n svg.setAttribute('data-play-ratio', '0');\n svg.setAttribute('data-load-ratio', '0');\n\n const loadhead = createSVGElement('path');\n loadhead.setAttribute('class', 'load');\n svg.appendChild(loadhead);\n\n const playhead = createSVGElement('path');\n playhead.setAttribute('class', 'play');\n svg.appendChild(playhead);\n\n const circle = createSVGElement('circle');\n svg.appendChild(circle);\n circle.setAttribute('cx', size / 2);\n circle.setAttribute('cy', size / 2);\n circle.setAttribute('r', size / 2 - arcWidth); // -1 to leave space for a 1px stroke\n circle.setAttribute('class', 'circle');\n\n const playButton = createSVGElement('g');\n playButton.setAttribute('class', 'play-button');\n const p = createSVGElement('polygon');\n p.setAttribute('points', '28,47 28,23 47,35'); // TODO: these should be proportional!\n playButton.appendChild(p);\n svg.appendChild(playButton);\n\n const pauseButton = createSVGElement('g');\n pauseButton.setAttribute('class', 'pause-button');\n pauseButton.appendChild(rect(27, 25, 5, 20));\n pauseButton.appendChild(rect(38, 25, 5, 20));\n svg.appendChild(pauseButton);\n\n function draw() {\n let playRatio = parseFloat(svg.getAttribute('data-play-ratio')) || 0.0;\n const loadRatio = parseFloat(svg.getAttribute('data-load-ratio')) || 0.0;\n if (playRatio >= 1.0) {\n playRatio = 0;\n }\n // todo: check if the command string is different before reflowing\n loadhead.setAttribute('d', generateCommand(size, arcWidth, loadRatio));\n playhead.setAttribute('d', generateCommand(size, arcWidth, playRatio));\n }\n\n svg.addEventListener('update', draw);\n draw();\n return svg;\n}\n","// local\nimport http from '$shared/http.js';\nimport { createEvent } from '../util/events.js';\nimport { svgBuildPlayer } from '../util/svgarchelper.js';\n\n//
\n//
\n\nlet audioContext;\n\ntry {\n audioContext = new (window.AudioContext || window.webkitAudioContext)();\n window._featureSupport_AudioContext = true;\n} catch (e) {\n audioContext = null;\n window._featureSupport_AudioContext = false;\n}\n\nconst analyser = audioContext.createAnalyser();\nanalyser.connect(audioContext.destination);\nanalyser.fftSize = 2048;\nanalyser.smoothingTimeConstant = 0.8;\nanalyser.minDecibels = -120;\n\nfunction unlockWebkitAudio() {\n window._unlockedWebkitAudio = false;\n window.addEventListener(\n 'touchstart',\n function () {\n if (window._unlockedWebkitAudio === true) {\n return;\n }\n try {\n const buffer = audioContext.createBuffer(1, 1, 22050);\n const source = audioContext.createBufferSource();\n source.buffer = buffer;\n source.connect(audioContext.destination);\n source.noteOn(0);\n window._unlockedWebkitAudio = true;\n } catch (e) {\n window._unlockedWebkitAudioDebug =\n 'try/catch failed in unlockWebkitAudio';\n }\n },\n false\n );\n}\n\nfunction enabledPlayers() {\n return document.querySelectorAll('[data-audioplayer=\"v1\"]');\n}\n\nfunction setupPlayers() {\n unlockWebkitAudio();\n enabledPlayers().forEach((el) => {\n buildPlayer(el);\n });\n}\n\nfunction timecodeToSeconds(timecode) {\n const pieces = timecode.split(':');\n const minutes = parseInt(pieces[0], 10);\n const seconds = parseFloat(pieces[1]);\n return minutes * 60.0 + seconds;\n}\n\nfunction selectCurrentCaptions(seconds, captions) {\n return captions.filter(function (caption) {\n return (caption.start <= seconds && seconds < caption.end) === true;\n });\n}\n\nfunction processCSV(lines) {\n return lines\n .split('\\n')\n .map(function (line) {\n return line.split(',');\n })\n .filter(function (row) {\n return row.length > 1; // Ignore empty rows\n })\n .map(function (row) {\n return {\n start: timecodeToSeconds(row[0]),\n end: timecodeToSeconds(row[1]),\n caption: row.slice(2, row.length).join(','),\n };\n });\n}\n\nfunction downloadCSV(url, callback) {\n http\n .get(url)\n .text()\n .then((text) => {\n const csv = processCSV(text);\n\n callback(null, csv);\n })\n .catch(() => {\n callback('Error downloading CSV');\n });\n}\n\nfunction downloadGistCaptions(gistKey, callback) {\n const serviceUrl = 'https://tmp-gist-proxy.herokuapp.com/';\n const requestUrl = serviceUrl + '?id=' + gistKey;\n\n downloadCSV(requestUrl, function (err, csv) {\n if (err) {\n callback(err);\n return;\n }\n callback(null, csv);\n });\n}\n\nfunction monitorPlayerChanges(el, captionEl, captions) {\n function renderCaption(time) {\n const activeCaptions = selectCurrentCaptions(time, captions);\n const captionText = activeCaptions\n .map(function (caption) {\n return caption.caption;\n })\n .join('\\n');\n return captionText;\n }\n el.addEventListener('timeupdate', function () {\n const time = parseFloat(el.getAttribute('data-playhead-seconds'));\n captionEl.innerHTML = renderCaption(time);\n });\n\n captionEl.innerHTML = renderCaption(0);\n}\n\nfunction dispatchEvent(el, eventName) {\n el.dispatchEvent(createEvent(eventName));\n}\n\nfunction addMultipleEventListeners(el, eventNames, callback) {\n eventNames.split(' ').forEach((eventName) => {\n el.addEventListener(eventName, callback);\n });\n return true;\n}\n\nfunction buildCard(el) {\n const name = el.getAttribute('data-name');\n const imageSrc = el.getAttribute('data-image-src');\n if (name === null) {\n return;\n }\n const wrapperEl = document.createElement('div');\n wrapperEl.className = 'card';\n el.appendChild(wrapperEl);\n\n if (imageSrc) {\n const imageEl = document.createElement('img');\n imageEl.className = 'card-image';\n imageEl.style['background-image'] = 'url(' + imageSrc + ')';\n wrapperEl.appendChild(imageEl);\n }\n\n const nameEl = document.createElement('div');\n nameEl.className = 'card-name';\n nameEl.textContent = name;\n wrapperEl.appendChild(nameEl);\n}\n\nfunction buildCaptions(el) {\n const captionGistKey = el.getAttribute('data-audioplayer-caption-gist-key');\n if (captionGistKey !== null) {\n const captionEl = document.createElement('div');\n captionEl.className = 'caption';\n el.appendChild(captionEl);\n\n downloadGistCaptions(captionGistKey, function (err, captions) {\n if (err) {\n console.log(err);\n return false;\n }\n monitorPlayerChanges(el, captionEl, captions);\n });\n return;\n }\n\n const csvUrl = el.getAttribute('data-caption-csv-url');\n\n if (csvUrl !== null) {\n const captionEl = document.createElement('div');\n captionEl.className = 'caption';\n el.appendChild(captionEl);\n\n downloadCSV(csvUrl, function (err, captions) {\n if (err) {\n console.log(err);\n return false;\n }\n monitorPlayerChanges(el, captionEl, captions);\n });\n }\n}\n\nfunction angleFromDyDx(dy, dx) {\n let angle = -0.5 * (Math.atan(dy / dx) / Math.PI - 0.5);\n if (dx < 0) {\n // we lose the left/right halfs with atan, so flip to the \"left\" half by adding 0.5 if dx<0\n // now we have 0.0->1.0\n // 12 oclock is '0'\n angle += 0.5;\n }\n return angle;\n}\n\nfunction distanceFromDyDx(dy, dx) {\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction buildPlayer(el) {\n // TODO:\n // autoplay on IE? (hopefully)\n // progress (maybe)\n\n let isHotzone = false;\n let audioDataBuffer = null;\n let audioSource = null;\n let isPlaying = false;\n let playStartTimestamp = 0; // (new Date()).getTime()\n let playDuration = 0; // seconds\n let playheadPercentage = 0; // 0->1\n let playheadSeconds = 0; // seconds\n let resumePlayheadOffset = 0.0; // where the play/pause happens\n let hotzoneEnabled = true;\n\n let className = 'audioplayer-1';\n if (el.className === className) {\n return;\n }\n el.className = className;\n\n // make some HTML\n buildCard(el);\n\n const audioUrl = el.getAttribute('data-audioplayer-src');\n\n if (audioContext === null) {\n console.log('fallback to