packages feed

hylide (empty) → 0.1.4.0

raw patch · 9 files changed

+553/−0 lines, 9 filesdep +aesondep +basedep +bytestringsetup-changed

Dependencies added: aeson, base, bytestring, filepath, fsnotify, hint, http-types, hylide, hylogen, process, text, vector-space, wai, warp, websockets

Files

+ README.md view
@@ -0,0 +1,13 @@+# *H Y L I D E*++WebGL rendering environment for livecoding shaders with [Hylogen](https://github.com/sleexyz/hylogen).++![](https://thumbs.gfycat.com/SoftAdeptAlaskajingle-size_restricted.gif)+++## Install+```+cabal update && cabal install hylogen hylide+```+## Usage+[See Hylogen README](https://github.com/sleexyz/hylogen)
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ app/Main.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveAnyClass #-}+++import Paths_hylide (getDataFileName)+import Control.Concurrent+import Control.Monad+import Data.Aeson+import GHC.Generics+import qualified Data.ByteString.Lazy.Char8 as LBS8++import qualified Data.Text as T+import qualified Network.WebSockets as S+import System.Environment (getArgs)+import System.FilePath+import System.FSNotify+import System.Process+import System.Exit (ExitCode(ExitFailure, ExitSuccess))++import Network.Wai+import Network.Wai.Handler.Warp+import Network.HTTP.Types (status200, status404)++import qualified Language.Haskell.Interpreter as I+import qualified Control.Exception as E+++data Msg = Err String+         | Code String+         deriving (Show, Generic, ToJSON, FromJSON)++main :: IO ()+main = do+  getArgs >>= \case+    [pathToWatch] -> main' pathToWatch+    _ -> error "Error: Name a file to watch!"++main' :: FilePath ->  IO ()+main' pathToWatch = do+  tid1 <- forkIO serveIndex+  tid2 <- forkIO $ serveGLSL pathToWatch+  putStrLn "Press enter to exit."+  void getLine+  killThread tid1+  killThread tid2++++serveGLSL :: FilePath -> IO ()+serveGLSL pathToWatch = do+  withManager+    $ S.runServer "127.0.0.1" 8080+    . handleConnection pathToWatch+  return ()++handleConnection :: FilePath -> WatchManager -> S.PendingConnection -> IO ()+handleConnection pathToWatch mgr pending = do+   let (dirToWatch, _) = splitFileName pathToWatch+   connection <- S.acceptRequest pending++   -- let send = sendTextData connection . T.pack+   let send = S.sendTextData connection+   let update = do+         msg <- getCodeOrError pathToWatch+         send . encode $ msg++   let onChange e = do+         case e of+           Modified _ _ -> update+           _ -> return ()+   update+   _ <- watchDir mgr dirToWatch (const True) onChange+   _ <- getLine -- temp hack to keep the socket open+   return ()++interp :: FilePath -> I.InterpreterT IO String+interp fp = do+  I.loadModules [fp]+  I.setImports [takeBaseName fp]+  I.eval "output"++getCodeOrError :: FilePath -> IO Msg+getCodeOrError path = do+  I.runInterpreter (interp path) >>= return . \case+    Left err -> case err of+      I.UnknownError str -> Err str+      I.WontCompile errors -> Err . mconcat $ I.errMsg <$> errors+      I.NotAllowed str -> Err str+      I.GhcException str -> Err str+    Right str -> Code str++-- getCodeOrError' :: FilePath -> IO Msg+-- getCodeOrError' pathToWatch = do+--    -- TODO: more robust paths!:+--    -- c <- readFile pathToWatch+--    let (dirToWatch, _) = splitFileName pathToWatch+--    (ec, stdout, stderr) <- readProcessWithExitCode "runghc" [+--         "-i"++dirToWatch+--       , pathToWatch+--       ] ""+--    case ec of+--      ExitSuccess   -> return (Code stdout)+--      ExitFailure _ -> return (Err stderr)++serveIndex :: IO ()+serveIndex = do+  let port = 5678+  htmlString <- readFile =<< getDataFileName "client/dist-local/index.html"+  jsString <- readFile =<< getDataFileName "client/dist-local/bundle.js"+  run port $ app htmlString jsString+++app :: String -> String -> Application+app htmlString jsString req respond = respond $+  case pathInfo req of+    ["bundle.js"] -> serveJS jsString+    []           -> serveHTML htmlString+    _            -> error404++serveHTML :: String -> Network.Wai.Response+serveHTML htmlString = responseLBS status200 [("Content-Type", "text/html")]+  $ LBS8.pack htmlString++serveJS :: String -> Network.Wai.Response+serveJS jsString = responseLBS status200 [("Content-Type", "application/javascript")] +  $ LBS8.pack jsString++error404 :: Network.Wai.Response+error404 = responseBuilder status404 [("Content-Type", "text/plain")] "404 - Not Found"
+ client/dist-local/bundle.js view
@@ -0,0 +1,25 @@+!function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,t,n){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="http://localhost:5678",t(t.s=176)}([function(e,t){function n(){l&&i&&(l=!1,i.length?s=i.concat(s):c=-1,s.length&&o())}function o(){if(!l){var e=setTimeout(n);l=!0;for(var t=s.length;t;){for(i=s,s=[];++c<t;)i&&i[c].run();c=-1,t=s.length}i=null,l=!1,clearTimeout(e)}}function r(e,t){this.fun=e,this.array=t}function a(){}var i,u=e.exports={},s=[],l=!1,c=-1;u.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.push(new r(e,t)),1!==s.length||l||setTimeout(o,0)},r.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=a,u.addListener=a,u.once=a,u.off=a,u.removeListener=a,u.removeAllListeners=a,u.emit=a,u.binding=function(e){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(e){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},function(e,t,n){"use strict";(function(t){function n(e,n,o,r,a,i,u,s){if("production"!==t.env.NODE_ENV&&void 0===n)throw new Error("invariant requires an error message argument");if(!e){var l;if(void 0===n)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[o,r,a,i,u,s],p=0;l=new Error(n.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}e.exports=n}).call(t,n(0))},function(e,t){"use strict";function n(e,t){if(null==e)throw new TypeError("Object.assign target cannot be null or undefined");for(var n=Object(e),o=Object.prototype.hasOwnProperty,r=1;r<arguments.length;r++){var a=arguments[r];if(null!=a){var i=Object(a);for(var u in i)o.call(i,u)&&(n[u]=i[u])}}return n}e.exports=n},function(e,t,n){"use strict";(function(t){var o=n(10),r=o;"production"!==t.env.NODE_ENV&&(r=function(e,t){for(var n=arguments.length,o=Array(n>2?n-2:0),r=2;n>r;r++)o[r-2]=arguments[r];if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){var a=0,i="Warning: "+t.replace(/%s/g,function(){return o[a++]});"undefined"!=typeof console&&console.error(i);try{throw new Error(i)}catch(u){}}}),e.exports=r}).call(t,n(0))},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=o},function(e,t,n){"use strict";(function(t){function o(e,t){for(var n=Math.min(e.length,t.length),o=0;n>o;o++)if(e.charAt(o)!==t.charAt(o))return o;return e.length===t.length?-1:n}function r(e){return e?e.nodeType===K?e.documentElement:e.firstChild:null}function a(e){var t=r(e);return t&&ee.getID(t)}function i(e){var n=u(e);if(n)if(q.hasOwnProperty(n)){var o=q[n];o!==e&&(p(o,n)?"production"!==t.env.NODE_ENV?U(!1,"ReactMount: Two valid but unequal nodes with the same `%s`: %s",W,n):U(!1):void 0,q[n]=e)}else q[n]=e;return n}function u(e){return e&&e.getAttribute&&e.getAttribute(W)||""}function s(e,t){var n=u(e);n!==t&&delete q[n],e.setAttribute(W,t),q[t]=e}function l(e){return q.hasOwnProperty(e)&&p(q[e],e)||(q[e]=ee.findReactNodeByID(e)),q[e]}function c(e){var t=x.get(e)._rootNodeID;return O.isNullComponentID(t)?null:(q.hasOwnProperty(t)&&p(q[t],t)||(q[t]=ee.findReactNodeByID(t)),q[t])}function p(e,n){if(e){u(e)!==n?"production"!==t.env.NODE_ENV?U(!1,"ReactMount: Unexpected modification of `%s`",W):U(!1):void 0;var o=ee.findReactContainerForID(n);if(o&&A(o,e))return!0}return!1}function d(e){delete q[e]}function f(e){var t=q[e];return t&&p(t,e)?void($=t):!1}function h(e){$=null,w.traverseAncestors(e,f);var t=$;return $=null,t}function v(e,n,o,r,a,i){if(C.useCreateElement&&(i=S({},i),o.nodeType===K?i[Y]=o:i[Y]=o.ownerDocument),"production"!==t.env.NODE_ENV){i===k&&(i={});var u=o.nodeName.toLowerCase();i[F.ancestorInfoContextKey]=F.updatedAncestorInfo(null,u,null)}var s=M.mountComponent(e,n,r,i);e._renderedComponent._topLevelWrapper=e,ee._mountImageIntoNode(s,o,a,r)}function m(e,t,n,o,r){var a=I.ReactReconcileTransaction.getPooled(o);a.perform(v,null,e,t,n,a,o,r),I.ReactReconcileTransaction.release(a)}function g(e,t){for(M.unmountComponent(e),t.nodeType===K&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function y(e){var t=a(e);return t?t!==w.getReactRootIDFromNodeID(t):!1}function E(e){for(;e&&e.parentNode!==e;e=e.parentNode)if(1===e.nodeType){var t=u(e);if(t){var n,o=w.getReactRootIDFromNodeID(t),r=e;do if(n=u(r),r=r.parentNode,null==r)return null;while(n!==o);if(r===X[o])return e}}return null}var _=n(15),b=n(29),N=n(12),C=n(70),D=n(6),O=n(77),w=n(19),x=n(24),T=n(80),P=n(7),M=n(16),R=n(43),I=n(8),S=n(2),k=n(20),A=n(58),V=n(50),U=n(1),L=n(36),j=n(53),F=n(55),B=n(3),W=_.ID_ATTRIBUTE_NAME,q={},H=1,K=9,z=11,Y="__ReactMount_ownerDocument$"+Math.random().toString(36).slice(2),G={},X={};if("production"!==t.env.NODE_ENV)var Q={};var J=[],$=null,Z=function(){};Z.prototype.isReactComponent={},"production"!==t.env.NODE_ENV&&(Z.displayName="TopLevelWrapper"),Z.prototype.render=function(){return this.props};var ee={TopLevelWrapper:Z,_instancesByReactRootID:G,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,n,o,i){return ee.scrollMonitor(o,function(){R.enqueueElementInternal(e,n),i&&R.enqueueCallbackInternal(e,i)}),"production"!==t.env.NODE_ENV&&(Q[a(o)]=r(o)),e},_registerComponent:function(e,n){!n||n.nodeType!==H&&n.nodeType!==K&&n.nodeType!==z?"production"!==t.env.NODE_ENV?U(!1,"_registerComponent(...): Target container is not a DOM element."):U(!1):void 0,b.ensureScrollValueMonitoring();var o=ee.registerContainer(n);return G[o]=e,o},_renderNewRootComponent:function(e,n,o,a){"production"!==t.env.NODE_ENV?B(null==N.current,"_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.",N.current&&N.current.getName()||"ReactCompositeComponent"):void 0;var i=V(e,null),u=ee._registerComponent(i,n);return I.batchedUpdates(m,i,u,n,o,a),"production"!==t.env.NODE_ENV&&(Q[u]=r(n)),i},renderSubtreeIntoContainer:function(e,n,o,r){return null==e||null==e._reactInternalInstance?"production"!==t.env.NODE_ENV?U(!1,"parentComponent must be a valid React Component"):U(!1):void 0,ee._renderSubtreeIntoContainer(e,n,o,r)},_renderSubtreeIntoContainer:function(e,n,o,i){D.isValidElement(n)?void 0:"production"!==t.env.NODE_ENV?U(!1,"ReactDOM.render(): Invalid component element.%s","string"==typeof n?" Instead of passing an element string, make sure to instantiate it by passing it to React.createElement.":"function"==typeof n?" Instead of passing a component class, make sure to instantiate it by passing it to React.createElement.":null!=n&&void 0!==n.props?" This may be caused by unintentionally loading two independent copies of React.":""):U(!1),"production"!==t.env.NODE_ENV?B(!o||!o.tagName||"BODY"!==o.tagName.toUpperCase(),"render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app."):void 0;var s=new D(Z,null,null,null,null,null,n),l=G[a(o)];if(l){var c=l._currentElement,p=c.props;if(j(p,n)){var d=l._renderedComponent.getPublicInstance(),f=i&&function(){i.call(d)};return ee._updateRootComponent(l,s,o,f),d}ee.unmountComponentAtNode(o)}var h=r(o),v=h&&!!u(h),m=y(o);if("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?B(!m,"render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render."):void 0,!v||h.nextSibling))for(var g=h;g;){if(u(g)){"production"!==t.env.NODE_ENV?B(!1,"render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup."):void 0;break}g=g.nextSibling}var E=v&&!l&&!m,_=ee._renderNewRootComponent(s,o,E,null!=e?e._reactInternalInstance._processChildContext(e._reactInternalInstance._context):k)._renderedComponent.getPublicInstance();return i&&i.call(_),_},render:function(e,t,n){return ee._renderSubtreeIntoContainer(null,e,t,n)},registerContainer:function(e){var t=a(e);return t&&(t=w.getReactRootIDFromNodeID(t)),t||(t=w.createReactRootID()),X[t]=e,t},unmountComponentAtNode:function(e){"production"!==t.env.NODE_ENV?B(null==N.current,"unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.",N.current&&N.current.getName()||"ReactCompositeComponent"):void 0,!e||e.nodeType!==H&&e.nodeType!==K&&e.nodeType!==z?"production"!==t.env.NODE_ENV?U(!1,"unmountComponentAtNode(...): Target container is not a DOM element."):U(!1):void 0;var n=a(e),o=G[n];if(!o){var r=y(e),i=u(e),s=i&&i===w.getReactRootIDFromNodeID(i);return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?B(!r,"unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s",s?"You may have accidentally passed in a React root node instead of its container.":"Instead, have the parent component update its state and rerender in order to remove this component."):void 0),!1}return I.batchedUpdates(g,o,e),delete G[n],delete X[n],"production"!==t.env.NODE_ENV&&delete Q[n],!0},findReactContainerForID:function(e){var n=w.getReactRootIDFromNodeID(e),o=X[n];if("production"!==t.env.NODE_ENV){var r=Q[n];if(r&&r.parentNode!==o){"production"!==t.env.NODE_ENV?B(u(r)===n,"ReactMount: Root element ID differed from reactRootID."):void 0;var a=o.firstChild;a&&n===u(a)?Q[n]=a:"production"!==t.env.NODE_ENV?B(!1,"ReactMount: Root element has been removed from its original container. New container: %s",r.parentNode):void 0}}return o},findReactNodeByID:function(e){var t=ee.findReactContainerForID(e);return ee.findComponentRoot(t,e)},getFirstReactDOM:function(e){return E(e)},findComponentRoot:function(e,n){var o=J,r=0,a=h(n)||e;for("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?B(null!=a,"React can't find the root component node for data-reactid value `%s`. If you're seeing this message, it probably means that you've loaded two copies of React on the page. At this time, only a single copy of React can be loaded at a time.",n):void 0),o[0]=a.firstChild,o.length=1;r<o.length;){for(var i,u=o[r++];u;){var s=ee.getID(u);s?n===s?i=u:w.isAncestorIDOf(s,n)&&(o.length=r=0,o.push(u.firstChild)):o.push(u.firstChild),u=u.nextSibling}if(i)return o.length=0,i}o.length=0,"production"!==t.env.NODE_ENV?U(!1,"findComponentRoot(..., %s): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.",n,ee.getID(e)):U(!1)},_mountImageIntoNode:function(e,n,a,i){if(!n||n.nodeType!==H&&n.nodeType!==K&&n.nodeType!==z?"production"!==t.env.NODE_ENV?U(!1,"mountComponentIntoNode(...): Target container is not valid."):U(!1):void 0,a){var u=r(n);if(T.canReuseMarkup(e,u))return;var s=u.getAttribute(T.CHECKSUM_ATTR_NAME);u.removeAttribute(T.CHECKSUM_ATTR_NAME);var l=u.outerHTML;u.setAttribute(T.CHECKSUM_ATTR_NAME,s);var c=e;if("production"!==t.env.NODE_ENV){var p;n.nodeType===H?(p=document.createElement("div"),p.innerHTML=e,c=p.innerHTML):(p=document.createElement("iframe"),document.body.appendChild(p),p.contentDocument.write(e),c=p.contentDocument.documentElement.outerHTML,document.body.removeChild(p))}var d=o(c,l),f=" (client) "+c.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);n.nodeType===K?"production"!==t.env.NODE_ENV?U(!1,"You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s",f):U(!1):void 0,"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?B(!1,"React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:\n%s",f):void 0)}if(n.nodeType===K?"production"!==t.env.NODE_ENV?U(!1,"You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering."):U(!1):void 0,i.useCreateElement){for(;n.lastChild;)n.removeChild(n.lastChild);n.appendChild(e)}else L(n,e)},ownerDocumentContextKey:Y,getReactRootID:a,getID:i,setID:s,getNode:l,getNodeFromInstance:c,isValid:p,purgeID:d};P.measureMethods(ee,"ReactMount",{_renderNewRootComponent:"_renderNewRootComponent",_mountImageIntoNode:"_mountImageIntoNode"}),e.exports=ee}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(12),r=n(2),a=n(34),i="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103,u={key:!0,ref:!0,__self:!0,__source:!0},s=function(e,n,o,r,u,s,l){var c={$$typeof:i,type:e,key:n,ref:o,props:l,_owner:s};return"production"!==t.env.NODE_ENV&&(c._store={},a?(Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:u})):(c._store.validated=!1,c._self=r,c._source=u),Object.freeze(c.props),Object.freeze(c)),c};s.createElement=function(e,t,n){var r,a={},i=null,l=null,c=null,p=null;if(null!=t){l=void 0===t.ref?null:t.ref,i=void 0===t.key?null:""+t.key,c=void 0===t.__self?null:t.__self,p=void 0===t.__source?null:t.__source;for(r in t)t.hasOwnProperty(r)&&!u.hasOwnProperty(r)&&(a[r]=t[r])}var d=arguments.length-2;if(1===d)a.children=n;else if(d>1){for(var f=Array(d),h=0;d>h;h++)f[h]=arguments[h+2];a.children=f}if(e&&e.defaultProps){var v=e.defaultProps;for(r in v)"undefined"==typeof a[r]&&(a[r]=v[r])}return s(e,i,l,c,p,o.current,a)},s.createFactory=function(e){var t=s.createElement.bind(null,e);return t.type=e,t},s.cloneAndReplaceKey=function(e,t){var n=s(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},s.cloneAndReplaceProps=function(e,n){var o=s(e.type,e.key,e.ref,e._self,e._source,e._owner,n);return"production"!==t.env.NODE_ENV&&(o._store.validated=e._store.validated),o},s.cloneElement=function(e,t,n){var a,i=r({},e.props),l=e.key,c=e.ref,p=e._self,d=e._source,f=e._owner;if(null!=t){void 0!==t.ref&&(c=t.ref,f=o.current),void 0!==t.key&&(l=""+t.key);for(a in t)t.hasOwnProperty(a)&&!u.hasOwnProperty(a)&&(i[a]=t[a])}var h=arguments.length-2;if(1===h)i.children=n;else if(h>1){for(var v=Array(h),m=0;h>m;m++)v[m]=arguments[m+2];i.children=v}return s(e.type,l,c,p,d,f,i)},s.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},e.exports=s}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function n(e,t,n){return n}var o={enableMeasure:!1,storedMeasure:n,measureMethods:function(e,n,r){if("production"!==t.env.NODE_ENV)for(var a in r)r.hasOwnProperty(a)&&(e[a]=o.measure(n,r[a],e[a]))},measure:function(e,n,r){if("production"!==t.env.NODE_ENV){var a=null,i=function(){return o.enableMeasure?(a||(a=o.storedMeasure(e,n,r)),a.apply(this,arguments)):r.apply(this,arguments)};return i.displayName=e+"_"+n,i}return r},injection:{injectMeasure:function(e){o.storedMeasure=e}}};e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(){w.ReactReconcileTransaction&&_?void 0:"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates: must inject a reconcile transaction class and batching strategy"):m(!1)}function r(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=c.getPooled(),this.reconcileTransaction=w.ReactReconcileTransaction.getPooled(!1)}function a(e,t,n,r,a,i){o(),_.batchedUpdates(e,t,n,r,a,i)}function i(e,t){return e._mountOrder-t._mountOrder}function u(e){var n=e.dirtyComponentsLength;n!==g.length?"production"!==t.env.NODE_ENV?m(!1,"Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).",n,g.length):m(!1):void 0,g.sort(i);for(var o=0;n>o;o++){var r=g[o],a=r._pendingCallbacks;if(r._pendingCallbacks=null,f.performUpdateIfNecessary(r,e.reconcileTransaction),a)for(var u=0;u<a.length;u++)e.callbackQueue.enqueue(a[u],r.getPublicInstance())}}function s(e){return o(),_.isBatchingUpdates?void g.push(e):void _.batchedUpdates(s,e)}function l(e,n){_.isBatchingUpdates?void 0:"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."):m(!1),y.enqueue(e,n),E=!0}var c=n(37),p=n(14),d=n(7),f=n(16),h=n(33),v=n(2),m=n(1),g=[],y=c.getPooled(),E=!1,_=null,b={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),D()):g.length=0}},N={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},C=[b,N];v(r.prototype,h.Mixin,{getTransactionWrappers:function(){return C},destructor:function(){this.dirtyComponentsLength=null,c.release(this.callbackQueue),this.callbackQueue=null,w.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return h.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(r);var D=function(){for(;g.length||E;){if(g.length){var e=r.getPooled();e.perform(u,null,e),r.release(e)}if(E){E=!1;var t=y;y=c.getPooled(),t.notifyAll(),c.release(t)}}};D=d.measure("ReactUpdates","flushBatchedUpdates",D);var O={injectReconcileTransaction:function(e){e?void 0:"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates: must provide a reconcile transaction class"):m(!1),w.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates: must provide a batching strategy"):m(!1),"function"!=typeof e.batchedUpdates?"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates: must provide a batchedUpdates() function"):m(!1):void 0,"boolean"!=typeof e.isBatchingUpdates?"production"!==t.env.NODE_ENV?m(!1,"ReactUpdates: must provide an isBatchingUpdates boolean attribute"):m(!1):void 0,_=e}},w={ReactReconcileTransaction:null,batchedUpdates:a,enqueueUpdate:s,flushBatchedUpdates:D,injection:O,asap:l};e.exports=w}).call(t,n(0))},function(e,t,n){"use strict";e.exports=n(129)},function(e,t){"use strict";function n(e){return function(){return e}}function o(){}o.thatReturns=n,o.thatReturnsFalse=n(!1),o.thatReturnsTrue=n(!0),o.thatReturnsNull=n(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var o=n(27),r=o({bubbled:null,captured:null}),a=o({topAbort:null,topBlur:null,topCanPlay:null,topCanPlayThrough:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topDurationChange:null,topEmptied:null,topEncrypted:null,topEnded:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topLoadedData:null,topLoadedMetadata:null,topLoadStart:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topPause:null,topPlay:null,topPlaying:null,topProgress:null,topRateChange:null,topReset:null,topScroll:null,topSeeked:null,topSeeking:null,topSelectionChange:null,topStalled:null,topSubmit:null,topSuspend:null,topTextInput:null,topTimeUpdate:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topVolumeChange:null,topWaiting:null,topWheel:null}),i={topLevelTypes:a,PropagationPhases:r};e.exports=i},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t){"use strict";var n=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};e.exports=n},function(e,t,n){"use strict";(function(t){var o=n(1),r=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},a=function(e,t){var n=this;if(n.instancePool.length){var o=n.instancePool.pop();return n.call(o,e,t),o}return new n(e,t)},i=function(e,t,n){var o=this;if(o.instancePool.length){var r=o.instancePool.pop();return o.call(r,e,t,n),r}return new o(e,t,n)},u=function(e,t,n,o){var r=this;if(r.instancePool.length){var a=r.instancePool.pop();return r.call(a,e,t,n,o),a}return new r(e,t,n,o)},s=function(e,t,n,o,r){var a=this;if(a.instancePool.length){var i=a.instancePool.pop();return a.call(i,e,t,n,o,r),i}return new a(e,t,n,o,r)},l=function(e){var n=this;e instanceof n?void 0:"production"!==t.env.NODE_ENV?o(!1,"Trying to release an instance into a pool of a different type."):o(!1),e.destructor(),n.instancePool.length<n.poolSize&&n.instancePool.push(e)},c=10,p=r,d=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||p,n.poolSize||(n.poolSize=c),n.release=l,n},f={addPoolingTo:d,oneArgumentPooler:r,twoArgumentPooler:a,threeArgumentPooler:i,fourArgumentPooler:u,fiveArgumentPooler:s};e.exports=f}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,t){return(e&t)===t}var r=n(1),a={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_NUMERIC_VALUE:16,HAS_POSITIVE_NUMERIC_VALUE:48,HAS_OVERLOADED_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(e){var n=a,i=e.Properties||{},s=e.DOMAttributeNamespaces||{},l=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},p=e.DOMMutationMethods||{};e.isCustomAttribute&&u._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var d in i){u.properties.hasOwnProperty(d)?"production"!==t.env.NODE_ENV?r(!1,"injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.",d):r(!1):void 0;var f=d.toLowerCase(),h=i[d],v={attributeName:f,attributeNamespace:null,propertyName:d,mutationMethod:null,mustUseAttribute:o(h,n.MUST_USE_ATTRIBUTE),mustUseProperty:o(h,n.MUST_USE_PROPERTY),hasSideEffects:o(h,n.HAS_SIDE_EFFECTS),hasBooleanValue:o(h,n.HAS_BOOLEAN_VALUE),hasNumericValue:o(h,n.HAS_NUMERIC_VALUE),hasPositiveNumericValue:o(h,n.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:o(h,n.HAS_OVERLOADED_BOOLEAN_VALUE)};if(v.mustUseAttribute&&v.mustUseProperty?"production"!==t.env.NODE_ENV?r(!1,"DOMProperty: Cannot require using both attribute and property: %s",d):r(!1):void 0,!v.mustUseProperty&&v.hasSideEffects?"production"!==t.env.NODE_ENV?r(!1,"DOMProperty: Properties that have side effects must use property: %s",d):r(!1):void 0,v.hasBooleanValue+v.hasNumericValue+v.hasOverloadedBooleanValue<=1?void 0:"production"!==t.env.NODE_ENV?r(!1,"DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s",d):r(!1),"production"!==t.env.NODE_ENV&&(u.getPossibleStandardName[f]=d),l.hasOwnProperty(d)){var m=l[d];v.attributeName=m,"production"!==t.env.NODE_ENV&&(u.getPossibleStandardName[m]=d)}s.hasOwnProperty(d)&&(v.attributeNamespace=s[d]),c.hasOwnProperty(d)&&(v.propertyName=c[d]),p.hasOwnProperty(d)&&(v.mutationMethod=p[d]),u.properties[d]=v}}},i={},u={ID_ATTRIBUTE_NAME:"data-reactid",properties:{},getPossibleStandardName:"production"!==t.env.NODE_ENV?{}:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<u._isCustomAttributeFunctions.length;t++){var n=u._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},getDefaultValueForProperty:function(e,t){var n,o=i[e];return o||(i[e]=o={}),t in o||(n=document.createElement(e),o[t]=n[t]),o[t]},injection:a};e.exports=u}).call(t,n(0))},function(e,t,n){"use strict";function o(){r.attachRefs(this,this._currentElement)}var r=n(150),a={mountComponent:function(e,t,n,r){var a=e.mountComponent(t,n,r);return e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(o,e),a},unmountComponent:function(e){r.detachRefs(e,e._currentElement),e.unmountComponent()},receiveComponent:function(e,t,n,a){var i=e._currentElement;if(t!==i||a!==e._context){var u=r.shouldUpdateRefs(i,t);u&&r.detachRefs(e,i),e.receiveComponent(t,n,a),u&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(o,e)}},performUpdateIfNecessary:function(e,t){e.performUpdateIfNecessary(t)}};e.exports=a},function(e,t,n){"use strict";(function(t){function o(e,t,n,o){this.dispatchConfig=e,this.dispatchMarker=t,this.nativeEvent=n;var r=this.constructor.Interface;for(var a in r)if(r.hasOwnProperty(a)){var u=r[a];u?this[a]=u(n):"target"===a?this.target=o:this[a]=n[a]}var s=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;s?this.isDefaultPrevented=i.thatReturnsTrue:this.isDefaultPrevented=i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse}var r=n(14),a=n(2),i=n(10),u=n(3),s={type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};a(o.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?u(e,"This synthetic event is reused for performance reasons. If you're seeing this, you're calling `preventDefault` on a released/nullified synthetic event. This is a no-op. See https://fb.me/react-event-pooling for more information."):void 0),e&&(e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?u(e,"This synthetic event is reused for performance reasons. If you're seeing this, you're calling `stopPropagation` on a released/nullified synthetic event. This is a no-op. See https://fb.me/react-event-pooling for more information."):void 0),e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),o.Interface=s,o.augmentClass=function(e,t){var n=this,o=Object.create(n.prototype);a(o,e.prototype),e.prototype=o,e.prototype.constructor=e,e.Interface=a({},n.Interface,t),e.augmentClass=n.augmentClass,r.addPoolingTo(e,r.fourArgumentPooler)},r.addPoolingTo(o,r.fourArgumentPooler),e.exports=o}).call(t,n(0))},function(e,t,n){var o,r;/*!+	  Copyright (c) 2016 Jed Watson.+	  Licensed under the MIT License (MIT), see+	  http://jedwatson.github.io/classnames+	*/+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var o=arguments[t];if(o){var r=typeof o;if("string"===r||"number"===r)e.push(o);else if(Array.isArray(o))e.push(n.apply(null,o));else if("object"===r)for(var i in o)a.call(o,i)&&o[i]&&e.push(i)}}return e.join(" ")}var a={}.hasOwnProperty;"undefined"!=typeof e&&e.exports?e.exports=n:(o=[],r=function(){return n}.apply(t,o),!(void 0!==r&&(e.exports=r)))}()},function(e,t,n){"use strict";(function(t){function o(e){return f+e.toString(36)}function r(e,t){return e.charAt(t)===f||t===e.length}function a(e){return""===e||e.charAt(0)===f&&e.charAt(e.length-1)!==f}function i(e,t){return 0===t.indexOf(e)&&r(t,e.length)}function u(e){return e?e.substr(0,e.lastIndexOf(f)):""}function s(e,n){if(a(e)&&a(n)?void 0:"production"!==t.env.NODE_ENV?d(!1,"getNextDescendantID(%s, %s): Received an invalid React DOM ID.",e,n):d(!1),i(e,n)?void 0:"production"!==t.env.NODE_ENV?d(!1,"getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.",e,n):d(!1),e===n)return e;var o,u=e.length+h;for(o=u;o<n.length&&!r(n,o);o++);return n.substr(0,o)}function l(e,n){var o=Math.min(e.length,n.length);if(0===o)return"";for(var i=0,u=0;o>=u;u++)if(r(e,u)&&r(n,u))i=u;else if(e.charAt(u)!==n.charAt(u))break;var s=e.substr(0,i);return a(s)?void 0:"production"!==t.env.NODE_ENV?d(!1,"getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s",e,n,s):d(!1),s}function c(e,n,o,r,a,l){e=e||"",n=n||"",e===n?"production"!==t.env.NODE_ENV?d(!1,"traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.",e):d(!1):void 0;var c=i(n,e);c||i(e,n)?void 0:"production"!==t.env.NODE_ENV?d(!1,"traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.",e,n):d(!1);for(var p=0,f=c?u:s,h=e;;h=f(h,n)){var m;if(a&&h===e||l&&h===n||(m=o(h,c,r)),m===!1||h===n)break;p++<v?void 0:"production"!==t.env.NODE_ENV?d(!1,"traverseParentPath(%s, %s, ...): Detected an infinite loop while traversing the React DOM ID tree. This may be due to malformed IDs: %s",e,n,h):d(!1)}}var p=n(85),d=n(1),f=".",h=f.length,v=1e4,m={createReactRootID:function(){return o(p.createReactRootIndex())},createReactID:function(e,t){return e+t},getReactRootIDFromNodeID:function(e){if(e&&e.charAt(0)===f&&e.length>1){var t=e.indexOf(f,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,o,r){var a=l(e,t);a!==e&&c(e,a,n,o,!1,!0),a!==t&&c(a,t,n,r,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(c("",e,t,n,!0,!1),c(e,"",t,n,!1,!0))},traverseTwoPhaseSkipTarget:function(e,t,n){e&&(c("",e,t,n,!0,!0),c(e,"",t,n,!0,!0))},traverseAncestors:function(e,t,n){c("",e,t,n,!0,!1)},getFirstCommonAncestorID:l,_getNextDescendantID:s,isAncestorIDOf:i,SEPARATOR:f};e.exports=m}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var n={};"production"!==t.env.NODE_ENV&&Object.freeze(n),e.exports=n}).call(t,n(0))},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=l["default"].Component,p=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return l["default"].createElement("svg",{className:"sb-soundplayer-cover-logo",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor"},l["default"].createElement("path",{d:"M10.517 3.742c-.323 0-.49.363-.49.582 0 0-.244 3.591-.244 4.641 0 1.602.15 2.621.15 2.621 0 .222.261.401.584.401.321 0 .519-.179.519-.401 0 0 .398-1.038.398-2.639 0-1.837-.153-4.127-.284-4.592-.112-.395-.313-.613-.633-.613zm-1.996.268c-.323 0-.49.363-.49.582 0 0-.244 3.322-.244 4.372 0 1.602.119 2.621.119 2.621 0 .222.26.401.584.401.321 0 .581-.179.581-.401 0 0 .081-1.007.081-2.608 0-1.837-.206-4.386-.206-4.386 0-.218-.104-.581-.425-.581zm-2.021 1.729c-.324 0-.49.362-.49.582 0 0-.272 1.594-.272 2.644 0 1.602.179 2.559.179 2.559 0 .222.229.463.552.463.321 0 .519-.241.519-.463 0 0 .19-.944.19-2.546 0-1.837-.253-2.657-.253-2.657 0-.22-.104-.582-.425-.582zm-2.046-.358c-.323 0-.49.363-.49.582 0 0-.162 1.92-.162 2.97 0 1.602.069 2.496.069 2.496 0 .222.26.557.584.557.321 0 .581-.304.581-.526 0 0 .143-.936.143-2.538 0-1.837-.206-2.96-.206-2.96 0-.218-.198-.581-.519-.581zm-2.169 1.482c-.272 0-.232.218-.232.218v3.982s-.04.335.232.335c.351 0 .716-.832.716-2.348 0-1.245-.436-2.187-.716-2.187zm18.715-.976c-.289 0-.567.042-.832.116-.417-2.266-2.806-3.989-5.263-3.989-1.127 0-2.095.705-2.931 1.316v8.16s0 .484.5.484h8.526c1.655 0 3-1.55 3-3.155 0-1.607-1.346-2.932-3-2.932zm10.17.857c-1.077-.253-1.368-.389-1.368-.815 0-.3.242-.611.97-.611.621 0 1.106.253 1.542.699l.981-.951c-.641-.669-1.417-1.067-2.474-1.067-1.339 0-2.425.757-2.425 1.99 0 1.338.873 1.736 2.124 2.026 1.281.291 1.513.486 1.513.923 0 .514-.379.738-1.184.738-.65 0-1.26-.223-1.736-.777l-.98.873c.514.757 1.504 1.232 2.639 1.232 1.853 0 2.668-.873 2.668-2.163 0-1.477-1.193-1.845-2.27-2.097zm6.803-2.745c-1.853 0-2.949 1.435-2.949 3.502s1.096 3.501 2.949 3.501c1.852 0 2.949-1.434 2.949-3.501s-1.096-3.502-2.949-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.096 0 1.551.94 1.551 2.153.001 1.213-.454 2.153-1.551 2.153zm8.939-1.736c0 1.086-.533 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.897h-1.358v3.916c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.754-1.136 2.754-3.103v-3.897h-1.358v3.916zm8.142-.89l.019 1.485c-.087-.174-.31-.515-.475-.768l-2.703-3.692h-1.362v6.894h1.401v-2.988l-.02-1.484c.088.175.311.514.475.767l2.79 3.705h1.213v-6.894h-1.339v2.975zm5.895-2.923h-2.124v6.791h2.027c1.746 0 3.474-1.01 3.474-3.395 0-2.484-1.437-3.396-3.377-3.396zm-.097 5.472h-.67v-4.152h.719c1.436 0 2.028.688 2.028 2.076 0 1.242-.651 2.076-2.077 2.076zm7.909-4.229c.611 0 1 .271 1.242.737l1.26-.582c-.426-.883-1.202-1.503-2.483-1.503-1.775 0-3.016 1.435-3.016 3.502 0 2.143 1.191 3.501 2.968 3.501 1.232 0 2.047-.572 2.513-1.533l-1.145-.68c-.358.602-.718.864-1.329.864-1.019 0-1.611-.932-1.611-2.153-.001-1.261.583-2.153 1.601-2.153zm5.17-1.192h-1.359v6.791h4.083v-1.338h-2.724v-5.453zm6.396-.157c-1.854 0-2.949 1.435-2.949 3.502s1.095 3.501 2.949 3.501c1.853 0 2.95-1.434 2.95-3.501s-1.097-3.502-2.95-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.095 0 1.55.94 1.55 2.153.001 1.213-.454 2.153-1.55 2.153zm8.557-1.736c0 1.086-.532 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.794h-1.358v3.813c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.755-1.136 2.755-3.103v-3.794h-1.36v3.813zm5.449-3.907h-2.318v6.978h2.211c1.908 0 3.789-1.037 3.789-3.489 0-2.552-1.565-3.489-3.682-3.489zm-.108 5.623h-.729v-4.266h.783c1.565 0 2.21.706 2.21 2.133.001 1.276-.707 2.133-2.264 2.133z"}))}}]),t}(c),d=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"render",value:function(){return l["default"].createElement("svg",{className:"sb-soundplayer-play-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor"},this.props.children)}}]),t}(c),f=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return l["default"].createElement(d,null,l["default"].createElement("path",{d:"M0 0 L32 16 L0 32 z"}))}}]),t}(c),h=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return l["default"].createElement(d,null,l["default"].createElement("path",{d:"M0 0 H12 V32 H0 z M20 0 H32 V32 H20 z"}))}}]),t}(c),v=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return l["default"].createElement(d,null,l["default"].createElement("path",{d:"M4 4 L24 14 V4 H28 V28 H24 V18 L4 28 z "}))}}]),t}(c),m=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return l["default"].createElement(d,null,l["default"].createElement("path",{d:"M4 4 H8 V14 L28 4 V28 L8 18 V28 H4 z "}))}}]),t}(c);t["default"]={SoundCloudLogoSVG:p,PlayIconSVG:f,PauseIconSVG:h,NextIconSVG:v,PrevIconSVG:m},e.exports=t["default"]},function(e,t,n){"use strict";(function(t){function o(){var e=m&&m.traverseTwoPhase&&m.traverseEnterLeave;"production"!==t.env.NODE_ENV?c(e,"InstanceHandle not injected before use!"):void 0}var r=n(65),a=n(126),i=n(78),u=n(87),s=n(88),l=n(1),c=n(3),p={},d=null,f=function(e,t){e&&(a.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return f(e,!0)},v=function(e){return f(e,!1)},m=null,g={injection:{injectMount:a.injection.injectMount,injectInstanceHandle:function(e){m=e,"production"!==t.env.NODE_ENV&&o()},getInstanceHandle:function(){return"production"!==t.env.NODE_ENV&&o(),m},injectEventPluginOrder:r.injectEventPluginOrder,injectEventPluginsByName:r.injectEventPluginsByName},eventNameDispatchConfigs:r.eventNameDispatchConfigs,registrationNameModules:r.registrationNameModules,putListener:function(e,n,o){"function"!=typeof o?"production"!==t.env.NODE_ENV?l(!1,"Expected %s listener to be a function, instead got type %s",n,typeof o):l(!1):void 0;var a=p[n]||(p[n]={});a[e]=o;var i=r.registrationNameModules[n];i&&i.didPutListener&&i.didPutListener(e,n,o)},getListener:function(e,t){var n=p[t];return n&&n[e]},deleteListener:function(e,t){var n=r.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var o=p[t];o&&delete o[e]},deleteAllListeners:function(e){for(var t in p)if(p[t][e]){var n=r.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t),delete p[t][e]}},extractEvents:function(e,t,n,o,a){for(var i,s=r.plugins,l=0;l<s.length;l++){var c=s[l];if(c){var p=c.extractEvents(e,t,n,o,a);p&&(i=u(i,p))}}return i},enqueueEvents:function(e){e&&(d=u(d,e))},processEventQueue:function(e){var n=d;d=null,e?s(n,h):s(n,v),d?"production"!==t.env.NODE_ENV?l(!1,"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."):l(!1):void 0,i.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=g}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,t,n){var o=t.dispatchConfig.phasedRegistrationNames[n];return E(e,o)}function r(e,n,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?v(e,"Dispatching id must not be null"):void 0);var a=n?y.bubbled:y.captured,i=o(e,r,a);i&&(r._dispatchListeners=m(r._dispatchListeners,i),r._dispatchIDs=m(r._dispatchIDs,e))}function a(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,r,e)}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(e.dispatchMarker,r,e)}function u(e,t,n){if(n&&n.dispatchConfig.registrationName){var o=n.dispatchConfig.registrationName,r=E(e,o);r&&(n._dispatchListeners=m(n._dispatchListeners,r),n._dispatchIDs=m(n._dispatchIDs,e))}}function s(e){e&&e.dispatchConfig.registrationName&&u(e.dispatchMarker,null,e)}function l(e){g(e,a)}function c(e){g(e,i)}function p(e,t,n,o){h.injection.getInstanceHandle().traverseEnterLeave(n,o,u,e,t)}function d(e){g(e,s)}var f=n(11),h=n(22),v=n(3),m=n(87),g=n(88),y=f.PropagationPhases,E=h.getListener,_={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:d,accumulateEnterLeaveDispatches:p};e.exports=_}).call(t,n(0))},function(e,t){"use strict";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=n},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(17),a=n(48),i={view:function(e){if(e.view)return e.view;var t=a(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};r.augmentClass(o,i),e.exports=o},function(e,t){"use strict";function n(e){a||(a=document.createElement("a")),a.href=e||"";for(var t={},n=0,o=i.length;o>n;n++){var r=i[n];t[r]=a[r]}return t}function o(e,t,o){var r=n(e),a=/\?(?:.*)$/,i=a.test(r.search)?"&":"?",u=r.protocol+"//"+r.host+r.port+r.pathname+r.search+i+t+"="+o+r.hash;return u}function r(e){if(!(this instanceof r))return new r(e);if(!e)throw new Error("SoundCloud API clientId is required, get it - https://developers.soundcloud.com/");this._events={},this._clientId=e,this._baseUrl="https://api.soundcloud.com",this.playing=!1,this.duration=0,this.audio=document.createElement("audio")}var a,i="protocol hostname host pathname port search hash href".split(" ");r.prototype.resolve=function(e,t){if(!e)throw new Error("SoundCloud track or playlist url is required");var o=this._baseUrl+"/resolve.json?url="+encodeURIComponent(e)+"&client_id="+this._clientId;this._jsonp(o,function(o){if(this.cleanData(),Array.isArray(o)){var r=o;o={tracks:r},this._playlist=o}else if(o.tracks)this._playlist=o;else{this._track=o;var a=n(e);this._track.stream_url+=a.hash}this.duration=o.duration&&!isNaN(o.duration)?o.duration/1e3:0,t(o)}.bind(this))},r.prototype._jsonp=function(e,t){var n=document.getElementsByTagName("script")[0]||document.head,r=document.createElement("script"),a="jsonp_callback_"+(new Date).valueOf();window[a]=function(e){r.parentNode&&r.parentNode.removeChild(r),window[a]=function(){},t(e)},r.src=o(e,"callback",a),n.parentNode.insertBefore(r,n)},r.prototype.on=function(e,t){this._events[e]=t,this.audio.addEventListener(e,t,!1)},r.prototype.off=function(e,t){this._events[e]=null,this.audio.removeEventListener(e,t)},r.prototype.unbindAll=function(){for(var e in this._events){var t=this._events[e];t&&this.off(e,t)}},r.prototype.preload=function(e){this._track={stream_url:e},this.audio.src=o(e,"client_id",this._clientId)},r.prototype.play=function(e){e=e||{};var t;if(e.streamUrl)t=e.streamUrl;else if(this._playlist){var n=this._playlist.tracks.length;if(n){if(this._playlistIndex=e.playlistIndex||0,this._playlistIndex>=n||this._playlistIndex<0)return void(this._playlistIndex=0);t=this._playlist.tracks[this._playlistIndex].stream_url}}else this._track&&(t=this._track.stream_url);if(!t)throw new Error("There is no tracks to play, use `streamUrl` option or `load` method");t=o(t,"client_id",this._clientId),t!==this.audio.src&&(this.audio.src=t),this.playing=t,this.audio.play()},r.prototype.pause=function(){this.audio.pause(),this.playing=!1},r.prototype.stop=function(){this.audio.pause(),this.audio.currentTime=0,this.playing=!1},r.prototype.next=function(){var e=this._playlist.tracks.length;this._playlistIndex>=e-1||this._playlist&&e&&this.play({playlistIndex:++this._playlistIndex})},r.prototype.previous=function(){this._playlistIndex<=0||this._playlist&&this._playlist.tracks.length&&this.play({playlistIndex:--this._playlistIndex})},r.prototype.seek=function(e){if(!this.audio.readyState)return!1;var t=e.offsetX/e.target.offsetWidth||(e.layerX-e.target.offsetLeft)/e.target.offsetWidth;this.audio.currentTime=t*(this.audio.duration||0)},r.prototype.cleanData=function(){this._track=void 0,this._playlist=void 0},e.exports=r},function(e,t,n){"use strict";(function(t){var o=n(1),r=function(e){var n,r={};e instanceof Object&&!Array.isArray(e)?void 0:"production"!==t.env.NODE_ENV?o(!1,"keyMirror(...): Argument must be an object."):o(!1);for(n in e)e.hasOwnProperty(n)&&(r[n]=n);return r};e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";e.exports=n(69)},function(e,t,n){"use strict";function o(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=h++,d[e[m]]={}),d[e[m]]}var r=n(11),a=n(22),i=n(65),u=n(143),s=n(7),l=n(86),c=n(2),p=n(51),d={},f=!1,h=0,v={topAbort:"abort",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),g=c({},u,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,a=o(n),u=i.registrationNameDependencies[e],s=r.topLevelTypes,l=0;l<u.length;l++){var c=u[l];a.hasOwnProperty(c)&&a[c]||(c===s.topWheel?p("wheel")?g.ReactEventListener.trapBubbledEvent(s.topWheel,"wheel",n):p("mousewheel")?g.ReactEventListener.trapBubbledEvent(s.topWheel,"mousewheel",n):g.ReactEventListener.trapBubbledEvent(s.topWheel,"DOMMouseScroll",n):c===s.topScroll?p("scroll",!0)?g.ReactEventListener.trapCapturedEvent(s.topScroll,"scroll",n):g.ReactEventListener.trapBubbledEvent(s.topScroll,"scroll",g.ReactEventListener.WINDOW_HANDLE):c===s.topFocus||c===s.topBlur?(p("focus",!0)?(g.ReactEventListener.trapCapturedEvent(s.topFocus,"focus",n),g.ReactEventListener.trapCapturedEvent(s.topBlur,"blur",n)):p("focusin")&&(g.ReactEventListener.trapBubbledEvent(s.topFocus,"focusin",n),g.ReactEventListener.trapBubbledEvent(s.topBlur,"focusout",n)),a[s.topBlur]=!0,a[s.topFocus]=!0):v.hasOwnProperty(c)&&g.ReactEventListener.trapBubbledEvent(c,v[c],n),a[c]=!0)}},trapBubbledEvent:function(e,t,n){return g.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return g.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!f){var e=l.refreshScrollValues;g.ReactEventListener.monitorScrollValue(e),f=!0}},eventNameDispatchConfigs:a.eventNameDispatchConfigs,registrationNameModules:a.registrationNameModules,putListener:a.putListener,getListener:a.getListener,deleteListener:a.deleteListener,deleteAllListeners:a.deleteAllListeners});s.measureMethods(g,"ReactBrowserEventEmitter",{putListener:"putListener",deleteListener:"deleteListener"}),e.exports=g},function(e,t,n){"use strict";(function(t){var n={};"production"!==t.env.NODE_ENV&&(n={prop:"prop",context:"context",childContext:"child context"}),e.exports=n}).call(t,n(0))},function(e,t,n){"use strict";var o=n(27),r=o({prop:null,context:null,childContext:null});e.exports=r},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(25),a=n(86),i=n(47),u={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:i,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+a.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+a.currentScrollTop}};r.augmentClass(o,u),e.exports=o},function(e,t,n){"use strict";(function(t){var o=n(1),r={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,n,r,a,i,u,s,l){this.isInTransaction()?"production"!==t.env.NODE_ENV?o(!1,"Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction."):o(!1):void 0;var c,p;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),p=e.call(n,r,a,i,u,s,l),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(d){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return p},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o=t[n];try{this.wrapperInitData[n]=a.OBSERVED_ERROR,this.wrapperInitData[n]=o.initialize?o.initialize.call(this):null}finally{if(this.wrapperInitData[n]===a.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(r){}}}},closeAll:function(e){this.isInTransaction()?void 0:"production"!==t.env.NODE_ENV?o(!1,"Transaction.closeAll(): Cannot close transaction when none are open."):o(!1);for(var n=this.transactionWrappers,r=e;r<n.length;r++){var i,u=n[r],s=this.wrapperInitData[r];try{i=!0,s!==a.OBSERVED_ERROR&&u.close&&u.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(r+1)}catch(l){}}}this.wrapperInitData.length=0}},a={Mixin:r,OBSERVED_ERROR:{}};e.exports=a}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var n=!1;if("production"!==t.env.NODE_ENV)try{Object.defineProperty({},"x",{get:function(){}}),n=!0}catch(o){}e.exports=n}).call(t,n(0))},function(e,t){"use strict";function n(e){return r[e]}function o(e){return(""+e).replace(a,n)}var r={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},a=/[&><"']/g;e.exports=o},function(e,t,n){"use strict";var o=n(4),r=/^[ \r\n\t\f]/,a=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,i=function(e,t){e.innerHTML=t};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(i=function(e,t){MSApp.execUnsafeLocalFunction(function(){e.innerHTML=t})}),o.canUseDOM){var u=document.createElement("div");u.innerHTML=" ",""===u.innerHTML&&(i=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),r.test(t)||"<"===t[0]&&a.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}e.exports=i},function(e,t,n){"use strict";(function(t){function o(){this._callbacks=null,this._contexts=null}var r=n(14),a=n(2),i=n(1);a(o.prototype,{enqueue:function(e,t){this._callbacks=this._callbacks||[],this._contexts=this._contexts||[],this._callbacks.push(e),this._contexts.push(t)},notifyAll:function(){var e=this._callbacks,n=this._contexts;if(e){e.length!==n.length?"production"!==t.env.NODE_ENV?i(!1,"Mismatched list of contexts in callback queue"):i(!1):void 0,this._callbacks=null,this._contexts=null;for(var o=0;o<e.length;o++)e[o].call(n[o]);e.length=0,n.length=0}},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),r.addPoolingTo(o),e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e){return p.hasOwnProperty(e)?!0:c.hasOwnProperty(e)?!1:l.test(e)?(p[e]=!0,!0):(c[e]=!0,"production"!==t.env.NODE_ENV?s(!1,"Invalid attribute name: `%s`",e):void 0,!1)}function r(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&1>t||e.hasOverloadedBooleanValue&&t===!1}var a=n(15),i=n(7),u=n(173),s=n(3),l=/^[a-zA-Z_][\w\.\-]*$/,c={},p={};if("production"!==t.env.NODE_ENV)var d={children:!0,dangerouslySetInnerHTML:!0,key:!0,ref:!0},f={},h=function(e){if(!(d.hasOwnProperty(e)&&d[e]||f.hasOwnProperty(e)&&f[e])){f[e]=!0;var n=e.toLowerCase(),o=a.isCustomAttribute(n)?n:a.getPossibleStandardName.hasOwnProperty(n)?a.getPossibleStandardName[n]:null;"production"!==t.env.NODE_ENV?s(null==o,"Unknown DOM property %s. Did you mean %s?",e,o):void 0}};var v={createMarkupForID:function(e){return a.ID_ATTRIBUTE_NAME+"="+u(e)},setAttributeForID:function(e,t){e.setAttribute(a.ID_ATTRIBUTE_NAME,t)},createMarkupForProperty:function(e,n){var o=a.properties.hasOwnProperty(e)?a.properties[e]:null;if(o){if(r(o,n))return"";var i=o.attributeName;return o.hasBooleanValue||o.hasOverloadedBooleanValue&&n===!0?i+'=""':i+"="+u(n)}return a.isCustomAttribute(e)?null==n?"":e+"="+u(n):("production"!==t.env.NODE_ENV&&h(e),null)},createMarkupForCustomAttribute:function(e,t){return o(e)&&null!=t?e+"="+u(t):""},setValueForProperty:function(e,n,o){var i=a.properties.hasOwnProperty(n)?a.properties[n]:null;if(i){var u=i.mutationMethod;if(u)u(e,o);else if(r(i,o))this.deleteValueForProperty(e,n);else if(i.mustUseAttribute){var s=i.attributeName,l=i.attributeNamespace;l?e.setAttributeNS(l,s,""+o):i.hasBooleanValue||i.hasOverloadedBooleanValue&&o===!0?e.setAttribute(s,""):e.setAttribute(s,""+o)}else{var c=i.propertyName;i.hasSideEffects&&""+e[c]==""+o||(e[c]=o)}}else a.isCustomAttribute(n)?v.setValueForAttribute(e,n,o):"production"!==t.env.NODE_ENV&&h(n)},setValueForAttribute:function(e,t,n){o(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForProperty:function(e,n){var o=a.properties.hasOwnProperty(n)?a.properties[n]:null;if(o){var r=o.mutationMethod;if(r)r(e,void 0);else if(o.mustUseAttribute)e.removeAttribute(o.attributeName);else{var i=o.propertyName,u=a.getDefaultValueForProperty(e.nodeName,i);o.hasSideEffects&&""+e[i]===u||(e[i]=u)}}else a.isCustomAttribute(n)?e.removeAttribute(n):"production"!==t.env.NODE_ENV&&h(n)}};i.measureMethods(v,"DOMPropertyOperations",{setValueForProperty:"setValueForProperty",setValueForAttribute:"setValueForAttribute",deleteValueForProperty:"deleteValueForProperty"}),e.exports=v}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e){null!=e.checkedLink&&null!=e.valueLink?"production"!==t.env.NODE_ENV?l(!1,"Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don't want to use valueLink and vice versa."):l(!1):void 0}function r(e){o(e),null!=e.value||null!=e.onChange?"production"!==t.env.NODE_ENV?l(!1,"Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don't want to use valueLink."):l(!1):void 0}function a(e){o(e),null!=e.checked||null!=e.onChange?"production"!==t.env.NODE_ENV?l(!1,"Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don't want to use checkedLink"):l(!1):void 0}function i(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var u=n(84),s=n(31),l=n(1),c=n(3),p={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},d={value:function(e,t,n){return!e[t]||p[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:u.func},f={},h={checkPropTypes:function(e,n,o){for(var r in d){if(d.hasOwnProperty(r))var a=d[r](n,r,e,s.prop);if(a instanceof Error&&!(a.message in f)){f[a.message]=!0;var u=i(o);"production"!==t.env.NODE_ENV?c(!1,"Failed form propType: %s%s",a.message,u):void 0}}},getValue:function(e){return e.valueLink?(r(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(a(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(r(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(a(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=h}).call(t,n(0))},function(e,t,n){"use strict";var o=n(42),r=n(5),a={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkupByID:o.dangerouslyReplaceNodeWithMarkupByID,unmountIDFromEnvironment:function(e){r.purgeID(e)}};e.exports=a},function(e,t,n){"use strict";(function(t){var o=n(1),r=!1,a={unmountIDFromEnvironment:null,replaceNodeWithMarkupByID:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){r?"production"!==t.env.NODE_ENV?o(!1,"ReactCompositeComponent: injectEnvironment() can only be called once."):o(!1):void 0,a.unmountIDFromEnvironment=e.unmountIDFromEnvironment,a.replaceNodeWithMarkupByID=e.replaceNodeWithMarkupByID,a.processChildrenUpdates=e.processChildrenUpdates,r=!0}}};e.exports=a}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(64),r=n(38),a=n(5),i=n(7),u=n(1),s={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."},l={updatePropertyByID:function(e,n,o){var i=a.getNode(e);s.hasOwnProperty(n)?"production"!==t.env.NODE_ENV?u(!1,"updatePropertyByID(...): %s",s[n]):u(!1):void 0,null!=o?r.setValueForProperty(i,n,o):r.deleteValueForProperty(i,n)},dangerouslyReplaceNodeWithMarkupByID:function(e,t){var n=a.getNode(e);o.dangerouslyReplaceNodeWithMarkup(n,t)},dangerouslyProcessChildrenUpdates:function(e,t){for(var n=0;n<e.length;n++)e[n].parentNode=a.getNode(e[n].parentID);o.processUpdates(e,t)}};i.measureMethods(l,"ReactDOMIDOperations",{dangerouslyReplaceNodeWithMarkupByID:"dangerouslyReplaceNodeWithMarkupByID",dangerouslyProcessChildrenUpdates:"dangerouslyProcessChildrenUpdates"}),e.exports=l}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e){s.enqueueUpdate(e)}function r(e,n){var o=u.get(e);return o?("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?p(null==a.current,"%s(...): Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.",n):void 0),o):("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?p(!n,"%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.",n,n,e.constructor.displayName):void 0),+null)}var a=n(12),i=n(6),u=n(24),s=n(8),l=n(2),c=n(1),p=n(3),d={isMounted:function(e){if("production"!==t.env.NODE_ENV){var n=a.current;null!==n&&("production"!==t.env.NODE_ENV?p(n._warnedAboutRefsInRender,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",n.getName()||"A component"):void 0,n._warnedAboutRefsInRender=!0)}var o=u.get(e);return o?!!o._renderedComponent:!1},enqueueCallback:function(e,n){"function"!=typeof n?"production"!==t.env.NODE_ENV?c(!1,"enqueueCallback(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable."):c(!1):void 0;var a=r(e);return a?(a._pendingCallbacks?a._pendingCallbacks.push(n):a._pendingCallbacks=[n],void o(a)):null},enqueueCallbackInternal:function(e,n){"function"!=typeof n?"production"!==t.env.NODE_ENV?c(!1,"enqueueCallback(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable."):c(!1):void 0,e._pendingCallbacks?e._pendingCallbacks.push(n):e._pendingCallbacks=[n],o(e)},enqueueForceUpdate:function(e){var t=r(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,o(t))},enqueueReplaceState:function(e,t){var n=r(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,o(n))},enqueueSetState:function(e,t){var n=r(e,"setState");if(n){var a=n._pendingStateQueue||(n._pendingStateQueue=[]);a.push(t),o(n)}},enqueueSetProps:function(e,t){var n=r(e,"setProps");n&&d.enqueueSetPropsInternal(n,t)},enqueueSetPropsInternal:function(e,n){var r=e._topLevelWrapper;r?void 0:"production"!==t.env.NODE_ENV?c(!1,"setProps(...): You called `setProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."):c(!1);var a=r._pendingElement||r._currentElement,u=a.props,s=l({},u.props,n);r._pendingElement=i.cloneAndReplaceProps(a,i.cloneAndReplaceProps(u,s)),o(r)},enqueueReplaceProps:function(e,t){var n=r(e,"replaceProps");n&&d.enqueueReplacePropsInternal(n,t)},enqueueReplacePropsInternal:function(e,n){var r=e._topLevelWrapper;r?void 0:"production"!==t.env.NODE_ENV?c(!1,"replaceProps(...): You called `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."):c(!1);var a=r._pendingElement||r._currentElement,u=a.props;r._pendingElement=i.cloneAndReplaceProps(a,i.cloneAndReplaceProps(u,n)),o(r)},enqueueElementInternal:function(e,t){e._pendingElement=t,o(e)}};e.exports=d}).call(t,n(0))},function(e,t){"use strict";e.exports="0.14.8"},function(e,t,n){"use strict";(function(t){function o(e){if("production"!==t.env.NODE_ENV){var n=r.current;null!==n&&("production"!==t.env.NODE_ENV?s(n._warnedAboutRefsInRender,"%s is accessing getDOMNode or findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",n.getName()||"A component"):void 0,n._warnedAboutRefsInRender=!0)}return null==e?null:1===e.nodeType?e:a.has(e)?i.getNodeFromInstance(e):(null!=e.render&&"function"==typeof e.render?"production"!==t.env.NODE_ENV?u(!1,"findDOMNode was called on an unmounted component."):u(!1):void 0,void("production"!==t.env.NODE_ENV?u(!1,"Element appears to be neither ReactComponent nor DOMNode (keys: %s)",Object.keys(e)):u(!1)))}var r=n(12),a=n(24),i=n(5),u=n(1),s=n(3);e.exports=o}).call(t,n(0))},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var o=r[e];return o?!!n[o]:!1}function o(e){return n}var r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=o},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t){"use strict";function n(e){var t=e&&(o&&e[o]||e[r]);return"function"==typeof t?t:void 0}var o="function"==typeof Symbol&&Symbol.iterator,r="@@iterator";e.exports=n},function(e,t,n){"use strict";(function(t){function o(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function r(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function a(e){var n;if(null===e||e===!1)n=new u(a);else if("object"==typeof e){var i=e;!i||"function"!=typeof i.type&&"string"!=typeof i.type?"production"!==t.env.NODE_ENV?c(!1,"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",null==i.type?i.type:typeof i.type,o(i._owner)):c(!1):void 0,n="string"==typeof i.type?s.createInternalComponent(i):r(i.type)?new i.type(i):new d}else"string"==typeof e||"number"==typeof e?n=s.createInstanceForText(e):"production"!==t.env.NODE_ENV?c(!1,"Encountered invalid React node of type %s",typeof e):c(!1);return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?p("function"==typeof n.construct&&"function"==typeof n.mountComponent&&"function"==typeof n.receiveComponent&&"function"==typeof n.unmountComponent,"Only React Components can be mounted."):void 0),n.construct(e),n._mountIndex=0,n._mountImage=null,"production"!==t.env.NODE_ENV&&(n._isOwnerNecessary=!1,n._warnedAboutRefsInRender=!1),"production"!==t.env.NODE_ENV&&Object.preventExtensions&&Object.preventExtensions(n),n}var i=n(132),u=n(76),s=n(82),l=n(2),c=n(1),p=n(3),d=function(){};l(d.prototype,i.Mixin,{_instantiateReactComponent:a}),e.exports=a}).call(t,n(0))},function(e,t,n){"use strict";/**+	 * Checks if an event is supported in the current execution environment.+	 *+	 * NOTE: This will not work correctly for non-generic events such as `change`,+	 * `reset`, `load`, `error`, and `select`.+	 *+	 * Borrows from Modernizr.+	 *+	 * @param {string} eventNameSuffix Event name, e.g. "click".+	 * @param {?boolean} capture Check if the capture phase is supported.+	 * @return {boolean} True if the event is supported.+	 * @internal+	 * @license Modernizr 3.0.0pre (Custom Build) | MIT+	 */+function o(e,t){if(!a.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var i=document.createElement("div");i.setAttribute(n,"return;"),o="function"==typeof i[n]}return!o&&r&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var r,a=n(4);a.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=o},function(e,t,n){"use strict";var o=n(4),r=n(35),a=n(36),i=function(e,t){e.textContent=t};o.canUseDOM&&("textContent"in document.documentElement||(i=function(e,t){a(e,r(t))})),e.exports=i},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,o=null===t||t===!1;if(n||o)return n===o;var r=typeof e,a=typeof t;return"string"===r||"number"===r?"string"===a||"number"===a:"object"===a&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){"use strict";(function(t){function o(e){return g[e]}function r(e,t){return e&&null!=e.key?i(e.key):t.toString(36)}function a(e){return(""+e).replace(y,o)}function i(e){return"$"+a(e)}function u(e,n,o,a){var s=typeof e;if("undefined"!==s&&"boolean"!==s||(e=null),null===e||"string"===s||"number"===s||c.isValidElement(e))return o(a,e,""===n?v+r(e,0):n),1;var p,g,y=0,_=""===n?v:n+m;if(Array.isArray(e))for(var b=0;b<e.length;b++)p=e[b],g=_+r(p,b),y+=u(p,g,o,a);else{var N=d(e);if(N){var C,D=N.call(e);if(N!==e.entries)for(var O=0;!(C=D.next()).done;)p=C.value,g=_+r(p,O++),y+=u(p,g,o,a);else for("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?h(E,"Using Maps as children is not yet fully supported. It is an experimental feature that might be removed. Convert it to a sequence / iterable of keyed ReactElements instead."):void 0,E=!0);!(C=D.next()).done;){var w=C.value;w&&(p=w[1],g=_+i(w[0])+m+r(p,0),y+=u(p,g,o,a))}}else if("object"===s){var x="";if("production"!==t.env.NODE_ENV&&(x=" If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons.",e._isReactElement&&(x=" It looks like you're using an element created by a different version of React. Make sure to use only one copy of React."),l.current)){var T=l.current.getName();T&&(x+=" Check the render method of `"+T+"`.")}var P=String(e);"production"!==t.env.NODE_ENV?f(!1,"Objects are not valid as a React child (found: %s).%s","[object Object]"===P?"object with keys {"+Object.keys(e).join(", ")+"}":P,x):f(!1)}}return y}function s(e,t,n){return null==e?0:u(e,"",t,n)}var l=n(12),c=n(6),p=n(19),d=n(49),f=n(1),h=n(3),v=p.SEPARATOR,m=":",g={"=":"=0",".":"=1",":":"=2"},y=/[=.:]/g,E=!1;e.exports=s}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(2),r=n(10),a=n(3),i=r;if("production"!==t.env.NODE_ENV){var u=["address","applet","area","article","aside","base","basefont","bgsound","blockquote","body","br","button","caption","center","col","colgroup","dd","details","dir","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","img","input","isindex","li","link","listing","main","marquee","menu","menuitem","meta","nav","noembed","noframes","noscript","object","ol","p","param","plaintext","pre","script","section","select","source","style","summary","table","tbody","td","template","textarea","tfoot","th","thead","title","tr","track","ul","wbr","xmp"],s=["applet","caption","html","table","td","th","marquee","object","template","foreignObject","desc","title"],l=s.concat(["button"]),c=["dd","dt","li","option","optgroup","p","rp","rt"],p={parentTag:null,formTag:null,aTagInScope:null,buttonTagInScope:null,nobrTagInScope:null,pTagInButtonScope:null,listItemTagAutoclosing:null,dlItemTagAutoclosing:null},d=function(e,t,n){var r=o({},e||p),a={tag:t,instance:n};return-1!==s.indexOf(t)&&(r.aTagInScope=null,r.buttonTagInScope=null,r.nobrTagInScope=null),-1!==l.indexOf(t)&&(r.pTagInButtonScope=null),-1!==u.indexOf(t)&&"address"!==t&&"div"!==t&&"p"!==t&&(r.listItemTagAutoclosing=null,r.dlItemTagAutoclosing=null),r.parentTag=a,"form"===t&&(r.formTag=a),"a"===t&&(r.aTagInScope=a),"button"===t&&(r.buttonTagInScope=a),"nobr"===t&&(r.nobrTagInScope=a),"p"===t&&(r.pTagInButtonScope=a),"li"===t&&(r.listItemTagAutoclosing=a),"dd"!==t&&"dt"!==t||(r.dlItemTagAutoclosing=a),r},f=function(e,t){switch(t){case"select":return"option"===e||"optgroup"===e||"#text"===e;case"optgroup":return"option"===e||"#text"===e;case"option":return"#text"===e;case"tr":return"th"===e||"td"===e||"style"===e||"script"===e||"template"===e;case"tbody":case"thead":case"tfoot":return"tr"===e||"style"===e||"script"===e||"template"===e;case"colgroup":return"col"===e||"template"===e;case"table":return"caption"===e||"colgroup"===e||"tbody"===e||"tfoot"===e||"thead"===e||"style"===e||"script"===e||"template"===e;case"head":return"base"===e||"basefont"===e||"bgsound"===e||"link"===e||"meta"===e||"title"===e||"noscript"===e||"noframes"===e||"style"===e||"script"===e||"template"===e;case"html":return"head"===e||"body"===e}switch(e){case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"h1"!==t&&"h2"!==t&&"h3"!==t&&"h4"!==t&&"h5"!==t&&"h6"!==t;case"rp":case"rt":return-1===c.indexOf(t);case"caption":case"col":case"colgroup":case"frame":case"head":case"tbody":case"td":case"tfoot":case"th":case"thead":case"tr":return null==t}return!0},h=function(e,t){switch(e){case"address":case"article":case"aside":case"blockquote":case"center":case"details":case"dialog":case"dir":case"div":case"dl":case"fieldset":case"figcaption":case"figure":case"footer":case"header":case"hgroup":case"main":case"menu":case"nav":case"ol":case"p":case"section":case"summary":case"ul":case"pre":case"listing":case"table":case"hr":case"xmp":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return t.pTagInButtonScope;case"form":return t.formTag||t.pTagInButtonScope;case"li":return t.listItemTagAutoclosing;case"dd":case"dt":return t.dlItemTagAutoclosing;case"button":return t.buttonTagInScope;case"a":return t.aTagInScope;case"nobr":return t.nobrTagInScope}return null},v=function(e){if(!e)return[];var t=[];do t.push(e);while(e=e._currentElement._owner);return t.reverse(),t},m={};i=function(e,n,o){o=o||p;var r=o.parentTag,i=r&&r.tag,u=f(e,i)?null:r,s=u?null:h(e,o),l=u||s;if(l){var c,d=l.tag,g=l.instance,y=n&&n._currentElement._owner,E=g&&g._currentElement._owner,_=v(y),b=v(E),N=Math.min(_.length,b.length),C=-1;for(c=0;N>c&&_[c]===b[c];c++)C=c;var D="(unknown)",O=_.slice(C+1).map(function(e){return e.getName()||D}),w=b.slice(C+1).map(function(e){return e.getName()||D}),x=[].concat(-1!==C?_[C].getName()||D:[],w,d,s?["..."]:[],O,e).join(" > "),T=!!u+"|"+e+"|"+d+"|"+x;if(m[T])return;if(m[T]=!0,u){var P="";"table"===d&&"tr"===e&&(P+=" Add a <tbody> to your code to match the DOM tree generated by the browser."),"production"!==t.env.NODE_ENV?a(!1,"validateDOMNesting(...): <%s> cannot appear as a child of <%s>. See %s.%s",e,d,x,P):void 0}else"production"!==t.env.NODE_ENV?a(!1,"validateDOMNesting(...): <%s> cannot appear as a descendant of <%s>. See %s.",e,d,x):void 0}},i.ancestorInfoContextKey="__validateDOMNesting_ancestorInfo$"+Math.random().toString(36).slice(2),i.updatedAncestorInfo=d,i.isTagValidInContext=function(e,t){t=t||p;var n=t.parentTag,o=n&&n.tag;return f(e,o)&&!h(e,t)}}e.exports=i}).call(t,n(0))},function(e,t,n){"use strict";function o(){function e(){h&&(d=requestAnimationFrame(e)),s.getByteFrequencyData(p);for(var t=0,n=5,o=11,r=24,a=c,u=0;n>u;u++)t+=p[u];for(t*=.2,t*=.003921569,f.low=t,t=0;o>u;u++)t+=p[u];for(t*=.166666667,t*=.003921569,f.mid=t,t=0;r>u;u++)t+=p[u];for(t*=.076923077,t*=.003921569,f.upper=t,t=0;a>u;u++)t+=p[u];t*=.00204918,t*=.003921569,f.high=t;for(var l=0;l<i.length;l++)i[l](f)}l.connect(s),e()}Object.defineProperty(t,"__esModule",{value:!0});var r=n(26),a=0,i=[],u=new(window.AudioContext||window.webkitAudioContext),s=u.createAnalyser(),l=null;s.fftSize=512;var c=s.frequencyBinCount,p=new Uint8Array(c),d=null,f={low:0,mid:0,upper:0,high:0},h=!0,v=null,m=function(){};t["default"]={initializeAudioUserMedia:function(){v="usermedia",m(),h=!0,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,navigator.getUserMedia({audio:!0},function(e){l=u.createMediaStreamSource(e),o()},function(e){console.error(e)}),m=function(){h=!1,l.disconnect(s)}},initializeAudioSoundCloud:function(e,t){v="sc",m(),h=!0;var n=this.scPlayer=new r("4c869ec7222590da0f39838b2cd86740");n.audio.crossOrigin="anonymous",n.resolve(e,function(e){"sc"===v&&(n.audio.crossOrigin="anonymous",t&&n.play())}),l=u.createMediaElementSource(n.audio),l.connect(u.destination),o(),m=function(){h=!1,n.stop(),l.disconnect(s)}},addCallback:function(e){var t=a;return a+=1,i[t]=e,t},removeCallback:function(e){i[e]=null}}},function(e,t,n){"use strict";(function(t){var o=n(10),r={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,n,r){return e.addEventListener?(e.addEventListener(n,r,!0),{remove:function(){e.removeEventListener(n,r,!0)}}):("production"!==t.env.NODE_ENV&&console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."),{remove:o})},registerDefault:function(){}};e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";function o(e,t){var n=!0;e:for(;n;){var o=e,a=t;if(n=!1,o&&a){if(o===a)return!0;if(r(o))return!1;if(r(a)){e=o,t=a.parentNode,n=!0;continue e}return o.contains?o.contains(a):o.compareDocumentPosition?!!(16&o.compareDocumentPosition(a)):!1}return!1}}var r=n(104);e.exports=o},function(e,t){"use strict";function n(e){try{e.focus()}catch(t){}}e.exports=n},function(e,t){"use strict";function n(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(e){return document.body}}e.exports=n},function(e,t,n){"use strict";(function(t){function o(e){return i?void 0:"production"!==t.env.NODE_ENV?a(!1,"Markup wrapping node not initialized"):a(!1),d.hasOwnProperty(e)||(e="*"),u.hasOwnProperty(e)||("*"===e?i.innerHTML="<link />":i.innerHTML="<"+e+"></"+e+">",u[e]=!i.firstChild),u[e]?d[e]:null}var r=n(4),a=n(1),i=r.canUseDOM?document.createElement("div"):null,u={},s=[1,'<select multiple="true">',"</select>"],l=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],d={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,u[e]=!0}),e.exports=o}).call(t,n(0))},function(e,t){"use strict";function n(e,t){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=o.bind(t),i=0;i<n.length;i++)if(!a(n[i])||e[n[i]]!==t[n[i]])return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=n},function(e,t){"use strict";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0},r=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){r.forEach(function(t){o[n(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},i={isUnitlessNumber:o,shorthandPropertyExpansions:a};e.exports=i},function(e,t,n){"use strict";(function(t){function o(e,t,n){var o=n>=e.childNodes.length?null:e.childNodes.item(n);e.insertBefore(t,o)}var r=n(123),a=n(81),i=n(7),u=n(36),s=n(52),l=n(1),c={dangerouslyReplaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup,updateTextContent:s,processUpdates:function(e,n){for(var i,c=null,p=null,d=0;d<e.length;d++)if(i=e[d],i.type===a.MOVE_EXISTING||i.type===a.REMOVE_NODE){var f=i.fromIndex,h=i.parentNode.childNodes[f],v=i.parentID;h?void 0:"production"!==t.env.NODE_ENV?l(!1,"processUpdates(): Unable to find child %s of element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.",f,v):l(!1),c=c||{},c[v]=c[v]||[],c[v][f]=h,p=p||[],p.push(h)}var m;if(m=n.length&&"string"==typeof n[0]?r.dangerouslyRenderMarkup(n):n,p)for(var g=0;g<p.length;g++)p[g].parentNode.removeChild(p[g]);for(var y=0;y<e.length;y++)switch(i=e[y],i.type){case a.INSERT_MARKUP:o(i.parentNode,m[i.markupIndex],i.toIndex);break;case a.MOVE_EXISTING:o(i.parentNode,c[i.parentID][i.fromIndex],i.toIndex);break;case a.SET_MARKUP:u(i.parentNode,i.content);break;case a.TEXT_CONTENT:s(i.parentNode,i.content);break;case a.REMOVE_NODE:}}};i.measureMethods(c,"DOMChildrenOperations",{updateTextContent:"updateTextContent"}),e.exports=c}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(){if(u)for(var e in s){var n=s[e],o=u.indexOf(e);if(o>-1?void 0:"production"!==t.env.NODE_ENV?i(!1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):i(!1),!l.plugins[o]){n.extractEvents?void 0:"production"!==t.env.NODE_ENV?i(!1,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):i(!1),l.plugins[o]=n;var a=n.eventTypes;for(var c in a)r(a[c],n,c)?void 0:"production"!==t.env.NODE_ENV?i(!1,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",c,e):i(!1)}}}function r(e,n,o){l.eventNameDispatchConfigs.hasOwnProperty(o)?"production"!==t.env.NODE_ENV?i(!1,"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",o):i(!1):void 0,l.eventNameDispatchConfigs[o]=e;var r=e.phasedRegistrationNames;if(r){for(var u in r)if(r.hasOwnProperty(u)){var s=r[u];a(s,n,o)}return!0}return e.registrationName?(a(e.registrationName,n,o),!0):!1}function a(e,n,o){l.registrationNameModules[e]?"production"!==t.env.NODE_ENV?i(!1,"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):i(!1):void 0,l.registrationNameModules[e]=n,l.registrationNameDependencies[e]=n.eventTypes[o].dependencies}var i=n(1),u=null,s={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(e){u?"production"!==t.env.NODE_ENV?i(!1,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):i(!1):void 0,u=Array.prototype.slice.call(e),o()},injectEventPluginsByName:function(e){var n=!1;for(var r in e)if(e.hasOwnProperty(r)){var a=e[r];s.hasOwnProperty(r)&&s[r]===a||(s[r]?"production"!==t.env.NODE_ENV?i(!1,"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",r):i(!1):void 0,s[r]=a,n=!0)}n&&o()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var o=l.registrationNameModules[t.phasedRegistrationNames[n]];if(o)return o}return null},_resetEventPlugins:function(){u=null;for(var e in s)s.hasOwnProperty(e)&&delete s[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var o=l.registrationNameModules;for(var r in o)o.hasOwnProperty(r)&&delete o[r]}};e.exports=l}).call(t,n(0))},function(e,t,n){"use strict";function o(e){return(""+e).replace(_,"//")}function r(e,t){this.func=e,this.context=t,this.count=0}function a(e,t,n){var o=e.func,r=e.context;o.call(r,t,e.count++)}function i(e,t,n){if(null==e)return e;var o=r.getPooled(t,n);g(e,a,o),r.release(o)}function u(e,t,n,o){this.result=e,this.keyPrefix=t,this.func=n,this.context=o,this.count=0}function s(e,t,n){var r=e.result,a=e.keyPrefix,i=e.func,u=e.context,s=i.call(u,t,e.count++);Array.isArray(s)?l(s,r,n,m.thatReturnsArgument):null!=s&&(v.isValidElement(s)&&(s=v.cloneAndReplaceKey(s,a+(s!==t?o(s.key||"")+"/":"")+n)),r.push(s))}function l(e,t,n,r,a){var i="";null!=n&&(i=o(n)+"/");var l=u.getPooled(t,i,r,a);g(e,s,l),u.release(l)}function c(e,t,n){if(null==e)return e;var o=[];return l(e,o,null,t,n),o}function p(e,t,n){return null}function d(e,t){return g(e,p,null)}function f(e){var t=[];return l(e,t,null,m.thatReturnsArgument),t}var h=n(14),v=n(6),m=n(10),g=n(54),y=h.twoArgumentPooler,E=h.fourArgumentPooler,_=/\/(?!\/)/g;r.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(r,y),u.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(u,E);var b={forEach:i,map:c,mapIntoWithKeyPrefixInternal:l,count:d,toArray:f};e.exports=b},function(e,t,n){"use strict";(function(t){function o(){x||(x=!0,"production"!==t.env.NODE_ENV?C(!1,"setProps(...) and replaceProps(...) are deprecated. Instead, call render again at the top level."):void 0)}function r(e,n,o){for(var r in n)n.hasOwnProperty(r)&&("production"!==t.env.NODE_ENV?C("function"==typeof n[r],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",m[o],r):void 0)}function a(e,n){var o=T.hasOwnProperty(n)?T[n]:null;M.hasOwnProperty(n)&&(o!==O.OVERRIDE_BASE?"production"!==t.env.NODE_ENV?_(!1,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",n):_(!1):void 0),e.hasOwnProperty(n)&&(o!==O.DEFINE_MANY&&o!==O.DEFINE_MANY_MERGED?"production"!==t.env.NODE_ENV?_(!1,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n):_(!1):void 0)}function i(e,n){if(n){"function"==typeof n?"production"!==t.env.NODE_ENV?_(!1,"ReactClass: You're attempting to use a component class as a mixin. Instead, just use a regular object."):_(!1):void 0,h.isValidElement(n)?"production"!==t.env.NODE_ENV?_(!1,"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object."):_(!1):void 0;var o=e.prototype;n.hasOwnProperty(D)&&P.mixins(e,n.mixins);for(var r in n)if(n.hasOwnProperty(r)&&r!==D){var i=n[r];if(a(o,r),P.hasOwnProperty(r))P[r](e,i);else{var u=T.hasOwnProperty(r),s=o.hasOwnProperty(r),p="function"==typeof i,d=p&&!u&&!s&&n.autobind!==!1;if(d)o.__reactAutoBindMap||(o.__reactAutoBindMap={}),o.__reactAutoBindMap[r]=i,o[r]=i;else if(s){var f=T[r];!u||f!==O.DEFINE_MANY_MERGED&&f!==O.DEFINE_MANY?"production"!==t.env.NODE_ENV?_(!1,"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",f,r):_(!1):void 0,f===O.DEFINE_MANY_MERGED?o[r]=l(o[r],i):f===O.DEFINE_MANY&&(o[r]=c(o[r],i))}else o[r]=i,"production"!==t.env.NODE_ENV&&"function"==typeof i&&n.displayName&&(o[r].displayName=n.displayName+"_"+r)}}}}function u(e,n){if(n)for(var o in n){var r=n[o];if(n.hasOwnProperty(o)){var a=o in P;a?"production"!==t.env.NODE_ENV?_(!1,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',o):_(!1):void 0;var i=o in e;i?"production"!==t.env.NODE_ENV?_(!1,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",o):_(!1):void 0,e[o]=r}}}function s(e,n){e&&n&&"object"==typeof e&&"object"==typeof n?void 0:"production"!==t.env.NODE_ENV?_(!1,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."):_(!1);for(var o in n)n.hasOwnProperty(o)&&(void 0!==e[o]?"production"!==t.env.NODE_ENV?_(!1,"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",o):_(!1):void 0,e[o]=n[o]);return e}function l(e,t){return function(){var n=e.apply(this,arguments),o=t.apply(this,arguments);if(null==n)return o;if(null==o)return n;var r={};return s(r,n),s(r,o),r}}function c(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function p(e,n){var o=n.bind(e);if("production"!==t.env.NODE_ENV){o.__reactBoundContext=e,o.__reactBoundMethod=n,o.__reactBoundArguments=null;var r=e.constructor.displayName,a=o.bind;o.bind=function(i){for(var u=arguments.length,s=Array(u>1?u-1:0),l=1;u>l;l++)s[l-1]=arguments[l];if(i!==e&&null!==i)"production"!==t.env.NODE_ENV?C(!1,"bind(): React component methods may only be bound to the component instance. See %s",r):void 0;else if(!s.length)return"production"!==t.env.NODE_ENV?C(!1,"bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s",r):void 0,o;var c=a.apply(o,arguments);return c.__reactBoundContext=e,c.__reactBoundMethod=n,c.__reactBoundArguments=s,c}}return o}function d(e){for(var t in e.__reactAutoBindMap)if(e.__reactAutoBindMap.hasOwnProperty(t)){var n=e.__reactAutoBindMap[t];e[t]=p(e,n)}}var f=n(68),h=n(6),v=n(31),m=n(30),g=n(83),y=n(2),E=n(20),_=n(1),b=n(27),N=n(13),C=n(3),D=N({mixins:null}),O=b({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),w=[],x=!1,T={mixins:O.DEFINE_MANY,statics:O.DEFINE_MANY,propTypes:O.DEFINE_MANY,contextTypes:O.DEFINE_MANY,childContextTypes:O.DEFINE_MANY,getDefaultProps:O.DEFINE_MANY_MERGED,getInitialState:O.DEFINE_MANY_MERGED,getChildContext:O.DEFINE_MANY_MERGED,render:O.DEFINE_ONCE,componentWillMount:O.DEFINE_MANY,componentDidMount:O.DEFINE_MANY,componentWillReceiveProps:O.DEFINE_MANY,shouldComponentUpdate:O.DEFINE_ONCE,componentWillUpdate:O.DEFINE_MANY,componentDidUpdate:O.DEFINE_MANY,componentWillUnmount:O.DEFINE_MANY,updateComponent:O.OVERRIDE_BASE},P={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,v.childContext),e.childContextTypes=y({},e.childContextTypes,n)},contextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,v.context),e.contextTypes=y({},e.contextTypes,n)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=l(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,v.prop),e.propTypes=y({},e.propTypes,n)},statics:function(e,t){u(e,t)},autobind:function(){}},M={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e),t&&this.updater.enqueueCallback(this,t)},isMounted:function(){return this.updater.isMounted(this)},setProps:function(e,n){"production"!==t.env.NODE_ENV&&o(),this.updater.enqueueSetProps(this,e),n&&this.updater.enqueueCallback(this,n)},replaceProps:function(e,n){"production"!==t.env.NODE_ENV&&o(),this.updater.enqueueReplaceProps(this,e),n&&this.updater.enqueueCallback(this,n)}},R=function(){};y(R.prototype,f.prototype,M);var I={createClass:function(e){var n=function(e,o,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(this instanceof n,"Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory"):void 0),this.__reactAutoBindMap&&d(this),this.props=e,this.context=o,this.refs=E,this.updater=r||g,this.state=null;var a=this.getInitialState?this.getInitialState():null;"production"!==t.env.NODE_ENV&&"undefined"==typeof a&&this.getInitialState._isMockFunction&&(a=null),"object"!=typeof a||Array.isArray(a)?"production"!==t.env.NODE_ENV?_(!1,"%s.getInitialState(): must return an object or null",n.displayName||"ReactCompositeComponent"):_(!1):void 0,this.state=a};n.prototype=new R,n.prototype.constructor=n,w.forEach(i.bind(null,n)),i(n,e),n.getDefaultProps&&(n.defaultProps=n.getDefaultProps()),"production"!==t.env.NODE_ENV&&(n.getDefaultProps&&(n.getDefaultProps.isReactClassApproved={}),n.prototype.getInitialState&&(n.prototype.getInitialState.isReactClassApproved={})),n.prototype.render?void 0:"production"!==t.env.NODE_ENV?_(!1,"createClass(...): Class specification must implement a `render` method."):_(!1),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(!n.prototype.componentShouldUpdate,"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",e.displayName||"A component"):void 0,"production"!==t.env.NODE_ENV?C(!n.prototype.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",e.displayName||"A component"):void 0);for(var o in T)n.prototype[o]||(n.prototype[o]=null);return n},injection:{injectMixin:function(e){w.push(e)}}};e.exports=I}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,t,n){this.props=e,this.context=t,this.refs=i,this.updater=n||r}var r=n(83),a=n(34),i=n(20),u=n(1),s=n(3);if(o.prototype.isReactComponent={},o.prototype.setState=function(e,n){"object"!=typeof e&&"function"!=typeof e&&null!=e?"production"!==t.env.NODE_ENV?u(!1,"setState(...): takes an object of state variables to update or a function which returns an object of state variables."):u(!1):void 0,"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?s(null!=e,"setState(...): You passed an undefined or null state object; instead, use forceUpdate()."):void 0),this.updater.enqueueSetState(this,e),n&&this.updater.enqueueCallback(this,n)},o.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e)},"production"!==t.env.NODE_ENV){var l={getDOMNode:["getDOMNode","Use ReactDOM.findDOMNode(component) instead."],isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceProps:["replaceProps","Instead, call render again at the top level."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."],setProps:["setProps","Instead, call render again at the top level."]},c=function(e,n){a&&Object.defineProperty(o.prototype,e,{get:function(){"production"!==t.env.NODE_ENV?s(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",n[0],n[1]):void 0}})};for(var p in l)l.hasOwnProperty(p)&&c(p,l[p])}e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(12),r=n(72),a=n(74),i=n(19),u=n(5),s=n(7),l=n(16),c=n(8),p=n(44),d=n(45),f=n(174),h=n(3);a.inject();var v=s.measure("React","render",u.render),m={findDOMNode:d,render:v,unmountComponentAtNode:u.unmountComponentAtNode,version:p,unstable_batchedUpdates:c.batchedUpdates,unstable_renderSubtreeIntoContainer:f};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({CurrentOwner:o,InstanceHandles:i,Mount:u,Reconciler:l,TextComponent:r}),"production"!==t.env.NODE_ENV){var g=n(4);if(g.canUseDOM&&window.top===window.self){"undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&(navigator.userAgent.indexOf("Chrome")>-1&&-1===navigator.userAgent.indexOf("Edge")||navigator.userAgent.indexOf("Firefox")>-1)&&console.debug("Download the React DevTools for a better development experience: https://fb.me/react-devtools");var y=document.documentMode&&document.documentMode<8;"production"!==t.env.NODE_ENV?h(!y,'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: <meta http-equiv="X-UA-Compatible" content="IE=edge" />'):void 0;for(var E=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.split,String.prototype.trim,Object.create,Object.freeze],_=0;_<E.length;_++)if(!E[_]){console.error("One or more ES5 shim/shams expected by React are not available: https://fb.me/react-warning-polyfills");break}}}e.exports=m}).call(t,n(0))},function(e,t){"use strict";var n={useCreateElement:!1};e.exports=n},function(e,t,n){"use strict";(function(t){function o(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&i(this,Boolean(e.multiple),t)}}function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function a(e,n){var o=e._currentElement._owner;s.checkPropTypes("select",n,o);for(var a=0;a<h.length;a++){var i=h[a];null!=n[i]&&(n.multiple?"production"!==t.env.NODE_ENV?d(Array.isArray(n[i]),"The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",i,r(o)):void 0:"production"!==t.env.NODE_ENV?d(!Array.isArray(n[i]),"The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",i,r(o)):void 0)}}function i(e,t,n){var o,r,a=l.getNode(e._rootNodeID).options;if(t){for(o={},r=0;r<n.length;r++)o[""+n[r]]=!0;for(r=0;r<a.length;r++){var i=o.hasOwnProperty(a[r].value);a[r].selected!==i&&(a[r].selected=i)}}else{for(o=""+n,r=0;r<a.length;r++)if(a[r].value===o)return void(a[r].selected=!0);a.length&&(a[0].selected=!0)}}function u(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._wrapperState.pendingUpdate=!0,c.asap(o,this),n}var s=n(39),l=n(5),c=n(8),p=n(2),d=n(3),f="__ReactDOMSelect_value$"+Math.random().toString(36).slice(2),h=["value","defaultValue"],v={valueContextKey:f,getNativeProps:function(e,t,n){return p({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,n){"production"!==t.env.NODE_ENV&&a(e,n);var o=s.getValue(n);e._wrapperState={pendingUpdate:!1,initialValue:null!=o?o:n.defaultValue,onChange:u.bind(e),wasMultiple:Boolean(n.multiple)}},processChildContext:function(e,t,n){var o=p({},n);return o[f]=e._wrapperState.initialValue,o},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var o=s.getValue(t);null!=o?(e._wrapperState.pendingUpdate=!1,i(e,Boolean(t.multiple),o)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?i(e,Boolean(t.multiple),t.defaultValue):i(e,Boolean(t.multiple),t.multiple?[]:""))}};e.exports=v}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(64),r=n(38),a=n(40),i=n(5),u=n(2),s=n(35),l=n(52),c=n(55),p=function(e){};u(p.prototype,{+construct:function(e){this._currentElement=e,this._stringText=""+e,this._rootNodeID=null,this._mountIndex=0},mountComponent:function(e,n,o){if("production"!==t.env.NODE_ENV&&o[c.ancestorInfoContextKey]&&c("span",null,o[c.ancestorInfoContextKey]),this._rootNodeID=e,n.useCreateElement){var a=o[i.ownerDocumentContextKey],u=a.createElement("span");return r.setAttributeForID(u,e),i.getID(u),l(u,this._stringText),u}var p=s(this._stringText);return n.renderToStaticMarkup?p:"<span "+r.createMarkupForID(e)+">"+p+"</span>"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=i.getNode(this._rootNodeID);o.updateTextContent(r,n)}}},unmountComponent:function(){a.unmountIDFromEnvironment(this._rootNodeID)}}),e.exports=p}).call(t,n(0))},function(e,t,n){"use strict";function o(){this.reinitializeTransaction()}var r=n(8),a=n(33),i=n(2),u=n(10),s={initialize:u,close:function(){d.isBatchingUpdates=!1}},l={initialize:u,close:r.flushBatchedUpdates.bind(r)},c=[l,s];i(o.prototype,a.Mixin,{getTransactionWrappers:function(){return c}});var p=new o,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,o,r,a){var i=d.isBatchingUpdates;d.isBatchingUpdates=!0,i?e(t,n,o,r,a):p.perform(e,null,t,n,o,r,a)}};e.exports=d},function(e,t,n){"use strict";(function(t){function o(){if(!O&&(O=!0,g.EventEmitter.injectReactEventListener(m),g.EventPluginHub.injectEventPluginOrder(u),g.EventPluginHub.injectInstanceHandle(y),g.EventPluginHub.injectMount(E),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:C,EnterLeaveEventPlugin:s,ChangeEventPlugin:a,SelectEventPlugin:b,BeforeInputEventPlugin:r}),g.NativeComponent.injectGenericComponentClass(h),g.NativeComponent.injectTextComponentClass(v),g.Class.injectMixin(p),g.DOMProperty.injectDOMPropertyConfig(c),g.DOMProperty.injectDOMPropertyConfig(D),g.EmptyComponent.injectEmptyComponent("noscript"),g.Updates.injectReconcileTransaction(_),g.Updates.injectBatchingStrategy(f),g.RootIndex.injectCreateReactRootIndex(l.canUseDOM?i.createReactRootIndex:N.createReactRootIndex),g.Component.injectEnvironment(d),"production"!==t.env.NODE_ENV)){var e=l.canUseDOM&&window.location.href||"";if(/[?&]react_perf\b/.test(e)){var o=n(141);o.start()}}}var r=n(119),a=n(121),i=n(122),u=n(124),s=n(125),l=n(4),c=n(128),p=n(130),d=n(40),f=n(73),h=n(134),v=n(72),m=n(144),g=n(145),y=n(19),E=n(5),_=n(149),b=n(155),N=n(156),C=n(157),D=n(154),O=!1;e.exports={inject:o}}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(){if(d.current){var e=d.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}function r(e,n){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=a("uniqueKey",e,n);null!==o&&("production"!==t.env.NODE_ENV?m(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s%s',o.parentOrOwner||"",o.childOwner||"",o.url||""):void 0)}}function a(e,t,n){var r=o();if(!r){var a="string"==typeof n?n:n.displayName||n.name;a&&(r=" Check the top-level render call using <"+a+">.")}var i=g[e]||(g[e]={});if(i[r])return null;i[r]=!0;var u={parentOrOwner:r,url:" See https://fb.me/react-warning-keys for more information.",childOwner:null};return t&&t._owner&&t._owner!==d.current&&(u.childOwner=" It was passed a child from "+t._owner.getName()+"."),u}function i(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n<e.length;n++){var o=e[n];l.isValidElement(o)&&r(o,t)}else if(l.isValidElement(e))e._store&&(e._store.validated=!0);else if(e){var a=h(e);if(a&&a!==e.entries)for(var i,u=a.call(e);!(i=u.next()).done;)l.isValidElement(i.value)&&r(i.value,t)}}function u(e,n,r,a){for(var i in n)if(n.hasOwnProperty(i)){var u;try{"function"!=typeof n[i]?"production"!==t.env.NODE_ENV?v(!1,"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e||"React class",p[a],i):v(!1):void 0,u=n[i](r,i,e,a)}catch(s){u=s}if("production"!==t.env.NODE_ENV?m(!u||u instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",e||"React class",p[a],i,typeof u):void 0,u instanceof Error&&!(u.message in y)){y[u.message]=!0;var l=o();"production"!==t.env.NODE_ENV?m(!1,"Failed propType: %s%s",u.message,l):void 0}}}function s(e){var n=e.type;if("function"==typeof n){var o=n.displayName||n.name;n.propTypes&&u(o,n.propTypes,e.props,c.prop),"function"==typeof n.getDefaultProps&&("production"!==t.env.NODE_ENV?m(n.getDefaultProps.isReactClassApproved,"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."):void 0)}}var l=n(6),c=n(31),p=n(30),d=n(12),f=n(34),h=n(49),v=n(1),m=n(3),g={},y={},E={createElement:function(e,n,r){var a="string"==typeof e||"function"==typeof e;"production"!==t.env.NODE_ENV?m(a,"React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).%s",o()):void 0;var u=l.createElement.apply(this,arguments);if(null==u)return u;if(a)for(var c=2;c<arguments.length;c++)i(arguments[c],e);return s(u),u},createFactory:function(e){var n=E.createElement.bind(null,e);return n.type=e,"production"!==t.env.NODE_ENV&&f&&Object.defineProperty(n,"type",{enumerable:!1,get:function(){return"production"!==t.env.NODE_ENV?m(!1,"Factory.type is deprecated. Access the class directly before passing it to createFactory."):void 0,Object.defineProperty(this,"type",{value:e}),e}}),n},cloneElement:function(e,t,n){for(var o=l.cloneElement.apply(this,arguments),r=2;r<arguments.length;r++)i(arguments[r],o.type);return s(o),o}};e.exports=E}).call(t,n(0))},function(e,t,n){"use strict";function o(){i.registerNullComponentID(this._rootNodeID)}var r,a=n(6),i=n(77),u=n(16),s=n(2),l={injectEmptyComponent:function(e){r=a.createElement(e)}},c=function(e){this._currentElement=null,this._rootNodeID=null,this._renderedComponent=e(r)};s(c.prototype,{construct:function(e){},mountComponent:function(e,t,n){return t.getReactMountReady().enqueue(o,this),this._rootNodeID=e,u.mountComponent(this._renderedComponent,e,t,n)},receiveComponent:function(){},unmountComponent:function(e,t,n){u.unmountComponent(this._renderedComponent),i.deregisterNullComponentID(this._rootNodeID),this._rootNodeID=null,this._renderedComponent=null}}),c.injection=l,e.exports=c},function(e,t){"use strict";function n(e){return!!a[e]}function o(e){a[e]=!0}function r(e){delete a[e]}var a={},i={isNullComponentID:n,registerNullComponentID:o,deregisterNullComponentID:r};e.exports=i},function(e,t,n){"use strict";(function(t){function n(e,t,n,r){try{return t(n,r)}catch(a){return void(null===o&&(o=a))}}var o=null,r={invokeGuardedCallback:n,invokeGuardedCallbackWithCatch:n,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};if("production"!==t.env.NODE_ENV&&"undefined"!=typeof window&&"function"==typeof window.dispatchEvent&&"undefined"!=typeof document&&"function"==typeof document.createEvent){var a=document.createElement("react");r.invokeGuardedCallback=function(e,t,n,o){var r=t.bind(null,n,o),i="react-"+e;a.addEventListener(i,r,!1);var u=document.createEvent("Event");u.initEvent(i,!1,!1),a.dispatchEvent(u),a.removeEventListener(i,r,!1)}}e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";function o(e){return a(document.documentElement,e)}var r=n(138),a=n(58),i=n(59),u=n(60),s={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=u();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=u(),n=e.focusedElem,r=e.selectionRange;t!==n&&o(n)&&(s.hasSelectionCapabilities(n)&&s.setSelection(n,r),i(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=r.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if("undefined"==typeof o&&(o=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var a=e.createTextRange();a.collapse(!0),a.moveStart("character",n),a.moveEnd("character",o-n),a.select()}else r.setOffsets(e,t)}};e.exports=s},function(e,t,n){"use strict";var o=n(166),r=/\/?>/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=o(e);return e.replace(r," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var r=o(e);return r===n}};e.exports=a},function(e,t,n){"use strict";var o=n(27),r=o({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,SET_MARKUP:null,TEXT_CONTENT:null});e.exports=r},function(e,t,n){"use strict";(function(t){function o(e){if("function"==typeof e.type)return e.type;var t=e.type,n=p[t];return null==n&&(p[t]=n=l(t)),n}function r(e){return c?void 0:"production"!==t.env.NODE_ENV?s(!1,"There is no registered component for the tag %s",e.type):s(!1),new c(e.type,e.props)}function a(e){return new d(e)}function i(e){return e instanceof d}var u=n(2),s=n(1),l=null,c=null,p={},d=null,f={injectGenericComponentClass:function(e){c=e},injectTextComponentClass:function(e){d=e},injectComponentClasses:function(e){u(p,e)}},h={getComponentClassForElement:o,createInternalComponent:r,createInstanceForText:a,isTextComponent:i,injection:f};e.exports=h}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,n){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?r(!1,"%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.",n,n,e.constructor&&e.constructor.displayName||""):void 0)}var r=n(3),a={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){o(e,"forceUpdate")},enqueueReplaceState:function(e,t){o(e,"replaceState")},enqueueSetState:function(e,t){o(e,"setState")},enqueueSetProps:function(e,t){o(e,"setProps")},enqueueReplaceProps:function(e,t){o(e,"replaceProps")}};e.exports=a}).call(t,n(0))},function(e,t,n){"use strict";function o(e){function t(t,n,o,r,a,i){if(r=r||N,i=i||o,null==n[o]){var u=E[a];return t?new Error("Required "+u+" `"+i+"` was not specified in "+("`"+r+"`.")):null}return e(n,o,r,a,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function r(e){function t(t,n,o,r,a){var i=t[n],u=v(i);if(u!==e){var s=E[r],l=m(i);return new Error("Invalid "+s+" `"+a+"` of type "+("`"+l+"` supplied to `"+o+"`, expected ")+("`"+e+"`."))}return null}return o(t)}function a(){return o(_.thatReturns(null))}function i(e){function t(t,n,o,r,a){var i=t[n];if(!Array.isArray(i)){var u=E[r],s=v(i);return new Error("Invalid "+u+" `"+a+"` of type "+("`"+s+"` supplied to `"+o+"`, expected an array."))}for(var l=0;l<i.length;l++){var c=e(i,l,o,r,a+"["+l+"]");if(c instanceof Error)return c}return null}return o(t)}function u(){function e(e,t,n,o,r){if(!y.isValidElement(e[t])){var a=E[o];return new Error("Invalid "+a+" `"+r+"` supplied to "+("`"+n+"`, expected a single ReactElement."))}return null}return o(e)}function s(e){function t(t,n,o,r,a){if(!(t[n]instanceof e)){var i=E[r],u=e.name||N,s=g(t[n]);return new Error("Invalid "+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+o+"`, expected ")+("instance of `"+u+"`."))}return null}return o(t)}function l(e){function t(t,n,o,r,a){for(var i=t[n],u=0;u<e.length;u++)if(i===e[u])return null;var s=E[r],l=JSON.stringify(e);return new Error("Invalid "+s+" `"+a+"` of value `"+i+"` "+("supplied to `"+o+"`, expected one of "+l+"."))}return o(Array.isArray(e)?t:function(){return new Error("Invalid argument supplied to oneOf, expected an instance of array.")})}function c(e){function t(t,n,o,r,a){var i=t[n],u=v(i);if("object"!==u){var s=E[r];return new Error("Invalid "+s+" `"+a+"` of type "+("`"+u+"` supplied to `"+o+"`, expected an object."))}for(var l in i)if(i.hasOwnProperty(l)){var c=e(i,l,o,r,a+"."+l);if(c instanceof Error)return c}return null}return o(t)}function p(e){function t(t,n,o,r,a){for(var i=0;i<e.length;i++){var u=e[i];if(null==u(t,n,o,r,a))return null}var s=E[r];return new Error("Invalid "+s+" `"+a+"` supplied to "+("`"+o+"`."))}return o(Array.isArray(e)?t:function(){return new Error("Invalid argument supplied to oneOfType, expected an instance of array.")})}function d(){function e(e,t,n,o,r){if(!h(e[t])){var a=E[o];return new Error("Invalid "+a+" `"+r+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return null}return o(e)}function f(e){function t(t,n,o,r,a){var i=t[n],u=v(i);if("object"!==u){var s=E[r];return new Error("Invalid "+s+" `"+a+"` of type `"+u+"` "+("supplied to `"+o+"`, expected `object`."))}for(var l in e){var c=e[l];if(c){var p=c(i,l,o,r,a+"."+l);if(p)return p}}return null}return o(t)}function h(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(h);if(null===e||y.isValidElement(e))return!0;var t=b(e);if(!t)return!1;var n,o=t.call(e);if(t!==e.entries){for(;!(n=o.next()).done;)if(!h(n.value))return!1}else for(;!(n=o.next()).done;){var r=n.value;if(r&&!h(r[1]))return!1}return!0;default:return!1}}function v(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":t}function m(e){var t=v(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function g(e){return e.constructor&&e.constructor.name?e.constructor.name:"<<anonymous>>"}var y=n(6),E=n(30),_=n(10),b=n(49),N="<<anonymous>>",C={array:r("array"),bool:r("boolean"),func:r("function"),number:r("number"),object:r("object"),string:r("string"),any:a(),arrayOf:i,element:u(),instanceOf:s,node:d(),objectOf:c,oneOf:l,oneOfType:p,shape:f};e.exports=C},function(e,t){"use strict";var n={injectCreateReactRootIndex:function(e){o.createReactRootIndex=e}},o={createReactRootIndex:null,injection:n};e.exports=o},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){"use strict";(function(t){function o(e,n){if(null==n?"production"!==t.env.NODE_ENV?r(!1,"accumulateInto(...): Accumulated items must not be null or undefined."):r(!1):void 0,null==e)return n;var o=Array.isArray(e),a=Array.isArray(n);return o&&a?(e.push.apply(e,n),e):o?(e.push(n),e):a?[e].concat(n):[e,n]}var r=n(1);e.exports=o}).call(t,n(0))},function(e,t){"use strict";var n=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};e.exports=n},function(e,t,n){"use strict";function o(){return!a&&r.canUseDOM&&(a="textContent"in document.documentElement?"textContent":"innerText"),a}var r=n(4),a=null;e.exports=o},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&o[e.type]||"textarea"===t)}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}var r=n(9),a=o(r),i=n(28),u=o(i),s=n(95),l=o(s),c=n(92),p=o(c),d=n(93),f=o(d),h="\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}\n",v=a["default"].createClass({getInitialState:function(){return{fsSource:h,showControls:!1,bannerClass:"",error:!1,errorText:""}},componentWillMount:function(){this.connectToServer()},componentDidMount:function(){var e=this;window.setTimeout(function(){e.setState({bannerClass:"hidden"})},3e3)},connectToServer:function(){var e=this,t=new WebSocket("ws://localhost:8080/");t.onopen=function(){console.log("websocket opened!")},t.onclose=function(){console.log("websocket closed"),window.setTimeout(e.connectToServer,1e3)},t.onmessage=function(t){var n=JSON.parse(t.data);"Code"===n.tag?e.setState({fsSource:n.contents,error:!1,errorText:""}):"Err"===n.tag?(console.error(n.contents),e.setState({error:!0,errorText:n.contents})):console.error("unexpected error!")}},toggleShow:function(){this.setState(function(e){return{showControls:!e.showControls}})},render:function(){var e=this.state.showControls?"hide":"show",t=this.state.showControls?"unhiddenFast":"hiddenFast",n=this.state.error?a["default"].createElement("div",null,a["default"].createElement(f["default"],{text:this.state.errorText})):a["default"].createElement("div",null);return a["default"].createElement("div",{id:"entry"},a["default"].createElement("div",{id:"banner",className:this.state.bannerClass},a["default"].createElement("div",{id:"title"},"Hylogen")),a["default"].createElement("button",{onClick:this.toggleShow,id:"hideButton"},e),a["default"].createElement("div",{className:t},a["default"].createElement(p["default"],{initialState:"usermedia"})),n,a["default"].createElement(l["default"],{startAnimating:!0,fsSource:this.state.fsSource,withOSC:!0}))}});u["default"].render(a["default"].createElement(v,null),document.getElementById("entry"))},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),a=o(r),i=n(28),u=(o(i),n(110)),s=n(56),l=o(s),c=a["default"].createClass({propTypes:{initPlaying:r.PropTypes.bool},getDefaultProps:function(){return{initPlaying:!1}},getInitialState:function(){var e=localStorage.getItem("scurl")||"https://soundcloud.com/tennysonmusic/xyz"||"https://soundcloud.com/tennysonmusic/angus-julia-stone-for-you"||"https://soundcloud.com/herzeloyde/deception"||"https://soundcloud.com/aslamin/strannoe-chuvstvo";return{playing:this.props.initPlaying,val:0,url:e}},startPlaying:function(){this.startUpdating(),this.scPlayer.play()},stopPlaying:function(){window.clearTimeout(this.intervalId),this.scPlayer.pause()},componentWillMount:function(){l["default"].initializeAudioSoundCloud(this.state.url,this.props.initPlaying),this.scPlayer=l["default"].scPlayer},componentDidMount:function(){this.props.initPlaying&&this.startUpdating()},componentWillUpdate:function(e,t){t.playing!==this.state.playing&&(t.playing?this.startPlaying():this.stopPlaying())},togglePlay:function(){this.setState(function(e){return{playing:!e.playing}})},update:function(){var e=this.scPlayer.audio.currentTime/(this.scPlayer.duration/100);this.setState({val:e})},startUpdating:function(){this.intervalId=window.setInterval(this.update,100)},componentWillUnmount:function(){window.clearTimeout(this.intervalId)},onUrlChange:function(e){this.setState({url:e.currentTarget.value})},onSubmit:function(e){e.preventDefault(),localStorage.setItem("scurl",this.state.url),this.scPlayer.resolve(this.state.url,function(e){this.setState({playing:!1},function(){this.setState({playing:!0})}.bind(this))}.bind(this))},render:function(){var e=this.state.playing?"[pause]":"[play]";return a["default"].createElement("div",{className:"scPlayer"},a["default"].createElement("div",{className:"row"},a["default"].createElement("button",{onClick:this.togglePlay}," ",e),a["default"].createElement(u.Progress,{innerStyle:{},soundCloudAudio:this.scPlayer,value:this.state.val})),a["default"].createElement("div",{className:"row"},a["default"].createElement("form",{onSubmit:this.onSubmit},a["default"].createElement("input",{value:this.state.url,style:{width:"40vw"},onChange:this.onUrlChange}))))}}),p=a["default"].createClass({componentWillMount:function(){l["default"].initializeAudioUserMedia()},render:function(){return a["default"].createElement("div",null)}});t["default"]=a["default"].createClass({propTypes:{initialState:r.PropTypes.string},getDefaultProps:function(){return{initialState:"sc"}},getInitialState:function(){return{state:this.props.initialState,initPlaying:!1}},onChange:function(e){this.setState({state:e.currentTarget.value,initPlaying:!0})},render:function(){var e="sc"===this.state.state?a["default"].createElement(c,{initPlaying:this.state.initPlaying}):a["default"].createElement(p,null);return a["default"].createElement("div",{className:"audioControls"},a["default"].createElement("div",{className:"inputPicker"},a["default"].createElement("br",null),"sc : ",a["default"].createElement("input",{type:"radio",checked:"sc"===this.state.state,value:"sc",onChange:this.onChange}),a["default"].createElement("br",null),"mic: ",a["default"].createElement("input",{type:"radio",checked:"usermedia"===this.state.state,value:"usermedia",onChange:this.onChange})),e)}})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),a=o(r),i=n(28);o(i);t["default"]=a["default"].createClass({propTypes:{text:r.PropTypes.string.isRequired},render:function(){return a["default"].createElement("div",{className:"errorText"},this.props.text)}})},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(175),a=o(r);t["default"]=new function(){this.singleton=void 0,this.getInstance=function(){return void 0===this.singleton&&(this.singleton=new a["default"].WebSocketPort({url:"ws://localhost:9091"}),this.singleton.open()),this.singleton}.bind(this)}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),a=o(r),i=n(28),u=(o(i),n(56)),s=o(u),l=n(94),c=o(l),p=" attribute vec3 aPosition;\nvarying vec2 uvN;\nvoid main() {\n  gl_Position = vec4(aPosition, 1.0);\n  uvN = aPosition.xy;\n}",d="precision mediump float;\nconst float pi = 3.141592653589793238462643383;\nuniform float osc1;\nuniform float osc2;\nuniform float osc3;\nuniform float osc4;\nuniform float osc5;\nuniform float osc6;\nuniform float osc7;\nuniform float osc8;\nuniform float time;\nuniform vec2 mouse;\nuniform vec2 resolution;\nuniform vec4 audio;\nuniform sampler2D backBuffer;\nuniform sampler2D channel1;\nvarying vec2 uvN;\nvec2 uv() {\n  return 0.5 * uvN  + 0.5;\n}";t["default"]=a["default"].createClass({propTypes:{vsSource:r.PropTypes.string,fsSource:r.PropTypes.string.isRequired,width:r.PropTypes.number,height:r.PropTypes.number,withOSC:r.PropTypes.bool.isRequired,animation:r.PropTypes.bool},getDefaultProps:function(){return{width:Math.max(window.innerHeight,window.innerWidth),height:Math.max(window.innerHeight,window.innerWidth),vsSource:p,animation:!0}},componentDidMount:function(){function e(e){var t=e.target.getBoundingClientRect();n.mouse.x=(e.clientX-t.left)/(t.right-t.left)*2-1,n.mouse.y=(e.clientY-t.bottom)/(t.top-t.bottom)*2-1}var t=this.canvas,n=(this.gl=t.getContext("webgl"),this.state_={});if(n.animationFrameRequest=null,n.bit=0,n.fb=[null,null],n.time0=new Date/1e3,n.audioCallback=null,t.onmousemove=e,n.mouse={x:0,y:0},n.audio={low:0,mid:0,upper:0,high:0},n.audioCallback=s["default"].addCallback(function(e){n.audio.low=e.low,n.audio.mid=e.mid,n.audio.upper=e.upper,n.audio.high=e.high}),n.osc=new Float32Array(8),this.props.withOSC){var o=c["default"].getInstance();o.on("message",function(e){var t=parseInt(e.address.slice(7)),o=e.args[0];n.osc[t]=o})}this.loadProgram()},loadProgram:function(){function e(e,t,n){var o=e.createShader(n);e.shaderSource(o,t),e.compileShader(o);var r=e.getShaderParameter(o,e.COMPILE_STATUS);if(!r)throw console.log(t),"could not compile shader:"+e.getShaderInfoLog(o);return o}function t(){var e={texture:o.createTexture(),framebuffer:o.createFramebuffer()};return o.bindTexture(o.TEXTURE_2D,e.texture),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,a,i,0,o.RGBA,o.UNSIGNED_BYTE,null),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.NEAREST),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.NEAREST),o.bindFramebuffer(o.FRAMEBUFFER,e.framebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,e.texture,0),o.bindTexture(o.TEXTURE_2D,null),o.bindFramebuffer(o.FRAMEBUFFER,null),e}function n(e){var t=o.createTexture();o.bindTexture(o.TEXTURE_2D,t),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.NEAREST),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.NEAREST),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,e),r.textures.push(t)}var o=this.gl,r=this.state_,a=this.props.width,i=this.props.height,u=e(o,this.props.vsSource,o.VERTEX_SHADER),s=e(o,d+"\n"+this.props.fsSource,o.FRAGMENT_SHADER),l=o.createProgram();o.attachShader(l,u),o.attachShader(l,s),o.linkProgram(l);var c=o.getProgramParameter(l,o.LINK_STATUS);if(!c)throw"program failed to link:"+o.getProgramInfoLog(l);o.useProgram(l),o.bindBuffer(o.ARRAY_BUFFER,o.createBuffer()),o.bufferData(o.ARRAY_BUFFER,new Float32Array([-1,1,0,1,1,0,-1,-1,0,1,-1,0]),o.STATIC_DRAW),o.aPosition=o.getAttribLocation(l,"aPosition"),o.enableVertexAttribArray(o.aPosition),o.vertexAttribPointer(o.aPosition,3,o.FLOAT,!1,0,0),r.fb[0]=t(),r.fb[1]=t(),r.textures=[];var p=new Image;p.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABpAgMAAADZ4ewhAAAADFBMVEVlLWcjHyD///9aukdNbQb8AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgBBsTBjDG601/AAAAbUlEQVRIx2MIxQYYBoVo2Cp0MHXQiC5FcWvUIBJd//9q6P+/ofFAapCJDt4wWxpa/x/s3v//B53o4A2zwSo6WEuNQVvSQgEad1CIMmK41mFwiILprFXgRAilYOE78KKgnLBqJYwKHUSigzMHAADhlJM2vqJTOQAAAABJRU5ErkJggg==",n(p),o.osc1=o.getUniformLocation(l,"osc1"),o.osc2=o.getUniformLocation(l,"osc2"),o.osc3=o.getUniformLocation(l,"osc3"),o.osc4=o.getUniformLocation(l,"osc4"),o.osc5=o.getUniformLocation(l,"osc5"),o.osc6=o.getUniformLocation(l,"osc6"),o.osc7=o.getUniformLocation(l,"osc7"),o.osc8=o.getUniformLocation(l,"osc8"),o.time=o.getUniformLocation(l,"time"),o.mouse=o.getUniformLocation(l,"mouse"),o.audio=o.getUniformLocation(l,"audio"),o.resolution=o.getUniformLocation(l,"resolution"),o.backBuffer=o.getUniformLocation(l,"backBuffer"),o.channel1=o.getUniformLocation(l,"channel1"),this.draw(),this.props.animation&&null===r.animationFrameRequest&&(r.animationFrameRequest=requestAnimationFrame(this.animate))},draw:function(){var e=this.gl,t=this.state_;e.uniform1f(e.osc1,t.osc[0]),e.uniform1f(e.osc2,t.osc[1]),e.uniform1f(e.osc3,t.osc[2]),e.uniform1f(e.osc4,t.osc[3]),e.uniform1f(e.osc5,t.osc[4]),e.uniform1f(e.osc6,t.osc[5]),e.uniform1f(e.osc7,t.osc[6]),e.uniform1f(e.osc8,t.osc[7]),e.uniform1f(e.time,(new Date).getTime()/1e3-t.time0),e.uniform2f(e.mouse,t.mouse.x,t.mouse.y),e.uniform2f(e.resolution,this.props.width,this.props.height),e.uniform4f(e.audio,t.audio.low,t.audio.mid,t.audio.upper,t.audio.high);for(var n=1;n<t.textures.length+1;n++)e.uniform1i(e.channel1,n),e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,t.textures[n-1]);e.uniform1i(e.backBuffer,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.fb[t.bit].texture),t.bit=(t.bit+1)%2,e.bindFramebuffer(e.FRAMEBUFFER,t.fb[t.bit].framebuffer),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.fb[t.bit].texture),e.bindFramebuffer(e.FRAMEBUFFER,null),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_STRIP,0,4)},animate:function(){this.draw(),this.state_.animationFrameRequest=requestAnimationFrame(this.animate)},componentDidUpdate:function(){this.props.animation||(cancelAnimationFrame(this.state_.animationFrameRequest),this.state_.animationFrameRequest=null),this.loadProgram()},componentWillUnmount:function(){cancelAnimationFrame(this.state_.animationFrameRequest),s["default"].removeCallback(this.state_.audioCallback)},render:function(){var e=this;return a["default"].createElement("canvas",{ref:function(t){return e.canvas=t},className:"program",width:this.props.width,height:this.props.height})}})},function(e,t){"use strict";function n(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function o(e){return r(e.replace(a,"ms-"))}var r=n(96),a=/^-ms-/;e.exports=o},function(e,t,n){"use strict";function o(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function r(e){return o(e)?Array.isArray(e)?e.slice():a(e):[e]}var a=n(109);e.exports=r},function(e,t,n){"use strict";(function(t){function o(e){var t=e.match(c);return t&&t[1].toLowerCase()}function r(e,n){var r=l;l?void 0:"production"!==t.env.NODE_ENV?s(!1,"createNodesFromMarkup dummy not initialized"):s(!1);var a=o(e),c=a&&u(a);if(c){r.innerHTML=c[1]+e+c[2];for(var p=c[0];p--;)r=r.lastChild}else r.innerHTML=e;var d=r.getElementsByTagName("script");d.length&&(n?void 0:"production"!==t.env.NODE_ENV?s(!1,"createNodesFromMarkup(...): Unexpected <script> element rendered."):s(!1),i(d).forEach(n));for(var f=i(r.childNodes);r.lastChild;)r.removeChild(r.lastChild);return f}var a=n(4),i=n(98),u=n(61),s=n(1),l=a.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;e.exports=r}).call(t,n(0))},function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){"use strict";function n(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;e.exports=n},function(e,t,n){"use strict";function o(e){return r(e).replace(a,"-ms-")}var r=n(101),a=/^ms-/;e.exports=o},function(e,t){"use strict";function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t,n){"use strict";function o(e){return r(e)&&3==e.nodeType}var r=n(103);e.exports=o},function(e,t){"use strict";function n(e,t,n){if(!e)return null;var r={};for(var a in e)o.call(e,a)&&(r[a]=t.call(n,e[a],a,e));return r}var o=Object.prototype.hasOwnProperty;e.exports=n},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){"use strict";var o,r=n(4);r.canUseDOM&&(o=window.performance||window.msPerformance||window.webkitPerformance),e.exports=o||{}},function(e,t,n){"use strict";var o,r=n(107);o=r.now?function(){return r.now()}:function(){return Date.now()},e.exports=o},function(e,t,n){"use strict";(function(t){function o(e){var n=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?"production"!==t.env.NODE_ENV?r(!1,"toArray: Array-like object expected"):r(!1):void 0,"number"!=typeof n?"production"!==t.env.NODE_ENV?r(!1,"toArray: Object needs a length property"):r(!1):void 0,0===n||n-1 in e?void 0:"production"!==t.env.NODE_ENV?r(!1,"toArray: Object should have keys for indices"):r(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(o){}for(var a=Array(n),i=0;n>i;i++)a[i]=e[i];return a}var r=n(1);e.exports=o}).call(t,n(0))},function(e,t,n){e.exports=n(117)},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),+t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=n(18),p=o(c),d=n(21),f=l["default"].PropTypes,h=l["default"].Component,v=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.backgroundUrl,n=e.trackName,o=e.artistName,r=e.className,a=e.style,i=e.children,u=(0,p["default"])("sb-soundplayer-cover",r);return l["default"].createElement("div",{className:u,style:Object.assign(a,{backgroundImage:"url("+t+")"})},l["default"].createElement("div",null,l["default"].createElement(d.SoundCloudLogoSVG,null)),l["default"].createElement("div",null,l["default"].createElement("span",{className:"sb-soundplayer-track sb-soundplayer-info-box"},n)),l["default"].createElement("div",null,l["default"].createElement("span",{className:"sb-soundplayer-artist sb-soundplayer-info-box"},"by ",o)),l["default"].Children.map(i,l["default"].cloneElement))}}]),t}(h);v.propTypes={className:f.string,backgroundUrl:f.string.isRequired,trackName:f.string.isRequired,artistName:f.string.isRequired},t["default"]=v,e.exports=t["default"]},function(t,n,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),s=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},l=o(9),c=r(l),p=o(18),d=r(p),f=o(26),h=r(f),v=o(21),m=c["default"].PropTypes,g=c["default"].Component,y=function(t){function n(){a(this,n),s(Object.getPrototypeOf(n.prototype),"constructor",this).apply(this,arguments)}return i(n,t),u(n,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"handleClick",value:function(){var t=this.props,n=t.soundCloudAudio,o=t.onNextClick;n&&n.next(),o&&o(e)}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.style,o=(0,d["default"])("sb-soundplayer-play-btn",t);return c["default"].createElement("button",{type:"button",className:o,style:n,onClick:this.handleClick.bind(this)},c["default"].createElement(v.NextIconSVG,null))}}]),n}(g);y.propTypes={className:m.string,onNextClick:m.func,soundCloudAudio:m.instanceOf(h["default"])},n["default"]=y,t.exports=n["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=n(18),p=o(c),d=n(26),f=o(d),h=n(21),v=l["default"].PropTypes,m=l["default"].Component,g=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(e){var t=this.props,n=t.playing,o=t.seeking;return n!==e.playing||o!==e.seeking}},{key:"handleClick",value:function(e){var t=this.props,n=t.playing,o=t.soundCloudAudio,r=t.onTogglePlay;n?o&&o.pause():o&&o.play(),r&&r(e)}},{key:"render",value:function(){var e=this.props,t=e.playing,n=e.seekingIcon,o=e.seeking,r=e.className,a=e.style,i=void 0;i=o&&n?l["default"].cloneElement(n):t?l["default"].createElement(h.PauseIconSVG,null):l["default"].createElement(h.PlayIconSVG,null);var u=(0,p["default"])("sb-soundplayer-play-btn",r);return l["default"].createElement("button",{type:"button",className:u,style:a,onClick:this.handleClick.bind(this)},i)}}]),t}(m);g.propTypes={className:v.string,seeking:v.bool,playing:v.bool,onTogglePlay:v.func,seekingIcon:v.node,soundCloudAudio:v.instanceOf(f["default"])},g.defaultProps={playing:!1,seeking:!1},t["default"]=g,e.exports=t["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=n(18),p=o(c),d=n(26),f=o(d),h=n(21),v=l["default"].PropTypes,m=l["default"].Component,g=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"handleClick",value:function(e){var t=this.props,n=t.soundCloudAudio,o=t.onPrevClick;n&&n.previous(),o&&o(e)}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.style,o=(0,p["default"])("sb-soundplayer-play-btn",t);return l["default"].createElement("button",{type:"button",className:o,style:n,onClick:this.handleClick.bind(this)},l["default"].createElement(h.PrevIconSVG,null))}}]),t}(m);g.propTypes={className:v.string,onPrevClick:v.func,soundCloudAudio:v.instanceOf(f["default"])},t["default"]=g,e.exports=t["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=n(26),p=o(c),d=n(18),f=o(d),h=l["default"].PropTypes,v=l["default"].Component,m=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"handleSeekTrack",value:function(e){var t=this.props,n=t.onSeekTrack,o=t.soundCloudAudio,r=(e.pageX-e.currentTarget.getBoundingClientRect().left)/e.currentTarget.offsetWidth;o&&!isNaN(o.audio.duration)&&(o.audio.currentTime=r*o.audio.duration),n&&n.call(this,r,e)}},{key:"render",value:function(){var e=this.props,t=e.value,n=e.className,o=e.innerClassName,r=e.style,a=e.innerStyle,i=e.currentTime,u=e.duration;!t&&i&&u&&(t=i/u*100||0),0>t&&(t=0),t>100&&(t=100);var s=(0,f["default"])("sb-soundplayer-progress-container",n),c=(0,f["default"])("sb-soundplayer-progress-inner",o);return a||(a={}),a=Object.assign(a,{width:t+"%"}),l["default"].createElement("div",{className:s,style:r,onClick:this.handleSeekTrack.bind(this)},l["default"].createElement("div",{className:c,style:a}))}}]),t}(v);m.propTypes={className:h.string,innerClassName:l["default"].PropTypes.string,innerStyle:h.object,value:l["default"].PropTypes.number,onSeekTrack:h.func,soundCloudAudio:h.instanceOf(p["default"])},m.defaultProps={value:0},t["default"]=m,e.exports=t["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),u=function(e,t,n){for(var o=!0;o;){var r=e,a=t,i=n;o=!1,null===r&&(r=Function.prototype);var u=Object.getOwnPropertyDescriptor(r,a);if(void 0!==u){if("value"in u)return u.value;var s=u.get;if(void 0===s)return;return s.call(i)}var l=Object.getPrototypeOf(r);if(null===l)return;e=l,t=a,n=i,o=!0,u=l=void 0}},s=n(9),l=o(s),c=n(18),p=o(c),d=l["default"].PropTypes,f=l["default"].Component,h=function(e){function t(){r(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),i(t,[{key:"render",value:function(){var e=this.props,n=e.duration,o=e.currentTime,r=e.className,a=e.style,i=e.soundCloudAudio,u=(0,p["default"])("sb-soundplayer-timer",r);return!n&&i.duration&&(n=i.duration),l["default"].createElement("div",{className:u,style:a},t.prettyTime(o)," / ",t.prettyTime(n))}}],[{key:"prettyTime",value:function(e){var t=Math.floor(e/3600),n="0"+Math.floor(e%3600/60),o="0"+Math.floor(e%60);return n=n.substr(n.length-2),o=o.substr(o.length-2),isNaN(o)?"00:00":t?t+":"+n+":"+o:n+":"+o}}]),t}(f);h.propTypes={className:d.string,duration:d.oneOfType([d.string,d.number]),currentTime:d.oneOfType([d.string,d.number])},h.defaultProps={duration:0,currentTime:0},t["default"]=h,e.exports=t["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(113),a=o(r);t.PlayButton=a["default"];var i=n(112),u=o(i);t.NextButton=u["default"];var s=n(114),l=o(s);t.PrevButton=l["default"];var c=n(115),p=o(c);t.Progress=p["default"];var d=n(116),f=o(d);t.Timer=f["default"];var h=n(111),v=o(h);t.Cover=v["default"];var m=n(21),g=o(m);t.Icons=g["default"]},function(e,t,n){"use strict";var o=n(5),r=n(45),a=n(59),i={componentDidMount:function(){this.props.autoFocus&&a(r(this))}},u={Mixin:i,focusDOMComponent:function(){a(o.getNode(this._rootNodeID))}};e.exports=u},function(e,t,n){"use strict";function o(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function a(e){switch(e){case T.topCompositionStart:return P.compositionStart;case T.topCompositionEnd:return P.compositionEnd;case T.topCompositionUpdate:return P.compositionUpdate}}function i(e,t){return e===T.topKeyDown&&t.keyCode===b}function u(e,t){switch(e){case T.topKeyUp:return-1!==_.indexOf(t.keyCode);case T.topKeyDown:return t.keyCode!==b;case T.topKeyPress:case T.topMouseDown:case T.topBlur:return!0;default:return!1}}function s(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,o,r){var l,c;if(N?l=a(e):R?u(e,o)&&(l=P.compositionEnd):i(e,o)&&(l=P.compositionStart),!l)return null;O&&(R||l!==P.compositionStart?l===P.compositionEnd&&R&&(c=R.getData()):R=m.getPooled(t));var p=g.getPooled(l,n,o,r);if(c)p.data=c;else{var d=s(o);null!==d&&(p.data=d)}return h.accumulateTwoPhaseDispatches(p),p}function c(e,t){switch(e){case T.topCompositionEnd:return s(t);case T.topKeyPress:var n=t.which;return n!==w?null:(M=!0,x);case T.topTextInput:var o=t.data;return o===x&&M?null:o;default:return null}}function p(e,t){if(R){if(e===T.topCompositionEnd||u(e,t)){var n=R.getData();return m.release(R),R=null,n}return null}switch(e){case T.topPaste:return null;case T.topKeyPress:return t.which&&!r(t)?String.fromCharCode(t.which):null;case T.topCompositionEnd:return O?null:t.data;default:return null}}function d(e,t,n,o,r){var a;if(a=D?c(e,o):p(e,o),!a)return null;var i=y.getPooled(P.beforeInput,n,o,r);return i.data=a,h.accumulateTwoPhaseDispatches(i),i}var f=n(11),h=n(23),v=n(4),m=n(127),g=n(159),y=n(162),E=n(13),_=[9,13,27,32],b=229,N=v.canUseDOM&&"CompositionEvent"in window,C=null;v.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var D=v.canUseDOM&&"TextEvent"in window&&!C&&!o(),O=v.canUseDOM&&(!N||C&&C>8&&11>=C),w=32,x=String.fromCharCode(w),T=f.topLevelTypes,P={beforeInput:{phasedRegistrationNames:{bubbled:E({onBeforeInput:null}),captured:E({onBeforeInputCapture:null})},dependencies:[T.topCompositionEnd,T.topKeyPress,T.topTextInput,T.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:E({onCompositionEnd:null}),captured:E({onCompositionEndCapture:null})},dependencies:[T.topBlur,T.topCompositionEnd,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:E({onCompositionStart:null}),captured:E({onCompositionStartCapture:null})},dependencies:[T.topBlur,T.topCompositionStart,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:E({onCompositionUpdate:null}),captured:E({onCompositionUpdateCapture:null})},dependencies:[T.topBlur,T.topCompositionUpdate,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]}},M=!1,R=null,I={eventTypes:P,extractEvents:function(e,t,n,o,r){return[l(e,t,n,o,r),d(e,t,n,o,r)]}};e.exports=I},function(e,t,n){"use strict";(function(t){var o=n(63),r=n(4),a=n(7),i=n(97),u=n(167),s=n(102),l=n(106),c=n(3),p=l(function(e){return s(e)}),d=!1,f="cssFloat";if(r.canUseDOM){var h=document.createElement("div").style;try{h.font=""}catch(v){d=!0}void 0===document.documentElement.style.cssFloat&&(f="styleFloat")}if("production"!==t.env.NODE_ENV)var m=/^(?:webkit|moz|o)[A-Z]/,g=/;\s*$/,y={},E={},_=function(e){y.hasOwnProperty(e)&&y[e]||(y[e]=!0,"production"!==t.env.NODE_ENV?c(!1,"Unsupported style property %s. Did you mean %s?",e,i(e)):void 0)},b=function(e){y.hasOwnProperty(e)&&y[e]||(y[e]=!0,"production"!==t.env.NODE_ENV?c(!1,"Unsupported vendor-prefixed style property %s. Did you mean %s?",e,e.charAt(0).toUpperCase()+e.slice(1)):void 0)},N=function(e,n){E.hasOwnProperty(n)&&E[n]||(E[n]=!0,"production"!==t.env.NODE_ENV?c(!1,'Style property values shouldn\'t contain a semicolon. Try "%s: %s" instead.',e,n.replace(g,"")):void 0)},C=function(e,t){e.indexOf("-")>-1?_(e):m.test(e)?b(e):g.test(t)&&N(e,t)};var D={createMarkupForStyles:function(e){var n="";for(var o in e)if(e.hasOwnProperty(o)){var r=e[o];"production"!==t.env.NODE_ENV&&C(o,r),null!=r&&(n+=p(o)+":",n+=u(o,r)+";")}return n||null},setValueForStyles:function(e,n){var r=e.style;for(var a in n)if(n.hasOwnProperty(a)){"production"!==t.env.NODE_ENV&&C(a,n[a]);var i=u(a,n[a]);if("float"===a&&(a=f),i)r[a]=i;else{var s=d&&o.shorthandPropertyExpansions[a];if(s)for(var l in s)r[l]="";else r[a]=""}}}};a.measureMethods(D,"CSSPropertyOperations",{setValueForStyles:"setValueForStyles"}),e.exports=D}).call(t,n(0))},function(e,t,n){"use strict";function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function r(e){var t=C.getPooled(P.change,R,e,D(e));_.accumulateTwoPhaseDispatches(t),N.batchedUpdates(a,t)}function a(e){E.enqueueEvents(e),E.processEventQueue(!1)}function i(e,t){M=e,R=t,M.attachEvent("onchange",r)}function u(){M&&(M.detachEvent("onchange",r),M=null,R=null)}function s(e,t,n){return e===T.topChange?n:void 0}function l(e,t,n){e===T.topFocus?(u(),i(t,n)):e===T.topBlur&&u()}function c(e,t){M=e,R=t,I=e.value,S=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(M,"value",V),M.attachEvent("onpropertychange",d)}function p(){M&&(delete M.value,M.detachEvent("onpropertychange",d),M=null,R=null,I=null,S=null)}function d(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==I&&(I=t,r(e))}}function f(e,t,n){return e===T.topInput?n:void 0}function h(e,t,n){e===T.topFocus?(p(),c(t,n)):e===T.topBlur&&p()}function v(e,t,n){return e!==T.topSelectionChange&&e!==T.topKeyUp&&e!==T.topKeyDown||!M||M.value===I?void 0:(I=M.value,R)}function m(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function g(e,t,n){return e===T.topClick?n:void 0}var y=n(11),E=n(22),_=n(23),b=n(4),N=n(8),C=n(17),D=n(48),O=n(51),w=n(90),x=n(13),T=y.topLevelTypes,P={change:{phasedRegistrationNames:{bubbled:x({onChange:null}),captured:x({onChangeCapture:null})},dependencies:[T.topBlur,T.topChange,T.topClick,T.topFocus,T.topInput,T.topKeyDown,T.topKeyUp,T.topSelectionChange]}},M=null,R=null,I=null,S=null,k=!1;b.canUseDOM&&(k=O("change")&&(!("documentMode"in document)||document.documentMode>8));var A=!1;b.canUseDOM&&(A=O("input")&&(!("documentMode"in document)||document.documentMode>9));var V={get:function(){return S.get.call(this)},set:function(e){I=""+e,S.set.call(this,e)}},U={eventTypes:P,extractEvents:function(e,t,n,r,a){var i,u;if(o(t)?k?i=s:u=l:w(t)?A?i=f:(i=v,u=h):m(t)&&(i=g),i){var c=i(e,t,n);if(c){var p=C.getPooled(P.change,c,r,a);return p.type="change",_.accumulateTwoPhaseDispatches(p),p}}u&&u(e,t,n)}};e.exports=U},function(e,t){"use strict";var n=0,o={createReactRootIndex:function(){return n++}};e.exports=o},function(e,t,n){"use strict";(function(t){function o(e){return e.substring(1,e.indexOf(" "))}var r=n(4),a=n(99),i=n(10),u=n(61),s=n(1),l=/^(<[^ \/>]+)/,c="data-danger-index",p={dangerouslyRenderMarkup:function(e){r.canUseDOM?void 0:"production"!==t.env.NODE_ENV?s(!1,"dangerouslyRenderMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString for server rendering."):s(!1);for(var n,p={},d=0;d<e.length;d++)e[d]?void 0:"production"!==t.env.NODE_ENV?s(!1,"dangerouslyRenderMarkup(...): Missing markup."):s(!1),n=o(e[d]),n=u(n)?n:"*",p[n]=p[n]||[],p[n][d]=e[d];var f=[],h=0;for(n in p)if(p.hasOwnProperty(n)){var v,m=p[n];for(v in m)if(m.hasOwnProperty(v)){var g=m[v];m[v]=g.replace(l,"$1 "+c+'="'+v+'" ')}for(var y=a(m.join(""),i),E=0;E<y.length;++E){var _=y[E];_.hasAttribute&&_.hasAttribute(c)?(v=+_.getAttribute(c),_.removeAttribute(c),f.hasOwnProperty(v)?"production"!==t.env.NODE_ENV?s(!1,"Danger: Assigning to an already-occupied result index."):s(!1):void 0,f[v]=_,h+=1):"production"!==t.env.NODE_ENV&&console.error("Danger: Discarding unexpected node:",_)}}return h!==f.length?"production"!==t.env.NODE_ENV?s(!1,"Danger: Did not assign to every index of resultList."):s(!1):void 0,f.length!==e.length?"production"!==t.env.NODE_ENV?s(!1,"Danger: Expected markup to render %s nodes, but rendered %s.",e.length,f.length):s(!1):void 0,f},dangerouslyReplaceNodeWithMarkup:function(e,n){r.canUseDOM?void 0:"production"!==t.env.NODE_ENV?s(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering."):s(!1),n?void 0:"production"!==t.env.NODE_ENV?s(!1,"dangerouslyReplaceNodeWithMarkup(...): Missing markup."):s(!1),"html"===e.tagName.toLowerCase()?"production"!==t.env.NODE_ENV?s(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString()."):s(!1):void 0;var o;o="string"==typeof n?a(n,i)[0]:n,e.parentNode.replaceChild(o,e)}};e.exports=p}).call(t,n(0))},function(e,t,n){"use strict";var o=n(13),r=[o({ResponderEventPlugin:null}),o({SimpleEventPlugin:null}),o({TapEventPlugin:null}),o({EnterLeaveEventPlugin:null}),o({ChangeEventPlugin:null}),o({SelectEventPlugin:null}),o({BeforeInputEventPlugin:null})];e.exports=r},function(e,t,n){"use strict";var o=n(11),r=n(23),a=n(32),i=n(5),u=n(13),s=o.topLevelTypes,l=i.getFirstReactDOM,c={mouseEnter:{registrationName:u({onMouseEnter:null}),dependencies:[s.topMouseOut,s.topMouseOver]},mouseLeave:{registrationName:u({onMouseLeave:null}),dependencies:[s.topMouseOut,s.topMouseOver]}},p=[null,null],d={eventTypes:c,extractEvents:function(e,t,n,o,u){if(e===s.topMouseOver&&(o.relatedTarget||o.fromElement))return null;if(e!==s.topMouseOut&&e!==s.topMouseOver)return null;var d;if(t.window===t)d=t;else{var f=t.ownerDocument;d=f?f.defaultView||f.parentWindow:window}var h,v,m="",g="";if(e===s.topMouseOut?(h=t,m=n,v=l(o.relatedTarget||o.toElement),v?g=i.getID(v):v=d,v=v||d):(h=d,v=t,g=n),h===v)return null;var y=a.getPooled(c.mouseLeave,m,o,u);y.type="mouseleave",y.target=h,y.relatedTarget=v;var E=a.getPooled(c.mouseEnter,g,o,u);return E.type="mouseenter",E.target=v,E.relatedTarget=h,r.accumulateEnterLeaveDispatches(y,E,m,g),p[0]=y,p[1]=E,p}};e.exports=d},function(e,t,n){"use strict";(function(t){function o(e){return e===y.topMouseUp||e===y.topTouchEnd||e===y.topTouchCancel}function r(e){return e===y.topMouseMove||e===y.topTouchMove}function a(e){return e===y.topMouseDown||e===y.topTouchStart}function i(e,t,n,o){var r=e.type||"unknown-event";e.currentTarget=g.Mount.getNode(o),t?h.invokeGuardedCallbackWithCatch(r,n,e,o):h.invokeGuardedCallback(r,n,e,o),e.currentTarget=null}function u(e,n){var o=e._dispatchListeners,r=e._dispatchIDs;if("production"!==t.env.NODE_ENV&&d(e),Array.isArray(o))for(var a=0;a<o.length&&!e.isPropagationStopped();a++)i(e,n,o[a],r[a]);else o&&i(e,n,o,r);e._dispatchListeners=null,e._dispatchIDs=null}function s(e){var n=e._dispatchListeners,o=e._dispatchIDs;if("production"!==t.env.NODE_ENV&&d(e),Array.isArray(n)){for(var r=0;r<n.length&&!e.isPropagationStopped();r++)if(n[r](e,o[r]))return o[r]}else if(n&&n(e,o))return o;return null}function l(e){var t=s(e);return e._dispatchIDs=null,e._dispatchListeners=null,t}function c(e){"production"!==t.env.NODE_ENV&&d(e);var n=e._dispatchListeners,o=e._dispatchIDs;Array.isArray(n)?"production"!==t.env.NODE_ENV?v(!1,"executeDirectDispatch(...): Invalid `event`."):v(!1):void 0;var r=n?n(e,o):null;return e._dispatchListeners=null,e._dispatchIDs=null,r}function p(e){return!!e._dispatchListeners}var d,f=n(11),h=n(78),v=n(1),m=n(3),g={Mount:null,injectMount:function(e){g.Mount=e,"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?m(e&&e.getNode&&e.getID,"EventPluginUtils.injection.injectMount(...): Injected Mount module is missing getNode or getID."):void 0)}},y=f.topLevelTypes;"production"!==t.env.NODE_ENV&&(d=function(e){var n=e._dispatchListeners,o=e._dispatchIDs,r=Array.isArray(n),a=Array.isArray(o),i=a?o.length:o?1:0,u=r?n.length:n?1:0;"production"!==t.env.NODE_ENV?m(a===r&&i===u,"EventPluginUtils: Invalid `event`."):void 0});var E={isEndish:o,isMoveish:r,isStartish:a,executeDirectDispatch:c,executeDispatchesInOrder:u,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getNode:function(e){return g.Mount.getNode(e)},getID:function(e){return g.Mount.getID(e)},injection:g};e.exports=E}).call(t,n(0))},function(e,t,n){"use strict";function o(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var r=n(14),a=n(2),i=n(89);a(o.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,o=n.length,r=this.getText(),a=r.length;for(e=0;o>e&&n[e]===r[e];e++);var i=o-e;for(t=1;i>=t&&n[o-t]===r[a-t];t++);var u=t>1?1-t:void 0;return this._fallbackText=r.slice(e,u),this._fallbackText}}),r.addPoolingTo(o),e.exports=o},function(e,t,n){"use strict";var o,r=n(15),a=n(4),i=r.injection.MUST_USE_ATTRIBUTE,u=r.injection.MUST_USE_PROPERTY,s=r.injection.HAS_BOOLEAN_VALUE,l=r.injection.HAS_SIDE_EFFECTS,c=r.injection.HAS_NUMERIC_VALUE,p=r.injection.HAS_POSITIVE_NUMERIC_VALUE,d=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(a.canUseDOM){var f=document.implementation;o=f&&f.hasFeature&&f.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var h={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:i|s,allowTransparency:i,alt:null,async:s,autoComplete:null,autoPlay:s,capture:i|s,cellPadding:null,cellSpacing:null,charSet:i,challenge:i,checked:u|s,classID:i,className:o?i:u,cols:i|p,colSpan:null,content:null,contentEditable:null,contextMenu:i,controls:u|s,coords:null,crossOrigin:null,data:null,dateTime:i,"default":s,defer:s,dir:null,disabled:i|s,download:d,draggable:null,encType:null,form:i,formAction:i,formEncType:i,formMethod:i,formNoValidate:s,formTarget:i,frameBorder:i,headers:null,height:i,hidden:i|s,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:u,inputMode:i,integrity:null,is:i,keyParams:i,keyType:i,kind:null,label:null,lang:null,list:i,loop:u|s,low:null,manifest:i,marginHeight:null,marginWidth:null,max:null,maxLength:i,media:i,mediaGroup:null,method:null,min:null,minLength:i,multiple:u|s,muted:u|s,name:null,nonce:i,noValidate:s,open:s,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:u|s,rel:null,required:s,reversed:s,role:i,rows:i|p,rowSpan:null,sandbox:null,scope:null,scoped:s,scrolling:null,seamless:i|s,selected:u|s,shape:null,size:i|p,sizes:i,span:p,spellCheck:null,src:null,srcDoc:u,srcLang:null,srcSet:i,start:c,step:null,style:null,summary:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:u|l,width:i,wmode:i,wrap:null,about:i,datatype:i,inlist:i,prefix:i,property:i,resource:i,"typeof":i,vocab:i,autoCapitalize:i,autoCorrect:i,autoSave:null,color:null,itemProp:i,itemScope:i|s,itemType:i,itemID:i,itemRef:i,results:null,security:i,unselectable:i},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",autoSave:"autosave",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};e.exports=h},function(e,t,n){"use strict";var o=n(69),r=n(139),a=n(146),i=n(2),u=n(168),s={};i(s,a),i(s,{findDOMNode:u("findDOMNode","ReactDOM","react-dom",o,o.findDOMNode),render:u("render","ReactDOM","react-dom",o,o.render),unmountComponentAtNode:u("unmountComponentAtNode","ReactDOM","react-dom",o,o.unmountComponentAtNode),renderToString:u("renderToString","ReactDOMServer","react-dom/server",r,r.renderToString),renderToStaticMarkup:u("renderToStaticMarkup","ReactDOMServer","react-dom/server",r,r.renderToStaticMarkup)}),s.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=o,s.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=r,e.exports=s},function(e,t,n){"use strict";(function(t){var o=n(24),r=n(45),a=n(3),i="_getDOMNodeDidWarn",u={getDOMNode:function(){return"production"!==t.env.NODE_ENV?a(this.constructor[i],"%s.getDOMNode(...) is deprecated. Please use ReactDOM.findDOMNode(instance) instead.",o.get(this).getName()||this.tagName||"Unknown"):void 0,this.constructor[i]=!0,r(this)}};e.exports=u}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,n,o){var r=void 0===e[o];"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?s(r,"flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.",o):void 0),null!=n&&r&&(e[o]=a(n,null))}var r=n(16),a=n(50),i=n(53),u=n(54),s=n(3),l={instantiateChildren:function(e,t,n){if(null==e)return null;var r={};return u(e,o,r),r},updateChildren:function(e,t,n,o){if(!t&&!e)return null;var u;for(u in t)if(t.hasOwnProperty(u)){var s=e&&e[u],l=s&&s._currentElement,c=t[u];if(null!=s&&i(l,c))r.receiveComponent(s,c,n,o),t[u]=s;else{s&&r.unmountComponent(s,u);var p=a(c,null);t[u]=p}}for(u in e)!e.hasOwnProperty(u)||t&&t.hasOwnProperty(u)||r.unmountComponent(e[u]);return t},unmountChildren:function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];r.unmountComponent(n)}}};e.exports=l}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" Check the render method of `"+n+"`."}return""}function r(e){}var a=n(41),i=n(12),u=n(6),s=n(24),l=n(7),c=n(31),p=n(30),d=n(16),f=n(43),h=n(2),v=n(20),m=n(1),g=n(53),y=n(3);r.prototype.render=function(){var e=s.get(this)._currentElement.type;return e(this.props,this.context,this.updater)};var E=1,_={construct:function(e){this._currentElement=e,this._rootNodeID=null,this._instance=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null},mountComponent:function(e,n,o){this._context=o,this._mountOrder=E++,this._rootNodeID=e;var a,l,c=this._processProps(this._currentElement.props),p=this._processContext(o),h=this._currentElement.type,g="prototype"in h;if(g)if("production"!==t.env.NODE_ENV){i.current=this;try{a=new h(c,p,f)}finally{i.current=null}}else a=new h(c,p,f);g&&null!==a&&a!==!1&&!u.isValidElement(a)||(l=a,a=new r(h)),"production"!==t.env.NODE_ENV&&(null==a.render?"production"!==t.env.NODE_ENV?y(!1,"%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`, returned null/false from a stateless component, or tried to render an element whose type is a function that isn't a React component.",h.displayName||h.name||"Component"):void 0:"production"!==t.env.NODE_ENV?y(h.prototype&&h.prototype.isReactComponent||!g||!(a instanceof h),"%s(...): React component classes must extend React.Component.",h.displayName||h.name||"Component"):void 0),+a.props=c,a.context=p,a.refs=v,a.updater=f,this._instance=a,s.set(a,this),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?y(!a.getInitialState||a.getInitialState.isReactClassApproved,"getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?y(!a.getDefaultProps||a.getDefaultProps.isReactClassApproved,"getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?y(!a.propTypes,"propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?y(!a.contextTypes,"contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.",this.getName()||"a component"):void 0,"production"!==t.env.NODE_ENV?y("function"!=typeof a.componentShouldUpdate,"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",this.getName()||"A component"):void 0,"production"!==t.env.NODE_ENV?y("function"!=typeof a.componentDidUnmount,"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",this.getName()||"A component"):void 0,"production"!==t.env.NODE_ENV?y("function"!=typeof a.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",this.getName()||"A component"):void 0);var _=a.state;void 0===_&&(a.state=_=null),"object"!=typeof _||Array.isArray(_)?"production"!==t.env.NODE_ENV?m(!1,"%s.state: must be set to an object or null",this.getName()||"ReactCompositeComponent"):m(!1):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,a.componentWillMount&&(a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),void 0===l&&(l=this._renderValidatedComponent()),this._renderedComponent=this._instantiateReactComponent(l);var b=d.mountComponent(this._renderedComponent,e,n,this._processChildContext(o));return a.componentDidMount&&n.getReactMountReady().enqueue(a.componentDidMount,a),b},unmountComponent:function(){var e=this._instance;e.componentWillUnmount&&e.componentWillUnmount(),d.unmountComponent(this._renderedComponent),this._renderedComponent=null,this._instance=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=null,this._topLevelWrapper=null,s.remove(e)},_maskContext:function(e){var t=null,n=this._currentElement.type,o=n.contextTypes;if(!o)return v;t={};for(var r in o)t[r]=e[r];return t},_processContext:function(e){var n=this._maskContext(e);if("production"!==t.env.NODE_ENV){var o=this._currentElement.type;o.contextTypes&&this._checkPropTypes(o.contextTypes,n,c.context)}return n},_processChildContext:function(e){var n=this._currentElement.type,o=this._instance,r=o.getChildContext&&o.getChildContext();if(r){"object"!=typeof n.childContextTypes?"production"!==t.env.NODE_ENV?m(!1,"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",this.getName()||"ReactCompositeComponent"):m(!1):void 0,"production"!==t.env.NODE_ENV&&this._checkPropTypes(n.childContextTypes,r,c.childContext);for(var a in r)a in n.childContextTypes?void 0:"production"!==t.env.NODE_ENV?m(!1,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',this.getName()||"ReactCompositeComponent",a):m(!1);return h({},e,r)}return e},_processProps:function(e){if("production"!==t.env.NODE_ENV){var n=this._currentElement.type;n.propTypes&&this._checkPropTypes(n.propTypes,e,c.prop)}return e},_checkPropTypes:function(e,n,r){var a=this.getName();for(var i in e)if(e.hasOwnProperty(i)){var u;try{"function"!=typeof e[i]?"production"!==t.env.NODE_ENV?m(!1,"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",a||"React class",p[r],i):m(!1):void 0,u=e[i](n,i,a,r)}catch(s){u=s}if(u instanceof Error){var l=o(this);r===c.prop?"production"!==t.env.NODE_ENV?y(!1,"Failed Composite propType: %s%s",u.message,l):void 0:"production"!==t.env.NODE_ENV?y(!1,"Failed Context Types: %s%s",u.message,l):void 0}}},receiveComponent:function(e,t,n){var o=this._currentElement,r=this._context;this._pendingElement=null,this.updateComponent(t,o,e,r,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement&&d.receiveComponent(this,this._pendingElement||this._currentElement,e,this._context),(null!==this._pendingStateQueue||this._pendingForceUpdate)&&this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context)},updateComponent:function(e,n,o,r,a){var i,u=this._instance,s=this._context===a?u.context:this._processContext(a);n===o?i=o.props:(i=this._processProps(o.props),u.componentWillReceiveProps&&u.componentWillReceiveProps(i,s));var l=this._processPendingState(i,s),c=this._pendingForceUpdate||!u.shouldComponentUpdate||u.shouldComponentUpdate(i,l,s);"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?y("undefined"!=typeof c,"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",this.getName()||"ReactCompositeComponent"):void 0),c?(this._pendingForceUpdate=!1,this._performComponentUpdate(o,i,l,s,e,a)):(this._currentElement=o,this._context=a,u.props=i,u.state=l,u.context=s)},_processPendingState:function(e,t){var n=this._instance,o=this._pendingStateQueue,r=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!o)return n.state;if(r&&1===o.length)return o[0];for(var a=h({},r?o[0]:n.state),i=r?1:0;i<o.length;i++){var u=o[i];h(a,"function"==typeof u?u.call(n,a,e,t):u)}return a},_performComponentUpdate:function(e,t,n,o,r,a){var i,u,s,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(i=l.props,u=l.state,s=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,o),this._currentElement=e,this._context=a,l.props=t,l.state=n,l.context=o,this._updateRenderedComponent(r,a),c&&r.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,i,u,s),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,o=n._currentElement,r=this._renderValidatedComponent();if(g(o,r))d.receiveComponent(n,r,e,this._processChildContext(t));else{var a=this._rootNodeID,i=n._rootNodeID;d.unmountComponent(n),this._renderedComponent=this._instantiateReactComponent(r);var u=d.mountComponent(this._renderedComponent,a,e,this._processChildContext(t));this._replaceNodeWithMarkupByID(i,u)}},_replaceNodeWithMarkupByID:function(e,t){a.replaceNodeWithMarkupByID(e,t)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance,n=e.render();return"production"!==t.env.NODE_ENV&&"undefined"==typeof n&&e.render._isMockFunction&&(n=null),n},_renderValidatedComponent:function(){var e;i.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{i.current=null}return null===e||e===!1||u.isValidElement(e)?void 0:"production"!==t.env.NODE_ENV?m(!1,"%s.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.",this.getName()||"ReactCompositeComponent"):m(!1),e},attachRef:function(e,n){var o=this.getPublicInstance();null==o?"production"!==t.env.NODE_ENV?m(!1,"Stateless function components cannot have refs."):m(!1):void 0;var r=n.getPublicInstance();if("production"!==t.env.NODE_ENV){var a=n&&n.getName?n.getName():"a component";"production"!==t.env.NODE_ENV?y(null!=r,'Stateless function components cannot be given refs (See ref "%s" in %s created by %s). Attempts to access this ref will fail.',e,a,this.getName()):void 0}var i=o.refs===v?o.refs={}:o.refs;i[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return e instanceof r?null:e},_instantiateReactComponent:null};l.measureMethods(_,"ReactCompositeComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent",_renderValidatedComponent:"_renderValidatedComponent"});var b={Mixin:_};e.exports=b}).call(t,n(0))},function(e,t){"use strict";var n={onClick:!0,onDoubleClick:!0,onMouseDown:!0,onMouseMove:!0,onMouseUp:!0,onClickCapture:!0,onDoubleClickCapture:!0,onMouseDownCapture:!0,onMouseMoveCapture:!0,onMouseUpCapture:!0},o={getNativeProps:function(e,t,o){if(!t.disabled)return t;var r={};for(var a in t)t.hasOwnProperty(a)&&!n[a]&&(r[a]=t[a]);return r}};e.exports=o},function(e,t,n){"use strict";(function(t){function o(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}function r(){if("production"!==t.env.NODE_ENV){var e=this._reactInternalComponent;"production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .getDOMNode() of a DOM node; instead, use the node directly.%s",o(e)):void 0}return this}function a(){var e=this._reactInternalComponent;return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .isMounted() of a DOM node.%s",o(e)):void 0),!!e}function i(){if("production"!==t.env.NODE_ENV){var e=this._reactInternalComponent;"production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .setState(), .replaceState(), or .forceUpdate() of a DOM node. This is a no-op.%s",o(e)):void 0}}function u(e,n){var r=this._reactInternalComponent;"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .setProps() of a DOM node. Instead, call ReactDOM.render again at the top level.%s",o(r)):void 0),r&&(U.enqueueSetPropsInternal(r,e),n&&U.enqueueCallbackInternal(r,n))}function s(e,n){var r=this._reactInternalComponent;"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .replaceProps() of a DOM node. Instead, call ReactDOM.render again at the top level.%s",o(r)):void 0),r&&(U.enqueueReplacePropsInternal(r,e),n&&U.enqueueCallbackInternal(r,n))}function l(e){if("object"==typeof e){if(Array.isArray(e))return"["+e.map(l).join(", ")+"]";var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=/^[a-z$_][\w$_]*$/i.test(n)?n:JSON.stringify(n);t.push(o+": "+l(e[n]))}return"{"+t.join(", ")+"}"}return"string"==typeof e?JSON.stringify(e):"function"==typeof e?"[function object]":String(e)}function c(e,n,o){if(null!=e&&null!=n&&!z(e,n)){var r,a=o._tag,i=o._currentElement._owner;i&&(r=i.getName());var u=r+"|"+a;oe.hasOwnProperty(u)||(oe[u]=!0,"production"!==t.env.NODE_ENV?G(!1,"`%s` was passed a style object that has previously been mutated. Mutating `style` is deprecated. Consider cloning it beforehand. Check the `render` %s. Previous style: %s. Mutated style: %s.",a,i?"of `"+r+"`":"using <"+a+">",l(e),l(n)):void 0)}}function p(e,n){n&&("production"!==t.env.NODE_ENV&&ue[e._tag]&&("production"!==t.env.NODE_ENV?G(null==n.children&&null==n.dangerouslySetInnerHTML,"%s is a void element tag and must not have `children` or use `props.dangerouslySetInnerHTML`.%s",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):void 0),null!=n.dangerouslySetInnerHTML&&(null!=n.children?"production"!==t.env.NODE_ENV?B(!1,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):B(!1):void 0,"object"==typeof n.dangerouslySetInnerHTML&&te in n.dangerouslySetInnerHTML?void 0:"production"!==t.env.NODE_ENV?B(!1,"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information."):B(!1)),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?G(null==n.innerHTML,"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."):void 0,"production"!==t.env.NODE_ENV?G(!n.contentEditable||null==n.children,"A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."):void 0),null!=n.style&&"object"!=typeof n.style?"production"!==t.env.NODE_ENV?B(!1,"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.%s",o(e)):B(!1):void 0)}function d(e,n,o,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?G("onScroll"!==n||W("scroll",!0),"This browser doesn't support the `onScroll` event"):void 0);var a=k.findReactContainerForID(e);if(a){var i=a.nodeType===ne?a.ownerDocument:a;Q(n,i)}r.getReactMountReady().enqueue(f,{id:e,registrationName:n,listener:o})}function f(){var e=this;x.putListener(e.id,e.registrationName,e.listener)}function h(){var e=this;e._rootNodeID?void 0:"production"!==t.env.NODE_ENV?B(!1,"Must be mounted to trap events"):B(!1);var n=k.getNode(e._rootNodeID);switch(n?void 0:"production"!==t.env.NODE_ENV?B(!1,"trapBubbledEvent(...): Requires node to be rendered."):B(!1),e._tag){case"iframe":e._wrapperState.listeners=[x.trapBubbledEvent(w.topLevelTypes.topLoad,"load",n)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var o in re)re.hasOwnProperty(o)&&e._wrapperState.listeners.push(x.trapBubbledEvent(w.topLevelTypes[o],re[o],n));break;case"img":e._wrapperState.listeners=[x.trapBubbledEvent(w.topLevelTypes.topError,"error",n),x.trapBubbledEvent(w.topLevelTypes.topLoad,"load",n)];break;case"form":e._wrapperState.listeners=[x.trapBubbledEvent(w.topLevelTypes.topReset,"reset",n),x.trapBubbledEvent(w.topLevelTypes.topSubmit,"submit",n)]}}function v(){M.mountReadyWrapper(this)}function m(){I.postUpdateWrapper(this)}function g(e){ce.call(le,e)||(se.test(e)?void 0:"production"!==t.env.NODE_ENV?B(!1,"Invalid tag: %s",e):B(!1),le[e]=!0)}function y(e,t){e=L({},e);var n=e[Y.ancestorInfoContextKey];return e[Y.ancestorInfoContextKey]=Y.updatedAncestorInfo(n,t._tag,t),e}function E(e,t){return e.indexOf("-")>=0||null!=t.is}function _(e){g(e),this._tag=e.toLowerCase(),this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._rootNodeID=null,this._wrapperState=null,this._topLevelWrapper=null,this._nodeWithLegacyProperties=null,"production"!==t.env.NODE_ENV&&(this._unprocessedContextDev=null,this._processedContextDev=null)}var b,N=n(118),C=n(120),D=n(15),O=n(38),w=n(11),x=n(29),T=n(40),P=n(133),M=n(136),R=n(137),I=n(71),S=n(140),k=n(5),A=n(147),V=n(7),U=n(43),L=n(2),j=n(34),F=n(35),B=n(1),W=n(51),q=n(13),H=n(36),K=n(52),z=n(62),Y=n(55),G=n(3),X=x.deleteListener,Q=x.listenTo,J=x.registrationNameModules,$={string:!0,number:!0},Z=q({children:null}),ee=q({style:null}),te=q({__html:null}),ne=1;"production"!==t.env.NODE_ENV&&(b={props:{enumerable:!1,get:function(){var e=this._reactInternalComponent;return"production"!==t.env.NODE_ENV?G(!1,"ReactDOMComponent: Do not access .props of a DOM node; instead, recreate the props as `render` did originally or read the DOM properties/attributes directly from this node (e.g., this.refs.box.className).%s",o(e)):void 0,e._currentElement.props}}});var oe={},re={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},ae={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},ie={listing:!0,pre:!0,textarea:!0},ue=L({menuitem:!0},ae),se=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,le={},ce={}.hasOwnProperty;_.displayName="ReactDOMComponent",_.Mixin={construct:function(e){this._currentElement=e},mountComponent:function(e,n,o){this._rootNodeID=e;var r=this._currentElement.props;switch(this._tag){case"iframe":case"img":case"form":case"video":case"audio":this._wrapperState={listeners:null},n.getReactMountReady().enqueue(h,this);break;case"button":r=P.getNativeProps(this,r,o);break;case"input":M.mountWrapper(this,r,o),r=M.getNativeProps(this,r,o);break;case"option":R.mountWrapper(this,r,o),r=R.getNativeProps(this,r,o);break;case"select":I.mountWrapper(this,r,o),r=I.getNativeProps(this,r,o),o=I.processChildContext(this,r,o);break;case"textarea":S.mountWrapper(this,r,o),r=S.getNativeProps(this,r,o)}p(this,r),"production"!==t.env.NODE_ENV&&o[Y.ancestorInfoContextKey]&&Y(this._tag,this,o[Y.ancestorInfoContextKey]),"production"!==t.env.NODE_ENV&&(this._unprocessedContextDev=o,this._processedContextDev=y(o,this),o=this._processedContextDev);var a;if(n.useCreateElement){var i=o[k.ownerDocumentContextKey],u=i.createElement(this._currentElement.type);O.setAttributeForID(u,this._rootNodeID),k.getID(u),this._updateDOMProperties({},r,n,u),this._createInitialChildren(n,r,o,u),a=u}else{var s=this._createOpenTagMarkupAndPutListeners(n,r),l=this._createContentMarkup(n,r,o);a=!l&&ae[this._tag]?s+"/>":s+">"+l+"</"+this._currentElement.type+">"}switch(this._tag){case"input":n.getReactMountReady().enqueue(v,this);case"button":case"select":case"textarea":r.autoFocus&&n.getReactMountReady().enqueue(N.focusDOMComponent,this)}return a},_createOpenTagMarkupAndPutListeners:function(e,n){var o="<"+this._currentElement.type;for(var r in n)if(n.hasOwnProperty(r)){var a=n[r];if(null!=a)if(J.hasOwnProperty(r))a&&d(this._rootNodeID,r,a,e);else{r===ee&&(a&&("production"!==t.env.NODE_ENV&&(this._previousStyle=a),a=this._previousStyleCopy=L({},n.style)),a=C.createMarkupForStyles(a));var i=null;null!=this._tag&&E(this._tag,n)?r!==Z&&(i=O.createMarkupForCustomAttribute(r,a)):i=O.createMarkupForProperty(r,a),i&&(o+=" "+i)}}if(e.renderToStaticMarkup)return o;var u=O.createMarkupForID(this._rootNodeID);return o+" "+u},_createContentMarkup:function(e,t,n){var o="",r=t.dangerouslySetInnerHTML;if(null!=r)null!=r.__html&&(o=r.__html);else{var a=$[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)o=F(a);else if(null!=i){var u=this.mountChildren(i,e,n);o=u.join("")}}return ie[this._tag]&&"\n"===o.charAt(0)?"\n"+o:o},_createInitialChildren:function(e,t,n,o){var r=t.dangerouslySetInnerHTML;if(null!=r)null!=r.__html&&H(o,r.__html);else{var a=$[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)K(o,a);else if(null!=i)for(var u=this.mountChildren(i,e,n),s=0;s<u.length;s++)o.appendChild(u[s])}},receiveComponent:function(e,t,n){var o=this._currentElement;this._currentElement=e,this.updateComponent(t,o,e,n)},updateComponent:function(e,n,o,r){var a=n.props,i=this._currentElement.props;switch(this._tag){case"button":a=P.getNativeProps(this,a),i=P.getNativeProps(this,i);break;case"input":M.updateWrapper(this),a=M.getNativeProps(this,a),i=M.getNativeProps(this,i);break;case"option":a=R.getNativeProps(this,a),i=R.getNativeProps(this,i);break;case"select":a=I.getNativeProps(this,a),i=I.getNativeProps(this,i);break;case"textarea":S.updateWrapper(this),a=S.getNativeProps(this,a),i=S.getNativeProps(this,i)}"production"!==t.env.NODE_ENV&&(this._unprocessedContextDev!==r&&(this._unprocessedContextDev=r,this._processedContextDev=y(r,this)),r=this._processedContextDev),p(this,i),this._updateDOMProperties(a,i,e,null),this._updateDOMChildren(a,i,e,r),!j&&this._nodeWithLegacyProperties&&(this._nodeWithLegacyProperties.props=i),"select"===this._tag&&e.getReactMountReady().enqueue(m,this)},_updateDOMProperties:function(e,n,o,r){var a,i,u;for(a in e)if(!n.hasOwnProperty(a)&&e.hasOwnProperty(a))if(a===ee){var s=this._previousStyleCopy;for(i in s)s.hasOwnProperty(i)&&(u=u||{},u[i]="");this._previousStyleCopy=null}else J.hasOwnProperty(a)?e[a]&&X(this._rootNodeID,a):(D.properties[a]||D.isCustomAttribute(a))&&(r||(r=k.getNode(this._rootNodeID)),O.deleteValueForProperty(r,a));for(a in n){var l=n[a],p=a===ee?this._previousStyleCopy:e[a];if(n.hasOwnProperty(a)&&l!==p)if(a===ee)if(l?("production"!==t.env.NODE_ENV&&(c(this._previousStyleCopy,this._previousStyle,this),this._previousStyle=l),l=this._previousStyleCopy=L({},l)):this._previousStyleCopy=null,p){for(i in p)!p.hasOwnProperty(i)||l&&l.hasOwnProperty(i)||(u=u||{},u[i]="");for(i in l)l.hasOwnProperty(i)&&p[i]!==l[i]&&(u=u||{},u[i]=l[i])}else u=l;else J.hasOwnProperty(a)?l?d(this._rootNodeID,a,l,o):p&&X(this._rootNodeID,a):E(this._tag,n)?(r||(r=k.getNode(this._rootNodeID)),a===Z&&(l=null),O.setValueForAttribute(r,a,l)):(D.properties[a]||D.isCustomAttribute(a))&&(r||(r=k.getNode(this._rootNodeID)),null!=l?O.setValueForProperty(r,a,l):O.deleteValueForProperty(r,a))}u&&(r||(r=k.getNode(this._rootNodeID)),C.setValueForStyles(r,u))},_updateDOMChildren:function(e,t,n,o){var r=$[typeof e.children]?e.children:null,a=$[typeof t.children]?t.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,u=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,s=null!=r?null:e.children,l=null!=a?null:t.children,c=null!=r||null!=i,p=null!=a||null!=u;null!=s&&null==l?this.updateChildren(null,n,o):c&&!p&&this.updateTextContent(""),null!=a?r!==a&&this.updateTextContent(""+a):null!=u?i!==u&&this.updateMarkup(""+u):null!=l&&this.updateChildren(l,n,o)},unmountComponent:function(){switch(this._tag){case"iframe":case"img":case"form":case"video":case"audio":var e=this._wrapperState.listeners;if(e)for(var n=0;n<e.length;n++)e[n].remove();break;case"input":M.unmountWrapper(this);break;case"html":case"head":case"body":"production"!==t.env.NODE_ENV?B(!1,"<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.",this._tag):B(!1)}if(this.unmountChildren(),x.deleteAllListeners(this._rootNodeID),T.unmountIDFromEnvironment(this._rootNodeID),this._rootNodeID=null,this._wrapperState=null,this._nodeWithLegacyProperties){var o=this._nodeWithLegacyProperties;o._reactInternalComponent=null,this._nodeWithLegacyProperties=null}},getPublicInstance:function(){if(!this._nodeWithLegacyProperties){var e=k.getNode(this._rootNodeID);e._reactInternalComponent=this,e.getDOMNode=r,e.isMounted=a,e.setState=i,e.replaceState=i,e.forceUpdate=i,e.setProps=u,e.replaceProps=s,"production"!==t.env.NODE_ENV&&j?Object.defineProperties(e,b):e.props=this._currentElement.props,this._nodeWithLegacyProperties=e}return this._nodeWithLegacyProperties}},V.measureMethods(_,"ReactDOMComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent"}),L(_.prototype,_.Mixin,A.Mixin),e.exports=_}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e){return"production"!==t.env.NODE_ENV?a.createFactory(e):r.createFactory(e)}var r=n(6),a=n(75),i=n(105),u=i({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hgroup:"hgroup",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",image:"image",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},o);e.exports=u}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(){this._rootNodeID&&d.updateWrapper(this)}function r(e){var n=this._currentElement.props,r=i.executeOnChange(n,e);s.asap(o,this);var a=n.name;if("radio"===n.type&&null!=a){for(var l=u.getNode(this._rootNodeID),d=l;d.parentNode;)d=d.parentNode;for(var f=d.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),h=0;h<f.length;h++){var v=f[h];if(v!==l&&v.form===l.form){var m=u.getID(v);m?void 0:"production"!==t.env.NODE_ENV?c(!1,"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."):c(!1);var g=p[m];g?void 0:"production"!==t.env.NODE_ENV?c(!1,"ReactDOMInput: Unknown radio button ID %s.",m):c(!1),s.asap(o,g)}}}return r}var a=n(42),i=n(39),u=n(5),s=n(8),l=n(2),c=n(1),p={},d={getNativeProps:function(e,t,n){var o=i.getValue(t),r=i.getChecked(t),a=l({},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=o?o:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return a},mountWrapper:function(e,n){"production"!==t.env.NODE_ENV&&i.checkPropTypes("input",n,e._currentElement._owner);var o=n.defaultValue;e._wrapperState={initialChecked:n.defaultChecked||!1,initialValue:null!=o?o:null,onChange:r.bind(e)}},mountReadyWrapper:function(e){p[e._rootNodeID]=e},unmountWrapper:function(e){delete p[e._rootNodeID]},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&a.updatePropertyByID(e._rootNodeID,"checked",n||!1);var o=i.getValue(t);null!=o&&a.updatePropertyByID(e._rootNodeID,"value",""+o)}};e.exports=d}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(66),r=n(71),a=n(2),i=n(3),u=r.valueContextKey,s={mountWrapper:function(e,n,o){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?i(null==n.selected,"Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."):void 0);var r=o[u],a=null;if(null!=r)if(a=!1,Array.isArray(r)){for(var s=0;s<r.length;s++)if(""+r[s]==""+n.value){a=!0;break}}else a=""+r==""+n.value;e._wrapperState={selected:a}},getNativeProps:function(e,n,r){var u=a({selected:void 0,children:void 0},n);null!=e._wrapperState.selected&&(u.selected=e._wrapperState.selected);var s="";return o.forEach(n.children,function(e){null!=e&&("string"==typeof e||"number"==typeof e?s+=e:"production"!==t.env.NODE_ENV?i(!1,"Only strings and numbers are supported as <option> children."):void 0)}),s&&(u.children=s),u}};e.exports=s}).call(t,n(0))},function(e,t,n){"use strict";function o(e,t,n,o){return e===n&&t===o}function r(e){var t=document.selection,n=t.createRange(),o=n.text.length,r=n.duplicate();r.moveToElementText(e),r.setEndPoint("EndToStart",n);var a=r.text.length,i=a+o;return{start:a,end:i}}function a(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,r=t.anchorOffset,a=t.focusNode,i=t.focusOffset,u=t.getRangeAt(0);try{u.startContainer.nodeType,u.endContainer.nodeType}catch(s){return null}var l=o(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),c=l?0:u.toString().length,p=u.cloneRange();p.selectNodeContents(e),p.setEnd(u.startContainer,u.startOffset);var d=o(p.startContainer,p.startOffset,p.endContainer,p.endOffset),f=d?0:p.toString().length,h=f+c,v=document.createRange();v.setStart(n,r),v.setEnd(a,i);var m=v.collapsed;return{start:m?h:f,end:m?f:h}}function i(e,t){var n,o,r=document.selection.createRange().duplicate();"undefined"==typeof t.end?(n=t.start,o=n):t.start>t.end?(n=t.end,o=t.start):(n=t.start,o=t.end),r.moveToElementText(e),r.moveStart("character",n),r.setEndPoint("EndToStart",r),r.moveEnd("character",o-n),r.select()}function u(e,t){if(window.getSelection){var n=window.getSelection(),o=e[c()].length,r=Math.min(t.start,o),a="undefined"==typeof t.end?r:Math.min(t.end,o);if(!n.extend&&r>a){var i=a;a=r,r=i}var u=l(e,r),s=l(e,a);if(u&&s){var p=document.createRange();p.setStart(u.node,u.offset),n.removeAllRanges(),r>a?(n.addRange(p),n.extend(s.node,s.offset)):(p.setEnd(s.node,s.offset),n.addRange(p))}}}var s=n(4),l=n(171),c=n(89),p=s.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?r:a,setOffsets:p?i:u};e.exports=d},function(e,t,n){"use strict";var o=n(74),r=n(152),a=n(44);o.inject();var i={renderToString:r.renderToString,renderToStaticMarkup:r.renderToStaticMarkup,version:a};e.exports=i},function(e,t,n){"use strict";(function(t){function o(){this._rootNodeID&&p.updateWrapper(this)}function r(e){var t=this._currentElement.props,n=a.executeOnChange(t,e);return u.asap(o,this),n}var a=n(39),i=n(42),u=n(8),s=n(2),l=n(1),c=n(3),p={getNativeProps:function(e,n,o){null!=n.dangerouslySetInnerHTML?"production"!==t.env.NODE_ENV?l(!1,"`dangerouslySetInnerHTML` does not make sense on <textarea>."):l(!1):void 0;var r=s({},n,{defaultValue:void 0,value:void 0,children:e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return r},mountWrapper:function(e,n){"production"!==t.env.NODE_ENV&&a.checkPropTypes("textarea",n,e._currentElement._owner);var o=n.defaultValue,i=n.children;null!=i&&("production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?c(!1,"Use the `defaultValue` or `value` props instead of setting children on <textarea>."):void 0),null!=o?"production"!==t.env.NODE_ENV?l(!1,"If you supply `defaultValue` on a <textarea>, do not pass children."):l(!1):void 0,Array.isArray(i)&&(i.length<=1?void 0:"production"!==t.env.NODE_ENV?l(!1,"<textarea> can only have at most one child."):l(!1),i=i[0]),o=""+i),null==o&&(o="");var u=a.getValue(n);e._wrapperState={initialValue:""+(null!=u?u:o),onChange:r.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=a.getValue(t);null!=n&&i.updatePropertyByID(e._rootNodeID,"value",""+n)}};e.exports=p}).call(t,n(0))},function(e,t,n){"use strict";function o(e){return Math.floor(100*e)/100}function r(e,t,n){e[t]=(e[t]||0)+n}var a=n(15),i=n(142),u=n(5),s=n(7),l=n(108),c={_allMeasurements:[],_mountStack:[0],_injected:!1,start:function(){c._injected||s.injection.injectMeasure(c.measure),c._allMeasurements.length=0,s.enableMeasure=!0},stop:function(){s.enableMeasure=!1},getLastMeasurements:function(){return c._allMeasurements},printExclusive:function(e){e=e||c._allMeasurements;var t=i.getExclusiveSummary(e);console.table(t.map(function(e){return{"Component class name":e.componentName,"Total inclusive time (ms)":o(e.inclusive),"Exclusive mount time (ms)":o(e.exclusive),"Exclusive render time (ms)":o(e.render),"Mount time per instance (ms)":o(e.exclusive/e.count),"Render time per instance (ms)":o(e.render/e.count),Instances:e.count}}))},printInclusive:function(e){+e=e||c._allMeasurements;var t=i.getInclusiveSummary(e);console.table(t.map(function(e){return{"Owner > component":e.componentName,"Inclusive time (ms)":o(e.time),Instances:e.count}})),console.log("Total time:",i.getTotalTime(e).toFixed(2)+" ms")},getMeasurementsSummaryMap:function(e){var t=i.getInclusiveSummary(e,!0);return t.map(function(e){return{"Owner > component":e.componentName,"Wasted time (ms)":e.time,Instances:e.count}})},printWasted:function(e){e=e||c._allMeasurements,console.table(c.getMeasurementsSummaryMap(e)),console.log("Total time:",i.getTotalTime(e).toFixed(2)+" ms")},printDOM:function(e){e=e||c._allMeasurements;var t=i.getDOMSummary(e);console.table(t.map(function(e){var t={};return t[a.ID_ATTRIBUTE_NAME]=e.id,t.type=e.type,t.args=JSON.stringify(e.args),t})),console.log("Total time:",i.getTotalTime(e).toFixed(2)+" ms")},_recordWrite:function(e,t,n,o){var r=c._allMeasurements[c._allMeasurements.length-1].writes;r[e]=r[e]||[],r[e].push({type:t,time:n,args:o})},measure:function(e,t,n){return function(){for(var o=arguments.length,a=Array(o),i=0;o>i;i++)a[i]=arguments[i];var s,p,d;if("_renderNewRootComponent"===t||"flushBatchedUpdates"===t)return c._allMeasurements.push({exclusive:{},inclusive:{},render:{},counts:{},writes:{},displayNames:{},totalTime:0,created:{}}),d=l(),p=n.apply(this,a),c._allMeasurements[c._allMeasurements.length-1].totalTime=l()-d,p;if("_mountImageIntoNode"===t||"ReactBrowserEventEmitter"===e||"ReactDOMIDOperations"===e||"CSSPropertyOperations"===e||"DOMChildrenOperations"===e||"DOMPropertyOperations"===e){if(d=l(),p=n.apply(this,a),s=l()-d,"_mountImageIntoNode"===t){var f=u.getID(a[1]);c._recordWrite(f,t,s,a[0])}else if("dangerouslyProcessChildrenUpdates"===t)a[0].forEach(function(e){var t={};null!==e.fromIndex&&(t.fromIndex=e.fromIndex),null!==e.toIndex&&(t.toIndex=e.toIndex),null!==e.textContent&&(t.textContent=e.textContent),null!==e.markupIndex&&(t.markup=a[1][e.markupIndex]),c._recordWrite(e.parentID,e.type,s,t)});else{var h=a[0];"object"==typeof h&&(h=u.getID(a[0])),c._recordWrite(h,t,s,Array.prototype.slice.call(a,1))}return p}if("ReactCompositeComponent"!==e||"mountComponent"!==t&&"updateComponent"!==t&&"_renderValidatedComponent"!==t)return n.apply(this,a);if(this._currentElement.type===u.TopLevelWrapper)return n.apply(this,a);var v="mountComponent"===t?a[0]:this._rootNodeID,m="_renderValidatedComponent"===t,g="mountComponent"===t,y=c._mountStack,E=c._allMeasurements[c._allMeasurements.length-1];if(m?r(E.counts,v,1):g&&(E.created[v]=!0,y.push(0)),d=l(),p=n.apply(this,a),s=l()-d,m)r(E.render,v,s);else if(g){var _=y.pop();y[y.length-1]+=s,r(E.exclusive,v,s-_),r(E.inclusive,v,s)}else r(E.inclusive,v,s);return E.displayNames[v]={current:this.getName(),owner:this._currentElement._owner?this._currentElement._owner.getName():"<root>"},p}}};e.exports=c},function(e,t,n){"use strict";function o(e){for(var t=0,n=0;n<e.length;n++){var o=e[n];t+=o.totalTime}return t}function r(e){var t=[];return e.forEach(function(e){Object.keys(e.writes).forEach(function(n){e.writes[n].forEach(function(e){t.push({id:n,type:c[e.type]||e.type,args:e.args})})})}),t}function a(e){for(var t,n={},o=0;o<e.length;o++){var r=e[o],a=s({},r.exclusive,r.inclusive);for(var i in a)t=r.displayNames[i].current,n[t]=n[t]||{componentName:t,inclusive:0,exclusive:0,render:0,count:0},r.render[i]&&(n[t].render+=r.render[i]),r.exclusive[i]&&(n[t].exclusive+=r.exclusive[i]),r.inclusive[i]&&(n[t].inclusive+=r.inclusive[i]),r.counts[i]&&(n[t].count+=r.counts[i])}var u=[];for(t in n)n[t].exclusive>=l&&u.push(n[t]);return u.sort(function(e,t){return t.exclusive-e.exclusive}),u}function i(e,t){for(var n,o={},r=0;r<e.length;r++){var a,i=e[r],c=s({},i.exclusive,i.inclusive);t&&(a=u(i));for(var p in c)if(!t||a[p]){var d=i.displayNames[p];n=d.owner+" > "+d.current,o[n]=o[n]||{componentName:n,time:0,count:0},i.inclusive[p]&&(o[n].time+=i.inclusive[p]),i.counts[p]&&(o[n].count+=i.counts[p])}}var f=[];for(n in o)o[n].time>=l&&f.push(o[n]);return f.sort(function(e,t){return t.time-e.time}),f}function u(e){var t={},n=Object.keys(e.writes),o=s({},e.exclusive,e.inclusive);for(var r in o){for(var a=!1,i=0;i<n.length;i++)if(0===n[i].indexOf(r)){a=!0;break}e.created[r]&&(a=!0),!a&&e.counts[r]>0&&(t[r]=!0)}return t}var s=n(2),l=1.2,c={_mountImageIntoNode:"set innerHTML",INSERT_MARKUP:"set innerHTML",MOVE_EXISTING:"move",REMOVE_NODE:"remove",SET_MARKUP:"set innerHTML",TEXT_CONTENT:"set textContent",setValueForProperty:"update attribute",setValueForAttribute:"update attribute",deleteValueForProperty:"remove attribute",setValueForStyles:"update styles",replaceNodeWithMarkup:"replace",updateTextContent:"set textContent"},p={getExclusiveSummary:a,getInclusiveSummary:i,getDOMSummary:r,getTotalTime:o};e.exports=p},function(e,t,n){"use strict";function o(e){r.enqueueEvents(e),r.processEventQueue(!1)}var r=n(22),a={handleTopLevel:function(e,t,n,a,i){var u=r.extractEvents(e,t,n,a,i);o(u)}};e.exports=a},function(e,t,n){"use strict";function o(e){var t=d.getID(e),n=p.getReactRootIDFromNodeID(t),o=d.findReactContainerForID(n),r=d.getFirstReactDOM(o);return r}function r(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function a(e){i(e)}function i(e){for(var t=d.getFirstReactDOM(v(e.nativeEvent))||window,n=t;n;)e.ancestors.push(n),n=o(n);for(var r=0;r<e.ancestors.length;r++){t=e.ancestors[r];var a=d.getID(t)||"";g._handleTopLevel(e.topLevelType,t,a,e.nativeEvent,v(e.nativeEvent))}}function u(e){var t=m(window);e(t)}var s=n(57),l=n(4),c=n(14),p=n(19),d=n(5),f=n(8),h=n(2),v=n(48),m=n(100);h(r.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(r,c.twoArgumentPooler);var g={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){g._handleTopLevel=e},setEnabled:function(e){g._enabled=!!e},isEnabled:function(){return g._enabled},trapBubbledEvent:function(e,t,n){var o=n;return o?s.listen(o,t,g.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){var o=n;return o?s.capture(o,t,g.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=u.bind(null,e);s.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(g._enabled){var n=r.getPooled(e,t);try{f.batchedUpdates(a,n)}finally{r.release(n)}}}};e.exports=g},function(e,t,n){"use strict";var o=n(15),r=n(22),a=n(41),i=n(67),u=n(76),s=n(29),l=n(82),c=n(7),p=n(85),d=n(8),f={Component:a.injection,Class:i.injection,DOMProperty:o.injection,EmptyComponent:u.injection,EventPluginHub:r.injection,EventEmitter:s.injection,NativeComponent:l.injection,Perf:c.injection,RootIndex:p.injection,Updates:d.injection};e.exports=f},function(e,t,n){"use strict";(function(t){var o=n(66),r=n(68),a=n(67),i=n(135),u=n(6),s=n(75),l=n(84),c=n(44),p=n(2),d=n(172),f=u.createElement,h=u.createFactory,v=u.cloneElement;"production"!==t.env.NODE_ENV&&(f=s.createElement,h=s.createFactory,v=s.cloneElement);var m={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:d},Component:r,createElement:f,cloneElement:v,isValidElement:u.isValidElement,PropTypes:l,createClass:a.createClass,createFactory:h,createMixin:function(e){return e},DOM:i,version:c,__spread:p};e.exports=m}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,t,n){g.push({parentID:e,parentNode:null,type:p.INSERT_MARKUP,markupIndex:y.push(t)-1,content:null,fromIndex:null,toIndex:n})}function r(e,t,n){g.push({parentID:e,parentNode:null,type:p.MOVE_EXISTING,markupIndex:null,content:null,fromIndex:t,toIndex:n})}function a(e,t){g.push({parentID:e,parentNode:null,type:p.REMOVE_NODE,markupIndex:null,content:null,fromIndex:t,toIndex:null})}function i(e,t){g.push({parentID:e,parentNode:null,type:p.SET_MARKUP,markupIndex:null,content:t,fromIndex:null,toIndex:null})}function u(e,t){g.push({parentID:e,parentNode:null,type:p.TEXT_CONTENT,markupIndex:null,content:t,fromIndex:null,toIndex:null})}function s(){g.length&&(c.processChildrenUpdates(g,y),l())}function l(){g.length=0,y.length=0}var c=n(41),p=n(81),d=n(12),f=n(16),h=n(131),v=n(169),m=0,g=[],y=[],E={Mixin:{_reconcilerInstantiateChildren:function(e,n,o){if("production"!==t.env.NODE_ENV&&this._currentElement)try{return d.current=this._currentElement._owner,h.instantiateChildren(e,n,o)}finally{d.current=null}return h.instantiateChildren(e,n,o)},_reconcilerUpdateChildren:function(e,n,o,r){var a;if("production"!==t.env.NODE_ENV&&this._currentElement){try{d.current=this._currentElement._owner,a=v(n)}finally{d.current=null}return h.updateChildren(e,a,o,r)}return a=v(n),h.updateChildren(e,a,o,r)},mountChildren:function(e,t,n){var o=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=o;var r=[],a=0;for(var i in o)if(o.hasOwnProperty(i)){var u=o[i],s=this._rootNodeID+i,l=f.mountComponent(u,s,t,n);u._mountIndex=a++,r.push(l)}return r},updateTextContent:function(e){m++;var t=!0;try{var n=this._renderedChildren;h.unmountChildren(n);for(var o in n)n.hasOwnProperty(o)&&this._unmountChild(n[o]);this.setTextContent(e),t=!1}finally{m--,m||(t?l():s())}},updateMarkup:function(e){m++;var t=!0;try{var n=this._renderedChildren;h.unmountChildren(n);for(var o in n)n.hasOwnProperty(o)&&this._unmountChildByName(n[o],o);this.setMarkup(e),t=!1}finally{m--,m||(t?l():s())}},updateChildren:function(e,t,n){m++;var o=!0;try{this._updateChildren(e,t,n),o=!1}finally{m--,m||(o?l():s())}},_updateChildren:function(e,t,n){var o=this._renderedChildren,r=this._reconcilerUpdateChildren(o,e,t,n);if(this._renderedChildren=r,r||o){var a,i=0,u=0;for(a in r)if(r.hasOwnProperty(a)){var s=o&&o[a],l=r[a];s===l?(this.moveChild(s,u,i),i=Math.max(s._mountIndex,i),s._mountIndex=u):(s&&(i=Math.max(s._mountIndex,i),this._unmountChild(s)),this._mountChildByNameAtIndex(l,a,u,t,n)),u++}for(a in o)!o.hasOwnProperty(a)||r&&r.hasOwnProperty(a)||this._unmountChild(o[a])}},unmountChildren:function(){var e=this._renderedChildren;h.unmountChildren(e),this._renderedChildren=null},moveChild:function(e,t,n){e._mountIndex<n&&r(this._rootNodeID,e._mountIndex,t)},createChild:function(e,t){o(this._rootNodeID,t,e._mountIndex)},removeChild:function(e){a(this._rootNodeID,e._mountIndex)},setTextContent:function(e){u(this._rootNodeID,e)},setMarkup:function(e){i(this._rootNodeID,e)},_mountChildByNameAtIndex:function(e,t,n,o,r){var a=this._rootNodeID+t,i=f.mountComponent(e,a,o,r);e._mountIndex=n,this.createChild(e,i)},_unmountChild:function(e){this.removeChild(e),e._mountIndex=null}}};e.exports=E}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var o=n(1),r={isValidOwner:function(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)},addComponentAsRefTo:function(e,n,a){r.isValidOwner(a)?void 0:"production"!==t.env.NODE_ENV?o(!1,"addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner)."):o(!1),a.attachRef(n,e)},removeComponentAsRefFrom:function(e,n,a){r.isValidOwner(a)?void 0:"production"!==t.env.NODE_ENV?o(!1,"removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component's `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner)."):o(!1),a.getPublicInstance().refs[n]===e.getPublicInstance()&&a.detachRef(n)}};e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";function o(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=r.getPooled(null),this.useCreateElement=!e&&u.useCreateElement}var r=n(37),a=n(14),i=n(29),u=n(70),s=n(79),l=n(33),c=n(2),p={initialize:s.getSelectionInformation,close:s.restoreSelection},d={initialize:function(){var e=i.isEnabled();return i.setEnabled(!1),e},close:function(e){i.setEnabled(e)}},f={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[p,d,f],v={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},destructor:function(){r.release(this.reactMountReady),this.reactMountReady=null}};c(o.prototype,l.Mixin,v),a.addPoolingTo(o),e.exports=o},function(e,t,n){"use strict";function o(e,t,n){"function"==typeof e?e(t.getPublicInstance()):a.addComponentAsRefTo(t,e,n)}function r(e,t,n){"function"==typeof e?e(null):a.removeComponentAsRefFrom(t,e,n)}var a=n(148),i={};i.attachRefs=function(e,t){if(null!==t&&t!==!1){var n=t.ref;null!=n&&o(n,e,t._owner)}},i.shouldUpdateRefs=function(e,t){var n=null===e||e===!1,o=null===t||t===!1;return n||o||t._owner!==e._owner||t.ref!==e.ref},i.detachRefs=function(e,t){if(null!==t&&t!==!1){var n=t.ref;null!=n&&r(n,e,t._owner)}},e.exports=i},function(e,t){"use strict";var n={isBatchingUpdates:!1,batchedUpdates:function(e){}};e.exports=n},function(e,t,n){"use strict";(function(t){function o(e){i.isValidElement(e)?void 0:"production"!==t.env.NODE_ENV?h(!1,"renderToString(): You must pass a valid ReactElement."):h(!1);var n;try{p.injection.injectBatchingStrategy(l);var o=u.createReactRootID();return n=c.getPooled(!1),n.perform(function(){var t=f(e,null),r=t.mountComponent(o,n,d);return s.addChecksumToMarkup(r)},null)}finally{c.release(n),p.injection.injectBatchingStrategy(a)}}function r(e){i.isValidElement(e)?void 0:"production"!==t.env.NODE_ENV?h(!1,"renderToStaticMarkup(): You must pass a valid ReactElement."):h(!1);var n;try{p.injection.injectBatchingStrategy(l);var o=u.createReactRootID();return n=c.getPooled(!0),n.perform(function(){var t=f(e,null);return t.mountComponent(o,n,d)},null)}finally{c.release(n),p.injection.injectBatchingStrategy(a)}}var a=n(73),i=n(6),u=n(19),s=n(80),l=n(151),c=n(153),p=n(8),d=n(20),f=n(50),h=n(1);e.exports={renderToString:o,renderToStaticMarkup:r}}).call(t,n(0))},function(e,t,n){"use strict";function o(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.reactMountReady=a.getPooled(null),this.useCreateElement=!1}var r=n(14),a=n(37),i=n(33),u=n(2),s=n(10),l={initialize:function(){this.reactMountReady.reset()},close:s},c=[l],p={getTransactionWrappers:function(){return c},getReactMountReady:function(){return this.reactMountReady},destructor:function(){a.release(this.reactMountReady),this.reactMountReady=null}};u(o.prototype,i.Mixin,p),r.addPoolingTo(o),e.exports=o},function(e,t,n){"use strict";var o=n(15),r=o.injection.MUST_USE_ATTRIBUTE,a={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},i={Properties:{clipPath:r,cx:r,cy:r,d:r,dx:r,dy:r,fill:r,fillOpacity:r,fontFamily:r,fontSize:r,fx:r,fy:r,gradientTransform:r,gradientUnits:r,markerEnd:r,markerMid:r,markerStart:r,offset:r,opacity:r,patternContentUnits:r,patternUnits:r,points:r,preserveAspectRatio:r,r:r,rx:r,ry:r,spreadMethod:r,stopColor:r,stopOpacity:r,stroke:r,strokeDasharray:r,strokeLinecap:r,strokeOpacity:r,strokeWidth:r,textAnchor:r,transform:r,version:r,viewBox:r,x1:r,x2:r,x:r,xlinkActuate:r,xlinkArcrole:r,xlinkHref:r,xlinkRole:r,xlinkShow:r,xlinkTitle:r,xlinkType:r,xmlBase:r,xmlLang:r,xmlSpace:r,y1:r,y2:r,y:r},DOMAttributeNamespaces:{xlinkActuate:a.xlink,xlinkArcrole:a.xlink,xlinkHref:a.xlink,xlinkRole:a.xlink,xlinkShow:a.xlink,xlinkTitle:a.xlink,xlinkType:a.xlink,xmlBase:a.xml,xmlLang:a.xml,xmlSpace:a.xml},DOMAttributeNames:{clipPath:"clip-path",fillOpacity:"fill-opacity",fontFamily:"font-family",fontSize:"font-size",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",patternContentUnits:"patternContentUnits",patternUnits:"patternUnits",preserveAspectRatio:"preserveAspectRatio",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeLinecap:"stroke-linecap",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlLang:"xml:lang",xmlSpace:"xml:space"}};e.exports=i},function(e,t,n){"use strict";function o(e){if("selectionStart"in e&&s.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function r(e,t){if(_||null==g||g!==c())return null;var n=o(g);if(!E||!f(E,n)){E=n;var r=l.getPooled(m.select,y,e,t);return r.type="select",r.target=g,i.accumulateTwoPhaseDispatches(r),r}return null}var a=n(11),i=n(23),u=n(4),s=n(79),l=n(17),c=n(60),p=n(90),d=n(13),f=n(62),h=a.topLevelTypes,v=u.canUseDOM&&"documentMode"in document&&document.documentMode<=11,m={select:{phasedRegistrationNames:{bubbled:d({onSelect:null}),captured:d({onSelectCapture:null})},dependencies:[h.topBlur,h.topContextMenu,h.topFocus,h.topKeyDown,h.topMouseDown,h.topMouseUp,h.topSelectionChange]}},g=null,y=null,E=null,_=!1,b=!1,N=d({onSelect:null}),C={eventTypes:m,extractEvents:function(e,t,n,o,a){if(!b)return null;switch(e){case h.topFocus:(p(t)||"true"===t.contentEditable)&&(g=t,y=n,E=null);break;case h.topBlur:g=null,y=null,E=null;break;case h.topMouseDown:_=!0;break;case h.topContextMenu:case h.topMouseUp:return _=!1,r(o,a);case h.topSelectionChange:if(v)break;case h.topKeyDown:case h.topKeyUp:return r(o,a)}return null},didPutListener:function(e,t,n){t===N&&(b=!0)}};e.exports=C},function(e,t){"use strict";var n=Math.pow(2,53),o={createReactRootIndex:function(){return Math.ceil(Math.random()*n)}};e.exports=o},function(e,t,n){"use strict";(function(t){var o=n(11),r=n(57),a=n(23),i=n(5),u=n(158),s=n(17),l=n(161),c=n(163),p=n(32),d=n(160),f=n(164),h=n(25),v=n(165),m=n(10),g=n(46),y=n(1),E=n(13),_=o.topLevelTypes,b={abort:{phasedRegistrationNames:{bubbled:E({onAbort:!0}),captured:E({onAbortCapture:!0})}},blur:{phasedRegistrationNames:{bubbled:E({onBlur:!0}),captured:E({onBlurCapture:!0})}},canPlay:{phasedRegistrationNames:{bubbled:E({onCanPlay:!0}),captured:E({onCanPlayCapture:!0})}},canPlayThrough:{phasedRegistrationNames:{bubbled:E({onCanPlayThrough:!0}),captured:E({onCanPlayThroughCapture:!0})}},click:{phasedRegistrationNames:{bubbled:E({onClick:!0}),captured:E({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:E({onContextMenu:!0}),captured:E({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:E({onCopy:!0}),captured:E({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:E({onCut:!0}),captured:E({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:E({onDoubleClick:!0}),captured:E({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:E({onDrag:!0}),captured:E({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:E({onDragEnd:!0}),captured:E({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:E({onDragEnter:!0}),captured:E({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:E({onDragExit:!0}),captured:E({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:E({onDragLeave:!0}),captured:E({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:E({onDragOver:!0}),captured:E({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:E({onDragStart:!0}),captured:E({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:E({onDrop:!0}),captured:E({onDropCapture:!0})}},durationChange:{phasedRegistrationNames:{bubbled:E({onDurationChange:!0}),captured:E({onDurationChangeCapture:!0})}},emptied:{phasedRegistrationNames:{bubbled:E({onEmptied:!0}),captured:E({onEmptiedCapture:!0})}},encrypted:{phasedRegistrationNames:{bubbled:E({onEncrypted:!0}),captured:E({onEncryptedCapture:!0})}},ended:{phasedRegistrationNames:{bubbled:E({onEnded:!0}),captured:E({onEndedCapture:!0})}},error:{phasedRegistrationNames:{bubbled:E({onError:!0}),captured:E({onErrorCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:E({onFocus:!0}),captured:E({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:E({onInput:!0}),captured:E({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:E({onKeyDown:!0}),captured:E({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:E({onKeyPress:!0}),captured:E({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:E({onKeyUp:!0}),captured:E({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:E({onLoad:!0}),captured:E({onLoadCapture:!0})}},loadedData:{phasedRegistrationNames:{bubbled:E({onLoadedData:!0}),captured:E({onLoadedDataCapture:!0})}},loadedMetadata:{phasedRegistrationNames:{bubbled:E({onLoadedMetadata:!0}),captured:E({onLoadedMetadataCapture:!0})}},loadStart:{phasedRegistrationNames:{bubbled:E({onLoadStart:!0}),captured:E({onLoadStartCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:E({onMouseDown:!0}),captured:E({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:E({onMouseMove:!0}),captured:E({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:E({onMouseOut:!0}),captured:E({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:E({onMouseOver:!0}),captured:E({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:E({onMouseUp:!0}),captured:E({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:E({onPaste:!0}),captured:E({onPasteCapture:!0})}},pause:{phasedRegistrationNames:{bubbled:E({onPause:!0}),captured:E({onPauseCapture:!0})}},play:{phasedRegistrationNames:{bubbled:E({onPlay:!0}),captured:E({onPlayCapture:!0})}},playing:{phasedRegistrationNames:{bubbled:E({onPlaying:!0}),captured:E({onPlayingCapture:!0})}},progress:{phasedRegistrationNames:{bubbled:E({onProgress:!0}),captured:E({onProgressCapture:!0})}},rateChange:{phasedRegistrationNames:{bubbled:E({onRateChange:!0}),captured:E({onRateChangeCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:E({onReset:!0}),captured:E({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:E({onScroll:!0}),captured:E({onScrollCapture:!0})}},seeked:{phasedRegistrationNames:{bubbled:E({onSeeked:!0}),captured:E({onSeekedCapture:!0})}},seeking:{phasedRegistrationNames:{bubbled:E({onSeeking:!0}),captured:E({onSeekingCapture:!0})}},stalled:{phasedRegistrationNames:{bubbled:E({onStalled:!0}),captured:E({onStalledCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:E({onSubmit:!0}),captured:E({onSubmitCapture:!0})}},suspend:{phasedRegistrationNames:{bubbled:E({onSuspend:!0}),captured:E({onSuspendCapture:!0})}},timeUpdate:{phasedRegistrationNames:{bubbled:E({onTimeUpdate:!0}),captured:E({onTimeUpdateCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:E({onTouchCancel:!0}),captured:E({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:E({onTouchEnd:!0}),captured:E({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:E({onTouchMove:!0}),captured:E({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:E({onTouchStart:!0}),captured:E({onTouchStartCapture:!0})}},volumeChange:{phasedRegistrationNames:{bubbled:E({onVolumeChange:!0}),captured:E({onVolumeChangeCapture:!0})}},waiting:{phasedRegistrationNames:{bubbled:E({onWaiting:!0}),captured:E({onWaitingCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:E({onWheel:!0}),captured:E({onWheelCapture:!0})}}},N={topAbort:b.abort,topBlur:b.blur,topCanPlay:b.canPlay,topCanPlayThrough:b.canPlayThrough,topClick:b.click,topContextMenu:b.contextMenu,topCopy:b.copy,topCut:b.cut,topDoubleClick:b.doubleClick,topDrag:b.drag,topDragEnd:b.dragEnd,topDragEnter:b.dragEnter,topDragExit:b.dragExit,topDragLeave:b.dragLeave,topDragOver:b.dragOver,topDragStart:b.dragStart,topDrop:b.drop,topDurationChange:b.durationChange,topEmptied:b.emptied,topEncrypted:b.encrypted,topEnded:b.ended,topError:b.error,topFocus:b.focus,topInput:b.input,topKeyDown:b.keyDown,topKeyPress:b.keyPress,topKeyUp:b.keyUp,topLoad:b.load,topLoadedData:b.loadedData,topLoadedMetadata:b.loadedMetadata,topLoadStart:b.loadStart,topMouseDown:b.mouseDown,topMouseMove:b.mouseMove,topMouseOut:b.mouseOut,topMouseOver:b.mouseOver,topMouseUp:b.mouseUp,topPaste:b.paste,topPause:b.pause,topPlay:b.play,topPlaying:b.playing,topProgress:b.progress,topRateChange:b.rateChange,topReset:b.reset,topScroll:b.scroll,topSeeked:b.seeked,topSeeking:b.seeking,topStalled:b.stalled,topSubmit:b.submit,topSuspend:b.suspend,topTimeUpdate:b.timeUpdate,topTouchCancel:b.touchCancel,topTouchEnd:b.touchEnd,topTouchMove:b.touchMove,topTouchStart:b.touchStart,topVolumeChange:b.volumeChange,topWaiting:b.waiting,topWheel:b.wheel};for(var C in N)N[C].dependencies=[C];var D=E({onClick:null}),O={},w={eventTypes:b,extractEvents:function(e,n,o,r,i){var m=N[e];if(!m)return null;var E;switch(e){case _.topAbort:case _.topCanPlay:case _.topCanPlayThrough:case _.topDurationChange:case _.topEmptied:case _.topEncrypted:case _.topEnded:case _.topError:case _.topInput:case _.topLoad:case _.topLoadedData:case _.topLoadedMetadata:case _.topLoadStart:case _.topPause:case _.topPlay:case _.topPlaying:case _.topProgress:case _.topRateChange:case _.topReset:case _.topSeeked:case _.topSeeking:case _.topStalled:case _.topSubmit:case _.topSuspend:case _.topTimeUpdate:case _.topVolumeChange:case _.topWaiting:E=s;break;case _.topKeyPress:if(0===g(r))return null;case _.topKeyDown:case _.topKeyUp:E=c;break;case _.topBlur:case _.topFocus:E=l;break;case _.topClick:if(2===r.button)return null;case _.topContextMenu:case _.topDoubleClick:case _.topMouseDown:case _.topMouseMove:case _.topMouseOut:case _.topMouseOver:case _.topMouseUp:E=p;break;case _.topDrag:case _.topDragEnd:case _.topDragEnter:case _.topDragExit:case _.topDragLeave:case _.topDragOver:case _.topDragStart:case _.topDrop:E=d;break;case _.topTouchCancel:case _.topTouchEnd:case _.topTouchMove:case _.topTouchStart:E=f;break;case _.topScroll:E=h;break;case _.topWheel:E=v;break;case _.topCopy:case _.topCut:case _.topPaste:E=u}E?void 0:"production"!==t.env.NODE_ENV?y(!1,"SimpleEventPlugin: Unhandled event type, `%s`.",e):y(!1);var b=E.getPooled(m,o,r,i);return a.accumulateTwoPhaseDispatches(b),b},didPutListener:function(e,t,n){if(t===D){var o=i.getNode(e);O[e]||(O[e]=r.listen(o,"click",m))}},willDeleteListener:function(e,t){t===D&&(O[e].remove(),delete O[e])}};e.exports=w}).call(t,n(0))},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(17),a={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};r.augmentClass(o,a),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(17),a={data:null};r.augmentClass(o,a),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(32),a={dataTransfer:null};r.augmentClass(o,a),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(25),a={relatedTarget:null};r.augmentClass(o,a),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(17),a={data:null};r.augmentClass(o,a),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(25),a=n(46),i=n(170),u=n(47),s={key:i,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:u,charCode:function(e){return"keypress"===e.type?a(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?a(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};r.augmentClass(o,s),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(25),a=n(47),i={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:a};r.augmentClass(o,i),e.exports=o},function(e,t,n){"use strict";function o(e,t,n,o){r.call(this,e,t,n,o)}var r=n(32),a={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};r.augmentClass(o,a),e.exports=o},function(e,t){"use strict";function n(e){for(var t=1,n=0,r=0,a=e.length,i=-4&a;i>r;){for(;r<Math.min(r+4096,i);r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=o,n%=o}for(;a>r;r++)n+=t+=e.charCodeAt(r);return t%=o,n%=o,t|n<<16}var o=65521;e.exports=n},function(e,t,n){"use strict";function o(e,t){var n=null==t||"boolean"==typeof t||""===t;if(n)return"";var o=isNaN(t);return o||0===t||a.hasOwnProperty(e)&&a[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var r=n(63),a=r.isUnitlessNumber;e.exports=o},function(e,t,n){"use strict";(function(t){function o(e,n,o,i,u){var s=!1;if("production"!==t.env.NODE_ENV){var l=function(){return"production"!==t.env.NODE_ENV?a(s,"React.%s is deprecated. Please use %s.%s from require('%s') instead.",e,n,e,o):void 0,s=!0,u.apply(i,arguments)};return r(l,u)}return u}var r=n(2),a=n(3);e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function o(e,n,o){var r=e,a=void 0===r[o];"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?i(a,"flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.",o):void 0),a&&null!=n&&(r[o]=n)}function r(e){if(null==e)return e;var t={};return a(e,o,t),t}var a=n(54),i=n(3);e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";function o(e){if(e.key){var t=a[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=r(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}var r=n(46),a={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},i={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=o},function(e,t){"use strict";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function r(e,t){for(var r=n(e),a=0,i=0;r;){if(3===r.nodeType){if(i=a+r.textContent.length,t>=a&&i>=t)return{node:r,offset:t-a};a=i}r=n(o(r))}}e.exports=r},function(e,t,n){"use strict";(function(t){function o(e){return r.isValidElement(e)?void 0:"production"!==t.env.NODE_ENV?a(!1,"onlyChild must be passed a children with exactly one child."):a(!1),e}var r=n(6),a=n(1);e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";function o(e){return'"'+r(e)+'"'}var r=n(35);e.exports=o},function(e,t,n){"use strict";var o=n(5);e.exports=o.renderSubtreeIntoContainer},function(e,t){e.exports=osc},function(e,t,n){e.exports=n(91)}]);
+ client/dist-local/index.html view
@@ -0,0 +1,188 @@+<!DOCTYPE html>+<html>+  <head>+    <title>HYLOGEN</title>+    <style>+     html, body {+         width: 100%;+         height: 100%;+         margin: 0;+         padding: 0;+         overflow: hidden;+     }+     div {+         margin: 0;+         padding: 0;+     }+     #entry {+         width: 100%;+         height: 100%;+         margin: 0;+         padding: 0;+         display: flex;+         justify-content: center;+         align-items: center;+         font-family: "Lucida Sans Typewriter", "Lucida Sans", "Andale Mono", AndaleMono, monospace;+         font-size: 12px;+     }+     .program {+         width: 100vmax;+         height: 100vmax;+     }++     #banner {+         position: fixed;+         background: none;+         pointer-events: none;+         left: 0;+         top: 0;+         width: 100%;+         height: 100vh;+         color: rgba(255, 255, 255, 1);+         display: flex;+         justify-content: center;+         align-items: center;+         margin: 0;+         padding: 0;+         pointer-events: none;+         z-index: 0;+     }++     #title {+         text-transform: uppercase;+         font-style: italic;+         font-weight: bold;+         font-size: 15vw;+         letter-spacing: 0.1em;+         text-shadow: 0 0 0.2em rgba(255, 255, 255, 1);+         font-family: arial;+     }+++++     .inputPicker {+         color: rgba(255, 255, 255, 0.5);+         width:20vw;+         margin: 1em;+     }++     .audioControls {+         position: fixed;+         display: flex;+         bottom: 0;+         left: 0;+         z-index: 10;+         color: rgba(255, 255, 255, 0.7);+         background: rgba(0, 0, 0, 0.2);+         width: 100vw;+         height: auto;+         pointer-events: all;+         /* mix-blend-mode: screen; */+     }+     input {+         font-family: inherit;+         background: none;+         border: none;+         color: rgba(255, 255, 255, 0.7);+     }+     input:hover {+         background: rgba(255, 255, 255, 0.5);+     }+     input[type="radio"] {+         opacity: 0.5;+     }+     button {+         font-family: inherit;+         background: none;+         border: none;+         color: rgba(255, 255, 255, 0.7);+     }+     button:hover {+         background: rgba(255, 255, 255, 0.5);+     }+     .sb-soundplayer-progress-container {+         background-color: rgba(255, 255, 255, 0.2);+         width: 100%;+         height: 10px;+         overflow: hidden;+         cursor: pointer;+     }++     .sb-soundplayer-progress-inner {+         background-color: #ff88ee;+         height: 100%;+         -webkit-transition: width .2s ease-in;+                 transition: width .2s ease-in;+     }+     .scPlayer {+         width: 60vw;+         margin: 1em;+     }+     .row {+         display: flex;+         margin-top: 0.5em;+         justify-content: center;+         align-items: center;+     }+     #hideButton{+         position: fixed;+         z-index: 20;+         bottom: 0;+         right: 0;+         background: rgba(0, 0, 0, 0.1);+         color: rgba(255, 255, 255, 0.4);+     }+     a {+         text-decoration: none;+         color: inherit;+         color: #888888;+     }+     .hidden {+         visibility: hidden;+         -webkit-transition: visibility 0s 3s, opacity 3s ease-in-out;+         -moz-transition: visibility 0s 3s, opacity 3s ease-in-out;+         -ms-transition: visibility 0s 3s, opacity 3s ease-in-out;+         -o-transition: visibility 0s 3s, opacity 3s ease-in-out;+         opacity: 0;+     }+     .hiddenFast {+         visibility: hidden;+         -webkit-transition: visibility 0s 0.5s, opacity 0.5s ease-in-out;+         -moz-transition: visibility 0s 0.5s, opacity 0.5s ease-in-out;+         -ms-transition: visibility 0s 0.5s, opacity 0.5s ease-in-out;+         -o-transition: visibility 0s 0.5s, opacity 0.5s ease-in-out;+         opacity: 0;+     }+     .unhiddenFast {+         visibility: visible;+         -webkit-transition: opacity 0.5s ease-in-out;+         -moz-transition: opacity 0.5s ease-in-out;+         -ms-transition: opacity 0.5s ease-in-out;+         -o-transition: opacity 0.5s ease-in-out;+         opacity: 1;+     }+     .errorText {+       position: fixed;+       background: rgba(0, 0, 0, 0.5);+       width: 100%;+       height: 100%;+       left: 0;+       top: 0;+       white-space: pre-wrap;+       color: white;+       padding: 2em;+     }+    </style>+  </head>+  <body>+    <div id="entry"></div>+  <script type="text/javascript">+/*! osc.js 2.1.0, Copyright 2016 Colin Clark | github.com/colinbdclark/osc.js */++var osc=osc||{};!function(){"use strict";osc.SECS_70YRS=2208988800,osc.TWO_32=4294967296,osc.defaults={metadata:!1,unpackSingleArgs:!0},osc.isBufferEnv="undefined"!=typeof Buffer,osc.isCommonJS="undefined"!=typeof module&&module.exports,osc.isNode=osc.isCommonJS&&"undefined"==typeof window,osc.isArray=function(a){return a&&"[object Array]"===Object.prototype.toString.call(a)},osc.isTypedArrayView=function(a){return a.buffer&&a.buffer instanceof ArrayBuffer},osc.isBuffer=function(a){return osc.isBufferEnv&&a instanceof Buffer};var a="undefined"!=typeof dcodeIO?dcodeIO.Long:"undefined"!=typeof a?a:osc.isNode?require("long"):void 0;osc.dataView=function(a,b,c){return a.buffer?new DataView(a.buffer,b,c):a instanceof ArrayBuffer?new DataView(a,b,c):new DataView(new Uint8Array(a),b,c)},osc.byteArray=function(a){if(a instanceof Uint8Array)return a;var b=a.buffer?a.buffer:a;if(!(b instanceof ArrayBuffer||"undefined"!=typeof b.length&&"string"!=typeof b))throw new Error("Can't wrap a non-array-like object as Uint8Array. Object was: "+JSON.stringify(a,null,2));return new Uint8Array(b)},osc.nativeBuffer=function(a){return osc.isBufferEnv&&osc.isNode?osc.isBuffer(a)?a:new Buffer(a.buffer?a:new Uint8Array(a)):osc.isTypedArrayView(a)?a:new Uint8Array(a)},osc.copyByteArray=function(a,b,c){if(osc.isTypedArrayView(a)&&osc.isTypedArrayView(b))b.set(a,c);else for(var d=void 0===c?0:c,e=Math.min(b.length-c,a.length),f=0,g=d;e>f;f++,g++)b[g]=a[f];return b},osc.readString=function(a,b){for(var c=[],d=b.idx;d<a.byteLength;d++){var e=a.getUint8(d);if(0===e){d++;break}c.push(e)}return d=d+3&-4,b.idx=d,String.fromCharCode.apply(null,c)},osc.writeString=function(a){for(var b=a+"\x00",c=b.length,d=c+3&-4,e=new Uint8Array(d),f=0;f<b.length;f++){var g=b.charCodeAt(f);e[f]=g}return e},osc.readPrimitive=function(a,b,c,d){var e=a[b](d.idx,!1);return d.idx+=c,e},osc.writePrimitive=function(a,b,c,d,e){e=void 0===e?0:e;var f;return b?f=new Uint8Array(b.buffer):(f=new Uint8Array(d),b=new DataView(f.buffer)),b[c](e,a,!1),f},osc.readInt32=function(a,b){return osc.readPrimitive(a,"getInt32",4,b)},osc.writeInt32=function(a,b,c){return osc.writePrimitive(a,b,"setInt32",4,c)},osc.readInt64=function(b,c){var d=osc.readPrimitive(b,"getInt32",4,c),e=osc.readPrimitive(b,"getInt32",4,c);return a?new a(e,d):{high:d,low:e,unsigned:!1}},osc.writeInt64=function(a,b,c){var d=new Uint8Array(8);return d.set(osc.writePrimitive(a.high,b,"setInt32",4,c),0),d.set(osc.writePrimitive(a.low,b,"setInt32",4,c+4),4),d},osc.readFloat32=function(a,b){return osc.readPrimitive(a,"getFloat32",4,b)},osc.writeFloat32=function(a,b,c){return osc.writePrimitive(a,b,"setFloat32",4,c)},osc.readFloat64=function(a,b){return osc.readPrimitive(a,"getFloat64",8,b)},osc.writeFloat64=function(a,b,c){return osc.writePrimitive(a,b,"setFloat64",8,c)},osc.readChar32=function(a,b){var c=osc.readPrimitive(a,"getUint32",4,b);return String.fromCharCode(c)},osc.writeChar32=function(a,b,c){var d=a.charCodeAt(0);if(!(void 0===d||-1>d))return osc.writePrimitive(d,b,"setUint32",4,c)},osc.readBlob=function(a,b){var c=osc.readInt32(a,b),d=c+3&-4,e=new Uint8Array(a.buffer,b.idx,c);return b.idx+=d,e},osc.writeBlob=function(a){a=osc.byteArray(a);var b=a.byteLength,c=b+3&-4,d=4,e=c+d,f=new Uint8Array(e),g=new DataView(f.buffer);return osc.writeInt32(b,g),f.set(a,d),f},osc.readMIDIBytes=function(a,b){var c=new Uint8Array(a.buffer,b.idx,4);return b.idx+=4,c},osc.writeMIDIBytes=function(a){a=osc.byteArray(a);var b=new Uint8Array(4);return b.set(a),b},osc.readColor=function(a,b){var c=new Uint8Array(a.buffer,b.idx,4),d=c[3]/255;return b.idx+=4,{r:c[0],g:c[1],b:c[2],a:d}},osc.writeColor=function(a){var b=Math.round(255*a.a),c=new Uint8Array([a.r,a.g,a.b,b]);return c},osc.readTrue=function(){return!0},osc.readFalse=function(){return!1},osc.readNull=function(){return null},osc.readImpulse=function(){return 1},osc.readTimeTag=function(a,b){var c=osc.readPrimitive(a,"getUint32",4,b),d=osc.readPrimitive(a,"getUint32",4,b),e=0===c&&1===d?Date.now():osc.ntpToJSTime(c,d);return{raw:[c,d],"native":e}},osc.writeTimeTag=function(a){var b=a.raw?a.raw:osc.jsToNTPTime(a["native"]),c=new Uint8Array(8),d=new DataView(c.buffer);return osc.writeInt32(b[0],d,0),osc.writeInt32(b[1],d,4),c},osc.timeTag=function(a,b){a=a||0,b=b||Date.now();var c=b/1e3,d=Math.floor(c),e=c-d,f=Math.floor(a),g=a-f,h=e+g;if(h>1){var i=Math.floor(h),j=h-i;f+=i,h=j}var k=d+f+osc.SECS_70YRS,l=Math.round(osc.TWO_32*h);return{raw:[k,l]}},osc.ntpToJSTime=function(a,b){var c=a-osc.SECS_70YRS,d=b/osc.TWO_32,e=1e3*(c+d);return e},osc.jsToNTPTime=function(a){var b=a/1e3,c=Math.floor(b),d=b-c,e=c+osc.SECS_70YRS,f=Math.round(osc.TWO_32*d);return[e,f]},osc.readArguments=function(a,b,c){var d=osc.readString(a,c);if(0!==d.indexOf(","))throw new Error("A malformed type tag string was found while reading the arguments of an OSC message. String was: "+d," at offset: "+c.idx);var e=d.substring(1).split(""),f=[];return osc.readArgumentsIntoArray(f,e,d,a,b,c),f},osc.readArgument=function(a,b,c,d,e){var f=osc.argumentTypes[a];if(!f)throw new Error("'"+a+"' is not a valid OSC type tag. Type tag string was: "+b);var g=f.reader,h=osc[g](c,e);return d.metadata&&(h={type:a,value:h}),h},osc.readArgumentsIntoArray=function(a,b,c,d,e,f){for(var g=0;g<b.length;){var h,i=b[g];if("["===i){var j=b.slice(g+1),k=j.indexOf("]");if(0>k)throw new Error("Invalid argument type tag: an open array type tag ('[') was found without a matching close array tag ('[]'). Type tag was: "+c);var l=j.slice(0,k);h=osc.readArgumentsIntoArray([],l,c,d,e,f),g+=k+2}else h=osc.readArgument(i,c,d,e,f),g++;a.push(h)}return a},osc.writeArguments=function(a,b){var c=osc.collectArguments(a,b);return osc.joinParts(c)},osc.joinParts=function(a){for(var b=new Uint8Array(a.byteLength),c=a.parts,d=0,e=0;e<c.length;e++){var f=c[e];osc.copyByteArray(f,b,d),d+=f.length}return b},osc.addDataPart=function(a,b){b.parts.push(a),b.byteLength+=a.length},osc.writeArrayArguments=function(a,b){for(var c="[",d=0;d<a.length;d++){var e=a[d];c+=osc.writeArgument(e,b)}return c+="]"},osc.writeArgument=function(a,b){if(osc.isArray(a))return osc.writeArrayArguments(a,b);var c=a.type,d=osc.argumentTypes[c].writer;if(d){var e=osc[d](a.value);osc.addDataPart(e,b)}return a.type},osc.collectArguments=function(a,b,c){osc.isArray(a)||(a="undefined"==typeof a?[]:[a]),c=c||{byteLength:0,parts:[]},b.metadata||(a=osc.annotateArguments(a));for(var d=",",e=c.parts.length,f=0;f<a.length;f++){var g=a[f];d+=osc.writeArgument(g,c)}var h=osc.writeString(d);return c.byteLength+=h.byteLength,c.parts.splice(e,0,h),c},osc.readMessage=function(a,b,c){b=b||osc.defaults;var d=osc.dataView(a,a.byteOffset,a.byteLength);c=c||{idx:0};var e=osc.readString(d,c);return osc.readMessageContents(e,d,b,c)},osc.readMessageContents=function(a,b,c,d){if(0!==a.indexOf("/"))throw new Error("A malformed OSC address was found while reading an OSC message. String was: "+a);var e=osc.readArguments(b,c,d);return{address:a,args:1===e.length&&c.unpackSingleArgs?e[0]:e}},osc.collectMessageParts=function(a,b,c){return c=c||{byteLength:0,parts:[]},osc.addDataPart(osc.writeString(a.address),c),osc.collectArguments(a.args,b,c)},osc.writeMessage=function(a,b){if(b=b||osc.defaults,!osc.isValidMessage(a))throw new Error("An OSC message must contain a valid address. Message was: "+JSON.stringify(a,null,2));var c=osc.collectMessageParts(a,b);return osc.joinParts(c)},osc.isValidMessage=function(a){return a.address&&0===a.address.indexOf("/")},osc.readBundle=function(a,b,c){return osc.readPacket(a,b,c)},osc.collectBundlePackets=function(a,b,c){c=c||{byteLength:0,parts:[]},osc.addDataPart(osc.writeString("#bundle"),c),osc.addDataPart(osc.writeTimeTag(a.timeTag),c);for(var d=0;d<a.packets.length;d++){var e=a.packets[d],f=e.address?osc.collectMessageParts:osc.collectBundlePackets,g=f(e,b);c.byteLength+=g.byteLength,osc.addDataPart(osc.writeInt32(g.byteLength),c),c.parts=c.parts.concat(g.parts)}return c},osc.writeBundle=function(a,b){if(!osc.isValidBundle(a))throw new Error("An OSC bundle must contain 'timeTag' and 'packets' properties. Bundle was: "+JSON.stringify(a,null,2));b=b||osc.defaults;var c=osc.collectBundlePackets(a,b);return osc.joinParts(c)},osc.isValidBundle=function(a){return void 0!==a.timeTag&&void 0!==a.packets},osc.readBundleContents=function(a,b,c,d){for(var e=osc.readTimeTag(a,c),f=[];c.idx<d;){var g=osc.readInt32(a,c),h=c.idx+g,i=osc.readPacket(a,b,c,h);f.push(i)}return{timeTag:e,packets:f}},osc.readPacket=function(a,b,c,d){var e=osc.dataView(a,a.byteOffset,a.byteLength);d=void 0===d?e.byteLength:d,c=c||{idx:0};var f=osc.readString(e,c),g=f[0];if("#"===g)return osc.readBundleContents(e,b,c,d);if("/"===g)return osc.readMessageContents(f,e,b,c);throw new Error("The header of an OSC packet didn't contain an OSC address or a #bundle string. Header was: "+f)},osc.writePacket=function(a,b){if(osc.isValidMessage(a))return osc.writeMessage(a,b);if(osc.isValidBundle(a))return osc.writeBundle(a,b);throw new Error("The specified packet was not recognized as a valid OSC message or bundle. Packet was: "+JSON.stringify(a,null,2))},osc.argumentTypes={i:{reader:"readInt32",writer:"writeInt32"},h:{reader:"readInt64",writer:"writeInt64"},f:{reader:"readFloat32",writer:"writeFloat32"},s:{reader:"readString",writer:"writeString"},S:{reader:"readString",writer:"writeString"},b:{reader:"readBlob",writer:"writeBlob"},t:{reader:"readTimeTag",writer:"writeTimeTag"},T:{reader:"readTrue"},F:{reader:"readFalse"},N:{reader:"readNull"},I:{reader:"readImpulse"},d:{reader:"readFloat64",writer:"writeFloat64"},c:{reader:"readChar32",writer:"writeChar32"},r:{reader:"readColor",writer:"writeColor"},m:{reader:"readMIDIBytes",writer:"writeMIDIBytes"}},osc.inferTypeForArgument=function(a){var b=typeof a;switch(b){case"boolean":return a?"T":"F";case"string":return"s";case"number":return"f";case"undefined":return"N";case"object":if(null===a)return"N";if(a instanceof Uint8Array||a instanceof ArrayBuffer)return"b";if("number"==typeof a.high&&"number"==typeof a.low)return"h"}throw new Error("Can't infer OSC argument type for value: "+JSON.stringify(a,null,2))},osc.annotateArguments=function(a){for(var b=[],c=0;c<a.length;c++){var d,e=a[c];if("object"==typeof e&&e.type&&void 0!==e.value)d=e;else if(osc.isArray(e))d=osc.annotateArguments(e);else{var f=osc.inferTypeForArgument(e);d={type:f,value:e}}b.push(d)}return b},osc.isCommonJS&&(module.exports=osc)}(),function(a,b){"function"==typeof define&&define.amd?define([],b):"function"==typeof require&&"object"==typeof module&&module&&module.exports?module.exports=b():(a.dcodeIO=a.dcodeIO||{}).Long=b()}(this,function(){"use strict";function a(a,b,c){this.low=0|a,this.high=0|b,this.unsigned=!!c}function b(a){return(a&&a.__isLong__)===!0}function c(a,b){var c,d,f;return b?(a>>>=0,(f=a>=0&&256>a)&&(d=i[a])?d:(c=e(a,0>(0|a)?-1:0,!0),f&&(i[a]=c),c)):(a|=0,(f=a>=-128&&128>a)&&(d=h[a])?d:(c=e(a,0>a?-1:0,!1),f&&(h[a]=c),c))}function d(a,b){if(isNaN(a)||!isFinite(a))return b?q:p;if(b){if(0>a)return q;if(a>=m)return v}else{if(-n>=a)return w;if(a+1>=n)return u}return 0>a?d(-a,b).neg():e(a%l|0,a/l|0,b)}function e(b,c,d){return new a(b,c,d)}function f(a,b,c){if(0===a.length)throw Error("empty string");if("NaN"===a||"Infinity"===a||"+Infinity"===a||"-Infinity"===a)return p;if("number"==typeof b?(c=b,b=!1):b=!!b,c=c||10,2>c||c>36)throw RangeError("radix");var e;if((e=a.indexOf("-"))>0)throw Error("interior hyphen");if(0===e)return f(a.substring(1),b,c).neg();for(var g=d(j(c,8)),h=p,i=0;i<a.length;i+=8){var k=Math.min(8,a.length-i),l=parseInt(a.substring(i,i+k),c);if(8>k){var m=d(j(c,k));h=h.mul(m).add(d(l))}else h=h.mul(g),h=h.add(d(l))}return h.unsigned=b,h}function g(b){return b instanceof a?b:"number"==typeof b?d(b):"string"==typeof b?f(b):e(b.low,b.high,b.unsigned)}a.__isLong__,Object.defineProperty(a.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),a.isLong=b;var h={},i={};a.fromInt=c,a.fromNumber=d,a.fromBits=e;var j=Math.pow;a.fromString=f,a.fromValue=g;var k=1<<24,l=4294967296,m=0x10000000000000000,n=m/2,o=c(k),p=c(0);a.ZERO=p;var q=c(0,!0);a.UZERO=q;var r=c(1);a.ONE=r;var s=c(1,!0);a.UONE=s;var t=c(-1);a.NEG_ONE=t;var u=e(-1,2147483647,!1);a.MAX_VALUE=u;var v=e(-1,-1,!0);a.MAX_UNSIGNED_VALUE=v;var w=e(0,-2147483648,!1);a.MIN_VALUE=w;var x=a.prototype;return x.toInt=function(){return this.unsigned?this.low>>>0:this.low},x.toNumber=function(){return this.unsigned?(this.high>>>0)*l+(this.low>>>0):this.high*l+(this.low>>>0)},x.toString=function(a){if(a=a||10,2>a||a>36)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(w)){var b=d(a),c=this.div(b),e=c.mul(b).sub(this);return c.toString(a)+e.toInt().toString(a)}return"-"+this.neg().toString(a)}for(var f=d(j(a,6),this.unsigned),g=this,h="";;){var i=g.div(f),k=g.sub(i.mul(f)).toInt()>>>0,l=k.toString(a);if(g=i,g.isZero())return l+h;for(;l.length<6;)l="0"+l;h=""+l+h}},x.getHighBits=function(){return this.high},x.getHighBitsUnsigned=function(){return this.high>>>0},x.getLowBits=function(){return this.low},x.getLowBitsUnsigned=function(){return this.low>>>0},x.getNumBitsAbs=function(){if(this.isNegative())return this.eq(w)?64:this.neg().getNumBitsAbs();for(var a=0!=this.high?this.high:this.low,b=31;b>0&&0==(a&1<<b);b--);return 0!=this.high?b+33:b+1},x.isZero=function(){return 0===this.high&&0===this.low},x.isNegative=function(){return!this.unsigned&&this.high<0},x.isPositive=function(){return this.unsigned||this.high>=0},x.isOdd=function(){return 1===(1&this.low)},x.isEven=function(){return 0===(1&this.low)},x.equals=function(a){return b(a)||(a=g(a)),this.unsigned!==a.unsigned&&this.high>>>31===1&&a.high>>>31===1?!1:this.high===a.high&&this.low===a.low},x.eq=x.equals,x.notEquals=function(a){return!this.eq(a)},x.neq=x.notEquals,x.lessThan=function(a){return this.comp(a)<0},x.lt=x.lessThan,x.lessThanOrEqual=function(a){return this.comp(a)<=0},x.lte=x.lessThanOrEqual,x.greaterThan=function(a){return this.comp(a)>0},x.gt=x.greaterThan,x.greaterThanOrEqual=function(a){return this.comp(a)>=0},x.gte=x.greaterThanOrEqual,x.compare=function(a){if(b(a)||(a=g(a)),this.eq(a))return 0;var c=this.isNegative(),d=a.isNegative();return c&&!d?-1:!c&&d?1:this.unsigned?a.high>>>0>this.high>>>0||a.high===this.high&&a.low>>>0>this.low>>>0?-1:1:this.sub(a).isNegative()?-1:1},x.comp=x.compare,x.negate=function(){return!this.unsigned&&this.eq(w)?w:this.not().add(r)},x.neg=x.negate,x.add=function(a){b(a)||(a=g(a));var c=this.high>>>16,d=65535&this.high,f=this.low>>>16,h=65535&this.low,i=a.high>>>16,j=65535&a.high,k=a.low>>>16,l=65535&a.low,m=0,n=0,o=0,p=0;return p+=h+l,o+=p>>>16,p&=65535,o+=f+k,n+=o>>>16,o&=65535,n+=d+j,m+=n>>>16,n&=65535,m+=c+i,m&=65535,e(o<<16|p,m<<16|n,this.unsigned)},x.subtract=function(a){return b(a)||(a=g(a)),this.add(a.neg())},x.sub=x.subtract,x.multiply=function(a){if(this.isZero())return p;if(b(a)||(a=g(a)),a.isZero())return p;if(this.eq(w))return a.isOdd()?w:p;if(a.eq(w))return this.isOdd()?w:p;if(this.isNegative())return a.isNegative()?this.neg().mul(a.neg()):this.neg().mul(a).neg();if(a.isNegative())return this.mul(a.neg()).neg();if(this.lt(o)&&a.lt(o))return d(this.toNumber()*a.toNumber(),this.unsigned);var c=this.high>>>16,f=65535&this.high,h=this.low>>>16,i=65535&this.low,j=a.high>>>16,k=65535&a.high,l=a.low>>>16,m=65535&a.low,n=0,q=0,r=0,s=0;return s+=i*m,r+=s>>>16,s&=65535,r+=h*m,q+=r>>>16,r&=65535,r+=i*l,q+=r>>>16,r&=65535,q+=f*m,n+=q>>>16,q&=65535,q+=h*l,n+=q>>>16,q&=65535,q+=i*k,n+=q>>>16,q&=65535,n+=c*m+f*l+h*k+i*j,n&=65535,e(r<<16|s,n<<16|q,this.unsigned)},x.mul=x.multiply,x.divide=function(a){if(b(a)||(a=g(a)),a.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?q:p;var c,e,f;if(this.unsigned)a.unsigned||(a=a.toUnsigned());else{if(this.eq(w)){if(a.eq(r)||a.eq(t))return w;if(a.eq(w))return r;var h=this.shr(1);return c=h.div(a).shl(1),c.eq(p)?a.isNegative()?r:t:(e=this.sub(a.mul(c)),f=c.add(e.div(a)))}if(a.eq(w))return this.unsigned?q:p;if(this.isNegative())return a.isNegative()?this.neg().div(a.neg()):this.neg().div(a).neg();if(a.isNegative())return this.div(a.neg()).neg()}if(this.unsigned){if(a.gt(this))return q;if(a.gt(this.shru(1)))return s;f=q}else f=p;for(e=this;e.gte(a);){c=Math.max(1,Math.floor(e.toNumber()/a.toNumber()));for(var i=Math.ceil(Math.log(c)/Math.LN2),k=48>=i?1:j(2,i-48),l=d(c),m=l.mul(a);m.isNegative()||m.gt(e);)c-=k,l=d(c,this.unsigned),m=l.mul(a);l.isZero()&&(l=r),f=f.add(l),e=e.sub(m)}return f},x.div=x.divide,x.modulo=function(a){return b(a)||(a=g(a)),this.sub(this.div(a).mul(a))},x.mod=x.modulo,x.not=function(){return e(~this.low,~this.high,this.unsigned)},x.and=function(a){return b(a)||(a=g(a)),e(this.low&a.low,this.high&a.high,this.unsigned)},x.or=function(a){return b(a)||(a=g(a)),e(this.low|a.low,this.high|a.high,this.unsigned)},x.xor=function(a){return b(a)||(a=g(a)),e(this.low^a.low,this.high^a.high,this.unsigned)},x.shiftLeft=function(a){return b(a)&&(a=a.toInt()),0===(a&=63)?this:32>a?e(this.low<<a,this.high<<a|this.low>>>32-a,this.unsigned):e(0,this.low<<a-32,this.unsigned)},x.shl=x.shiftLeft,x.shiftRight=function(a){return b(a)&&(a=a.toInt()),0===(a&=63)?this:32>a?e(this.low>>>a|this.high<<32-a,this.high>>a,this.unsigned):e(this.high>>a-32,this.high>=0?0:-1,this.unsigned)},x.shr=x.shiftRight,x.shiftRightUnsigned=function(a){if(b(a)&&(a=a.toInt()),a&=63,0===a)return this;var c=this.high;if(32>a){var d=this.low;return e(d>>>a|c<<32-a,c>>>a,this.unsigned)}return 32===a?e(c,0,this.unsigned):e(c>>>a-32,0,this.unsigned)},x.shru=x.shiftRightUnsigned,x.toSigned=function(){return this.unsigned?e(this.low,this.high,!1):this},x.toUnsigned=function(){return this.unsigned?this:e(this.low,this.high,!0)},a}),function(a,b){"use strict";"object"==typeof exports?(a.slip=exports,b(exports)):"function"==typeof define&&define.amd?define(["exports"],function(c){return a.slip=c,a.slip,b(c)}):(a.slip={},b(a.slip))}(this,function(a){"use strict";var b=a;b.END=192,b.ESC=219,b.ESC_END=220,b.ESC_ESC=221,b.byteArray=function(a,b,c){return a instanceof ArrayBuffer?new Uint8Array(a,b,c):a},b.expandByteArray=function(a){var b=new Uint8Array(2*a.length);return b.set(a),b},b.sliceByteArray=function(a,b,c){var d=a.buffer.slice?a.buffer.slice(b,c):a.subarray(b,c);return new Uint8Array(d)},b.encode=function(a,c){c=c||{},c.bufferPadding=c.bufferPadding||4,a=b.byteArray(a,c.offset,c.byteLength);var d=a.length+c.bufferPadding+3&-4,e=new Uint8Array(d),f=1;e[0]=b.END;for(var g=0;g<a.length;g++){f>e.length-3&&(e=b.expandByteArray(e));var h=a[g];h===b.END?(e[f++]=b.ESC,h=b.ESC_END):h===b.ESC&&(e[f++]=b.ESC,h=b.ESC_ESC),e[f++]=h}return e[f]=b.END,b.sliceByteArray(e,0,f+1)},b.Decoder=function(a){a="function"!=typeof a?a||{}:{onMessage:a},this.maxMessageSize=a.maxMessageSize||10485760,this.bufferSize=a.bufferSize||1024,this.msgBuffer=new Uint8Array(this.bufferSize),this.msgBufferIdx=0,this.onMessage=a.onMessage,this.onError=a.onError,this.escape=!1};var c=b.Decoder.prototype;return c.decode=function(a){a=b.byteArray(a);for(var c,d=0;d<a.length;d++){var e=a[d];if(this.escape)e===b.ESC_ESC?e=b.ESC:e===b.ESC_END&&(e=b.END);else{if(e===b.ESC){this.escape=!0;continue}if(e===b.END){c=this.handleEnd();continue}}var f=this.addByte(e);f||this.handleMessageMaxError()}return c},c.handleMessageMaxError=function(){this.onError&&this.onError(this.msgBuffer.subarray(0),"The message is too large; the maximum message size is "+this.maxMessageSize/1024+"KB. Use a larger maxMessageSize if necessary."),this.msgBufferIdx=0,this.escape=!1},c.addByte=function(a){return this.msgBufferIdx>this.msgBuffer.length-1&&(this.msgBuffer=b.expandByteArray(this.msgBuffer)),this.msgBuffer[this.msgBufferIdx++]=a,this.escape=!1,this.msgBuffer.length<this.maxMessageSize},c.handleEnd=function(){if(0!==this.msgBufferIdx){var a=b.sliceByteArray(this.msgBuffer,0,this.msgBufferIdx);return this.onMessage&&this.onMessage(a),this.msgBufferIdx=0,a}},b}),function(){"use strict";function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g,h=this.getListenersAsObject(a);for(f in h)if(h.hasOwnProperty(f))for(c=h[f].slice(0),e=0;e<c.length;e++)d=c[e],d.once===!0&&this.removeListener(a,d.listener),g=d.listener.apply(this,b||[]),g===this._getOnceReturnValue()&&this.removeListener(a,d.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define(function(){return a}):"object"==typeof module&&module.exports?module.exports=a:e.EventEmitter=a}.call(this);var osc=osc||require("./osc.js"),slip=slip||require("slip"),EventEmitter=EventEmitter||require("events").EventEmitter;!function(){"use strict";osc.firePacketEvents=function(a,b,c,d){b.address?a.emit("message",b,c,d):osc.fireBundleEvents(a,b,c,d)},osc.fireBundleEvents=function(a,b,c,d){a.emit("bundle",b,c,d);for(var e=0;e<b.packets.length;e++){var f=b.packets[e];osc.firePacketEvents(a,f,b.timeTag,d)}},osc.fireClosedPortSendError=function(a,b){b=b||"Can't send packets on a closed osc.Port object. Please open (or reopen) this Port by calling open().",a.emit("error",b)},osc.Port=function(a){this.options=a||{},this.on("data",this.decodeOSC.bind(this))};var a=osc.Port.prototype=Object.create(EventEmitter.prototype);a.constructor=osc.Port,a.send=function(a){var b=Array.prototype.slice.call(arguments),c=this.encodeOSC(a),d=osc.nativeBuffer(c);b[0]=d,this.sendRaw.apply(this,b)},a.encodeOSC=function(a){a=a.buffer?a.buffer:a;var b;try{b=osc.writePacket(a,this.options)}catch(c){this.emit("error",c)}return b},a.decodeOSC=function(a,b){a=osc.byteArray(a),this.emit("raw",a,b);try{var c=osc.readPacket(a,this.options);this.emit("osc",c,b),osc.firePacketEvents(this,c,void 0,b)}catch(d){this.emit("error",d)}},osc.SLIPPort=function(a){var b=this,c=this.options=a||{};c.useSLIP=void 0===c.useSLIP?!0:c.useSLIP,this.decoder=new slip.Decoder({onMessage:this.decodeOSC.bind(this),onError:function(a){b.emit("error",a)}});var d=c.useSLIP?this.decodeSLIPData:this.decodeOSC;this.on("data",d.bind(this))},a=osc.SLIPPort.prototype=Object.create(osc.Port.prototype),a.constructor=osc.SLIPPort,a.encodeOSC=function(a){a=a.buffer?a.buffer:a;var b;try{var c=osc.writePacket(a,this.options);b=slip.encode(c)}catch(d){this.emit("error",d)}return b},a.decodeSLIPData=function(a,b){this.decoder.decode(a,b)},osc.relay=function(a,b,c,d,e,f){c=c||"message",d=d||"send",e=e||function(){},f=f?[null].concat(f):[];var g=function(a){f[0]=a,a=e(a),b[d].apply(b,f)};return a.on(c,g),{eventName:c,listener:g}},osc.relayPorts=function(a,b,c){var d=c.raw?"raw":"osc",e=c.raw?"sendRaw":"send";return osc.relay(a,b,d,e,c.transform)},osc.stopRelaying=function(a,b){a.removeListener(b.eventName,b.listener)},osc.Relay=function(a,b,c){var d=this.options=c||{};d.raw=!1,this.port1=a,this.port2=b,this.listen()},a=osc.Relay.prototype=Object.create(EventEmitter.prototype),a.constructor=osc.Relay,a.open=function(){this.port1.open(),this.port2.open()},a.listen=function(){this.port1Spec&&this.port2Spec&&this.close(),this.port1Spec=osc.relayPorts(this.port1,this.port2,this.options),this.port2Spec=osc.relayPorts(this.port2,this.port1,this.options);var a=this.close.bind(this);this.port1.on("close",a),this.port2.on("close",a)},a.close=function(){osc.stopRelaying(this.port1,this.port1Spec),osc.stopRelaying(this.port2,this.port2Spec),this.emit("close",this.port1,this.port2)},"undefined"!=typeof module&&module.exports&&(module.exports=osc)}();var osc=osc||require("../osc.js");!function(){"use strict";osc.WebSocket="undefined"!=typeof WebSocket?WebSocket:require("ws"),osc.WebSocketPort=function(a){osc.Port.call(this,a),this.on("open",this.listen.bind(this)),this.socket=a.socket,this.socket&&(1===this.socket.readyState?(osc.WebSocketPort.setupSocketForBinary(this.socket),this.emit("open",this.socket)):this.open())};var a=osc.WebSocketPort.prototype=Object.create(osc.Port.prototype);a.constructor=osc.WebSocketPort,a.open=function(){(!this.socket||this.socket.readyState>1)&&(this.socket=new osc.WebSocket(this.options.url)),osc.WebSocketPort.setupSocketForBinary(this.socket);var a=this;this.socket.onopen=function(){a.emit("open",a.socket)}},a.listen=function(){var a=this;this.socket.onmessage=function(b){a.emit("data",b.data,b)},this.socket.onerror=function(b){a.emit("error",b)},this.socket.onclose=function(b){a.emit("close",b)},a.emit("ready")},a.sendRaw=function(a){return this.socket&&1===this.socket.readyState?void this.socket.send(a):void osc.fireClosedPortSendError(this)},a.close=function(a,b){this.socket.close(a,b)},osc.WebSocketPort.setupSocketForBinary=function(a){a.binaryType=osc.isNode?"nodebuffer":"arraybuffer"}}();++    </script>+    <script src="./bundle.js"></script>+  </body>+</html>
+ hylide.cabal view
@@ -0,0 +1,46 @@+name:                hylide+version:             0.1.4.0+synopsis:            Livecoding WebGL renderer for Hylogen+description:         Livecoding WebGL renderer for Hylogen+homepage:            https://github.com/sleexyz/hylide+author:              Sean Lee+license:             MIT+maintainer:          freshdried@gmail.com+category:            Graphics+build-type:          Simple+extra-source-files:  README.md+data-files:          client/dist-local/index.html+                   , client/dist-local/bundle.js+cabal-version:       >=1.10+stability:           experimental++library+  exposed-modules:     Hylogen.WithHylide+                     , Hylogen.WithHylide.Core+                     , Hylogen.WithHylide.Util+  build-depends:       base >= 4.8 && < 5+                     , hylogen+                     , vector-space+  hs-source-dirs:      src+  default-language:    Haskell2010++executable hylide+  main-is:             Main.hs+  other-extensions:    OverloadedStrings+  other-modules:       Paths_hylide+  build-depends:       base+                     , bytestring+                     , filepath+                     , fsnotify+                     , process+                     , text+                     , websockets+                     , aeson+                     , hint+                     , hylide+                     , hylogen >= 0.1.4 && < 0.1.5+                     , wai >=3.2 && <3.3+                     , http-types >=0.9 && <0.10+                     , warp >=3.2 && <3.3+  hs-source-dirs:      app+  default-language:    Haskell2010
+ src/Hylogen/WithHylide.hs view
@@ -0,0 +1,24 @@+{-|+Exports a standard Hylogen environment with use with Hylide.++-}++module Hylogen.WithHylide ( module Hylogen.WithHylide.Util+                          , module Hylogen.WithHylide.Core+                          , module Hylogen+                          , module Data.VectorSpace+                          , module Data.Function+                          ) where++import           Hylogen.WithHylide.Util+import           Hylogen.WithHylide.Core+import           Hylogen++import           Data.Function+import           Data.VectorSpace++-- | Analog of @<$>@, but for @&@+infixl 5 <&>+(<&>) :: (Functor f) => f a -> (a -> b) -> f b+(<&>) = flip fmap+
+ src/Hylogen/WithHylide/Core.hs view
@@ -0,0 +1,84 @@+module Hylogen.WithHylide.Core where++import           Data.Monoid+import           Hylogen+import           Hylogen.Expr+++-- Writes GLSL, without sharing+-- toGLSL' :: Vec4 -> String+-- toGLSL' v = unlines [ "void main() {"+--                     , "    gl_FragColor = " <> show v <> ";"+--                     , "}"+--                     ]++++-- | Pixel coordinates+--+-- (0, 0) is the lower left corner+--+-- (1, 1) is the upper right corner+uv :: Vec2+uv = uniform "uv()"++-- | Pixel coordinates+--+-- (0, 0) is the center of the screen+--+-- (1, 1) is the upper right corner+uvN :: Vec2+uvN = uniform "uvN"++-- | Time in milliseconds since start of Hylide instance+time :: Vec1+time = uniform "time"+++-- | Resolution of the screen+resolution :: Vec2+resolution = uniform "resolution"++-- | Mouse position+mouse :: Vec2+mouse = uniform "mouse"+++-- | Intensity of audio input, split into 4 bands+--+-- (low, low-mid, mid, high)+audio :: Vec4+audio = uniform "audio"++-- | The last rendered frame, as a texture+backBuffer :: Texture+backBuffer = uniform "backBuffer"++channel1 :: Texture+channel1 = uniform "channel1"++++osc1 :: Vec1+osc1 = uniform "osc1"++osc2 :: Vec1+osc2 = uniform "osc2"++osc3 :: Vec1+osc3 = uniform "osc3"++osc4 :: Vec1+osc4 = uniform "osc4"++osc5 :: Vec1+osc5 = uniform "osc5"++osc6 :: Vec1+osc6 = uniform "osc6"++osc7 :: Vec1+osc7 = uniform "osc7"++osc8 :: Vec1+osc8 = uniform "osc8"
+ src/Hylogen/WithHylide/Util.hs view
@@ -0,0 +1,40 @@+module Hylogen.WithHylide.Util where++import Hylogen++black :: Vec3+black = vec3 (0, 0, 0)++white :: Vec3+white = vec3 (1, 1, 1)++-- | Given an alpha value, sets it for the alpha channel for a given color+--+-- @+-- setAlpha alpha color -- == n newColor+-- @+setAlpha :: Vec1 -> Vec4 -> Vec4+setAlpha alpha v = vec4 (xyz_ v, alpha)++-- TODO: hsl+++-- | Linear to exponential map+--+-- @+-- linexp (a, b, c, d) a           -- == c+-- linexp (a, b, c, d) b           -- == d+-- linexp (a, b, c, d) ((a + b)\/2) -- == c * sqrt(d/c)+-- @+linexp :: (Floating a) => (a, a, a, a) -> a -> a+linexp (a, b, c, d) x = c * ((d / c) ** ((x - a) / (b - a)))++-- | Linear to linear map+--+-- @+-- linexp (a, b, c, d) a           -- == c+-- linexp (a, b, c, d) b           -- == d+-- linexp (a, b, c, d) ((a + b)\/2) -- == ((c + d)/2)+-- @+linlin :: (Floating a) => (a, a, a, a) -> a -> a+linlin (a, b, c, d) x = c + (d - c) * ((x - a) / (b - a))