diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 0578679..0000000 --- a/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["react", "es2015"] -} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..773ca2d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true +quote_type = single diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index f6daa6e..0000000 --- a/.eslintrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "ecmaFeatures": { - "jsx": true, - "modules": true - }, - "env": { - "browser": true, - "node": true - }, - "parser": "babel-eslint", - "rules": { - "quotes": [2, "single"], - "strict": [2, "never"], - "babel/generator-star-spacing": 1, - "babel/new-cap": 1, - "babel/object-shorthand": 1, - "babel/arrow-parens": 1, - "babel/no-await-in-loop": 1, - "react/jsx-uses-react": 2, - "react/jsx-uses-vars": 2, - "react/react-in-jsx-scope": 2 - }, - "plugins": [ - "babel", - "react" - ] -} diff --git a/.gitignore b/.gitignore index 6ee8ee4..3a7ba79 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ package-lock.json node_modules/ npm-debug.* .idea +pnpm-lock.yaml +dist +build diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 986a726..0000000 --- a/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - "6.10.2" \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c566138 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog + +## Unreleased + +- Added `AdSense` component +- Added `AdSenseProvider` component +- Added TypeScript support +- Added ESM support + +**BREAKING CHANGE**: + +- Removed default export +- Removed unimplemented `Baidu` component diff --git a/README.md b/README.md index 6f21701..7693405 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # react-adsense -> react-adsense is a React-component for Google AdSense / Baidu advertisement. +React components for Google AdSense. [![Build Status](https://travis-ci.org/hustcc/react-adsense.svg?branch=master)](https://travis-ci.org/hustcc/react-adsense) [![npm](https://img.shields.io/npm/v/react-adsense.svg)](https://www.npmjs.com/package/react-adsense) @@ -8,32 +8,69 @@ [![npm](https://img.shields.io/npm/l/react-adsense.svg)](https://www.npmjs.com/package/react-adsense) [![demo](https://img.shields.io/badge/LiveDemo-ClickHere-ff69b4.svg)](http://git.hust.cc/react-adsense/) +## Prepare -# 1. Install +First you need to open a Google AdSense account. You should get a script: -> **npm install --save react-adsense** +```html + +``` + +Add it to your website's home page. Usually Google verify your website in two weeks. After the process is done, you will be able to create custom ad blocks. + +> **Note: Turn Off AdBlocker Before Continue!!!** -Before use Google AdSense, you should add the `script` at the end of HTML. +After creating an ad block, you should have a code snippet: ```html - + + + +``` + +We need `data-ad-*` attributes to use with react-adsense. + +## Install + +```bash +npm install --save react-adsense ``` +## Usage -# 2. Usage +### Single Slot + +If you only have one ad slot, use `` component. `client` and `slot` are required. ```jsx import React from 'react'; -import AdSense from 'react-adsense'; +import { AdSense } from 'react-adsense'; -// ads with no set-up - +; +``` + +You can also customize it: +```jsx // ads with custom format - // responsive and native ads - // auto full width responsive ads - ``` +### Multiple Slots + +If you have many ad slots, you can use `` to define global parameters. + +```jsx +import React from 'react'; +import { AdSense, AdSenseProvider } from 'react-adsense'; + + + + + +; +``` + +## Props + +### `client` + +Related to `data-ad-client`. Required. + +### `slot` + +Related to `data-ad-slot`. Required. + +### `layout` + +Related to `data-ad-layout`. Optional. + +### `layout-key` + +Related to `data-ad-layout-key`. Optional. + +### `format` + +Related to `data-ad-format`. Optional. -# 3. Props +### `responsive` - - Required props: - - `client` - - `slot` - - Optional props: - - `className`: - - `style`: - - `layout`: - - `layoutKey`: - - `format`: - - `responsive`: +Related to `data-ad-responsive`. Optional. +### `className` -# 4. TODO +Optional. - - `Baidu` advertisement supported. +### `style` +Optional. # LICENSE diff --git a/demo/App.tsx b/demo/App.tsx new file mode 100644 index 0000000..3214467 --- /dev/null +++ b/demo/App.tsx @@ -0,0 +1,58 @@ +import { AdSense } from '../src'; + +export default function App() { + console.log('haha'); + return ( +
+

