Skip to content

Instantly share code, notes, and snippets.

@benatkin
Created May 8, 2014 00:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benatkin/d8e2a8efc8fe14bcb2ce to your computer and use it in GitHub Desktop.
Save benatkin/d8e2a8efc8fe14bcb2ce to your computer and use it in GitHub Desktop.
requirebin sketch
var React = require('react-component')
var h = React.DOM
var _ = null;
var crete = require('crete')
var insertCss = require('insert-css')
var rulesets = [
{sel: '*', 'font-family': 'Helvetica, Arial, sans-serif'},
{sel: 'body > div', padding: '10px'},
{sel: 'ul, li',
'list-style-type': 'none',
'margin-left': '0',
'margin-bottom': '8px',
padding: '0'},
{sel: 'a.tag',
'margin-left': '5px',
'border-radius': '5px',
border: '1px solid green',
color: 'green',
'text-decoration': 'none',
'font-size': '80%',
padding: '2px 5px'},
{sel: 'form',
'background-color': '#ffb',
padding: '5px',
'max-width': '300px'},
{sel: 'input[name=description]',
width: '95%',
'font-size': '120%'},
{sel: 'input[name=tags]',
width: '70%'},
{sel: 'input[type=submit]',
'font-size': '120%'},
{sel: 'label',
'font-style': 'italic',
'font-size': '80%',
'margin-right': '5px',
},
{sel: '.clear-tag',
'margin-left': '5px'},
{sel: 'a.remove-item',
color: 'red',
'text-decoration': 'none',
'margin-left': '5px',
display: 'none'
},
{sel: 'li.todo-item:hover a.remove-item',
display: 'inline'
}]
insertCss(rulesets.map(crete).join("\n"))
var TagSelector = React.createClass({
render: function() {
if (this.props.tag == null) {
return h.p(_, h.em(_, 'Showing all tags'))
} else {
return h.p(_,
h.em(_, 'Showing ', this.props.tag),
h.a({href: '#', onClick: this.clearTag, className: 'clear-tag'},
'Clear'))
}
},
clearTag: function(event) {
event.preventDefault();
this.props.tagHandler(null)
}
});
var Todo = React.createClass({
render: function() {
var createTag = function(tag) {
return h.a({className: "tag", 'data-tag': tag,
href: '#', onClick: this.setTag, key: tag},
tag)
}.bind(this)
return h.li({className: "todo-item"},
this.props.description,
this.props.tags.map(createTag),
h.a({href: "#",
onClick: this.removeItem,
'data-id': this.props.key,
className: "remove-item",
title: "remove item"},
'✖'))
},
setTag: function(e) {
this.props.tagHandler(e.target.getAttribute('data-tag'))
},
removeItem: function(e) {
this.props.removeHandler(e.target.getAttribute('data-id'))
}
})
var TodoList = React.createClass({
getInitialState: function() {
this.nextItemId = 1;
var initialState = {
items: [
{ description: 'pay phone bill', tags: ['personal', 'phone'] },
{ description: 'call client', tags: ['work', 'phone'] },
{ description: 'code quux prototype', tags: ['work', 'computer'] },
{ description: 'meet Kelly for chess', tags: ['personal', 'outside'] }
],
selectedTag: null,
description: '',
tags: ''
}
for (var i=0; i < initialState.items.length; i++) {
initialState.items[i].id = this.nextItemId;
this.nextItemId += 1;
}
return initialState;
},
render: function() {
var tagHandler = this.tagHandler
var removeHandler = this.removeHandler
var createItem = function(item) {
return Todo({'data-id': item.id,
key: item.id,
description: item.description,
tags: item.tags,
tagHandler: tagHandler,
removeHandler: removeHandler})
}
var filteredItems = this.state.items;
var selectedTag = this.state.selectedTag
if (selectedTag != null) {
filteredItems = filteredItems.filter(function(item) {
return item.tags.indexOf(selectedTag) != -1
});
}
return (
h.div(_,
h.h1('Todo List'),
TagSelector({tag: this.state.selectedTag,
tagHandler: tagHandler}),
h.ul({className: "todo-list"},
filteredItems.map(createItem)),
h.form({onSubmit: this.handleSubmit},
h.div(_,
h.input({type: "text",
name: "description",
placeholder: "Enter a task...",
value: this.state.description,
onChange: this.handleChange('description')})),
h.div(_,
h.label({htmlFor: "tags"}, 'Tags:'),
h.input({id: "tags",
name: "tags",
type: "text",
placeholder: "personal, phone",
value: this.state.tags,
onChange: this.handleChange('tags')})),
h.div(_, h.input({type: "submit", value: "Add Todo"})))))
},
handleChange: function(name) {
var component = this
return function(event) {
var newState = {}
newState[name] = event.target.value
component.setState(newState)
}
},
handleSubmit: function(event) {
event.preventDefault()
if (this.state.description.trim() == '') return
var tags = this.state.tags
.trim().split(/,\s*/)
.filter(function(tag) {
return tag !== ''
})
var newItem = {
description: this.state.description.trim(),
tags: tags,
id: this.nextItemId
}
this.nextItemId += 1;
this.setState({items: this.state.items.concat([newItem])})
},
tagHandler: function(tag) {
this.setState({selectedTag: tag});
},
removeHandler: function(id) {
newItems = this.state.items.filter(function(item) {
return item.id.toString() !== id.toString()
})
console.log(newItems, id)
this.setState({
items: newItems
})
}
})
React.renderComponent(TodoList(), document.body);
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var focusNode=require("./focusNode");var AutoFocusMixin={componentDidMount:function(){if(this.props.autoFocus){focusNode(this.getDOMNode())}}};module.exports=AutoFocusMixin},{"./focusNode":100}],2:[function(require,module,exports){"use strict";var isUnitlessNumber={columnCount:true,fillOpacity:true,flex:true,flexGrow:true,flexShrink:true,fontWeight:true,lineClamp:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true};function prefixKey(prefix,key){return prefix+key.charAt(0).toUpperCase()+key.substring(1)}var prefixes=["Webkit","ms","Moz","O"];Object.keys(isUnitlessNumber).forEach(function(prop){prefixes.forEach(function(prefix){isUnitlessNumber[prefixKey(prefix,prop)]=isUnitlessNumber[prop]})});var shorthandPropertyExpansions={background:{backgroundImage:true,backgroundPosition:true,backgroundRepeat:true,backgroundColor:true},border:{borderWidth:true,borderStyle:true,borderColor:true},borderBottom:{borderBottomWidth:true,borderBottomStyle:true,borderBottomColor:true},borderLeft:{borderLeftWidth:true,borderLeftStyle:true,borderLeftColor:true},borderRight:{borderRightWidth:true,borderRightStyle:true,borderRightColor:true},borderTop:{borderTopWidth:true,borderTopStyle:true,borderTopColor:true},font:{fontStyle:true,fontVariant:true,fontWeight:true,fontSize:true,lineHeight:true,fontFamily:true}};var CSSProperty={isUnitlessNumber:isUnitlessNumber,shorthandPropertyExpansions:shorthandPropertyExpansions};module.exports=CSSProperty},{}],3:[function(require,module,exports){"use strict";var CSSProperty=require("./CSSProperty");var dangerousStyleValue=require("./dangerousStyleValue");var escapeTextForBrowser=require("./escapeTextForBrowser");var hyphenate=require("./hyphenate");var memoizeStringOnly=require("./memoizeStringOnly");var processStyleName=memoizeStringOnly(function(styleName){return escapeTextForBrowser(hyphenate(styleName))});var CSSPropertyOperations={createMarkupForStyles:function(styles){var serialized="";for(var styleName in styles){if(!styles.hasOwnProperty(styleName)){continue}var styleValue=styles[styleName];if(styleValue!=null){serialized+=processStyleName(styleName)+":";serialized+=dangerousStyleValue(styleName,styleValue)+";"}}return serialized||null},setValueForStyles:function(node,styles){var style=node.style;for(var styleName in styles){if(!styles.hasOwnProperty(styleName)){continue}var styleValue=dangerousStyleValue(styleName,styles[styleName]);if(styleValue){style[styleName]=styleValue}else{var expansion=CSSProperty.shorthandPropertyExpansions[styleName];if(expansion){for(var individualStyleName in expansion){style[individualStyleName]=""}}else{style[styleName]=""}}}}};module.exports=CSSPropertyOperations},{"./CSSProperty":2,"./dangerousStyleValue":95,"./escapeTextForBrowser":98,"./hyphenate":110,"./memoizeStringOnly":120}],4:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPluginHub=require("./EventPluginHub");var EventPropagators=require("./EventPropagators");var ExecutionEnvironment=require("./ExecutionEnvironment");var ReactUpdates=require("./ReactUpdates");var SyntheticEvent=require("./SyntheticEvent");var isEventSupported=require("./isEventSupported");var isTextInputElement=require("./isTextInputElement");var keyOf=require("./keyOf");var topLevelTypes=EventConstants.topLevelTypes;var eventTypes={change:{phasedRegistrationNames:{bubbled:keyOf({onChange:null}),captured:keyOf({onChangeCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topChange,topLevelTypes.topClick,topLevelTypes.topFocus,topLevelTypes.topInput,topLevelTypes.topKeyDown,topLevelTypes.topKeyUp,topLevelTypes.topSelectionChange]}};var activeElement=null;var activeElementID=null;var activeElementValue=null;var activeElementValueProp=null;function shouldUseChangeEvent(elem){return elem.nodeName==="SELECT"||elem.nodeName==="INPUT"&&elem.type==="file"}var doesChangeEventBubble=false;if(ExecutionEnvironment.canUseDOM){doesChangeEventBubble=isEventSupported("change")&&(!("documentMode"in document)||document.documentMode>8)}function manualDispatchChangeEvent(nativeEvent){var event=SyntheticEvent.getPooled(eventTypes.change,activeElementID,nativeEvent);EventPropagators.accumulateTwoPhaseDispatches(event);ReactUpdates.batchedUpdates(runEventInBatch,event)}function runEventInBatch(event){EventPluginHub.enqueueEvents(event);EventPluginHub.processEventQueue()}function startWatchingForChangeEventIE8(target,targetID){activeElement=target;activeElementID=targetID;activeElement.attachEvent("onchange",manualDispatchChangeEvent)}function stopWatchingForChangeEventIE8(){if(!activeElement){return}activeElement.detachEvent("onchange",manualDispatchChangeEvent);activeElement=null;activeElementID=null}function getTargetIDForChangeEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topChange){return topLevelTargetID}}function handleEventsForChangeEventIE8(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topFocus){stopWatchingForChangeEventIE8();startWatchingForChangeEventIE8(topLevelTarget,topLevelTargetID)}else if(topLevelType===topLevelTypes.topBlur){stopWatchingForChangeEventIE8()}}var isInputEventSupported=false;if(ExecutionEnvironment.canUseDOM){isInputEventSupported=isEventSupported("input")&&(!("documentMode"in document)||document.documentMode>9)}var newValueProp={get:function(){return activeElementValueProp.get.call(this)},set:function(val){activeElementValue=""+val;activeElementValueProp.set.call(this,val)}};function startWatchingForValueChange(target,targetID){activeElement=target;activeElementID=targetID;activeElementValue=target.value;activeElementValueProp=Object.getOwnPropertyDescriptor(target.constructor.prototype,"value");Object.defineProperty(activeElement,"value",newValueProp);activeElement.attachEvent("onpropertychange",handlePropertyChange)}function stopWatchingForValueChange(){if(!activeElement){return}delete activeElement.value;activeElement.detachEvent("onpropertychange",handlePropertyChange);activeElement=null;activeElementID=null;activeElementValue=null;activeElementValueProp=null}function handlePropertyChange(nativeEvent){if(nativeEvent.propertyName!=="value"){return}var value=nativeEvent.srcElement.value;if(value===activeElementValue){return}activeElementValue=value;manualDispatchChangeEvent(nativeEvent)}function getTargetIDForInputEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topInput){return topLevelTargetID}}function handleEventsForInputEventIE(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topFocus){stopWatchingForValueChange();startWatchingForValueChange(topLevelTarget,topLevelTargetID)}else if(topLevelType===topLevelTypes.topBlur){stopWatchingForValueChange()}}function getTargetIDForInputEventIE(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topSelectionChange||topLevelType===topLevelTypes.topKeyUp||topLevelType===topLevelTypes.topKeyDown){if(activeElement&&activeElement.value!==activeElementValue){activeElementValue=activeElement.value;return activeElementID}}}function shouldUseClickEvent(elem){return elem.nodeName==="INPUT"&&(elem.type==="checkbox"||elem.type==="radio")}function getTargetIDForClickEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topClick){return topLevelTargetID}}var ChangeEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){var getTargetIDFunc,handleEventFunc;if(shouldUseChangeEvent(topLevelTarget)){if(doesChangeEventBubble){getTargetIDFunc=getTargetIDForChangeEvent}else{handleEventFunc=handleEventsForChangeEventIE8}}else if(isTextInputElement(topLevelTarget)){if(isInputEventSupported){getTargetIDFunc=getTargetIDForInputEvent}else{getTargetIDFunc=getTargetIDForInputEventIE;handleEventFunc=handleEventsForInputEventIE}}else if(shouldUseClickEvent(topLevelTarget)){getTargetIDFunc=getTargetIDForClickEvent}if(getTargetIDFunc){var targetID=getTargetIDFunc(topLevelType,topLevelTarget,topLevelTargetID);if(targetID){var event=SyntheticEvent.getPooled(eventTypes.change,targetID,nativeEvent);EventPropagators.accumulateTwoPhaseDispatches(event);return event}}if(handleEventFunc){handleEventFunc(topLevelType,topLevelTarget,topLevelTargetID)}}};module.exports=ChangeEventPlugin},{"./EventConstants":14,"./EventPluginHub":16,"./EventPropagators":19,"./ExecutionEnvironment":20,"./ReactUpdates":71,"./SyntheticEvent":78,"./isEventSupported":113,"./isTextInputElement":115,"./keyOf":119}],5:[function(require,module,exports){"use strict";var nextReactRootIndex=0;var ClientReactRootIndex={createReactRootIndex:function(){return nextReactRootIndex++}};module.exports=ClientReactRootIndex},{}],6:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPropagators=require("./EventPropagators");var ExecutionEnvironment=require("./ExecutionEnvironment");var ReactInputSelection=require("./ReactInputSelection");var SyntheticCompositionEvent=require("./SyntheticCompositionEvent");var getTextContentAccessor=require("./getTextContentAccessor");var keyOf=require("./keyOf");var END_KEYCODES=[9,13,27,32];var START_KEYCODE=229;var useCompositionEvent=ExecutionEnvironment.canUseDOM&&"CompositionEvent"in window;var useFallbackData=!useCompositionEvent||"documentMode"in document&&document.documentMode>8;var topLevelTypes=EventConstants.topLevelTypes;var currentComposition=null;var eventTypes={compositionEnd:{phasedRegistrationNames:{bubbled:keyOf({onCompositionEnd:null}),captured:keyOf({onCompositionEndCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionEnd,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:keyOf({onCompositionStart:null}),captured:keyOf({onCompositionStartCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionStart,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:keyOf({onCompositionUpdate:null}),captured:keyOf({onCompositionUpdateCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionUpdate,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]}};function getCompositionEventType(topLevelType){switch(topLevelType){case topLevelTypes.topCompositionStart:return eventTypes.compositionStart;case topLevelTypes.topCompositionEnd:return eventTypes.compositionEnd;case topLevelTypes.topCompositionUpdate:return eventTypes.compositionUpdate}}function isFallbackStart(topLevelType,nativeEvent){return topLevelType===topLevelTypes.topKeyDown&&nativeEvent.keyCode===START_KEYCODE}function isFallbackEnd(topLevelType,nativeEvent){switch(topLevelType){case topLevelTypes.topKeyUp:return END_KEYCODES.indexOf(nativeEvent.keyCode)!==-1;case topLevelTypes.topKeyDown:return nativeEvent.keyCode!==START_KEYCODE;case topLevelTypes.topKeyPress:case topLevelTypes.topMouseDown:case topLevelTypes.topBlur:return true;default:return false}}function FallbackCompositionState(root){this.root=root;this.startSelection=ReactInputSelection.getSelection(root);this.startValue=this.getText()}FallbackCompositionState.prototype.getText=function(){return this.root.value||this.root[getTextContentAccessor()]};FallbackCompositionState.prototype.getData=function(){var endValue=this.getText();var prefixLength=this.startSelection.start;var suffixLength=this.startValue.length-this.startSelection.end;return endValue.substr(prefixLength,endValue.length-suffixLength-prefixLength)};var CompositionEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){var eventType;var data;if(useCompositionEvent){eventType=getCompositionEventType(topLevelType)}else if(!currentComposition){if(isFallbackStart(topLevelType,nativeEvent)){eventType=eventTypes.compositionStart}}else if(isFallbackEnd(topLevelType,nativeEvent)){eventType=eventTypes.compositionEnd}if(useFallbackData){if(!currentComposition&&eventType===eventTypes.compositionStart){currentComposition=new FallbackCompositionState(topLevelTarget)}else if(eventType===eventTypes.compositionEnd){if(currentComposition){data=currentComposition.getData();currentComposition=null}}}if(eventType){var event=SyntheticCompositionEvent.getPooled(eventType,topLevelTargetID,nativeEvent);if(data){event.data=data}EventPropagators.accumulateTwoPhaseDispatches(event);return event}}};module.exports=CompositionEventPlugin},{"./EventConstants":14,"./EventPropagators":19,"./ExecutionEnvironment":20,"./ReactInputSelection":52,"./SyntheticCompositionEvent":76,"./getTextContentAccessor":108,"./keyOf":119}],7:[function(require,module,exports){"use strict";var Danger=require("./Danger");var ReactMultiChildUpdateTypes=require("./ReactMultiChildUpdateTypes");var getTextContentAccessor=require("./getTextContentAccessor");var textContentAccessor=getTextContentAccessor();function insertChildAt(parentNode,childNode,index){var childNodes=parentNode.childNodes;if(childNodes[index]===childNode){return}if(childNode.parentNode===parentNode){parentNode.removeChild(childNode)}if(index>=childNodes.length){parentNode.appendChild(childNode)}else{parentNode.insertBefore(childNode,childNodes[index])}}var updateTextContent;if(textContentAccessor==="textContent"){updateTextContent=function(node,text){node.textContent=text}}else{updateTextContent=function(node,text){while(node.firstChild){node.removeChild(node.firstChild)}if(text){var doc=node.ownerDocument||document;node.appendChild(doc.createTextNode(text))}}}var DOMChildrenOperations={dangerouslyReplaceNodeWithMarkup:Danger.dangerouslyReplaceNodeWithMarkup,updateTextContent:updateTextContent,processUpdates:function(updates,markupList){var update;var initialChildren=null;var updatedChildren=null;for(var i=0;update=updates[i];i++){if(update.type===ReactMultiChildUpdateTypes.MOVE_EXISTING||update.type===ReactMultiChildUpdateTypes.REMOVE_NODE){var updatedIndex=update.fromIndex;var updatedChild=update.parentNode.childNodes[updatedIndex];var parentID=update.parentID;initialChildren=initialChildren||{};initialChildren[parentID]=initialChildren[parentID]||[];initialChildren[parentID][updatedIndex]=updatedChild;updatedChildren=updatedChildren||[];updatedChildren.push(updatedChild)}}var renderedMarkup=Danger.dangerouslyRenderMarkup(markupList);if(updatedChildren){for(var j=0;j<updatedChildren.length;j++){updatedChildren[j].parentNode.removeChild(updatedChildren[j])}}for(var k=0;update=updates[k];k++){switch(update.type){case ReactMultiChildUpdateTypes.INSERT_MARKUP:insertChildAt(update.parentNode,renderedMarkup[update.markupIndex],update.toIndex);break;case ReactMultiChildUpdateTypes.MOVE_EXISTING:insertChildAt(update.parentNode,initialChildren[update.parentID][update.fromIndex],update.toIndex);break;case ReactMultiChildUpdateTypes.TEXT_CONTENT:updateTextContent(update.parentNode,update.textContent);break;case ReactMultiChildUpdateTypes.REMOVE_NODE:break}}}};module.exports=DOMChildrenOperations},{"./Danger":10,"./ReactMultiChildUpdateTypes":58,"./getTextContentAccessor":108}],8:[function(require,module,exports){"use strict";var invariant=require("./invariant");var DOMPropertyInjection={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:16,injectDOMPropertyConfig:function(domPropertyConfig){var Properties=domPropertyConfig.Properties||{};var DOMAttributeNames=domPropertyConfig.DOMAttributeNames||{};var DOMPropertyNames=domPropertyConfig.DOMPropertyNames||{};var DOMMutationMethods=domPropertyConfig.DOMMutationMethods||{};if(domPropertyConfig.isCustomAttribute){DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute)}for(var propName in Properties){require("./React").__DEV__===true?invariant(!DOMProperty.isStandardName[propName],"injectDOMPropertyConfig(...): You're trying to inject DOM property "+"'%s' which has already been injected. You may be accidentally "+"injecting the same DOM property config twice, or you may be "+"injecting two configs that have conflicting property names.",propName):invariant(!DOMProperty.isStandardName[propName]);DOMProperty.isStandardName[propName]=true;var lowerCased=propName.toLowerCase();DOMProperty.getPossibleStandardName[lowerCased]=propName;var attributeName=DOMAttributeNames[propName];if(attributeName){DOMProperty.getPossibleStandardName[attributeName]=propName}DOMProperty.getAttributeName[propName]=attributeName||lowerCased;DOMProperty.getPropertyName[propName]=DOMPropertyNames[propName]||propName;var mutationMethod=DOMMutationMethods[propName];if(mutationMethod){DOMProperty.getMutationMethod[propName]=mutationMethod}var propConfig=Properties[propName];DOMProperty.mustUseAttribute[propName]=propConfig&DOMPropertyInjection.MUST_USE_ATTRIBUTE;DOMProperty.mustUseProperty[propName]=propConfig&DOMPropertyInjection.MUST_USE_PROPERTY;DOMProperty.hasSideEffects[propName]=propConfig&DOMPropertyInjection.HAS_SIDE_EFFECTS;DOMProperty.hasBooleanValue[propName]=propConfig&DOMPropertyInjection.HAS_BOOLEAN_VALUE;DOMProperty.hasPositiveNumericValue[propName]=propConfig&DOMPropertyInjection.HAS_POSITIVE_NUMERIC_VALUE;require("./React").__DEV__===true?invariant(!DOMProperty.mustUseAttribute[propName]||!DOMProperty.mustUseProperty[propName],"DOMProperty: Cannot require using both attribute and property: %s",propName):invariant(!DOMProperty.mustUseAttribute[propName]||!DOMProperty.mustUseProperty[propName]);require("./React").__DEV__===true?invariant(DOMProperty.mustUseProperty[propName]||!DOMProperty.hasSideEffects[propName],"DOMProperty: Properties that have side effects must use property: %s",propName):invariant(DOMProperty.mustUseProperty[propName]||!DOMProperty.hasSideEffects[propName]);require("./React").__DEV__===true?invariant(!DOMProperty.hasBooleanValue[propName]||!DOMProperty.hasPositiveNumericValue[propName],"DOMProperty: Cannot have both boolean and positive numeric value: %s",propName):invariant(!DOMProperty.hasBooleanValue[propName]||!DOMProperty.hasPositiveNumericValue[propName])}}};var defaultValueCache={};var DOMProperty={ID_ATTRIBUTE_NAME:"data-reactid",isStandardName:{},getPossibleStandardName:{},getAttributeName:{},getPropertyName:{},getMutationMethod:{},mustUseAttribute:{},mustUseProperty:{},hasSideEffects:{},hasBooleanValue:{},hasPositiveNumericValue:{},_isCustomAttributeFunctions:[],isCustomAttribute:function(attributeName){for(var i=0;i<DOMProperty._isCustomAttributeFunctions.length;i++){var isCustomAttributeFn=DOMProperty._isCustomAttributeFunctions[i];if(isCustomAttributeFn(attributeName)){return true}}return false},getDefaultValueForProperty:function(nodeName,prop){var nodeDefaults=defaultValueCache[nodeName];var testElement;if(!nodeDefaults){defaultValueCache[nodeName]=nodeDefaults={}}if(!(prop in nodeDefaults)){testElement=document.createElement(nodeName);nodeDefaults[prop]=testElement[prop]}return nodeDefaults[prop]},injection:DOMPropertyInjection};module.exports=DOMProperty},{"./React":24,"./invariant":112}],9:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var escapeTextForBrowser=require("./escapeTextForBrowser");var memoizeStringOnly=require("./memoizeStringOnly");var warning=require("./warning");function shouldIgnoreValue(name,value){return value==null||DOMProperty.hasBooleanValue[name]&&!value||DOMProperty.hasPositiveNumericValue[name]&&(isNaN(value)||value<1)}var processAttributeNameAndPrefix=memoizeStringOnly(function(name){return escapeTextForBrowser(name)+'="'});if(require("./React").__DEV__===true){var reactProps={children:true,dangerouslySetInnerHTML:true,key:true,ref:true};var warnedProperties={};var warnUnknownProperty=function(name){if(reactProps[name]||warnedProperties[name]){return}warnedProperties[name]=true;var lowerCasedName=name.toLowerCase();var standardName=DOMProperty.isCustomAttribute(lowerCasedName)?lowerCasedName:DOMProperty.getPossibleStandardName[lowerCasedName];require("./React").__DEV__===true?warning(standardName==null,"Unknown DOM property "+name+". Did you mean "+standardName+"?"):null}}var DOMPropertyOperations={createMarkupForID:function(id){return processAttributeNameAndPrefix(DOMProperty.ID_ATTRIBUTE_NAME)+escapeTextForBrowser(id)+'"'},createMarkupForProperty:function(name,value){if(DOMProperty.isStandardName[name]){if(shouldIgnoreValue(name,value)){return""}var attributeName=DOMProperty.getAttributeName[name];if(DOMProperty.hasBooleanValue[name]){return escapeTextForBrowser(attributeName)}return processAttributeNameAndPrefix(attributeName)+escapeTextForBrowser(value)+'"'}else if(DOMProperty.isCustomAttribute(name)){if(value==null){return""}return processAttributeNameAndPrefix(name)+escapeTextForBrowser(value)+'"'}else if(require("./React").__DEV__===true){warnUnknownProperty(name)}return null},setValueForProperty:function(node,name,value){if(DOMProperty.isStandardName[name]){var mutationMethod=DOMProperty.getMutationMethod[name];if(mutationMethod){mutationMethod(node,value)}else if(shouldIgnoreValue(name,value)){this.deleteValueForProperty(node,name)}else if(DOMProperty.mustUseAttribute[name]){node.setAttribute(DOMProperty.getAttributeName[name],""+value)}else{var propName=DOMProperty.getPropertyName[name];if(!DOMProperty.hasSideEffects[name]||node[propName]!==value){node[propName]=value}}}else if(DOMProperty.isCustomAttribute(name)){if(value==null){node.removeAttribute(DOMProperty.getAttributeName[name])}else{node.setAttribute(name,""+value)}}else if(require("./React").__DEV__===true){warnUnknownProperty(name)}},deleteValueForProperty:function(node,name){if(DOMProperty.isStandardName[name]){var mutationMethod=DOMProperty.getMutationMethod[name];if(mutationMethod){mutationMethod(node,undefined)}else if(DOMProperty.mustUseAttribute[name]){node.removeAttribute(DOMProperty.getAttributeName[name])}else{var propName=DOMProperty.getPropertyName[name];var defaultValue=DOMProperty.getDefaultValueForProperty(node.nodeName,propName);if(!DOMProperty.hasSideEffects[name]||node[propName]!==defaultValue){node[propName]=defaultValue}}}else if(DOMProperty.isCustomAttribute(name)){node.removeAttribute(name)}else if(require("./React").__DEV__===true){warnUnknownProperty(name)}}};module.exports=DOMPropertyOperations},{"./DOMProperty":8,"./React":24,"./escapeTextForBrowser":98,"./memoizeStringOnly":120,"./warning":134}],10:[function(require,module,exports){"use strict";var ExecutionEnvironment=require("./ExecutionEnvironment");var createNodesFromMarkup=require("./createNodesFromMarkup");var emptyFunction=require("./emptyFunction");var getMarkupWrap=require("./getMarkupWrap");var invariant=require("./invariant");var OPEN_TAG_NAME_EXP=/^(<[^ \/>]+)/;var RESULT_INDEX_ATTR="data-danger-index";function getNodeName(markup){return markup.substring(1,markup.indexOf(" "))}var Danger={dangerouslyRenderMarkup:function(markupList){require("./React").__DEV__===true?invariant(ExecutionEnvironment.canUseDOM,"dangerouslyRenderMarkup(...): Cannot render markup in a Worker "+"thread. This is likely a bug in the framework. Please report "+"immediately."):invariant(ExecutionEnvironment.canUseDOM);var nodeName;var markupByNodeName={};for(var i=0;i<markupList.length;i++){require("./React").__DEV__===true?invariant(markupList[i],"dangerouslyRenderMarkup(...): Missing markup."):invariant(markupList[i]);nodeName=getNodeName(markupList[i]);nodeName=getMarkupWrap(nodeName)?nodeName:"*";markupByNodeName[nodeName]=markupByNodeName[nodeName]||[];markupByNodeName[nodeName][i]=markupList[i]}var resultList=[];var resultListAssignmentCount=0;for(nodeName in markupByNodeName){if(!markupByNodeName.hasOwnProperty(nodeName)){continue}var markupListByNodeName=markupByNodeName[nodeName];for(var resultIndex in markupListByNodeName){if(markupListByNodeName.hasOwnProperty(resultIndex)){var markup=markupListByNodeName[resultIndex];markupListByNodeName[resultIndex]=markup.replace(OPEN_TAG_NAME_EXP,"$1 "+RESULT_INDEX_ATTR+'="'+resultIndex+'" ')}}var renderNodes=createNodesFromMarkup(markupListByNodeName.join(""),emptyFunction);for(i=0;i<renderNodes.length;++i){var renderNode=renderNodes[i];if(renderNode.hasAttribute&&renderNode.hasAttribute(RESULT_INDEX_ATTR)){resultIndex=+renderNode.getAttribute(RESULT_INDEX_ATTR);renderNode.removeAttribute(RESULT_INDEX_ATTR);require("./React").__DEV__===true?invariant(!resultList.hasOwnProperty(resultIndex),"Danger: Assigning to an already-occupied result index."):invariant(!resultList.hasOwnProperty(resultIndex));resultList[resultIndex]=renderNode;resultListAssignmentCount+=1}else if(require("./React").__DEV__===true){console.error("Danger: Discarding unexpected node:",renderNode)}}}require("./React").__DEV__===true?invariant(resultListAssignmentCount===resultList.length,"Danger: Did not assign to every index of resultList."):invariant(resultListAssignmentCount===resultList.length);require("./React").__DEV__===true?invariant(resultList.length===markupList.length,"Danger: Expected markup to render %s nodes, but rendered %s.",markupList.length,resultList.length):invariant(resultList.length===markupList.length);return resultList},dangerouslyReplaceNodeWithMarkup:function(oldChild,markup){require("./React").__DEV__===true?invariant(ExecutionEnvironment.canUseDOM,"dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a "+"worker thread. This is likely a bug in the framework. Please report "+"immediately."):invariant(ExecutionEnvironment.canUseDOM);require("./React").__DEV__===true?invariant(markup,"dangerouslyReplaceNodeWithMarkup(...): Missing markup."):invariant(markup);require("./React").__DEV__===true?invariant(oldChild.tagName.toLowerCase()!=="html","dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the "+"<html> node. This is because browser quirks make this unreliable "+"and/or slow. If you want to render to the root you must use "+"server rendering. See renderComponentToString()."):invariant(oldChild.tagName.toLowerCase()!=="html");var newChild=createNodesFromMarkup(markup,emptyFunction)[0];oldChild.parentNode.replaceChild(newChild,oldChild)}};module.exports=Danger},{"./ExecutionEnvironment":20,"./React":24,"./createNodesFromMarkup":93,"./emptyFunction":96,"./getMarkupWrap":105,"./invariant":112}],11:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var MUST_USE_ATTRIBUTE=DOMProperty.injection.MUST_USE_ATTRIBUTE;var MUST_USE_PROPERTY=DOMProperty.injection.MUST_USE_PROPERTY;var HAS_BOOLEAN_VALUE=DOMProperty.injection.HAS_BOOLEAN_VALUE;var HAS_SIDE_EFFECTS=DOMProperty.injection.HAS_SIDE_EFFECTS;var HAS_POSITIVE_NUMERIC_VALUE=DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;var DefaultDOMPropertyConfig={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,accessKey:null,action:null,allowFullScreen:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,allowTransparency:MUST_USE_ATTRIBUTE,alt:null,async:HAS_BOOLEAN_VALUE,autoComplete:null,autoPlay:HAS_BOOLEAN_VALUE,cellPadding:null,cellSpacing:null,charSet:MUST_USE_ATTRIBUTE,checked:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,className:MUST_USE_PROPERTY,cols:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,colSpan:null,content:null,contentEditable:null,contextMenu:MUST_USE_ATTRIBUTE,controls:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,crossOrigin:null,data:null,dateTime:MUST_USE_ATTRIBUTE,defer:HAS_BOOLEAN_VALUE,dir:null,disabled:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,download:null,draggable:null,encType:null,form:MUST_USE_ATTRIBUTE,formNoValidate:HAS_BOOLEAN_VALUE,frameBorder:MUST_USE_ATTRIBUTE,height:MUST_USE_ATTRIBUTE,hidden:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:MUST_USE_PROPERTY,label:null,lang:null,list:null,loop:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,max:null,maxLength:MUST_USE_ATTRIBUTE,mediaGroup:null,method:null,min:null,multiple:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,muted:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,name:null,noValidate:HAS_BOOLEAN_VALUE,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,rel:null,required:HAS_BOOLEAN_VALUE,role:MUST_USE_ATTRIBUTE,rows:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,rowSpan:null,sandbox:null,scope:null,scrollLeft:MUST_USE_PROPERTY,scrollTop:MUST_USE_PROPERTY,seamless:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,selected:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,size:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,span:HAS_POSITIVE_NUMERIC_VALUE,spellCheck:null,src:null,srcDoc:MUST_USE_PROPERTY,srcSet:null,step:null,style:null,tabIndex:null,target:null,title:null,type:null,value:MUST_USE_PROPERTY|HAS_SIDE_EFFECTS,width:MUST_USE_ATTRIBUTE,wmode:MUST_USE_ATTRIBUTE,autoCapitalize:null,autoCorrect:null,property:null,cx:MUST_USE_ATTRIBUTE,cy:MUST_USE_ATTRIBUTE,d:MUST_USE_ATTRIBUTE,fill:MUST_USE_ATTRIBUTE,fx:MUST_USE_ATTRIBUTE,fy:MUST_USE_ATTRIBUTE,gradientTransform:MUST_USE_ATTRIBUTE,gradientUnits:MUST_USE_ATTRIBUTE,offset:MUST_USE_ATTRIBUTE,points:MUST_USE_ATTRIBUTE,r:MUST_USE_ATTRIBUTE,rx:MUST_USE_ATTRIBUTE,ry:MUST_USE_ATTRIBUTE,spreadMethod:MUST_USE_ATTRIBUTE,stopColor:MUST_USE_ATTRIBUTE,stopOpacity:MUST_USE_ATTRIBUTE,stroke:MUST_USE_ATTRIBUTE,strokeLinecap:MUST_USE_ATTRIBUTE,strokeWidth:MUST_USE_ATTRIBUTE,textAnchor:MUST_USE_ATTRIBUTE,transform:MUST_USE_ATTRIBUTE,version:MUST_USE_ATTRIBUTE,viewBox:MUST_USE_ATTRIBUTE,x1:MUST_USE_ATTRIBUTE,x2:MUST_USE_ATTRIBUTE,x:MUST_USE_ATTRIBUTE,y1:MUST_USE_ATTRIBUTE,y2:MUST_USE_ATTRIBUTE,y:MUST_USE_ATTRIBUTE},DOMAttributeNames:{className:"class",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",htmlFor:"for",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeLinecap:"stroke-linecap",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",encType:"enctype",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};module.exports=DefaultDOMPropertyConfig},{"./DOMProperty":8}],12:[function(require,module,exports){"use strict";var keyOf=require("./keyOf");var DefaultEventPluginOrder=[keyOf({ResponderEventPlugin:null}),keyOf({SimpleEventPlugin:null}),keyOf({TapEventPlugin:null}),keyOf({EnterLeaveEventPlugin:null}),keyOf({ChangeEventPlugin:null}),keyOf({SelectEventPlugin:null}),keyOf({CompositionEventPlugin:null}),keyOf({AnalyticsEventPlugin:null}),keyOf({MobileSafariClickEventPlugin:null})];module.exports=DefaultEventPluginOrder},{"./keyOf":119}],13:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPropagators=require("./EventPropagators");var SyntheticMouseEvent=require("./SyntheticMouseEvent");var ReactMount=require("./ReactMount");var keyOf=require("./keyOf");var topLevelTypes=EventConstants.topLevelTypes;var getFirstReactDOM=ReactMount.getFirstReactDOM;var eventTypes={mouseEnter:{registrationName:keyOf({onMouseEnter:null}),dependencies:[topLevelTypes.topMouseOut,topLevelTypes.topMouseOver]},mouseLeave:{registrationName:keyOf({onMouseLeave:null}),dependencies:[topLevelTypes.topMouseOut,topLevelTypes.topMouseOver]}};var extractedEvents=[null,null];var EnterLeaveEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){if(topLevelType===topLevelTypes.topMouseOver&&(nativeEvent.relatedTarget||nativeEvent.fromElement)){return null
}if(topLevelType!==topLevelTypes.topMouseOut&&topLevelType!==topLevelTypes.topMouseOver){return null}var win;if(topLevelTarget.window===topLevelTarget){win=topLevelTarget}else{var doc=topLevelTarget.ownerDocument;if(doc){win=doc.defaultView||doc.parentWindow}else{win=window}}var from,to;if(topLevelType===topLevelTypes.topMouseOut){from=topLevelTarget;to=getFirstReactDOM(nativeEvent.relatedTarget||nativeEvent.toElement)||win}else{from=win;to=topLevelTarget}if(from===to){return null}var fromID=from?ReactMount.getID(from):"";var toID=to?ReactMount.getID(to):"";var leave=SyntheticMouseEvent.getPooled(eventTypes.mouseLeave,fromID,nativeEvent);leave.type="mouseleave";leave.target=from;leave.relatedTarget=to;var enter=SyntheticMouseEvent.getPooled(eventTypes.mouseEnter,toID,nativeEvent);enter.type="mouseenter";enter.target=to;enter.relatedTarget=from;EventPropagators.accumulateEnterLeaveDispatches(leave,enter,fromID,toID);extractedEvents[0]=leave;extractedEvents[1]=enter;return extractedEvents}};module.exports=EnterLeaveEventPlugin},{"./EventConstants":14,"./EventPropagators":19,"./ReactMount":55,"./SyntheticMouseEvent":81,"./keyOf":119}],14:[function(require,module,exports){"use strict";var keyMirror=require("./keyMirror");var PropagationPhases=keyMirror({bubbled:null,captured:null});var topLevelTypes=keyMirror({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null});var EventConstants={topLevelTypes:topLevelTypes,PropagationPhases:PropagationPhases};module.exports=EventConstants},{"./keyMirror":118}],15:[function(require,module,exports){var emptyFunction=require("./emptyFunction");var EventListener={listen:function(target,eventType,callback){if(target.addEventListener){target.addEventListener(eventType,callback,false);return{remove:function(){target.removeEventListener(eventType,callback,false)}}}else if(target.attachEvent){target.attachEvent("on"+eventType,callback);return{remove:function(){target.detachEvent(eventType,callback)}}}},capture:function(target,eventType,callback){if(!target.addEventListener){if(require("./React").__DEV__===true){console.error("Attempted to listen to events during the capture phase on a "+"browser that does not support the capture phase. Your application "+"will not receive some events.")}return{remove:emptyFunction}}else{target.addEventListener(eventType,callback,true);return{remove:function(){target.removeEventListener(eventType,callback,true)}}}}};module.exports=EventListener},{"./React":24,"./emptyFunction":96}],16:[function(require,module,exports){"use strict";var EventPluginRegistry=require("./EventPluginRegistry");var EventPluginUtils=require("./EventPluginUtils");var ExecutionEnvironment=require("./ExecutionEnvironment");var accumulate=require("./accumulate");var forEachAccumulated=require("./forEachAccumulated");var invariant=require("./invariant");var isEventSupported=require("./isEventSupported");var monitorCodeUse=require("./monitorCodeUse");var listenerBank={};var eventQueue=null;var executeDispatchesAndRelease=function(event){if(event){var executeDispatch=EventPluginUtils.executeDispatch;var PluginModule=EventPluginRegistry.getPluginModuleForEvent(event);if(PluginModule&&PluginModule.executeDispatch){executeDispatch=PluginModule.executeDispatch}EventPluginUtils.executeDispatchesInOrder(event,executeDispatch);if(!event.isPersistent()){event.constructor.release(event)}}};var InstanceHandle=null;function validateInstanceHandle(){var invalid=!InstanceHandle||!InstanceHandle.traverseTwoPhase||!InstanceHandle.traverseEnterLeave;if(invalid){throw new Error("InstanceHandle not injected before use!")}}var EventPluginHub={injection:{injectMount:EventPluginUtils.injection.injectMount,injectInstanceHandle:function(InjectedInstanceHandle){InstanceHandle=InjectedInstanceHandle;if(require("./React").__DEV__===true){validateInstanceHandle()}},getInstanceHandle:function(){if(require("./React").__DEV__===true){validateInstanceHandle()}return InstanceHandle},injectEventPluginOrder:EventPluginRegistry.injectEventPluginOrder,injectEventPluginsByName:EventPluginRegistry.injectEventPluginsByName},eventNameDispatchConfigs:EventPluginRegistry.eventNameDispatchConfigs,registrationNameModules:EventPluginRegistry.registrationNameModules,putListener:function(id,registrationName,listener){require("./React").__DEV__===true?invariant(ExecutionEnvironment.canUseDOM,"Cannot call putListener() in a non-DOM environment."):invariant(ExecutionEnvironment.canUseDOM);require("./React").__DEV__===true?invariant(!listener||typeof listener==="function","Expected %s listener to be a function, instead got type %s",registrationName,typeof listener):invariant(!listener||typeof listener==="function");if(require("./React").__DEV__===true){if(registrationName==="onScroll"&&!isEventSupported("scroll",true)){monitorCodeUse("react_no_scroll_event");console.warn("This browser doesn't support the `onScroll` event")}}var bankForRegistrationName=listenerBank[registrationName]||(listenerBank[registrationName]={});bankForRegistrationName[id]=listener},getListener:function(id,registrationName){var bankForRegistrationName=listenerBank[registrationName];return bankForRegistrationName&&bankForRegistrationName[id]},deleteListener:function(id,registrationName){var bankForRegistrationName=listenerBank[registrationName];if(bankForRegistrationName){delete bankForRegistrationName[id]}},deleteAllListeners:function(id){for(var registrationName in listenerBank){delete listenerBank[registrationName][id]}},extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){var events;var plugins=EventPluginRegistry.plugins;for(var i=0,l=plugins.length;i<l;i++){var possiblePlugin=plugins[i];if(possiblePlugin){var extractedEvents=possiblePlugin.extractEvents(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent);if(extractedEvents){events=accumulate(events,extractedEvents)}}}return events},enqueueEvents:function(events){if(events){eventQueue=accumulate(eventQueue,events)}},processEventQueue:function(){var processingEventQueue=eventQueue;eventQueue=null;forEachAccumulated(processingEventQueue,executeDispatchesAndRelease);require("./React").__DEV__===true?invariant(!eventQueue,"processEventQueue(): Additional events were enqueued while processing "+"an event queue. Support for this has not yet been implemented."):invariant(!eventQueue)},__purge:function(){listenerBank={}},__getListenerBank:function(){return listenerBank}};module.exports=EventPluginHub},{"./EventPluginRegistry":17,"./EventPluginUtils":18,"./ExecutionEnvironment":20,"./React":24,"./accumulate":87,"./forEachAccumulated":101,"./invariant":112,"./isEventSupported":113,"./monitorCodeUse":125}],17:[function(require,module,exports){"use strict";var invariant=require("./invariant");var EventPluginOrder=null;var namesToPlugins={};function recomputePluginOrdering(){if(!EventPluginOrder){return}for(var pluginName in namesToPlugins){var PluginModule=namesToPlugins[pluginName];var pluginIndex=EventPluginOrder.indexOf(pluginName);require("./React").__DEV__===true?invariant(pluginIndex>-1,"EventPluginRegistry: Cannot inject event plugins that do not exist in "+"the plugin ordering, `%s`.",pluginName):invariant(pluginIndex>-1);if(EventPluginRegistry.plugins[pluginIndex]){continue}require("./React").__DEV__===true?invariant(PluginModule.extractEvents,"EventPluginRegistry: Event plugins must implement an `extractEvents` "+"method, but `%s` does not.",pluginName):invariant(PluginModule.extractEvents);EventPluginRegistry.plugins[pluginIndex]=PluginModule;var publishedEvents=PluginModule.eventTypes;for(var eventName in publishedEvents){require("./React").__DEV__===true?invariant(publishEventForPlugin(publishedEvents[eventName],PluginModule,eventName),"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",eventName,pluginName):invariant(publishEventForPlugin(publishedEvents[eventName],PluginModule,eventName))}}}function publishEventForPlugin(dispatchConfig,PluginModule,eventName){require("./React").__DEV__===true?invariant(!EventPluginRegistry.eventNameDispatchConfigs[eventName],"EventPluginHub: More than one plugin attempted to publish the same "+"event name, `%s`.",eventName):invariant(!EventPluginRegistry.eventNameDispatchConfigs[eventName]);EventPluginRegistry.eventNameDispatchConfigs[eventName]=dispatchConfig;var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;if(phasedRegistrationNames){for(var phaseName in phasedRegistrationNames){if(phasedRegistrationNames.hasOwnProperty(phaseName)){var phasedRegistrationName=phasedRegistrationNames[phaseName];publishRegistrationName(phasedRegistrationName,PluginModule,eventName)}}return true}else if(dispatchConfig.registrationName){publishRegistrationName(dispatchConfig.registrationName,PluginModule,eventName);return true}return false}function publishRegistrationName(registrationName,PluginModule,eventName){require("./React").__DEV__===true?invariant(!EventPluginRegistry.registrationNameModules[registrationName],"EventPluginHub: More than one plugin attempted to publish the same "+"registration name, `%s`.",registrationName):invariant(!EventPluginRegistry.registrationNameModules[registrationName]);EventPluginRegistry.registrationNameModules[registrationName]=PluginModule;EventPluginRegistry.registrationNameDependencies[registrationName]=PluginModule.eventTypes[eventName].dependencies}var EventPluginRegistry={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(InjectedEventPluginOrder){require("./React").__DEV__===true?invariant(!EventPluginOrder,"EventPluginRegistry: Cannot inject event plugin ordering more than once."):invariant(!EventPluginOrder);EventPluginOrder=Array.prototype.slice.call(InjectedEventPluginOrder);recomputePluginOrdering()},injectEventPluginsByName:function(injectedNamesToPlugins){var isOrderingDirty=false;for(var pluginName in injectedNamesToPlugins){if(!injectedNamesToPlugins.hasOwnProperty(pluginName)){continue}var PluginModule=injectedNamesToPlugins[pluginName];if(namesToPlugins[pluginName]!==PluginModule){require("./React").__DEV__===true?invariant(!namesToPlugins[pluginName],"EventPluginRegistry: Cannot inject two different event plugins "+"using the same name, `%s`.",pluginName):invariant(!namesToPlugins[pluginName]);namesToPlugins[pluginName]=PluginModule;isOrderingDirty=true}}if(isOrderingDirty){recomputePluginOrdering()}},getPluginModuleForEvent:function(event){var dispatchConfig=event.dispatchConfig;if(dispatchConfig.registrationName){return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName]||null}for(var phase in dispatchConfig.phasedRegistrationNames){if(!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)){continue}var PluginModule=EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];if(PluginModule){return PluginModule}}return null},_resetEventPlugins:function(){EventPluginOrder=null;for(var pluginName in namesToPlugins){if(namesToPlugins.hasOwnProperty(pluginName)){delete namesToPlugins[pluginName]}}EventPluginRegistry.plugins.length=0;var eventNameDispatchConfigs=EventPluginRegistry.eventNameDispatchConfigs;for(var eventName in eventNameDispatchConfigs){if(eventNameDispatchConfigs.hasOwnProperty(eventName)){delete eventNameDispatchConfigs[eventName]}}var registrationNameModules=EventPluginRegistry.registrationNameModules;for(var registrationName in registrationNameModules){if(registrationNameModules.hasOwnProperty(registrationName)){delete registrationNameModules[registrationName]}}}};module.exports=EventPluginRegistry},{"./React":24,"./invariant":112}],18:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var invariant=require("./invariant");var injection={Mount:null,injectMount:function(InjectedMount){injection.Mount=InjectedMount;if(require("./React").__DEV__===true){require("./React").__DEV__===true?invariant(InjectedMount&&InjectedMount.getNode,"EventPluginUtils.injection.injectMount(...): Injected Mount module "+"is missing getNode."):invariant(InjectedMount&&InjectedMount.getNode)}}};var topLevelTypes=EventConstants.topLevelTypes;function isEndish(topLevelType){return topLevelType===topLevelTypes.topMouseUp||topLevelType===topLevelTypes.topTouchEnd||topLevelType===topLevelTypes.topTouchCancel}function isMoveish(topLevelType){return topLevelType===topLevelTypes.topMouseMove||topLevelType===topLevelTypes.topTouchMove}function isStartish(topLevelType){return topLevelType===topLevelTypes.topMouseDown||topLevelType===topLevelTypes.topTouchStart}var validateEventDispatches;if(require("./React").__DEV__===true){validateEventDispatches=function(event){var dispatchListeners=event._dispatchListeners;var dispatchIDs=event._dispatchIDs;var listenersIsArr=Array.isArray(dispatchListeners);var idsIsArr=Array.isArray(dispatchIDs);var IDsLen=idsIsArr?dispatchIDs.length:dispatchIDs?1:0;var listenersLen=listenersIsArr?dispatchListeners.length:dispatchListeners?1:0;require("./React").__DEV__===true?invariant(idsIsArr===listenersIsArr&&IDsLen===listenersLen,"EventPluginUtils: Invalid `event`."):invariant(idsIsArr===listenersIsArr&&IDsLen===listenersLen)}}function forEachEventDispatch(event,cb){var dispatchListeners=event._dispatchListeners;var dispatchIDs=event._dispatchIDs;if(require("./React").__DEV__===true){validateEventDispatches(event)}if(Array.isArray(dispatchListeners)){for(var i=0;i<dispatchListeners.length;i++){if(event.isPropagationStopped()){break}cb(event,dispatchListeners[i],dispatchIDs[i])}}else if(dispatchListeners){cb(event,dispatchListeners,dispatchIDs)}}function executeDispatch(event,listener,domID){event.currentTarget=injection.Mount.getNode(domID);var returnValue=listener(event,domID);event.currentTarget=null;return returnValue}function executeDispatchesInOrder(event,executeDispatch){forEachEventDispatch(event,executeDispatch);event._dispatchListeners=null;event._dispatchIDs=null}function executeDispatchesInOrderStopAtTrue(event){var dispatchListeners=event._dispatchListeners;var dispatchIDs=event._dispatchIDs;if(require("./React").__DEV__===true){validateEventDispatches(event)}if(Array.isArray(dispatchListeners)){for(var i=0;i<dispatchListeners.length;i++){if(event.isPropagationStopped()){break}if(dispatchListeners[i](event,dispatchIDs[i])){return dispatchIDs[i]}}}else if(dispatchListeners){if(dispatchListeners(event,dispatchIDs)){return dispatchIDs}}return null}function executeDirectDispatch(event){if(require("./React").__DEV__===true){validateEventDispatches(event)}var dispatchListener=event._dispatchListeners;var dispatchID=event._dispatchIDs;require("./React").__DEV__===true?invariant(!Array.isArray(dispatchListener),"executeDirectDispatch(...): Invalid `event`."):invariant(!Array.isArray(dispatchListener));var res=dispatchListener?dispatchListener(event,dispatchID):null;event._dispatchListeners=null;event._dispatchIDs=null;return res}function hasDispatches(event){return!!event._dispatchListeners}var EventPluginUtils={isEndish:isEndish,isMoveish:isMoveish,isStartish:isStartish,executeDirectDispatch:executeDirectDispatch,executeDispatch:executeDispatch,executeDispatchesInOrder:executeDispatchesInOrder,executeDispatchesInOrderStopAtTrue:executeDispatchesInOrderStopAtTrue,hasDispatches:hasDispatches,injection:injection,useTouchEvents:false};module.exports=EventPluginUtils},{"./EventConstants":14,"./React":24,"./invariant":112}],19:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPluginHub=require("./EventPluginHub");var accumulate=require("./accumulate");var forEachAccumulated=require("./forEachAccumulated");var PropagationPhases=EventConstants.PropagationPhases;var getListener=EventPluginHub.getListener;function listenerAtPhase(id,event,propagationPhase){var registrationName=event.dispatchConfig.phasedRegistrationNames[propagationPhase];return getListener(id,registrationName)}function accumulateDirectionalDispatches(domID,upwards,event){if(require("./React").__DEV__===true){if(!domID){throw new Error("Dispatching id must not be null")}}var phase=upwards?PropagationPhases.bubbled:PropagationPhases.captured;var listener=listenerAtPhase(domID,event,phase);if(listener){event._dispatchListeners=accumulate(event._dispatchListeners,listener);event._dispatchIDs=accumulate(event._dispatchIDs,domID)}}function accumulateTwoPhaseDispatchesSingle(event){if(event&&event.dispatchConfig.phasedRegistrationNames){EventPluginHub.injection.getInstanceHandle().traverseTwoPhase(event.dispatchMarker,accumulateDirectionalDispatches,event)}}function accumulateDispatches(id,ignoredDirection,event){if(event&&event.dispatchConfig.registrationName){var registrationName=event.dispatchConfig.registrationName;var listener=getListener(id,registrationName);if(listener){event._dispatchListeners=accumulate(event._dispatchListeners,listener);event._dispatchIDs=accumulate(event._dispatchIDs,id)}}}function accumulateDirectDispatchesSingle(event){if(event&&event.dispatchConfig.registrationName){accumulateDispatches(event.dispatchMarker,null,event)}}function accumulateTwoPhaseDispatches(events){forEachAccumulated(events,accumulateTwoPhaseDispatchesSingle)}function accumulateEnterLeaveDispatches(leave,enter,fromID,toID){EventPluginHub.injection.getInstanceHandle().traverseEnterLeave(fromID,toID,accumulateDispatches,leave,enter)}function accumulateDirectDispatches(events){forEachAccumulated(events,accumulateDirectDispatchesSingle)}var EventPropagators={accumulateTwoPhaseDispatches:accumulateTwoPhaseDispatches,accumulateDirectDispatches:accumulateDirectDispatches,accumulateEnterLeaveDispatches:accumulateEnterLeaveDispatches};module.exports=EventPropagators},{"./EventConstants":14,"./EventPluginHub":16,"./React":24,"./accumulate":87,"./forEachAccumulated":101}],20:[function(require,module,exports){"use strict";var canUseDOM=typeof window!=="undefined";var ExecutionEnvironment={canUseDOM:canUseDOM,canUseWorkers:typeof Worker!=="undefined",canUseEventListeners:canUseDOM&&(window.addEventListener||window.attachEvent),isInWorker:!canUseDOM};module.exports=ExecutionEnvironment},{}],21:[function(require,module,exports){"use strict";var ReactPropTypes=require("./ReactPropTypes");var invariant=require("./invariant");var warning=require("./warning");var hasReadOnlyValue={button:true,checkbox:true,image:true,hidden:true,radio:true,reset:true,submit:true};function _assertSingleLink(input){require("./React").__DEV__===true?invariant(input.props.checkedLink==null||input.props.valueLink==null,"Cannot provide a checkedLink and a valueLink. If you want to use "+"checkedLink, you probably don't want to use valueLink and vice versa."):invariant(input.props.checkedLink==null||input.props.valueLink==null)}function _assertValueLink(input){_assertSingleLink(input);require("./React").__DEV__===true?invariant(input.props.value==null&&input.props.onChange==null,"Cannot provide a valueLink and a value or onChange event. If you want "+"to use value or onChange, you probably don't want to use valueLink."):invariant(input.props.value==null&&input.props.onChange==null)}function _assertCheckedLink(input){_assertSingleLink(input);require("./React").__DEV__===true?invariant(input.props.checked==null&&input.props.onChange==null,"Cannot provide a checkedLink and a checked property or onChange event. "+"If you want to use checked or onChange, you probably don't want to "+"use checkedLink"):invariant(input.props.checked==null&&input.props.onChange==null)}function _handleLinkedValueChange(e){this.props.valueLink.requestChange(e.target.value)}function _handleLinkedCheckChange(e){this.props.checkedLink.requestChange(e.target.checked)}var LinkedValueUtils={Mixin:{propTypes:{value:function(props,propName,componentName){if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(!props[propName]||hasReadOnlyValue[props.type]||props.onChange||props.readOnly||props.disabled,"You provided a `value` prop to a form field without an "+"`onChange` handler. This will render a read-only field. If "+"the field should be mutable use `defaultValue`. Otherwise, "+"set either `onChange` or `readOnly`."):null}},checked:function(props,propName,componentName){if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(!props[propName]||props.onChange||props.readOnly||props.disabled,"You provided a `checked` prop to a form field without an "+"`onChange` handler. This will render a read-only field. If "+"the field should be mutable use `defaultChecked`. Otherwise, "+"set either `onChange` or `readOnly`."):null}},onChange:ReactPropTypes.func}},getValue:function(input){if(input.props.valueLink){_assertValueLink(input);return input.props.valueLink.value}return input.props.value},getChecked:function(input){if(input.props.checkedLink){_assertCheckedLink(input);return input.props.checkedLink.value}return input.props.checked},getOnChange:function(input){if(input.props.valueLink){_assertValueLink(input);return _handleLinkedValueChange}else if(input.props.checkedLink){_assertCheckedLink(input);return _handleLinkedCheckChange}return input.props.onChange}};module.exports=LinkedValueUtils},{"./React":24,"./ReactPropTypes":64,"./invariant":112,"./warning":134}],22:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var emptyFunction=require("./emptyFunction");var topLevelTypes=EventConstants.topLevelTypes;var MobileSafariClickEventPlugin={eventTypes:null,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){if(topLevelType===topLevelTypes.topTouchStart){var target=nativeEvent.target;if(target&&!target.onclick){target.onclick=emptyFunction}}}};module.exports=MobileSafariClickEventPlugin},{"./EventConstants":14,"./emptyFunction":96}],23:[function(require,module,exports){"use strict";var invariant=require("./invariant");var oneArgumentPooler=function(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,copyFieldsFrom);return instance}else{return new Klass(copyFieldsFrom)}};var twoArgumentPooler=function(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2);return instance}else{return new Klass(a1,a2)}};var threeArgumentPooler=function(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3);return instance}else{return new Klass(a1,a2,a3)}};var fiveArgumentPooler=function(a1,a2,a3,a4,a5){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3,a4,a5);return instance}else{return new Klass(a1,a2,a3,a4,a5)}};var standardReleaser=function(instance){var Klass=this;require("./React").__DEV__===true?invariant(instance instanceof Klass,"Trying to release an instance into a pool of a different type."):invariant(instance instanceof Klass);if(instance.destructor){instance.destructor()}if(Klass.instancePool.length<Klass.poolSize){Klass.instancePool.push(instance)}};var DEFAULT_POOL_SIZE=10;var DEFAULT_POOLER=oneArgumentPooler;var addPoolingTo=function(CopyConstructor,pooler){var NewKlass=CopyConstructor;NewKlass.instancePool=[];NewKlass.getPooled=pooler||DEFAULT_POOLER;if(!NewKlass.poolSize){NewKlass.poolSize=DEFAULT_POOL_SIZE}NewKlass.release=standardReleaser;return NewKlass};var PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fiveArgumentPooler:fiveArgumentPooler};module.exports=PooledClass},{"./React":24,"./invariant":112}],24:[function(require,module,exports){"use strict";var DOMPropertyOperations=require("./DOMPropertyOperations");var EventPluginUtils=require("./EventPluginUtils");var ReactChildren=require("./ReactChildren");var ReactComponent=require("./ReactComponent");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactContext=require("./ReactContext");var ReactCurrentOwner=require("./ReactCurrentOwner");var ReactDOM=require("./ReactDOM");var ReactDOMComponent=require("./ReactDOMComponent");var ReactDefaultInjection=require("./ReactDefaultInjection");var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactMount=require("./ReactMount");var ReactMultiChild=require("./ReactMultiChild");var ReactPerf=require("./ReactPerf");var ReactPropTypes=require("./ReactPropTypes");var ReactServerRendering=require("./ReactServerRendering");var ReactTextComponent=require("./ReactTextComponent");var onlyChild=require("./onlyChild");ReactDefaultInjection.inject();var React={Children:{map:ReactChildren.map,forEach:ReactChildren.forEach,only:onlyChild},DOM:ReactDOM,PropTypes:ReactPropTypes,initializeTouchEvents:function(shouldUseTouch){EventPluginUtils.useTouchEvents=shouldUseTouch},createClass:ReactCompositeComponent.createClass,constructAndRenderComponent:ReactMount.constructAndRenderComponent,constructAndRenderComponentByID:ReactMount.constructAndRenderComponentByID,renderComponent:ReactPerf.measure("React","renderComponent",ReactMount.renderComponent),renderComponentToString:ReactServerRendering.renderComponentToString,renderComponentToStaticMarkup:ReactServerRendering.renderComponentToStaticMarkup,unmountComponentAtNode:ReactMount.unmountComponentAtNode,isValidClass:ReactCompositeComponent.isValidClass,isValidComponent:ReactComponent.isValidComponent,withContext:ReactContext.withContext,__internals:{Component:ReactComponent,CurrentOwner:ReactCurrentOwner,DOMComponent:ReactDOMComponent,DOMPropertyOperations:DOMPropertyOperations,InstanceHandles:ReactInstanceHandles,Mount:ReactMount,MultiChild:ReactMultiChild,TextComponent:ReactTextComponent}};if(require("./React").__DEV__===true){var ExecutionEnvironment=require("./ExecutionEnvironment");if(ExecutionEnvironment.canUseDOM&&window.top===window.self&&navigator.userAgent.indexOf("Chrome")>-1){console.debug("Download the React DevTools for a better development experience: "+"http://fb.me/react-devtools")}}React.version="0.10.0";module.exports=React},{"./DOMPropertyOperations":9,"./EventPluginUtils":18,"./ExecutionEnvironment":20,"./React":24,"./ReactChildren":26,"./ReactComponent":27,"./ReactCompositeComponent":29,"./ReactContext":30,"./ReactCurrentOwner":31,"./ReactDOM":32,"./ReactDOMComponent":34,"./ReactDefaultInjection":44,"./ReactInstanceHandles":53,"./ReactMount":55,"./ReactMultiChild":57,"./ReactPerf":60,"./ReactPropTypes":64,"./ReactServerRendering":68,"./ReactTextComponent":70,"./onlyChild":128}],25:[function(require,module,exports){"use strict";var ReactMount=require("./ReactMount");var invariant=require("./invariant");var ReactBrowserComponentMixin={getDOMNode:function(){require("./React").__DEV__===true?invariant(this.isMounted(),"getDOMNode(): A component must be mounted to have a DOM node."):invariant(this.isMounted());return ReactMount.getNode(this._rootNodeID)}};module.exports=ReactBrowserComponentMixin},{"./React":24,"./ReactMount":55,"./invariant":112}],26:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var invariant=require("./invariant");var traverseAllChildren=require("./traverseAllChildren");var twoArgumentPooler=PooledClass.twoArgumentPooler;var threeArgumentPooler=PooledClass.threeArgumentPooler;function ForEachBookKeeping(forEachFunction,forEachContext){this.forEachFunction=forEachFunction;this.forEachContext=forEachContext}PooledClass.addPoolingTo(ForEachBookKeeping,twoArgumentPooler);function forEachSingleChild(traverseContext,child,name,i){var forEachBookKeeping=traverseContext;forEachBookKeeping.forEachFunction.call(forEachBookKeeping.forEachContext,child,i)}function forEachChildren(children,forEachFunc,forEachContext){if(children==null){return children}var traverseContext=ForEachBookKeeping.getPooled(forEachFunc,forEachContext);traverseAllChildren(children,forEachSingleChild,traverseContext);ForEachBookKeeping.release(traverseContext)}function MapBookKeeping(mapResult,mapFunction,mapContext){this.mapResult=mapResult;this.mapFunction=mapFunction;this.mapContext=mapContext}PooledClass.addPoolingTo(MapBookKeeping,threeArgumentPooler);function mapSingleChildIntoContext(traverseContext,child,name,i){var mapBookKeeping=traverseContext;var mapResult=mapBookKeeping.mapResult;var mappedChild=mapBookKeeping.mapFunction.call(mapBookKeeping.mapContext,child,i);require("./React").__DEV__===true?invariant(!mapResult.hasOwnProperty(name),"ReactChildren.map(...): Encountered two children with the same key, "+"`%s`. Children keys must be unique.",name):invariant(!mapResult.hasOwnProperty(name));mapResult[name]=mappedChild}function mapChildren(children,func,context){if(children==null){return children}var mapResult={};var traverseContext=MapBookKeeping.getPooled(mapResult,func,context);traverseAllChildren(children,mapSingleChildIntoContext,traverseContext);MapBookKeeping.release(traverseContext);return mapResult}var ReactChildren={forEach:forEachChildren,map:mapChildren};module.exports=ReactChildren},{"./PooledClass":23,"./React":24,"./invariant":112,"./traverseAllChildren":133}],27:[function(require,module,exports){"use strict";var ReactCurrentOwner=require("./ReactCurrentOwner");var ReactOwner=require("./ReactOwner");var ReactUpdates=require("./ReactUpdates");var invariant=require("./invariant");var keyMirror=require("./keyMirror");var merge=require("./merge");var monitorCodeUse=require("./monitorCodeUse");var ComponentLifeCycle=keyMirror({MOUNTED:null,UNMOUNTED:null});var ownerHasExplicitKeyWarning={};var ownerHasPropertyWarning={};var ownerHasMonitoredObjectMap={};var NUMERIC_PROPERTY_REGEX=/^\d+$/;var injected=false;var unmountIDFromEnvironment=null;var mountImageIntoNode=null;function validateExplicitKey(component){if(component.__keyValidated__||component.props.key!=null){return}component.__keyValidated__=true;if(!ReactCurrentOwner.current){return}var currentName=ReactCurrentOwner.current.constructor.displayName;if(ownerHasExplicitKeyWarning.hasOwnProperty(currentName)){return}ownerHasExplicitKeyWarning[currentName]=true;var message='Each child in an array should have a unique "key" prop. '+"Check the render method of "+currentName+".";var childOwnerName=null;if(!component.isOwnedBy(ReactCurrentOwner.current)){childOwnerName=component._owner&&component._owner.constructor.displayName;message+=" It was passed a child from "+childOwnerName+"."}message+=" See http://fb.me/react-warning-keys for more information.";monitorCodeUse("react_key_warning",{component:currentName,componentOwner:childOwnerName});console.warn(message)}function validatePropertyKey(name){if(NUMERIC_PROPERTY_REGEX.test(name)){var currentName=ReactCurrentOwner.current.constructor.displayName;if(ownerHasPropertyWarning.hasOwnProperty(currentName)){return}ownerHasPropertyWarning[currentName]=true;monitorCodeUse("react_numeric_key_warning");console.warn("Child objects should have non-numeric keys so ordering is preserved. "+"Check the render method of "+currentName+". "+"See http://fb.me/react-warning-keys for more information.")}}function monitorUseOfObjectMap(){var currentName=ReactCurrentOwner.current&&ReactCurrentOwner.current.constructor.displayName||"";if(ownerHasMonitoredObjectMap.hasOwnProperty(currentName)){return}ownerHasMonitoredObjectMap[currentName]=true;monitorCodeUse("react_object_map_children")
}function validateChildKeys(component){if(Array.isArray(component)){for(var i=0;i<component.length;i++){var child=component[i];if(ReactComponent.isValidComponent(child)){validateExplicitKey(child)}}}else if(ReactComponent.isValidComponent(component)){component.__keyValidated__=true}else if(component&&typeof component==="object"){monitorUseOfObjectMap();for(var name in component){validatePropertyKey(name,component)}}}var ReactComponent={injection:{injectEnvironment:function(ReactComponentEnvironment){require("./React").__DEV__===true?invariant(!injected,"ReactComponent: injectEnvironment() can only be called once."):invariant(!injected);mountImageIntoNode=ReactComponentEnvironment.mountImageIntoNode;unmountIDFromEnvironment=ReactComponentEnvironment.unmountIDFromEnvironment;ReactComponent.BackendIDOperations=ReactComponentEnvironment.BackendIDOperations;ReactComponent.ReactReconcileTransaction=ReactComponentEnvironment.ReactReconcileTransaction;injected=true}},isValidComponent:function(object){if(!object||!object.type||!object.type.prototype){return false}var prototype=object.type.prototype;return typeof prototype.mountComponentIntoNode==="function"&&typeof prototype.receiveComponent==="function"},LifeCycle:ComponentLifeCycle,BackendIDOperations:null,ReactReconcileTransaction:null,Mixin:{isMounted:function(){return this._lifeCycleState===ComponentLifeCycle.MOUNTED},setProps:function(partialProps,callback){this.replaceProps(merge(this._pendingProps||this.props,partialProps),callback)},replaceProps:function(props,callback){require("./React").__DEV__===true?invariant(this.isMounted(),"replaceProps(...): Can only update a mounted component."):invariant(this.isMounted());require("./React").__DEV__===true?invariant(this._mountDepth===0,"replaceProps(...): You called `setProps` or `replaceProps` on a "+"component with a parent. This is an anti-pattern since props will "+"get reactively updated when rendered. Instead, change the owner's "+"`render` method to pass the correct value as props to the component "+"where it is created."):invariant(this._mountDepth===0);this._pendingProps=props;ReactUpdates.enqueueUpdate(this,callback)},construct:function(initialProps,children){this.props=initialProps||{};this._owner=ReactCurrentOwner.current;this._lifeCycleState=ComponentLifeCycle.UNMOUNTED;this._pendingProps=null;this._pendingCallbacks=null;this._pendingOwner=this._owner;var childrenLength=arguments.length-1;if(childrenLength===1){if(require("./React").__DEV__===true){validateChildKeys(children)}this.props.children=children}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){if(require("./React").__DEV__===true){validateChildKeys(arguments[i+1])}childArray[i]=arguments[i+1]}this.props.children=childArray}},mountComponent:function(rootID,transaction,mountDepth){require("./React").__DEV__===true?invariant(!this.isMounted(),"mountComponent(%s, ...): Can only mount an unmounted component. "+"Make sure to avoid storing components between renders or reusing a "+"single component instance in multiple places.",rootID):invariant(!this.isMounted());var props=this.props;if(props.ref!=null){ReactOwner.addComponentAsRefTo(this,props.ref,this._owner)}this._rootNodeID=rootID;this._lifeCycleState=ComponentLifeCycle.MOUNTED;this._mountDepth=mountDepth},unmountComponent:function(){require("./React").__DEV__===true?invariant(this.isMounted(),"unmountComponent(): Can only unmount a mounted component."):invariant(this.isMounted());var props=this.props;if(props.ref!=null){ReactOwner.removeComponentAsRefFrom(this,props.ref,this._owner)}unmountIDFromEnvironment(this._rootNodeID);this._rootNodeID=null;this._lifeCycleState=ComponentLifeCycle.UNMOUNTED},receiveComponent:function(nextComponent,transaction){require("./React").__DEV__===true?invariant(this.isMounted(),"receiveComponent(...): Can only update a mounted component."):invariant(this.isMounted());this._pendingOwner=nextComponent._owner;this._pendingProps=nextComponent.props;this._performUpdateIfNecessary(transaction)},performUpdateIfNecessary:function(){var transaction=ReactComponent.ReactReconcileTransaction.getPooled();transaction.perform(this._performUpdateIfNecessary,this,transaction);ReactComponent.ReactReconcileTransaction.release(transaction)},_performUpdateIfNecessary:function(transaction){if(this._pendingProps==null){return}var prevProps=this.props;var prevOwner=this._owner;this.props=this._pendingProps;this._owner=this._pendingOwner;this._pendingProps=null;this.updateComponent(transaction,prevProps,prevOwner)},updateComponent:function(transaction,prevProps,prevOwner){var props=this.props;if(this._owner!==prevOwner||props.ref!==prevProps.ref){if(prevProps.ref!=null){ReactOwner.removeComponentAsRefFrom(this,prevProps.ref,prevOwner)}if(props.ref!=null){ReactOwner.addComponentAsRefTo(this,props.ref,this._owner)}}},mountComponentIntoNode:function(rootID,container,shouldReuseMarkup){var transaction=ReactComponent.ReactReconcileTransaction.getPooled();transaction.perform(this._mountComponentIntoNode,this,rootID,container,transaction,shouldReuseMarkup);ReactComponent.ReactReconcileTransaction.release(transaction)},_mountComponentIntoNode:function(rootID,container,transaction,shouldReuseMarkup){var markup=this.mountComponent(rootID,transaction,0);mountImageIntoNode(markup,container,shouldReuseMarkup)},isOwnedBy:function(owner){return this._owner===owner},getSiblingByRef:function(ref){var owner=this._owner;if(!owner||!owner.refs){return null}return owner.refs[ref]}}};module.exports=ReactComponent},{"./React":24,"./ReactCurrentOwner":31,"./ReactOwner":59,"./ReactUpdates":71,"./invariant":112,"./keyMirror":118,"./merge":121,"./monitorCodeUse":125}],28:[function(require,module,exports){"use strict";var ReactDOMIDOperations=require("./ReactDOMIDOperations");var ReactMarkupChecksum=require("./ReactMarkupChecksum");var ReactMount=require("./ReactMount");var ReactPerf=require("./ReactPerf");var ReactReconcileTransaction=require("./ReactReconcileTransaction");var getReactRootElementInContainer=require("./getReactRootElementInContainer");var invariant=require("./invariant");var ELEMENT_NODE_TYPE=1;var DOC_NODE_TYPE=9;var ReactComponentBrowserEnvironment={ReactReconcileTransaction:ReactReconcileTransaction,BackendIDOperations:ReactDOMIDOperations,unmountIDFromEnvironment:function(rootNodeID){ReactMount.purgeID(rootNodeID)},mountImageIntoNode:ReactPerf.measure("ReactComponentBrowserEnvironment","mountImageIntoNode",function(markup,container,shouldReuseMarkup){require("./React").__DEV__===true?invariant(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE),"mountComponentIntoNode(...): Target container is not valid."):invariant(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE));if(shouldReuseMarkup){if(ReactMarkupChecksum.canReuseMarkup(markup,getReactRootElementInContainer(container))){return}else{require("./React").__DEV__===true?invariant(container.nodeType!==DOC_NODE_TYPE,"You're trying to render a component to the document using "+"server rendering but the checksum was invalid. This usually "+"means you rendered a different component type or props on "+"the client from the one on the server, or your render() "+"methods are impure. React cannot handle this case due to "+"cross-browser quirks by rendering at the document root. You "+"should look for environment dependent code in your components "+"and ensure the props are the same client and server side."):invariant(container.nodeType!==DOC_NODE_TYPE);if(require("./React").__DEV__===true){console.warn("React attempted to use reuse markup in a container but the "+"checksum was invalid. This generally means that you are "+"using server rendering and the markup generated on the "+"server was not what the client was expecting. React injected"+"new markup to compensate which works but you have lost many "+"of the benefits of server rendering. Instead, figure out "+"why the markup being generated is different on the client "+"or server.")}}}require("./React").__DEV__===true?invariant(container.nodeType!==DOC_NODE_TYPE,"You're trying to render a component to the document but "+"you didn't use server rendering. We can't do this "+"without using server rendering due to cross-browser quirks. "+"See renderComponentToString() for server rendering."):invariant(container.nodeType!==DOC_NODE_TYPE);container.innerHTML=markup})};module.exports=ReactComponentBrowserEnvironment},{"./React":24,"./ReactDOMIDOperations":36,"./ReactMarkupChecksum":54,"./ReactMount":55,"./ReactPerf":60,"./ReactReconcileTransaction":66,"./getReactRootElementInContainer":107,"./invariant":112}],29:[function(require,module,exports){"use strict";var ReactComponent=require("./ReactComponent");var ReactContext=require("./ReactContext");var ReactCurrentOwner=require("./ReactCurrentOwner");var ReactErrorUtils=require("./ReactErrorUtils");var ReactOwner=require("./ReactOwner");var ReactPerf=require("./ReactPerf");var ReactPropTransferer=require("./ReactPropTransferer");var ReactPropTypeLocations=require("./ReactPropTypeLocations");var ReactPropTypeLocationNames=require("./ReactPropTypeLocationNames");var ReactUpdates=require("./ReactUpdates");var instantiateReactComponent=require("./instantiateReactComponent");var invariant=require("./invariant");var keyMirror=require("./keyMirror");var merge=require("./merge");var mixInto=require("./mixInto");var monitorCodeUse=require("./monitorCodeUse");var objMap=require("./objMap");var shouldUpdateReactComponent=require("./shouldUpdateReactComponent");var warning=require("./warning");var SpecPolicy=keyMirror({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null});var injectedMixins=[];var ReactCompositeComponentInterface={mixins:SpecPolicy.DEFINE_MANY,statics:SpecPolicy.DEFINE_MANY,propTypes:SpecPolicy.DEFINE_MANY,contextTypes:SpecPolicy.DEFINE_MANY,childContextTypes:SpecPolicy.DEFINE_MANY,getDefaultProps:SpecPolicy.DEFINE_MANY_MERGED,getInitialState:SpecPolicy.DEFINE_MANY_MERGED,getChildContext:SpecPolicy.DEFINE_MANY_MERGED,render:SpecPolicy.DEFINE_ONCE,componentWillMount:SpecPolicy.DEFINE_MANY,componentDidMount:SpecPolicy.DEFINE_MANY,componentWillReceiveProps:SpecPolicy.DEFINE_MANY,shouldComponentUpdate:SpecPolicy.DEFINE_ONCE,componentWillUpdate:SpecPolicy.DEFINE_MANY,componentDidUpdate:SpecPolicy.DEFINE_MANY,componentWillUnmount:SpecPolicy.DEFINE_MANY,updateComponent:SpecPolicy.OVERRIDE_BASE};var RESERVED_SPEC_KEYS={displayName:function(ConvenienceConstructor,displayName){ConvenienceConstructor.componentConstructor.displayName=displayName},mixins:function(ConvenienceConstructor,mixins){if(mixins){for(var i=0;i<mixins.length;i++){mixSpecIntoComponent(ConvenienceConstructor,mixins[i])}}},childContextTypes:function(ConvenienceConstructor,childContextTypes){var Constructor=ConvenienceConstructor.componentConstructor;validateTypeDef(Constructor,childContextTypes,ReactPropTypeLocations.childContext);Constructor.childContextTypes=merge(Constructor.childContextTypes,childContextTypes)},contextTypes:function(ConvenienceConstructor,contextTypes){var Constructor=ConvenienceConstructor.componentConstructor;validateTypeDef(Constructor,contextTypes,ReactPropTypeLocations.context);Constructor.contextTypes=merge(Constructor.contextTypes,contextTypes)},propTypes:function(ConvenienceConstructor,propTypes){var Constructor=ConvenienceConstructor.componentConstructor;validateTypeDef(Constructor,propTypes,ReactPropTypeLocations.prop);Constructor.propTypes=merge(Constructor.propTypes,propTypes)},statics:function(ConvenienceConstructor,statics){mixStaticSpecIntoComponent(ConvenienceConstructor,statics)}};function validateTypeDef(Constructor,typeDef,location){for(var propName in typeDef){if(typeDef.hasOwnProperty(propName)){require("./React").__DEV__===true?invariant(typeof typeDef[propName]=="function","%s: %s type `%s` is invalid; it must be a function, usually from "+"React.PropTypes.",Constructor.displayName||"ReactCompositeComponent",ReactPropTypeLocationNames[location],propName):invariant(typeof typeDef[propName]=="function")}}}function validateMethodOverride(proto,name){var specPolicy=ReactCompositeComponentInterface[name];if(ReactCompositeComponentMixin.hasOwnProperty(name)){require("./React").__DEV__===true?invariant(specPolicy===SpecPolicy.OVERRIDE_BASE,"ReactCompositeComponentInterface: You are attempting to override "+"`%s` from your class specification. Ensure that your method names "+"do not overlap with React methods.",name):invariant(specPolicy===SpecPolicy.OVERRIDE_BASE)}if(proto.hasOwnProperty(name)){require("./React").__DEV__===true?invariant(specPolicy===SpecPolicy.DEFINE_MANY||specPolicy===SpecPolicy.DEFINE_MANY_MERGED,"ReactCompositeComponentInterface: You are attempting to define "+"`%s` on your component more than once. This conflict may be due "+"to a mixin.",name):invariant(specPolicy===SpecPolicy.DEFINE_MANY||specPolicy===SpecPolicy.DEFINE_MANY_MERGED)}}function validateLifeCycleOnReplaceState(instance){var compositeLifeCycleState=instance._compositeLifeCycleState;require("./React").__DEV__===true?invariant(instance.isMounted()||compositeLifeCycleState===CompositeLifeCycle.MOUNTING,"replaceState(...): Can only update a mounted or mounting component."):invariant(instance.isMounted()||compositeLifeCycleState===CompositeLifeCycle.MOUNTING);require("./React").__DEV__===true?invariant(compositeLifeCycleState!==CompositeLifeCycle.RECEIVING_STATE,"replaceState(...): Cannot update during an existing state transition "+"(such as within `render`). This could potentially cause an infinite "+"loop so it is forbidden."):invariant(compositeLifeCycleState!==CompositeLifeCycle.RECEIVING_STATE);require("./React").__DEV__===true?invariant(compositeLifeCycleState!==CompositeLifeCycle.UNMOUNTING,"replaceState(...): Cannot update while unmounting component. This "+"usually means you called setState() on an unmounted component."):invariant(compositeLifeCycleState!==CompositeLifeCycle.UNMOUNTING)}function mixSpecIntoComponent(ConvenienceConstructor,spec){require("./React").__DEV__===true?invariant(!isValidClass(spec),"ReactCompositeComponent: You're attempting to "+"use a component class as a mixin. Instead, just use a regular object."):invariant(!isValidClass(spec));require("./React").__DEV__===true?invariant(!ReactComponent.isValidComponent(spec),"ReactCompositeComponent: You're attempting to "+"use a component as a mixin. Instead, just use a regular object."):invariant(!ReactComponent.isValidComponent(spec));var Constructor=ConvenienceConstructor.componentConstructor;var proto=Constructor.prototype;for(var name in spec){var property=spec[name];if(!spec.hasOwnProperty(name)){continue}validateMethodOverride(proto,name);if(RESERVED_SPEC_KEYS.hasOwnProperty(name)){RESERVED_SPEC_KEYS[name](ConvenienceConstructor,property)}else{var isCompositeComponentMethod=name in ReactCompositeComponentInterface;var isInherited=name in proto;var markedDontBind=property&&property.__reactDontBind;var isFunction=typeof property==="function";var shouldAutoBind=isFunction&&!isCompositeComponentMethod&&!isInherited&&!markedDontBind;if(shouldAutoBind){if(!proto.__reactAutoBindMap){proto.__reactAutoBindMap={}}proto.__reactAutoBindMap[name]=property;proto[name]=property}else{if(isInherited){if(ReactCompositeComponentInterface[name]===SpecPolicy.DEFINE_MANY_MERGED){proto[name]=createMergedResultFunction(proto[name],property)}else{proto[name]=createChainedFunction(proto[name],property)}}else{proto[name]=property}}}}}function mixStaticSpecIntoComponent(ConvenienceConstructor,statics){if(!statics){return}for(var name in statics){var property=statics[name];if(!statics.hasOwnProperty(name)){return}var isInherited=name in ConvenienceConstructor;var result=property;if(isInherited){var existingProperty=ConvenienceConstructor[name];var existingType=typeof existingProperty;var propertyType=typeof property;require("./React").__DEV__===true?invariant(existingType==="function"&&propertyType==="function","ReactCompositeComponent: You are attempting to define "+"`%s` on your component more than once, but that is only supported "+"for functions, which are chained together. This conflict may be "+"due to a mixin.",name):invariant(existingType==="function"&&propertyType==="function");result=createChainedFunction(existingProperty,property)}ConvenienceConstructor[name]=result;ConvenienceConstructor.componentConstructor[name]=result}}function mergeObjectsWithNoDuplicateKeys(one,two){require("./React").__DEV__===true?invariant(one&&two&&typeof one==="object"&&typeof two==="object","mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects"):invariant(one&&two&&typeof one==="object"&&typeof two==="object");objMap(two,function(value,key){require("./React").__DEV__===true?invariant(one[key]===undefined,"mergeObjectsWithNoDuplicateKeys(): "+"Tried to merge two objects with the same key: %s",key):invariant(one[key]===undefined);one[key]=value});return one}function createMergedResultFunction(one,two){return function mergedResult(){var a=one.apply(this,arguments);var b=two.apply(this,arguments);if(a==null){return b}else if(b==null){return a}return mergeObjectsWithNoDuplicateKeys(a,b)}}function createChainedFunction(one,two){return function chainedFunction(){one.apply(this,arguments);two.apply(this,arguments)}}if(require("./React").__DEV__===true){var unmountedPropertyWhitelist={constructor:true,construct:true,isOwnedBy:true,type:true,props:true,__keyValidated__:true,_owner:true,_currentContext:true};var componentInstanceProperties={__keyValidated__:true,__keySetters:true,_compositeLifeCycleState:true,_currentContext:true,_defaultProps:true,_instance:true,_lifeCycleState:true,_mountDepth:true,_owner:true,_pendingCallbacks:true,_pendingContext:true,_pendingForceUpdate:true,_pendingOwner:true,_pendingProps:true,_pendingState:true,_renderedComponent:true,_rootNodeID:true,context:true,props:true,refs:true,state:true,_pendingQueries:true,_queryPropListeners:true,queryParams:true};var hasWarnedOnComponentType={};var warningStackCounter=0;var issueMembraneWarning=function(instance,key){var isWhitelisted=unmountedPropertyWhitelist.hasOwnProperty(key);if(warningStackCounter>0||isWhitelisted){return}var name=instance.constructor.displayName||"Unknown";var owner=ReactCurrentOwner.current;var ownerName=owner&&owner.constructor.displayName||"Unknown";var warningKey=key+"|"+name+"|"+ownerName;if(hasWarnedOnComponentType.hasOwnProperty(warningKey)){return}hasWarnedOnComponentType[warningKey]=true;var context=owner?" in "+ownerName+".":" at the top level.";var staticMethodExample="<"+name+" />.type."+key+"(...)";monitorCodeUse("react_descriptor_property_access",{component:name});console.warn('Invalid access to component property "'+key+'" on '+name+context+" See http://fb.me/react-warning-descriptors ."+" Use a static method instead: "+staticMethodExample)};var wrapInMembraneFunction=function(fn,thisBinding){if(fn.__reactMembraneFunction&&fn.__reactMembraneSelf===thisBinding){return fn.__reactMembraneFunction}return fn.__reactMembraneFunction=function(){warningStackCounter++;try{var self=this===thisBinding?this.__realComponentInstance:this;return fn.apply(self,arguments)}finally{warningStackCounter--}}};var defineMembraneProperty=function(membrane,prototype,key){Object.defineProperty(membrane,key,{configurable:false,enumerable:true,get:function(){if(this===membrane){return prototype[key]}issueMembraneWarning(this,key);var realValue=this.__realComponentInstance[key];if(typeof realValue==="function"&&key!=="type"&&key!=="constructor"){return wrapInMembraneFunction(realValue,this)}return realValue},set:function(value){if(this===membrane){prototype[key]=value;return}issueMembraneWarning(this,key);this.__realComponentInstance[key]=value}})};var createMountWarningMembrane=function(prototype){var membrane={};var key;for(key in prototype){defineMembraneProperty(membrane,prototype,key)}for(key in componentInstanceProperties){if(componentInstanceProperties.hasOwnProperty(key)&&!(key in prototype)){defineMembraneProperty(membrane,prototype,key)}}return membrane};var createDescriptorProxy=function(constructor){try{var ProxyConstructor=function(){this.__realComponentInstance=new constructor;Object.freeze(this)};ProxyConstructor.prototype=createMountWarningMembrane(constructor.prototype);return ProxyConstructor}catch(x){return constructor}}}var CompositeLifeCycle=keyMirror({MOUNTING:null,UNMOUNTING:null,RECEIVING_PROPS:null,RECEIVING_STATE:null});var ReactCompositeComponentMixin={construct:function(initialProps,children){ReactComponent.Mixin.construct.apply(this,arguments);ReactOwner.Mixin.construct.apply(this,arguments);this.state=null;this._pendingState=null;this.context=null;this._currentContext=ReactContext.current;this._pendingContext=null;this._descriptor=null;this._compositeLifeCycleState=null},toJSON:function(){return{type:this.type,props:this.props}},isMounted:function(){return ReactComponent.Mixin.isMounted.call(this)&&this._compositeLifeCycleState!==CompositeLifeCycle.MOUNTING},mountComponent:ReactPerf.measure("ReactCompositeComponent","mountComponent",function(rootID,transaction,mountDepth){ReactComponent.Mixin.mountComponent.call(this,rootID,transaction,mountDepth);this._compositeLifeCycleState=CompositeLifeCycle.MOUNTING;this.context=this._processContext(this._currentContext);this._defaultProps=this.getDefaultProps?this.getDefaultProps():null;this.props=this._processProps(this.props);if(this.__reactAutoBindMap){this._bindAutoBindMethods()}this.state=this.getInitialState?this.getInitialState():null;require("./React").__DEV__===true?invariant(typeof this.state==="object"&&!Array.isArray(this.state),"%s.getInitialState(): must return an object or null",this.constructor.displayName||"ReactCompositeComponent"):invariant(typeof this.state==="object"&&!Array.isArray(this.state));this._pendingState=null;this._pendingForceUpdate=false;if(this.componentWillMount){this.componentWillMount();if(this._pendingState){this.state=this._pendingState;this._pendingState=null}}this._renderedComponent=instantiateReactComponent(this._renderValidatedComponent());this._compositeLifeCycleState=null;var markup=this._renderedComponent.mountComponent(rootID,transaction,mountDepth+1);if(this.componentDidMount){transaction.getReactMountReady().enqueue(this,this.componentDidMount)}return markup}),unmountComponent:function(){this._compositeLifeCycleState=CompositeLifeCycle.UNMOUNTING;if(this.componentWillUnmount){this.componentWillUnmount()}this._compositeLifeCycleState=null;this._defaultProps=null;this._renderedComponent.unmountComponent();this._renderedComponent=null;ReactComponent.Mixin.unmountComponent.call(this)},setState:function(partialState,callback){require("./React").__DEV__===true?invariant(typeof partialState==="object"||partialState==null,"setState(...): takes an object of state variables to update."):invariant(typeof partialState==="object"||partialState==null);if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(partialState!=null,"setState(...): You passed an undefined or null state object; "+"instead, use forceUpdate()."):null}this.replaceState(merge(this._pendingState||this.state,partialState),callback)},replaceState:function(completeState,callback){validateLifeCycleOnReplaceState(this);this._pendingState=completeState;ReactUpdates.enqueueUpdate(this,callback)},_processContext:function(context){var maskedContext=null;var contextTypes=this.constructor.contextTypes;if(contextTypes){maskedContext={};for(var contextName in contextTypes){maskedContext[contextName]=context[contextName]}if(require("./React").__DEV__===true){this._checkPropTypes(contextTypes,maskedContext,ReactPropTypeLocations.context)}}return maskedContext},_processChildContext:function(currentContext){var childContext=this.getChildContext&&this.getChildContext();var displayName=this.constructor.displayName||"ReactCompositeComponent";if(childContext){require("./React").__DEV__===true?invariant(typeof this.constructor.childContextTypes==="object","%s.getChildContext(): childContextTypes must be defined in order to "+"use getChildContext().",displayName):invariant(typeof this.constructor.childContextTypes==="object");if(require("./React").__DEV__===true){this._checkPropTypes(this.constructor.childContextTypes,childContext,ReactPropTypeLocations.childContext)}for(var name in childContext){require("./React").__DEV__===true?invariant(name in this.constructor.childContextTypes,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',displayName,name):invariant(name in this.constructor.childContextTypes)}return merge(currentContext,childContext)}return currentContext},_processProps:function(newProps){var props=merge(newProps);var defaultProps=this._defaultProps;for(var propName in defaultProps){if(typeof props[propName]==="undefined"){props[propName]=defaultProps[propName]}}if(require("./React").__DEV__===true){var propTypes=this.constructor.propTypes;if(propTypes){this._checkPropTypes(propTypes,props,ReactPropTypeLocations.prop)}}return props},_checkPropTypes:function(propTypes,props,location){var componentName=this.constructor.displayName;for(var propName in propTypes){if(propTypes.hasOwnProperty(propName)){propTypes[propName](props,propName,componentName,location)}}},performUpdateIfNecessary:function(){var compositeLifeCycleState=this._compositeLifeCycleState;if(compositeLifeCycleState===CompositeLifeCycle.MOUNTING||compositeLifeCycleState===CompositeLifeCycle.RECEIVING_PROPS){return}ReactComponent.Mixin.performUpdateIfNecessary.call(this)},_performUpdateIfNecessary:function(transaction){if(this._pendingProps==null&&this._pendingState==null&&this._pendingContext==null&&!this._pendingForceUpdate){return}var nextFullContext=this._pendingContext||this._currentContext;var nextContext=this._processContext(nextFullContext);this._pendingContext=null;var nextProps=this.props;if(this._pendingProps!=null){nextProps=this._processProps(this._pendingProps);this._pendingProps=null;this._compositeLifeCycleState=CompositeLifeCycle.RECEIVING_PROPS;if(this.componentWillReceiveProps){this.componentWillReceiveProps(nextProps,nextContext)}}this._compositeLifeCycleState=CompositeLifeCycle.RECEIVING_STATE;var nextOwner=this._pendingOwner;var nextState=this._pendingState||this.state;this._pendingState=null;try{if(this._pendingForceUpdate||!this.shouldComponentUpdate||this.shouldComponentUpdate(nextProps,nextState,nextContext)){this._pendingForceUpdate=false;this._performComponentUpdate(nextProps,nextOwner,nextState,nextFullContext,nextContext,transaction)}else{this.props=nextProps;this._owner=nextOwner;this.state=nextState;this._currentContext=nextFullContext;this.context=nextContext}}finally{this._compositeLifeCycleState=null}},_performComponentUpdate:function(nextProps,nextOwner,nextState,nextFullContext,nextContext,transaction){var prevProps=this.props;var prevOwner=this._owner;var prevState=this.state;var prevContext=this.context;if(this.componentWillUpdate){this.componentWillUpdate(nextProps,nextState,nextContext)}this.props=nextProps;this._owner=nextOwner;this.state=nextState;this._currentContext=nextFullContext;this.context=nextContext;this.updateComponent(transaction,prevProps,prevOwner,prevState,prevContext);if(this.componentDidUpdate){transaction.getReactMountReady().enqueue(this,this.componentDidUpdate.bind(this,prevProps,prevState,prevContext))}},receiveComponent:function(nextComponent,transaction){if(nextComponent===this._descriptor){return}this._descriptor=nextComponent;this._pendingContext=nextComponent._currentContext;ReactComponent.Mixin.receiveComponent.call(this,nextComponent,transaction)},updateComponent:ReactPerf.measure("ReactCompositeComponent","updateComponent",function(transaction,prevProps,prevOwner,prevState,prevContext){ReactComponent.Mixin.updateComponent.call(this,transaction,prevProps,prevOwner);var prevComponentInstance=this._renderedComponent;var nextComponent=this._renderValidatedComponent();if(shouldUpdateReactComponent(prevComponentInstance,nextComponent)){prevComponentInstance.receiveComponent(nextComponent,transaction)}else{var thisID=this._rootNodeID;var prevComponentID=prevComponentInstance._rootNodeID;prevComponentInstance.unmountComponent();this._renderedComponent=instantiateReactComponent(nextComponent);var nextMarkup=this._renderedComponent.mountComponent(thisID,transaction,this._mountDepth+1);ReactComponent.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID(prevComponentID,nextMarkup)}}),forceUpdate:function(callback){var compositeLifeCycleState=this._compositeLifeCycleState;require("./React").__DEV__===true?invariant(this.isMounted()||compositeLifeCycleState===CompositeLifeCycle.MOUNTING,"forceUpdate(...): Can only force an update on mounted or mounting "+"components."):invariant(this.isMounted()||compositeLifeCycleState===CompositeLifeCycle.MOUNTING);require("./React").__DEV__===true?invariant(compositeLifeCycleState!==CompositeLifeCycle.RECEIVING_STATE&&compositeLifeCycleState!==CompositeLifeCycle.UNMOUNTING,"forceUpdate(...): Cannot force an update while unmounting component "+"or during an existing state transition (such as within `render`)."):invariant(compositeLifeCycleState!==CompositeLifeCycle.RECEIVING_STATE&&compositeLifeCycleState!==CompositeLifeCycle.UNMOUNTING);this._pendingForceUpdate=true;ReactUpdates.enqueueUpdate(this,callback)},_renderValidatedComponent:ReactPerf.measure("ReactCompositeComponent","_renderValidatedComponent",function(){var renderedComponent;var previousContext=ReactContext.current;ReactContext.current=this._processChildContext(this._currentContext);ReactCurrentOwner.current=this;try{renderedComponent=this.render()}finally{ReactContext.current=previousContext;ReactCurrentOwner.current=null}require("./React").__DEV__===true?invariant(ReactComponent.isValidComponent(renderedComponent),"%s.render(): A valid ReactComponent must be returned. You may have "+"returned null, undefined, an array, or some other invalid object.",this.constructor.displayName||"ReactCompositeComponent"):invariant(ReactComponent.isValidComponent(renderedComponent));return renderedComponent}),_bindAutoBindMethods:function(){for(var autoBindKey in this.__reactAutoBindMap){if(!this.__reactAutoBindMap.hasOwnProperty(autoBindKey)){continue}var method=this.__reactAutoBindMap[autoBindKey];this[autoBindKey]=this._bindAutoBindMethod(ReactErrorUtils.guard(method,this.constructor.displayName+"."+autoBindKey))}},_bindAutoBindMethod:function(method){var component=this;var boundMethod=function(){return method.apply(component,arguments)};if(require("./React").__DEV__===true){boundMethod.__reactBoundContext=component;boundMethod.__reactBoundMethod=method;boundMethod.__reactBoundArguments=null;var componentName=component.constructor.displayName;var _bind=boundMethod.bind;boundMethod.bind=function(newThis){var args=Array.prototype.slice.call(arguments,1);if(newThis!==component&&newThis!==null){monitorCodeUse("react_bind_warning",{component:componentName});console.warn("bind(): React component methods may only be bound to the "+"component instance. See "+componentName)}else if(!args.length){monitorCodeUse("react_bind_warning",{component:componentName});console.warn("bind(): You are binding a component method to the component. "+"React does this for you automatically in a high-performance "+"way, so you can safely remove this call. See "+componentName);return boundMethod}var reboundMethod=_bind.apply(boundMethod,arguments);reboundMethod.__reactBoundContext=component;reboundMethod.__reactBoundMethod=method;reboundMethod.__reactBoundArguments=args;return reboundMethod}}return boundMethod}};var ReactCompositeComponentBase=function(){};mixInto(ReactCompositeComponentBase,ReactComponent.Mixin);mixInto(ReactCompositeComponentBase,ReactOwner.Mixin);mixInto(ReactCompositeComponentBase,ReactPropTransferer.Mixin);mixInto(ReactCompositeComponentBase,ReactCompositeComponentMixin);function isValidClass(componentClass){return componentClass instanceof Function&&"componentConstructor"in componentClass&&componentClass.componentConstructor instanceof Function
}var ReactCompositeComponent={LifeCycle:CompositeLifeCycle,Base:ReactCompositeComponentBase,createClass:function(spec){var Constructor=function(){};Constructor.prototype=new ReactCompositeComponentBase;Constructor.prototype.constructor=Constructor;var DescriptorConstructor=Constructor;var ConvenienceConstructor=function(props,children){var descriptor=new DescriptorConstructor;descriptor.construct.apply(descriptor,arguments);return descriptor};ConvenienceConstructor.componentConstructor=Constructor;Constructor.ConvenienceConstructor=ConvenienceConstructor;ConvenienceConstructor.originalSpec=spec;injectedMixins.forEach(mixSpecIntoComponent.bind(null,ConvenienceConstructor));mixSpecIntoComponent(ConvenienceConstructor,spec);require("./React").__DEV__===true?invariant(Constructor.prototype.render,"createClass(...): Class specification must implement a `render` method."):invariant(Constructor.prototype.render);if(require("./React").__DEV__===true){if(Constructor.prototype.componentShouldUpdate){monitorCodeUse("react_component_should_update_warning",{component:spec.displayName});console.warn((spec.displayName||"A component")+" 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.")}}ConvenienceConstructor.type=Constructor;Constructor.prototype.type=Constructor;for(var methodName in ReactCompositeComponentInterface){if(!Constructor.prototype[methodName]){Constructor.prototype[methodName]=null}}if(require("./React").__DEV__===true){DescriptorConstructor=createDescriptorProxy(Constructor)}return ConvenienceConstructor},isValidClass:isValidClass,injection:{injectMixin:function(mixin){injectedMixins.push(mixin)}}};module.exports=ReactCompositeComponent},{"./React":24,"./ReactComponent":27,"./ReactContext":30,"./ReactCurrentOwner":31,"./ReactErrorUtils":47,"./ReactOwner":59,"./ReactPerf":60,"./ReactPropTransferer":61,"./ReactPropTypeLocationNames":62,"./ReactPropTypeLocations":63,"./ReactUpdates":71,"./instantiateReactComponent":111,"./invariant":112,"./keyMirror":118,"./merge":121,"./mixInto":124,"./monitorCodeUse":125,"./objMap":126,"./shouldUpdateReactComponent":131,"./warning":134}],30:[function(require,module,exports){"use strict";var merge=require("./merge");var ReactContext={current:{},withContext:function(newContext,scopedCallback){var result;var previousContext=ReactContext.current;ReactContext.current=merge(previousContext,newContext);try{result=scopedCallback()}finally{ReactContext.current=previousContext}return result}};module.exports=ReactContext},{"./merge":121}],31:[function(require,module,exports){"use strict";var ReactCurrentOwner={current:null};module.exports=ReactCurrentOwner},{}],32:[function(require,module,exports){"use strict";var ReactDOMComponent=require("./ReactDOMComponent");var mergeInto=require("./mergeInto");var objMapKeyVal=require("./objMapKeyVal");function createDOMComponentClass(tag,omitClose){var Constructor=function(){};Constructor.prototype=new ReactDOMComponent(tag,omitClose);Constructor.prototype.constructor=Constructor;Constructor.displayName=tag;var ConvenienceConstructor=function(props,children){var instance=new Constructor;instance.construct.apply(instance,arguments);return instance};ConvenienceConstructor.type=Constructor;Constructor.prototype.type=Constructor;Constructor.ConvenienceConstructor=ConvenienceConstructor;ConvenienceConstructor.componentConstructor=Constructor;return ConvenienceConstructor}var ReactDOM=objMapKeyVal({a:false,abbr:false,address:false,area:true,article:false,aside:false,audio:false,b:false,base:true,bdi:false,bdo:false,big:false,blockquote:false,body:false,br:true,button:false,canvas:false,caption:false,cite:false,code:false,col:true,colgroup:false,data:false,datalist:false,dd:false,del:false,details:false,dfn:false,div:false,dl:false,dt:false,em:false,embed:true,fieldset:false,figcaption:false,figure:false,footer:false,form:false,h1:false,h2:false,h3:false,h4:false,h5:false,h6:false,head:false,header:false,hr:true,html:false,i:false,iframe:false,img:true,input:true,ins:false,kbd:false,keygen:true,label:false,legend:false,li:false,link:true,main:false,map:false,mark:false,menu:false,menuitem:false,meta:true,meter:false,nav:false,noscript:false,object:false,ol:false,optgroup:false,option:false,output:false,p:false,param:true,pre:false,progress:false,q:false,rp:false,rt:false,ruby:false,s:false,samp:false,script:false,section:false,select:false,small:false,source:true,span:false,strong:false,style:false,sub:false,summary:false,sup:false,table:false,tbody:false,td:false,textarea:false,tfoot:false,th:false,thead:false,time:false,title:false,tr:false,track:true,u:false,ul:false,"var":false,video:false,wbr:true,circle:false,defs:false,g:false,line:false,linearGradient:false,path:false,polygon:false,polyline:false,radialGradient:false,rect:false,stop:false,svg:false,text:false},createDOMComponentClass);var injection={injectComponentClasses:function(componentClasses){mergeInto(ReactDOM,componentClasses)}};ReactDOM.injection=injection;module.exports=ReactDOM},{"./ReactDOMComponent":34,"./mergeInto":123,"./objMapKeyVal":127}],33:[function(require,module,exports){"use strict";var AutoFocusMixin=require("./AutoFocusMixin");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var keyMirror=require("./keyMirror");var button=ReactDOM.button;var mouseListenerNames=keyMirror({onClick:true,onDoubleClick:true,onMouseDown:true,onMouseMove:true,onMouseUp:true,onClickCapture:true,onDoubleClickCapture:true,onMouseDownCapture:true,onMouseMoveCapture:true,onMouseUpCapture:true});var ReactDOMButton=ReactCompositeComponent.createClass({displayName:"ReactDOMButton",mixins:[AutoFocusMixin,ReactBrowserComponentMixin],render:function(){var props={};for(var key in this.props){if(this.props.hasOwnProperty(key)&&(!this.props.disabled||!mouseListenerNames[key])){props[key]=this.props[key]}}return button(props,this.props.children)}});module.exports=ReactDOMButton},{"./AutoFocusMixin":1,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./keyMirror":118}],34:[function(require,module,exports){"use strict";var CSSPropertyOperations=require("./CSSPropertyOperations");var DOMProperty=require("./DOMProperty");var DOMPropertyOperations=require("./DOMPropertyOperations");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactComponent=require("./ReactComponent");var ReactEventEmitter=require("./ReactEventEmitter");var ReactMount=require("./ReactMount");var ReactMultiChild=require("./ReactMultiChild");var ReactPerf=require("./ReactPerf");var escapeTextForBrowser=require("./escapeTextForBrowser");var invariant=require("./invariant");var keyOf=require("./keyOf");var merge=require("./merge");var mixInto=require("./mixInto");var deleteListener=ReactEventEmitter.deleteListener;var listenTo=ReactEventEmitter.listenTo;var registrationNameModules=ReactEventEmitter.registrationNameModules;var CONTENT_TYPES={string:true,number:true};var STYLE=keyOf({style:null});var ELEMENT_NODE_TYPE=1;function assertValidProps(props){if(!props){return}require("./React").__DEV__===true?invariant(props.children==null||props.dangerouslySetInnerHTML==null,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):invariant(props.children==null||props.dangerouslySetInnerHTML==null);require("./React").__DEV__===true?invariant(props.style==null||typeof props.style==="object","The `style` prop expects a mapping from style properties to values, "+"not a string."):invariant(props.style==null||typeof props.style==="object")}function putListener(id,registrationName,listener,transaction){var container=ReactMount.findReactContainerForID(id);if(container){var doc=container.nodeType===ELEMENT_NODE_TYPE?container.ownerDocument:container;listenTo(registrationName,doc)}transaction.getPutListenerQueue().enqueuePutListener(id,registrationName,listener)}function ReactDOMComponent(tag,omitClose){this._tagOpen="<"+tag;this._tagClose=omitClose?"":"</"+tag+">";this.tagName=tag.toUpperCase()}ReactDOMComponent.Mixin={mountComponent:ReactPerf.measure("ReactDOMComponent","mountComponent",function(rootID,transaction,mountDepth){ReactComponent.Mixin.mountComponent.call(this,rootID,transaction,mountDepth);assertValidProps(this.props);return this._createOpenTagMarkupAndPutListeners(transaction)+this._createContentMarkup(transaction)+this._tagClose}),_createOpenTagMarkupAndPutListeners:function(transaction){var props=this.props;var ret=this._tagOpen;for(var propKey in props){if(!props.hasOwnProperty(propKey)){continue}var propValue=props[propKey];if(propValue==null){continue}if(registrationNameModules[propKey]){putListener(this._rootNodeID,propKey,propValue,transaction)}else{if(propKey===STYLE){if(propValue){propValue=props.style=merge(props.style)}propValue=CSSPropertyOperations.createMarkupForStyles(propValue)}var markup=DOMPropertyOperations.createMarkupForProperty(propKey,propValue);if(markup){ret+=" "+markup}}}if(transaction.renderToStaticMarkup){return ret+">"}var markupForID=DOMPropertyOperations.createMarkupForID(this._rootNodeID);return ret+" "+markupForID+">"},_createContentMarkup:function(transaction){var innerHTML=this.props.dangerouslySetInnerHTML;if(innerHTML!=null){if(innerHTML.__html!=null){return innerHTML.__html}}else{var contentToUse=CONTENT_TYPES[typeof this.props.children]?this.props.children:null;var childrenToUse=contentToUse!=null?null:this.props.children;if(contentToUse!=null){return escapeTextForBrowser(contentToUse)}else if(childrenToUse!=null){var mountImages=this.mountChildren(childrenToUse,transaction);return mountImages.join("")}}return""},receiveComponent:function(nextComponent,transaction){if(nextComponent===this){return}assertValidProps(nextComponent.props);ReactComponent.Mixin.receiveComponent.call(this,nextComponent,transaction)},updateComponent:ReactPerf.measure("ReactDOMComponent","updateComponent",function(transaction,prevProps,prevOwner){ReactComponent.Mixin.updateComponent.call(this,transaction,prevProps,prevOwner);this._updateDOMProperties(prevProps,transaction);this._updateDOMChildren(prevProps,transaction)}),_updateDOMProperties:function(lastProps,transaction){var nextProps=this.props;var propKey;var styleName;var styleUpdates;for(propKey in lastProps){if(nextProps.hasOwnProperty(propKey)||!lastProps.hasOwnProperty(propKey)){continue}if(propKey===STYLE){var lastStyle=lastProps[propKey];for(styleName in lastStyle){if(lastStyle.hasOwnProperty(styleName)){styleUpdates=styleUpdates||{};styleUpdates[styleName]=""}}}else if(registrationNameModules[propKey]){deleteListener(this._rootNodeID,propKey)}else if(DOMProperty.isStandardName[propKey]||DOMProperty.isCustomAttribute(propKey)){ReactComponent.BackendIDOperations.deletePropertyByID(this._rootNodeID,propKey)}}for(propKey in nextProps){var nextProp=nextProps[propKey];var lastProp=lastProps[propKey];if(!nextProps.hasOwnProperty(propKey)||nextProp===lastProp){continue}if(propKey===STYLE){if(nextProp){nextProp=nextProps.style=merge(nextProp)}if(lastProp){for(styleName in lastProp){if(lastProp.hasOwnProperty(styleName)&&!nextProp.hasOwnProperty(styleName)){styleUpdates=styleUpdates||{};styleUpdates[styleName]=""}}for(styleName in nextProp){if(nextProp.hasOwnProperty(styleName)&&lastProp[styleName]!==nextProp[styleName]){styleUpdates=styleUpdates||{};styleUpdates[styleName]=nextProp[styleName]}}}else{styleUpdates=nextProp}}else if(registrationNameModules[propKey]){putListener(this._rootNodeID,propKey,nextProp,transaction)}else if(DOMProperty.isStandardName[propKey]||DOMProperty.isCustomAttribute(propKey)){ReactComponent.BackendIDOperations.updatePropertyByID(this._rootNodeID,propKey,nextProp)}}if(styleUpdates){ReactComponent.BackendIDOperations.updateStylesByID(this._rootNodeID,styleUpdates)}},_updateDOMChildren:function(lastProps,transaction){var nextProps=this.props;var lastContent=CONTENT_TYPES[typeof lastProps.children]?lastProps.children:null;var nextContent=CONTENT_TYPES[typeof nextProps.children]?nextProps.children:null;var lastHtml=lastProps.dangerouslySetInnerHTML&&lastProps.dangerouslySetInnerHTML.__html;var nextHtml=nextProps.dangerouslySetInnerHTML&&nextProps.dangerouslySetInnerHTML.__html;var lastChildren=lastContent!=null?null:lastProps.children;var nextChildren=nextContent!=null?null:nextProps.children;var lastHasContentOrHtml=lastContent!=null||lastHtml!=null;var nextHasContentOrHtml=nextContent!=null||nextHtml!=null;if(lastChildren!=null&&nextChildren==null){this.updateChildren(null,transaction)}else if(lastHasContentOrHtml&&!nextHasContentOrHtml){this.updateTextContent("")}if(nextContent!=null){if(lastContent!==nextContent){this.updateTextContent(""+nextContent)}}else if(nextHtml!=null){if(lastHtml!==nextHtml){ReactComponent.BackendIDOperations.updateInnerHTMLByID(this._rootNodeID,nextHtml)}}else if(nextChildren!=null){this.updateChildren(nextChildren,transaction)}},unmountComponent:function(){this.unmountChildren();ReactEventEmitter.deleteAllListeners(this._rootNodeID);ReactComponent.Mixin.unmountComponent.call(this)}};mixInto(ReactDOMComponent,ReactComponent.Mixin);mixInto(ReactDOMComponent,ReactDOMComponent.Mixin);mixInto(ReactDOMComponent,ReactMultiChild.Mixin);mixInto(ReactDOMComponent,ReactBrowserComponentMixin);module.exports=ReactDOMComponent},{"./CSSPropertyOperations":3,"./DOMProperty":8,"./DOMPropertyOperations":9,"./React":24,"./ReactBrowserComponentMixin":25,"./ReactComponent":27,"./ReactEventEmitter":48,"./ReactMount":55,"./ReactMultiChild":57,"./ReactPerf":60,"./escapeTextForBrowser":98,"./invariant":112,"./keyOf":119,"./merge":121,"./mixInto":124}],35:[function(require,module,exports){"use strict";var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var ReactEventEmitter=require("./ReactEventEmitter");var EventConstants=require("./EventConstants");var form=ReactDOM.form;var ReactDOMForm=ReactCompositeComponent.createClass({displayName:"ReactDOMForm",mixins:[ReactBrowserComponentMixin],render:function(){return this.transferPropsTo(form(null,this.props.children))},componentDidMount:function(){ReactEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset,"reset",this.getDOMNode());ReactEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit,"submit",this.getDOMNode())}});module.exports=ReactDOMForm},{"./EventConstants":14,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./ReactEventEmitter":48}],36:[function(require,module,exports){"use strict";var CSSPropertyOperations=require("./CSSPropertyOperations");var DOMChildrenOperations=require("./DOMChildrenOperations");var DOMPropertyOperations=require("./DOMPropertyOperations");var ReactMount=require("./ReactMount");var ReactPerf=require("./ReactPerf");var invariant=require("./invariant");var INVALID_PROPERTY_ERRORS={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."};var useWhitespaceWorkaround;var ReactDOMIDOperations={updatePropertyByID:ReactPerf.measure("ReactDOMIDOperations","updatePropertyByID",function(id,name,value){var node=ReactMount.getNode(id);require("./React").__DEV__===true?invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name),"updatePropertyByID(...): %s",INVALID_PROPERTY_ERRORS[name]):invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name));if(value!=null){DOMPropertyOperations.setValueForProperty(node,name,value)}else{DOMPropertyOperations.deleteValueForProperty(node,name)}}),deletePropertyByID:ReactPerf.measure("ReactDOMIDOperations","deletePropertyByID",function(id,name,value){var node=ReactMount.getNode(id);require("./React").__DEV__===true?invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name),"updatePropertyByID(...): %s",INVALID_PROPERTY_ERRORS[name]):invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name));DOMPropertyOperations.deleteValueForProperty(node,name,value)}),updateStylesByID:ReactPerf.measure("ReactDOMIDOperations","updateStylesByID",function(id,styles){var node=ReactMount.getNode(id);CSSPropertyOperations.setValueForStyles(node,styles)}),updateInnerHTMLByID:ReactPerf.measure("ReactDOMIDOperations","updateInnerHTMLByID",function(id,html){var node=ReactMount.getNode(id);if(useWhitespaceWorkaround===undefined){var temp=document.createElement("div");temp.innerHTML=" ";useWhitespaceWorkaround=temp.innerHTML===""}if(useWhitespaceWorkaround){node.parentNode.replaceChild(node,node)}if(useWhitespaceWorkaround&&html.match(/^[ \r\n\t\f]/)){node.innerHTML=""+html;node.firstChild.deleteData(0,1)}else{node.innerHTML=html}}),updateTextContentByID:ReactPerf.measure("ReactDOMIDOperations","updateTextContentByID",function(id,content){var node=ReactMount.getNode(id);DOMChildrenOperations.updateTextContent(node,content)}),dangerouslyReplaceNodeWithMarkupByID:ReactPerf.measure("ReactDOMIDOperations","dangerouslyReplaceNodeWithMarkupByID",function(id,markup){var node=ReactMount.getNode(id);DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup(node,markup)}),dangerouslyProcessChildrenUpdates:ReactPerf.measure("ReactDOMIDOperations","dangerouslyProcessChildrenUpdates",function(updates,markup){for(var i=0;i<updates.length;i++){updates[i].parentNode=ReactMount.getNode(updates[i].parentID)}DOMChildrenOperations.processUpdates(updates,markup)})};module.exports=ReactDOMIDOperations},{"./CSSPropertyOperations":3,"./DOMChildrenOperations":7,"./DOMPropertyOperations":9,"./React":24,"./ReactMount":55,"./ReactPerf":60,"./invariant":112}],37:[function(require,module,exports){"use strict";var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var ReactEventEmitter=require("./ReactEventEmitter");var EventConstants=require("./EventConstants");var img=ReactDOM.img;var ReactDOMImg=ReactCompositeComponent.createClass({displayName:"ReactDOMImg",tagName:"IMG",mixins:[ReactBrowserComponentMixin],render:function(){return img(this.props)},componentDidMount:function(){var node=this.getDOMNode();ReactEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad,"load",node);ReactEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError,"error",node)}});module.exports=ReactDOMImg},{"./EventConstants":14,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./ReactEventEmitter":48}],38:[function(require,module,exports){"use strict";var AutoFocusMixin=require("./AutoFocusMixin");var DOMPropertyOperations=require("./DOMPropertyOperations");var LinkedValueUtils=require("./LinkedValueUtils");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var ReactMount=require("./ReactMount");var invariant=require("./invariant");var merge=require("./merge");var input=ReactDOM.input;var instancesByReactID={};var ReactDOMInput=ReactCompositeComponent.createClass({displayName:"ReactDOMInput",mixins:[AutoFocusMixin,LinkedValueUtils.Mixin,ReactBrowserComponentMixin],getInitialState:function(){var defaultValue=this.props.defaultValue;return{checked:this.props.defaultChecked||false,value:defaultValue!=null?defaultValue:null}},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var props=merge(this.props);props.defaultChecked=null;props.defaultValue=null;var value=LinkedValueUtils.getValue(this);props.value=value!=null?value:this.state.value;var checked=LinkedValueUtils.getChecked(this);props.checked=checked!=null?checked:this.state.checked;props.onChange=this._handleChange;return input(props,this.props.children)},componentDidMount:function(){var id=ReactMount.getID(this.getDOMNode());instancesByReactID[id]=this},componentWillUnmount:function(){var rootNode=this.getDOMNode();var id=ReactMount.getID(rootNode);delete instancesByReactID[id]},componentDidUpdate:function(prevProps,prevState,prevContext){var rootNode=this.getDOMNode();if(this.props.checked!=null){DOMPropertyOperations.setValueForProperty(rootNode,"checked",this.props.checked||false)}var value=LinkedValueUtils.getValue(this);if(value!=null){DOMPropertyOperations.setValueForProperty(rootNode,"value",""+value)}},_handleChange:function(event){var returnValue;var onChange=LinkedValueUtils.getOnChange(this);if(onChange){this._isChanging=true;returnValue=onChange.call(this,event);this._isChanging=false}this.setState({checked:event.target.checked,value:event.target.value});var name=this.props.name;if(this.props.type==="radio"&&name!=null){var rootNode=this.getDOMNode();var queryRoot=rootNode;while(queryRoot.parentNode){queryRoot=queryRoot.parentNode}var group=queryRoot.querySelectorAll("input[name="+JSON.stringify(""+name)+'][type="radio"]');for(var i=0,groupLen=group.length;i<groupLen;i++){var otherNode=group[i];if(otherNode===rootNode||otherNode.form!==rootNode.form){continue}var otherID=ReactMount.getID(otherNode);require("./React").__DEV__===true?invariant(otherID,"ReactDOMInput: Mixing React and non-React radio inputs with the "+"same `name` is not supported."):invariant(otherID);var otherInstance=instancesByReactID[otherID];require("./React").__DEV__===true?invariant(otherInstance,"ReactDOMInput: Unknown radio button ID %s.",otherID):invariant(otherInstance);otherInstance.setState({checked:false})}}return returnValue}});module.exports=ReactDOMInput},{"./AutoFocusMixin":1,"./DOMPropertyOperations":9,"./LinkedValueUtils":21,"./React":24,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./ReactMount":55,"./invariant":112,"./merge":121}],39:[function(require,module,exports){"use strict";var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var warning=require("./warning");var option=ReactDOM.option;var ReactDOMOption=ReactCompositeComponent.createClass({displayName:"ReactDOMOption",mixins:[ReactBrowserComponentMixin],componentWillMount:function(){if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(this.props.selected==null,"Use the `defaultValue` or `value` props on <select> instead of "+"setting `selected` on <option>."):null}},render:function(){return option(this.props,this.props.children)}});module.exports=ReactDOMOption},{"./React":24,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./warning":134}],40:[function(require,module,exports){"use strict";var AutoFocusMixin=require("./AutoFocusMixin");var LinkedValueUtils=require("./LinkedValueUtils");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var invariant=require("./invariant");var merge=require("./merge");var select=ReactDOM.select;function selectValueType(props,propName,componentName){if(props[propName]==null){return}if(props.multiple){require("./React").__DEV__===true?invariant(Array.isArray(props[propName]),"The `%s` prop supplied to <select> must be an array if `multiple` is "+"true.",propName):invariant(Array.isArray(props[propName]))}else{require("./React").__DEV__===true?invariant(!Array.isArray(props[propName]),"The `%s` prop supplied to <select> must be a scalar value if "+"`multiple` is false.",propName):invariant(!Array.isArray(props[propName]))}}function updateOptions(component,propValue){var multiple=component.props.multiple;var value=propValue!=null?propValue:component.state.value;var options=component.getDOMNode().options;var selectedValue,i,l;if(multiple){selectedValue={};for(i=0,l=value.length;i<l;++i){selectedValue[""+value[i]]=true}}else{selectedValue=""+value}for(i=0,l=options.length;i<l;i++){var selected=multiple?selectedValue.hasOwnProperty(options[i].value):options[i].value===selectedValue;if(selected!==options[i].selected){options[i].selected=selected}}}var ReactDOMSelect=ReactCompositeComponent.createClass({displayName:"ReactDOMSelect",mixins:[AutoFocusMixin,LinkedValueUtils.Mixin,ReactBrowserComponentMixin],propTypes:{defaultValue:selectValueType,value:selectValueType},getInitialState:function(){return{value:this.props.defaultValue||(this.props.multiple?[]:"")}},componentWillReceiveProps:function(nextProps){if(!this.props.multiple&&nextProps.multiple){this.setState({value:[this.state.value]})}else if(this.props.multiple&&!nextProps.multiple){this.setState({value:this.state.value[0]})}},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var props=merge(this.props);props.onChange=this._handleChange;props.value=null;return select(props,this.props.children)},componentDidMount:function(){updateOptions(this,LinkedValueUtils.getValue(this))},componentDidUpdate:function(){var value=LinkedValueUtils.getValue(this);if(value!=null){updateOptions(this,value)}},_handleChange:function(event){var returnValue;var onChange=LinkedValueUtils.getOnChange(this);if(onChange){this._isChanging=true;returnValue=onChange.call(this,event);this._isChanging=false}var selectedValue;if(this.props.multiple){selectedValue=[];var options=event.target.options;for(var i=0,l=options.length;i<l;i++){if(options[i].selected){selectedValue.push(options[i].value)}}}else{selectedValue=event.target.value}this.setState({value:selectedValue});return returnValue}});module.exports=ReactDOMSelect},{"./AutoFocusMixin":1,"./LinkedValueUtils":21,"./React":24,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./invariant":112,"./merge":121}],41:[function(require,module,exports){"use strict";var getNodeForCharacterOffset=require("./getNodeForCharacterOffset");var getTextContentAccessor=require("./getTextContentAccessor");function getIEOffsets(node){var selection=document.selection;var selectedRange=selection.createRange();var selectedLength=selectedRange.text.length;var fromStart=selectedRange.duplicate();fromStart.moveToElementText(node);fromStart.setEndPoint("EndToStart",selectedRange);var startOffset=fromStart.text.length;var endOffset=startOffset+selectedLength;return{start:startOffset,end:endOffset}}function getModernOffsets(node){var selection=window.getSelection();if(selection.rangeCount===0){return null}var anchorNode=selection.anchorNode;var anchorOffset=selection.anchorOffset;var focusNode=selection.focusNode;var focusOffset=selection.focusOffset;var currentRange=selection.getRangeAt(0);var rangeLength=currentRange.toString().length;var tempRange=currentRange.cloneRange();tempRange.selectNodeContents(node);tempRange.setEnd(currentRange.startContainer,currentRange.startOffset);var start=tempRange.toString().length;var end=start+rangeLength;var detectionRange=document.createRange();detectionRange.setStart(anchorNode,anchorOffset);detectionRange.setEnd(focusNode,focusOffset);var isBackward=detectionRange.collapsed;detectionRange.detach();return{start:isBackward?end:start,end:isBackward?start:end}}function setIEOffsets(node,offsets){var range=document.selection.createRange().duplicate();var start,end;if(typeof offsets.end==="undefined"){start=offsets.start;end=start}else if(offsets.start>offsets.end){start=offsets.end;end=offsets.start}else{start=offsets.start;end=offsets.end}range.moveToElementText(node);range.moveStart("character",start);range.setEndPoint("EndToStart",range);range.moveEnd("character",end-start);range.select()}function setModernOffsets(node,offsets){var selection=window.getSelection();var length=node[getTextContentAccessor()].length;var start=Math.min(offsets.start,length);var end=typeof offsets.end==="undefined"?start:Math.min(offsets.end,length);if(!selection.extend&&start>end){var temp=end;end=start;start=temp}var startMarker=getNodeForCharacterOffset(node,start);var endMarker=getNodeForCharacterOffset(node,end);if(startMarker&&endMarker){var range=document.createRange();range.setStart(startMarker.node,startMarker.offset);selection.removeAllRanges();if(start>end){selection.addRange(range);selection.extend(endMarker.node,endMarker.offset)}else{range.setEnd(endMarker.node,endMarker.offset);selection.addRange(range)}range.detach()}}var ReactDOMSelection={getOffsets:function(node){var getOffsets=document.selection?getIEOffsets:getModernOffsets;return getOffsets(node)},setOffsets:function(node,offsets){var setOffsets=document.selection?setIEOffsets:setModernOffsets;setOffsets(node,offsets)}};module.exports=ReactDOMSelection},{"./getNodeForCharacterOffset":106,"./getTextContentAccessor":108}],42:[function(require,module,exports){"use strict";var AutoFocusMixin=require("./AutoFocusMixin");var DOMPropertyOperations=require("./DOMPropertyOperations");var LinkedValueUtils=require("./LinkedValueUtils");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var invariant=require("./invariant");var merge=require("./merge");var warning=require("./warning");var textarea=ReactDOM.textarea;var ReactDOMTextarea=ReactCompositeComponent.createClass({displayName:"ReactDOMTextarea",mixins:[AutoFocusMixin,LinkedValueUtils.Mixin,ReactBrowserComponentMixin],getInitialState:function(){var defaultValue=this.props.defaultValue;var children=this.props.children;if(children!=null){if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(false,"Use the `defaultValue` or `value` props instead of setting "+"children on <textarea>."):null}require("./React").__DEV__===true?invariant(defaultValue==null,"If you supply `defaultValue` on a <textarea>, do not pass children."):invariant(defaultValue==null);if(Array.isArray(children)){require("./React").__DEV__===true?invariant(children.length<=1,"<textarea> can only have at most one child."):invariant(children.length<=1);children=children[0]}defaultValue=""+children}if(defaultValue==null){defaultValue=""}var value=LinkedValueUtils.getValue(this);return{initialValue:""+(value!=null?value:defaultValue),value:defaultValue}},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var props=merge(this.props);var value=LinkedValueUtils.getValue(this);require("./React").__DEV__===true?invariant(props.dangerouslySetInnerHTML==null,"`dangerouslySetInnerHTML` does not make sense on <textarea>."):invariant(props.dangerouslySetInnerHTML==null);props.defaultValue=null;props.value=value!=null?value:this.state.value;props.onChange=this._handleChange;return textarea(props,this.state.initialValue)},componentDidUpdate:function(prevProps,prevState,prevContext){var value=LinkedValueUtils.getValue(this);if(value!=null){var rootNode=this.getDOMNode();DOMPropertyOperations.setValueForProperty(rootNode,"value",""+value)}},_handleChange:function(event){var returnValue;var onChange=LinkedValueUtils.getOnChange(this);if(onChange){this._isChanging=true;returnValue=onChange.call(this,event);this._isChanging=false}this.setState({value:event.target.value});return returnValue}});module.exports=ReactDOMTextarea},{"./AutoFocusMixin":1,"./DOMPropertyOperations":9,"./LinkedValueUtils":21,"./React":24,"./ReactBrowserComponentMixin":25,"./ReactCompositeComponent":29,"./ReactDOM":32,"./invariant":112,"./merge":121,"./warning":134}],43:[function(require,module,exports){"use strict";var ReactUpdates=require("./ReactUpdates");var Transaction=require("./Transaction");var emptyFunction=require("./emptyFunction");var mixInto=require("./mixInto");var RESET_BATCHED_UPDATES={initialize:emptyFunction,close:function(){ReactDefaultBatchingStrategy.isBatchingUpdates=false}};var FLUSH_BATCHED_UPDATES={initialize:emptyFunction,close:ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)};var TRANSACTION_WRAPPERS=[FLUSH_BATCHED_UPDATES,RESET_BATCHED_UPDATES];
function ReactDefaultBatchingStrategyTransaction(){this.reinitializeTransaction()}mixInto(ReactDefaultBatchingStrategyTransaction,Transaction.Mixin);mixInto(ReactDefaultBatchingStrategyTransaction,{getTransactionWrappers:function(){return TRANSACTION_WRAPPERS}});var transaction=new ReactDefaultBatchingStrategyTransaction;var ReactDefaultBatchingStrategy={isBatchingUpdates:false,batchedUpdates:function(callback,param){var alreadyBatchingUpdates=ReactDefaultBatchingStrategy.isBatchingUpdates;ReactDefaultBatchingStrategy.isBatchingUpdates=true;if(alreadyBatchingUpdates){callback(param)}else{transaction.perform(callback,null,param)}}};module.exports=ReactDefaultBatchingStrategy},{"./ReactUpdates":71,"./Transaction":85,"./emptyFunction":96,"./mixInto":124}],44:[function(require,module,exports){"use strict";var ReactInjection=require("./ReactInjection");var ExecutionEnvironment=require("./ExecutionEnvironment");var DefaultDOMPropertyConfig=require("./DefaultDOMPropertyConfig");var ChangeEventPlugin=require("./ChangeEventPlugin");var ClientReactRootIndex=require("./ClientReactRootIndex");var CompositionEventPlugin=require("./CompositionEventPlugin");var DefaultEventPluginOrder=require("./DefaultEventPluginOrder");var EnterLeaveEventPlugin=require("./EnterLeaveEventPlugin");var MobileSafariClickEventPlugin=require("./MobileSafariClickEventPlugin");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactComponentBrowserEnvironment=require("./ReactComponentBrowserEnvironment");var ReactEventTopLevelCallback=require("./ReactEventTopLevelCallback");var ReactDOM=require("./ReactDOM");var ReactDOMButton=require("./ReactDOMButton");var ReactDOMForm=require("./ReactDOMForm");var ReactDOMImg=require("./ReactDOMImg");var ReactDOMInput=require("./ReactDOMInput");var ReactDOMOption=require("./ReactDOMOption");var ReactDOMSelect=require("./ReactDOMSelect");var ReactDOMTextarea=require("./ReactDOMTextarea");var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactMount=require("./ReactMount");var SelectEventPlugin=require("./SelectEventPlugin");var ServerReactRootIndex=require("./ServerReactRootIndex");var SimpleEventPlugin=require("./SimpleEventPlugin");var ReactDefaultBatchingStrategy=require("./ReactDefaultBatchingStrategy");var createFullPageComponent=require("./createFullPageComponent");function inject(){ReactInjection.EventEmitter.injectTopLevelCallbackCreator(ReactEventTopLevelCallback);ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles);ReactInjection.EventPluginHub.injectMount(ReactMount);ReactInjection.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:SimpleEventPlugin,EnterLeaveEventPlugin:EnterLeaveEventPlugin,ChangeEventPlugin:ChangeEventPlugin,CompositionEventPlugin:CompositionEventPlugin,MobileSafariClickEventPlugin:MobileSafariClickEventPlugin,SelectEventPlugin:SelectEventPlugin});ReactInjection.DOM.injectComponentClasses({button:ReactDOMButton,form:ReactDOMForm,img:ReactDOMImg,input:ReactDOMInput,option:ReactDOMOption,select:ReactDOMSelect,textarea:ReactDOMTextarea,html:createFullPageComponent(ReactDOM.html),head:createFullPageComponent(ReactDOM.head),title:createFullPageComponent(ReactDOM.title),body:createFullPageComponent(ReactDOM.body)});ReactInjection.CompositeComponent.injectMixin(ReactBrowserComponentMixin);ReactInjection.DOMProperty.injectDOMPropertyConfig(DefaultDOMPropertyConfig);ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);ReactInjection.RootIndex.injectCreateReactRootIndex(ExecutionEnvironment.canUseDOM?ClientReactRootIndex.createReactRootIndex:ServerReactRootIndex.createReactRootIndex);ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);if(require("./React").__DEV__===true){var url=ExecutionEnvironment.canUseDOM&&window.location.href||"";if(/[?&]react_perf\b/.test(url)){var ReactDefaultPerf=require("./ReactDefaultPerf");ReactDefaultPerf.start()}}}module.exports={inject:inject}},{"./ChangeEventPlugin":4,"./ClientReactRootIndex":5,"./CompositionEventPlugin":6,"./DefaultDOMPropertyConfig":11,"./DefaultEventPluginOrder":12,"./EnterLeaveEventPlugin":13,"./ExecutionEnvironment":20,"./MobileSafariClickEventPlugin":22,"./React":24,"./ReactBrowserComponentMixin":25,"./ReactComponentBrowserEnvironment":28,"./ReactDOM":32,"./ReactDOMButton":33,"./ReactDOMForm":35,"./ReactDOMImg":37,"./ReactDOMInput":38,"./ReactDOMOption":39,"./ReactDOMSelect":40,"./ReactDOMTextarea":42,"./ReactDefaultBatchingStrategy":43,"./ReactDefaultPerf":45,"./ReactEventTopLevelCallback":50,"./ReactInjection":51,"./ReactInstanceHandles":53,"./ReactMount":55,"./SelectEventPlugin":72,"./ServerReactRootIndex":73,"./SimpleEventPlugin":74,"./createFullPageComponent":92}],45:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var ReactDefaultPerfAnalysis=require("./ReactDefaultPerfAnalysis");var ReactMount=require("./ReactMount");var ReactPerf=require("./ReactPerf");var performanceNow=require("./performanceNow");function roundFloat(val){return Math.floor(val*100)/100}var ReactDefaultPerf={_allMeasurements:[],_injected:false,start:function(){if(!ReactDefaultPerf._injected){ReactPerf.injection.injectMeasure(ReactDefaultPerf.measure)}ReactDefaultPerf._allMeasurements.length=0;ReactPerf.enableMeasure=true},stop:function(){ReactPerf.enableMeasure=false},getLastMeasurements:function(){return ReactDefaultPerf._allMeasurements},printExclusive:function(measurements){measurements=measurements||ReactDefaultPerf._allMeasurements;var summary=ReactDefaultPerfAnalysis.getExclusiveSummary(measurements);console.table(summary.map(function(item){return{"Component class name":item.componentName,"Total inclusive time (ms)":roundFloat(item.inclusive),"Total exclusive time (ms)":roundFloat(item.exclusive),"Exclusive time per instance (ms)":roundFloat(item.exclusive/item.count),Instances:item.count}}));console.log("Total time:",ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2)+" ms")},printInclusive:function(measurements){measurements=measurements||ReactDefaultPerf._allMeasurements;var summary=ReactDefaultPerfAnalysis.getInclusiveSummary(measurements);console.table(summary.map(function(item){return{"Owner > component":item.componentName,"Inclusive time (ms)":roundFloat(item.time),Instances:item.count}}));console.log("Total time:",ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2)+" ms")},printWasted:function(measurements){measurements=measurements||ReactDefaultPerf._allMeasurements;var summary=ReactDefaultPerfAnalysis.getInclusiveSummary(measurements,true);console.table(summary.map(function(item){return{"Owner > component":item.componentName,"Wasted time (ms)":item.time,Instances:item.count}}));console.log("Total time:",ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2)+" ms")},printDOM:function(measurements){measurements=measurements||ReactDefaultPerf._allMeasurements;var summary=ReactDefaultPerfAnalysis.getDOMSummary(measurements);console.table(summary.map(function(item){var result={};result[DOMProperty.ID_ATTRIBUTE_NAME]=item.id;result["type"]=item.type;result["args"]=JSON.stringify(item.args);return result}));console.log("Total time:",ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2)+" ms")},_recordWrite:function(id,fnName,totalTime,args){var writes=ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length-1].writes;writes[id]=writes[id]||[];writes[id].push({type:fnName,time:totalTime,args:args})},measure:function(moduleName,fnName,func){return function(){var args=Array.prototype.slice.call(arguments,0);var totalTime;var rv;var start;if(fnName==="_renderNewRootComponent"||fnName==="flushBatchedUpdates"){ReactDefaultPerf._allMeasurements.push({exclusive:{},inclusive:{},counts:{},writes:{},displayNames:{},totalTime:0});start=performanceNow();rv=func.apply(this,args);ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length-1].totalTime=performanceNow()-start;return rv}else if(moduleName==="ReactDOMIDOperations"||moduleName==="ReactComponentBrowserEnvironment"){start=performanceNow();rv=func.apply(this,args);totalTime=performanceNow()-start;if(fnName==="mountImageIntoNode"){var mountID=ReactMount.getID(args[1]);ReactDefaultPerf._recordWrite(mountID,fnName,totalTime,args[0])}else if(fnName==="dangerouslyProcessChildrenUpdates"){args[0].forEach(function(update){var writeArgs={};if(update.fromIndex!==null){writeArgs.fromIndex=update.fromIndex}if(update.toIndex!==null){writeArgs.toIndex=update.toIndex}if(update.textContent!==null){writeArgs.textContent=update.textContent}if(update.markupIndex!==null){writeArgs.markup=args[1][update.markupIndex]}ReactDefaultPerf._recordWrite(update.parentID,update.type,totalTime,writeArgs)})}else{ReactDefaultPerf._recordWrite(args[0],fnName,totalTime,Array.prototype.slice.call(args,1))}return rv}else if(moduleName==="ReactCompositeComponent"&&(fnName==="mountComponent"||fnName==="updateComponent"||fnName==="_renderValidatedComponent")){var rootNodeID=fnName==="mountComponent"?args[0]:this._rootNodeID;var isRender=fnName==="_renderValidatedComponent";var entry=ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length-1];if(isRender){entry.counts[rootNodeID]=entry.counts[rootNodeID]||0;entry.counts[rootNodeID]+=1}start=performanceNow();rv=func.apply(this,args);totalTime=performanceNow()-start;var typeOfLog=isRender?entry.exclusive:entry.inclusive;typeOfLog[rootNodeID]=typeOfLog[rootNodeID]||0;typeOfLog[rootNodeID]+=totalTime;entry.displayNames[rootNodeID]={current:this.constructor.displayName,owner:this._owner?this._owner.constructor.displayName:"<root>"};return rv}else{return func.apply(this,args)}}}};module.exports=ReactDefaultPerf},{"./DOMProperty":8,"./ReactDefaultPerfAnalysis":46,"./ReactMount":55,"./ReactPerf":60,"./performanceNow":129}],46:[function(require,module,exports){var merge=require("./merge");var DONT_CARE_THRESHOLD=1.2;var DOM_OPERATION_TYPES={mountImageIntoNode:"set innerHTML",INSERT_MARKUP:"set innerHTML",MOVE_EXISTING:"move",REMOVE_NODE:"remove",TEXT_CONTENT:"set textContent",updatePropertyByID:"update attribute",deletePropertyByID:"delete attribute",updateStylesByID:"update styles",updateInnerHTMLByID:"set innerHTML",dangerouslyReplaceNodeWithMarkupByID:"replace"};function getTotalTime(measurements){var totalTime=0;for(var i=0;i<measurements.length;i++){var measurement=measurements[i];totalTime+=measurement.totalTime}return totalTime}function getDOMSummary(measurements){var items=[];for(var i=0;i<measurements.length;i++){var measurement=measurements[i];var id;for(id in measurement.writes){measurement.writes[id].forEach(function(write){items.push({id:id,type:DOM_OPERATION_TYPES[write.type]||write.type,args:write.args})})}}return items}function getExclusiveSummary(measurements){var candidates={};var displayName;for(var i=0;i<measurements.length;i++){var measurement=measurements[i];var allIDs=merge(measurement.exclusive,measurement.inclusive);for(var id in allIDs){displayName=measurement.displayNames[id].current;candidates[displayName]=candidates[displayName]||{componentName:displayName,inclusive:0,exclusive:0,count:0};if(measurement.exclusive[id]){candidates[displayName].exclusive+=measurement.exclusive[id]}if(measurement.inclusive[id]){candidates[displayName].inclusive+=measurement.inclusive[id]}if(measurement.counts[id]){candidates[displayName].count+=measurement.counts[id]}}}var arr=[];for(displayName in candidates){if(candidates[displayName].exclusive>=DONT_CARE_THRESHOLD){arr.push(candidates[displayName])}}arr.sort(function(a,b){return b.exclusive-a.exclusive});return arr}function getInclusiveSummary(measurements,onlyClean){var candidates={};var inclusiveKey;for(var i=0;i<measurements.length;i++){var measurement=measurements[i];var allIDs=merge(measurement.exclusive,measurement.inclusive);var cleanComponents;if(onlyClean){cleanComponents=getUnchangedComponents(measurement)}for(var id in allIDs){if(onlyClean&&!cleanComponents[id]){continue}var displayName=measurement.displayNames[id];inclusiveKey=displayName.owner+" > "+displayName.current;candidates[inclusiveKey]=candidates[inclusiveKey]||{componentName:inclusiveKey,time:0,count:0};if(measurement.inclusive[id]){candidates[inclusiveKey].time+=measurement.inclusive[id]}if(measurement.counts[id]){candidates[inclusiveKey].count+=measurement.counts[id]}}}var arr=[];for(inclusiveKey in candidates){if(candidates[inclusiveKey].time>=DONT_CARE_THRESHOLD){arr.push(candidates[inclusiveKey])}}arr.sort(function(a,b){return b.time-a.time});return arr}function getUnchangedComponents(measurement){var cleanComponents={};var dirtyLeafIDs=Object.keys(measurement.writes);var allIDs=merge(measurement.exclusive,measurement.inclusive);for(var id in allIDs){var isDirty=false;for(var i=0;i<dirtyLeafIDs.length;i++){if(dirtyLeafIDs[i].indexOf(id)===0){isDirty=true;break}}if(!isDirty&&measurement.counts[id]>0){cleanComponents[id]=true}}return cleanComponents}var ReactDefaultPerfAnalysis={getExclusiveSummary:getExclusiveSummary,getInclusiveSummary:getInclusiveSummary,getDOMSummary:getDOMSummary,getTotalTime:getTotalTime};module.exports=ReactDefaultPerfAnalysis},{"./merge":121}],47:[function(require,module,exports){"use strict";var ReactErrorUtils={guard:function(func,name){return func}};module.exports=ReactErrorUtils},{}],48:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventListener=require("./EventListener");var EventPluginHub=require("./EventPluginHub");var EventPluginRegistry=require("./EventPluginRegistry");var ExecutionEnvironment=require("./ExecutionEnvironment");var ReactEventEmitterMixin=require("./ReactEventEmitterMixin");var ViewportMetrics=require("./ViewportMetrics");var invariant=require("./invariant");var isEventSupported=require("./isEventSupported");var merge=require("./merge");var alreadyListeningTo={};var isMonitoringScrollValue=false;var reactTopListenersCounter=0;var topEventMapping={topBlur:"blur",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",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"};var topListenersIDKey="_reactListenersID"+String(Math.random()).slice(2);function getListeningForDocument(mountAt){if(mountAt[topListenersIDKey]==null){mountAt[topListenersIDKey]=reactTopListenersCounter++;alreadyListeningTo[mountAt[topListenersIDKey]]={}}return alreadyListeningTo[mountAt[topListenersIDKey]]}function trapBubbledEvent(topLevelType,handlerBaseName,element){EventListener.listen(element,handlerBaseName,ReactEventEmitter.TopLevelCallbackCreator.createTopLevelCallback(topLevelType))}function trapCapturedEvent(topLevelType,handlerBaseName,element){EventListener.capture(element,handlerBaseName,ReactEventEmitter.TopLevelCallbackCreator.createTopLevelCallback(topLevelType))}var ReactEventEmitter=merge(ReactEventEmitterMixin,{TopLevelCallbackCreator:null,injection:{injectTopLevelCallbackCreator:function(TopLevelCallbackCreator){ReactEventEmitter.TopLevelCallbackCreator=TopLevelCallbackCreator}},setEnabled:function(enabled){require("./React").__DEV__===true?invariant(ExecutionEnvironment.canUseDOM,"setEnabled(...): Cannot toggle event listening in a Worker thread. "+"This is likely a bug in the framework. Please report immediately."):invariant(ExecutionEnvironment.canUseDOM);if(ReactEventEmitter.TopLevelCallbackCreator){ReactEventEmitter.TopLevelCallbackCreator.setEnabled(enabled)}},isEnabled:function(){return!!(ReactEventEmitter.TopLevelCallbackCreator&&ReactEventEmitter.TopLevelCallbackCreator.isEnabled())},listenTo:function(registrationName,contentDocument){var mountAt=contentDocument;var isListening=getListeningForDocument(mountAt);var dependencies=EventPluginRegistry.registrationNameDependencies[registrationName];var topLevelTypes=EventConstants.topLevelTypes;for(var i=0,l=dependencies.length;i<l;i++){var dependency=dependencies[i];if(!isListening[dependency]){var topLevelType=topLevelTypes[dependency];if(topLevelType===topLevelTypes.topWheel){if(isEventSupported("wheel")){trapBubbledEvent(topLevelTypes.topWheel,"wheel",mountAt)}else if(isEventSupported("mousewheel")){trapBubbledEvent(topLevelTypes.topWheel,"mousewheel",mountAt)}else{trapBubbledEvent(topLevelTypes.topWheel,"DOMMouseScroll",mountAt)}}else if(topLevelType===topLevelTypes.topScroll){if(isEventSupported("scroll",true)){trapCapturedEvent(topLevelTypes.topScroll,"scroll",mountAt)}else{trapBubbledEvent(topLevelTypes.topScroll,"scroll",window)}}else if(topLevelType===topLevelTypes.topFocus||topLevelType===topLevelTypes.topBlur){if(isEventSupported("focus",true)){trapCapturedEvent(topLevelTypes.topFocus,"focus",mountAt);trapCapturedEvent(topLevelTypes.topBlur,"blur",mountAt)}else if(isEventSupported("focusin")){trapBubbledEvent(topLevelTypes.topFocus,"focusin",mountAt);trapBubbledEvent(topLevelTypes.topBlur,"focusout",mountAt)}isListening[topLevelTypes.topBlur]=true;isListening[topLevelTypes.topFocus]=true}else if(topEventMapping[dependency]){trapBubbledEvent(topLevelType,topEventMapping[dependency],mountAt)}isListening[dependency]=true}}},ensureScrollValueMonitoring:function(){if(!isMonitoringScrollValue){var refresh=ViewportMetrics.refreshScrollValues;EventListener.listen(window,"scroll",refresh);EventListener.listen(window,"resize",refresh);isMonitoringScrollValue=true}},eventNameDispatchConfigs:EventPluginHub.eventNameDispatchConfigs,registrationNameModules:EventPluginHub.registrationNameModules,putListener:EventPluginHub.putListener,getListener:EventPluginHub.getListener,deleteListener:EventPluginHub.deleteListener,deleteAllListeners:EventPluginHub.deleteAllListeners,trapBubbledEvent:trapBubbledEvent,trapCapturedEvent:trapCapturedEvent});module.exports=ReactEventEmitter},{"./EventConstants":14,"./EventListener":15,"./EventPluginHub":16,"./EventPluginRegistry":17,"./ExecutionEnvironment":20,"./React":24,"./ReactEventEmitterMixin":49,"./ViewportMetrics":86,"./invariant":112,"./isEventSupported":113,"./merge":121}],49:[function(require,module,exports){"use strict";var EventPluginHub=require("./EventPluginHub");var ReactUpdates=require("./ReactUpdates");function runEventQueueInBatch(events){EventPluginHub.enqueueEvents(events);EventPluginHub.processEventQueue()}var ReactEventEmitterMixin={handleTopLevel:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){var events=EventPluginHub.extractEvents(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent);ReactUpdates.batchedUpdates(runEventQueueInBatch,events)}};module.exports=ReactEventEmitterMixin},{"./EventPluginHub":16,"./ReactUpdates":71}],50:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var ReactEventEmitter=require("./ReactEventEmitter");var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactMount=require("./ReactMount");var getEventTarget=require("./getEventTarget");var mixInto=require("./mixInto");var _topLevelListenersEnabled=true;function findParent(node){var nodeID=ReactMount.getID(node);var rootID=ReactInstanceHandles.getReactRootIDFromNodeID(nodeID);var container=ReactMount.findReactContainerForID(rootID);var parent=ReactMount.getFirstReactDOM(container);return parent}function handleTopLevelImpl(topLevelType,nativeEvent,bookKeeping){var topLevelTarget=ReactMount.getFirstReactDOM(getEventTarget(nativeEvent))||window;var ancestor=topLevelTarget;while(ancestor){bookKeeping.ancestors.push(ancestor);ancestor=findParent(ancestor)}for(var i=0,l=bookKeeping.ancestors.length;i<l;i++){topLevelTarget=bookKeeping.ancestors[i];var topLevelTargetID=ReactMount.getID(topLevelTarget)||"";ReactEventEmitter.handleTopLevel(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent)}}function TopLevelCallbackBookKeeping(){this.ancestors=[]}mixInto(TopLevelCallbackBookKeeping,{destructor:function(){this.ancestors.length=0}});PooledClass.addPoolingTo(TopLevelCallbackBookKeeping);var ReactEventTopLevelCallback={setEnabled:function(enabled){_topLevelListenersEnabled=!!enabled},isEnabled:function(){return _topLevelListenersEnabled},createTopLevelCallback:function(topLevelType){return function(nativeEvent){if(!_topLevelListenersEnabled){return}var bookKeeping=TopLevelCallbackBookKeeping.getPooled();try{handleTopLevelImpl(topLevelType,nativeEvent,bookKeeping)}finally{TopLevelCallbackBookKeeping.release(bookKeeping)}}}};module.exports=ReactEventTopLevelCallback},{"./PooledClass":23,"./ReactEventEmitter":48,"./ReactInstanceHandles":53,"./ReactMount":55,"./getEventTarget":104,"./mixInto":124}],51:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var EventPluginHub=require("./EventPluginHub");var ReactComponent=require("./ReactComponent");var ReactCompositeComponent=require("./ReactCompositeComponent");var ReactDOM=require("./ReactDOM");var ReactEventEmitter=require("./ReactEventEmitter");var ReactPerf=require("./ReactPerf");var ReactRootIndex=require("./ReactRootIndex");var ReactUpdates=require("./ReactUpdates");var ReactInjection={Component:ReactComponent.injection,CompositeComponent:ReactCompositeComponent.injection,DOMProperty:DOMProperty.injection,EventPluginHub:EventPluginHub.injection,DOM:ReactDOM.injection,EventEmitter:ReactEventEmitter.injection,Perf:ReactPerf.injection,RootIndex:ReactRootIndex.injection,Updates:ReactUpdates.injection};module.exports=ReactInjection},{"./DOMProperty":8,"./EventPluginHub":16,"./ReactComponent":27,"./ReactCompositeComponent":29,"./ReactDOM":32,"./ReactEventEmitter":48,"./ReactPerf":60,"./ReactRootIndex":67,"./ReactUpdates":71}],52:[function(require,module,exports){"use strict";var ReactDOMSelection=require("./ReactDOMSelection");var containsNode=require("./containsNode");var focusNode=require("./focusNode");var getActiveElement=require("./getActiveElement");function isInDocument(node){return containsNode(document.documentElement,node)}var ReactInputSelection={hasSelectionCapabilities:function(elem){return elem&&(elem.nodeName==="INPUT"&&elem.type==="text"||elem.nodeName==="TEXTAREA"||elem.contentEditable==="true")},getSelectionInformation:function(){var focusedElem=getActiveElement();return{focusedElem:focusedElem,selectionRange:ReactInputSelection.hasSelectionCapabilities(focusedElem)?ReactInputSelection.getSelection(focusedElem):null}},restoreSelection:function(priorSelectionInformation){var curFocusedElem=getActiveElement();var priorFocusedElem=priorSelectionInformation.focusedElem;var priorSelectionRange=priorSelectionInformation.selectionRange;if(curFocusedElem!==priorFocusedElem&&isInDocument(priorFocusedElem)){if(ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)){ReactInputSelection.setSelection(priorFocusedElem,priorSelectionRange)}focusNode(priorFocusedElem)}},getSelection:function(input){var selection;if("selectionStart"in input){selection={start:input.selectionStart,end:input.selectionEnd}}else if(document.selection&&input.nodeName==="INPUT"){var range=document.selection.createRange();if(range.parentElement()===input){selection={start:-range.moveStart("character",-input.value.length),end:-range.moveEnd("character",-input.value.length)}}}else{selection=ReactDOMSelection.getOffsets(input)}return selection||{start:0,end:0}},setSelection:function(input,offsets){var start=offsets.start;var end=offsets.end;if(typeof end==="undefined"){end=start}if("selectionStart"in input){input.selectionStart=start;input.selectionEnd=Math.min(end,input.value.length)}else if(document.selection&&input.nodeName==="INPUT"){var range=input.createTextRange();range.collapse(true);range.moveStart("character",start);range.moveEnd("character",end-start);range.select()}else{ReactDOMSelection.setOffsets(input,offsets)}}};module.exports=ReactInputSelection},{"./ReactDOMSelection":41,"./containsNode":89,"./focusNode":100,"./getActiveElement":102}],53:[function(require,module,exports){"use strict";var ReactRootIndex=require("./ReactRootIndex");var invariant=require("./invariant");var SEPARATOR=".";var SEPARATOR_LENGTH=SEPARATOR.length;var MAX_TREE_DEPTH=100;function getReactRootIDString(index){return SEPARATOR+index.toString(36)}function isBoundary(id,index){return id.charAt(index)===SEPARATOR||index===id.length}function isValidID(id){return id===""||id.charAt(0)===SEPARATOR&&id.charAt(id.length-1)!==SEPARATOR}function isAncestorIDOf(ancestorID,descendantID){return descendantID.indexOf(ancestorID)===0&&isBoundary(descendantID,ancestorID.length)}function getParentID(id){return id?id.substr(0,id.lastIndexOf(SEPARATOR)):""}function getNextDescendantID(ancestorID,destinationID){require("./React").__DEV__===true?invariant(isValidID(ancestorID)&&isValidID(destinationID),"getNextDescendantID(%s, %s): Received an invalid React DOM ID.",ancestorID,destinationID):invariant(isValidID(ancestorID)&&isValidID(destinationID));require("./React").__DEV__===true?invariant(isAncestorIDOf(ancestorID,destinationID),"getNextDescendantID(...): React has made an invalid assumption about "+"the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.",ancestorID,destinationID):invariant(isAncestorIDOf(ancestorID,destinationID));if(ancestorID===destinationID){return ancestorID}var start=ancestorID.length+SEPARATOR_LENGTH;for(var i=start;i<destinationID.length;i++){if(isBoundary(destinationID,i)){break}}return destinationID.substr(0,i)}function getFirstCommonAncestorID(oneID,twoID){var minLength=Math.min(oneID.length,twoID.length);if(minLength===0){return""}var lastCommonMarkerIndex=0;for(var i=0;i<=minLength;i++){if(isBoundary(oneID,i)&&isBoundary(twoID,i)){lastCommonMarkerIndex=i}else if(oneID.charAt(i)!==twoID.charAt(i)){break}}var longestCommonID=oneID.substr(0,lastCommonMarkerIndex);require("./React").__DEV__===true?invariant(isValidID(longestCommonID),"getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s",oneID,twoID,longestCommonID):invariant(isValidID(longestCommonID));return longestCommonID}function traverseParentPath(start,stop,cb,arg,skipFirst,skipLast){start=start||"";stop=stop||"";require("./React").__DEV__===true?invariant(start!==stop,"traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.",start):invariant(start!==stop);var traverseUp=isAncestorIDOf(stop,start);require("./React").__DEV__===true?invariant(traverseUp||isAncestorIDOf(start,stop),"traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do "+"not have a parent path.",start,stop):invariant(traverseUp||isAncestorIDOf(start,stop));var depth=0;var traverse=traverseUp?getParentID:getNextDescendantID;for(var id=start;;id=traverse(id,stop)){var ret;if((!skipFirst||id!==start)&&(!skipLast||id!==stop)){ret=cb(id,traverseUp,arg)}if(ret===false||id===stop){break}require("./React").__DEV__===true?invariant(depth++<MAX_TREE_DEPTH,"traverseParentPath(%s, %s, ...): Detected an infinite loop while "+"traversing the React DOM ID tree. This may be due to malformed IDs: %s",start,stop):invariant(depth++<MAX_TREE_DEPTH)}}var ReactInstanceHandles={createReactRootID:function(){return getReactRootIDString(ReactRootIndex.createReactRootIndex())},createReactID:function(rootID,name){return rootID+name},getReactRootIDFromNodeID:function(id){if(id&&id.charAt(0)===SEPARATOR&&id.length>1){var index=id.indexOf(SEPARATOR,1);return index>-1?id.substr(0,index):id}return null},traverseEnterLeave:function(leaveID,enterID,cb,upArg,downArg){var ancestorID=getFirstCommonAncestorID(leaveID,enterID);if(ancestorID!==leaveID){traverseParentPath(leaveID,ancestorID,cb,upArg,false,true)}if(ancestorID!==enterID){traverseParentPath(ancestorID,enterID,cb,downArg,true,false)}},traverseTwoPhase:function(targetID,cb,arg){if(targetID){traverseParentPath("",targetID,cb,arg,true,false);traverseParentPath(targetID,"",cb,arg,false,true)}},traverseAncestors:function(targetID,cb,arg){traverseParentPath("",targetID,cb,arg,true,false)},_getFirstCommonAncestorID:getFirstCommonAncestorID,_getNextDescendantID:getNextDescendantID,isAncestorIDOf:isAncestorIDOf,SEPARATOR:SEPARATOR};module.exports=ReactInstanceHandles},{"./React":24,"./ReactRootIndex":67,"./invariant":112}],54:[function(require,module,exports){"use strict";var adler32=require("./adler32");var ReactMarkupChecksum={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(markup){var checksum=adler32(markup);return markup.replace(">"," "+ReactMarkupChecksum.CHECKSUM_ATTR_NAME+'="'+checksum+'">')},canReuseMarkup:function(markup,element){var existingChecksum=element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);existingChecksum=existingChecksum&&parseInt(existingChecksum,10);var markupChecksum=adler32(markup);return markupChecksum===existingChecksum}};module.exports=ReactMarkupChecksum},{"./adler32":88}],55:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var ReactEventEmitter=require("./ReactEventEmitter");var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactPerf=require("./ReactPerf");var containsNode=require("./containsNode");var getReactRootElementInContainer=require("./getReactRootElementInContainer");var instantiateReactComponent=require("./instantiateReactComponent");var invariant=require("./invariant");var shouldUpdateReactComponent=require("./shouldUpdateReactComponent");var SEPARATOR=ReactInstanceHandles.SEPARATOR;var ATTR_NAME=DOMProperty.ID_ATTRIBUTE_NAME;var nodeCache={};var ELEMENT_NODE_TYPE=1;var DOC_NODE_TYPE=9;var instancesByReactRootID={};var containersByReactRootID={};if(require("./React").__DEV__===true){var rootElementsByReactRootID={}}var findComponentRootReusableArray=[];function getReactRootID(container){var rootElement=getReactRootElementInContainer(container);return rootElement&&ReactMount.getID(rootElement)}function getID(node){var id=internalGetID(node);if(id){if(nodeCache.hasOwnProperty(id)){var cached=nodeCache[id];if(cached!==node){require("./React").__DEV__===true?invariant(!isValid(cached,id),"ReactMount: Two valid but unequal nodes with the same `%s`: %s",ATTR_NAME,id):invariant(!isValid(cached,id));nodeCache[id]=node}}else{nodeCache[id]=node}}return id}function internalGetID(node){return node&&node.getAttribute&&node.getAttribute(ATTR_NAME)||""}function setID(node,id){var oldID=internalGetID(node);if(oldID!==id){delete nodeCache[oldID]}node.setAttribute(ATTR_NAME,id);nodeCache[id]=node}function getNode(id){if(!nodeCache.hasOwnProperty(id)||!isValid(nodeCache[id],id)){nodeCache[id]=ReactMount.findReactNodeByID(id)}return nodeCache[id]}function isValid(node,id){if(node){require("./React").__DEV__===true?invariant(internalGetID(node)===id,"ReactMount: Unexpected modification of `%s`",ATTR_NAME):invariant(internalGetID(node)===id);var container=ReactMount.findReactContainerForID(id);if(container&&containsNode(container,node)){return true}}return false}function purgeID(id){delete nodeCache[id]}var deepestNodeSoFar=null;function findDeepestCachedAncestorImpl(ancestorID){var ancestor=nodeCache[ancestorID];if(ancestor&&isValid(ancestor,ancestorID)){deepestNodeSoFar=ancestor}else{return false}}function findDeepestCachedAncestor(targetID){deepestNodeSoFar=null;ReactInstanceHandles.traverseAncestors(targetID,findDeepestCachedAncestorImpl);var foundNode=deepestNodeSoFar;deepestNodeSoFar=null;return foundNode}var ReactMount={totalInstantiationTime:0,totalInjectionTime:0,useTouchEvents:false,_instancesByReactRootID:instancesByReactRootID,scrollMonitor:function(container,renderCallback){renderCallback()
},_updateRootComponent:function(prevComponent,nextComponent,container,callback){var nextProps=nextComponent.props;ReactMount.scrollMonitor(container,function(){prevComponent.replaceProps(nextProps,callback)});if(require("./React").__DEV__===true){rootElementsByReactRootID[getReactRootID(container)]=getReactRootElementInContainer(container)}return prevComponent},_registerComponent:function(nextComponent,container){require("./React").__DEV__===true?invariant(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE),"_registerComponent(...): Target container is not a DOM element."):invariant(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE));ReactEventEmitter.ensureScrollValueMonitoring();var reactRootID=ReactMount.registerContainer(container);instancesByReactRootID[reactRootID]=nextComponent;return reactRootID},_renderNewRootComponent:ReactPerf.measure("ReactMount","_renderNewRootComponent",function(nextComponent,container,shouldReuseMarkup){var componentInstance=instantiateReactComponent(nextComponent);var reactRootID=ReactMount._registerComponent(componentInstance,container);componentInstance.mountComponentIntoNode(reactRootID,container,shouldReuseMarkup);if(require("./React").__DEV__===true){rootElementsByReactRootID[reactRootID]=getReactRootElementInContainer(container)}return componentInstance}),renderComponent:function(nextComponent,container,callback){var prevComponent=instancesByReactRootID[getReactRootID(container)];if(prevComponent){if(shouldUpdateReactComponent(prevComponent,nextComponent)){return ReactMount._updateRootComponent(prevComponent,nextComponent,container,callback)}else{ReactMount.unmountComponentAtNode(container)}}var reactRootElement=getReactRootElementInContainer(container);var containerHasReactMarkup=reactRootElement&&ReactMount.isRenderedByReact(reactRootElement);var shouldReuseMarkup=containerHasReactMarkup&&!prevComponent;var component=ReactMount._renderNewRootComponent(nextComponent,container,shouldReuseMarkup);callback&&callback.call(component);return component},constructAndRenderComponent:function(constructor,props,container){return ReactMount.renderComponent(constructor(props),container)},constructAndRenderComponentByID:function(constructor,props,id){var domNode=document.getElementById(id);require("./React").__DEV__===true?invariant(domNode,'Tried to get element with id of "%s" but it is not present on the page.',id):invariant(domNode);return ReactMount.constructAndRenderComponent(constructor,props,domNode)},registerContainer:function(container){var reactRootID=getReactRootID(container);if(reactRootID){reactRootID=ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID)}if(!reactRootID){reactRootID=ReactInstanceHandles.createReactRootID()}containersByReactRootID[reactRootID]=container;return reactRootID},unmountComponentAtNode:function(container){var reactRootID=getReactRootID(container);var component=instancesByReactRootID[reactRootID];if(!component){return false}ReactMount.unmountComponentFromNode(component,container);delete instancesByReactRootID[reactRootID];delete containersByReactRootID[reactRootID];if(require("./React").__DEV__===true){delete rootElementsByReactRootID[reactRootID]}return true},unmountComponentFromNode:function(instance,container){instance.unmountComponent();if(container.nodeType===DOC_NODE_TYPE){container=container.documentElement}while(container.lastChild){container.removeChild(container.lastChild)}},findReactContainerForID:function(id){var reactRootID=ReactInstanceHandles.getReactRootIDFromNodeID(id);var container=containersByReactRootID[reactRootID];if(require("./React").__DEV__===true){var rootElement=rootElementsByReactRootID[reactRootID];if(rootElement&&rootElement.parentNode!==container){require("./React").__DEV__===true?invariant(internalGetID(rootElement)===reactRootID,"ReactMount: Root element ID differed from reactRootID."):invariant(internalGetID(rootElement)===reactRootID);var containerChild=container.firstChild;if(containerChild&&reactRootID===internalGetID(containerChild)){rootElementsByReactRootID[reactRootID]=containerChild}else{console.warn("ReactMount: Root element has been removed from its original "+"container. New container:",rootElement.parentNode)}}}return container},findReactNodeByID:function(id){var reactRoot=ReactMount.findReactContainerForID(id);return ReactMount.findComponentRoot(reactRoot,id)},isRenderedByReact:function(node){if(node.nodeType!==1){return false}var id=ReactMount.getID(node);return id?id.charAt(0)===SEPARATOR:false},getFirstReactDOM:function(node){var current=node;while(current&&current.parentNode!==current){if(ReactMount.isRenderedByReact(current)){return current}current=current.parentNode}return null},findComponentRoot:function(ancestorNode,targetID){var firstChildren=findComponentRootReusableArray;var childIndex=0;var deepestAncestor=findDeepestCachedAncestor(targetID)||ancestorNode;firstChildren[0]=deepestAncestor.firstChild;firstChildren.length=1;while(childIndex<firstChildren.length){var child=firstChildren[childIndex++];var targetChild;while(child){var childID=ReactMount.getID(child);if(childID){if(targetID===childID){targetChild=child}else if(ReactInstanceHandles.isAncestorIDOf(childID,targetID)){firstChildren.length=childIndex=0;firstChildren.push(child.firstChild)}}else{firstChildren.push(child.firstChild)}child=child.nextSibling}if(targetChild){firstChildren.length=0;return targetChild}}firstChildren.length=0;require("./React").__DEV__===true?invariant(false,"findComponentRoot(..., %s): Unable to find element. This probably "+"means the DOM was unexpectedly mutated (e.g., by the browser), "+"usually due to forgetting a <tbody> when using tables or nesting <p> "+"or <a> tags. Try inspecting the child nodes of the element with React "+"ID `%s`.",targetID,ReactMount.getID(ancestorNode)):invariant(false)},getReactRootID:getReactRootID,getID:getID,setID:setID,getNode:getNode,purgeID:purgeID};module.exports=ReactMount},{"./DOMProperty":8,"./React":24,"./ReactEventEmitter":48,"./ReactInstanceHandles":53,"./ReactPerf":60,"./containsNode":89,"./getReactRootElementInContainer":107,"./instantiateReactComponent":111,"./invariant":112,"./shouldUpdateReactComponent":131}],56:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var mixInto=require("./mixInto");function ReactMountReady(initialCollection){this._queue=initialCollection||null}mixInto(ReactMountReady,{enqueue:function(component,callback){this._queue=this._queue||[];this._queue.push({component:component,callback:callback})},notifyAll:function(){var queue=this._queue;if(queue){this._queue=null;for(var i=0,l=queue.length;i<l;i++){var component=queue[i].component;var callback=queue[i].callback;callback.call(component)}queue.length=0}},reset:function(){this._queue=null},destructor:function(){this.reset()}});PooledClass.addPoolingTo(ReactMountReady);module.exports=ReactMountReady},{"./PooledClass":23,"./mixInto":124}],57:[function(require,module,exports){"use strict";var ReactComponent=require("./ReactComponent");var ReactMultiChildUpdateTypes=require("./ReactMultiChildUpdateTypes");var flattenChildren=require("./flattenChildren");var instantiateReactComponent=require("./instantiateReactComponent");var shouldUpdateReactComponent=require("./shouldUpdateReactComponent");var updateDepth=0;var updateQueue=[];var markupQueue=[];function enqueueMarkup(parentID,markup,toIndex){updateQueue.push({parentID:parentID,parentNode:null,type:ReactMultiChildUpdateTypes.INSERT_MARKUP,markupIndex:markupQueue.push(markup)-1,textContent:null,fromIndex:null,toIndex:toIndex})}function enqueueMove(parentID,fromIndex,toIndex){updateQueue.push({parentID:parentID,parentNode:null,type:ReactMultiChildUpdateTypes.MOVE_EXISTING,markupIndex:null,textContent:null,fromIndex:fromIndex,toIndex:toIndex})}function enqueueRemove(parentID,fromIndex){updateQueue.push({parentID:parentID,parentNode:null,type:ReactMultiChildUpdateTypes.REMOVE_NODE,markupIndex:null,textContent:null,fromIndex:fromIndex,toIndex:null})}function enqueueTextContent(parentID,textContent){updateQueue.push({parentID:parentID,parentNode:null,type:ReactMultiChildUpdateTypes.TEXT_CONTENT,markupIndex:null,textContent:textContent,fromIndex:null,toIndex:null})}function processQueue(){if(updateQueue.length){ReactComponent.BackendIDOperations.dangerouslyProcessChildrenUpdates(updateQueue,markupQueue);clearQueue()}}function clearQueue(){updateQueue.length=0;markupQueue.length=0}var ReactMultiChild={Mixin:{mountChildren:function(nestedChildren,transaction){var children=flattenChildren(nestedChildren);var mountImages=[];var index=0;this._renderedChildren=children;for(var name in children){var child=children[name];if(children.hasOwnProperty(name)){var childInstance=instantiateReactComponent(child);children[name]=childInstance;var rootID=this._rootNodeID+name;var mountImage=childInstance.mountComponent(rootID,transaction,this._mountDepth+1);childInstance._mountIndex=index;mountImages.push(mountImage);index++}}return mountImages},updateTextContent:function(nextContent){updateDepth++;var errorThrown=true;try{var prevChildren=this._renderedChildren;for(var name in prevChildren){if(prevChildren.hasOwnProperty(name)){this._unmountChildByName(prevChildren[name],name)}}this.setTextContent(nextContent);errorThrown=false}finally{updateDepth--;if(!updateDepth){errorThrown?clearQueue():processQueue()}}},updateChildren:function(nextNestedChildren,transaction){updateDepth++;var errorThrown=true;try{this._updateChildren(nextNestedChildren,transaction);errorThrown=false}finally{updateDepth--;if(!updateDepth){errorThrown?clearQueue():processQueue()}}},_updateChildren:function(nextNestedChildren,transaction){var nextChildren=flattenChildren(nextNestedChildren);var prevChildren=this._renderedChildren;if(!nextChildren&&!prevChildren){return}var name;var lastIndex=0;var nextIndex=0;for(name in nextChildren){if(!nextChildren.hasOwnProperty(name)){continue}var prevChild=prevChildren&&prevChildren[name];var nextChild=nextChildren[name];if(shouldUpdateReactComponent(prevChild,nextChild)){this.moveChild(prevChild,nextIndex,lastIndex);lastIndex=Math.max(prevChild._mountIndex,lastIndex);prevChild.receiveComponent(nextChild,transaction);prevChild._mountIndex=nextIndex}else{if(prevChild){lastIndex=Math.max(prevChild._mountIndex,lastIndex);this._unmountChildByName(prevChild,name)}var nextChildInstance=instantiateReactComponent(nextChild);this._mountChildByNameAtIndex(nextChildInstance,name,nextIndex,transaction)}nextIndex++}for(name in prevChildren){if(prevChildren.hasOwnProperty(name)&&!(nextChildren&&nextChildren[name])){this._unmountChildByName(prevChildren[name],name)}}},unmountChildren:function(){var renderedChildren=this._renderedChildren;for(var name in renderedChildren){var renderedChild=renderedChildren[name];if(renderedChild.unmountComponent){renderedChild.unmountComponent()}}this._renderedChildren=null},moveChild:function(child,toIndex,lastIndex){if(child._mountIndex<lastIndex){enqueueMove(this._rootNodeID,child._mountIndex,toIndex)}},createChild:function(child,mountImage){enqueueMarkup(this._rootNodeID,mountImage,child._mountIndex)},removeChild:function(child){enqueueRemove(this._rootNodeID,child._mountIndex)},setTextContent:function(textContent){enqueueTextContent(this._rootNodeID,textContent)},_mountChildByNameAtIndex:function(child,name,index,transaction){var rootID=this._rootNodeID+name;var mountImage=child.mountComponent(rootID,transaction,this._mountDepth+1);child._mountIndex=index;this.createChild(child,mountImage);this._renderedChildren=this._renderedChildren||{};this._renderedChildren[name]=child},_unmountChildByName:function(child,name){if(ReactComponent.isValidComponent(child)){this.removeChild(child);child._mountIndex=null;child.unmountComponent();delete this._renderedChildren[name]}}}};module.exports=ReactMultiChild},{"./ReactComponent":27,"./ReactMultiChildUpdateTypes":58,"./flattenChildren":99,"./instantiateReactComponent":111,"./shouldUpdateReactComponent":131}],58:[function(require,module,exports){"use strict";var keyMirror=require("./keyMirror");var ReactMultiChildUpdateTypes=keyMirror({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,TEXT_CONTENT:null});module.exports=ReactMultiChildUpdateTypes},{"./keyMirror":118}],59:[function(require,module,exports){"use strict";var emptyObject=require("./emptyObject");var invariant=require("./invariant");var ReactOwner={isValidOwner:function(object){return!!(object&&typeof object.attachRef==="function"&&typeof object.detachRef==="function")},addComponentAsRefTo:function(component,ref,owner){require("./React").__DEV__===true?invariant(ReactOwner.isValidOwner(owner),"addComponentAsRefTo(...): Only a ReactOwner can have refs. This "+"usually means that you're trying to add a ref to a component that "+"doesn't have an owner (that is, was not created inside of another "+"component's `render` method). Try rendering this component inside of "+"a new top-level component which will hold the ref."):invariant(ReactOwner.isValidOwner(owner));owner.attachRef(ref,component)},removeComponentAsRefFrom:function(component,ref,owner){require("./React").__DEV__===true?invariant(ReactOwner.isValidOwner(owner),"removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This "+"usually means that you're trying to remove a ref to a component that "+"doesn't have an owner (that is, was not created inside of another "+"component's `render` method). Try rendering this component inside of "+"a new top-level component which will hold the ref."):invariant(ReactOwner.isValidOwner(owner));if(owner.refs[ref]===component){owner.detachRef(ref)}},Mixin:{construct:function(){this.refs=emptyObject},attachRef:function(ref,component){require("./React").__DEV__===true?invariant(component.isOwnedBy(this),"attachRef(%s, ...): Only a component's owner can store a ref to it.",ref):invariant(component.isOwnedBy(this));var refs=this.refs===emptyObject?this.refs={}:this.refs;refs[ref]=component},detachRef:function(ref){delete this.refs[ref]}}};module.exports=ReactOwner},{"./React":24,"./emptyObject":97,"./invariant":112}],60:[function(require,module,exports){"use strict";var ReactPerf={enableMeasure:false,storedMeasure:_noMeasure,measure:function(objName,fnName,func){if(require("./React").__DEV__===true){var measuredFunc=null;return function(){if(ReactPerf.enableMeasure){if(!measuredFunc){measuredFunc=ReactPerf.storedMeasure(objName,fnName,func)}return measuredFunc.apply(this,arguments)}return func.apply(this,arguments)}}return func},injection:{injectMeasure:function(measure){ReactPerf.storedMeasure=measure}}};function _noMeasure(objName,fnName,func){return func}module.exports=ReactPerf},{"./React":24}],61:[function(require,module,exports){"use strict";var emptyFunction=require("./emptyFunction");var invariant=require("./invariant");var joinClasses=require("./joinClasses");var merge=require("./merge");function createTransferStrategy(mergeStrategy){return function(props,key,value){if(!props.hasOwnProperty(key)){props[key]=value}else{props[key]=mergeStrategy(props[key],value)}}}var TransferStrategies={children:emptyFunction,className:createTransferStrategy(joinClasses),key:emptyFunction,ref:emptyFunction,style:createTransferStrategy(merge)};var ReactPropTransferer={TransferStrategies:TransferStrategies,mergeProps:function(oldProps,newProps){var props=merge(oldProps);for(var thisKey in newProps){if(!newProps.hasOwnProperty(thisKey)){continue}var transferStrategy=TransferStrategies[thisKey];if(transferStrategy&&TransferStrategies.hasOwnProperty(thisKey)){transferStrategy(props,thisKey,newProps[thisKey])}else if(!props.hasOwnProperty(thisKey)){props[thisKey]=newProps[thisKey]}}return props},Mixin:{transferPropsTo:function(component){require("./React").__DEV__===true?invariant(component._owner===this,"%s: You can't call transferPropsTo() on a component that you "+"don't own, %s. This usually means you are calling "+"transferPropsTo() on a component passed in as props or children.",this.constructor.displayName,component.constructor.displayName):invariant(component._owner===this);component.props=ReactPropTransferer.mergeProps(component.props,this.props);return component}}};module.exports=ReactPropTransferer},{"./React":24,"./emptyFunction":96,"./invariant":112,"./joinClasses":117,"./merge":121}],62:[function(require,module,exports){"use strict";var ReactPropTypeLocationNames={};if(require("./React").__DEV__===true){ReactPropTypeLocationNames={prop:"prop",context:"context",childContext:"child context"}}module.exports=ReactPropTypeLocationNames},{"./React":24}],63:[function(require,module,exports){"use strict";var keyMirror=require("./keyMirror");var ReactPropTypeLocations=keyMirror({prop:null,context:null,childContext:null});module.exports=ReactPropTypeLocations},{"./keyMirror":118}],64:[function(require,module,exports){"use strict";var ReactComponent=require("./ReactComponent");var ReactPropTypeLocationNames=require("./ReactPropTypeLocationNames");var warning=require("./warning");var createObjectFrom=require("./createObjectFrom");var Props={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),shape:createShapeTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,arrayOf:createArrayOfTypeChecker,instanceOf:createInstanceTypeChecker,renderable:createRenderableTypeChecker(),component:createComponentTypeChecker(),any:createAnyTypeChecker()};var ANONYMOUS="<<anonymous>>";function isRenderable(propValue){switch(typeof propValue){case"number":case"string":return true;case"object":if(Array.isArray(propValue)){return propValue.every(isRenderable)}if(ReactComponent.isValidComponent(propValue)){return true}for(var k in propValue){if(!isRenderable(propValue[k])){return false}}return true;default:return false}}function getPropType(propValue){var propType=typeof propValue;if(propType==="object"&&Array.isArray(propValue)){return"array"}return propType}function createAnyTypeChecker(){function validateAnyType(shouldWarn,propValue,propName,componentName,location){return true}return createChainableTypeChecker(validateAnyType)}function createPrimitiveTypeChecker(expectedType){function validatePrimitiveType(shouldWarn,propValue,propName,componentName,location){var propType=getPropType(propValue);var isValid=propType===expectedType;if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` of type `%s` supplied to `%s`, expected `%s`.",ReactPropTypeLocationNames[location],propName,propType,componentName,expectedType):null}return isValid}return createChainableTypeChecker(validatePrimitiveType)}function createEnumTypeChecker(expectedValues){var expectedEnum=createObjectFrom(expectedValues);function validateEnumType(shouldWarn,propValue,propName,componentName,location){var isValid=expectedEnum[propValue];if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`, expected one of %s.",ReactPropTypeLocationNames[location],propName,componentName,JSON.stringify(Object.keys(expectedEnum))):null}return isValid}return createChainableTypeChecker(validateEnumType)}function createShapeTypeChecker(shapeTypes){function validateShapeType(shouldWarn,propValue,propName,componentName,location){var propType=getPropType(propValue);var isValid=propType==="object";if(isValid){for(var key in shapeTypes){var checker=shapeTypes[key];if(checker&&!checker(propValue,key,componentName,location)){return false}}}if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` of type `%s` supplied to `%s`, expected `object`.",ReactPropTypeLocationNames[location],propName,propType,componentName):null}return isValid}return createChainableTypeChecker(validateShapeType)}function createInstanceTypeChecker(expectedClass){function validateInstanceType(shouldWarn,propValue,propName,componentName,location){var isValid=propValue instanceof expectedClass;if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`, expected instance of `%s`.",ReactPropTypeLocationNames[location],propName,componentName,expectedClass.name||ANONYMOUS):null}return isValid}return createChainableTypeChecker(validateInstanceType)}function createArrayOfTypeChecker(propTypeChecker){function validateArrayType(shouldWarn,propValue,propName,componentName,location){var isValid=Array.isArray(propValue);if(isValid){for(var i=0;i<propValue.length;i++){if(!propTypeChecker(propValue,i,componentName,location)){return false}}}if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`, expected an array.",ReactPropTypeLocationNames[location],propName,componentName):null}return isValid}return createChainableTypeChecker(validateArrayType)}function createRenderableTypeChecker(){function validateRenderableType(shouldWarn,propValue,propName,componentName,location){var isValid=isRenderable(propValue);if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`, expected a renderable prop.",ReactPropTypeLocationNames[location],propName,componentName):null}return isValid}return createChainableTypeChecker(validateRenderableType)}function createComponentTypeChecker(){function validateComponentType(shouldWarn,propValue,propName,componentName,location){var isValid=ReactComponent.isValidComponent(propValue);if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`, expected a React component.",ReactPropTypeLocationNames[location],propName,componentName):null}return isValid}return createChainableTypeChecker(validateComponentType)}function createUnionTypeChecker(arrayOfValidators){return function(props,propName,componentName,location){var isValid=false;for(var ii=0;ii<arrayOfValidators.length;ii++){var validate=arrayOfValidators[ii];if(typeof validate.weak==="function"){validate=validate.weak}if(validate(props,propName,componentName,location)){isValid=true;break}}require("./React").__DEV__===true?warning(isValid,"Invalid %s `%s` supplied to `%s`.",ReactPropTypeLocationNames[location],propName,componentName||ANONYMOUS):null;return isValid}}function createChainableTypeChecker(validate){function checkType(isRequired,shouldWarn,props,propName,componentName,location){var propValue=props[propName];if(propValue!=null){return validate(shouldWarn,propValue,propName,componentName||ANONYMOUS,location)}else{var isValid=!isRequired;if(shouldWarn){require("./React").__DEV__===true?warning(isValid,"Required %s `%s` was not specified in `%s`.",ReactPropTypeLocationNames[location],propName,componentName||ANONYMOUS):null}return isValid}}var checker=checkType.bind(null,false,true);checker.weak=checkType.bind(null,false,false);checker.isRequired=checkType.bind(null,true,true);checker.weak.isRequired=checkType.bind(null,true,false);checker.isRequired.weak=checker.weak.isRequired;return checker}module.exports=Props},{"./React":24,"./ReactComponent":27,"./ReactPropTypeLocationNames":62,"./createObjectFrom":94,"./warning":134}],65:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var ReactEventEmitter=require("./ReactEventEmitter");var mixInto=require("./mixInto");function ReactPutListenerQueue(){this.listenersToPut=[]}mixInto(ReactPutListenerQueue,{enqueuePutListener:function(rootNodeID,propKey,propValue){this.listenersToPut.push({rootNodeID:rootNodeID,propKey:propKey,propValue:propValue})},putListeners:function(){for(var i=0;i<this.listenersToPut.length;i++){var listenerToPut=this.listenersToPut[i];ReactEventEmitter.putListener(listenerToPut.rootNodeID,listenerToPut.propKey,listenerToPut.propValue)}},reset:function(){this.listenersToPut.length=0},destructor:function(){this.reset()}});PooledClass.addPoolingTo(ReactPutListenerQueue);module.exports=ReactPutListenerQueue},{"./PooledClass":23,"./ReactEventEmitter":48,"./mixInto":124}],66:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var ReactEventEmitter=require("./ReactEventEmitter");var ReactInputSelection=require("./ReactInputSelection");var ReactMountReady=require("./ReactMountReady");var ReactPutListenerQueue=require("./ReactPutListenerQueue");var Transaction=require("./Transaction");var mixInto=require("./mixInto");var SELECTION_RESTORATION={initialize:ReactInputSelection.getSelectionInformation,close:ReactInputSelection.restoreSelection};var EVENT_SUPPRESSION={initialize:function(){var currentlyEnabled=ReactEventEmitter.isEnabled();ReactEventEmitter.setEnabled(false);return currentlyEnabled},close:function(previouslyEnabled){ReactEventEmitter.setEnabled(previouslyEnabled)}};var ON_DOM_READY_QUEUEING={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}};var PUT_LISTENER_QUEUEING={initialize:function(){this.putListenerQueue.reset()},close:function(){this.putListenerQueue.putListeners()}};var TRANSACTION_WRAPPERS=[PUT_LISTENER_QUEUEING,SELECTION_RESTORATION,EVENT_SUPPRESSION,ON_DOM_READY_QUEUEING];function ReactReconcileTransaction(){this.reinitializeTransaction();this.renderToStaticMarkup=false;this.reactMountReady=ReactMountReady.getPooled(null);this.putListenerQueue=ReactPutListenerQueue.getPooled()}var Mixin={getTransactionWrappers:function(){return TRANSACTION_WRAPPERS},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){ReactMountReady.release(this.reactMountReady);this.reactMountReady=null;ReactPutListenerQueue.release(this.putListenerQueue);this.putListenerQueue=null}};mixInto(ReactReconcileTransaction,Transaction.Mixin);mixInto(ReactReconcileTransaction,Mixin);PooledClass.addPoolingTo(ReactReconcileTransaction);module.exports=ReactReconcileTransaction},{"./PooledClass":23,"./ReactEventEmitter":48,"./ReactInputSelection":52,"./ReactMountReady":56,"./ReactPutListenerQueue":65,"./Transaction":85,"./mixInto":124}],67:[function(require,module,exports){"use strict";var ReactRootIndexInjection={injectCreateReactRootIndex:function(_createReactRootIndex){ReactRootIndex.createReactRootIndex=_createReactRootIndex}};var ReactRootIndex={createReactRootIndex:null,injection:ReactRootIndexInjection};module.exports=ReactRootIndex},{}],68:[function(require,module,exports){"use strict";var ReactComponent=require("./ReactComponent");var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactMarkupChecksum=require("./ReactMarkupChecksum");var ReactServerRenderingTransaction=require("./ReactServerRenderingTransaction");var instantiateReactComponent=require("./instantiateReactComponent");var invariant=require("./invariant");function renderComponentToString(component){require("./React").__DEV__===true?invariant(ReactComponent.isValidComponent(component),"renderComponentToString(): You must pass a valid ReactComponent."):invariant(ReactComponent.isValidComponent(component));require("./React").__DEV__===true?invariant(!(arguments.length===2&&typeof arguments[1]==="function"),"renderComponentToString(): This function became synchronous and now "+"returns the generated markup. Please remove the second parameter."):invariant(!(arguments.length===2&&typeof arguments[1]==="function"));var transaction;try{var id=ReactInstanceHandles.createReactRootID();transaction=ReactServerRenderingTransaction.getPooled(false);return transaction.perform(function(){var componentInstance=instantiateReactComponent(component);var markup=componentInstance.mountComponent(id,transaction,0);return ReactMarkupChecksum.addChecksumToMarkup(markup)},null)}finally{ReactServerRenderingTransaction.release(transaction)}}function renderComponentToStaticMarkup(component){require("./React").__DEV__===true?invariant(ReactComponent.isValidComponent(component),"renderComponentToStaticMarkup(): You must pass a valid ReactComponent."):invariant(ReactComponent.isValidComponent(component));var transaction;try{var id=ReactInstanceHandles.createReactRootID();transaction=ReactServerRenderingTransaction.getPooled(true);return transaction.perform(function(){var componentInstance=instantiateReactComponent(component);return componentInstance.mountComponent(id,transaction,0)},null)}finally{ReactServerRenderingTransaction.release(transaction)}}module.exports={renderComponentToString:renderComponentToString,renderComponentToStaticMarkup:renderComponentToStaticMarkup}},{"./React":24,"./ReactComponent":27,"./ReactInstanceHandles":53,"./ReactMarkupChecksum":54,"./ReactServerRenderingTransaction":69,"./instantiateReactComponent":111,"./invariant":112}],69:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var ReactMountReady=require("./ReactMountReady");var ReactPutListenerQueue=require("./ReactPutListenerQueue");var Transaction=require("./Transaction");var emptyFunction=require("./emptyFunction");var mixInto=require("./mixInto");var ON_DOM_READY_QUEUEING={initialize:function(){this.reactMountReady.reset()},close:emptyFunction};var PUT_LISTENER_QUEUEING={initialize:function(){this.putListenerQueue.reset()},close:emptyFunction};var TRANSACTION_WRAPPERS=[PUT_LISTENER_QUEUEING,ON_DOM_READY_QUEUEING];function ReactServerRenderingTransaction(renderToStaticMarkup){this.reinitializeTransaction();this.renderToStaticMarkup=renderToStaticMarkup;this.reactMountReady=ReactMountReady.getPooled(null);this.putListenerQueue=ReactPutListenerQueue.getPooled()}var Mixin={getTransactionWrappers:function(){return TRANSACTION_WRAPPERS},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){ReactMountReady.release(this.reactMountReady);this.reactMountReady=null;ReactPutListenerQueue.release(this.putListenerQueue);this.putListenerQueue=null}};mixInto(ReactServerRenderingTransaction,Transaction.Mixin);mixInto(ReactServerRenderingTransaction,Mixin);PooledClass.addPoolingTo(ReactServerRenderingTransaction);module.exports=ReactServerRenderingTransaction},{"./PooledClass":23,"./ReactMountReady":56,"./ReactPutListenerQueue":65,"./Transaction":85,"./emptyFunction":96,"./mixInto":124}],70:[function(require,module,exports){"use strict";var DOMPropertyOperations=require("./DOMPropertyOperations");var ReactBrowserComponentMixin=require("./ReactBrowserComponentMixin");var ReactComponent=require("./ReactComponent");var escapeTextForBrowser=require("./escapeTextForBrowser");var mixInto=require("./mixInto");var ReactTextComponent=function(initialText){this.construct({text:initialText})};ReactTextComponent.ConvenienceConstructor=function(props){return new ReactTextComponent(props.text)};mixInto(ReactTextComponent,ReactComponent.Mixin);mixInto(ReactTextComponent,ReactBrowserComponentMixin);mixInto(ReactTextComponent,{mountComponent:function(rootID,transaction,mountDepth){ReactComponent.Mixin.mountComponent.call(this,rootID,transaction,mountDepth);var escapedText=escapeTextForBrowser(this.props.text);if(transaction.renderToStaticMarkup){return escapedText}return"<span "+DOMPropertyOperations.createMarkupForID(rootID)+">"+escapedText+"</span>"},receiveComponent:function(nextComponent,transaction){var nextProps=nextComponent.props;if(nextProps.text!==this.props.text){this.props.text=nextProps.text;ReactComponent.BackendIDOperations.updateTextContentByID(this._rootNodeID,nextProps.text)}}});ReactTextComponent.type=ReactTextComponent;ReactTextComponent.prototype.type=ReactTextComponent;module.exports=ReactTextComponent},{"./DOMPropertyOperations":9,"./ReactBrowserComponentMixin":25,"./ReactComponent":27,"./escapeTextForBrowser":98,"./mixInto":124}],71:[function(require,module,exports){"use strict";var ReactPerf=require("./ReactPerf");var invariant=require("./invariant");var dirtyComponents=[];var batchingStrategy=null;function ensureBatchingStrategy(){require("./React").__DEV__===true?invariant(batchingStrategy,"ReactUpdates: must inject a batching strategy"):invariant(batchingStrategy)
}function batchedUpdates(callback,param){ensureBatchingStrategy();batchingStrategy.batchedUpdates(callback,param)}function mountDepthComparator(c1,c2){return c1._mountDepth-c2._mountDepth}function runBatchedUpdates(){dirtyComponents.sort(mountDepthComparator);for(var i=0;i<dirtyComponents.length;i++){var component=dirtyComponents[i];if(component.isMounted()){var callbacks=component._pendingCallbacks;component._pendingCallbacks=null;component.performUpdateIfNecessary();if(callbacks){for(var j=0;j<callbacks.length;j++){callbacks[j].call(component)}}}}}function clearDirtyComponents(){dirtyComponents.length=0}var flushBatchedUpdates=ReactPerf.measure("ReactUpdates","flushBatchedUpdates",function(){try{runBatchedUpdates()}finally{clearDirtyComponents()}});function enqueueUpdate(component,callback){require("./React").__DEV__===true?invariant(!callback||typeof callback==="function","enqueueUpdate(...): You called `setProps`, `replaceProps`, "+"`setState`, `replaceState`, or `forceUpdate` with a callback that "+"isn't callable."):invariant(!callback||typeof callback==="function");ensureBatchingStrategy();if(!batchingStrategy.isBatchingUpdates){component.performUpdateIfNecessary();callback&&callback.call(component);return}dirtyComponents.push(component);if(callback){if(component._pendingCallbacks){component._pendingCallbacks.push(callback)}else{component._pendingCallbacks=[callback]}}}var ReactUpdatesInjection={injectBatchingStrategy:function(_batchingStrategy){require("./React").__DEV__===true?invariant(_batchingStrategy,"ReactUpdates: must provide a batching strategy"):invariant(_batchingStrategy);require("./React").__DEV__===true?invariant(typeof _batchingStrategy.batchedUpdates==="function","ReactUpdates: must provide a batchedUpdates() function"):invariant(typeof _batchingStrategy.batchedUpdates==="function");require("./React").__DEV__===true?invariant(typeof _batchingStrategy.isBatchingUpdates==="boolean","ReactUpdates: must provide an isBatchingUpdates boolean attribute"):invariant(typeof _batchingStrategy.isBatchingUpdates==="boolean");batchingStrategy=_batchingStrategy}};var ReactUpdates={batchedUpdates:batchedUpdates,enqueueUpdate:enqueueUpdate,flushBatchedUpdates:flushBatchedUpdates,injection:ReactUpdatesInjection};module.exports=ReactUpdates},{"./React":24,"./ReactPerf":60,"./invariant":112}],72:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPropagators=require("./EventPropagators");var ReactInputSelection=require("./ReactInputSelection");var SyntheticEvent=require("./SyntheticEvent");var getActiveElement=require("./getActiveElement");var isTextInputElement=require("./isTextInputElement");var keyOf=require("./keyOf");var shallowEqual=require("./shallowEqual");var topLevelTypes=EventConstants.topLevelTypes;var eventTypes={select:{phasedRegistrationNames:{bubbled:keyOf({onSelect:null}),captured:keyOf({onSelectCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topContextMenu,topLevelTypes.topFocus,topLevelTypes.topKeyDown,topLevelTypes.topMouseDown,topLevelTypes.topMouseUp,topLevelTypes.topSelectionChange]}};var activeElement=null;var activeElementID=null;var lastSelection=null;var mouseDown=false;function getSelection(node){if("selectionStart"in node&&ReactInputSelection.hasSelectionCapabilities(node)){return{start:node.selectionStart,end:node.selectionEnd}}else if(document.selection){var range=document.selection.createRange();return{parentElement:range.parentElement(),text:range.text,top:range.boundingTop,left:range.boundingLeft}}else{var selection=window.getSelection();return{anchorNode:selection.anchorNode,anchorOffset:selection.anchorOffset,focusNode:selection.focusNode,focusOffset:selection.focusOffset}}}function constructSelectEvent(nativeEvent){if(mouseDown||activeElement==null||activeElement!=getActiveElement()){return}var currentSelection=getSelection(activeElement);if(!lastSelection||!shallowEqual(lastSelection,currentSelection)){lastSelection=currentSelection;var syntheticEvent=SyntheticEvent.getPooled(eventTypes.select,activeElementID,nativeEvent);syntheticEvent.type="select";syntheticEvent.target=activeElement;EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);return syntheticEvent}}var SelectEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){switch(topLevelType){case topLevelTypes.topFocus:if(isTextInputElement(topLevelTarget)||topLevelTarget.contentEditable==="true"){activeElement=topLevelTarget;activeElementID=topLevelTargetID;lastSelection=null}break;case topLevelTypes.topBlur:activeElement=null;activeElementID=null;lastSelection=null;break;case topLevelTypes.topMouseDown:mouseDown=true;break;case topLevelTypes.topContextMenu:case topLevelTypes.topMouseUp:mouseDown=false;return constructSelectEvent(nativeEvent);case topLevelTypes.topSelectionChange:case topLevelTypes.topKeyDown:case topLevelTypes.topKeyUp:return constructSelectEvent(nativeEvent)}}};module.exports=SelectEventPlugin},{"./EventConstants":14,"./EventPropagators":19,"./ReactInputSelection":52,"./SyntheticEvent":78,"./getActiveElement":102,"./isTextInputElement":115,"./keyOf":119,"./shallowEqual":130}],73:[function(require,module,exports){"use strict";var GLOBAL_MOUNT_POINT_MAX=Math.pow(2,53);var ServerReactRootIndex={createReactRootIndex:function(){return Math.ceil(Math.random()*GLOBAL_MOUNT_POINT_MAX)}};module.exports=ServerReactRootIndex},{}],74:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPluginUtils=require("./EventPluginUtils");var EventPropagators=require("./EventPropagators");var SyntheticClipboardEvent=require("./SyntheticClipboardEvent");var SyntheticEvent=require("./SyntheticEvent");var SyntheticFocusEvent=require("./SyntheticFocusEvent");var SyntheticKeyboardEvent=require("./SyntheticKeyboardEvent");var SyntheticMouseEvent=require("./SyntheticMouseEvent");var SyntheticDragEvent=require("./SyntheticDragEvent");var SyntheticTouchEvent=require("./SyntheticTouchEvent");var SyntheticUIEvent=require("./SyntheticUIEvent");var SyntheticWheelEvent=require("./SyntheticWheelEvent");var invariant=require("./invariant");var keyOf=require("./keyOf");var topLevelTypes=EventConstants.topLevelTypes;var eventTypes={blur:{phasedRegistrationNames:{bubbled:keyOf({onBlur:true}),captured:keyOf({onBlurCapture:true})}},click:{phasedRegistrationNames:{bubbled:keyOf({onClick:true}),captured:keyOf({onClickCapture:true})}},contextMenu:{phasedRegistrationNames:{bubbled:keyOf({onContextMenu:true}),captured:keyOf({onContextMenuCapture:true})}},copy:{phasedRegistrationNames:{bubbled:keyOf({onCopy:true}),captured:keyOf({onCopyCapture:true})}},cut:{phasedRegistrationNames:{bubbled:keyOf({onCut:true}),captured:keyOf({onCutCapture:true})}},doubleClick:{phasedRegistrationNames:{bubbled:keyOf({onDoubleClick:true}),captured:keyOf({onDoubleClickCapture:true})}},drag:{phasedRegistrationNames:{bubbled:keyOf({onDrag:true}),captured:keyOf({onDragCapture:true})}},dragEnd:{phasedRegistrationNames:{bubbled:keyOf({onDragEnd:true}),captured:keyOf({onDragEndCapture:true})}},dragEnter:{phasedRegistrationNames:{bubbled:keyOf({onDragEnter:true}),captured:keyOf({onDragEnterCapture:true})}},dragExit:{phasedRegistrationNames:{bubbled:keyOf({onDragExit:true}),captured:keyOf({onDragExitCapture:true})}},dragLeave:{phasedRegistrationNames:{bubbled:keyOf({onDragLeave:true}),captured:keyOf({onDragLeaveCapture:true})}},dragOver:{phasedRegistrationNames:{bubbled:keyOf({onDragOver:true}),captured:keyOf({onDragOverCapture:true})}},dragStart:{phasedRegistrationNames:{bubbled:keyOf({onDragStart:true}),captured:keyOf({onDragStartCapture:true})}},drop:{phasedRegistrationNames:{bubbled:keyOf({onDrop:true}),captured:keyOf({onDropCapture:true})}},focus:{phasedRegistrationNames:{bubbled:keyOf({onFocus:true}),captured:keyOf({onFocusCapture:true})}},input:{phasedRegistrationNames:{bubbled:keyOf({onInput:true}),captured:keyOf({onInputCapture:true})}},keyDown:{phasedRegistrationNames:{bubbled:keyOf({onKeyDown:true}),captured:keyOf({onKeyDownCapture:true})}},keyPress:{phasedRegistrationNames:{bubbled:keyOf({onKeyPress:true}),captured:keyOf({onKeyPressCapture:true})}},keyUp:{phasedRegistrationNames:{bubbled:keyOf({onKeyUp:true}),captured:keyOf({onKeyUpCapture:true})}},load:{phasedRegistrationNames:{bubbled:keyOf({onLoad:true}),captured:keyOf({onLoadCapture:true})}},error:{phasedRegistrationNames:{bubbled:keyOf({onError:true}),captured:keyOf({onErrorCapture:true})}},mouseDown:{phasedRegistrationNames:{bubbled:keyOf({onMouseDown:true}),captured:keyOf({onMouseDownCapture:true})}},mouseMove:{phasedRegistrationNames:{bubbled:keyOf({onMouseMove:true}),captured:keyOf({onMouseMoveCapture:true})}},mouseOut:{phasedRegistrationNames:{bubbled:keyOf({onMouseOut:true}),captured:keyOf({onMouseOutCapture:true})}},mouseOver:{phasedRegistrationNames:{bubbled:keyOf({onMouseOver:true}),captured:keyOf({onMouseOverCapture:true})}},mouseUp:{phasedRegistrationNames:{bubbled:keyOf({onMouseUp:true}),captured:keyOf({onMouseUpCapture:true})}},paste:{phasedRegistrationNames:{bubbled:keyOf({onPaste:true}),captured:keyOf({onPasteCapture:true})}},reset:{phasedRegistrationNames:{bubbled:keyOf({onReset:true}),captured:keyOf({onResetCapture:true})}},scroll:{phasedRegistrationNames:{bubbled:keyOf({onScroll:true}),captured:keyOf({onScrollCapture:true})}},submit:{phasedRegistrationNames:{bubbled:keyOf({onSubmit:true}),captured:keyOf({onSubmitCapture:true})}},touchCancel:{phasedRegistrationNames:{bubbled:keyOf({onTouchCancel:true}),captured:keyOf({onTouchCancelCapture:true})}},touchEnd:{phasedRegistrationNames:{bubbled:keyOf({onTouchEnd:true}),captured:keyOf({onTouchEndCapture:true})}},touchMove:{phasedRegistrationNames:{bubbled:keyOf({onTouchMove:true}),captured:keyOf({onTouchMoveCapture:true})}},touchStart:{phasedRegistrationNames:{bubbled:keyOf({onTouchStart:true}),captured:keyOf({onTouchStartCapture:true})}},wheel:{phasedRegistrationNames:{bubbled:keyOf({onWheel:true}),captured:keyOf({onWheelCapture:true})}}};var topLevelEventsToDispatchConfig={topBlur:eventTypes.blur,topClick:eventTypes.click,topContextMenu:eventTypes.contextMenu,topCopy:eventTypes.copy,topCut:eventTypes.cut,topDoubleClick:eventTypes.doubleClick,topDrag:eventTypes.drag,topDragEnd:eventTypes.dragEnd,topDragEnter:eventTypes.dragEnter,topDragExit:eventTypes.dragExit,topDragLeave:eventTypes.dragLeave,topDragOver:eventTypes.dragOver,topDragStart:eventTypes.dragStart,topDrop:eventTypes.drop,topError:eventTypes.error,topFocus:eventTypes.focus,topInput:eventTypes.input,topKeyDown:eventTypes.keyDown,topKeyPress:eventTypes.keyPress,topKeyUp:eventTypes.keyUp,topLoad:eventTypes.load,topMouseDown:eventTypes.mouseDown,topMouseMove:eventTypes.mouseMove,topMouseOut:eventTypes.mouseOut,topMouseOver:eventTypes.mouseOver,topMouseUp:eventTypes.mouseUp,topPaste:eventTypes.paste,topReset:eventTypes.reset,topScroll:eventTypes.scroll,topSubmit:eventTypes.submit,topTouchCancel:eventTypes.touchCancel,topTouchEnd:eventTypes.touchEnd,topTouchMove:eventTypes.touchMove,topTouchStart:eventTypes.touchStart,topWheel:eventTypes.wheel};for(var topLevelType in topLevelEventsToDispatchConfig){topLevelEventsToDispatchConfig[topLevelType].dependencies=[topLevelType]}var SimpleEventPlugin={eventTypes:eventTypes,executeDispatch:function(event,listener,domID){var returnValue=EventPluginUtils.executeDispatch(event,listener,domID);if(returnValue===false){event.stopPropagation();event.preventDefault()}},extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent){var dispatchConfig=topLevelEventsToDispatchConfig[topLevelType];if(!dispatchConfig){return null}var EventConstructor;switch(topLevelType){case topLevelTypes.topInput:case topLevelTypes.topLoad:case topLevelTypes.topError:case topLevelTypes.topReset:case topLevelTypes.topSubmit:EventConstructor=SyntheticEvent;break;case topLevelTypes.topKeyDown:case topLevelTypes.topKeyPress:case topLevelTypes.topKeyUp:EventConstructor=SyntheticKeyboardEvent;break;case topLevelTypes.topBlur:case topLevelTypes.topFocus:EventConstructor=SyntheticFocusEvent;break;case topLevelTypes.topClick:if(nativeEvent.button===2){return null}case topLevelTypes.topContextMenu:case topLevelTypes.topDoubleClick:case topLevelTypes.topMouseDown:case topLevelTypes.topMouseMove:case topLevelTypes.topMouseOut:case topLevelTypes.topMouseOver:case topLevelTypes.topMouseUp:EventConstructor=SyntheticMouseEvent;break;case topLevelTypes.topDrag:case topLevelTypes.topDragEnd:case topLevelTypes.topDragEnter:case topLevelTypes.topDragExit:case topLevelTypes.topDragLeave:case topLevelTypes.topDragOver:case topLevelTypes.topDragStart:case topLevelTypes.topDrop:EventConstructor=SyntheticDragEvent;break;case topLevelTypes.topTouchCancel:case topLevelTypes.topTouchEnd:case topLevelTypes.topTouchMove:case topLevelTypes.topTouchStart:EventConstructor=SyntheticTouchEvent;break;case topLevelTypes.topScroll:EventConstructor=SyntheticUIEvent;break;case topLevelTypes.topWheel:EventConstructor=SyntheticWheelEvent;break;case topLevelTypes.topCopy:case topLevelTypes.topCut:case topLevelTypes.topPaste:EventConstructor=SyntheticClipboardEvent;break}require("./React").__DEV__===true?invariant(EventConstructor,"SimpleEventPlugin: Unhandled event type, `%s`.",topLevelType):invariant(EventConstructor);var event=EventConstructor.getPooled(dispatchConfig,topLevelTargetID,nativeEvent);EventPropagators.accumulateTwoPhaseDispatches(event);return event}};module.exports=SimpleEventPlugin},{"./EventConstants":14,"./EventPluginUtils":18,"./EventPropagators":19,"./React":24,"./SyntheticClipboardEvent":75,"./SyntheticDragEvent":77,"./SyntheticEvent":78,"./SyntheticFocusEvent":79,"./SyntheticKeyboardEvent":80,"./SyntheticMouseEvent":81,"./SyntheticTouchEvent":82,"./SyntheticUIEvent":83,"./SyntheticWheelEvent":84,"./invariant":112,"./keyOf":119}],75:[function(require,module,exports){"use strict";var SyntheticEvent=require("./SyntheticEvent");var ClipboardEventInterface={clipboardData:function(event){return"clipboardData"in event?event.clipboardData:window.clipboardData}};function SyntheticClipboardEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticEvent.augmentClass(SyntheticClipboardEvent,ClipboardEventInterface);module.exports=SyntheticClipboardEvent},{"./SyntheticEvent":78}],76:[function(require,module,exports){"use strict";var SyntheticEvent=require("./SyntheticEvent");var CompositionEventInterface={data:null};function SyntheticCompositionEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticEvent.augmentClass(SyntheticCompositionEvent,CompositionEventInterface);module.exports=SyntheticCompositionEvent},{"./SyntheticEvent":78}],77:[function(require,module,exports){"use strict";var SyntheticMouseEvent=require("./SyntheticMouseEvent");var DragEventInterface={dataTransfer:null};function SyntheticDragEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticMouseEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticMouseEvent.augmentClass(SyntheticDragEvent,DragEventInterface);module.exports=SyntheticDragEvent},{"./SyntheticMouseEvent":81}],78:[function(require,module,exports){"use strict";var PooledClass=require("./PooledClass");var emptyFunction=require("./emptyFunction");var getEventTarget=require("./getEventTarget");var merge=require("./merge");var mergeInto=require("./mergeInto");var EventInterface={type:null,target:getEventTarget,currentTarget:emptyFunction.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(event){return event.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function SyntheticEvent(dispatchConfig,dispatchMarker,nativeEvent){this.dispatchConfig=dispatchConfig;this.dispatchMarker=dispatchMarker;this.nativeEvent=nativeEvent;var Interface=this.constructor.Interface;for(var propName in Interface){if(!Interface.hasOwnProperty(propName)){continue}var normalize=Interface[propName];if(normalize){this[propName]=normalize(nativeEvent)}else{this[propName]=nativeEvent[propName]}}var defaultPrevented=nativeEvent.defaultPrevented!=null?nativeEvent.defaultPrevented:nativeEvent.returnValue===false;if(defaultPrevented){this.isDefaultPrevented=emptyFunction.thatReturnsTrue}else{this.isDefaultPrevented=emptyFunction.thatReturnsFalse}this.isPropagationStopped=emptyFunction.thatReturnsFalse}mergeInto(SyntheticEvent.prototype,{preventDefault:function(){this.defaultPrevented=true;var event=this.nativeEvent;event.preventDefault?event.preventDefault():event.returnValue=false;this.isDefaultPrevented=emptyFunction.thatReturnsTrue},stopPropagation:function(){var event=this.nativeEvent;event.stopPropagation?event.stopPropagation():event.cancelBubble=true;this.isPropagationStopped=emptyFunction.thatReturnsTrue},persist:function(){this.isPersistent=emptyFunction.thatReturnsTrue},isPersistent:emptyFunction.thatReturnsFalse,destructor:function(){var Interface=this.constructor.Interface;for(var propName in Interface){this[propName]=null}this.dispatchConfig=null;this.dispatchMarker=null;this.nativeEvent=null}});SyntheticEvent.Interface=EventInterface;SyntheticEvent.augmentClass=function(Class,Interface){var Super=this;var prototype=Object.create(Super.prototype);mergeInto(prototype,Class.prototype);Class.prototype=prototype;Class.prototype.constructor=Class;Class.Interface=merge(Super.Interface,Interface);Class.augmentClass=Super.augmentClass;PooledClass.addPoolingTo(Class,PooledClass.threeArgumentPooler)};PooledClass.addPoolingTo(SyntheticEvent,PooledClass.threeArgumentPooler);module.exports=SyntheticEvent},{"./PooledClass":23,"./emptyFunction":96,"./getEventTarget":104,"./merge":121,"./mergeInto":123}],79:[function(require,module,exports){"use strict";var SyntheticUIEvent=require("./SyntheticUIEvent");var FocusEventInterface={relatedTarget:null};function SyntheticFocusEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticUIEvent.augmentClass(SyntheticFocusEvent,FocusEventInterface);module.exports=SyntheticFocusEvent},{"./SyntheticUIEvent":83}],80:[function(require,module,exports){"use strict";var SyntheticUIEvent=require("./SyntheticUIEvent");var getEventKey=require("./getEventKey");var KeyboardEventInterface={key:getEventKey,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,"char":null,charCode:null,keyCode:null,which:null};function SyntheticKeyboardEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent,KeyboardEventInterface);module.exports=SyntheticKeyboardEvent},{"./SyntheticUIEvent":83,"./getEventKey":103}],81:[function(require,module,exports){"use strict";var SyntheticUIEvent=require("./SyntheticUIEvent");var ViewportMetrics=require("./ViewportMetrics");var MouseEventInterface={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,button:function(event){var button=event.button;if("which"in event){return button}return button===2?2:button===4?1:0},buttons:null,relatedTarget:function(event){return event.relatedTarget||(event.fromElement===event.srcElement?event.toElement:event.fromElement)},pageX:function(event){return"pageX"in event?event.pageX:event.clientX+ViewportMetrics.currentScrollLeft},pageY:function(event){return"pageY"in event?event.pageY:event.clientY+ViewportMetrics.currentScrollTop}};function SyntheticMouseEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticUIEvent.augmentClass(SyntheticMouseEvent,MouseEventInterface);module.exports=SyntheticMouseEvent},{"./SyntheticUIEvent":83,"./ViewportMetrics":86}],82:[function(require,module,exports){"use strict";var SyntheticUIEvent=require("./SyntheticUIEvent");var TouchEventInterface={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null};function SyntheticTouchEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticUIEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticUIEvent.augmentClass(SyntheticTouchEvent,TouchEventInterface);module.exports=SyntheticTouchEvent},{"./SyntheticUIEvent":83}],83:[function(require,module,exports){"use strict";var SyntheticEvent=require("./SyntheticEvent");var UIEventInterface={view:null,detail:null};function SyntheticUIEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticEvent.augmentClass(SyntheticUIEvent,UIEventInterface);module.exports=SyntheticUIEvent},{"./SyntheticEvent":78}],84:[function(require,module,exports){"use strict";var SyntheticMouseEvent=require("./SyntheticMouseEvent");var WheelEventInterface={deltaX:function(event){return"deltaX"in event?event.deltaX:"wheelDeltaX"in event?-event.wheelDeltaX:0},deltaY:function(event){return"deltaY"in event?event.deltaY:"wheelDeltaY"in event?-event.wheelDeltaY:"wheelDelta"in event?-event.wheelDelta:0},deltaZ:null,deltaMode:null};function SyntheticWheelEvent(dispatchConfig,dispatchMarker,nativeEvent){SyntheticMouseEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent)}SyntheticMouseEvent.augmentClass(SyntheticWheelEvent,WheelEventInterface);module.exports=SyntheticWheelEvent},{"./SyntheticMouseEvent":81}],85:[function(require,module,exports){"use strict";var invariant=require("./invariant");var Mixin={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers();if(!this.wrapperInitData){this.wrapperInitData=[]}else{this.wrapperInitData.length=0}if(!this.timingMetrics){this.timingMetrics={}}this.timingMetrics.methodInvocationTime=0;if(!this.timingMetrics.wrapperInitTimes){this.timingMetrics.wrapperInitTimes=[]}else{this.timingMetrics.wrapperInitTimes.length=0}if(!this.timingMetrics.wrapperCloseTimes){this.timingMetrics.wrapperCloseTimes=[]}else{this.timingMetrics.wrapperCloseTimes.length=0}this._isInTransaction=false},_isInTransaction:false,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(method,scope,a,b,c,d,e,f){require("./React").__DEV__===true?invariant(!this.isInTransaction(),"Transaction.perform(...): Cannot initialize a transaction when there "+"is already an outstanding transaction."):invariant(!this.isInTransaction());var memberStart=Date.now();var errorThrown;var ret;try{this._isInTransaction=true;errorThrown=true;this.initializeAll(0);ret=method.call(scope,a,b,c,d,e,f);errorThrown=false}finally{var memberEnd=Date.now();this.methodInvocationTime+=memberEnd-memberStart;try{if(errorThrown){try{this.closeAll(0)}catch(err){}}else{this.closeAll(0)}}finally{this._isInTransaction=false}}return ret},initializeAll:function(startIndex){var transactionWrappers=this.transactionWrappers;var wrapperInitTimes=this.timingMetrics.wrapperInitTimes;for(var i=startIndex;i<transactionWrappers.length;i++){var initStart=Date.now();var wrapper=transactionWrappers[i];try{this.wrapperInitData[i]=Transaction.OBSERVED_ERROR;this.wrapperInitData[i]=wrapper.initialize?wrapper.initialize.call(this):null}finally{var curInitTime=wrapperInitTimes[i];var initEnd=Date.now();wrapperInitTimes[i]=(curInitTime||0)+(initEnd-initStart);if(this.wrapperInitData[i]===Transaction.OBSERVED_ERROR){try{this.initializeAll(i+1)}catch(err){}}}}},closeAll:function(startIndex){require("./React").__DEV__===true?invariant(this.isInTransaction(),"Transaction.closeAll(): Cannot close transaction when none are open."):invariant(this.isInTransaction());var transactionWrappers=this.transactionWrappers;var wrapperCloseTimes=this.timingMetrics.wrapperCloseTimes;for(var i=startIndex;i<transactionWrappers.length;i++){var wrapper=transactionWrappers[i];var closeStart=Date.now();var initData=this.wrapperInitData[i];var errorThrown;try{errorThrown=true;if(initData!==Transaction.OBSERVED_ERROR){wrapper.close&&wrapper.close.call(this,initData)}errorThrown=false}finally{var closeEnd=Date.now();var curCloseTime=wrapperCloseTimes[i];wrapperCloseTimes[i]=(curCloseTime||0)+(closeEnd-closeStart);if(errorThrown){try{this.closeAll(i+1)}catch(e){}}}}this.wrapperInitData.length=0}};var Transaction={Mixin:Mixin,OBSERVED_ERROR:{}};module.exports=Transaction},{"./React":24,"./invariant":112}],86:[function(require,module,exports){"use strict";var getUnboundedScrollPosition=require("./getUnboundedScrollPosition");var ViewportMetrics={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(){var scrollPosition=getUnboundedScrollPosition(window);ViewportMetrics.currentScrollLeft=scrollPosition.x;ViewportMetrics.currentScrollTop=scrollPosition.y}};module.exports=ViewportMetrics},{"./getUnboundedScrollPosition":109}],87:[function(require,module,exports){"use strict";var invariant=require("./invariant");function accumulate(current,next){require("./React").__DEV__===true?invariant(next!=null,"accumulate(...): Accumulated items must be not be null or undefined."):invariant(next!=null);if(current==null){return next}else{var currentIsArray=Array.isArray(current);var nextIsArray=Array.isArray(next);if(currentIsArray){return current.concat(next)}else{if(nextIsArray){return[current].concat(next)}else{return[current,next]}}}}module.exports=accumulate},{"./React":24,"./invariant":112}],88:[function(require,module,exports){"use strict";var MOD=65521;function adler32(data){var a=1;var b=0;for(var i=0;i<data.length;i++){a=(a+data.charCodeAt(i))%MOD;b=(b+a)%MOD}return a|b<<16}module.exports=adler32},{}],89:[function(require,module,exports){var isTextNode=require("./isTextNode");function containsNode(outerNode,innerNode){if(!outerNode||!innerNode){return false}else if(outerNode===innerNode){return true}else if(isTextNode(outerNode)){return false}else if(isTextNode(innerNode)){return containsNode(outerNode,innerNode.parentNode)}else if(outerNode.contains){return outerNode.contains(innerNode)}else if(outerNode.compareDocumentPosition){return!!(outerNode.compareDocumentPosition(innerNode)&16)}else{return false}}module.exports=containsNode},{"./isTextNode":116}],90:[function(require,module,exports){function copyProperties(obj,a,b,c,d,e,f){obj=obj||{};if(require("./React").__DEV__===true){if(f){throw new Error("Too many arguments passed to copyProperties")}}var args=[a,b,c,d,e];var ii=0,v;while(args[ii]){v=args[ii++];for(var k in v){obj[k]=v[k]}if(v.hasOwnProperty&&v.hasOwnProperty("toString")&&typeof v.toString!="undefined"&&obj.toString!==v.toString){obj.toString=v.toString}}return obj}module.exports=copyProperties},{"./React":24}],91:[function(require,module,exports){var toArray=require("./toArray");function hasArrayNature(obj){return!!obj&&(typeof obj=="object"||typeof obj=="function")&&"length"in obj&&!("setInterval"in obj)&&typeof obj.nodeType!="number"&&(Array.isArray(obj)||"callee"in obj||"item"in obj)}function createArrayFrom(obj){if(!hasArrayNature(obj)){return[obj]}else if(Array.isArray(obj)){return obj.slice()}else{return toArray(obj)}}module.exports=createArrayFrom},{"./toArray":132}],92:[function(require,module,exports){"use strict";var ReactCompositeComponent=require("./ReactCompositeComponent");var invariant=require("./invariant");function createFullPageComponent(componentClass){var FullPageComponent=ReactCompositeComponent.createClass({displayName:"ReactFullPageComponent"+(componentClass.componentConstructor.displayName||""),componentWillUnmount:function(){require("./React").__DEV__===true?invariant(false,"%s tried to unmount. Because of cross-browser quirks it is "+"impossible to unmount some top-level components (eg <html>, <head>, "+"and <body>) reliably and efficiently. To fix this, have a single "+"top-level component that never unmounts render these elements.",this.constructor.displayName):invariant(false)},render:function(){return this.transferPropsTo(componentClass(null,this.props.children))}});return FullPageComponent}module.exports=createFullPageComponent},{"./React":24,"./ReactCompositeComponent":29,"./invariant":112}],93:[function(require,module,exports){var ExecutionEnvironment=require("./ExecutionEnvironment");var createArrayFrom=require("./createArrayFrom");var getMarkupWrap=require("./getMarkupWrap");var invariant=require("./invariant");var dummyNode=ExecutionEnvironment.canUseDOM?document.createElement("div"):null;var nodeNamePattern=/^\s*<(\w+)/;function getNodeName(markup){var nodeNameMatch=markup.match(nodeNamePattern);return nodeNameMatch&&nodeNameMatch[1].toLowerCase()}function createNodesFromMarkup(markup,handleScript){var node=dummyNode;require("./React").__DEV__===true?invariant(!!dummyNode,"createNodesFromMarkup dummy not initialized"):invariant(!!dummyNode);var nodeName=getNodeName(markup);var wrap=nodeName&&getMarkupWrap(nodeName);if(wrap){node.innerHTML=wrap[1]+markup+wrap[2];var wrapDepth=wrap[0];while(wrapDepth--){node=node.lastChild}}else{node.innerHTML=markup}var scripts=node.getElementsByTagName("script");if(scripts.length){require("./React").__DEV__===true?invariant(handleScript,"createNodesFromMarkup(...): Unexpected <script> element rendered."):invariant(handleScript);createArrayFrom(scripts).forEach(handleScript)}var nodes=createArrayFrom(node.childNodes);while(node.lastChild){node.removeChild(node.lastChild)}return nodes}module.exports=createNodesFromMarkup},{"./ExecutionEnvironment":20,"./React":24,"./createArrayFrom":91,"./getMarkupWrap":105,"./invariant":112}],94:[function(require,module,exports){function createObjectFrom(keys,values){if(require("./React").__DEV__===true){if(!Array.isArray(keys)){throw new TypeError("Must pass an array of keys.")}}var object={};var isArray=Array.isArray(values);if(typeof values=="undefined"){values=true}for(var ii=keys.length;ii--;){object[keys[ii]]=isArray?values[ii]:values}return object}module.exports=createObjectFrom},{"./React":24}],95:[function(require,module,exports){"use strict";var CSSProperty=require("./CSSProperty");function dangerousStyleValue(styleName,value){var isEmpty=value==null||typeof value==="boolean"||value==="";if(isEmpty){return""}var isNonNumeric=isNaN(value);if(isNonNumeric||value===0||CSSProperty.isUnitlessNumber[styleName]){return""+value}return value+"px"}module.exports=dangerousStyleValue},{"./CSSProperty":2}],96:[function(require,module,exports){var copyProperties=require("./copyProperties");function makeEmptyFunction(arg){return function(){return arg}}function emptyFunction(){}copyProperties(emptyFunction,{thatReturns:makeEmptyFunction,thatReturnsFalse:makeEmptyFunction(false),thatReturnsTrue:makeEmptyFunction(true),thatReturnsNull:makeEmptyFunction(null),thatReturnsThis:function(){return this},thatReturnsArgument:function(arg){return arg}});module.exports=emptyFunction},{"./copyProperties":90}],97:[function(require,module,exports){"use strict";var emptyObject={};if(require("./React").__DEV__===true){Object.freeze(emptyObject)}module.exports=emptyObject},{"./React":24}],98:[function(require,module,exports){"use strict";var ESCAPE_LOOKUP={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;","/":"&#x2f;"};var ESCAPE_REGEX=/[&><"'\/]/g;function escaper(match){return ESCAPE_LOOKUP[match]}function escapeTextForBrowser(text){return(""+text).replace(ESCAPE_REGEX,escaper)}module.exports=escapeTextForBrowser},{}],99:[function(require,module,exports){"use strict";var invariant=require("./invariant");var traverseAllChildren=require("./traverseAllChildren");function flattenSingleChildIntoContext(traverseContext,child,name){var result=traverseContext;require("./React").__DEV__===true?invariant(!result.hasOwnProperty(name),"flattenChildren(...): Encountered two children with the same key, `%s`. "+"Children keys must be unique.",name):invariant(!result.hasOwnProperty(name));if(child!=null){result[name]=child}}function flattenChildren(children){if(children==null){return children
}var result={};traverseAllChildren(children,flattenSingleChildIntoContext,result);return result}module.exports=flattenChildren},{"./React":24,"./invariant":112,"./traverseAllChildren":133}],100:[function(require,module,exports){"use strict";function focusNode(node){if(!node.disabled){node.focus()}}module.exports=focusNode},{}],101:[function(require,module,exports){"use strict";var forEachAccumulated=function(arr,cb,scope){if(Array.isArray(arr)){arr.forEach(cb,scope)}else if(arr){cb.call(scope,arr)}};module.exports=forEachAccumulated},{}],102:[function(require,module,exports){function getActiveElement(){try{return document.activeElement||document.body}catch(e){return document.body}}module.exports=getActiveElement},{}],103:[function(require,module,exports){"use strict";var normalizeKey={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"};var translateToKey={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};function getEventKey(nativeEvent){return"key"in nativeEvent?normalizeKey[nativeEvent.key]||nativeEvent.key:translateToKey[nativeEvent.which||nativeEvent.keyCode]||"Unidentified"}module.exports=getEventKey},{}],104:[function(require,module,exports){"use strict";function getEventTarget(nativeEvent){var target=nativeEvent.target||nativeEvent.srcElement||window;return target.nodeType===3?target.parentNode:target}module.exports=getEventTarget},{}],105:[function(require,module,exports){var ExecutionEnvironment=require("./ExecutionEnvironment");var invariant=require("./invariant");var dummyNode=ExecutionEnvironment.canUseDOM?document.createElement("div"):null;var shouldWrap={circle:true,defs:true,g:true,line:true,linearGradient:true,path:true,polygon:true,polyline:true,radialGradient:true,rect:true,stop:true,text:true};var selectWrap=[1,'<select multiple="true">',"</select>"];var tableWrap=[1,"<table>","</table>"];var trWrap=[3,"<table><tbody><tr>","</tr></tbody></table>"];var svgWrap=[1,"<svg>","</svg>"];var markupWrap={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:selectWrap,option:selectWrap,caption:tableWrap,colgroup:tableWrap,tbody:tableWrap,tfoot:tableWrap,thead:tableWrap,td:trWrap,th:trWrap,circle:svgWrap,defs:svgWrap,g:svgWrap,line:svgWrap,linearGradient:svgWrap,path:svgWrap,polygon:svgWrap,polyline:svgWrap,radialGradient:svgWrap,rect:svgWrap,stop:svgWrap,text:svgWrap};function getMarkupWrap(nodeName){require("./React").__DEV__===true?invariant(!!dummyNode,"Markup wrapping node not initialized"):invariant(!!dummyNode);if(!markupWrap.hasOwnProperty(nodeName)){nodeName="*"}if(!shouldWrap.hasOwnProperty(nodeName)){if(nodeName==="*"){dummyNode.innerHTML="<link />"}else{dummyNode.innerHTML="<"+nodeName+"></"+nodeName+">"}shouldWrap[nodeName]=!dummyNode.firstChild}return shouldWrap[nodeName]?markupWrap[nodeName]:null}module.exports=getMarkupWrap},{"./ExecutionEnvironment":20,"./React":24,"./invariant":112}],106:[function(require,module,exports){"use strict";function getLeafNode(node){while(node&&node.firstChild){node=node.firstChild}return node}function getSiblingNode(node){while(node){if(node.nextSibling){return node.nextSibling}node=node.parentNode}}function getNodeForCharacterOffset(root,offset){var node=getLeafNode(root);var nodeStart=0;var nodeEnd=0;while(node){if(node.nodeType==3){nodeEnd=nodeStart+node.textContent.length;if(nodeStart<=offset&&nodeEnd>=offset){return{node:node,offset:offset-nodeStart}}nodeStart=nodeEnd}node=getLeafNode(getSiblingNode(node))}}module.exports=getNodeForCharacterOffset},{}],107:[function(require,module,exports){"use strict";var DOC_NODE_TYPE=9;function getReactRootElementInContainer(container){if(!container){return null}if(container.nodeType===DOC_NODE_TYPE){return container.documentElement}else{return container.firstChild}}module.exports=getReactRootElementInContainer},{}],108:[function(require,module,exports){"use strict";var ExecutionEnvironment=require("./ExecutionEnvironment");var contentKey=null;function getTextContentAccessor(){if(!contentKey&&ExecutionEnvironment.canUseDOM){contentKey="textContent"in document.createElement("div")?"textContent":"innerText"}return contentKey}module.exports=getTextContentAccessor},{"./ExecutionEnvironment":20}],109:[function(require,module,exports){"use strict";function getUnboundedScrollPosition(scrollable){if(scrollable===window){return{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}}return{x:scrollable.scrollLeft,y:scrollable.scrollTop}}module.exports=getUnboundedScrollPosition},{}],110:[function(require,module,exports){var _uppercasePattern=/([A-Z])/g;function hyphenate(string){return string.replace(_uppercasePattern,"-$1").toLowerCase()}module.exports=hyphenate},{}],111:[function(require,module,exports){"use strict";var warning=require("./warning");function isValidComponentDescriptor(descriptor){return typeof descriptor.constructor==="function"&&typeof descriptor.constructor.prototype.construct==="function"&&typeof descriptor.constructor.prototype.mountComponent==="function"&&typeof descriptor.constructor.prototype.receiveComponent==="function"}function instantiateReactComponent(descriptor){if(require("./React").__DEV__===true){require("./React").__DEV__===true?warning(isValidComponentDescriptor(descriptor),"Only React Components are valid for mounting."):null;var instance=descriptor.__realComponentInstance||descriptor;instance._descriptor=descriptor;return instance}descriptor._descriptor=descriptor;return descriptor}module.exports=instantiateReactComponent},{"./React":24,"./warning":134}],112:[function(require,module,exports){"use strict";var invariant=function(condition){if(!condition){var error=new Error("Minified exception occured; use the non-minified dev environment for "+"the full error message and additional helpful warnings.");error.framesToPop=1;throw error}};if(require("./React").__DEV__===true){invariant=function(condition,format,a,b,c,d,e,f){if(format===undefined){throw new Error("invariant requires an error message argument")}if(!condition){var args=[a,b,c,d,e,f];var argIndex=0;var error=new Error("Invariant Violation: "+format.replace(/%s/g,function(){return args[argIndex++]}));error.framesToPop=1;throw error}}}module.exports=invariant},{"./React":24}],113:[function(require,module,exports){"use strict";var ExecutionEnvironment=require("./ExecutionEnvironment");var useHasFeature;if(ExecutionEnvironment.canUseDOM){useHasFeature=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==true}function isEventSupported(eventNameSuffix,capture){if(!ExecutionEnvironment.canUseDOM||capture&&!("addEventListener"in document)){return false}var eventName="on"+eventNameSuffix;var isSupported=eventName in document;if(!isSupported){var element=document.createElement("div");element.setAttribute(eventName,"return;");isSupported=typeof element[eventName]==="function"}if(!isSupported&&useHasFeature&&eventNameSuffix==="wheel"){isSupported=document.implementation.hasFeature("Events.wheel","3.0")}return isSupported}module.exports=isEventSupported},{"./ExecutionEnvironment":20}],114:[function(require,module,exports){function isNode(object){return!!(object&&(typeof Node==="function"?object instanceof Node:typeof object==="object"&&typeof object.nodeType==="number"&&typeof object.nodeName==="string"))}module.exports=isNode},{}],115:[function(require,module,exports){"use strict";var supportedInputTypes={color:true,date:true,datetime:true,"datetime-local":true,email:true,month:true,number:true,password:true,range:true,search:true,tel:true,text:true,time:true,url:true,week:true};function isTextInputElement(elem){return elem&&(elem.nodeName==="INPUT"&&supportedInputTypes[elem.type]||elem.nodeName==="TEXTAREA")}module.exports=isTextInputElement},{}],116:[function(require,module,exports){var isNode=require("./isNode");function isTextNode(object){return isNode(object)&&object.nodeType==3}module.exports=isTextNode},{"./isNode":114}],117:[function(require,module,exports){"use strict";function joinClasses(className){if(!className){className=""}var nextClass;var argLength=arguments.length;if(argLength>1){for(var ii=1;ii<argLength;ii++){nextClass=arguments[ii];nextClass&&(className+=" "+nextClass)}}return className}module.exports=joinClasses},{}],118:[function(require,module,exports){"use strict";var invariant=require("./invariant");var keyMirror=function(obj){var ret={};var key;require("./React").__DEV__===true?invariant(obj instanceof Object&&!Array.isArray(obj),"keyMirror(...): Argument must be an object."):invariant(obj instanceof Object&&!Array.isArray(obj));for(key in obj){if(!obj.hasOwnProperty(key)){continue}ret[key]=key}return ret};module.exports=keyMirror},{"./React":24,"./invariant":112}],119:[function(require,module,exports){var keyOf=function(oneKeyObj){var key;for(key in oneKeyObj){if(!oneKeyObj.hasOwnProperty(key)){continue}return key}return null};module.exports=keyOf},{}],120:[function(require,module,exports){"use strict";function memoizeStringOnly(callback){var cache={};return function(string){if(cache.hasOwnProperty(string)){return cache[string]}else{return cache[string]=callback.call(this,string)}}}module.exports=memoizeStringOnly},{}],121:[function(require,module,exports){"use strict";var mergeInto=require("./mergeInto");var merge=function(one,two){var result={};mergeInto(result,one);mergeInto(result,two);return result};module.exports=merge},{"./mergeInto":123}],122:[function(require,module,exports){"use strict";var invariant=require("./invariant");var keyMirror=require("./keyMirror");var MAX_MERGE_DEPTH=36;var isTerminal=function(o){return typeof o!=="object"||o===null};var mergeHelpers={MAX_MERGE_DEPTH:MAX_MERGE_DEPTH,isTerminal:isTerminal,normalizeMergeArg:function(arg){return arg===undefined||arg===null?{}:arg},checkMergeArrayArgs:function(one,two){require("./React").__DEV__===true?invariant(Array.isArray(one)&&Array.isArray(two),"Tried to merge arrays, instead got %s and %s.",one,two):invariant(Array.isArray(one)&&Array.isArray(two))},checkMergeObjectArgs:function(one,two){mergeHelpers.checkMergeObjectArg(one);mergeHelpers.checkMergeObjectArg(two)},checkMergeObjectArg:function(arg){require("./React").__DEV__===true?invariant(!isTerminal(arg)&&!Array.isArray(arg),"Tried to merge an object, instead got %s.",arg):invariant(!isTerminal(arg)&&!Array.isArray(arg))},checkMergeLevel:function(level){require("./React").__DEV__===true?invariant(level<MAX_MERGE_DEPTH,"Maximum deep merge depth exceeded. You may be attempting to merge "+"circular structures in an unsupported way."):invariant(level<MAX_MERGE_DEPTH)},checkArrayStrategy:function(strategy){require("./React").__DEV__===true?invariant(strategy===undefined||strategy in mergeHelpers.ArrayStrategies,"You must provide an array strategy to deep merge functions to "+"instruct the deep merge how to resolve merging two arrays."):invariant(strategy===undefined||strategy in mergeHelpers.ArrayStrategies)},ArrayStrategies:keyMirror({Clobber:true,IndexByIndex:true})};module.exports=mergeHelpers},{"./React":24,"./invariant":112,"./keyMirror":118}],123:[function(require,module,exports){"use strict";var mergeHelpers=require("./mergeHelpers");var checkMergeObjectArg=mergeHelpers.checkMergeObjectArg;function mergeInto(one,two){checkMergeObjectArg(one);if(two!=null){checkMergeObjectArg(two);for(var key in two){if(!two.hasOwnProperty(key)){continue}one[key]=two[key]}}}module.exports=mergeInto},{"./mergeHelpers":122}],124:[function(require,module,exports){"use strict";var mixInto=function(constructor,methodBag){var methodName;for(methodName in methodBag){if(!methodBag.hasOwnProperty(methodName)){continue}constructor.prototype[methodName]=methodBag[methodName]}};module.exports=mixInto},{}],125:[function(require,module,exports){"use strict";var invariant=require("./invariant");function monitorCodeUse(eventName,data){require("./React").__DEV__===true?invariant(eventName&&!/[^a-z0-9_]/.test(eventName),"You must provide an eventName using only the characters [a-z0-9_]"):invariant(eventName&&!/[^a-z0-9_]/.test(eventName))}module.exports=monitorCodeUse},{"./React":24,"./invariant":112}],126:[function(require,module,exports){"use strict";function objMap(obj,func,context){if(!obj){return null}var i=0;var ret={};for(var key in obj){if(obj.hasOwnProperty(key)){ret[key]=func.call(context,obj[key],key,i++)}}return ret}module.exports=objMap},{}],127:[function(require,module,exports){"use strict";function objMapKeyVal(obj,func,context){if(!obj){return null}var i=0;var ret={};for(var key in obj){if(obj.hasOwnProperty(key)){ret[key]=func.call(context,key,obj[key],i++)}}return ret}module.exports=objMapKeyVal},{}],128:[function(require,module,exports){"use strict";var ReactComponent=require("./ReactComponent");var invariant=require("./invariant");function onlyChild(children){require("./React").__DEV__===true?invariant(ReactComponent.isValidComponent(children),"onlyChild must be passed a children with exactly one child."):invariant(ReactComponent.isValidComponent(children));return children}module.exports=onlyChild},{"./React":24,"./ReactComponent":27,"./invariant":112}],129:[function(require,module,exports){"use strict";var ExecutionEnvironment=require("./ExecutionEnvironment");var performance=null;if(ExecutionEnvironment.canUseDOM){performance=window.performance||window.webkitPerformance}if(!performance||!performance.now){performance=Date}var performanceNow=performance.now.bind(performance);module.exports=performanceNow},{"./ExecutionEnvironment":20}],130:[function(require,module,exports){"use strict";function shallowEqual(objA,objB){if(objA===objB){return true}var key;for(key in objA){if(objA.hasOwnProperty(key)&&(!objB.hasOwnProperty(key)||objA[key]!==objB[key])){return false}}for(key in objB){if(objB.hasOwnProperty(key)&&!objA.hasOwnProperty(key)){return false}}return true}module.exports=shallowEqual},{}],131:[function(require,module,exports){"use strict";function shouldUpdateReactComponent(prevComponentInstance,nextDescriptor){if(prevComponentInstance&&nextDescriptor&&prevComponentInstance.constructor===nextDescriptor.constructor&&(prevComponentInstance.props&&prevComponentInstance.props.key)===(nextDescriptor.props&&nextDescriptor.props.key)){if(prevComponentInstance._owner===nextDescriptor._owner){return true}else{if(require("./React").__DEV__===true){if(prevComponentInstance.state){console.warn("A recent change to React has been found to impact your code. "+"A mounted component will now be unmounted and replaced by a "+"component (of the same class) if their owners are different. "+"Previously, ownership was not considered when updating.",prevComponentInstance,nextDescriptor)}}}}return false}module.exports=shouldUpdateReactComponent},{"./React":24}],132:[function(require,module,exports){var invariant=require("./invariant");function toArray(obj){var length=obj.length;require("./React").__DEV__===true?invariant(!Array.isArray(obj)&&(typeof obj==="object"||typeof obj==="function"),"toArray: Array-like object expected"):invariant(!Array.isArray(obj)&&(typeof obj==="object"||typeof obj==="function"));require("./React").__DEV__===true?invariant(typeof length==="number","toArray: Object needs a length property"):invariant(typeof length==="number");require("./React").__DEV__===true?invariant(length===0||length-1 in obj,"toArray: Object should have keys for indices"):invariant(length===0||length-1 in obj);if(obj.hasOwnProperty){try{return Array.prototype.slice.call(obj)}catch(e){}}var ret=Array(length);for(var ii=0;ii<length;ii++){ret[ii]=obj[ii]}return ret}module.exports=toArray},{"./React":24,"./invariant":112}],133:[function(require,module,exports){"use strict";var ReactInstanceHandles=require("./ReactInstanceHandles");var ReactTextComponent=require("./ReactTextComponent");var invariant=require("./invariant");var SEPARATOR=ReactInstanceHandles.SEPARATOR;var SUBSEPARATOR=":";var userProvidedKeyEscaperLookup={"=":"=0",".":"=1",":":"=2"};var userProvidedKeyEscapeRegex=/[=.:]/g;function userProvidedKeyEscaper(match){return userProvidedKeyEscaperLookup[match]}function getComponentKey(component,index){if(component&&component.props&&component.props.key!=null){return wrapUserProvidedKey(component.props.key)}return index.toString(36)}function escapeUserProvidedKey(text){return(""+text).replace(userProvidedKeyEscapeRegex,userProvidedKeyEscaper)}function wrapUserProvidedKey(key){return"$"+escapeUserProvidedKey(key)}var traverseAllChildrenImpl=function(children,nameSoFar,indexSoFar,callback,traverseContext){var subtreeCount=0;if(Array.isArray(children)){for(var i=0;i<children.length;i++){var child=children[i];var nextName=nameSoFar+(nameSoFar?SUBSEPARATOR:SEPARATOR)+getComponentKey(child,i);var nextIndex=indexSoFar+subtreeCount;subtreeCount+=traverseAllChildrenImpl(child,nextName,nextIndex,callback,traverseContext)}}else{var type=typeof children;var isOnlyChild=nameSoFar==="";var storageName=isOnlyChild?SEPARATOR+getComponentKey(children,0):nameSoFar;if(children==null||type==="boolean"){callback(traverseContext,null,storageName,indexSoFar);subtreeCount=1}else if(children.type&&children.type.prototype&&children.type.prototype.mountComponentIntoNode){callback(traverseContext,children,storageName,indexSoFar);subtreeCount=1}else{if(type==="object"){require("./React").__DEV__===true?invariant(!children||children.nodeType!==1,"traverseAllChildren(...): Encountered an invalid child; DOM "+"elements are not valid children of React components."):invariant(!children||children.nodeType!==1);for(var key in children){if(children.hasOwnProperty(key)){subtreeCount+=traverseAllChildrenImpl(children[key],nameSoFar+(nameSoFar?SUBSEPARATOR:SEPARATOR)+wrapUserProvidedKey(key)+SUBSEPARATOR+getComponentKey(children[key],0),indexSoFar+subtreeCount,callback,traverseContext)}}}else if(type==="string"){var normalizedText=new ReactTextComponent(children);callback(traverseContext,normalizedText,storageName,indexSoFar);subtreeCount+=1}else if(type==="number"){var normalizedNumber=new ReactTextComponent(""+children);callback(traverseContext,normalizedNumber,storageName,indexSoFar);subtreeCount+=1}}}return subtreeCount};function traverseAllChildren(children,callback,traverseContext){if(children!==null&&children!==undefined){traverseAllChildrenImpl(children,"",0,callback,traverseContext)}}module.exports=traverseAllChildren},{"./React":24,"./ReactInstanceHandles":53,"./ReactTextComponent":70,"./invariant":112}],134:[function(require,module,exports){"use strict";var emptyFunction=require("./emptyFunction");var warning=emptyFunction;if(require("./React").__DEV__===true){warning=function(condition,format){var args=Array.prototype.slice.call(arguments,2);if(format===undefined){throw new Error("`warning(condition, format, ...args)` requires a warning "+"message argument")}if(!condition){var argIndex=0;console.warn("Warning: "+format.replace(/%s/g,function(){return args[argIndex++]}))}}}module.exports=warning},{"./React":24,"./emptyFunction":96}],"react-component":[function(require,module,exports){module.exports=require("7FwkFd")},{}],"7FwkFd":[function(require,module,exports){module.exports=require("./lib/React")},{"./lib/React":24}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({HLdyM6:[function(require,module,exports){function crete(ruleset){var start=ruleset.sel+" {\n";var end="}\n";Object.keys(ruleset).forEach(function(key){if(["sel"].indexOf(key)!==-1)return;start+=key+": "+ruleset[key]+";"+"\n"});return start+end}module.exports=crete},{}],crete:[function(require,module,exports){module.exports=require("HLdyM6")},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({G56gnv:[function(require,module,exports){var inserted={};module.exports=function(css){if(inserted[css])return;inserted[css]=true;var elem=document.createElement("style");elem.setAttribute("type","text/css");if("textContent"in elem){elem.textContent=css}else{elem.styleSheet.cssText=css}var head=document.getElementsByTagName("head")[0];head.appendChild(elem)}},{}],"insert-css":[function(require,module,exports){module.exports=require("G56gnv")},{}]},{},[]);var React=require("react-component");var h=React.DOM;var _=null;var crete=require("crete");var insertCss=require("insert-css");var rulesets=[{sel:"*","font-family":"Helvetica, Arial, sans-serif"},{sel:"body > div",padding:"10px"},{sel:"ul, li","list-style-type":"none","margin-left":"0","margin-bottom":"8px",padding:"0"},{sel:"a.tag","margin-left":"5px","border-radius":"5px",border:"1px solid green",color:"green","text-decoration":"none","font-size":"80%",padding:"2px 5px"},{sel:"form","background-color":"#ffb",padding:"5px","max-width":"300px"},{sel:"input[name=description]",width:"95%","font-size":"120%"},{sel:"input[name=tags]",width:"70%"},{sel:"input[type=submit]","font-size":"120%"},{sel:"label","font-style":"italic","font-size":"80%","margin-right":"5px"},{sel:".clear-tag","margin-left":"5px"},{sel:"a.remove-item",color:"red","text-decoration":"none","margin-left":"5px",display:"none"},{sel:"li.todo-item:hover a.remove-item",display:"inline"}];insertCss(rulesets.map(crete).join("\n"));var TagSelector=React.createClass({render:function(){if(this.props.tag==null){return h.p(_,h.em(_,"Showing all tags"))}else{return h.p(_,h.em(_,"Showing ",this.props.tag),h.a({href:"#",onClick:this.clearTag,className:"clear-tag"},"Clear"))}},clearTag:function(event){event.preventDefault();this.props.tagHandler(null)}});var Todo=React.createClass({render:function(){var createTag=function(tag){return h.a({className:"tag","data-tag":tag,href:"#",onClick:this.setTag,key:tag},tag)}.bind(this);return h.li({className:"todo-item"},this.props.description,this.props.tags.map(createTag),h.a({href:"#",onClick:this.removeItem,"data-id":this.props.key,className:"remove-item",title:"remove item"},"✖"))},setTag:function(e){this.props.tagHandler(e.target.getAttribute("data-tag"))},removeItem:function(e){this.props.removeHandler(e.target.getAttribute("data-id"))}});var TodoList=React.createClass({getInitialState:function(){this.nextItemId=1;var initialState={items:[{description:"pay phone bill",tags:["personal","phone"]},{description:"call client",tags:["work","phone"]},{description:"code quux prototype",tags:["work","computer"]},{description:"meet Kelly for chess",tags:["personal","outside"]}],selectedTag:null,description:"",tags:""};for(var i=0;i<initialState.items.length;i++){initialState.items[i].id=this.nextItemId;this.nextItemId+=1}return initialState},render:function(){var tagHandler=this.tagHandler;var removeHandler=this.removeHandler;var createItem=function(item){return Todo({"data-id":item.id,key:item.id,description:item.description,tags:item.tags,tagHandler:tagHandler,removeHandler:removeHandler})};var filteredItems=this.state.items;var selectedTag=this.state.selectedTag;if(selectedTag!=null){filteredItems=filteredItems.filter(function(item){return item.tags.indexOf(selectedTag)!=-1})}return h.div(_,h.h1("Todo List"),TagSelector({tag:this.state.selectedTag,tagHandler:tagHandler}),h.ul({className:"todo-list"},filteredItems.map(createItem)),h.form({onSubmit:this.handleSubmit},h.div(_,h.input({type:"text",name:"description",placeholder:"Enter a task...",value:this.state.description,onChange:this.handleChange("description")})),h.div(_,h.label({htmlFor:"tags"},"Tags:"),h.input({id:"tags",name:"tags",type:"text",placeholder:"personal, phone",value:this.state.tags,onChange:this.handleChange("tags")})),h.div(_,h.input({type:"submit",value:"Add Todo"}))))},handleChange:function(name){var component=this;return function(event){var newState={};newState[name]=event.target.value;component.setState(newState)}},handleSubmit:function(event){event.preventDefault();if(this.state.description.trim()=="")return;var tags=this.state.tags.trim().split(/,\s*/).filter(function(tag){return tag!==""});var newItem={description:this.state.description.trim(),tags:tags,id:this.nextItemId};this.nextItemId+=1;this.setState({items:this.state.items.concat([newItem])})},tagHandler:function(tag){this.setState({selectedTag:tag})},removeHandler:function(id){newItems=this.state.items.filter(function(item){return item.id.toString()!==id.toString()});console.log(newItems,id);this.setState({items:newItems})}});React.renderComponent(TodoList(),document.body);
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"react-component": "0.0.0",
"crete": "0.0.3",
"insert-css": "0.1.1"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment