From f970e1b89853c0ef02eb5c42375a06c856841a70 Mon Sep 17 00:00:00 2001 From: Anton Gilgur Date: Sat, 9 Feb 2019 22:38:26 -0500 Subject: [PATCH 1/4] (change): have gh-pages branch use the actual NPM package - easier to use this branch as a stepping stone to add to one's own codebase - also allows troubleshooting of issues with the current package without needing a build (that might accidentally differ slightly from the published version during development) - delete code that isn't associated with the example from this branch - and make package "private" so it's not published --- .npmignore | 10 --- example/app.js | 3 +- package.json | 39 ++-------- src/index.js | 141 ----------------------------------- webpack.production.config.js | 19 ----- 5 files changed, 9 insertions(+), 203 deletions(-) delete mode 100644 .npmignore delete mode 100644 src/index.js delete mode 100644 webpack.production.config.js diff --git a/.npmignore b/.npmignore deleted file mode 100644 index aaa6ef3..0000000 --- a/.npmignore +++ /dev/null @@ -1,10 +0,0 @@ -example/ -webpack.* - -npm-debug.log* -node_modules/ - -*.tgz - -.DS_Store -*~ diff --git a/example/app.js b/example/app.js index a3be773..8771c86 100644 --- a/example/app.js +++ b/example/app.js @@ -1,7 +1,6 @@ import React, { Component } from 'react' import ReactDOM from 'react-dom' - -import SignaturePad from '../src/index.js' +import SignaturePad from 'react-signature-canvas' import styles from './styles.cssm' diff --git a/package.json b/package.json index 8af9121..46d3654 100644 --- a/package.json +++ b/package.json @@ -1,31 +1,13 @@ { - "name": "react-signature-canvas", + "name": "react-signature-canvas-example", "version": "1.0.1", - "description": "A signature pad implementation in React", + "description": "Example for react-signature-canvas", "main": "build/index.js", "scripts": { "test": "webpack && npm pack", "start": "webpack-dev-server -d --inline --hot", - "dist": "webpack -p --config webpack.production.config.js", - "pub": "npm run dist && npm publish" + "dist": "webpack -p" }, - "keywords": [ - "react", - "react-component", - "component", - "signature", - "sign", - "e-sign", - "e-signature", - "canvas", - "trim", - "whitespace", - "draw", - "pad", - "wrapper", - "signature-pad", - "react-signature-pad" - ], "repository": { "type": "git", "url": "https://github.com/agilgur5/react-signature-canvas.git" @@ -39,20 +21,15 @@ "babel-preset-react": "^6.11.1", "babel-preset-stage-2": "^6.13.0", "css-loader": "^0.24.0", - "react": "^15.3.0", - "react-dom": "^15.3.0", "react-hot-loader": "^1.2.7", "style-loader": "^0.13.1", "webpack": "^1.12.2", "webpack-dev-server": "^1.10.1" }, - "peerDependencies": { - "prop-types": "^15.5.8", - "react": "0.14 - 16", - "react-dom": "0.14 - 16" - }, "dependencies": { - "signature_pad": "^2.3.2", - "trim-canvas": "^0.1.0" - } + "react": "^15.3.0", + "react-dom": "^15.3.0", + "react-signature-canvas": "^1.0.0" + }, + "private": true } diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 23278f4..0000000 --- a/src/index.js +++ /dev/null @@ -1,141 +0,0 @@ -import PropTypes from 'prop-types' -import React, { Component } from 'react' -import SignaturePad from 'signature_pad' -import trimCanvas from 'trim-canvas' - -export default class SignatureCanvas extends Component { - static propTypes = { - // signature_pad's props - velocityFilterWeight: PropTypes.number, - minWidth: PropTypes.number, - maxWidth: PropTypes.number, - minDistance: PropTypes.number, - dotSize: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), - penColor: PropTypes.string, - throttle: PropTypes.number, - onEnd: PropTypes.func, - onBegin: PropTypes.func, - // props specific to the React wrapper - canvasProps: PropTypes.object, - clearOnResize: PropTypes.bool - } - - static defaultProps = { - clearOnResize: true - } - - _sigPad = null - - _excludeOurProps = () => { - let {canvasProps, clearOnResize, ...sigPadProps} = this.props - return sigPadProps - } - - componentDidMount () { - this._sigPad = new SignaturePad(this._canvas, this._excludeOurProps()) - this._resizeCanvas() - this.on() - } - - componentWillUnmount () { - this.off() - } - - // propagate prop updates to SignaturePad - componentDidUpdate () { - Object.assign(this._sigPad, this._excludeOurProps()) - } - - // return the canvas ref for operations like toDataURL - getCanvas = () => { - return this._canvas - } - - // return a trimmed copy of the canvas - getTrimmedCanvas = () => { - // copy the canvas - let copy = document.createElement('canvas') - copy.width = this._canvas.width - copy.height = this._canvas.height - copy.getContext('2d').drawImage(this._canvas, 0, 0) - // then trim it - return trimCanvas(copy) - } - - // return the internal SignaturePad reference - getSignaturePad = () => { - return this._sigPad - } - - _checkClearOnResize = () => { - if (!this.props.clearOnResize) { - return - } - this._resizeCanvas() - } - - _resizeCanvas = () => { - let canvasProps = this.props.canvasProps || {} - let {width, height} = canvasProps - // don't resize if the canvas has fixed width and height - if (width && height) { - return - } - - let canvas = this._canvas - /* When zoomed out to less than 100%, for some very strange reason, - some browsers report devicePixelRatio as less than 1 - and only part of the canvas is cleared then. */ - let ratio = Math.max(window.devicePixelRatio || 1, 1) - - if (!width) { - canvas.width = canvas.offsetWidth * ratio - } - if (!height) { - canvas.height = canvas.offsetHeight * ratio - } - canvas.getContext('2d').scale(ratio, ratio) - this.clear() - } - - render () { - let {canvasProps} = this.props - return { this._canvas = ref }} {...canvasProps} /> - } - - // all wrapper functions below render - // - on = () => { - window.addEventListener('resize', this._checkClearOnResize) - return this._sigPad.on() - } - - off = () => { - window.removeEventListener('resize', this._checkClearOnResize) - return this._sigPad.off() - } - - clear = () => { - return this._sigPad.clear() - } - - isEmpty = () => { - return this._sigPad.isEmpty() - } - - fromDataURL = (dataURL, options) => { - return this._sigPad.fromDataURL(dataURL, options) - } - - toDataURL = (type, encoderOptions) => { - return this._sigPad.toDataURL(type, encoderOptions) - } - - fromData = (pointGroups) => { - return this._sigPad.fromData(pointGroups) - } - - toData = () => { - return this._sigPad.toData() - } -} diff --git a/webpack.production.config.js b/webpack.production.config.js deleted file mode 100644 index 76b474b..0000000 --- a/webpack.production.config.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - entry: './src/index.js', - output: { - path: __dirname + '/build', - filename: 'index.js', - library: 'SignatureCanvas', - libraryTarget: 'umd', - }, - // don't bundle non-relative packages - externals: /^[^.]/, - module: { - loaders: [{ - test: /\.js$/, - exclude: /node_modules/, - loader: 'babel-loader', - query: {presets: ['es2015', 'react', 'stage-2']} - }] - } -} From 2686571ea13547c6d22dcea019b21687240476f8 Mon Sep 17 00:00:00 2001 From: Anton Gilgur Date: Tue, 30 Apr 2019 22:59:28 -0400 Subject: [PATCH 2/4] (change): serve HTML from root of repo - GitHub Pages loads from index.html in root of repo - also edit webpack-dev-server config to load from root too --- example/index.html => index.html | 0 webpack.config.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename example/index.html => index.html (100%) diff --git a/example/index.html b/index.html similarity index 100% rename from example/index.html rename to index.html diff --git a/webpack.config.js b/webpack.config.js index c1253c9..92d67ec 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -24,7 +24,7 @@ module.exports = { }, devServer: { host: '0.0.0.0', - contentBase: './example', + contentBase: './', historyApiFallback: true, stats: { // do not show list of hundreds of files included in a bundle From e4ded84acf19340ae037b501bc3f4c5c59a499d9 Mon Sep 17 00:00:00 2001 From: Anton Gilgur Date: Tue, 30 Apr 2019 23:19:57 -0400 Subject: [PATCH 3/4] (change): add bundle to source so GH pages can use it - ha, right that's pretty important --- .gitignore | 2 +- build/bundle.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 build/bundle.js diff --git a/.gitignore b/.gitignore index 6ae2aea..5fd3872 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -build/ +build/index.js npm-debug.log* node_modules/ diff --git a/build/bundle.js b/build/bundle.js new file mode 100644 index 0000000..a6c2dcc --- /dev/null +++ b/build/bundle.js @@ -0,0 +1,43 @@ +!function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="/build/",t(0)}([function(e,t,n){try{(function(){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(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)}var i=function(){function e(e,t){for(var n=0;n1)for(var n=1;n1?t-1:0),o=1;o2?n-2:0),r=2;r1){for(var _=Array(E),b=0;b1){for(var E=Array(y),_=0;_-1?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.",e):a("96",e),!l.plugins[o]){n.extractEvents?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.",e):a("97",e), +l.plugins[o]=n;var i=n.eventTypes;for(var p in i)r(i[p],n,p)?void 0:"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",p,e):a("98",p,e)}}}function r(e,n,o){l.eventNameDispatchConfigs.hasOwnProperty(o)?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.",o):a("99",o):void 0,l.eventNameDispatchConfigs[o]=e;var r=e.phasedRegistrationNames;if(r){for(var u in r)if(r.hasOwnProperty(u)){var c=r[u];i(c,n,o)}return!0}return!!e.registrationName&&(i(e.registrationName,n,o),!0)}function i(e,n,o){if(l.registrationNameModules[e]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.",e):a("100",e):void 0,l.registrationNameModules[e]=n,l.registrationNameDependencies[e]=n.eventTypes[o].dependencies,"production"!==t.env.NODE_ENV){var r=e.toLowerCase();l.possibleRegistrationNames[r]=e,"onDoubleClick"===e&&(l.possibleRegistrationNames.ondblclick=e)}}var a=n(4),s=n(2),u=null,c={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:"production"!==t.env.NODE_ENV?{}:null,injectEventPluginOrder:function(e){u?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."):a("101"):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 i=e[r];c.hasOwnProperty(r)&&c[r]===i||(c[r]?"production"!==t.env.NODE_ENV?s(!1,"EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.",r):a("102",r):void 0,c[r]=i,n=!0)}n&&o()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var o in n)if(n.hasOwnProperty(o)){var r=l.registrationNameModules[n[o]];if(r)return r}}return null},_resetEventPlugins:function(){u=null;for(var e in c)c.hasOwnProperty(e)&&delete c[e];l.plugins.length=0;var n=l.eventNameDispatchConfigs;for(var o in n)n.hasOwnProperty(o)&&delete n[o];var r=l.registrationNameModules;for(var i in r)r.hasOwnProperty(i)&&delete r[i];if("production"!==t.env.NODE_ENV){var a=l.possibleRegistrationNames;for(var s in a)a.hasOwnProperty(s)&&delete a[s]}}};e.exports=l}).call(t,n(1))},function(e,t,n){"use strict";function o(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=f++,p[e[v]]={}),p[e[v]]}var r,i=n(5),a=n(26),s=n(137),u=n(68),c=n(172),l=n(47),p={},d=!1,f=0,h={topAbort:"abort",topAnimationEnd:c("animationend")||"animationend",topAnimationIteration:c("animationiteration")||"animationiteration",topAnimationStart:c("animationstart")||"animationstart",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",topTransitionEnd:c("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),m=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=o(n),i=a.registrationNameDependencies[e],s=0;s]/;e.exports=o},function(e,t,n){"use strict";var o,r=n(7),i=n(36),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(43),c=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{o=o||document.createElement("div"),o.innerHTML=""+t+"";for(var n=o.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(r.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(c=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.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}),l=null}e.exports=c},function(e,t,n){(function(t){"use strict";var n=!1;if("production"!==t.env.NODE_ENV)try{Object.defineProperty({},"x",{get:function(){}}),n=!0}catch(e){}e.exports=n}).call(t,n(1))},function(e,t){"use strict";function n(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function o(e,t){if(n(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var a=0;a0&&o.length<20?n+" (keys: "+o.join(", ")+")":n}function i(e,n){var o=u.get(e);if(!o){if("production"!==t.env.NODE_ENV){var r=e.constructor;"production"!==t.env.NODE_ENV?d(!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,r&&(r.displayName||r.name)||"ReactClass"):void 0}return null}return"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?d(null==s.current,"%s(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.",n):void 0),o}var a=n(4),s=n(12),u=n(23),c=n(10),l=n(11),p=n(2),d=n(3),f={isMounted:function(e){if("production"!==t.env.NODE_ENV){var n=s.current;null!==n&&("production"!==t.env.NODE_ENV?d(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},enqueueCallback:function(e,t,n){f.validateCallback(t,n);var r=i(e);return r?(r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],void o(r)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],o(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,o(t))},enqueueReplaceState:function(e,t,n){var r=i(e,"replaceState");r&&(r._pendingStateQueue=[t],r._pendingReplaceState=!0,void 0!==n&&null!==n&&(f.validateCallback(n,"replaceState"),r._pendingCallbacks?r._pendingCallbacks.push(n):r._pendingCallbacks=[n]),o(r))},enqueueSetState:function(e,n){"production"!==t.env.NODE_ENV&&(c.debugTool.onSetState(),"production"!==t.env.NODE_ENV?d(null!=n,"setState(...): You passed an undefined or null state object; instead, use forceUpdate()."):void 0);var r=i(e,"setState");if(r){var a=r._pendingStateQueue||(r._pendingStateQueue=[]);a.push(n),o(r)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,o(e)},validateCallback:function(e,n){e&&"function"!=typeof e?"production"!==t.env.NODE_ENV?p(!1,"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",n,r(e)):a("122",n,r(e)):void 0}};e.exports=f}).call(t,n(1))},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,o,r){MSApp.execUnsafeLocalFunction(function(){return e(t,n,o,r)})}:e};e.exports=n},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]}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 t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},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(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o="function"==typeof a[n]}return!o&&r&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var r,i=n(7);i.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=o},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,i=typeof t;return"string"===r||"number"===r?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){(function(t){"use strict";var o=n(5),r=n(9),i=n(3),a=r;if("production"!==t.env.NODE_ENV){var s=["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"],u=["applet","caption","html","table","td","th","marquee","object","template","foreignObject","desc","title"],c=u.concat(["button"]),l=["dd","dt","li","option","optgroup","p","rp","rt"],p={current: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),i={tag:t,instance:n};return u.indexOf(t)!==-1&&(r.aTagInScope=null,r.buttonTagInScope=null,r.nobrTagInScope=null),c.indexOf(t)!==-1&&(r.pTagInButtonScope=null),s.indexOf(t)!==-1&&"address"!==t&&"div"!==t&&"p"!==t&&(r.listItemTagAutoclosing=null,r.dlItemTagAutoclosing=null),r.current=i,"form"===t&&(r.formTag=i),"a"===t&&(r.aTagInScope=i),"button"===t&&(r.buttonTagInScope=i),"nobr"===t&&(r.nobrTagInScope=i),"p"===t&&(r.pTagInButtonScope=i),"li"===t&&(r.listItemTagAutoclosing=i),"dd"!==t&&"dt"!==t||(r.dlItemTagAutoclosing=i),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;case"#document":return"html"===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 l.indexOf(t)===-1;case"body":case"caption":case"col":case"colgroup":case"frame":case"head":case"html":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={};a=function(e,n,o,r){r=r||p;var a=r.current,s=a&&a.tag;null!=n&&("production"!==t.env.NODE_ENV?i(null==e,"validateDOMNesting: when childText is passed, childTag should be null"):void 0,e="#text");var u=f(e,s)?null:a,c=u?null:h(e,r),l=u||c;if(l){var d,g=l.tag,y=l.instance,E=o&&o._currentElement._owner,_=y&&y._currentElement._owner,b=v(E),N=v(_),C=Math.min(b.length,N.length),D=-1;for(d=0;d "),T=!!u+"|"+e+"|"+g+"|"+k;if(m[T])return;m[T]=!0;var I=e,P="";if("#text"===e?/\S/.test(n)?I="Text nodes":(I="Whitespace text nodes",P=" Make sure you don't have any extra whitespace between tags on each line of your source code."):I="<"+e+">",u){var S="";"table"===g&&"tr"===e&&(S+=" Add a to your code to match the DOM tree generated by the browser."),"production"!==t.env.NODE_ENV?i(!1,"validateDOMNesting(...): %s cannot appear as a child of <%s>.%s See %s.%s",I,g,P,k,S):void 0}else"production"!==t.env.NODE_ENV?i(!1,"validateDOMNesting(...): %s cannot appear as a descendant of <%s>. See %s.",I,g,k):void 0}},a.updatedAncestorInfo=d,a.isTagValidInContext=function(e,t){t=t||p;var n=t.current,o=n&&n.tag;return f(e,o)&&!h(e,t)}}e.exports=a}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var n=function(){};if("production"!==t.env.NODE_ENV){var o=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o2?n-2:0),i=2;i must be an array if `multiple` is true.%s",a,r(o)):void 0:!n.multiple&&s&&("production"!==t.env.NODE_ENV?d(!1,"The `%s` prop supplied to ',""],c=[1,"","
"],l=[3,"","
"],p=[1,'',""],d={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},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,s[e]=!0}),e.exports=o}).call(t,n(1))},function(e,t){"use strict";function n(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.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(i,"-ms-")}var r=n(94),i=/^ms-/;e.exports=o},function(e,t){"use strict";function n(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.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(96);e.exports=o},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(7);r.canUseDOM&&(o=window.performance||window.msPerformance||window.webkitPerformance),e.exports=o||{}},function(e,t,n){"use strict";var o,r=n(99);o=r.now?function(){return r.now()}:function(){return Date.now()},e.exports=o},function(e,t,n){(function(t){"use strict";function o(e,n,o,u,c){if("production"!==t.env.NODE_ENV)for(var l in e)if(e.hasOwnProperty(l)){var p;try{r("function"==typeof e[l],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",u||"React class",o,l),p=e[l](n,l,u,o,null,a)}catch(e){p=e}if(i(!p||p 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).",u||"React class",o,l,typeof p),p instanceof Error&&!(p.message in s)){s[p.message]=!0;var d=c?c():"";i(!1,"Failed %s type: %s%s",o,p.message,null!=d?d:"")}}}if("production"!==t.env.NODE_ENV)var r=n(2),i=n(3),a=n(34),s={};e.exports=o}).call(t,n(1))},function(e,t,n){"use strict";var o=n(9),r=n(2),i=n(34);e.exports=function(){function e(e,t,n,o,a,s){s!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){(function(t){if("production"!==t.env.NODE_ENV){var o="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,r=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},i=!0;e.exports=n(55)(r,i)}else e.exports=n(102)()}).call(t,n(1))},function(e,t,n){"use strict";e.exports=n(118)},function(e,t){"use strict";var n={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=n},function(e,t,n){"use strict";var o=n(6),r=n(52),i={focusDOMComponent:function(){r(o.getNodeFromInstance(this))}};e.exports=i},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 i(e){switch(e){case"topCompositionStart":return w.compositionStart;case"topCompositionEnd":return w.compositionEnd;case"topCompositionUpdate":return w.compositionUpdate}}function a(e,t){return"topKeyDown"===e&&t.keyCode===E}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==E;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function c(e,t,n,o){var r,c;if(_?r=i(e):k?s(e,n)&&(r=w.compositionEnd):a(e,n)&&(r=w.compositionStart),!r)return null;C&&(k||r!==w.compositionStart?r===w.compositionEnd&&k&&(c=k.getData()):k=v.getPooled(o));var l=m.getPooled(r,t,n,o);if(c)l.data=c;else{var p=u(n);null!==p&&(l.data=p)}return f.accumulateTwoPhaseDispatches(l),l}function l(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==D?null:(x=!0,O);case"topTextInput":var o=t.data;return o===O&&x?null:o;default:return null}}function p(e,t){if(k){if("topCompositionEnd"===e||!_&&s(e,t)){var n=k.getData();return v.release(k),k=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!r(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return C?null:t.data;default:return null}}function d(e,t,n,o){var r;if(r=N?l(e,n):p(e,n),!r)return null;var i=g.getPooled(w.beforeInput,t,n,o);return i.data=r,f.accumulateTwoPhaseDispatches(i),i}var f=n(22),h=n(7),v=n(113),m=n(156),g=n(159),y=[9,13,27,32],E=229,_=h.canUseDOM&&"CompositionEvent"in window,b=null;h.canUseDOM&&"documentMode"in document&&(b=document.documentMode);var N=h.canUseDOM&&"TextEvent"in window&&!b&&!o(),C=h.canUseDOM&&(!_||b&&b>8&&b<=11),D=32,O=String.fromCharCode(D),w={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},x=!1,k=null,T={eventTypes:w,extractEvents:function(e,t,n,o){return[c(e,t,n,o),d(e,t,n,o)]}};e.exports=T},function(e,t,n){(function(t){"use strict";var o=n(56),r=n(7),i=n(10),a=n(88),s=n(166),u=n(95),c=n(98),l=n(3),p=c(function(e){return u(e)}),d=!1,f="cssFloat";if(r.canUseDOM){var h=document.createElement("div").style;try{h.font=""}catch(e){d=!0}void 0===document.documentElement.style.cssFloat&&(f="styleFloat")}if("production"!==t.env.NODE_ENV)var v=/^(?:webkit|moz|o)[A-Z]/,m=/;\s*$/,g={},y={},E=!1,_=function(e,n){g.hasOwnProperty(e)&&g[e]||(g[e]=!0,"production"!==t.env.NODE_ENV?l(!1,"Unsupported style property %s. Did you mean %s?%s",e,a(e),D(n)):void 0); +},b=function(e,n){g.hasOwnProperty(e)&&g[e]||(g[e]=!0,"production"!==t.env.NODE_ENV?l(!1,"Unsupported vendor-prefixed style property %s. Did you mean %s?%s",e,e.charAt(0).toUpperCase()+e.slice(1),D(n)):void 0)},N=function(e,n,o){y.hasOwnProperty(n)&&y[n]||(y[n]=!0,"production"!==t.env.NODE_ENV?l(!1,'Style property values shouldn\'t contain a semicolon.%s Try "%s: %s" instead.',D(o),e,n.replace(m,"")):void 0)},C=function(e,n,o){E||(E=!0,"production"!==t.env.NODE_ENV?l(!1,"`NaN` is an invalid value for the `%s` css style property.%s",e,D(o)):void 0)},D=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""},O=function(e,t,n){var o;n&&(o=n._currentElement._owner),e.indexOf("-")>-1?_(e,o):v.test(e)?b(e,o):m.test(t)&&N(e,t,o),"number"==typeof t&&isNaN(t)&&C(e,t,o)};var w={createMarkupForStyles:function(e,n){var o="";for(var r in e)if(e.hasOwnProperty(r)){var i=0===r.indexOf("--"),a=e[r];"production"!==t.env.NODE_ENV&&(i||O(r,a,n)),null!=a&&(o+=p(r)+":",o+=s(r,a,n,i)+";")}return o||null},setValueForStyles:function(e,n,r){"production"!==t.env.NODE_ENV&&i.debugTool.onHostOperation({instanceID:r._debugID,type:"update styles",payload:n});var a=e.style;for(var u in n)if(n.hasOwnProperty(u)){var c=0===u.indexOf("--");"production"!==t.env.NODE_ENV&&(c||O(u,n[u],r));var l=s(u,n[u],r,c);if("float"!==u&&"cssFloat"!==u||(u=f),c)a.setProperty(u,l);else if(l)a[u]=l;else{var p=d&&o.shorthandPropertyExpansions[u];if(p)for(var h in p)a[h]="";else a[u]=""}}}};e.exports=w}).call(t,n(1))},function(e,t,n){"use strict";function o(e,t,n){var o=w.getPooled(P.change,e,t,n);return o.type="change",N.accumulateTwoPhaseDispatches(o),o}function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function i(e){var t=o(R,e,k(e));O.batchedUpdates(a,t)}function a(e){b.enqueueEvents(e),b.processEventQueue(!1)}function s(e,t){S=e,R=t,S.attachEvent("onchange",i)}function u(){S&&(S.detachEvent("onchange",i),S=null,R=null)}function c(e,t){var n=x.updateValueIfChanged(e),o=t.simulated===!0&&A._allowSimulatedPassThrough;if(n||o)return e}function l(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function d(e,t){S=e,R=t,S.attachEvent("onpropertychange",h)}function f(){S&&(S.detachEvent("onpropertychange",h),S=null,R=null)}function h(e){"value"===e.propertyName&&c(R,e)&&i(e)}function v(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function m(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return c(R,n)}function g(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return c(t,n)}function E(e,t,n){if("topInput"===e||"topChange"===e)return c(t,n)}function _(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var o=""+t.value;t.getAttribute("value")!==o&&t.setAttribute("value",o)}}}var b=n(21),N=n(22),C=n(7),D=n(6),O=n(11),w=n(13),x=n(73),k=n(46),T=n(47),I=n(75),P={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},S=null,R=null,M=!1;C.canUseDOM&&(M=T("change")&&(!document.documentMode||document.documentMode>8));var V=!1;C.canUseDOM&&(V=T("input")&&(!("documentMode"in document)||document.documentMode>9));var A={eventTypes:P,_allowSimulatedPassThrough:!0,_isInputEventSupported:V,extractEvents:function(e,t,n,i){var a,s,u=t?D.getNodeFromInstance(t):window;if(r(u)?M?a=l:s=p:I(u)?V?a=E:(a=m,s=v):g(u)&&(a=y),a){var c=a(e,t,n);if(c){var d=o(c,n,i);return d}}s&&s(e,u,t),"topBlur"===e&&_(t,u)}};e.exports=A},function(e,t,n){(function(t){"use strict";var o=n(4),r=n(17),i=n(7),a=n(91),s=n(9),u=n(2),c={dangerouslyReplaceNodeWithMarkup:function(e,n){if(i.canUseDOM?void 0:"production"!==t.env.NODE_ENV?u(!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."):o("56"),n?void 0:"production"!==t.env.NODE_ENV?u(!1,"dangerouslyReplaceNodeWithMarkup(...): Missing markup."):o("57"),"HTML"===e.nodeName?"production"!==t.env.NODE_ENV?u(!1,"dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the 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()."):o("58"):void 0,"string"==typeof n){var c=a(n,s)[0];e.parentNode.replaceChild(c,e)}else r.replaceChildWithTree(e,n)}};e.exports=c}).call(t,n(1))},function(e,t){"use strict";var n=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];e.exports=n},function(e,t,n){"use strict";var o=n(22),r=n(6),i=n(28),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var c=s.ownerDocument;u=c?c.defaultView||c.parentWindow:window}var l,p;if("topMouseOut"===e){l=t;var d=n.relatedTarget||n.toElement;p=d?r.getClosestInstanceFromNode(d):null}else l=null,p=t;if(l===p)return null;var f=null==l?u:r.getNodeFromInstance(l),h=null==p?u:r.getNodeFromInstance(p),v=i.getPooled(a.mouseLeave,l,n,s);v.type="mouseleave",v.target=f,v.relatedTarget=h;var m=i.getPooled(a.mouseEnter,p,n,s);return m.type="mouseenter",m.target=h,m.relatedTarget=f,o.accumulateEnterLeaveDispatches(v,m,l,p),[v,m]}};e.exports=s},function(e,t,n){"use strict";function o(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var r=n(5),i=n(15),a=n(72);r(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[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,o=n.length,r=this.getText(),i=r.length;for(e=0;e1?1-t:void 0;return this._fallbackText=r.slice(e,s),this._fallbackText}}),i.addPoolingTo(o),e.exports=o},function(e,t,n){"use strict";var o=n(14),r=o.injection.MUST_USE_PROPERTY,i=o.injection.HAS_BOOLEAN_VALUE,a=o.injection.HAS_NUMERIC_VALUE,s=o.injection.HAS_POSITIVE_NUMERIC_VALUE,u=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+o.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:r|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:r|i,muted:r|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:r|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute("value"):void("number"!==e.type||e.hasAttribute("value")===!1?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t))}}};e.exports=c},function(e,t,n){(function(t){"use strict";function o(e,o,i,u){var c=void 0===e[i];"production"!==t.env.NODE_ENV&&(r||(r=n(8)),c||("production"!==t.env.NODE_ENV?l(!1,"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.%s",s.unescape(i),r.getStackAddendumByID(u)):void 0)),null!=o&&c&&(e[i]=a(o,!0))}var r,i=n(18),a=n(74),s=n(38),u=n(48),c=n(77),l=n(3);"undefined"!=typeof t&&t.env&&"test"===t.env.NODE_ENV&&(r=n(8));var p={instantiateChildren:function(e,n,r,i){if(null==e)return null;var a={};return"production"!==t.env.NODE_ENV?c(e,function(e,t,n){return o(e,t,n,i)},a):c(e,o,a),a},updateChildren:function(e,t,n,o,r,s,c,l,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){f=e&&e[d];var h=f&&f._currentElement,v=t[d];if(null!=f&&u(h,v))i.receiveComponent(f,v,r,l),t[d]=f;else{f&&(o[d]=i.getHostNode(f),i.unmountComponent(f,!1));var m=a(v,!0);t[d]=m;var g=i.mountComponent(m,r,s,c,l,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],o[d]=i.getHostNode(f),i.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];i.unmountComponent(o,t)}}};e.exports=p}).call(t,n(1))},function(e,t,n){"use strict";var o=n(35),r=n(123),i={processChildrenUpdates:r.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup};e.exports=i},function(e,t,n){(function(t){"use strict";function o(e){}function r(e,n){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(null===n||n===!1||l.isValidElement(n),"%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.",e.displayName||e.name||"Component"):void 0,"production"!==t.env.NODE_ENV?C(!e.childContextTypes,"%s(...): childContextTypes cannot be defined on a functional component.",e.displayName||e.name||"Component"):void 0)}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}function s(e,t,n){if(0===t)return e();v.debugTool.onBeginLifeCycleTimer(t,n);try{return e()}finally{v.debugTool.onEndLifeCycleTimer(t,n)}}var u=n(4),c=n(5),l=n(19),p=n(40),d=n(12),f=n(41),h=n(23),v=n(10),m=n(66),g=n(18);if("production"!==t.env.NODE_ENV)var y=n(165);var E=n(25),_=n(2),b=n(33),N=n(48),C=n(3),D={ImpureClass:0,PureClass:1,StatelessFunctional:2};o.prototype.render=function(){var e=h.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return r(e,t),t};var O=1,w={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1,"production"!==t.env.NODE_ENV&&(this._warnedAboutRefsInRender=!1)},mountComponent:function(e,n,c,p){var d=this;this._context=p,this._mountOrder=O++,this._hostParent=n,this._hostContainerInfo=c;var f,v=this._currentElement.props,m=this._processContext(p),g=this._currentElement.type,y=e.getUpdateQueue(),b=i(g),N=this._constructComponent(b,v,m,y);if(b||null!=N&&null!=N.render?a(g)?this._compositeType=D.PureClass:this._compositeType=D.ImpureClass:(f=N,r(g,f),null===N||N===!1||l.isValidElement(N)?void 0:"production"!==t.env.NODE_ENV?_(!1,"%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.",g.displayName||g.name||"Component"):u("105",g.displayName||g.name||"Component"),N=new o(g),this._compositeType=D.StatelessFunctional),"production"!==t.env.NODE_ENV){null==N.render&&("production"!==t.env.NODE_ENV?C(!1,"%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.",g.displayName||g.name||"Component"):void 0);var w=N.props!==v,x=g.displayName||g.name||"Component";"production"!==t.env.NODE_ENV?C(void 0===N.props||!w,"%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",x,x):void 0}N.props=v,N.context=m,N.refs=E,N.updater=y,this._instance=N,h.set(N,this),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(!N.getInitialState||N.getInitialState.isReactClassApproved||N.state,"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?C(!N.getDefaultProps||N.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?C(!N.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?C(!N.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?C("function"!=typeof N.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?C("function"!=typeof N.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?C("function"!=typeof N.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",this.getName()||"A component"):void 0);var k=N.state;void 0===k&&(N.state=k=null),"object"!=typeof k||Array.isArray(k)?"production"!==t.env.NODE_ENV?_(!1,"%s.state: must be set to an object or null",this.getName()||"ReactCompositeComponent"):u("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var T;return T=N.unstable_handleError?this.performInitialMountWithErrorHandling(f,n,c,e,p):this.performInitialMount(f,n,c,e,p),N.componentDidMount&&("production"!==t.env.NODE_ENV?e.getReactMountReady().enqueue(function(){s(function(){return N.componentDidMount()},d._debugID,"componentDidMount")}):e.getReactMountReady().enqueue(N.componentDidMount,N)),T},_constructComponent:function(e,n,o,r){if("production"===t.env.NODE_ENV)return this._constructComponentWithoutOwner(e,n,o,r);d.current=this;try{return this._constructComponentWithoutOwner(e,n,o,r)}finally{d.current=null}},_constructComponentWithoutOwner:function(e,n,o,r){var i=this._currentElement.type;return e?"production"!==t.env.NODE_ENV?s(function(){return new i(n,o,r)},this._debugID,"ctor"):new i(n,o,r):"production"!==t.env.NODE_ENV?s(function(){return i(n,o,r)},this._debugID,"render"):i(n,o,r)},performInitialMountWithErrorHandling:function(e,t,n,o,r){var i,a=o.checkpoint();try{i=this.performInitialMount(e,t,n,o,r)}catch(s){o.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=o.checkpoint(),this._renderedComponent.unmountComponent(!0),o.rollback(a),i=this.performInitialMount(e,t,n,o,r)}return i},performInitialMount:function(e,n,o,r,i){var a=this._instance,u=0;"production"!==t.env.NODE_ENV&&(u=this._debugID),a.componentWillMount&&("production"!==t.env.NODE_ENV?s(function(){return a.componentWillMount()},u,"componentWillMount"):a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),void 0===e&&(e=this._renderValidatedComponent());var c=m.getType(e);this._renderedNodeType=c;var l=this._instantiateReactComponent(e,c!==m.EMPTY);this._renderedComponent=l;var p=g.mountComponent(l,r,n,o,this._processChildContext(i),u);if("production"!==t.env.NODE_ENV&&0!==u){var d=0!==l._debugID?[l._debugID]:[];v.debugTool.onSetChildren(u,d)}return p},getHostNode:function(){return g.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var n=this._instance;if(n.componentWillUnmount&&!n._calledComponentWillUnmount)if(n._calledComponentWillUnmount=!0,e){var o=this.getName()+".componentWillUnmount()";f.invokeGuardedCallback(o,n.componentWillUnmount.bind(n))}else"production"!==t.env.NODE_ENV?s(function(){return n.componentWillUnmount()},this._debugID,"componentWillUnmount"):n.componentWillUnmount();this._renderedComponent&&(g.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,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=0,this._topLevelWrapper=null,h.remove(n)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return E;var o={};for(var r in n)o[r]=e[r];return o},_processContext:function(e){var n=this._maskContext(e);if("production"!==t.env.NODE_ENV){var o=this._currentElement.type;o.contextTypes&&this._checkContextTypes(o.contextTypes,n,"context")}return n},_processChildContext:function(e){var n,o=this._currentElement.type,r=this._instance;if(r.getChildContext)if("production"!==t.env.NODE_ENV){v.debugTool.onBeginProcessingChildContext();try{n=r.getChildContext()}finally{v.debugTool.onEndProcessingChildContext()}}else n=r.getChildContext();if(n){"object"!=typeof o.childContextTypes?"production"!==t.env.NODE_ENV?_(!1,"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",this.getName()||"ReactCompositeComponent"):u("107",this.getName()||"ReactCompositeComponent"):void 0,"production"!==t.env.NODE_ENV&&this._checkContextTypes(o.childContextTypes,n,"child context");for(var i in n)i in o.childContextTypes?void 0:"production"!==t.env.NODE_ENV?_(!1,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',this.getName()||"ReactCompositeComponent",i):u("108",this.getName()||"ReactCompositeComponent",i);return c({},e,n)}return e},_checkContextTypes:function(e,n,o){"production"!==t.env.NODE_ENV&&y(e,n,o,this.getName(),null,this._debugID)},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?g.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,n,o,r,i){var a=this._instance;null==a?"production"!==t.env.NODE_ENV?_(!1,"Attempted to update component `%s` that has already been unmounted (or failed to mount).",this.getName()||"ReactCompositeComponent"):u("136",this.getName()||"ReactCompositeComponent"):void 0;var c,l=!1;this._context===i?c=a.context:(c=this._processContext(i),l=!0);var p=n.props,d=o.props;n!==o&&(l=!0),l&&a.componentWillReceiveProps&&("production"!==t.env.NODE_ENV?s(function(){return a.componentWillReceiveProps(d,c)},this._debugID,"componentWillReceiveProps"):a.componentWillReceiveProps(d,c));var f=this._processPendingState(d,c),h=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?h="production"!==t.env.NODE_ENV?s(function(){return a.shouldComponentUpdate(d,f,c)},this._debugID,"shouldComponentUpdate"):a.shouldComponentUpdate(d,f,c):this._compositeType===D.PureClass&&(h=!b(p,d)||!b(a.state,f))),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?C(void 0!==h,"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",this.getName()||"ReactCompositeComponent"):void 0),this._updateBatchNumber=null,h?(this._pendingForceUpdate=!1,this._performComponentUpdate(o,d,f,c,e,i)):(this._currentElement=o,this._context=i,a.props=d,a.state=f,a.context=c)},_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 i=c({},r?o[0]:n.state),a=r?1:0;a-1&&navigator.userAgent.indexOf("Edge")===-1||navigator.userAgent.indexOf("Firefox")>-1)){var v=window.location.protocol.indexOf("http")===-1&&navigator.userAgent.indexOf("Firefox")===-1;console.debug("Download the React DevTools "+(v?"and use an HTTP server (instead of a file: URL) ":"")+"for a better development experience: https://fb.me/react-devtools")}var m=function(){};"production"!==t.env.NODE_ENV?d((m.name||m.toString()).indexOf("testFn")!==-1,"It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https://fb.me/react-minification for more details."):void 0;var g=document.documentMode&&document.documentMode<8;"production"!==t.env.NODE_ENV?d(!g,'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: '):void 0;for(var y=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.trim],E=0;E",r(e),r(n)):void 0)}}function a(e,n){n&&(se[e._tag]&&(null!=n.children||null!=n.dangerouslySetInnerHTML?"production"!==t.env.NODE_ENV?j(!1,"%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):y("137",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?j(!1,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):y("60"):void 0,"object"==typeof n.dangerouslySetInnerHTML&&Z in n.dangerouslySetInnerHTML?void 0:"production"!==t.env.NODE_ENV?j(!1,"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information."):y("61")),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?z(null==n.innerHTML,"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."):void 0,"production"!==t.env.NODE_ENV?z(n.suppressContentEditableWarning||!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,"production"!==t.env.NODE_ENV?z(null==n.onFocusIn&&null==n.onFocusOut,"React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."):void 0),null!=n.style&&"object"!=typeof n.style?"production"!==t.env.NODE_ENV?j(!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)):y("62",o(e)):void 0)}function s(e,n,o,r){if(!(r instanceof U)){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?z("onScroll"!==n||B("scroll",!0),"This browser doesn't support the `onScroll` event"):void 0);var i=e._hostContainerInfo,a=i._node&&i._node.nodeType===te,s=a?i._node:i._ownerDocument;G(n,s),r.getReactMountReady().enqueue(u,{inst:e,registrationName:n,listener:o})}}function u(){var e=this;w.putListener(e.inst,e.registrationName,e.listener)}function c(){var e=this;P.postMountWrapper(e)}function l(){var e=this;M.postMountWrapper(e)}function p(){var e=this;S.postMountWrapper(e)}function d(){H.track(this)}function f(){var e=this;e._rootNodeID?void 0:"production"!==t.env.NODE_ENV?j(!1,"Must be mounted to trap events"):y("63");var n=X(e);switch(n?void 0:"production"!==t.env.NODE_ENV?j(!1,"trapBubbledEvent(...): Requires node to be rendered."):y("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[k.trapBubbledEvent("topLoad","load",n)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var o in re)re.hasOwnProperty(o)&&e._wrapperState.listeners.push(k.trapBubbledEvent(o,re[o],n));break;case"source":e._wrapperState.listeners=[k.trapBubbledEvent("topError","error",n)];break;case"img":e._wrapperState.listeners=[k.trapBubbledEvent("topError","error",n),k.trapBubbledEvent("topLoad","load",n)];break;case"form":e._wrapperState.listeners=[k.trapBubbledEvent("topReset","reset",n),k.trapBubbledEvent("topSubmit","submit",n)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[k.trapBubbledEvent("topInvalid","invalid",n)]}}function h(){R.postUpdateWrapper(this)}function v(e){le.call(ce,e)||(ue.test(e)?void 0:"production"!==t.env.NODE_ENV?j(!1,"Invalid tag: %s",e):y("65",e),ce[e]=!0)}function m(e,t){return e.indexOf("-")>=0||null!=t.is; +}function g(e){var n=e.type;v(n),this._currentElement=e,this._tag=n.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0,"production"!==t.env.NODE_ENV&&(this._ancestorInfo=null,oe.call(this,null))}var y=n(4),E=n(5),_=n(106),b=n(108),N=n(17),C=n(36),D=n(14),O=n(58),w=n(21),x=n(26),k=n(27),T=n(59),I=n(6),P=n(124),S=n(127),R=n(60),M=n(130),V=n(10),A=n(143),U=n(148),L=n(9),F=n(30),j=n(2),B=n(47),W=n(33),H=n(73),q=n(49),z=n(3),Y=T,K=w.deleteListener,X=I.getNodeFromInstance,G=k.listenTo,$=x.registrationNameModules,Q={string:!0,number:!0},J="style",Z="__html",ee={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},te=11,ne={},oe=L;"production"!==t.env.NODE_ENV&&(oe=function(e){var t=null!=this._contentDebugID,n=this._debugID,o=-n;return null==e?(t&&V.debugTool.onUnmountComponent(this._contentDebugID),void(this._contentDebugID=null)):(q(null,String(e),this,this._ancestorInfo),this._contentDebugID=o,void(t?(V.debugTool.onBeforeUpdateComponent(o,e),V.debugTool.onUpdateComponent(o)):(V.debugTool.onBeforeMountComponent(o,e,n),V.debugTool.onMountComponent(o),V.debugTool.onSetChildren(n,[o]))))});var 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"},ie={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},ae={listing:!0,pre:!0,textarea:!0},se=E({menuitem:!0},ie),ue=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ce={},le={}.hasOwnProperty,pe=1;g.displayName="ReactDOMComponent",g.Mixin={mountComponent:function(e,n,o,r){this._rootNodeID=pe++,this._domID=o._idCounter++,this._hostParent=n,this._hostContainerInfo=o;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(f,this);break;case"input":P.mountWrapper(this,i,n),i=P.getHostProps(this,i),e.getReactMountReady().enqueue(d,this),e.getReactMountReady().enqueue(f,this);break;case"option":S.mountWrapper(this,i,n),i=S.getHostProps(this,i);break;case"select":R.mountWrapper(this,i,n),i=R.getHostProps(this,i),e.getReactMountReady().enqueue(f,this);break;case"textarea":M.mountWrapper(this,i,n),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(d,this),e.getReactMountReady().enqueue(f,this)}a(this,i);var s,u;if(null!=n?(s=n._namespaceURI,u=n._tag):o._tag&&(s=o._namespaceURI,u=o._tag),(null==s||s===C.svg&&"foreignobject"===u)&&(s=C.html),s===C.html&&("svg"===this._tag?s=C.svg:"math"===this._tag&&(s=C.mathml)),this._namespaceURI=s,"production"!==t.env.NODE_ENV){var h;null!=n?h=n._ancestorInfo:o._tag&&(h=o._ancestorInfo),h&&q(this._tag,null,this,h),this._ancestorInfo=q.updatedAncestorInfo(h,this._tag,this)}var v;if(e.useCreateElement){var m,g=o._ownerDocument;if(s===C.html)if("script"===this._tag){var y=g.createElement("div"),E=this._currentElement.type;y.innerHTML="<"+E+">",m=y.removeChild(y.firstChild)}else m=i.is?g.createElement(this._currentElement.type,i.is):g.createElement(this._currentElement.type);else m=g.createElementNS(s,this._currentElement.type);I.precacheNode(this,m),this._flags|=Y.hasCachedChildNodes,this._hostParent||O.setAttributeForRoot(m),this._updateDOMProperties(null,i,e);var b=N(m);this._createInitialChildren(e,i,r,b),v=b}else{var D=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);v=!w&&ie[this._tag]?D+"/>":D+">"+w+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(c,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(l,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(p,this)}return v},_createOpenTagMarkupAndPutListeners:function(e,n){var o="<"+this._currentElement.type;for(var r in n)if(n.hasOwnProperty(r)){var i=n[r];if(null!=i)if($.hasOwnProperty(r))i&&s(this,r,i,e);else{r===J&&(i&&("production"!==t.env.NODE_ENV&&(this._previousStyle=i),i=this._previousStyleCopy=E({},n.style)),i=b.createMarkupForStyles(i,this));var a=null;null!=this._tag&&m(this._tag,n)?ee.hasOwnProperty(r)||(a=O.createMarkupForCustomAttribute(r,i)):a=O.createMarkupForProperty(r,i),a&&(o+=" "+a)}}return e.renderToStaticMarkup?o:(this._hostParent||(o+=" "+O.createMarkupForRoot()),o+=" "+O.createMarkupForID(this._domID))},_createContentMarkup:function(e,n,o){var r="",i=n.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&(r=i.__html);else{var a=Q[typeof n.children]?n.children:null,s=null!=a?null:n.children;if(null!=a)r=F(a),"production"!==t.env.NODE_ENV&&oe.call(this,a);else if(null!=s){var u=this.mountChildren(s,e,o);r=u.join("")}}return ae[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,n,o,r){var i=n.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&N.queueHTML(r,i.__html);else{var a=Q[typeof n.children]?n.children:null,s=null!=a?null:n.children;if(null!=a)""!==a&&("production"!==t.env.NODE_ENV&&oe.call(this,a),N.queueText(r,a));else if(null!=s)for(var u=this.mountChildren(s,e,o),c=0;c tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg , , and ) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.",this._tag):y("66",this._tag)}this.unmountChildren(e),I.uncacheNode(this),w.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null,"production"!==t.env.NODE_ENV&&oe.call(this,null)},getPublicInstance:function(){return X(this)}},E(g.prototype,g.Mixin,A.Mixin),e.exports=g}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,n){var o={_topLevelWrapper:e,_idCounter:1,_ownerDocument:n?n.nodeType===i?n:n.ownerDocument:null,_node:n,_tag:n?n.nodeName.toLowerCase():null,_namespaceURI:n?n.namespaceURI:null};return"production"!==t.env.NODE_ENV&&(o._ancestorInfo=n?r.updatedAncestorInfo(null,o._tag,null):null),o}var r=n(49),i=9;e.exports=o}).call(t,n(1))},function(e,t,n){"use strict";var o=n(5),r=n(17),i=n(6),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};o(a.prototype,{mountComponent:function(e,t,n,o){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,c=u.createComment(s);return i.precacheNode(this,c),r(c)}return e.renderToStaticMarkup?"":""},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t){"use strict";var n={useCreateElement:!0,useFiber:!1};e.exports=n},function(e,t,n){"use strict";var o=n(35),r=n(6),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=r.getNodeFromInstance(e);o.processUpdates(n,t)}};e.exports=i},function(e,t,n){(function(t){"use strict";function o(){this._rootNodeID&&_.updateWrapper(this)}function r(e){var t="checkbox"===e.type||"radio"===e.type;return t?null!=e.checked:null!=e.value}function i(e){var n=this._currentElement.props,r=c.executeOnChange(n,e);p.asap(o,this);var i=n.name;if("radio"===n.type&&null!=i){for(var s=l.getNodeFromInstance(this),u=s;u.parentNode;)u=u.parentNode;for(var f=u.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),h=0;h tag. For details, see https://fb.me/invalid-aria-prop%s",c,n.type,s.getStackAddendumByID(e)):void 0:r.length>1&&("production"!==t.env.NODE_ENV?u(!1,"Invalid aria props %s on <%s> tag. For details, see https://fb.me/invalid-aria-prop%s",c,n.type,s.getStackAddendumByID(e)):void 0)}function i(e,t){null!=t&&"string"==typeof t.type&&(t.type.indexOf("-")>=0||t.props.is||r(e,t))}var a=n(14),s=n(8),u=n(3),c={},l=new RegExp("^(aria)-["+a.ATTRIBUTE_NAME_CHAR+"]*$"),p={onBeforeMountComponent:function(e,n){"production"!==t.env.NODE_ENV&&i(e,n)},onBeforeUpdateComponent:function(e,n){"production"!==t.env.NODE_ENV&&i(e,n)}};e.exports=p}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e,n){null!=n&&("input"!==n.type&&"textarea"!==n.type&&"select"!==n.type||null==n.props||null!==n.props.value||a||("production"!==t.env.NODE_ENV?i(!1,"`value` prop on `%s` should not be null. Consider using the empty string to clear the component or `undefined` for uncontrolled components.%s",n.type,r.getStackAddendumByID(e)):void 0,a=!0))}var r=n(8),i=n(3),a=!1,s={onBeforeMountComponent:function(e,t){o(e,t)},onBeforeUpdateComponent:function(e,t){o(e,t)}};e.exports=s}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function o(e){var n="";return i.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?n+=e:c||(c=!0,"production"!==t.env.NODE_ENV?u(!1,"Only strings and numbers are supported as