{"version":3,"file":"webpack-chunks/chunk.7508.12f1446dcfa52995e88a.js","mappings":"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","sources":["webpack://wfp-usa/./node_modules/load-script/index.js","webpack://wfp-usa/./node_modules/memoize-one/dist/memoize-one.esm.js","webpack://wfp-usa/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wfp-usa/./node_modules/prop-types/index.js","webpack://wfp-usa/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wfp-usa/./node_modules/react-fast-compare/index.js","webpack://wfp-usa/./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack://wfp-usa/./node_modules/react-player/lib/Player.js","webpack://wfp-usa/./node_modules/react-player/lib/Preview.js","webpack://wfp-usa/./node_modules/react-player/lib/ReactPlayer.js","webpack://wfp-usa/./node_modules/react-player/lib/index.js","webpack://wfp-usa/./node_modules/react-player/lib/patterns.js","webpack://wfp-usa/./node_modules/react-player/lib/players/DailyMotion.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Facebook.js","webpack://wfp-usa/./node_modules/react-player/lib/players/FilePlayer.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Kaltura.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Mixcloud.js","webpack://wfp-usa/./node_modules/react-player/lib/players/SoundCloud.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Streamable.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Twitch.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Vidyard.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Vimeo.js","webpack://wfp-usa/./node_modules/react-player/lib/players/Wistia.js","webpack://wfp-usa/./node_modules/react-player/lib/players/YouTube.js","webpack://wfp-usa/./node_modules/react-player/lib/players/index.js","webpack://wfp-usa/./node_modules/react-player/lib/props.js","webpack://wfp-usa/./node_modules/react-player/lib/utils.js","webpack://wfp-usa/./node_modules/react-player/node_modules/deepmerge/dist/cjs.js"],"sourcesContent":["\nmodule.exports = function load (src, opts, cb) {\n  var head = document.head || document.getElementsByTagName('head')[0]\n  var script = document.createElement('script')\n\n  if (typeof opts === 'function') {\n    cb = opts\n    opts = {}\n  }\n\n  opts = opts || {}\n  cb = cb || function() {}\n\n  script.type = opts.type || 'text/javascript'\n  script.charset = opts.charset || 'utf8';\n  script.async = 'async' in opts ? !!opts.async : true\n  script.src = src\n\n  if (opts.attrs) {\n    setAttributes(script, opts.attrs)\n  }\n\n  if (opts.text) {\n    script.text = '' + opts.text\n  }\n\n  var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n  onend(script, cb)\n\n  // some good legacy browsers (firefox) fail the 'in' detection above\n  // so as a fallback we always set onload\n  // old IE will ignore this and new IE will set onload\n  if (!script.onload) {\n    stdOnEnd(script, cb);\n  }\n\n  head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n  for (var attr in attrs) {\n    script.setAttribute(attr, attrs[attr]);\n  }\n}\n\nfunction stdOnEnd (script, cb) {\n  script.onload = function () {\n    this.onerror = this.onload = null\n    cb(null, script)\n  }\n  script.onerror = function () {\n    // this.onload = null here is necessary\n    // because even IE9 works not like others\n    this.onerror = this.onload = null\n    cb(new Error('Failed to load ' + this.src), script)\n  }\n}\n\nfunction ieOnEnd (script, cb) {\n  script.onreadystatechange = function () {\n    if (this.readyState != 'complete' && this.readyState != 'loaded') return\n    this.onreadystatechange = null\n    cb(null, script) // there is no way to catch loading errors in IE8\n  }\n}\n","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n  // START: fast-deep-equal es6/index.js 3.1.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    if (a.constructor !== b.constructor) return false;\n\n    var length, i, keys;\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n    // START: Modifications:\n    // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n    //    to co-exist with es5.\n    // 2. Replace `for of` with es5 compliant iteration using `for`.\n    //    Basically, take:\n    //\n    //    ```js\n    //    for (i of a.entries())\n    //      if (!b.has(i[0])) return false;\n    //    ```\n    //\n    //    ... and convert to:\n    //\n    //    ```js\n    //    it = a.entries();\n    //    while (!(i = it.next()).done)\n    //      if (!b.has(i.value[0])) return false;\n    //    ```\n    //\n    //    **Note**: `i` access switches to `i.value`.\n    var it;\n    if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!equal(i.value[1], b.get(i.value[0]))) return false;\n      return true;\n    }\n\n    if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n      if (a.size !== b.size) return false;\n      it = a.entries();\n      while (!(i = it.next()).done)\n        if (!b.has(i.value[0])) return false;\n      return true;\n    }\n    // END: Modifications\n\n    if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (a[i] !== b[i]) return false;\n      return true;\n    }\n\n    if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n    if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n    if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) return false;\n\n    for (i = length; i-- !== 0;)\n      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n    // END: fast-deep-equal\n\n    // START: react-fast-compare\n    // custom handling for DOM elements\n    if (hasElementType && a instanceof Element) return false;\n\n    // custom handling for React/Preact\n    for (i = length; i-- !== 0;) {\n      if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner\n        // Preact-specific: avoid traversing Preact elements' __v and __o\n        //    __v = $_original / $_vnode\n        //    __o = $_owner\n        // These properties contain circular references and are not needed when\n        // comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of elements\n\n        continue;\n      }\n\n      // all other properties should be traversed as usual\n      if (!equal(a[keys[i]], b[keys[i]])) return false;\n    }\n    // END: react-fast-compare\n\n    // START: fast-deep-equal\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if (((error.message || '').match(/stack|recursion/i))) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('react-fast-compare cannot handle circular refs');\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","import * as React from 'react';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n\n  _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n  unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n  if (!root) return '0';\n  if (RootIds.has(root)) return RootIds.get(root);\n  rootId += 1;\n  RootIds.set(root, rootId.toString());\n  return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n  return Object.keys(options).sort().filter(function (key) {\n    return options[key] !== undefined;\n  }).map(function (key) {\n    return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n  }).toString();\n}\n\nfunction createObserver(options) {\n  // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n  var id = optionsToId(options);\n  var instance = observerMap.get(id);\n\n  if (!instance) {\n    // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n    var elements = new Map();\n    var thresholds;\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        var _elements$get;\n\n        // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n        // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n        var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n          return entry.intersectionRatio >= threshold;\n        }); // @ts-ignore support IntersectionObserver v2\n\n        if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n          // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n          // @ts-ignore\n          entry.isVisible = inView;\n        }\n\n        (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n          callback(inView, entry);\n        });\n      });\n    }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n    thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n    instance = {\n      id: id,\n      observer: observer,\n      elements: elements\n    };\n    observerMap.set(id, instance);\n  }\n\n  return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options, fallbackInView) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  if (fallbackInView === void 0) {\n    fallbackInView = unsupportedValue;\n  }\n\n  if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n    var bounds = element.getBoundingClientRect();\n    callback(fallbackInView, {\n      isIntersecting: fallbackInView,\n      target: element,\n      intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n      time: 0,\n      boundingClientRect: bounds,\n      intersectionRect: bounds,\n      rootBounds: bounds\n    });\n    return function () {// Nothing to cleanup\n    };\n  } // An observer with the same options can be reused, so lets use this fact\n\n\n  var _createObserver = createObserver(options),\n      id = _createObserver.id,\n      observer = _createObserver.observer,\n      elements = _createObserver.elements; // Register the callback listener for this element\n\n\n  var callbacks = elements.get(element) || [];\n\n  if (!elements.has(element)) {\n    elements.set(element, callbacks);\n  }\n\n  callbacks.push(callback);\n  observer.observe(element);\n  return function unobserve() {\n    // Remove the callback from the callback list\n    callbacks.splice(callbacks.indexOf(callback), 1);\n\n    if (callbacks.length === 0) {\n      // No more callback exists for element, so destroy it\n      elements[\"delete\"](element);\n      observer.unobserve(element);\n    }\n\n    if (elements.size === 0) {\n      // No more elements are being observer by this instance, so destroy it\n      observer.disconnect();\n      observerMap[\"delete\"](id);\n    }\n  };\n}\n\nvar _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n  return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `<InView>` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView>\r\n {({ inView, ref, entry }) => (\r\n      <div ref={ref}>\r\n        <h2>{`Header inside viewport ${inView}.`}</h2>\r\n      </div>\r\n    )}\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the `<InView />`, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `<InView>` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView as=\"div\" onChange={(inView, entry) => console.log('Inview:', inView)}>\r\n <h2>Plain children are always rendered. Use onChange to monitor state.</h2>\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(InView, _React$Component);\n\n  function InView(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this.node = null;\n    _this._unobserveCb = null;\n\n    _this.handleNode = function (node) {\n      if (_this.node) {\n        // Clear the old observer, before we start observing a new element\n        _this.unobserve();\n\n        if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n          // Reset the state if we get a new node, and we aren't ignoring updates\n          _this.setState({\n            inView: !!_this.props.initialInView,\n            entry: undefined\n          });\n        }\n      }\n\n      _this.node = node ? node : null;\n\n      _this.observeNode();\n    };\n\n    _this.handleChange = function (inView, entry) {\n      if (inView && _this.props.triggerOnce) {\n        // If `triggerOnce` is true, we should stop observing the element.\n        _this.unobserve();\n      }\n\n      if (!isPlainChildren(_this.props)) {\n        // Store the current State, so we can pass it to the children in the next render update\n        // There's no reason to update the state for plain children, since it's not used in the rendering.\n        _this.setState({\n          inView: inView,\n          entry: entry\n        });\n      }\n\n      if (_this.props.onChange) {\n        // If the user is actively listening for onChange, always trigger it\n        _this.props.onChange(inView, entry);\n      }\n    };\n\n    _this.state = {\n      inView: !!props.initialInView,\n      entry: undefined\n    };\n    return _this;\n  }\n\n  var _proto = InView.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    // If a IntersectionObserver option changed, reinit the observer\n    if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n      this.unobserve();\n      this.observeNode();\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.unobserve();\n    this.node = null;\n  };\n\n  _proto.observeNode = function observeNode() {\n    if (!this.node || this.props.skip) return;\n    var _this$props = this.props,\n        threshold = _this$props.threshold,\n        root = _this$props.root,\n        rootMargin = _this$props.rootMargin,\n        trackVisibility = _this$props.trackVisibility,\n        delay = _this$props.delay,\n        fallbackInView = _this$props.fallbackInView;\n    this._unobserveCb = observe(this.node, this.handleChange, {\n      threshold: threshold,\n      root: root,\n      rootMargin: rootMargin,\n      // @ts-ignore\n      trackVisibility: trackVisibility,\n      // @ts-ignore\n      delay: delay\n    }, fallbackInView);\n  };\n\n  _proto.unobserve = function unobserve() {\n    if (this._unobserveCb) {\n      this._unobserveCb();\n\n      this._unobserveCb = null;\n    }\n  };\n\n  _proto.render = function render() {\n    if (!isPlainChildren(this.props)) {\n      var _this$state = this.state,\n          inView = _this$state.inView,\n          entry = _this$state.entry;\n      return this.props.children({\n        inView: inView,\n        entry: entry,\n        ref: this.handleNode\n      });\n    }\n\n    var _this$props2 = this.props,\n        children = _this$props2.children,\n        as = _this$props2.as,\n        props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n    return /*#__PURE__*/React.createElement(as || 'div', _extends({\n      ref: this.handleNode\n    }, props), children);\n  };\n\n  return InView;\n}(React.Component);\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n *   const { ref, inView, entry } = useInView({\r\n *       threshold: 0,\r\n *   });\r\n *\r\n *   return (\r\n *     <div ref={ref}>\r\n *       <h2>{`Header inside viewport ${inView}.`}</h2>\r\n *     </div>\r\n *   );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n  var _ref = _temp === void 0 ? {} : _temp,\n      threshold = _ref.threshold,\n      delay = _ref.delay,\n      trackVisibility = _ref.trackVisibility,\n      rootMargin = _ref.rootMargin,\n      root = _ref.root,\n      triggerOnce = _ref.triggerOnce,\n      skip = _ref.skip,\n      initialInView = _ref.initialInView,\n      fallbackInView = _ref.fallbackInView,\n      onChange = _ref.onChange;\n\n  var unobserve = React.useRef();\n  var callback = React.useRef();\n\n  var _React$useState = React.useState({\n    inView: !!initialInView\n  }),\n      state = _React$useState[0],\n      setState = _React$useState[1]; // Store the onChange callback in a `ref`, so we can access the latest instance inside the `useCallback`.\n\n\n  callback.current = onChange;\n  var setRef = React.useCallback(function (node) {\n    if (unobserve.current !== undefined) {\n      unobserve.current();\n      unobserve.current = undefined;\n    } // Skip creating the observer\n\n\n    if (skip) return;\n\n    if (node) {\n      unobserve.current = observe(node, function (inView, entry) {\n        setState({\n          inView: inView,\n          entry: entry\n        });\n        if (callback.current) callback.current(inView, entry);\n\n        if (entry.isIntersecting && triggerOnce && unobserve.current) {\n          // If it should only trigger once, unobserve the element after it's inView\n          unobserve.current();\n          unobserve.current = undefined;\n        }\n      }, {\n        root: root,\n        rootMargin: rootMargin,\n        threshold: threshold,\n        // @ts-ignore\n        trackVisibility: trackVisibility,\n        // @ts-ignore\n        delay: delay\n      }, fallbackInView);\n    }\n  }, // We break the rule here, because we aren't including the actual `threshold` variable\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [// If the threshold is an array, convert it to a string so it won't change between renders.\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n  /* eslint-disable-next-line */\n\n  React.useEffect(function () {\n    if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n      // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n      // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n      setState({\n        inView: !!initialInView\n      });\n    }\n  });\n  var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n  result.ref = result[0];\n  result.inView = result[1];\n  result.entry = result[2];\n  return result;\n}\n\nexport { InView, defaultFallbackInView, observe, useInView };\n//# sourceMappingURL=react-intersection-observer.m.js.map\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SEEK_ON_PLAY_EXPIRY = 5000;\n\nvar Player = /*#__PURE__*/function (_Component) {\n  _inherits(Player, _Component);\n\n  var _super = _createSuper(Player);\n\n  function Player() {\n    var _this;\n\n    _classCallCheck(this, Player);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isReady\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isPlaying\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"isLoading\", true);\n\n    _defineProperty(_assertThisInitialized(_this), \"loadOnReady\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"startOnPlay\", true);\n\n    _defineProperty(_assertThisInitialized(_this), \"seekOnPlay\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"onDurationCalled\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePlayerMount\", function (player) {\n      _this.player = player;\n\n      _this.player.load(_this.props.url);\n\n      _this.progress();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function (key) {\n      if (!_this.player) return null;\n      return _this.player[key];\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"progress\", function () {\n      if (_this.props.url && _this.player && _this.isReady) {\n        var playedSeconds = _this.getCurrentTime() || 0;\n\n        var loadedSeconds = _this.getSecondsLoaded();\n\n        var duration = _this.getDuration();\n\n        if (duration) {\n          var progress = {\n            playedSeconds: playedSeconds,\n            played: playedSeconds / duration\n          };\n\n          if (loadedSeconds !== null) {\n            progress.loadedSeconds = loadedSeconds;\n            progress.loaded = loadedSeconds / duration;\n          } // Only call onProgress if values have changed\n\n\n          if (progress.playedSeconds !== _this.prevPlayed || progress.loadedSeconds !== _this.prevLoaded) {\n            _this.props.onProgress(progress);\n          }\n\n          _this.prevPlayed = progress.playedSeconds;\n          _this.prevLoaded = progress.loadedSeconds;\n        }\n      }\n\n      _this.progressTimeout = setTimeout(_this.progress, _this.props.progressFrequency || _this.props.progressInterval);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n      if (!_this.mounted) return;\n      _this.isReady = true;\n      _this.isLoading = false;\n      var _this$props = _this.props,\n          onReady = _this$props.onReady,\n          playing = _this$props.playing,\n          volume = _this$props.volume,\n          muted = _this$props.muted;\n      onReady();\n\n      if (!muted && volume !== null) {\n        _this.player.setVolume(volume);\n      }\n\n      if (_this.loadOnReady) {\n        _this.player.load(_this.loadOnReady, true);\n\n        _this.loadOnReady = null;\n      } else if (playing) {\n        _this.player.play();\n      }\n\n      _this.handleDurationCheck();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function () {\n      _this.isPlaying = true;\n      _this.isLoading = false;\n      var _this$props2 = _this.props,\n          onStart = _this$props2.onStart,\n          onPlay = _this$props2.onPlay,\n          playbackRate = _this$props2.playbackRate;\n\n      if (_this.startOnPlay) {\n        if (_this.player.setPlaybackRate && playbackRate !== 1) {\n          _this.player.setPlaybackRate(playbackRate);\n        }\n\n        onStart();\n        _this.startOnPlay = false;\n      }\n\n      onPlay();\n\n      if (_this.seekOnPlay) {\n        _this.seekTo(_this.seekOnPlay);\n\n        _this.seekOnPlay = null;\n      }\n\n      _this.handleDurationCheck();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n      _this.isPlaying = false;\n\n      if (!_this.isLoading) {\n        _this.props.onPause(e);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function () {\n      var _this$props3 = _this.props,\n          activePlayer = _this$props3.activePlayer,\n          loop = _this$props3.loop,\n          onEnded = _this$props3.onEnded;\n\n      if (activePlayer.loopOnEnded && loop) {\n        _this.seekTo(0);\n      }\n\n      if (!loop) {\n        _this.isPlaying = false;\n        onEnded();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleError\", function () {\n      var _this$props4;\n\n      _this.isLoading = false;\n\n      (_this$props4 = _this.props).onError.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleDurationCheck\", function () {\n      clearTimeout(_this.durationCheckTimeout);\n\n      var duration = _this.getDuration();\n\n      if (duration) {\n        if (!_this.onDurationCalled) {\n          _this.props.onDuration(duration);\n\n          _this.onDurationCalled = true;\n        }\n      } else {\n        _this.durationCheckTimeout = setTimeout(_this.handleDurationCheck, 100);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleLoaded\", function () {\n      // Sometimes we know loading has stopped but onReady/onPlay are never called\n      // so this provides a way for players to avoid getting stuck\n      _this.isLoading = false;\n    });\n\n    return _this;\n  }\n\n  _createClass(Player, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.mounted = true;\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      clearTimeout(this.progressTimeout);\n      clearTimeout(this.durationCheckTimeout);\n\n      if (this.isReady && this.props.stopOnUnmount) {\n        this.player.stop();\n\n        if (this.player.disablePIP) {\n          this.player.disablePIP();\n        }\n      }\n\n      this.mounted = false;\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this2 = this;\n\n      // If there isn’t a player available, don’t do anything\n      if (!this.player) {\n        return;\n      } // Invoke player methods based on changed props\n\n\n      var _this$props5 = this.props,\n          url = _this$props5.url,\n          playing = _this$props5.playing,\n          volume = _this$props5.volume,\n          muted = _this$props5.muted,\n          playbackRate = _this$props5.playbackRate,\n          pip = _this$props5.pip,\n          loop = _this$props5.loop,\n          activePlayer = _this$props5.activePlayer,\n          disableDeferredLoading = _this$props5.disableDeferredLoading;\n\n      if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n        if (this.isLoading && !activePlayer.forceLoad && !disableDeferredLoading && !(0, _utils.isMediaStream)(url)) {\n          console.warn(\"ReactPlayer: the attempt to load \".concat(url, \" is being deferred until the player has loaded\"));\n          this.loadOnReady = url;\n          return;\n        }\n\n        this.isLoading = true;\n        this.startOnPlay = true;\n        this.onDurationCalled = false;\n        this.player.load(url, this.isReady);\n      }\n\n      if (!prevProps.playing && playing && !this.isPlaying) {\n        this.player.play();\n      }\n\n      if (prevProps.playing && !playing && this.isPlaying) {\n        this.player.pause();\n      }\n\n      if (!prevProps.pip && pip && this.player.enablePIP) {\n        this.player.enablePIP();\n      }\n\n      if (prevProps.pip && !pip && this.player.disablePIP) {\n        this.player.disablePIP();\n      }\n\n      if (prevProps.volume !== volume && volume !== null) {\n        this.player.setVolume(volume);\n      }\n\n      if (prevProps.muted !== muted) {\n        if (muted) {\n          this.player.mute();\n        } else {\n          this.player.unmute();\n\n          if (volume !== null) {\n            // Set volume next tick to fix a bug with DailyMotion\n            setTimeout(function () {\n              return _this2.player.setVolume(volume);\n            });\n          }\n        }\n      }\n\n      if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n        this.player.setPlaybackRate(playbackRate);\n      }\n\n      if (prevProps.loop !== loop && this.player.setLoop) {\n        this.player.setLoop(loop);\n      }\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      if (!this.isReady) return null;\n      return this.player.getDuration();\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      if (!this.isReady) return null;\n      return this.player.getCurrentTime();\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      if (!this.isReady) return null;\n      return this.player.getSecondsLoaded();\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount, type) {\n      var _this3 = this;\n\n      // When seeking before player is ready, store value and seek later\n      if (!this.isReady) {\n        if (amount !== 0) {\n          this.seekOnPlay = amount;\n          setTimeout(function () {\n            _this3.seekOnPlay = null;\n          }, SEEK_ON_PLAY_EXPIRY);\n        }\n\n        return;\n      }\n\n      var isFraction = !type ? amount > 0 && amount < 1 : type === 'fraction';\n\n      if (isFraction) {\n        // Convert fraction to seconds based on duration\n        var duration = this.player.getDuration();\n\n        if (!duration) {\n          console.warn('ReactPlayer: could not seek using fraction – duration not yet available');\n          return;\n        }\n\n        this.player.seekTo(duration * amount);\n        return;\n      }\n\n      this.player.seekTo(amount);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var Player = this.props.activePlayer;\n\n      if (!Player) {\n        return null;\n      }\n\n      return /*#__PURE__*/_react[\"default\"].createElement(Player, _extends({}, this.props, {\n        onMount: this.handlePlayerMount,\n        onReady: this.handleReady,\n        onPlay: this.handlePlay,\n        onPause: this.handlePause,\n        onEnded: this.handleEnded,\n        onLoaded: this.handleLoaded,\n        onError: this.handleError\n      }));\n    }\n  }]);\n\n  return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\n\n_defineProperty(Player, \"displayName\", 'Player');\n\n_defineProperty(Player, \"propTypes\", _props.propTypes);\n\n_defineProperty(Player, \"defaultProps\", _props.defaultProps);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ICON_SIZE = '64px';\nvar cache = {};\n\nvar Preview = /*#__PURE__*/function (_Component) {\n  _inherits(Preview, _Component);\n\n  var _super = _createSuper(Preview);\n\n  function Preview() {\n    var _this;\n\n    _classCallCheck(this, Preview);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      image: null\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (e) {\n      if (e.key === 'Enter' || e.key === ' ') {\n        _this.props.onClick();\n      }\n    });\n\n    return _this;\n  }\n\n  _createClass(Preview, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.mounted = true;\n      this.fetchImage(this.props);\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props = this.props,\n          url = _this$props.url,\n          light = _this$props.light;\n\n      if (prevProps.url !== url || prevProps.light !== light) {\n        this.fetchImage(this.props);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.mounted = false;\n    }\n  }, {\n    key: \"fetchImage\",\n    value: function fetchImage(_ref) {\n      var _this2 = this;\n\n      var url = _ref.url,\n          light = _ref.light,\n          oEmbedUrl = _ref.oEmbedUrl;\n\n      if (typeof light === 'string') {\n        this.setState({\n          image: light\n        });\n        return;\n      }\n\n      if (cache[url]) {\n        this.setState({\n          image: cache[url]\n        });\n        return;\n      }\n\n      this.setState({\n        image: null\n      });\n      return window.fetch(oEmbedUrl.replace('{url}', url)).then(function (response) {\n        return response.json();\n      }).then(function (data) {\n        if (data.thumbnail_url && _this2.mounted) {\n          var image = data.thumbnail_url.replace('height=100', 'height=480');\n\n          _this2.setState({\n            image: image\n          });\n\n          cache[url] = image;\n        }\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          onClick = _this$props2.onClick,\n          playIcon = _this$props2.playIcon,\n          previewTabIndex = _this$props2.previewTabIndex;\n      var image = this.state.image;\n      var flexCenter = {\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'center'\n      };\n      var styles = {\n        preview: _objectSpread({\n          width: '100%',\n          height: '100%',\n          backgroundImage: image ? \"url(\".concat(image, \")\") : undefined,\n          backgroundSize: 'cover',\n          backgroundPosition: 'center',\n          cursor: 'pointer'\n        }, flexCenter),\n        shadow: _objectSpread({\n          background: 'radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)',\n          borderRadius: ICON_SIZE,\n          width: ICON_SIZE,\n          height: ICON_SIZE\n        }, flexCenter),\n        playIcon: {\n          borderStyle: 'solid',\n          borderWidth: '16px 0 16px 26px',\n          borderColor: 'transparent transparent transparent white',\n          marginLeft: '7px'\n        }\n      };\n\n      var defaultPlayIcon = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.shadow,\n        className: \"react-player__shadow\"\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.playIcon,\n        className: \"react-player__play-icon\"\n      }));\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: styles.preview,\n        className: \"react-player__preview\",\n        onClick: onClick,\n        tabIndex: previewTabIndex,\n        onKeyPress: this.handleKeyPress\n      }, playIcon || defaultPlayIcon);\n    }\n  }]);\n\n  return Preview;\n}(_react.Component);\n\nexports[\"default\"] = Preview;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createReactPlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nvar _Player3 = _interopRequireDefault(require(\"./Player\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n  return Promise.resolve().then(function () {\n    return _interopRequireWildcard(require('./Preview'));\n  });\n});\nvar IS_BROWSER = typeof window !== 'undefined' && window.document;\nvar IS_GLOBAL = typeof global !== 'undefined' && global.window && global.window.document;\nvar SUPPORTED_PROPS = Object.keys(_props.propTypes); // Return null when rendering on the server\n// as Suspense is not supported yet\n\nvar UniversalSuspense = IS_BROWSER || IS_GLOBAL ? _react.Suspense : function () {\n  return null;\n};\nvar customPlayers = [];\n\nvar createReactPlayer = function createReactPlayer(players, fallback) {\n  var _class, _temp;\n\n  return _temp = _class = /*#__PURE__*/function (_Component) {\n    _inherits(ReactPlayer, _Component);\n\n    var _super = _createSuper(ReactPlayer);\n\n    function ReactPlayer() {\n      var _this;\n\n      _classCallCheck(this, ReactPlayer);\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this = _super.call.apply(_super, [this].concat(args));\n\n      _defineProperty(_assertThisInitialized(_this), \"state\", {\n        showPreview: !!_this.props.light\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"references\", {\n        wrapper: function wrapper(_wrapper) {\n          _this.wrapper = _wrapper;\n        },\n        player: function player(_player) {\n          _this.player = _player;\n        }\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleClickPreview\", function (e) {\n        _this.setState({\n          showPreview: false\n        });\n\n        _this.props.onClickPreview(e);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"showPreview\", function () {\n        _this.setState({\n          showPreview: true\n        });\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getDuration\", function () {\n        if (!_this.player) return null;\n        return _this.player.getDuration();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getCurrentTime\", function () {\n        if (!_this.player) return null;\n        return _this.player.getCurrentTime();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getSecondsLoaded\", function () {\n        if (!_this.player) return null;\n        return _this.player.getSecondsLoaded();\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';\n        if (!_this.player) return null;\n        return _this.player.getInternalPlayer(key);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"seekTo\", function (fraction, type) {\n        if (!_this.player) return null;\n\n        _this.player.seekTo(fraction, type);\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n        _this.props.onReady(_assertThisInitialized(_this));\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"getActivePlayer\", (0, _memoizeOne[\"default\"])(function (url) {\n        for (var _i = 0, _arr = [].concat(customPlayers, _toConsumableArray(players)); _i < _arr.length; _i++) {\n          var player = _arr[_i];\n\n          if (player.canPlay(url)) {\n            return player;\n          }\n        }\n\n        if (fallback) {\n          return fallback;\n        }\n\n        return null;\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"getConfig\", (0, _memoizeOne[\"default\"])(function (url, key) {\n        var config = _this.props.config;\n        return _deepmerge[\"default\"].all([_props.defaultProps.config, _props.defaultProps.config[key] || {}, config, config[key] || {}]);\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"getAttributes\", (0, _memoizeOne[\"default\"])(function (url) {\n        return (0, _utils.omit)(_this.props, SUPPORTED_PROPS);\n      }));\n\n      _defineProperty(_assertThisInitialized(_this), \"renderActivePlayer\", function (url) {\n        if (!url) return null;\n\n        var player = _this.getActivePlayer(url);\n\n        if (!player) return null;\n\n        var config = _this.getConfig(url, player.key);\n\n        return /*#__PURE__*/_react[\"default\"].createElement(_Player3[\"default\"], _extends({}, _this.props, {\n          key: player.key,\n          ref: _this.references.player,\n          config: config,\n          activePlayer: player.lazyPlayer || player,\n          onReady: _this.handleReady\n        }));\n      });\n\n      return _this;\n    }\n\n    _createClass(ReactPlayer, [{\n      key: \"shouldComponentUpdate\",\n      value: function shouldComponentUpdate(nextProps, nextState) {\n        return !(0, _reactFastCompare[\"default\"])(this.props, nextProps) || !(0, _reactFastCompare[\"default\"])(this.state, nextState);\n      }\n    }, {\n      key: \"componentDidUpdate\",\n      value: function componentDidUpdate(prevProps) {\n        var light = this.props.light;\n\n        if (!prevProps.light && light) {\n          this.setState({\n            showPreview: true\n          });\n        }\n\n        if (prevProps.light && !light) {\n          this.setState({\n            showPreview: false\n          });\n        }\n      }\n    }, {\n      key: \"renderPreview\",\n      value: function renderPreview(url) {\n        if (!url) return null;\n        var _this$props = this.props,\n            light = _this$props.light,\n            playIcon = _this$props.playIcon,\n            previewTabIndex = _this$props.previewTabIndex,\n            oEmbedUrl = _this$props.oEmbedUrl;\n        return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n          url: url,\n          light: light,\n          playIcon: playIcon,\n          previewTabIndex: previewTabIndex,\n          oEmbedUrl: oEmbedUrl,\n          onClick: this.handleClickPreview\n        });\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this$props2 = this.props,\n            url = _this$props2.url,\n            style = _this$props2.style,\n            width = _this$props2.width,\n            height = _this$props2.height,\n            fallback = _this$props2.fallback,\n            Wrapper = _this$props2.wrapper;\n        var showPreview = this.state.showPreview;\n        var attributes = this.getAttributes(url);\n        return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n          ref: this.references.wrapper,\n          style: _objectSpread(_objectSpread({}, style), {}, {\n            width: width,\n            height: height\n          })\n        }, attributes), /*#__PURE__*/_react[\"default\"].createElement(UniversalSuspense, {\n          fallback: fallback\n        }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n      }\n    }]);\n\n    return ReactPlayer;\n  }(_react.Component), _defineProperty(_class, \"displayName\", 'ReactPlayer'), _defineProperty(_class, \"propTypes\", _props.propTypes), _defineProperty(_class, \"defaultProps\", _props.defaultProps), _defineProperty(_class, \"addCustomPlayer\", function (player) {\n    customPlayers.push(player);\n  }), _defineProperty(_class, \"removeCustomPlayers\", function () {\n    customPlayers.length = 0;\n  }), _defineProperty(_class, \"canPlay\", function (url) {\n    for (var _i2 = 0, _arr2 = [].concat(customPlayers, _toConsumableArray(players)); _i2 < _arr2.length; _i2++) {\n      var _Player = _arr2[_i2];\n\n      if (_Player.canPlay(url)) {\n        return true;\n      }\n    }\n\n    return false;\n  }), _defineProperty(_class, \"canEnablePIP\", function (url) {\n    for (var _i3 = 0, _arr3 = [].concat(customPlayers, _toConsumableArray(players)); _i3 < _arr3.length; _i3++) {\n      var _Player2 = _arr3[_i3];\n\n      if (_Player2.canEnablePIP && _Player2.canEnablePIP(url)) {\n        return true;\n      }\n    }\n\n    return false;\n  }), _temp;\n};\n\nexports.createReactPlayer = createReactPlayer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _players = _interopRequireDefault(require(\"./players\"));\n\nvar _ReactPlayer = require(\"./ReactPlayer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// Fall back to FilePlayer if nothing else can play the URL\nvar fallback = _players[\"default\"][_players[\"default\"].length - 1];\n\nvar _default = (0, _ReactPlayer.createReactPlayer)(_players[\"default\"], fallback);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.canPlay = exports.FLV_EXTENSIONS = exports.DASH_EXTENSIONS = exports.HLS_EXTENSIONS = exports.VIDEO_EXTENSIONS = exports.AUDIO_EXTENSIONS = exports.MATCH_URL_KALTURA = exports.MATCH_URL_VIDYARD = exports.MATCH_URL_MIXCLOUD = exports.MATCH_URL_DAILYMOTION = exports.MATCH_URL_TWITCH_CHANNEL = exports.MATCH_URL_TWITCH_VIDEO = exports.MATCH_URL_WISTIA = exports.MATCH_URL_STREAMABLE = exports.MATCH_URL_FACEBOOK_WATCH = exports.MATCH_URL_FACEBOOK = exports.MATCH_URL_VIMEO = exports.MATCH_URL_SOUNDCLOUD = exports.MATCH_URL_YOUTUBE = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nexports.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;\nvar MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nexports.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;\nvar MATCH_URL_VIMEO = /vimeo\\.com\\/(?!progressive_redirect).+/;\nexports.MATCH_URL_VIMEO = MATCH_URL_VIMEO;\nvar MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nexports.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;\nvar MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nexports.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;\nvar MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nexports.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;\nvar MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?(.*)$/;\nexports.MATCH_URL_WISTIA = MATCH_URL_WISTIA;\nvar MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nexports.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;\nvar MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nexports.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;\nvar MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?$/;\nexports.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;\nvar MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nexports.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;\nvar MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-_]+)/;\nexports.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;\nvar MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_]+)$/;\nexports.MATCH_URL_KALTURA = MATCH_URL_KALTURA;\nvar AUDIO_EXTENSIONS = /\\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nexports.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\\d+]+)?($|\\?)/i;\nexports.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nexports.HLS_EXTENSIONS = HLS_EXTENSIONS;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nexports.DASH_EXTENSIONS = DASH_EXTENSIONS;\nvar FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nexports.FLV_EXTENSIONS = FLV_EXTENSIONS;\n\nvar canPlayFile = function canPlayFile(url) {\n  if (url instanceof Array) {\n    var _iterator = _createForOfIteratorHelper(url),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var item = _step.value;\n\n        if (typeof item === 'string' && canPlayFile(item)) {\n          return true;\n        }\n\n        if (canPlayFile(item.src)) {\n          return true;\n        }\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    return false;\n  }\n\n  if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {\n    return true;\n  }\n\n  return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\n\nvar canPlay = {\n  youtube: function youtube(url) {\n    if (url instanceof Array) {\n      return url.every(function (item) {\n        return MATCH_URL_YOUTUBE.test(item);\n      });\n    }\n\n    return MATCH_URL_YOUTUBE.test(url);\n  },\n  soundcloud: function soundcloud(url) {\n    return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);\n  },\n  vimeo: function vimeo(url) {\n    return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);\n  },\n  facebook: function facebook(url) {\n    return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);\n  },\n  streamable: function streamable(url) {\n    return MATCH_URL_STREAMABLE.test(url);\n  },\n  wistia: function wistia(url) {\n    return MATCH_URL_WISTIA.test(url);\n  },\n  twitch: function twitch(url) {\n    return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);\n  },\n  dailymotion: function dailymotion(url) {\n    return MATCH_URL_DAILYMOTION.test(url);\n  },\n  mixcloud: function mixcloud(url) {\n    return MATCH_URL_MIXCLOUD.test(url);\n  },\n  vidyard: function vidyard(url) {\n    return MATCH_URL_VIDYARD.test(url);\n  },\n  kaltura: function kaltura(url) {\n    return MATCH_URL_KALTURA.test(url);\n  },\n  file: canPlayFile\n};\nexports.canPlay = canPlay;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://api.dmcdn.net/all.js';\nvar SDK_GLOBAL = 'DM';\nvar SDK_GLOBAL_READY = 'dmAsyncInit';\n\nvar DailyMotion = /*#__PURE__*/function (_Component) {\n  _inherits(DailyMotion, _Component);\n\n  var _super = _createSuper(DailyMotion);\n\n  function DailyMotion() {\n    var _this;\n\n    _classCallCheck(this, DailyMotion);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"onDurationChange\", function () {\n      var duration = _this.getDuration();\n\n      _this.props.onDuration(duration);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('setMuted', true);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('setMuted', false);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(DailyMotion, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          controls = _this$props.controls,\n          config = _this$props.config,\n          onError = _this$props.onError,\n          playing = _this$props.playing;\n\n      var _url$match = url.match(_patterns.MATCH_URL_DAILYMOTION),\n          _url$match2 = _slicedToArray(_url$match, 2),\n          id = _url$match2[1];\n\n      if (this.player) {\n        this.player.load(id, {\n          start: (0, _utils.parseStartTime)(url),\n          autoplay: playing\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (DM) {\n        return DM.player;\n      }).then(function (DM) {\n        if (!_this2.container) return;\n        var Player = DM.player;\n        _this2.player = new Player(_this2.container, {\n          width: '100%',\n          height: '100%',\n          video: id,\n          params: _objectSpread({\n            controls: controls,\n            autoplay: _this2.props.playing,\n            mute: _this2.props.muted,\n            start: (0, _utils.parseStartTime)(url),\n            origin: window.location.origin\n          }, config.params),\n          events: {\n            apiready: _this2.props.onReady,\n            seeked: function seeked() {\n              return _this2.props.onSeek(_this2.player.currentTime);\n            },\n            video_end: _this2.props.onEnded,\n            durationchange: _this2.onDurationChange,\n            pause: _this2.props.onPause,\n            playing: _this2.props.onPlay,\n            waiting: _this2.props.onBuffer,\n            error: function error(event) {\n              return onError(event);\n            }\n          }\n        });\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.player.duration || null;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.player.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.player.bufferedTime;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return DailyMotion;\n}(_react.Component);\n\nexports[\"default\"] = DailyMotion;\n\n_defineProperty(DailyMotion, \"displayName\", 'DailyMotion');\n\n_defineProperty(DailyMotion, \"canPlay\", _patterns.canPlay.dailymotion);\n\n_defineProperty(DailyMotion, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://connect.facebook.net/en_US/sdk.js';\nvar SDK_GLOBAL = 'FB';\nvar SDK_GLOBAL_READY = 'fbAsyncInit';\nvar PLAYER_ID_PREFIX = 'facebook-player-';\n\nvar Facebook = /*#__PURE__*/function (_Component) {\n  _inherits(Facebook, _Component);\n\n  var _super = _createSuper(Facebook);\n\n  function Facebook() {\n    var _this;\n\n    _classCallCheck(this, Facebook);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    return _this;\n  }\n\n  _createClass(Facebook, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      if (isReady) {\n        (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n          return FB.XFBML.parse();\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n        FB.init({\n          appId: _this2.props.config.appId,\n          xfbml: true,\n          version: _this2.props.config.version\n        });\n        FB.Event.subscribe('xfbml.render', function (msg) {\n          // Here we know the SDK has loaded, even if onReady/onPlay\n          // is not called due to a video that cannot be embedded\n          _this2.props.onLoaded();\n        });\n        FB.Event.subscribe('xfbml.ready', function (msg) {\n          if (msg.type === 'video' && msg.id === _this2.playerID) {\n            _this2.player = msg.instance;\n\n            _this2.player.subscribe('startedPlaying', _this2.props.onPlay);\n\n            _this2.player.subscribe('paused', _this2.props.onPause);\n\n            _this2.player.subscribe('finishedPlaying', _this2.props.onEnded);\n\n            _this2.player.subscribe('startedBuffering', _this2.props.onBuffer);\n\n            _this2.player.subscribe('finishedBuffering', _this2.props.onBufferEnd);\n\n            _this2.player.subscribe('error', _this2.props.onError);\n\n            if (_this2.props.muted) {\n              _this2.callPlayer('mute');\n            } else {\n              _this2.callPlayer('unmute');\n            }\n\n            _this2.props.onReady(); // For some reason Facebook have added `visibility: hidden`\n            // to the iframe when autoplay fails, so here we set it back\n\n\n            document.getElementById(_this2.playerID).querySelector('iframe').style.visibility = 'visible';\n          }\n        });\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentPosition');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var attributes = this.props.config.attributes;\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n        style: style,\n        id: this.playerID,\n        className: \"fb-video\",\n        \"data-href\": this.props.url,\n        \"data-autoplay\": this.props.playing ? 'true' : 'false',\n        \"data-allowfullscreen\": \"true\",\n        \"data-controls\": this.props.controls ? 'true' : 'false'\n      }, attributes));\n    }\n  }]);\n\n  return Facebook;\n}(_react.Component);\n\nexports[\"default\"] = Facebook;\n\n_defineProperty(Facebook, \"displayName\", 'Facebook');\n\n_defineProperty(Facebook, \"canPlay\", _patterns.canPlay.facebook);\n\n_defineProperty(Facebook, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar HAS_NAVIGATOR = typeof navigator !== 'undefined';\nvar IS_IPAD_PRO = HAS_NAVIGATOR && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\nvar IS_IOS = HAS_NAVIGATOR && (/iPad|iPhone|iPod/.test(navigator.userAgent) || IS_IPAD_PRO) && !window.MSStream;\nvar HLS_SDK_URL = 'https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js';\nvar HLS_GLOBAL = 'Hls';\nvar DASH_SDK_URL = 'https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js';\nvar DASH_GLOBAL = 'dashjs';\nvar FLV_SDK_URL = 'https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js';\nvar FLV_GLOBAL = 'flvjs';\nvar MATCH_DROPBOX_URL = /www\\.dropbox\\.com\\/.+/;\nvar MATCH_CLOUDFLARE_STREAM = /https:\\/\\/watch\\.cloudflarestream\\.com\\/([a-z0-9]+)/;\nvar REPLACE_CLOUDFLARE_STREAM = 'https://videodelivery.net/{id}/manifest/video.m3u8';\n\nvar FilePlayer = /*#__PURE__*/function (_Component) {\n  _inherits(FilePlayer, _Component);\n\n  var _super = _createSuper(FilePlayer);\n\n  function FilePlayer() {\n    var _this;\n\n    _classCallCheck(this, FilePlayer);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"onReady\", function () {\n      var _this$props;\n\n      return (_this$props = _this.props).onReady.apply(_this$props, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n      var _this$props2;\n\n      return (_this$props2 = _this.props).onPlay.apply(_this$props2, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onBuffer\", function () {\n      var _this$props3;\n\n      return (_this$props3 = _this.props).onBuffer.apply(_this$props3, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onBufferEnd\", function () {\n      var _this$props4;\n\n      return (_this$props4 = _this.props).onBufferEnd.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n      var _this$props5;\n\n      return (_this$props5 = _this.props).onPause.apply(_this$props5, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n      var _this$props6;\n\n      return (_this$props6 = _this.props).onEnded.apply(_this$props6, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onError\", function () {\n      var _this$props7;\n\n      return (_this$props7 = _this.props).onError.apply(_this$props7, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlayBackRateChange\", function (event) {\n      return _this.props.onPlaybackRateChange(event.target.playbackRate);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnablePIP\", function () {\n      var _this$props8;\n\n      return (_this$props8 = _this.props).onEnablePIP.apply(_this$props8, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onDisablePIP\", function (e) {\n      var _this$props9 = _this.props,\n          onDisablePIP = _this$props9.onDisablePIP,\n          playing = _this$props9.playing;\n      onDisablePIP(e);\n\n      if (playing) {\n        _this.play();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPresentationModeChange\", function (e) {\n      if (_this.player && (0, _utils.supportsWebKitPresentationMode)(_this.player)) {\n        var webkitPresentationMode = _this.player.webkitPresentationMode;\n\n        if (webkitPresentationMode === 'picture-in-picture') {\n          _this.onEnablePIP(e);\n        } else if (webkitPresentationMode === 'inline') {\n          _this.onDisablePIP(e);\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onSeek\", function (e) {\n      _this.props.onSeek(e.target.currentTime);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.player.muted = true;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.player.muted = false;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderSourceElement\", function (source, index) {\n      if (typeof source === 'string') {\n        return /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n          key: index,\n          src: source\n        });\n      }\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"source\", _extends({\n        key: index\n      }, source));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderTrack\", function (track, index) {\n      return /*#__PURE__*/_react[\"default\"].createElement(\"track\", _extends({\n        key: index\n      }, track));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (player) {\n      if (_this.player) {\n        // Store previous player to be used by removeListeners()\n        _this.prevPlayer = _this.player;\n      }\n\n      _this.player = player;\n    });\n\n    return _this;\n  }\n\n  _createClass(FilePlayer, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n      this.addListeners(this.player);\n\n      if (IS_IOS) {\n        this.player.load();\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      if (this.shouldUseAudio(this.props) !== this.shouldUseAudio(prevProps)) {\n        this.removeListeners(this.prevPlayer, prevProps.url);\n        this.addListeners(this.player);\n      }\n\n      if (this.props.url !== prevProps.url && !(0, _utils.isMediaStream)(this.props.url)) {\n        this.player.srcObject = null;\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.removeListeners(this.player);\n\n      if (this.hls) {\n        this.hls.destroy();\n      }\n    }\n  }, {\n    key: \"addListeners\",\n    value: function addListeners(player) {\n      var _this$props10 = this.props,\n          url = _this$props10.url,\n          playsinline = _this$props10.playsinline;\n      player.addEventListener('play', this.onPlay);\n      player.addEventListener('waiting', this.onBuffer);\n      player.addEventListener('playing', this.onBufferEnd);\n      player.addEventListener('pause', this.onPause);\n      player.addEventListener('seeked', this.onSeek);\n      player.addEventListener('ended', this.onEnded);\n      player.addEventListener('error', this.onError);\n      player.addEventListener('ratechange', this.onPlayBackRateChange);\n      player.addEventListener('enterpictureinpicture', this.onEnablePIP);\n      player.addEventListener('leavepictureinpicture', this.onDisablePIP);\n      player.addEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n      if (!this.shouldUseHLS(url)) {\n        // onReady is handled by hls.js\n        player.addEventListener('canplay', this.onReady);\n      }\n\n      if (playsinline) {\n        player.setAttribute('playsinline', '');\n        player.setAttribute('webkit-playsinline', '');\n        player.setAttribute('x5-playsinline', '');\n      }\n    }\n  }, {\n    key: \"removeListeners\",\n    value: function removeListeners(player, url) {\n      player.removeEventListener('canplay', this.onReady);\n      player.removeEventListener('play', this.onPlay);\n      player.removeEventListener('waiting', this.onBuffer);\n      player.removeEventListener('playing', this.onBufferEnd);\n      player.removeEventListener('pause', this.onPause);\n      player.removeEventListener('seeked', this.onSeek);\n      player.removeEventListener('ended', this.onEnded);\n      player.removeEventListener('error', this.onError);\n      player.removeEventListener('ratechange', this.onPlayBackRateChange);\n      player.removeEventListener('enterpictureinpicture', this.onEnablePIP);\n      player.removeEventListener('leavepictureinpicture', this.onDisablePIP);\n      player.removeEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n      if (!this.shouldUseHLS(url)) {\n        // onReady is handled by hls.js\n        player.removeEventListener('canplay', this.onReady);\n      }\n    } // Proxy methods to prevent listener leaks\n\n  }, {\n    key: \"shouldUseAudio\",\n    value: function shouldUseAudio(props) {\n      if (props.config.forceVideo) {\n        return false;\n      }\n\n      if (props.config.attributes.poster) {\n        return false; // Use <video> so that poster is shown\n      }\n\n      return _patterns.AUDIO_EXTENSIONS.test(props.url) || props.config.forceAudio;\n    }\n  }, {\n    key: \"shouldUseHLS\",\n    value: function shouldUseHLS(url) {\n      if (this.props.config.forceHLS) {\n        return true;\n      }\n\n      if (IS_IOS) {\n        return false;\n      }\n\n      return _patterns.HLS_EXTENSIONS.test(url) || MATCH_CLOUDFLARE_STREAM.test(url);\n    }\n  }, {\n    key: \"shouldUseDASH\",\n    value: function shouldUseDASH(url) {\n      return _patterns.DASH_EXTENSIONS.test(url) || this.props.config.forceDASH;\n    }\n  }, {\n    key: \"shouldUseFLV\",\n    value: function shouldUseFLV(url) {\n      return _patterns.FLV_EXTENSIONS.test(url) || this.props.config.forceFLV;\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props$config = this.props.config,\n          hlsVersion = _this$props$config.hlsVersion,\n          hlsOptions = _this$props$config.hlsOptions,\n          dashVersion = _this$props$config.dashVersion,\n          flvVersion = _this$props$config.flvVersion;\n\n      if (this.hls) {\n        this.hls.destroy();\n      }\n\n      if (this.dash) {\n        this.dash.reset();\n      }\n\n      if (this.shouldUseHLS(url)) {\n        (0, _utils.getSDK)(HLS_SDK_URL.replace('VERSION', hlsVersion), HLS_GLOBAL).then(function (Hls) {\n          _this2.hls = new Hls(hlsOptions);\n\n          _this2.hls.on(Hls.Events.MANIFEST_PARSED, function () {\n            _this2.props.onReady();\n          });\n\n          _this2.hls.on(Hls.Events.ERROR, function (e, data) {\n            _this2.props.onError(e, data, _this2.hls, Hls);\n          });\n\n          if (MATCH_CLOUDFLARE_STREAM.test(url)) {\n            var id = url.match(MATCH_CLOUDFLARE_STREAM)[1];\n\n            _this2.hls.loadSource(REPLACE_CLOUDFLARE_STREAM.replace('{id}', id));\n          } else {\n            _this2.hls.loadSource(url);\n          }\n\n          _this2.hls.attachMedia(_this2.player);\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (this.shouldUseDASH(url)) {\n        (0, _utils.getSDK)(DASH_SDK_URL.replace('VERSION', dashVersion), DASH_GLOBAL).then(function (dashjs) {\n          _this2.dash = dashjs.MediaPlayer().create();\n\n          _this2.dash.initialize(_this2.player, url, _this2.props.playing);\n\n          _this2.dash.on('error', _this2.props.onError);\n\n          if (parseInt(dashVersion) < 3) {\n            _this2.dash.getDebug().setLogToBrowserConsole(false);\n          } else {\n            _this2.dash.updateSettings({\n              debug: {\n                logLevel: dashjs.Debug.LOG_LEVEL_NONE\n              }\n            });\n          }\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (this.shouldUseFLV(url)) {\n        (0, _utils.getSDK)(FLV_SDK_URL.replace('VERSION', flvVersion), FLV_GLOBAL).then(function (flvjs) {\n          _this2.flv = flvjs.createPlayer({\n            type: 'flv',\n            url: url\n          });\n\n          _this2.flv.attachMediaElement(_this2.player);\n\n          _this2.flv.load();\n\n          _this2.props.onLoaded();\n        });\n      }\n\n      if (url instanceof Array) {\n        // When setting new urls (<source>) on an already loaded video,\n        // HTMLMediaElement.load() is needed to reset the media element\n        // and restart the media resource. Just replacing children source\n        // dom nodes is not enough\n        this.player.load();\n      } else if ((0, _utils.isMediaStream)(url)) {\n        try {\n          this.player.srcObject = url;\n        } catch (e) {\n          this.player.src = window.URL.createObjectURL(url);\n        }\n      }\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      var promise = this.player.play();\n\n      if (promise) {\n        promise[\"catch\"](this.props.onError);\n      }\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.player.pause();\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.player.removeAttribute('src');\n\n      if (this.dash) {\n        this.dash.reset();\n      }\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.player.currentTime = seconds;\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.player.volume = fraction;\n    }\n  }, {\n    key: \"enablePIP\",\n    value: function enablePIP() {\n      if (this.player.requestPictureInPicture && document.pictureInPictureElement !== this.player) {\n        this.player.requestPictureInPicture();\n      } else if ((0, _utils.supportsWebKitPresentationMode)(this.player) && this.player.webkitPresentationMode !== 'picture-in-picture') {\n        this.player.webkitSetPresentationMode('picture-in-picture');\n      }\n    }\n  }, {\n    key: \"disablePIP\",\n    value: function disablePIP() {\n      if (document.exitPictureInPicture && document.pictureInPictureElement === this.player) {\n        document.exitPictureInPicture();\n      } else if ((0, _utils.supportsWebKitPresentationMode)(this.player) && this.player.webkitPresentationMode !== 'inline') {\n        this.player.webkitSetPresentationMode('inline');\n      }\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      try {\n        this.player.playbackRate = rate;\n      } catch (error) {\n        this.props.onError(error);\n      }\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      if (!this.player) return null;\n      var _this$player = this.player,\n          duration = _this$player.duration,\n          seekable = _this$player.seekable; // on iOS, live streams return Infinity for the duration\n      // so instead we use the end of the seekable timerange\n\n      if (duration === Infinity && seekable.length > 0) {\n        return seekable.end(seekable.length - 1);\n      }\n\n      return duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      if (!this.player) return null;\n      return this.player.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      if (!this.player) return null;\n      var buffered = this.player.buffered;\n\n      if (buffered.length === 0) {\n        return 0;\n      }\n\n      var end = buffered.end(buffered.length - 1);\n      var duration = this.getDuration();\n\n      if (end > duration) {\n        return duration;\n      }\n\n      return end;\n    }\n  }, {\n    key: \"getSource\",\n    value: function getSource(url) {\n      var useHLS = this.shouldUseHLS(url);\n      var useDASH = this.shouldUseDASH(url);\n      var useFLV = this.shouldUseFLV(url);\n\n      if (url instanceof Array || (0, _utils.isMediaStream)(url) || useHLS || useDASH || useFLV) {\n        return undefined;\n      }\n\n      if (MATCH_DROPBOX_URL.test(url)) {\n        return url.replace('www.dropbox.com', 'dl.dropboxusercontent.com');\n      }\n\n      return url;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props11 = this.props,\n          url = _this$props11.url,\n          playing = _this$props11.playing,\n          loop = _this$props11.loop,\n          controls = _this$props11.controls,\n          muted = _this$props11.muted,\n          config = _this$props11.config,\n          width = _this$props11.width,\n          height = _this$props11.height;\n      var useAudio = this.shouldUseAudio(this.props);\n      var Element = useAudio ? 'audio' : 'video';\n      var style = {\n        width: width === 'auto' ? width : '100%',\n        height: height === 'auto' ? height : '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(Element, _extends({\n        ref: this.ref,\n        src: this.getSource(url),\n        style: style,\n        preload: \"auto\",\n        autoPlay: playing || undefined,\n        controls: controls,\n        muted: muted,\n        loop: loop\n      }, config.attributes), url instanceof Array && url.map(this.renderSourceElement), config.tracks.map(this.renderTrack));\n    }\n  }]);\n\n  return FilePlayer;\n}(_react.Component);\n\nexports[\"default\"] = FilePlayer;\n\n_defineProperty(FilePlayer, \"displayName\", 'FilePlayer');\n\n_defineProperty(FilePlayer, \"canPlay\", _patterns.canPlay.file);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Kaltura = /*#__PURE__*/function (_Component) {\n  _inherits(Kaltura, _Component);\n\n  var _super = _createSuper(Kaltura);\n\n  function Kaltura() {\n    var _this;\n\n    _classCallCheck(this, Kaltura);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Kaltura, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n        if (!_this2.iframe) return;\n        _this2.player = new playerjs.Player(_this2.iframe);\n\n        _this2.player.on('ready', function () {\n          // An arbitrary timeout is required otherwise\n          // the event listeners won’t work\n          setTimeout(function () {\n            _this2.player.isReady = true;\n\n            _this2.player.setLoop(_this2.props.loop);\n\n            if (_this2.props.muted) {\n              _this2.player.mute();\n            }\n\n            _this2.addListeners(_this2.player, _this2.props);\n\n            _this2.props.onReady();\n          }, 500);\n        });\n      }, this.props.onError);\n    }\n  }, {\n    key: \"addListeners\",\n    value: function addListeners(player, props) {\n      var _this3 = this;\n\n      player.on('play', props.onPlay);\n      player.on('pause', props.onPause);\n      player.on('ended', props.onEnded);\n      player.on('error', props.onError);\n      player.on('timeupdate', function (_ref) {\n        var duration = _ref.duration,\n            seconds = _ref.seconds;\n        _this3.duration = duration;\n        _this3.currentTime = seconds;\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: this.props.url,\n        frameBorder: \"0\",\n        scrolling: \"no\",\n        style: style,\n        allowFullScreen: true,\n        allow: \"encrypted-media;autoplay\",\n        referrerPolicy: \"no-referrer-when-downgrade\"\n      });\n    }\n  }]);\n\n  return Kaltura;\n}(_react.Component);\n\nexports[\"default\"] = Kaltura;\n\n_defineProperty(Kaltura, \"displayName\", 'Kaltura');\n\n_defineProperty(Kaltura, \"canPlay\", _patterns.canPlay.kaltura);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://widget.mixcloud.com/media/js/widgetApi.js';\nvar SDK_GLOBAL = 'Mixcloud';\n\nvar Mixcloud = /*#__PURE__*/function (_Component) {\n  _inherits(Mixcloud, _Component);\n\n  var _super = _createSuper(Mixcloud);\n\n  function Mixcloud() {\n    var _this;\n\n    _classCallCheck(this, Mixcloud);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {// No volume support\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {// No volume support\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Mixcloud, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Mixcloud) {\n        _this2.player = Mixcloud.PlayerWidget(_this2.iframe);\n\n        _this2.player.ready.then(function () {\n          _this2.player.events.play.on(_this2.props.onPlay);\n\n          _this2.player.events.pause.on(_this2.props.onPause);\n\n          _this2.player.events.ended.on(_this2.props.onEnded);\n\n          _this2.player.events.error.on(_this2.props.error);\n\n          _this2.player.events.progress.on(function (seconds, duration) {\n            _this2.currentTime = seconds;\n            _this2.duration = duration;\n          });\n\n          _this2.props.onReady();\n        });\n      }, this.props.onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {// No volume support\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          url = _this$props.url,\n          config = _this$props.config;\n      var id = url.match(_patterns.MATCH_URL_MIXCLOUD)[1];\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      var query = (0, _utils.queryString)(_objectSpread(_objectSpread({}, config.options), {}, {\n        feed: \"/\".concat(id, \"/\")\n      })); // We have to give the iframe a key here to prevent a\n      // weird dialog appearing when loading a new track\n\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        key: id,\n        ref: this.ref,\n        style: style,\n        src: \"https://www.mixcloud.com/widget/iframe/?\".concat(query),\n        frameBorder: \"0\"\n      });\n    }\n  }]);\n\n  return Mixcloud;\n}(_react.Component);\n\nexports[\"default\"] = Mixcloud;\n\n_defineProperty(Mixcloud, \"displayName\", 'Mixcloud');\n\n_defineProperty(Mixcloud, \"canPlay\", _patterns.canPlay.mixcloud);\n\n_defineProperty(Mixcloud, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://w.soundcloud.com/player/api.js';\nvar SDK_GLOBAL = 'SC';\n\nvar SoundCloud = /*#__PURE__*/function (_Component) {\n  _inherits(SoundCloud, _Component);\n\n  var _super = _createSuper(SoundCloud);\n\n  function SoundCloud() {\n    var _this;\n\n    _classCallCheck(this, SoundCloud);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"fractionLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(SoundCloud, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (SC) {\n        if (!_this2.iframe) return;\n        var _SC$Widget$Events = SC.Widget.Events,\n            PLAY = _SC$Widget$Events.PLAY,\n            PLAY_PROGRESS = _SC$Widget$Events.PLAY_PROGRESS,\n            PAUSE = _SC$Widget$Events.PAUSE,\n            FINISH = _SC$Widget$Events.FINISH,\n            ERROR = _SC$Widget$Events.ERROR;\n\n        if (!isReady) {\n          _this2.player = SC.Widget(_this2.iframe);\n\n          _this2.player.bind(PLAY, _this2.props.onPlay);\n\n          _this2.player.bind(PAUSE, function () {\n            var remaining = _this2.duration - _this2.currentTime;\n\n            if (remaining < 0.05) {\n              // Prevent onPause firing right before onEnded\n              return;\n            }\n\n            _this2.props.onPause();\n          });\n\n          _this2.player.bind(PLAY_PROGRESS, function (e) {\n            _this2.currentTime = e.currentPosition / 1000;\n            _this2.fractionLoaded = e.loadedProgress;\n          });\n\n          _this2.player.bind(FINISH, function () {\n            return _this2.props.onEnded();\n          });\n\n          _this2.player.bind(ERROR, function (e) {\n            return _this2.props.onError(e);\n          });\n        }\n\n        _this2.player.load(url, _objectSpread(_objectSpread({}, _this2.props.config.options), {}, {\n          callback: function callback() {\n            _this2.player.getDuration(function (duration) {\n              _this2.duration = duration / 1000;\n\n              _this2.props.onReady();\n            });\n          }\n        }));\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seekTo', seconds * 1000);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.fractionLoaded * this.duration;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: \"https://w.soundcloud.com/player/?url=\".concat(encodeURIComponent(this.props.url)),\n        style: style,\n        frameBorder: 0,\n        allow: \"autoplay\"\n      });\n    }\n  }]);\n\n  return SoundCloud;\n}(_react.Component);\n\nexports[\"default\"] = SoundCloud;\n\n_defineProperty(SoundCloud, \"displayName\", 'SoundCloud');\n\n_defineProperty(SoundCloud, \"canPlay\", _patterns.canPlay.soundcloud);\n\n_defineProperty(SoundCloud, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://cdn.embed.ly/player-0.1.0.min.js';\nvar SDK_GLOBAL = 'playerjs';\n\nvar Streamable = /*#__PURE__*/function (_Component) {\n  _inherits(Streamable, _Component);\n\n  var _super = _createSuper(Streamable);\n\n  function Streamable() {\n    var _this;\n\n    _classCallCheck(this, Streamable);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (iframe) {\n      _this.iframe = iframe;\n    });\n\n    return _this;\n  }\n\n  _createClass(Streamable, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (playerjs) {\n        if (!_this2.iframe) return;\n        _this2.player = new playerjs.Player(_this2.iframe);\n\n        _this2.player.setLoop(_this2.props.loop);\n\n        _this2.player.on('ready', _this2.props.onReady);\n\n        _this2.player.on('play', _this2.props.onPlay);\n\n        _this2.player.on('pause', _this2.props.onPause);\n\n        _this2.player.on('seeked', _this2.props.onSeek);\n\n        _this2.player.on('ended', _this2.props.onEnded);\n\n        _this2.player.on('error', _this2.props.onError);\n\n        _this2.player.on('timeupdate', function (_ref) {\n          var duration = _ref.duration,\n              seconds = _ref.seconds;\n          _this2.duration = duration;\n          _this2.currentTime = seconds;\n        });\n\n        _this2.player.on('buffered', function (_ref2) {\n          var percent = _ref2.percent;\n\n          if (_this2.duration) {\n            _this2.secondsLoaded = _this2.duration * percent;\n          }\n        });\n\n        if (_this2.props.muted) {\n          _this2.player.mute();\n        }\n      }, this.props.onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {// Nothing to do\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var id = this.props.url.match(_patterns.MATCH_URL_STREAMABLE)[1];\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n        ref: this.ref,\n        src: \"https://streamable.com/o/\".concat(id),\n        frameBorder: \"0\",\n        scrolling: \"no\",\n        style: style,\n        allowFullScreen: true\n      });\n    }\n  }]);\n\n  return Streamable;\n}(_react.Component);\n\nexports[\"default\"] = Streamable;\n\n_defineProperty(Streamable, \"displayName\", 'Streamable');\n\n_defineProperty(Streamable, \"canPlay\", _patterns.canPlay.streamable);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://player.twitch.tv/js/embed/v1.js';\nvar SDK_GLOBAL = 'Twitch';\nvar PLAYER_ID_PREFIX = 'twitch-player-';\n\nvar Twitch = /*#__PURE__*/function (_Component) {\n  _inherits(Twitch, _Component);\n\n  var _super = _createSuper(Twitch);\n\n  function Twitch() {\n    var _this;\n\n    _classCallCheck(this, Twitch);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('setMuted', true);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('setMuted', false);\n    });\n\n    return _this;\n  }\n\n  _createClass(Twitch, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          playsinline = _this$props.playsinline,\n          onError = _this$props.onError,\n          config = _this$props.config,\n          controls = _this$props.controls;\n\n      var isChannel = _patterns.MATCH_URL_TWITCH_CHANNEL.test(url);\n\n      var id = isChannel ? url.match(_patterns.MATCH_URL_TWITCH_CHANNEL)[1] : url.match(_patterns.MATCH_URL_TWITCH_VIDEO)[1];\n\n      if (isReady) {\n        if (isChannel) {\n          this.player.setChannel(id);\n        } else {\n          this.player.setVideo('v' + id);\n        }\n\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Twitch) {\n        _this2.player = new Twitch.Player(_this2.playerID, _objectSpread({\n          video: isChannel ? '' : id,\n          channel: isChannel ? id : '',\n          height: '100%',\n          width: '100%',\n          playsinline: playsinline,\n          autoplay: _this2.props.playing,\n          muted: _this2.props.muted,\n          // https://github.com/CookPete/react-player/issues/733#issuecomment-549085859\n          controls: isChannel ? true : controls,\n          time: (0, _utils.parseStartTime)(url)\n        }, config.options));\n        var _Twitch$Player = Twitch.Player,\n            READY = _Twitch$Player.READY,\n            PLAYING = _Twitch$Player.PLAYING,\n            PAUSE = _Twitch$Player.PAUSE,\n            ENDED = _Twitch$Player.ENDED,\n            ONLINE = _Twitch$Player.ONLINE,\n            OFFLINE = _Twitch$Player.OFFLINE,\n            SEEK = _Twitch$Player.SEEK;\n\n        _this2.player.addEventListener(READY, _this2.props.onReady);\n\n        _this2.player.addEventListener(PLAYING, _this2.props.onPlay);\n\n        _this2.player.addEventListener(PAUSE, _this2.props.onPause);\n\n        _this2.player.addEventListener(ENDED, _this2.props.onEnded);\n\n        _this2.player.addEventListener(SEEK, _this2.props.onSeek); // Prevent weird isLoading behaviour when streams are offline\n\n\n        _this2.player.addEventListener(ONLINE, _this2.props.onLoaded);\n\n        _this2.player.addEventListener(OFFLINE, _this2.props.onLoaded);\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('seek', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style,\n        id: this.playerID\n      });\n    }\n  }]);\n\n  return Twitch;\n}(_react.Component);\n\nexports[\"default\"] = Twitch;\n\n_defineProperty(Twitch, \"displayName\", 'Twitch');\n\n_defineProperty(Twitch, \"canPlay\", _patterns.canPlay.twitch);\n\n_defineProperty(Twitch, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://play.vidyard.com/embed/v4.js';\nvar SDK_GLOBAL = 'VidyardV4';\nvar SDK_GLOBAL_READY = 'onVidyardAPI';\n\nvar Vidyard = /*#__PURE__*/function (_Component) {\n  _inherits(Vidyard, _Component);\n\n  var _super = _createSuper(Vidyard);\n\n  function Vidyard() {\n    var _this;\n\n    _classCallCheck(this, Vidyard);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(Vidyard, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          playing = _this$props.playing,\n          config = _this$props.config,\n          onError = _this$props.onError,\n          onDuration = _this$props.onDuration;\n      var id = url && url.match(_patterns.MATCH_URL_VIDYARD)[1];\n\n      if (this.player) {\n        this.stop();\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (Vidyard) {\n        if (!_this2.container) return;\n        Vidyard.api.addReadyListener(function (data, player) {\n          _this2.player = player;\n\n          _this2.player.on('ready', _this2.props.onReady);\n\n          _this2.player.on('play', _this2.props.onPlay);\n\n          _this2.player.on('pause', _this2.props.onPause);\n\n          _this2.player.on('seek', _this2.props.onSeek);\n\n          _this2.player.on('playerComplete', _this2.props.onEnded);\n        }, id);\n        Vidyard.api.renderPlayer(_objectSpread({\n          uuid: id,\n          container: _this2.container,\n          autoplay: playing ? 1 : 0\n        }, config.options));\n        Vidyard.api.getPlayerMetadata(id).then(function (meta) {\n          _this2.duration = meta.length_in_seconds;\n          onDuration(meta.length_in_seconds);\n        });\n      }, onError);\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      window.VidyardV4.api.destroyPlayer(this.player);\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount) {\n      this.callPlayer('seek', amount);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackSpeed', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('currentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return Vidyard;\n}(_react.Component);\n\nexports[\"default\"] = Vidyard;\n\n_defineProperty(Vidyard, \"displayName\", 'Vidyard');\n\n_defineProperty(Vidyard, \"canPlay\", _patterns.canPlay.vidyard);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://player.vimeo.com/api/player.js';\nvar SDK_GLOBAL = 'Vimeo';\n\nvar Vimeo = /*#__PURE__*/function (_Component) {\n  _inherits(Vimeo, _Component);\n\n  var _super = _createSuper(Vimeo);\n\n  function Vimeo() {\n    var _this;\n\n    _classCallCheck(this, Vimeo);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"duration\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"currentTime\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"secondsLoaded\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.setVolume(0);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      if (_this.props.volume !== null) {\n        _this.setVolume(_this.props.volume);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(Vimeo, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      this.duration = null;\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Vimeo) {\n        if (!_this2.container) return;\n        var _this2$props$config = _this2.props.config,\n            playerOptions = _this2$props$config.playerOptions,\n            title = _this2$props$config.title;\n        _this2.player = new Vimeo.Player(_this2.container, _objectSpread({\n          url: url,\n          autoplay: _this2.props.playing,\n          muted: _this2.props.muted,\n          loop: _this2.props.loop,\n          playsinline: _this2.props.playsinline,\n          controls: _this2.props.controls\n        }, playerOptions));\n\n        _this2.player.ready().then(function () {\n          var iframe = _this2.container.querySelector('iframe');\n\n          iframe.style.width = '100%';\n          iframe.style.height = '100%';\n\n          if (title) {\n            iframe.title = title;\n          }\n        })[\"catch\"](_this2.props.onError);\n\n        _this2.player.on('loaded', function () {\n          _this2.props.onReady();\n\n          _this2.refreshDuration();\n        });\n\n        _this2.player.on('play', function () {\n          _this2.props.onPlay();\n\n          _this2.refreshDuration();\n        });\n\n        _this2.player.on('pause', _this2.props.onPause);\n\n        _this2.player.on('seeked', function (e) {\n          return _this2.props.onSeek(e.seconds);\n        });\n\n        _this2.player.on('ended', _this2.props.onEnded);\n\n        _this2.player.on('error', _this2.props.onError);\n\n        _this2.player.on('timeupdate', function (_ref) {\n          var seconds = _ref.seconds;\n          _this2.currentTime = seconds;\n        });\n\n        _this2.player.on('progress', function (_ref2) {\n          var seconds = _ref2.seconds;\n          _this2.secondsLoaded = seconds;\n        });\n\n        _this2.player.on('bufferstart', _this2.props.onBuffer);\n\n        _this2.player.on('bufferend', _this2.props.onBufferEnd);\n      }, this.props.onError);\n    }\n  }, {\n    key: \"refreshDuration\",\n    value: function refreshDuration() {\n      var _this3 = this;\n\n      this.player.getDuration().then(function (duration) {\n        _this3.duration = duration;\n      });\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      var promise = this.callPlayer('play');\n\n      if (promise) {\n        promise[\"catch\"](this.props.onError);\n      }\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.callPlayer('unload');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('setCurrentTime', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackRate', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.duration;\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.currentTime;\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.secondsLoaded;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        overflow: 'hidden',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        key: this.props.url,\n        ref: this.ref,\n        style: style\n      });\n    }\n  }]);\n\n  return Vimeo;\n}(_react.Component);\n\nexports[\"default\"] = Vimeo;\n\n_defineProperty(Vimeo, \"displayName\", 'Vimeo');\n\n_defineProperty(Vimeo, \"canPlay\", _patterns.canPlay.vimeo);\n\n_defineProperty(Vimeo, \"forceLoad\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://fast.wistia.com/assets/external/E-v1.js';\nvar SDK_GLOBAL = 'Wistia';\nvar PLAYER_ID_PREFIX = 'wistia-player-';\n\nvar Wistia = /*#__PURE__*/function (_Component) {\n  _inherits(Wistia, _Component);\n\n  var _super = _createSuper(Wistia);\n\n  function Wistia() {\n    var _this;\n\n    _classCallCheck(this, Wistia);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(_args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n      var _this$props;\n\n      return (_this$props = _this.props).onPlay.apply(_this$props, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n      var _this$props2;\n\n      return (_this$props2 = _this.props).onPause.apply(_this$props2, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onSeek\", function () {\n      var _this$props3;\n\n      return (_this$props3 = _this.props).onSeek.apply(_this$props3, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n      var _this$props4;\n\n      return (_this$props4 = _this.props).onEnded.apply(_this$props4, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onPlaybackRateChange\", function () {\n      var _this$props5;\n\n      return (_this$props5 = _this.props).onPlaybackRateChange.apply(_this$props5, arguments);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unmute');\n    });\n\n    return _this;\n  }\n\n  _createClass(Wistia, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"load\",\n    value: function load(url) {\n      var _this2 = this;\n\n      var _this$props6 = this.props,\n          playing = _this$props6.playing,\n          muted = _this$props6.muted,\n          controls = _this$props6.controls,\n          _onReady = _this$props6.onReady,\n          config = _this$props6.config,\n          onError = _this$props6.onError;\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL).then(function (Wistia) {\n        if (config.customControls) {\n          config.customControls.forEach(function (control) {\n            return Wistia.defineControl(control);\n          });\n        }\n\n        window._wq = window._wq || [];\n\n        window._wq.push({\n          id: _this2.playerID,\n          options: _objectSpread({\n            autoPlay: playing,\n            silentAutoPlay: 'allow',\n            muted: muted,\n            controlsVisibleOnLoad: controls,\n            fullscreenButton: controls,\n            playbar: controls,\n            playbackRateControl: controls,\n            qualityControl: controls,\n            volumeControl: controls,\n            settingsControl: controls,\n            smallPlayButton: controls\n          }, config.options),\n          onReady: function onReady(player) {\n            _this2.player = player;\n\n            _this2.unbind();\n\n            _this2.player.bind('play', _this2.onPlay);\n\n            _this2.player.bind('pause', _this2.onPause);\n\n            _this2.player.bind('seek', _this2.onSeek);\n\n            _this2.player.bind('end', _this2.onEnded);\n\n            _this2.player.bind('playbackratechange', _this2.onPlaybackRateChange);\n\n            _onReady();\n          }\n        });\n      }, onError);\n    }\n  }, {\n    key: \"unbind\",\n    value: function unbind() {\n      this.player.unbind('play', this.onPlay);\n      this.player.unbind('pause', this.onPause);\n      this.player.unbind('seek', this.onSeek);\n      this.player.unbind('end', this.onEnded);\n      this.player.unbind('playbackratechange', this.onPlaybackRateChange);\n    } // Proxy methods to prevent listener leaks\n\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('play');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pause');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      this.unbind();\n      this.callPlayer('remove');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(seconds) {\n      this.callPlayer('time', seconds);\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('volume', fraction);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('playbackRate', rate);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('duration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('time');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return null;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var url = this.props.url;\n      var videoID = url && url.match(_patterns.MATCH_URL_WISTIA)[1];\n      var className = \"wistia_embed wistia_async_\".concat(videoID);\n      var style = {\n        width: '100%',\n        height: '100%'\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        id: this.playerID,\n        key: videoID,\n        className: className,\n        style: style\n      });\n    }\n  }]);\n\n  return Wistia;\n}(_react.Component);\n\nexports[\"default\"] = Wistia;\n\n_defineProperty(Wistia, \"displayName\", 'Wistia');\n\n_defineProperty(Wistia, \"canPlay\", _patterns.canPlay.wistia);\n\n_defineProperty(Wistia, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://www.youtube.com/iframe_api';\nvar SDK_GLOBAL = 'YT';\nvar SDK_GLOBAL_READY = 'onYouTubeIframeAPIReady';\nvar MATCH_PLAYLIST = /[?&](?:list|channel)=([a-zA-Z0-9_-]+)/;\nvar MATCH_USER_UPLOADS = /user\\/([a-zA-Z0-9_-]+)\\/?/;\nvar MATCH_NOCOOKIE = /youtube-nocookie\\.com/;\nvar NOCOOKIE_HOST = 'https://www.youtube-nocookie.com';\n\nvar YouTube = /*#__PURE__*/function (_Component) {\n  _inherits(YouTube, _Component);\n\n  var _super = _createSuper(YouTube);\n\n  function YouTube() {\n    var _this;\n\n    _classCallCheck(this, YouTube);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n    _defineProperty(_assertThisInitialized(_this), \"parsePlaylist\", function (url) {\n      if (url instanceof Array) {\n        return {\n          listType: 'playlist',\n          playlist: url.map(_this.getID).join(',')\n        };\n      }\n\n      if (MATCH_PLAYLIST.test(url)) {\n        var _url$match = url.match(MATCH_PLAYLIST),\n            _url$match2 = _slicedToArray(_url$match, 2),\n            playlistId = _url$match2[1];\n\n        return {\n          listType: 'playlist',\n          list: playlistId.replace(/^UC/, 'UU')\n        };\n      }\n\n      if (MATCH_USER_UPLOADS.test(url)) {\n        var _url$match3 = url.match(MATCH_USER_UPLOADS),\n            _url$match4 = _slicedToArray(_url$match3, 2),\n            username = _url$match4[1];\n\n        return {\n          listType: 'user_uploads',\n          list: username\n        };\n      }\n\n      return {};\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onStateChange\", function (event) {\n      var data = event.data;\n      var _this$props = _this.props,\n          onPlay = _this$props.onPlay,\n          onPause = _this$props.onPause,\n          onBuffer = _this$props.onBuffer,\n          onBufferEnd = _this$props.onBufferEnd,\n          onEnded = _this$props.onEnded,\n          onReady = _this$props.onReady,\n          loop = _this$props.loop,\n          _this$props$config = _this$props.config,\n          playerVars = _this$props$config.playerVars,\n          onUnstarted = _this$props$config.onUnstarted;\n      var _window$SDK_GLOBAL$Pl = window[SDK_GLOBAL].PlayerState,\n          UNSTARTED = _window$SDK_GLOBAL$Pl.UNSTARTED,\n          PLAYING = _window$SDK_GLOBAL$Pl.PLAYING,\n          PAUSED = _window$SDK_GLOBAL$Pl.PAUSED,\n          BUFFERING = _window$SDK_GLOBAL$Pl.BUFFERING,\n          ENDED = _window$SDK_GLOBAL$Pl.ENDED,\n          CUED = _window$SDK_GLOBAL$Pl.CUED;\n      if (data === UNSTARTED) onUnstarted();\n\n      if (data === PLAYING) {\n        onPlay();\n        onBufferEnd();\n      }\n\n      if (data === PAUSED) onPause();\n      if (data === BUFFERING) onBuffer();\n\n      if (data === ENDED) {\n        var isPlaylist = !!_this.callPlayer('getPlaylist'); // Only loop manually if not playing a playlist\n\n        if (loop && !isPlaylist) {\n          if (playerVars.start) {\n            _this.seekTo(playerVars.start);\n          } else {\n            _this.play();\n          }\n        }\n\n        onEnded();\n      }\n\n      if (data === CUED) onReady();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n      _this.callPlayer('mute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n      _this.callPlayer('unMute');\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n      _this.container = container;\n    });\n\n    return _this;\n  }\n\n  _createClass(YouTube, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.onMount && this.props.onMount(this);\n    }\n  }, {\n    key: \"getID\",\n    value: function getID(url) {\n      if (!url || url instanceof Array || MATCH_PLAYLIST.test(url)) {\n        return null;\n      }\n\n      return url.match(_patterns.MATCH_URL_YOUTUBE)[1];\n    }\n  }, {\n    key: \"load\",\n    value: function load(url, isReady) {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          playing = _this$props2.playing,\n          muted = _this$props2.muted,\n          playsinline = _this$props2.playsinline,\n          controls = _this$props2.controls,\n          loop = _this$props2.loop,\n          config = _this$props2.config,\n          _onError = _this$props2.onError;\n      var playerVars = config.playerVars,\n          embedOptions = config.embedOptions;\n      var id = this.getID(url);\n\n      if (isReady) {\n        if (MATCH_PLAYLIST.test(url) || MATCH_USER_UPLOADS.test(url) || url instanceof Array) {\n          this.player.loadPlaylist(this.parsePlaylist(url));\n          return;\n        }\n\n        this.player.cueVideoById({\n          videoId: id,\n          startSeconds: (0, _utils.parseStartTime)(url) || playerVars.start,\n          endSeconds: (0, _utils.parseEndTime)(url) || playerVars.end\n        });\n        return;\n      }\n\n      (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (YT) {\n        return YT.loaded;\n      }).then(function (YT) {\n        if (!_this2.container) return;\n        _this2.player = new YT.Player(_this2.container, _objectSpread({\n          width: '100%',\n          height: '100%',\n          videoId: id,\n          playerVars: _objectSpread(_objectSpread({\n            autoplay: playing ? 1 : 0,\n            mute: muted ? 1 : 0,\n            controls: controls ? 1 : 0,\n            start: (0, _utils.parseStartTime)(url),\n            end: (0, _utils.parseEndTime)(url),\n            origin: window.location.origin,\n            playsinline: playsinline ? 1 : 0\n          }, _this2.parsePlaylist(url)), playerVars),\n          events: {\n            onReady: function onReady() {\n              if (loop) {\n                _this2.player.setLoop(true); // Enable playlist looping\n\n              }\n\n              _this2.props.onReady();\n            },\n            onPlaybackRateChange: function onPlaybackRateChange(event) {\n              return _this2.props.onPlaybackRateChange(event.data);\n            },\n            onStateChange: _this2.onStateChange,\n            onError: function onError(event) {\n              return _onError(event.data);\n            }\n          },\n          host: MATCH_NOCOOKIE.test(url) ? NOCOOKIE_HOST : undefined\n        }, embedOptions));\n      }, _onError);\n\n      if (embedOptions.events) {\n        console.warn('Using `embedOptions.events` will likely break things. Use ReactPlayer’s callback props instead, eg onReady, onPlay, onPause');\n      }\n    }\n  }, {\n    key: \"play\",\n    value: function play() {\n      this.callPlayer('playVideo');\n    }\n  }, {\n    key: \"pause\",\n    value: function pause() {\n      this.callPlayer('pauseVideo');\n    }\n  }, {\n    key: \"stop\",\n    value: function stop() {\n      if (!document.body.contains(this.callPlayer('getIframe'))) return;\n      this.callPlayer('stopVideo');\n    }\n  }, {\n    key: \"seekTo\",\n    value: function seekTo(amount) {\n      this.callPlayer('seekTo', amount);\n\n      if (!this.props.playing) {\n        this.pause();\n      }\n    }\n  }, {\n    key: \"setVolume\",\n    value: function setVolume(fraction) {\n      this.callPlayer('setVolume', fraction * 100);\n    }\n  }, {\n    key: \"setPlaybackRate\",\n    value: function setPlaybackRate(rate) {\n      this.callPlayer('setPlaybackRate', rate);\n    }\n  }, {\n    key: \"setLoop\",\n    value: function setLoop(loop) {\n      this.callPlayer('setLoop', loop);\n    }\n  }, {\n    key: \"getDuration\",\n    value: function getDuration() {\n      return this.callPlayer('getDuration');\n    }\n  }, {\n    key: \"getCurrentTime\",\n    value: function getCurrentTime() {\n      return this.callPlayer('getCurrentTime');\n    }\n  }, {\n    key: \"getSecondsLoaded\",\n    value: function getSecondsLoaded() {\n      return this.callPlayer('getVideoLoadedFraction') * this.getDuration();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var display = this.props.display;\n      var style = {\n        width: '100%',\n        height: '100%',\n        display: display\n      };\n      return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        style: style\n      }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n        ref: this.ref\n      }));\n    }\n  }]);\n\n  return YouTube;\n}(_react.Component);\n\nexports[\"default\"] = YouTube;\n\n_defineProperty(YouTube, \"displayName\", 'YouTube');\n\n_defineProperty(YouTube, \"canPlay\", _patterns.canPlay.youtube);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = [{\n  key: 'youtube',\n  name: 'YouTube',\n  canPlay: _patterns.canPlay.youtube,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./YouTube'));\n    });\n  })\n}, {\n  key: 'soundcloud',\n  name: 'SoundCloud',\n  canPlay: _patterns.canPlay.soundcloud,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./SoundCloud'));\n    });\n  })\n}, {\n  key: 'vimeo',\n  name: 'Vimeo',\n  canPlay: _patterns.canPlay.vimeo,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Vimeo'));\n    });\n  })\n}, {\n  key: 'facebook',\n  name: 'Facebook',\n  canPlay: _patterns.canPlay.facebook,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Facebook'));\n    });\n  })\n}, {\n  key: 'streamable',\n  name: 'Streamable',\n  canPlay: _patterns.canPlay.streamable,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Streamable'));\n    });\n  })\n}, {\n  key: 'wistia',\n  name: 'Wistia',\n  canPlay: _patterns.canPlay.wistia,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Wistia'));\n    });\n  })\n}, {\n  key: 'twitch',\n  name: 'Twitch',\n  canPlay: _patterns.canPlay.twitch,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Twitch'));\n    });\n  })\n}, {\n  key: 'dailymotion',\n  name: 'DailyMotion',\n  canPlay: _patterns.canPlay.dailymotion,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./DailyMotion'));\n    });\n  })\n}, {\n  key: 'mixcloud',\n  name: 'Mixcloud',\n  canPlay: _patterns.canPlay.mixcloud,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Mixcloud'));\n    });\n  })\n}, {\n  key: 'vidyard',\n  name: 'Vidyard',\n  canPlay: _patterns.canPlay.vidyard,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Vidyard'));\n    });\n  })\n}, {\n  key: 'kaltura',\n  name: 'Kaltura',\n  canPlay: _patterns.canPlay.kaltura,\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./Kaltura'));\n    });\n  })\n}, {\n  key: 'file',\n  name: 'FilePlayer',\n  canPlay: _patterns.canPlay.file,\n  canEnablePIP: function canEnablePIP(url) {\n    return _patterns.canPlay.file(url) && (document.pictureInPictureEnabled || (0, _utils.supportsWebKitPresentationMode)()) && !_patterns.AUDIO_EXTENSIONS.test(url);\n  },\n  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n    return Promise.resolve().then(function () {\n      return _interopRequireWildcard(require('./FilePlayer'));\n    });\n  })\n}];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.defaultProps = exports.propTypes = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar string = _propTypes[\"default\"].string,\n    bool = _propTypes[\"default\"].bool,\n    number = _propTypes[\"default\"].number,\n    array = _propTypes[\"default\"].array,\n    oneOfType = _propTypes[\"default\"].oneOfType,\n    shape = _propTypes[\"default\"].shape,\n    object = _propTypes[\"default\"].object,\n    func = _propTypes[\"default\"].func,\n    node = _propTypes[\"default\"].node;\nvar propTypes = {\n  url: oneOfType([string, array, object]),\n  playing: bool,\n  loop: bool,\n  controls: bool,\n  volume: number,\n  muted: bool,\n  playbackRate: number,\n  width: oneOfType([string, number]),\n  height: oneOfType([string, number]),\n  style: object,\n  progressInterval: number,\n  playsinline: bool,\n  pip: bool,\n  stopOnUnmount: bool,\n  light: oneOfType([bool, string]),\n  playIcon: node,\n  previewTabIndex: number,\n  fallback: node,\n  oEmbedUrl: string,\n  wrapper: oneOfType([string, func, shape({\n    render: func.isRequired\n  })]),\n  config: shape({\n    soundcloud: shape({\n      options: object\n    }),\n    youtube: shape({\n      playerVars: object,\n      embedOptions: object,\n      onUnstarted: func\n    }),\n    facebook: shape({\n      appId: string,\n      version: string,\n      playerId: string,\n      attributes: object\n    }),\n    dailymotion: shape({\n      params: object\n    }),\n    vimeo: shape({\n      playerOptions: object,\n      title: string\n    }),\n    file: shape({\n      attributes: object,\n      tracks: array,\n      forceVideo: bool,\n      forceAudio: bool,\n      forceHLS: bool,\n      forceDASH: bool,\n      forceFLV: bool,\n      hlsOptions: object,\n      hlsVersion: string,\n      dashVersion: string,\n      flvVersion: string\n    }),\n    wistia: shape({\n      options: object,\n      playerId: string,\n      customControls: array\n    }),\n    mixcloud: shape({\n      options: object\n    }),\n    twitch: shape({\n      options: object,\n      playerId: string\n    }),\n    vidyard: shape({\n      options: object\n    })\n  }),\n  onReady: func,\n  onStart: func,\n  onPlay: func,\n  onPause: func,\n  onBuffer: func,\n  onBufferEnd: func,\n  onEnded: func,\n  onError: func,\n  onDuration: func,\n  onSeek: func,\n  onPlaybackRateChange: func,\n  onProgress: func,\n  onClickPreview: func,\n  onEnablePIP: func,\n  onDisablePIP: func\n};\nexports.propTypes = propTypes;\n\nvar noop = function noop() {};\n\nvar defaultProps = {\n  playing: false,\n  loop: false,\n  controls: false,\n  volume: null,\n  muted: false,\n  playbackRate: 1,\n  width: '640px',\n  height: '360px',\n  style: {},\n  progressInterval: 1000,\n  playsinline: false,\n  pip: false,\n  stopOnUnmount: true,\n  light: false,\n  fallback: null,\n  wrapper: 'div',\n  previewTabIndex: 0,\n  oEmbedUrl: 'https://noembed.com/embed?url={url}',\n  config: {\n    soundcloud: {\n      options: {\n        visual: true,\n        // Undocumented, but makes player fill container and look better\n        buying: false,\n        liking: false,\n        download: false,\n        sharing: false,\n        show_comments: false,\n        show_playcount: false\n      }\n    },\n    youtube: {\n      playerVars: {\n        playsinline: 1,\n        showinfo: 0,\n        rel: 0,\n        iv_load_policy: 3,\n        modestbranding: 1\n      },\n      embedOptions: {},\n      onUnstarted: noop\n    },\n    facebook: {\n      appId: '1309697205772819',\n      version: 'v3.3',\n      playerId: null,\n      attributes: {}\n    },\n    dailymotion: {\n      params: {\n        api: 1,\n        'endscreen-enable': false\n      }\n    },\n    vimeo: {\n      playerOptions: {\n        autopause: false,\n        byline: false,\n        portrait: false,\n        title: false\n      },\n      title: null\n    },\n    file: {\n      attributes: {},\n      tracks: [],\n      forceVideo: false,\n      forceAudio: false,\n      forceHLS: false,\n      forceDASH: false,\n      forceFLV: false,\n      hlsOptions: {},\n      hlsVersion: '1.1.4',\n      dashVersion: '3.1.3',\n      flvVersion: '1.5.0'\n    },\n    wistia: {\n      options: {},\n      playerId: null,\n      customControls: null\n    },\n    mixcloud: {\n      options: {\n        hide_cover: 1\n      }\n    },\n    twitch: {\n      options: {},\n      playerId: null\n    },\n    vidyard: {\n      options: {}\n    }\n  },\n  onReady: noop,\n  onStart: noop,\n  onPlay: noop,\n  onPause: noop,\n  onBuffer: noop,\n  onBufferEnd: noop,\n  onEnded: noop,\n  onError: noop,\n  onDuration: noop,\n  onSeek: noop,\n  onPlaybackRateChange: noop,\n  onProgress: noop,\n  onClickPreview: noop,\n  onEnablePIP: noop,\n  onDisablePIP: noop\n};\nexports.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.parseStartTime = parseStartTime;\nexports.parseEndTime = parseEndTime;\nexports.randomString = randomString;\nexports.queryString = queryString;\nexports.getSDK = getSDK;\nexports.getConfig = getConfig;\nexports.omit = omit;\nexports.callPlayer = callPlayer;\nexports.isMediaStream = isMediaStream;\nexports.isBlobUrl = isBlobUrl;\nexports.supportsWebKitPresentationMode = supportsWebKitPresentationMode;\n\nvar _loadScript = _interopRequireDefault(require(\"load-script\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nvar MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nvar MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nvar MATCH_NUMERIC = /^\\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s\n// and return the start time in seconds\n\nfunction parseTimeParam(url, pattern) {\n  if (url instanceof Array) {\n    return undefined;\n  }\n\n  var match = url.match(pattern);\n\n  if (match) {\n    var stamp = match[1];\n\n    if (stamp.match(MATCH_START_STAMP)) {\n      return parseTimeString(stamp);\n    }\n\n    if (MATCH_NUMERIC.test(stamp)) {\n      return parseInt(stamp);\n    }\n  }\n\n  return undefined;\n}\n\nfunction parseTimeString(stamp) {\n  var seconds = 0;\n  var array = MATCH_START_STAMP.exec(stamp);\n\n  while (array !== null) {\n    var _array = array,\n        _array2 = _slicedToArray(_array, 3),\n        count = _array2[1],\n        period = _array2[2];\n\n    if (period === 'h') seconds += parseInt(count, 10) * 60 * 60;\n    if (period === 'm') seconds += parseInt(count, 10) * 60;\n    if (period === 's') seconds += parseInt(count, 10);\n    array = MATCH_START_STAMP.exec(stamp);\n  }\n\n  return seconds;\n}\n\nfunction parseStartTime(url) {\n  return parseTimeParam(url, MATCH_START_QUERY);\n}\n\nfunction parseEndTime(url) {\n  return parseTimeParam(url, MATCH_END_QUERY);\n} // http://stackoverflow.com/a/38622545\n\n\nfunction randomString() {\n  return Math.random().toString(36).substr(2, 5);\n}\n\nfunction queryString(object) {\n  return Object.keys(object).map(function (key) {\n    return \"\".concat(key, \"=\").concat(object[key]);\n  }).join('&');\n}\n\nfunction getGlobal(key) {\n  if (window[key]) {\n    return window[key];\n  }\n\n  if (window.exports && window.exports[key]) {\n    return window.exports[key];\n  }\n\n  if (window.module && window.module.exports && window.module.exports[key]) {\n    return window.module.exports[key];\n  }\n\n  return null;\n} // Util function to load an external SDK\n// or return the SDK if it is already loaded\n\n\nvar requests = {};\n\nfunction getSDK(url, sdkGlobal) {\n  var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n    return true;\n  };\n  var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript[\"default\"];\n  var existingGlobal = getGlobal(sdkGlobal);\n\n  if (existingGlobal && isLoaded(existingGlobal)) {\n    return Promise.resolve(existingGlobal);\n  }\n\n  return new Promise(function (resolve, reject) {\n    // If we are already loading the SDK, add the resolve and reject\n    // functions to the existing array of requests\n    if (requests[url]) {\n      requests[url].push({\n        resolve: resolve,\n        reject: reject\n      });\n      return;\n    }\n\n    requests[url] = [{\n      resolve: resolve,\n      reject: reject\n    }];\n\n    var onLoaded = function onLoaded(sdk) {\n      // When loaded, resolve all pending request promises\n      requests[url].forEach(function (request) {\n        return request.resolve(sdk);\n      });\n    };\n\n    if (sdkReady) {\n      var previousOnReady = window[sdkReady];\n\n      window[sdkReady] = function () {\n        if (previousOnReady) previousOnReady();\n        onLoaded(getGlobal(sdkGlobal));\n      };\n    }\n\n    fetchScript(url, function (err) {\n      if (err) {\n        // Loading the SDK failed – reject all requests and\n        // reset the array of requests for this SDK\n        requests[url].forEach(function (request) {\n          return request.reject(err);\n        });\n        requests[url] = null;\n      } else if (!sdkReady) {\n        onLoaded(getGlobal(sdkGlobal));\n      }\n    });\n  });\n}\n\nfunction getConfig(props, defaultProps) {\n  return (0, _deepmerge[\"default\"])(defaultProps.config, props.config);\n}\n\nfunction omit(object) {\n  var _ref;\n\n  for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    arrays[_key - 1] = arguments[_key];\n  }\n\n  var omitKeys = (_ref = []).concat.apply(_ref, arrays);\n\n  var output = {};\n  var keys = Object.keys(object);\n\n  for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {\n    var key = _keys[_i2];\n\n    if (omitKeys.indexOf(key) === -1) {\n      output[key] = object[key];\n    }\n  }\n\n  return output;\n}\n\nfunction callPlayer(method) {\n  var _this$player;\n\n  // Util method for calling a method on this.player\n  // but guard against errors and console.warn instead\n  if (!this.player || !this.player[method]) {\n    var message = \"ReactPlayer: \".concat(this.constructor.displayName, \" player could not call %c\").concat(method, \"%c \\u2013 \");\n\n    if (!this.player) {\n      message += 'The player was not available';\n    } else if (!this.player[method]) {\n      message += 'The method was not available';\n    }\n\n    console.warn(message, 'font-weight: bold', '');\n    return null;\n  }\n\n  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    args[_key2 - 1] = arguments[_key2];\n  }\n\n  return (_this$player = this.player)[method].apply(_this$player, args);\n}\n\nfunction isMediaStream(url) {\n  return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream;\n}\n\nfunction isBlobUrl(url) {\n  return /^blob:/.test(url);\n}\n\nfunction supportsWebKitPresentationMode() {\n  var video = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('video');\n  // Check if Safari supports PiP, and is not on mobile (other than iPad)\n  // iPhone safari appears to \"support\" PiP through the check, however PiP does not function\n  var notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;\n  return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && notMobile;\n}","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n"],"names":["stdOnEnd","script","cb","onload","this","onerror","Error","src","ieOnEnd","onreadystatechange","readyState","module","exports","opts","head","document","getElementsByTagName","createElement","type","charset","async","attrs","attr","setAttribute","setAttributes","text","appendChild","safeIsNaN","Number","isNaN","value","areInputsEqual","newInputs","lastInputs","length","i","first","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","arguments","apply","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","constructor","keys","it","Array","isArray","size","entries","next","done","has","get","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","error","message","match","_extends","assign","target","key","_setPrototypeOf","o","p","setPrototypeOf","__proto__","observerMap","RootIds","WeakMap","rootId","unsupportedValue","undefined","optionsToId","options","sort","filter","map","root","set","observe","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","threshold","time","boundingClientRect","intersectionRect","rootBounds","_createObserver","id","instance","thresholds","elements","observer","forEach","entry","_elements$get","inView","some","trackVisibility","isVisible","createObserver","callbacks","push","splice","indexOf","unobserve","disconnect","_excluded","isPlainChildren","children","useInView","_temp","_ref","delay","rootMargin","triggerOnce","skip","initialInView","onChange","_React$useState","state","setState","current","setRef","result","ref","_typeof","obj","Symbol","iterator","defineProperty","_react","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_reactFastCompare","_props","_utils","_classCallCheck","Constructor","TypeError","_defineProperties","descriptor","enumerable","configurable","writable","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","e","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_defineProperty","Player","_Component","subClass","superClass","create","_inherits","protoProps","staticProps","_super","_this","_len","_args","_key","concat","player","load","url","progress","isReady","playedSeconds","getCurrentTime","loadedSeconds","getSecondsLoaded","duration","getDuration","played","loaded","prevPlayed","prevLoaded","onProgress","progressTimeout","setTimeout","progressFrequency","progressInterval","mounted","isLoading","_this$props","onReady","playing","volume","muted","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","_this$props2","onStart","onPlay","playbackRate","startOnPlay","setPlaybackRate","seekOnPlay","seekTo","onPause","_this$props3","activePlayer","loop","onEnded","loopOnEnded","_this$props4","onError","clearTimeout","durationCheckTimeout","onDurationCalled","onDuration","stopOnUnmount","stop","disablePIP","prevProps","_this2","_this$props5","pip","disableDeferredLoading","forceLoad","isMediaStream","pause","enablePIP","mute","unmute","setLoop","amount","_this3","onMount","handlePlayerMount","handleReady","handlePlay","handlePause","handleEnded","onLoaded","handleLoaded","handleError","Component","propTypes","defaultProps","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","ICON_SIZE","Preview","args","image","onClick","fetchImage","light","oEmbedUrl","fetch","replace","then","response","json","data","thumbnail_url","playIcon","previewTabIndex","flexCenter","display","alignItems","justifyContent","styles","preview","width","height","backgroundImage","backgroundSize","backgroundPosition","cursor","shadow","background","borderRadius","borderStyle","borderWidth","borderColor","marginLeft","defaultPlayIcon","style","className","tabIndex","onKeyPress","handleKeyPress","createReactPlayer","_deepmerge","_interopRequireDefault","_memoizeOne","_Player3","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","n","slice","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","lazy","Promise","resolve","IS_BROWSER","IS_GLOBAL","g","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","fallback","_class","ReactPlayer","showPreview","wrapper","_wrapper","_player","onClickPreview","getInternalPlayer","fraction","_arr","canPlay","config","all","omit","getActivePlayer","getConfig","references","lazyPlayer","nextProps","nextState","handleClickPreview","Wrapper","attributes","getAttributes","renderPreview","renderActivePlayer","_i2","_arr2","_i3","_arr3","_Player2","canEnablePIP","_players","_ReactPlayer","_default","FLV_EXTENSIONS","DASH_EXTENSIONS","HLS_EXTENSIONS","VIDEO_EXTENSIONS","AUDIO_EXTENSIONS","MATCH_URL_KALTURA","MATCH_URL_VIDYARD","MATCH_URL_MIXCLOUD","MATCH_URL_DAILYMOTION","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_WISTIA","MATCH_URL_STREAMABLE","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_FACEBOOK","MATCH_URL_VIMEO","MATCH_URL_SOUNDCLOUD","MATCH_URL_YOUTUBE","_createForOfIteratorHelper","allowArrayLike","F","s","_e","f","normalCompletion","didErr","step","_e2","youtube","every","item","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","_step","_iterator","isBlobUrl","_patterns","_slicedToArray","_arrayWithHoles","_n","_d","_s","_iterableToArrayLimit","_nonIterableRest","DailyMotion","callPlayer","container","controls","start","parseStartTime","autoplay","getSDK","DM","video","params","origin","events","apiready","seeked","onSeek","currentTime","video_end","durationchange","onDurationChange","waiting","onBuffer","event","seconds","bufferedTime","SDK_URL","SDK_GLOBAL_READY","PLAYER_ID_PREFIX","Facebook","playerId","randomString","FB","XFBML","parse","init","appId","xfbml","version","Event","subscribe","msg","playerID","onBufferEnd","getElementById","querySelector","visibility","HAS_NAVIGATOR","navigator","IS_IPAD_PRO","platform","maxTouchPoints","IS_IOS","userAgent","MSStream","MATCH_DROPBOX_URL","MATCH_CLOUDFLARE_STREAM","FilePlayer","_this$props6","_this$props7","onPlaybackRateChange","_this$props8","onEnablePIP","_this$props9","onDisablePIP","supportsWebKitPresentationMode","webkitPresentationMode","index","track","prevPlayer","addListeners","shouldUseAudio","removeListeners","srcObject","hls","destroy","_this$props10","playsinline","addEventListener","onPlayBackRateChange","onPresentationModeChange","shouldUseHLS","removeEventListener","forceVideo","poster","forceAudio","forceHLS","forceDASH","forceFLV","_this$props$config","hlsVersion","hlsOptions","dashVersion","flvVersion","dash","reset","Hls","on","Events","MANIFEST_PARSED","ERROR","loadSource","attachMedia","shouldUseDASH","dashjs","MediaPlayer","initialize","parseInt","getDebug","setLogToBrowserConsole","updateSettings","debug","logLevel","Debug","LOG_LEVEL_NONE","shouldUseFLV","flvjs","flv","createPlayer","attachMediaElement","URL","createObjectURL","promise","removeAttribute","requestPictureInPicture","pictureInPictureElement","webkitSetPresentationMode","exitPictureInPicture","rate","_this$player","seekable","Infinity","end","buffered","useHLS","useDASH","useFLV","_this$props11","getSource","preload","autoPlay","renderSourceElement","tracks","renderTrack","Kaltura","iframe","playerjs","secondsLoaded","frameBorder","scrolling","allowFullScreen","allow","referrerPolicy","Mixcloud","PlayerWidget","ready","ended","query","queryString","feed","SoundCloud","SC","_SC$Widget$Events","Widget","PLAY","PLAY_PROGRESS","PAUSE","FINISH","bind","currentPosition","fractionLoaded","loadedProgress","encodeURIComponent","Streamable","_ref2","percent","Twitch","isChannel","setChannel","setVideo","channel","_Twitch$Player","READY","PLAYING","ENDED","ONLINE","OFFLINE","SEEK","Vidyard","api","addReadyListener","renderPlayer","uuid","getPlayerMetadata","meta","length_in_seconds","VidyardV4","destroyPlayer","Vimeo","_this2$props$config","playerOptions","title","refreshDuration","overflow","Wistia","_onReady","customControls","control","defineControl","_wq","silentAutoPlay","controlsVisibleOnLoad","fullscreenButton","playbar","playbackRateControl","qualityControl","volumeControl","settingsControl","smallPlayButton","unbind","videoID","SDK_GLOBAL","MATCH_PLAYLIST","MATCH_USER_UPLOADS","MATCH_NOCOOKIE","YouTube","listType","playlist","getID","join","list","playerVars","onUnstarted","_window$SDK_GLOBAL$Pl","PlayerState","UNSTARTED","PAUSED","BUFFERING","CUED","isPlaylist","_onError","embedOptions","loadPlaylist","parsePlaylist","cueVideoById","videoId","startSeconds","endSeconds","parseEndTime","YT","onStateChange","host","body","contains","pictureInPictureEnabled","_propTypes","render","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","autopause","byline","portrait","hide_cover","parseTimeParam","MATCH_START_QUERY","MATCH_END_QUERY","Math","random","substr","sdkGlobal","sdkReady","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","reject","requests","sdk","request","previousOnReady","arrays","omitKeys","output","_keys","method","displayName","_len2","_key2","MediaStream","notMobile","webkitSupportsPresentationMode","MATCH_START_STAMP","MATCH_NUMERIC","pattern","stamp","exec","_array2","count","period","parseTimeString","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","clone","deepmerge","val","defaultArrayMerge","getKeys","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","property","_","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","reduce","prev","deepmerge_1"],"sourceRoot":""}