react-adsense: adsense for react

+

+ Project{' '} + react-adsense is a + React-component for Google AdSense / Baidu advertisement. +

+ +

1. Install

+
 npm install react-adsense 
+ +

Then import it.

+
+        {
+          "//import library use script tag.\n\nimport AdSense from 'react-adsense';"
+        }
+      
+ +

2. Usage

+
+        {
+          "import AdSense from 'react-adsense';\n\n"
+        }
+      
+ +

3. default props

+ + +

4. in-article layout

+ + +

5. full-config Demo

+ + +
+ ); +} diff --git a/demo/dist/bundle.js b/demo/dist/bundle.js deleted file mode 100644 index a947cca..0000000 --- a/demo/dist/bundle.js +++ /dev/null @@ -1,36 +0,0 @@ -!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={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=87)}([function(e,t){function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function r(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&f&&(m=!1,f.length?h=f.concat(h):v=-1,h.length&&s())}function s(){if(!m){var e=r(a);m=!0;for(var t=h.length;t;){for(f=h,h=[];++v1)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||("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||("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)||("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)),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)),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(3),s=n(1),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")),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)),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(0))},function(e,t,n){"use strict";function o(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=f++,p[e[m]]={}),p[e[m]]}var r,i=n(4),a=n(26),s=n(143),u=n(68),c=n(178),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"},m="_reactListenersID"+String(Math.random()).slice(2),v=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=o(n),i=a.registrationNameDependencies[e],s=0;s]/;e.exports=r},function(e,t,n){"use strict";var o,r=n(6),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){"use strict";(function(t){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(0))},function(e,t,n){"use strict";function o(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function r(e,t){if(o(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=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")}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),o}var a=n(3),s=n(11),u=n(22),c=n(8),l=n(10),p=n(1),d=n(2),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"),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);if(!r)return null;r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],o(r)},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()."));var r=i(e,"setState");if(r){(r._pendingStateQueue||(r._pendingStateQueue=[])).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)))}};e.exports=f}).call(t,n(0))},function(e,t,n){"use strict";var o=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=o},function(e,t,n){"use strict";function o(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}e.exports=o},function(e,t,n){"use strict";function o(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var o=i[e];return!!o&&!!n[o]}function r(e){return o}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t,n){"use strict";function o(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=o},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(6);i.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=o},function(e,t,n){"use strict";function o(e,t){var n=null===e||!1===e,o=null===t||!1===t;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=o},function(e,t,n){"use strict";(function(t){var o=n(4),r=n(9),i=n(2),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-1!==u.indexOf(t)&&(r.aTagInScope=null,r.buttonTagInScope=null,r.nobrTagInScope=null),-1!==c.indexOf(t)&&(r.pTagInButtonScope=null),-1!==s.indexOf(t)&&"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-1===l.indexOf(t);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},m=function(e){if(!e)return[];var t=[];do{t.push(e)}while(e=e._currentElement._owner);return t.reverse(),t},v={};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"),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=m(E),N=m(_),C=Math.min(b.length,N.length),O=-1;for(d=0;d "),k=!!u+"|"+e+"|"+g+"|"+x;if(v[k])return;v[k]=!0;var T=e,I="";if("#text"===e?/\S/.test(n)?T="Text nodes":(T="Whitespace text nodes",I=" Make sure you don't have any extra whitespace between tags on each line of your source code."):T="<"+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",T,g,I,x,S)}else"production"!==t.env.NODE_ENV&&i(!1,"validateDOMNesting(...): %s cannot appear as a descendant of <%s>. See %s.",T,g,x)}},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(0))},function(e,t,n){"use strict";(function(t){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;i1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),o)}function y(e){function t(t,n,o,r,i){if("function"!=typeof e)return new d("Property `"+i+"` of component `"+o+"` has invalid PropType notation inside objectOf.");var s=t[n],c=O(s);if("object"!==c)return new d("Invalid "+r+" `"+i+"` of type `"+c+"` supplied to `"+o+"`, expected an object.");for(var l in s)if(u(s,l)){var p=e(s,l,o,r,i+"."+l,a);if(p instanceof Error)return p}return null}return f(t)}function E(e){function n(t,n,o,r,i){for(var s=0;s must be an array if `multiple` is true.%s",a,r(o)):!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};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){d[e]=p,s[e]=!0}),e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";function o(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=o},function(e,t,n){"use strict";function o(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=o},function(e,t,n){"use strict";function o(e){return r(e).replace(i,"-ms-")}var r=n(101),i=/^ms-/;e.exports=o},function(e,t,n){"use strict";function o(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=o},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,n){"use strict";function o(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=o},function(e,t,n){"use strict";var o,r=n(6);r.canUseDOM&&(o=window.performance||window.msPerformance||window.webkitPerformance),e.exports=o||{}},function(e,t,n){"use strict";var o,r=n(106);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,n,o,u,c){if("production"!==t.env.NODE_ENV)for(var l in e)if(s(e,l)){var p;try{if("function"!=typeof e[l]){var d=Error((u||"React class")+": "+o+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.");throw d.name="Invariant Violation",d}p=e[l](n,l,u,o,null,i)}catch(e){p=e}if(!p||p instanceof Error||r((u||"React class")+": type specification of "+o+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof p+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),p instanceof Error&&!(p.message in a)){a[p.message]=!0;var f=c?c():"";r("Failed "+o+" type: "+p.message+(null!=f?f:""))}}}var r=function(){};if("production"!==t.env.NODE_ENV){var i=n(34),a={},s=Function.call.bind(Object.prototype.hasOwnProperty);r=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}o.resetWarningCache=function(){"production"!==t.env.NODE_ENV&&(a={})},e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";function o(){}function r(){}var i=n(34);r.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,r,a){if(a!==i){var s=new Error("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");throw s.name="Invariant Violation",s}}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,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){(function(t){if("production"!==t.env.NODE_ENV){var o=n(78);e.exports=n(55)(o.isElement,!0)}else e.exports=n(109)()}).call(t,n(0))},function(e,t,n){"use strict";var o={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=o},function(e,t,n){"use strict";var o=n(5),r=n(52),i={focusDOMComponent:function(){r(o.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){"use strict";function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function r(e){switch(e){case"topCompositionStart":return D.compositionStart;case"topCompositionEnd":return D.compositionEnd;case"topCompositionUpdate":return D.compositionUpdate}}function i(e,t){return"topKeyDown"===e&&t.keyCode===y}function a(e,t){switch(e){case"topKeyUp":return-1!==g.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==y;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function s(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function u(e,t,n,o){var u,c;if(E?u=r(e):x?a(e,n)&&(u=D.compositionEnd):i(e,n)&&(u=D.compositionStart),!u)return null;N&&(x||u!==D.compositionStart?u===D.compositionEnd&&x&&(c=x.getData()):x=h.getPooled(o));var l=m.getPooled(u,t,n,o);if(c)l.data=c;else{var p=s(n);null!==p&&(l.data=p)}return d.accumulateTwoPhaseDispatches(l),l}function c(e,t){switch(e){case"topCompositionEnd":return s(t);case"topKeyPress":return t.which!==C?null:(w=!0,O);case"topTextInput":var n=t.data;return n===O&&w?null:n;default:return null}}function l(e,t){if(x){if("topCompositionEnd"===e||!E&&a(e,t)){var n=x.getData();return h.release(x),x=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return N?null:t.data;default:return null}}function p(e,t,n,o){var r;if(!(r=b?c(e,n):l(e,n)))return null;var i=v.getPooled(D.beforeInput,t,n,o);return i.data=r,d.accumulateTwoPhaseDispatches(i),i}var d=n(21),f=n(6),h=n(119),m=n(162),v=n(165),g=[9,13,27,32],y=229,E=f.canUseDOM&&"CompositionEvent"in window,_=null;f.canUseDOM&&"documentMode"in document&&(_=document.documentMode);var b=f.canUseDOM&&"TextEvent"in window&&!_&&!function(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}(),N=f.canUseDOM&&(!E||_&&_>8&&_<=11),C=32,O=String.fromCharCode(C),D={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"]}},w=!1,x=null,k={eventTypes:D,extractEvents:function(e,t,n,o){return[u(e,t,n,o),p(e,t,n,o)]}};e.exports=k},function(e,t,n){"use strict";(function(t){var o=n(56),r=n(6),i=n(8),a=n(95),s=n(172),u=n(102),c=n(105),l=n(2),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 m=/^(?:webkit|moz|o)[A-Z]/,v=/;\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),O(n)))},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),O(n)))},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.',O(o),e,n.replace(v,"")))},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,O(o)))},O=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""},D=function(e,t,n){var o;n&&(o=n._currentElement._owner),e.indexOf("-")>-1?_(e,o):m.test(e)?b(e,o):v.test(t)&&N(e,t,o),"number"==typeof t&&isNaN(t)&&C(e,0,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||D(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||D(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(0))},function(e,t,n){"use strict";function o(e,t,n){var o=w.getPooled(S.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(M,e,k(e));D.batchedUpdates(a,t)}function a(e){b.enqueueEvents(e),b.processEventQueue(!1)}function s(e,t){P=e,M=t,P.attachEvent("onchange",i)}function u(){P&&(P.detachEvent("onchange",i),P=null,M=null)}function c(e,t){var n=x.updateValueIfChanged(e),o=!0===t.simulated&&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){P=e,M=t,P.attachEvent("onpropertychange",h)}function f(){P&&(P.detachEvent("onpropertychange",h),P=null,M=null)}function h(e){"value"===e.propertyName&&c(M,e)&&i(e)}function m(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function v(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return c(M,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(20),N=n(21),C=n(6),O=n(5),D=n(10),w=n(12),x=n(73),k=n(46),T=n(47),I=n(75),S={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},P=null,M=null,R=!1;C.canUseDOM&&(R=T("change")&&(!document.documentMode||document.documentMode>8));var V=!1;C.canUseDOM&&(V=T("input")&&(!document.documentMode||document.documentMode>9));var A={eventTypes:S,_allowSimulatedPassThrough:!0,_isInputEventSupported:V,extractEvents:function(e,t,n,i){var a,s,u=t?O.getNodeFromInstance(t):window;if(r(u)?R?a=l:s=p:I(u)?V?a=E:(a=v,s=m):g(u)&&(a=y),a){var c=a(e,t,n);if(c){return o(c,n,i)}}s&&s(e,u,t),"topBlur"===e&&_(t,u)}};e.exports=A},function(e,t,n){"use strict";(function(t){var o=n(3),r=n(16),i=n(6),a=n(98),s=n(9),u=n(1),c={dangerouslyReplaceNodeWithMarkup:function(e,n){if(i.canUseDOM||("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||("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")),"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(0))},function(e,t,n){"use strict";var o=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];e.exports=o},function(e,t,n){"use strict";var o=n(21),r=n(5),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),m=i.getPooled(a.mouseLeave,l,n,s);m.type="mouseleave",m.target=f,m.relatedTarget=h;var v=i.getPooled(a.mouseEnter,p,n,s);return v.type="mouseenter",v.target=h,v.relatedTarget=f,o.accumulateEnterLeaveDispatches(m,v,l,p),[m,v]}};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(4),i=n(14),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(13),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,controlsList:0,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){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=c},function(e,t,n){"use strict";(function(t){function o(e,o,i,u){var c=void 0===e[i];"production"!==t.env.NODE_ENV&&(r||(r=n(7)),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))),null!=o&&c&&(e[i]=a(o,!0))}var r,i=n(17),a=n(74),s=n(38),u=n(48),c=n(77),l=n(2);void 0!==t&&t.env&&"test"===t.env.NODE_ENV&&(r=n(7));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,m=t[d];if(null!=f&&u(h,m))i.receiveComponent(f,m,r,l),t[d]=f;else{f&&(o[d]=i.getHostNode(f),i.unmountComponent(f,!1));var v=a(m,!0);t[d]=v;var g=i.mountComponent(v,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(0))},function(e,t,n){"use strict";var o=n(35),r=n(129),i={processChildrenUpdates:r.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup};e.exports=i},function(e,t,n){"use strict";(function(t){function o(e){}function r(e,n){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV&&C(null===n||!1===n||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"),"production"!==t.env.NODE_ENV&&C(!e.childContextTypes,"%s(...): childContextTypes cannot be defined on a functional component.",e.displayName||e.name||"Component"))}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();m.debugTool.onBeginLifeCycleTimer(t,n);try{return e()}finally{m.debugTool.onEndLifeCycleTimer(t,n)}}var u=n(3),c=n(4),l=n(18),p=n(40),d=n(11),f=n(41),h=n(22),m=n(8),v=n(66),g=n(17);if("production"!==t.env.NODE_ENV)var y=n(171);var E=n(25),_=n(1),b=n(33),N=n(48),C=n(2),O={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 D=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=D++,this._hostParent=n,this._hostContainerInfo=c;var f,m=this._currentElement.props,v=this._processContext(p),g=this._currentElement.type,y=e.getUpdateQueue(),b=i(g),N=this._constructComponent(b,m,v,y);if(b||null!=N&&null!=N.render?a(g)?this._compositeType=O.PureClass:this._compositeType=O.ImpureClass:(f=N,r(g,f),null===N||!1===N||l.isValidElement(N)||("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=O.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");var w=N.props!==m,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)}N.props=m,N.context=v,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"),"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"),"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"),"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"),"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"),"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"),"production"!==t.env.NODE_ENV&&C("function"!=typeof N.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",this.getName()||"A component"));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")),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||e)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=v.getType(e);this._renderedNodeType=c;var l=this._instantiateReactComponent(e,c!==v.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]:[];m.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){m.debugTool.onBeginProcessingChildContext();try{n=r.getChildContext()}finally{m.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")),"production"!==t.env.NODE_ENV&&this._checkContextTypes(o.childContextTypes,n,"child context");for(var i in n)i in o.childContextTypes||("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"));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===O.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"),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&&-1===navigator.userAgent.indexOf("Edge")||navigator.userAgent.indexOf("Firefox")>-1)){var h=-1===window.location.protocol.indexOf("http")&&-1===navigator.userAgent.indexOf("Firefox");console.debug("Download the React DevTools "+(h?"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(-1!==(m.name||m.toString()).indexOf("testFn"),"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.");var v=document.documentMode&&document.documentMode<8;"production"!==t.env.NODE_ENV&&d(!v,'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: ');for(var g=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.trim],y=0;y",r(e),r(n)))}}function a(e,n){n&&(ae[e._tag]&&(null!=n.children||null!=n.dangerouslySetInnerHTML)&&("production"!==t.env.NODE_ENV?F(!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()+".":"")),null!=n.dangerouslySetInnerHTML&&(null!=n.children&&("production"!==t.env.NODE_ENV?F(!1,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):y("60")),"object"==typeof n.dangerouslySetInnerHTML&&J in n.dangerouslySetInnerHTML||("production"!==t.env.NODE_ENV?F(!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&&Y(null==n.innerHTML,"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."),"production"!==t.env.NODE_ENV&&Y(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."),"production"!==t.env.NODE_ENV&&Y(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.")),null!=n.style&&"object"!=typeof n.style&&("production"!==t.env.NODE_ENV?F(!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))))}function s(e,n,o,r){if(!(r instanceof U)){"production"!==t.env.NODE_ENV&&"production"!==t.env.NODE_ENV&&Y("onScroll"!==n||B("scroll",!0),"This browser doesn't support the `onScroll` event");var i=e._hostContainerInfo,a=i._node&&i._node.nodeType===ee,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;S.postMountWrapper(e)}function l(){var e=this;R.postMountWrapper(e)}function p(){var e=this;P.postMountWrapper(e)}function d(){H.track(this)}function f(){var e=this;e._rootNodeID||("production"!==t.env.NODE_ENV?F(!1,"Must be mounted to trap events"):y("63"));var n=$(e);switch(n||("production"!==t.env.NODE_ENV?F(!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 oe)oe.hasOwnProperty(o)&&e._wrapperState.listeners.push(k.trapBubbledEvent(o,oe[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(){M.postUpdateWrapper(this)}function m(e){ce.call(ue,e)||(se.test(e)||("production"!==t.env.NODE_ENV?F(!1,"Invalid tag: %s",e):y("65",e)),ue[e]=!0)}function v(e,t){return e.indexOf("-")>=0||null!=t.is}function g(e){var n=e.type;m(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,ne.call(this,null))}var y=n(3),E=n(4),_=n(112),b=n(114),N=n(16),C=n(36),O=n(13),D=n(58),w=n(20),x=n(26),k=n(27),T=n(59),I=n(5),S=n(130),P=n(133),M=n(60),R=n(136),V=n(8),A=n(149),U=n(154),L=n(9),j=n(30),F=n(1),B=n(47),W=n(33),H=n(73),q=n(49),Y=n(2),K=T,z=w.deleteListener,$=I.getNodeFromInstance,G=k.listenTo,X=x.registrationNameModules,Q={string:!0,number:!0},J="__html",Z={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},ee=11,te={},ne=L;"production"!==t.env.NODE_ENV&&(ne=function(e){var t=null!=this._contentDebugID,n=this._debugID,o=-n;if(null==e)return t&&V.debugTool.onUnmountComponent(this._contentDebugID),void(this._contentDebugID=null);q(null,String(e),this,this._ancestorInfo),this._contentDebugID=o,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 oe={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"},re={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},ae=E({menuitem:!0},re),se=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ue={},ce={}.hasOwnProperty,le=1;g.displayName="ReactDOMComponent",g.Mixin={mountComponent:function(e,n,o,r){this._rootNodeID=le++,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":S.mountWrapper(this,i,n),i=S.getHostProps(this,i),e.getReactMountReady().enqueue(d,this),e.getReactMountReady().enqueue(f,this);break;case"option":P.mountWrapper(this,i,n),i=P.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,n),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(f,this);break;case"textarea":R.mountWrapper(this,i,n),i=R.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 m;if(e.useCreateElement){var v,g=o._ownerDocument;if(s===C.html)if("script"===this._tag){var y=g.createElement("div"),E=this._currentElement.type;y.innerHTML="<"+E+">",v=y.removeChild(y.firstChild)}else v=i.is?g.createElement(this._currentElement.type,i.is):g.createElement(this._currentElement.type);else v=g.createElementNS(s,this._currentElement.type);I.precacheNode(this,v),this._flags|=K.hasCachedChildNodes,this._hostParent||D.setAttributeForRoot(v),this._updateDOMProperties(null,i,e);var b=N(v);this._createInitialChildren(e,i,r,b),m=b}else{var O=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);m=!w&&re[this._tag]?O+"/>":O+">"+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":case"button":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(p,this)}return m},_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(X.hasOwnProperty(r))i&&s(this,r,i,e);else{"style"===r&&(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&&v(this._tag,n)?Z.hasOwnProperty(r)||(a=D.createMarkupForCustomAttribute(r,i)):a=D.createMarkupForProperty(r,i),a&&(o+=" "+a)}}return e.renderToStaticMarkup?o:(this._hostParent||(o+=" "+D.createMarkupForRoot()),o+=" "+D.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=j(a),"production"!==t.env.NODE_ENV&&ne.call(this,a);else if(null!=s){var u=this.mountChildren(s,e,o);r=u.join("")}}return ie[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&&ne.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&&ne.call(this,null)},getPublicInstance:function(){return $(this)}},E(g.prototype,g.Mixin,A.Mixin),e.exports=g}).call(t,n(0))},function(e,t,n){"use strict";(function(t){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(0))},function(e,t,n){"use strict";var o=n(4),r=n(16),i=n(5),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?"":"\x3c!--"+s+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";var o={useCreateElement:!0,useFiber:!1};e.exports=o},function(e,t,n){"use strict";var o=n(35),r=n(5),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=r.getNodeFromInstance(e);o.processUpdates(n,t)}};e.exports=i},function(e,t,n){"use strict";(function(t){function o(){this._rootNodeID&&_.updateWrapper(this)}function r(e){return"checkbox"===e.type||"radio"===e.type?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",a,n.type,s.getStackAddendumByID(e)):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",a,n.type,s.getStackAddendumByID(e))}function i(e,t){null!=t&&"string"==typeof t.type&&(t.type.indexOf("-")>=0||t.props.is||r(e,t))}var a=n(13),s=n(7),u=n(2),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(0))},function(e,t,n){"use strict";(function(t){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)),a=!0))}var r=n(7),i=n(2),a=!1,s={onBeforeMountComponent:function(e,t){o(e,t)},onBeforeUpdateComponent:function(e,t){o(e,t)}};e.exports=s}).call(t,n(0))},function(e,t,n){"use strict";(function(t){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