{“version”:3,“sources”:[“webpack:///webpack/bootstrap 28d242be1d84e44a48cd”,“webpack:///./js/src/HappoApp.jsx”,“webpack:///./~/react/react.js”,“webpack:///./~/react/lib/React.js”,“webpack:///./~/process/browser.js”,“webpack:///./~/object-assign/index.js”,“webpack:///./~/react/lib/ReactChildren.js”,“webpack:///./~/react/lib/PooledClass.js”,“webpack:///./~/react/lib/reactProdInvariant.js”,“webpack:///./~/fbjs/lib/invariant.js”,“webpack:///./~/react/lib/ReactElement.js”,“webpack:///./~/react/lib/ReactCurrentOwner.js”,“webpack:///./~/fbjs/lib/warning.js”,“webpack:///./~/fbjs/lib/emptyFunction.js”,“webpack:///./~/react/lib/canDefineProperty.js”,“webpack:///./~/react/lib/traverseAllChildren.js”,“webpack:///./~/react/lib/getIteratorFn.js”,“webpack:///./~/react/lib/KeyEscapeUtils.js”,“webpack:///./~/react/lib/ReactComponent.js”,“webpack:///./~/react/lib/ReactNoopUpdateQueue.js”,“webpack:///./~/fbjs/lib/emptyObject.js”,“webpack:///./~/react/lib/ReactPureComponent.js”,“webpack:///./~/react/lib/ReactClass.js”,“webpack:///./~/react/lib/ReactPropTypeLocations.js”,“webpack:///./~/fbjs/lib/keyMirror.js”,“webpack:///./~/react/lib/ReactPropTypeLocationNames.js”,“webpack:///./~/fbjs/lib/keyOf.js”,“webpack:///./~/react/lib/ReactDOMFactories.js”,“webpack:///./~/react/lib/ReactElementValidator.js”,“webpack:///./~/react/lib/ReactComponentTreeHook.js”,“webpack:///./~/react/lib/checkReactTypeSpec.js”,“webpack:///./~/react/lib/ReactPropTypesSecret.js”,“webpack:///./~/react/lib/ReactPropTypes.js”,“webpack:///./~/react/lib/ReactVersion.js”,“webpack:///./~/react/lib/onlyChild.js”,“webpack:///./~/react-dom/index.js”,“webpack:///./~/react/lib/ReactDOM.js”,“webpack:///./~/react/lib/ReactDOMComponentTree.js”,“webpack:///./~/react/lib/DOMProperty.js”,“webpack:///./~/react/lib/ReactDOMComponentFlags.js”,“webpack:///./~/react/lib/ReactDefaultInjection.js”,“webpack:///./~/react/lib/BeforeInputEventPlugin.js”,“webpack:///./~/react/lib/EventConstants.js”,“webpack:///./~/react/lib/EventPropagators.js”,“webpack:///./~/react/lib/EventPluginHub.js”,“webpack:///./~/react/lib/EventPluginRegistry.js”,“webpack:///./~/react/lib/EventPluginUtils.js”,“webpack:///./~/react/lib/ReactErrorUtils.js”,“webpack:///./~/react/lib/accumulateInto.js”,“webpack:///./~/react/lib/forEachAccumulated.js”,“webpack:///./~/fbjs/lib/ExecutionEnvironment.js”,“webpack:///./~/react/lib/FallbackCompositionState.js”,“webpack:///./~/react/lib/getTextContentAccessor.js”,“webpack:///./~/react/lib/SyntheticCompositionEvent.js”,“webpack:///./~/react/lib/SyntheticEvent.js”,“webpack:///./~/react/lib/SyntheticInputEvent.js”,“webpack:///./~/react/lib/ChangeEventPlugin.js”,“webpack:///./~/react/lib/ReactUpdates.js”,“webpack:///./~/react/lib/CallbackQueue.js”,“webpack:///./~/react/lib/ReactFeatureFlags.js”,“webpack:///./~/react/lib/ReactReconciler.js”,“webpack:///./~/react/lib/ReactRef.js”,“webpack:///./~/react/lib/ReactOwner.js”,“webpack:///./~/react/lib/ReactInstrumentation.js”,“webpack:///./~/react/lib/ReactDebugTool.js”,“webpack:///./~/react/lib/ReactInvalidSetStateWarningHook.js”,“webpack:///./~/react/lib/ReactHostOperationHistoryHook.js”,“webpack:///./~/react/lib/ReactChildrenMutationWarningHook.js”,“webpack:///./~/fbjs/lib/performanceNow.js”,“webpack:///./~/fbjs/lib/performance.js”,“webpack:///./~/react/lib/Transaction.js”,“webpack:///./~/react/lib/getEventTarget.js”,“webpack:///./~/react/lib/isEventSupported.js”,“webpack:///./~/react/lib/isTextInputElement.js”,“webpack:///./~/react/lib/DefaultEventPluginOrder.js”,“webpack:///./~/react/lib/EnterLeaveEventPlugin.js”,“webpack:///./~/react/lib/SyntheticMouseEvent.js”,“webpack:///./~/react/lib/SyntheticUIEvent.js”,“webpack:///./~/react/lib/ViewportMetrics.js”,“webpack:///./~/react/lib/getEventModifierState.js”,“webpack:///./~/react/lib/HTMLDOMPropertyConfig.js”,“webpack:///./~/react/lib/ReactComponentBrowserEnvironment.js”,“webpack:///./~/react/lib/DOMChildrenOperations.js”,“webpack:///./~/react/lib/DOMLazyTree.js”,“webpack:///./~/react/lib/DOMNamespaces.js”,“webpack:///./~/react/lib/setInnerHTML.js”,“webpack:///./~/react/lib/createMicrosoftUnsafeLocalFunction.js”,“webpack:///./~/react/lib/setTextContent.js”,“webpack:///./~/react/lib/escapeTextContentForBrowser.js”,“webpack:///./~/react/lib/Danger.js”,“webpack:///./~/fbjs/lib/createNodesFromMarkup.js”,“webpack:///./~/fbjs/lib/createArrayFromMixed.js”,“webpack:///./~/fbjs/lib/getMarkupWrap.js”,“webpack:///./~/react/lib/ReactMultiChildUpdateTypes.js”,“webpack:///./~/react/lib/ReactDOMIDOperations.js”,“webpack:///./~/react/lib/ReactDOMComponent.js”,“webpack:///./~/react/lib/AutoFocusUtils.js”,“webpack:///./~/fbjs/lib/focusNode.js”,“webpack:///./~/react/lib/CSSPropertyOperations.js”,“webpack:///./~/react/lib/CSSProperty.js”,“webpack:///./~/fbjs/lib/camelizeStyleName.js”,“webpack:///./~/fbjs/lib/camelize.js”,“webpack:///./~/react/lib/dangerousStyleValue.js”,“webpack:///./~/fbjs/lib/hyphenateStyleName.js”,“webpack:///./~/fbjs/lib/hyphenate.js”,“webpack:///./~/fbjs/lib/memoizeStringOnly.js”,“webpack:///./~/react/lib/DOMPropertyOperations.js”,“webpack:///./~/react/lib/quoteAttributeValueForBrowser.js”,“webpack:///./~/react/lib/ReactBrowserEventEmitter.js”,“webpack:///./~/react/lib/ReactEventEmitterMixin.js”,“webpack:///./~/react/lib/getVendorPrefixedEventName.js”,“webpack:///./~/react/lib/ReactDOMButton.js”,“webpack:///./~/react/lib/DisabledInputUtils.js”,“webpack:///./~/react/lib/ReactDOMInput.js”,“webpack:///./~/react/lib/LinkedValueUtils.js”,“webpack:///./~/react/lib/ReactDOMOption.js”,“webpack:///./~/react/lib/ReactDOMSelect.js”,“webpack:///./~/react/lib/ReactDOMTextarea.js”,“webpack:///./~/react/lib/ReactMultiChild.js”,“webpack:///./~/react/lib/ReactComponentEnvironment.js”,“webpack:///./~/react/lib/ReactInstanceMap.js”,“webpack:///./~/react/lib/ReactChildReconciler.js”,“webpack:///./~/react/lib/instantiateReactComponent.js”,“webpack:///./~/react/lib/ReactCompositeComponent.js”,“webpack:///./~/react/lib/ReactNodeTypes.js”,“webpack:///./~/fbjs/lib/shallowEqual.js”,“webpack:///./~/react/lib/shouldUpdateReactComponent.js”,“webpack:///./~/react/lib/ReactEmptyComponent.js”,“webpack:///./~/react/lib/ReactHostComponent.js”,“webpack:///./~/react/lib/flattenChildren.js”,“webpack:///./~/react/lib/ReactServerRenderingTransaction.js”,“webpack:///./~/react/lib/ReactServerUpdateQueue.js”,“webpack:///./~/react/lib/ReactUpdateQueue.js”,“webpack:///./~/react/lib/validateDOMNesting.js”,“webpack:///./~/react/lib/ReactDOMEmptyComponent.js”,“webpack:///./~/react/lib/ReactDOMTreeTraversal.js”,“webpack:///./~/react/lib/ReactDOMTextComponent.js”,“webpack:///./~/react/lib/ReactDefaultBatchingStrategy.js”,“webpack:///./~/react/lib/ReactEventListener.js”,“webpack:///./~/fbjs/lib/EventListener.js”,“webpack:///./~/fbjs/lib/getUnboundedScrollPosition.js”,“webpack:///./~/react/lib/ReactInjection.js”,“webpack:///./~/react/lib/ReactReconcileTransaction.js”,“webpack:///./~/react/lib/ReactInputSelection.js”,“webpack:///./~/react/lib/ReactDOMSelection.js”,“webpack:///./~/react/lib/getNodeForCharacterOffset.js”,“webpack:///./~/fbjs/lib/containsNode.js”,“webpack:///./~/fbjs/lib/isTextNode.js”,“webpack:///./~/fbjs/lib/isNode.js”,“webpack:///./~/fbjs/lib/getActiveElement.js”,“webpack:///./~/react/lib/SVGDOMPropertyConfig.js”,“webpack:///./~/react/lib/SelectEventPlugin.js”,“webpack:///./~/react/lib/SimpleEventPlugin.js”,“webpack:///./~/react/lib/SyntheticAnimationEvent.js”,“webpack:///./~/react/lib/SyntheticClipboardEvent.js”,“webpack:///./~/react/lib/SyntheticFocusEvent.js”,“webpack:///./~/react/lib/SyntheticKeyboardEvent.js”,“webpack:///./~/react/lib/getEventCharCode.js”,“webpack:///./~/react/lib/getEventKey.js”,“webpack:///./~/react/lib/SyntheticDragEvent.js”,“webpack:///./~/react/lib/SyntheticTouchEvent.js”,“webpack:///./~/react/lib/SyntheticTransitionEvent.js”,“webpack:///./~/react/lib/SyntheticWheelEvent.js”,“webpack:///./~/react/lib/ReactMount.js”,“webpack:///./~/react/lib/ReactDOMContainerInfo.js”,“webpack:///./~/react/lib/ReactDOMFeatureFlags.js”,“webpack:///./~/react/lib/ReactMarkupChecksum.js”,“webpack:///./~/react/lib/adler32.js”,“webpack:///./~/react/lib/findDOMNode.js”,“webpack:///./~/react/lib/getHostComponentFromComposite.js”,“webpack:///./~/react/lib/renderSubtreeIntoContainer.js”,“webpack:///./~/react/lib/ReactDOMUnknownPropertyHook.js”,“webpack:///./~/react/lib/ReactDOMNullInputValuePropHook.js”,“webpack:///./js/src/HappoDiffs.jsx”,“webpack:///./js/src/DiffImages.jsx”,“webpack:///./js/src/Diff.jsx”,“webpack:///./js/src/ImageHeading.jsx”,“webpack:///./js/src/InlineLink.jsx”,“webpack:///./js/src/imageShape.js”,“webpack:///./js/src/imageSlug.js”,“webpack:///./js/src/SelectedView.jsx”,“webpack:///./js/src/LCSDiff.jsx”,“webpack:///./js/src/getDiffPixel.js”,“webpack:///./js/src/euclideanDistance.js”,“webpack:///./js/src/getImageData.js”,“webpack:///./js/src/SideBySide.jsx”,“webpack:///./js/src/Swiper.jsx”,“webpack:///./js/src/maxImageSize.js”,“webpack:///./js/src/VIEWS.js”,“webpack:///./js/src/NewImages.jsx”,“webpack:///./js/src/NewImage.jsx”],“names”:,“mappings”:“;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA;;;;AACA;;;;AAEA;;;;;;AAEAA,UAASC,gBAAT,CAA0B,kBAA1B,EAA8C,YAAM;AAClD,sBAASC,MAAT,CACE,oDACMC,OAAOC,SADb,CADF,EAIEJ,SAASK,cAAT,CAAwB,YAAxB,CAJF;AAMD,EAPD,E;;;;;;ACLA;;AAEA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,wB;;;;;;;ACxFA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACnLtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,UAAU;AACrB,YAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,GAAG;AACd,YAAW,iBAAiB;AAC5B,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,GAAG;AACd,YAAW,UAAU;AACrB,YAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,GAAG;AACd,YAAW,iBAAiB;AAC5B,YAAW,EAAE;AACb,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,GAAG;AACd,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qDAAoD;;AAEpD,uBAAsB,mBAAmB;AACzC;AACA;;AAEA;;AAEA;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA,qC;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA,4B;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,cAAc;AACzB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,oBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,oBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,+B;;;;;;;AC3WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;;AAEA,oC;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,yFAAwF,aAAa;AACrG;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf;;AAEA;AACA,+FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA,0B;;;;;;;ACjEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6BAA4B,QAAQ,oBAAoB,EAAE;AAC1D;AACA,IAAG;AACH;AACA;AACA;;AAEA,oC;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,GAAG;AACd,YAAW,QAAQ;AACnB,YAAW,UAAU;AACrB,YAAW,GAAG;AACd;AACA,aAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAuB;AACvB;;AAEA;AACA,oBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2LAA2L,yCAAyC,+GAA+G,yCAAyC;AAC5X;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,GAAG;AACd,YAAW,UAAU;AACrB,YAAW,GAAG;AACd,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sC;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,yCAAwC;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA,iC;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B;AACA,YAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAa,WAAW;AACxB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB;AACA;AACA,0DAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,8B;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAwB,eAAe;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;;AAEA;AACA,eAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,KAAK;AAClC;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,0BAA0B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,WAAW;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,0BAA0B;AACvC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,sBAAqB,mBAAmB;AACxC;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,+CAA8C;AAC9C,IAAG;AACH;AACA;AACA;AACA;AACA,0CAAyC;AACzC,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,uCAAsC;AACtC,IAAG;AACH;AACA;AACA,IAAG;AACH,2BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,6HAA4H;AAC5H;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qOAAoO;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA,qNAAoN;AACpN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,aAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,aAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF,aAAa;AACrG;AACA;;AAEA,uDAAsD;AACtD;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6B;;;;;;;AC3tBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED,yC;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6C;;;;;;;ACvBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA,0FAAyF;;AAEzF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,UAAU;AACrB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;;AAEA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wC;;;;;;;ACnOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;;;AAGH;;AAEA;AACA;;AAEA,yC;;;;;;;ACrVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kJAAiJ;AACjJ;AACA,QAAO;AACP;AACA;AACA,uIAAsI;AACtI;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,uC;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,4BAA2B;AAC3B,OAAM;AACN;AACA;AACA;AACA;AACA,8BAA6B,KAAK;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,2BAA0B;AAC1B,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;AC9aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,2B;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;ACrCA;;AAEA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,+HAA8H;;AAE9H;AACA;AACA;;AAEA,oBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2B;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE;AAClE;AACA;AACA;AACA,WAAU,oBAAoB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ,4CAA4C;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ,gBAAgB;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C,+BAA8B;AAC9B;AACA,iBAAgB;;AAEhB;AACA;AACA;AACA,aAAY;AACZ;AACA,sEAAqE;;AAErE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAmB,oDAAoD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA,8B;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yC;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,G;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oCAAmC;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,uBAAsB,sBAAsB;AAC5C,wBAAuB,6BAA6B;AACpD,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA,uBAAsB,yBAAyB;AAC/C,wBAAuB,gCAAgC;AACvD,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA,uBAAsB,2BAA2B;AACjD,wBAAuB,kCAAkC;AACzD,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA,uBAAsB,4BAA4B;AAClD,wBAAuB,mCAAmC;AAC1D,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,yC;;;;;;ACnYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,oCAAmC,gCAAgC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA,iC;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACxIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAe,MAAM;AACrB;AACA;AACA;;AAEA;AACA,gBAAe,OAAO;AACtB;AACA;;AAEA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,yGAAwG;AACxG;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,eAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,eAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA,oBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA,iC;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA8B;;AAE9B;AACA;AACA;AACA,8BAA6B;;AAE7B;AACA;AACA;AACA,mCAAkC;;AAElC;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA,wEAAuE;;AAEvE;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;;ACtPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAW,eAAe;AAC1B,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,eAAe;AAC1B,aAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;;AAEA,mC;;;;;;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA,aAAY,WAAW;AACvB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uC;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,2C;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,4C;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,oBAAmB,uCAAuC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA8B;AAC9B;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;AC1QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAsB,iBAAiB;AACvC,wBAAuB,wBAAwB;AAC/C,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oC;;;;;;ACpUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,eAAe;AAC1B,YAAW,eAAe;AAC1B,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAgD;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa,SAAS;AACtB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA,gC;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,0DAA0D;AACvE,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,aAAa;AAC1B,cAAa,0BAA0B;AACvC,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,0BAA0B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kC;;;;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2B;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,iBAAiB;AAC1C;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,OAAO;AACpB,cAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,OAAO;AACpB,cAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6B;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAkB,wB;;;;;;;ACpBlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;AClTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,kD;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,gD;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,oCAAoC;AACzD;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,mD;;;;;;;ACrDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;AAEA,iC;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,4BAA4B;AACvC;AACA,aAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA,eAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,cAAa,OAAO;AACpB,cAAa,SAAS;AACtB,cAAa,SAAS;AACtB,cAAa,SAAS;AACtB,cAAa,SAAS;AACtB,cAAa,SAAS;AACtB,cAAa,SAAS;AACtB;AACA,eAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,6BAA4B,gCAAgC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,2DAA0D;AAC1D;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,gCAAgC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,sDAAqD;AACrD;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,8B;;;;;;;ACxOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,eAAe;AAC3B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iC;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mC;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,6BAA6B,UAAU,0BAA0B,UAAU,uBAAuB,UAAU,8BAA8B,UAAU,0BAA0B,UAAU,0BAA0B,UAAU,+BAA+B;;AAEjS,0C;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,8BAA6B,qBAAqB;AAClD;AACA,IAAG;AACH;AACA,8BAA6B,qBAAqB;AAClD;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,wC;;;;;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,mC;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,kC;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA,wC;;;;;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,mD;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,WAAW;AACtB,YAAW,WAAW;AACtB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAwE;AACxE;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA,gGAA+F,8DAA8D;AAC7J;AACA;AACA;AACA;AACA;AACA,8FAA6F,uDAAuD;AACpJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wC;;;;;;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,qBAAqB;AACxC;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,WAAW;AACtB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,qBAAqB;AACxC;AACA;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;;AAEA,qD;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,WAAW;AACtB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA,yBAAwB,EAAE,8BAA8B;AACxD;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8C;;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA,yB;;;;;;;AC/CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB,aAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;AClFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,yBAAyB;AACpC,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,oLAAmL;;AAEnL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB,aAAa;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY;AACZ;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA,uC;;;;;;;AC7HA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,6C;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB;;AAErB,oBAAmB,cAAc;AACjC,mBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,yBAAyB;AACxC;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qNAAoN,YAAY;AAChO;AACA;AACA;AACA;AACA;AACA;AACA,gOAA+N,+BAA+B;AAC9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA,qDAAoD;AACpD;AACA,wBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,0DAA0D;AACvE,cAAa,mBAAmB;AAChC,cAAa,QAAQ;AACrB,cAAa,OAAO;AACpB,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,0DAA0D;AACvE,cAAa,OAAO;AACpB,eAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,0DAA0D;AACvE,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,eAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,wBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,aAAa;AAC1B,cAAa,0DAA0D;AACvE,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,0BAA0B;AACvC,cAAa,aAAa;AAC1B,cAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,uCAAsC,KAAK;AAC3C;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,0BAA0B;AACvC,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;;AAEA,oC;;;;;;;AC5+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,YAAW,WAAW;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA,4B;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAa,OAAO;AACpB,cAAa,EAAE;AACf,cAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAgC,0BAA0B;AAC1D,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,kBAAkB;AAC/B,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB,cAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wC;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8B;;;;;;ACnJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,oC;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA,2B;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,YAAW,kBAAkB;AAC7B,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sC;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,qC;;;;;;ACrCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA,4B;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,EAAE;AACf,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,EAAE;AACf,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,wC;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA,gD;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC;;AAEzC;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,eAAc,QAAQ;AACtB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA,YAAW;AACX;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED,2C;;;;;;AC5TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6C;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA,2GAA0G;AAC1G;AACA;AACA;AACA,6GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gC;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,eAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,eAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,cAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,wBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA,2BAA0B;AAC1B,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,8BAA6B,2CAA2C;;AAExE;AACA,iBAAgB;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,iC;;;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wGAAuG;AACvG;AACA;;AAEA,kBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,YAAW,kBAAkB;AAC7B,YAAW,QAAQ;AACnB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAe,sBAAsB;AACrC;AACA;AACA,gBAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,gBAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;ACxMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,8GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,mCAAkC;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,gBAAe,QAAQ;AACvB,iBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,QAAQ;AACvB,gBAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,gBAAe,QAAQ;AACvB,gBAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,eAAe;AAC9B,gBAAe,OAAO;AACtB,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,eAAe;AAC9B,gBAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,gBAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,gBAAe,eAAe;AAC9B,gBAAe,OAAO;AACtB,gBAAe,OAAO;AACtB,gBAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,gBAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,kC;;;;;;;AClcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4C;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA,mC;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sKAAqK;AACrK;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,0BAA0B;AACvC,cAAa,OAAO;AACpB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uC;;;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,UAAU;AACrB,YAAW,QAAQ;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4C;;;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,cAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,0DAA0D;AACvE,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,0BAA0B;AACvC;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,0BAA0B;AACvC,cAAa,aAAa;AAC1B,cAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA8B;AAC9B,kCAAiC,kBAAkB;AACnD;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,aAAa;AAC1B,cAAa,OAAO;AACpB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,0BAA0B;AACvC,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,0BAA0B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,eAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0C;;;;;;;ACv5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+B;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,aAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,6C;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,aAAa;AACxB,aAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,UAAU;AACrB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAW,eAAe;AAC1B,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,SAAS;AACpB,YAAW,gBAAgB;AAC3B,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wKAAuK;AACvK;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,MAAM;AACpB;AACA;AACA;AACA,IAAG;;AAEH;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,6BAA4B;;AAE5B,6BAA4B;;AAE5B;AACA;;AAEA;;AAEA;;AAEA,kD;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB;;AAEA;AACA,kCAAiC;;AAEjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAa,WAAW;AACxB,eAAc,QAAQ;AACtB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB;AACA;;;AAGA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,gBAAgB;AAC7B;AACA;;;AAGA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,gBAAgB;AAC7B;AACA;;;AAGA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA,EAAC;;AAED,yC;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yRAAwR;AACxR;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAa,WAAW;AACxB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,0IAAyI;AACzI;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA,mC;;;;;;;ACjOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD;AACA;AACA,wCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAiC;AACjC,iBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,iBAAiB;AAClC;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;AChXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED,yC;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAyB,OAAO;AAChC;AACA;AACA;AACA,0BAAyB,OAAO;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS;AAChC;AACA;AACA,cAAa,iBAAiB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,qBAAqB;AAClC;AACA;AACA,0BAAyB,SAAS;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa,0DAA0D;AACvE,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,UAAU;AACvB,cAAa,0BAA0B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED,wC;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA,+C;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,kBAAiB,kCAAkC;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA,qC;;;;;;AC5JA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,OAAO;AACpB,cAAa,SAAS;AACtB,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,OAAO;AACpB,cAAa,SAAS;AACtB,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA,gC;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,qBAAqB;AAChC,aAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6C;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,UAAU;AACxB;AACA;AACA;AACA,cAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,4C;;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA,0BAAyB;AACzB,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA,sC;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,WAAW;AACtB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,WAAW;AACtB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,uBAAuB;AAClC,YAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,uBAAuB;AAClC,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAa,WAAW;AACxB;AACA;;AAEA;AACA,cAAa,uBAAuB;AACpC,cAAa,OAAO;AACpB;AACA;AACA;;AAEA,oC;;;;;;ACnNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,uBAAuB;AAClC,aAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,uBAAuB;AAClC,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,uBAAuB;AAClC,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,4C;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA,+B;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,YAAW,EAAE;AACb,aAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA,6B;;;;;;ACvBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,EAAE;AACb,aAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA,yB;;;;;;ACrBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,mC;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,uC;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAsB,iBAAiB;AACvC,wBAAuB,wBAAwB;AAC/C,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA2B,iBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,WAAW;AACtB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,uBAAuB;AAC7C,wBAAuB,8BAA8B;AACrD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,6BAA6B;AACnD,wBAAuB,oCAAoC;AAC3D;AACA,IAAG;AACH;AACA;AACA,uBAAsB,yBAAyB;AAC/C,wBAAuB,gCAAgC;AACvD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,yBAAyB;AAC/C,wBAAuB,gCAAgC;AACvD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,sBAAsB;AAC5C,wBAAuB,6BAA6B;AACpD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,cAAc;AACpC,wBAAuB,qBAAqB;AAC5C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,sBAAsB;AAC5C,wBAAuB,6BAA6B;AACpD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,yBAAyB;AAC/C,wBAAuB,gCAAgC;AACvD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,qBAAqB;AAC3C,wBAAuB,4BAA4B;AACnD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,yBAAyB;AAC/C,wBAAuB,gCAAgC;AACvD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,eAAe;AACrC,wBAAuB,sBAAsB;AAC7C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,qBAAqB;AAC3C,wBAAuB,4BAA4B;AACnD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,iBAAiB;AACvC,wBAAuB,wBAAwB;AAC/C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,iBAAiB;AACvC,wBAAuB,wBAAwB;AAC/C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,iBAAiB;AACvC,wBAAuB,wBAAwB;AAC/C;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,qBAAqB;AAC3C,wBAAuB,4BAA4B;AACnD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,sBAAsB;AAC5C,wBAAuB,6BAA6B;AACpD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,mBAAmB;AACzC,wBAAuB,0BAA0B;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,oBAAoB;AAC1C,wBAAuB,2BAA2B;AAClD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,qBAAqB;AAC3C,wBAAuB,4BAA4B;AACnD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,wBAAwB;AAC9C,wBAAuB,+BAA+B;AACtD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,uBAAuB;AAC7C,wBAAuB,8BAA8B;AACrD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,kBAAkB;AACxC,wBAAuB,yBAAyB;AAChD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,gBAAgB;AACtC,wBAAuB,uBAAuB;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA0B,gBAAgB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oC;;;;;;;AC1nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,0C;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,0C;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,yC;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mC;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,qC;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,2C;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,sC;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB;AACA;AACA;AACA,kBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,uBAAuB;AAClC;AACA,aAAY,GAAG;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,eAAe;AAC1B,YAAW,WAAW;AACtB,YAAW,0BAA0B;AACrC,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,eAAe;AAC1B,YAAW,WAAW;AACtB,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,eAAe;AAC1B,YAAW,WAAW;AACtB;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,YAAY;AACvB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,YAAY;AACvB,aAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,aAAa;AAC1B,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,aAAa;AAC1B,cAAa,WAAW;AACxB,cAAa,QAAQ;AACrB,eAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA,qLAAoL;;AAEpL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,eAAe;AAC5B,cAAa,aAAa;AAC1B,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB,eAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,aAAa;AAC1B,cAAa,WAAW;AACxB,cAAa,UAAU;AACvB,eAAc,eAAe;AAC7B;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,cAAa,WAAW;AACxB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oLAAmL;;AAEnL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;ACrhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uC;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAa,OAAO;AACpB,eAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA,cAAa,OAAO;AACpB,cAAa,WAAW;AACxB,gBAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sC;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;AACA,SAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,0BAA0B;AACrC,aAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,8B;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,gD;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,wD;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,8C;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,iD;;;;;;;;;AC1CA;;;;AAEA;;;;AACA;;;;AACA;;;;;;AAEA,UAASC,UAAT,OAAuE;AAAA,OAAjDC,SAAiD,QAAjDA,SAAiD;AAAA,OAAtCC,WAAsC,QAAtCA,WAAsC;AAAA,OAAzBC,UAAyB,QAAzBA,UAAyB;AAAA,OAAbC,SAAa,QAAbA,SAAa;;AACrE,UACE;AAAA;AAAA;AACE;AAAA;AAAA,SAAQ,WAAU,oBAAlB;AACE;AAAA;AAAA,WAAI,WAAU,yBAAd;AACGH;AADH,QADF;AAIE;AAAA;AAAA,WAAK,WAAU,wBAAf;AAAA;AACcC;AADd;AAJF,MADF;AAUE;AAAA;AAAA,SAAM,WAAU,kBAAhB;AACE;AACE,iBAAQC;AADV,SADF;AAIE;AACE,iBAAQC;AADV;AAJF;AAVF,IADF;AAqBD;AACDJ,YAAWK,SAAX,GAAuB;AACrBJ,cAAW,iBAAUK,MAAV,CAAiBC,UADP;AAErBJ,eAAY,iBAAUK,OAAV,uBAA8BD,UAFrB;AAGrBH,cAAW,iBAAUI,OAAV,uBAA8BD,UAHpB;AAIrBL,gBAAa,iBAAUI,MAAV,CAAiBC;AAJT,EAAvB;;AAOAV,QAAOG,UAAP,GAAoBA,UAApB,C;;;;;;;;;;;mBC9BwBS,U;;AANxB;;;;AAEA;;AACA;;;;AACA;;;;;;AAEe,UAASA,UAAT,OAAgC;AAAA,OAAVC,MAAU,QAAVA,MAAU;;AAC7C,OAAI,CAACA,OAAOC,MAAZ,EAAoB;AAClB,YAAO,IAAP;AACD;;AAED,UACE;AAAA;AAAA;AACE;AAAA;AAAA,SAAI,IAAG,OAAP;AACE;AAAA;AAAA,WAAY,IAAG,OAAf;AAAA;AACWD,gBAAOC,MADlB;AAAA;AAAA;AADF,MADF;AAOGD,YAAOE,GAAP,CAAW,UAACC,KAAD;AAAA,cACV;AACE,cAAKA,MAAMC,OADb;AAEE,gBAAOD;AAFT,SADU;AAAA,MAAX;AAPH,IADF;AAgBD;AACDJ,YAAWJ,SAAX,GAAuB;AACrBK,WAAQ,iBAAUF,OAAV,CAAkB,iBAAUO,KAAV,sBAAlB,EAA+CR;AADlC,EAAvB,C;;;;;;;;;;;;;;;AC5BA;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;KAEaS,c,WAAAA,c;;;AACX,2BAAYC,KAAZ,EAAmB;AAAA;;AAAA,iIACXA,KADW;;AAEjB,WAAKC,KAAL,GAAa;AACXC,qBAAc,gBAAMC;AADT,MAAb;;AAIA,WAAKC,WAAL,GAAmB,MAAKA,WAAL,CAAiBC,IAAjB,OAAnB;AANiB;AAOlB;;;;iCAEWC,I,EAAM;AAChB,YAAKC,QAAL,CAAc,EAAEL,cAAcI,IAAhB,EAAd;AACD;;;8BAEQ;AACP,cACE,8BAAC,IAAD;AACE,gBAAO,KAAKN,KAAL,CAAWJ,KADpB;AAEE,uBAAc,KAAKK,KAAL,CAAWC,YAF3B;AAGE,kBAAS,KAAKE;AAHhB,SADF;AAOD;;;;GAtBiC,gBAAMI,S;;AAwB1CT,gBAAeX,SAAf,GAA2B;AACzBQ,UAAO,iBAAUE,KAAV,uBAA4BR;AADV,EAA3B;;AAIe,UAASmB,IAAT,OAAgD;AAAA,OAAhCb,KAAgC,QAAhCA,KAAgC;AAAA,OAAzBM,YAAyB,QAAzBA,YAAyB;AAAA,OAAXQ,QAAW,QAAXA,OAAW;;AAC7D,UACE;AAAA;AAAA;AACE;AACE,cAAOd;AADT,OADF;AAIE;AAAA;AAAA,SAAK,WAAU,eAAf;AACGe,cAAOC,IAAP,kBAAmBjB,GAAnB,CAAuB;AAAA,gBAAO,gBAAMkB,GAAN,CAAP;AAAA,QAAvB,EAA0ClB,GAA1C,CAA8C,UAACW,IAAD,EAAOQ,CAAP,EAAa;AAC1D,aAAMC,UAAU,CAAC,cAAD,CAAhB;AACA,aAAID,MAAM,CAAV,EAAa;AACXC,mBAAQC,IAAR,CAAa,qBAAb;AACD,UAFD,MAEO,IAAIF,MAAMH,OAAOC,IAAP,kBAAmBlB,MAAnB,GAA4B,CAAtC,EAAyC;AAC9CqB,mBAAQC,IAAR,CAAa,oBAAb;AACD;;AAED,gBACE;AAAA;AAAA;AACE,kBAAKV,IADP;AAEE,wBAAWS,QAAQE,IAAR,CAAa,GAAb,CAFb;AAGE,6BAAcX,SAASJ,YAHzB;AAIE,sBAAS,mBAAM;AAAEQ,wBAAQJ,IAAR;AAAgB;AAJnC;AAMGA;AANH,UADF;AAUD,QAlBA;AADH,MAJF;AAyBE;AAAA;AAAA,SAAK,WAAU,cAAf;AACE,+DAAc,OAAOV,KAArB,EAA4B,cAAcM,YAA1C;AADF;AAzBF,IADF;AA+BD;;AACDO,MAAKrB,SAAL,GAAiB;AACfQ,UAAO,iBAAUE,KAAV,uBAA4BR,UADpB;AAEfoB,YAAS,iBAAUQ,IAAV,CAAe5B,UAFT;AAGfY,iBAAc,iBAAUiB,KAAV,CAAgBR,OAAOC,IAAP,kBAAmBjB,GAAnB,CAAuB;AAAA,YAAO,gBAAMkB,GAAN,CAAP;AAAA,IAAvB,CAAhB,EAA2DvB;AAH1D,EAAjB,C;;;;;;;;;;;mBC9DwB8B,Y;;AANxB;;;;AAEA;;;;AACA;;;;AACA;;;;;;AAEe,UAASA,YAAT,OAAiC;AAAA,OAATxB,KAAS,QAATA,KAAS;;AAC9C,UACE;AAAA;AAAA,OAAI,IAAI,yBAAUA,KAAV,CAAR;AACE;AAAA;AAAA,SAAY,IAAI,yBAAUA,KAAV,CAAhB;AACGA,aAAMyB,WADT;AAEG,YAFH;AAGGzB,aAAM0B;AAHT;AADF,IADF;AASD;AACDF,cAAahC,SAAb,GAAyB;AACvBQ,UAAO,iBAAUE,KAAV,uBAA4BR;AADZ,EAAzB,C;;;;;;;;;;;mBCfwBiC,U;;AAFxB;;;;;;AAEe,UAASA,UAAT,OAAsC;AAAA,OAAhBC,QAAgB,QAAhBA,QAAgB;AAAA,OAANC,EAAM,QAANA,EAAM;;AACnD,UACE;AAAA;AAAA,OAAG,WAAU,YAAb,EAA0B,YAAUA,EAApC;AACGD;AADH,IADF;AAKD;AACDD,YAAWnC,SAAX,GAAuB;AACrBoC,aAAU,iBAAUE,IAAV,CAAepC,UADJ;AAErBmC,OAAI,iBAAUpC,MAAV,CAAiBC;AAFA,EAAvB,C;;;;;;;;;;;;ACTA;;mBAEe;AACb+B,gBAAa,iBAAUhC,MAAV,CAAiBC,UADjB;AAEbgC,aAAU,iBAAUjC,MAAV,CAAiBC,UAFd;AAGbqC,SAAM,iBAAUtC,MAHH;AAIbuC,aAAU,iBAAUvC,MAJP;AAKbQ,YAAS,iBAAUR,MAAV,CAAiBC;AALb,E;;;;;;;;;;;mBCFSuC,S;AAAT,UAASA,SAAT,CAAmBjC,KAAnB,EAA0B;AACvC,UAAOkC,KAAKlC,MAAMyB,WAAN,GAAoBzB,MAAM0B,QAA/B,CAAP;AACD,E;;;;;;;;;;;mBCMuBS,Y;;AARxB;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;AAEe,UAASA,YAAT,OAA+C;AAAA,OAAvBnC,KAAuB,QAAvBA,KAAuB;AAAA,OAAhBM,YAAgB,QAAhBA,YAAgB;;AAC5D,OAAIA,iBAAiB,gBAAMC,YAA3B,EAAyC;AACvC,YACE;AACE,iBAAUP,MAAMgC,QADlB;AAEE,gBAAShC,MAAMC;AAFjB,OADF;AAMD;;AAED,OAAIK,iBAAiB,gBAAM8B,IAA3B,EAAiC;AAC/B,YACE;AACE,iBAAUpC,MAAMgC,QADlB;AAEE,gBAAShC,MAAMC;AAFjB,OADF;AAMD;;AAED,OAAIK,iBAAiB,gBAAM+B,KAA3B,EAAkC;AAChC,YACE;AACE,iBAAUrC,MAAMgC,QADlB;AAEE,gBAAShC,MAAMC;AAFjB,OADF;AAMD;AACF;AACDkC,cAAa3C,SAAb,GAAyB;AACvBQ,UAAO,iBAAUE,KAAV,uBAA4BR,UADZ;AAEvBY,iBAAc,iBAAUiB,KAAV,CAAgBR,OAAOC,IAAP,kBAAmBjB,GAAnB,CAAuB;AAAA,YAAO,gBAAMkB,GAAN,CAAP;AAAA,IAAvB,CAAhB,EAA2DvB;AAFlD,EAAzB,C;;;;;;;;;;;;;;ACpCA;;;;AAEA;;;;AACA;;;;;;;;;;;;KAEqB4C,O;;;AACnB,oBAAYlC,KAAZ,EAAmB;AAAA;;AAAA,mHACXA,KADW;;AAEjB,WAAKC,KAAL,GAAa;AACXkC,qBAAc,IADH;AAEXC,oBAAa;AAFF,MAAb;AAFiB;AAMlB;;;;yCAEmB;AAAA;;AAAA,oBACY,KAAKpC,KADjB;AAAA,WACV4B,QADU,UACVA,QADU;AAAA,WACA/B,OADA,UACAA,OADA;;;AAGlB,mCAAa+B,QAAb,EAAuBS,IAAvB,CAA4B,UAACF,YAAD,EAAkB;AAC5C,gBAAK5B,QAAL,CAAc,EAAE4B,0BAAF,EAAd;AACD,QAFD;;AAIA,mCAAatC,OAAb,EAAsBwC,IAAtB,CAA2B,UAACD,WAAD,EAAiB;AAC1C,gBAAK7B,QAAL,CAAc,EAAE6B,wBAAF,EAAd;AACD,QAFD;AAGD;;;8BAEQ;AAAA;;AAAA,oBAC+B,KAAKnC,KADpC;AAAA,WACCkC,YADD,UACCA,YADD;AAAA,WACeC,WADf,UACeA,WADf;;;AAGP,WAAIE,iBAAJ;AACA,WAAIC,kBAAJ;;AAEA,WAAIJ,gBAAgBC,WAApB,EAAiC;AAC/BE,oBAAWE,KAAKC,GAAL,CAASN,aAAaO,KAAtB,EAA6BN,YAAYM,KAAzC,CAAX;AACAH,qBAAYC,KAAKC,GAAL,CAASN,aAAaQ,MAAtB,EAA8BP,YAAYO,MAA1C,CAAZ;;AAEAC,oBAAW,YAAM;AACf,eAAMC,UAAU,OAAKC,MAAL,CAAYC,UAAZ,CAAuB,IAAvB,CAAhB;AACA,eAAMC,YAAYH,QAAQI,eAAR,CAAwBX,QAAxB,EAAkCC,SAAlC,CAAlB;AACA,eAAMW,IAAIF,UAAUG,IAApB;;AAEA,gBAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIb,SAApB,EAA+Ba,GAA/B,EAAoC;AAClC,kBAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIf,QAApB,EAA8Be,GAA9B,EAAmC;AACjC,mBAAMC,QAAQ,4BACZnB,aAAaoB,UAAb,CAAwBF,CAAxB,EAA2BD,CAA3B,CADY,EAEZhB,YAAYmB,UAAZ,CAAuBF,CAAvB,EAA0BD,CAA1B,CAFY,CAAd;AAIA,mBAAMI,QAAQ,CAAEJ,IAAId,QAAL,GAAiBe,CAAlB,IAAuB,CAArC;;AAEAH,iBAAEM,QAAQ,CAAV,IAAeF,MAAM,CAAN,CAAf,CAPiC,CAOR;AACzBJ,iBAAEM,QAAQ,CAAV,IAAeF,MAAM,CAAN,CAAf,CARiC,CAQR;AACzBJ,iBAAEM,QAAQ,CAAV,IAAeF,MAAM,CAAN,CAAf,CATiC,CASR;AACzBJ,iBAAEM,QAAQ,CAAV,IAAeF,MAAM,CAAN,CAAf,CAViC,CAUR;AAC1B;AACF;;AAEDT,mBAAQY,YAAR,CAAqBT,SAArB,EAAgC,CAAhC,EAAmC,CAAnC;AACD,UArBD,EAqBG,CArBH;AAsBD;;AAED,cACE;AACE,gBAAOV,QADT;AAEE,iBAAQC,SAFV;AAGE,cAAK,aAACb,IAAD,EAAU;AAAE,kBAAKoB,MAAL,GAAcpB,IAAd;AAAqB;AAHxC,SADF;AAOD;;;;GA9DkC,gBAAMlB,S;;mBAAtB0B,O;;AAgErBA,SAAQ9C,SAAR,GAAoB;AAClBwC,aAAU,iBAAUvC,MAAV,CAAiBC,UADT;AAElBO,YAAS,iBAAUR,MAAV,CAAiBC;AAFR,EAApB,C;;;;;;;;;;;mBCnEwBoE,Y;;AAFxB;;;;;;AAEe,UAASA,YAAT,CAAsBC,aAAtB,EAAqCC,YAArC,EAAmD;AAChE,OAAI,CAACD,aAAL,EAAoB;AAClB,YAAOC,YAAP;AACD;;AAED,OAAI,CAACA,YAAL,EAAmB;AACjB,YAAOD,aAAP;AACD;;AAED,OAAIhC,OAAO,iCAAkBgC,aAAlB,EAAiCC,YAAjC,CAAX;AACA,OAAIjC,SAAS,CAAb,EAAgB;AACd,YAAO,CACLiC,aAAa,CAAb,CADK,EAELA,aAAa,CAAb,CAFK,EAGLA,aAAa,CAAb,CAHK,EAIL,EAJK,CAAP;AAMD;;AAED,OAAIjC,OAAO,GAAX,EAAgB;AACdA,YAAO,GAAP;AACD;AACD,UAAO,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,MAAMA,IAAlB,CAAP,CAtBgE,CAsBhC;AACjC,E;;;;;;;;;;;mBCVuBkC,iB;AAfxB;;;;;;;;;;;;;;;AAee,UAASA,iBAAT,CAA2BC,IAA3B,EAAiCC,IAAjC,EAAuC;AACpD,OAAIC,WAAW,CAAf;AACA,QAAK,IAAIlD,IAAI,CAAb,EAAgBA,IAAIgD,KAAKpE,MAAzB,EAAiCoB,GAAjC,EAAsC;AACpCkD,iBAAY,CAACF,KAAKhD,CAAL,IAAUiD,KAAKjD,CAAL,CAAX,KAAuBgD,KAAKhD,CAAL,IAAUiD,KAAKjD,CAAL,CAAjC,CAAZ;AACD;AACD,UAAQ0B,KAAKyB,IAAL,CAAUD,QAAV,IAAsBF,KAAKpE,MAA5B,GAAsC,GAA7C;AACD,E;;;;;;;;;;;mBCrBuBwE,Y;AAAT,UAASA,YAAT,CAAsBC,GAAtB,EAA2B;AACxC,UAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,SAAMC,WAAW,IAAIC,KAAJ,EAAjB;AACAD,cAASE,MAAT,GAAkB,YAAM;AAAA,WACd9B,KADc,GACI4B,QADJ,CACd5B,KADc;AAAA,WACPC,MADO,GACI2B,QADJ,CACP3B,MADO;;AAEtB,WAAMG,SAASrE,SAASgG,aAAT,CAAuB,QAAvB,CAAf;AACA3B,cAAOJ,KAAP,GAAeA,KAAf;AACAI,cAAOH,MAAP,GAAgBA,MAAhB;AACA,WAAME,UAAUC,OAAOC,UAAP,CAAkB,IAAlB,CAAhB;;AAEAF,eAAQ6B,SAAR,CAAkBJ,QAAlB,EAA4B,CAA5B,EAA+B,CAA/B;;AAEA,WAAMK,YAAY9B,QAAQqB,YAAR,CAAqB,CAArB,EAAwB,CAAxB,EAA2BxB,KAA3B,EAAkCC,MAAlC,EAA0CQ,IAA5D;;AAEA;AACA;AACA,WAAMyB,UAAUlC,QAAQ,CAAxB;AACA,WAAMa,aAAa,SAAbA,UAAa,CAACF,CAAD,EAAID,CAAJ,EAAU;AAC3B,aAAIC,IAAIX,KAAJ,IAAaU,IAAIT,MAArB,EAA6B;AAC3B,kBAAOkC,SAAP;AACD;;AAED,aAAMC,aAAc1B,IAAIwB,OAAL,GAAiBvB,IAAI,CAAxC;AACA,gBAAO,CACLsB,UAAUG,UAAV,CADK,EAELH,UAAUG,aAAa,CAAvB,CAFK,EAGLH,UAAUG,aAAa,CAAvB,CAHK,EAILH,UAAUG,aAAa,CAAvB,CAJK,CAAP;AAMD,QAZD;;AAcAT,eAAQ,EAAEd,sBAAF,EAAcb,YAAd,EAAqBC,cAArB,EAAR;AACD,MA7BD;AA8BA2B,cAASH,GAAT,GAAeA,GAAf;AACD,IAjCM,CAAP;AAkCD,E;;;;;;;;;;;mBCjCuBY,U;;AAFxB;;;;;;AAEe,UAASA,UAAT,OAA2C;AAAA,OAArBnD,QAAqB,QAArBA,QAAqB;AAAA,OAAX/B,OAAW,QAAXA,OAAW;;AACxD,UACE;AAAA;AAAA,OAAK,WAAU,YAAf;AACE;AACE,kBAAU,mBADZ;AAEE,aAAK,cAFP;AAGE,YAAK+B,QAHP;AAIE,cAAM;AAJR,OADF;AAOG,QAPH;AAQE;AACE,kBAAU,mBADZ;AAEE,aAAK,cAFP;AAGE,YAAK/B,OAHP;AAIE,cAAM;AAJR;AARF,IADF;AAiBD;AACDkF,YAAW3F,SAAX,GAAuB;AACrBwC,aAAU,iBAAUvC,MAAV,CAAiBC,UADN;AAErBO,YAAS,iBAAUR,MAAV,CAAiBC;AAFL,EAAvB,C;;;;;;;;;;;;;;ACrBA;;;;AAEA;;;;;;;;;;;;KAEqB0F,M;;;AACnB,mBAAYhF,KAAZ,EAAmB;AAAA;;AAAA,iHACXA,KADW;;AAEjB,WAAKC,KAAL,GAAa;AACXgF,mBAAY,CADD;AAEXtC,eAAQ,MAFG;AAGXD,cAAO;AAHI,MAAb;AAKA,WAAKwC,eAAL,GAAuB,MAAKA,eAAL,CAAqB7E,IAArB,OAAvB;AAPiB;AAQlB;;;;0CAEoB;AAAA;;AACnB,YAAK8E,UAAL,CAAgB,KAAKnF,KAArB,EACGqC,IADH,CACQ,gBAAe;AAAA,aAAZK,KAAY,QAAZA,KAAY;;AACnB;AACA,gBAAKnC,QAAL,CAAc,EAAE0E,YAAYvC,QAAQ,CAAtB,EAAd;AACD,QAJH;AAKD;;;+CAEyB0C,S,EAAW;AACnC,YAAKD,UAAL,CAAgBC,SAAhB;AACD;;;uCAEiC;AAAA;;AAAA,WAArBvF,OAAqB,SAArBA,OAAqB;AAAA,WAAZ+B,QAAY,SAAZA,QAAY;;AAChC,WAAMyD,QAAQ,4BAAaxF,OAAb,EAAsB+B,QAAtB,EACXS,IADW,CACN,iBAAuB;AAAA,aAApBK,KAAoB,SAApBA,KAAoB;AAAA,aAAbC,MAAa,SAAbA,MAAa;;AAC3B,gBAAKpC,QAAL,CAAc,EAAEmC,YAAF,EAASC,cAAT,EAAd;AACA,gBAAO,EAAED,YAAF,EAASC,cAAT,EAAP;AACD,QAJW,CAAd;;AAMA,cAAOyB,QAAQC,OAAR,CAAgBgB,KAAhB,CAAP;AACD;;;qCAEeC,K,EAAO;AACrB,YAAK/E,QAAL,CAAc;AACZ0E,qBAAYK,MAAMC,KAAN,GAAcD,MAAME,MAAN,CAAaC;AAD3B,QAAd;AAGD;;;8BAEQ;AAAA,oBACuB,KAAKzF,KAD5B;AAAA,WACC4B,QADD,UACCA,QADD;AAAA,WACW/B,OADX,UACWA,OADX;AAAA,oBAE+B,KAAKI,KAFpC;AAAA,WAECgF,UAFD,UAECA,UAFD;AAAA,WAEatC,MAFb,UAEaA,MAFb;AAAA,WAEqBD,KAFrB,UAEqBA,KAFrB;;;AAIP,cACE;AAAA;AAAA;AACE,sBAAU,QADZ;AAEE,kBAAO,EAAEC,cAAF,EAAUD,YAAV,EAFT;AAGE,wBAAa,KAAKwC;AAHpB;AAKE;AAAA;AAAA;AACE,wBAAU,eADZ;AAEE,oBAAO,EAAExC,OAAOuC,UAAT;AAFT;AAIE;AACE,kBAAKrD,QADP;AAEE,mBAAK;AAFP;AAJF,UALF;AAeE;AAAA;AAAA;AACE,wBAAU,eADZ;AAEE,oBAAO;AACL8D,0CAAyBT,UAAzB,QADK;AAELvC,sBAAOA,QAAQuC;AAFV;AAFT;AAOE;AACE,kBAAKpF,OADP;AAEE,oBAAO;AACL6F,2CAA0BT,UAA1B;AADK,cAFT;AAKE,mBAAK;AALP;AAPF,UAfF;AA+BE;AACE,sBAAU,gBADZ;AAEE,kBAAO;AACLS,wCAAyBT,UAAzB;AADK;AAFT;AA/BF,QADF;AAwCD;;;;GAnFiC,gBAAMzE,S;;mBAArBwE,M;;AAqFrBA,QAAO5F,SAAP,GAAmB;AACjBwC,aAAU,iBAAUvC,MAAV,CAAiBC,UADV;AAEjBO,YAAS,iBAAUR,MAAV,CAAiBC;AAFT,EAAnB,C;;;;;;;;;;;mBCzFwBqG,Y;;;;AAAT,UAASA,YAAT,GAAoC;AAAA,qCAAXC,SAAW;AAAXA,cAAW;AAAA;;AACjD,OAAMC,aAAa,EAAnB;;AAEA,UAAO,IAAIzB,OAAJ,CAAY,UAACC,OAAD,EAAUyB,MAAV,EAAqB;AACtCF,eAAUG,OAAV,CAAkB,UAACC,GAAD,EAAMlF,CAAN,EAAY;AAC5B,WAAMlB,QAAQ,IAAI2E,KAAJ,EAAd;;AAEA3E,aAAMqG,OAAN,GAAgB,SAASC,gBAAT,CAA0BC,CAA1B,EAA6B;AAC3CL,gBAAOK,CAAP;AACD,QAFD;;AAIAvG,aAAM4E,MAAN,GAAe,SAAS4B,eAAT,GAA2B;AAAA,aAChC1D,KADgC,GACd,IADc,CAChCA,KADgC;AAAA,aACzBC,MADyB,GACd,IADc,CACzBA,MADyB;;AAGxC;;AACAkD,oBAAW/E,CAAX,IAAgB,EAAE4B,YAAF,EAASC,cAAT,EAAhB;;AAEA,aAAIhC,OAAOC,IAAP,CAAYiF,UAAZ,EAAwBnG,MAAxB,IAAkCkG,UAAUlG,MAAhD,EAAwD;AACtD;AACA,eAAM2G,SAAS1F,OAAOC,IAAP,CAAYiF,UAAZ,EAAwBlG,GAAxB,CAA4B;AAAA,oBAAOkG,WAAWhF,GAAX,CAAP;AAAA,YAA5B,CAAf;AACA,eAAMyB,WAAWE,KAAKC,GAAL,gCAAY4D,OAAO1G,GAAP,CAAW;AAAA,oBAAS2G,MAAM5D,KAAf;AAAA,YAAX,CAAZ,EAAjB;AACA,eAAMH,YAAYC,KAAKC,GAAL,gCAAY4D,OAAO1G,GAAP,CAAW;AAAA,oBAAS2G,MAAM3D,MAAf;AAAA,YAAX,CAAZ,EAAlB;AACA0B,mBAAQ,EAAE3B,OAAOJ,QAAT,EAAmBK,QAAQJ,SAA3B,EAAR;AACD;AACF,QAbD;;AAeA3C,aAAMuE,GAAN,GAAY6B,GAAZ;AACD,MAvBD;AAwBD,IAzBM,CAAP;AA0BD,E;;;;;;;;;;;mBC7Bc;AACb7F,iBAAc,cADD;AAEb8B,UAAO,OAFM;AAGbD,SAAM;AAHO,E;;;;;;;;;;;mBCMSuE,S;;AANxB;;;;AAEA;;;;AACA;;;;AACA;;;;;;AAEe,UAASA,SAAT,OAA+B;AAAA,OAAV9G,MAAU,QAAVA,MAAU;;AAC5C,OAAI,CAACA,OAAOC,MAAZ,EAAoB;AAClB,YAAO,IAAP;AACD;;AAED,UACE;AAAA;AAAA;AACE;AAAA;AAAA,SAAI,IAAG,KAAP;AACE;AAAA;AAAA,WAAY,IAAG,KAAf;AAAA;AACkBD,gBAAOC,MADzB;AAAA;AAAA;AADF,MADF;AAOGD,YAAOE,GAAP,CAAW,UAACC,KAAD;AAAA,cACV;AACE,cAAKA,MAAMC,OADb;AAEE,gBAAOD;AAFT,SADU;AAAA,MAAX;AAPH,IADF;AAgBD;AACD2G,WAAUnH,SAAV,GAAsB;AACpBK,WAAQ,iBAAUF,OAAV,CAAkB,iBAAUO,KAAV,sBAAlB,EAA+CR;AADnC,EAAtB,C;;;;;;;;;;;mBCvBwBkH,Q;;AALxB;;;;AAEA;;;;AACA;;;;;;AAEe,UAASA,QAAT,OAA6B;AAAA,OAAT5G,KAAS,QAATA,KAAS;;AAC1C,UACE;AAAA;AAAA;AACE;AACE,cAAOA;AADT,OADF;AAIE;AACE,aAAK,cADP;AAEE,YAAKA,MAAMC;AAFb;AAJF,IADF;AAWD;AACD2G,UAASpH,SAAT,GAAqB;AACnBQ,UAAO,iBAAUE,KAAV,uBAA4BR;AADhB,EAArB,C”,“file”:“HappoApp.bundle.js”,“sourcesContent”:[“ t// The module cachen tvar installedModules = {};nn t// The require functionn tfunction webpack_require(moduleId) {nn tt// Check if module is in cachen ttif(installedModules[moduleId])n tttreturn installedModules.exports;nn tt// Create a new module (and put it into the cache)n ttvar module = installedModules = {n tttexports: {},n tttid: moduleId,n tttloaded: falsen tt};nn tt// Execute the module functionn ttmodules[moduleId].call(module.exports, module, module.exports, webpack_require);nn tt// Flag the module as loadedn ttmodule.loaded = true;nn tt// Return the exports of the modulen ttreturn module.exports;n t}nnn t// expose the modules object (webpack_modules)n t_webpack_require_.m = modules;nn t// expose the module cachen t_webpack_require_.c = installedModules;nn t// webpack_public_pathn t_webpack_require_.p = "";nn t// Load entry module and return exportsn treturn webpack_require(0);nnnn/** WEBPACK FOOTER **n ** webpack/bootstrap 28d242be1d84e44a48cdn **/”,“import React from 'react';nimport ReactDOM from 'react-dom';nnimport HappoDiffs from './HappoDiffs';nndocument.addEventListener('DOMContentLoaded', () => {n ReactDOM.render(n <HappoDiffsn {…window.APP_PROPS}n />,n document.getElementById('react-root')n );n});nnnn/** WEBPACK FOOTER **n ** ./js/src/HappoApp.jsxn **/”,“'use strict';nnmodule.exports = require('./lib/React');nnnn/*****************n ** WEBPACK FOOTERn ** ./~/react/react.jsn ** module id = 1n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule Reactn */nn'use strict';nnvar _assign = require('object-assign');nnvar ReactChildren = require('./ReactChildren');nvar ReactComponent = require('./ReactComponent');nvar ReactPureComponent = require('./ReactPureComponent');nvar ReactClass = require('./ReactClass');nvar ReactDOMFactories = require('./ReactDOMFactories');nvar ReactElement = require('./ReactElement');nvar ReactPropTypes = require('./ReactPropTypes');nvar ReactVersion = require('./ReactVersion');nnvar onlyChild = require('./onlyChild');nvar warning = require('fbjs/lib/warning');nnvar createElement = ReactElement.createElement;nvar createFactory = ReactElement.createFactory;nvar cloneElement = ReactElement.cloneElement;nnif (process.env.NODE_ENV !== 'production') {n var ReactElementValidator = require('./ReactElementValidator');n createElement = ReactElementValidator.createElement;n createFactory = ReactElementValidator.createFactory;n cloneElement = ReactElementValidator.cloneElement;n}nnvar __spread = _assign;nnif (process.env.NODE_ENV !== 'production') {n var warned = false;n __spread = function () {n process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See fb.me/react-spread-deprecation for more details.') : void 0;n warned = true;n return _assign.apply(null, arguments);n };n}nnvar React = {nn // Modernnn Children: {n map: ReactChildren.map,n forEach: ReactChildren.forEach,n count: ReactChildren.count,n toArray: ReactChildren.toArray,n only: onlyChildn },nn Component: ReactComponent,n PureComponent: ReactPureComponent,nn createElement: createElement,n cloneElement: cloneElement,n isValidElement: ReactElement.isValidElement,nn // Classicnn PropTypes: ReactPropTypes,n createClass: ReactClass.createClass,n createFactory: createFactory,n createMixin: function (mixin) {n // Currently a noop. Will be used to validate and trace mixins.n return mixin;n },nn // This looks DOM specific but these are actually isomorphic helpersn // since they are just generating DOM strings.n DOM: ReactDOMFactories,nn version: ReactVersion,nn // Deprecated hook for JSX spread, don't use this for anything.n __spread: __spreadn};nnmodule.exports = React;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/React.jsn ** module id = 2n ** module chunks = 0n **/”,“// shim for using process in browsernvar process = module.exports = {};nn// cached from whatever global is present so that test runners that stub itn// don't break things. But we need to wrap it in a try catch in case it isn// wrapped in strict mode code which doesn't define any globals. It's inside an// function because try/catches deoptimize in certain engines.nnvar cachedSetTimeout;nvar cachedClearTimeout;nnfunction defaultSetTimout() {n throw new Error('setTimeout has not been defined');n}nfunction defaultClearTimeout () {n throw new Error('clearTimeout has not been defined');n}n(function () {n try {n if (typeof setTimeout === 'function') {n cachedSetTimeout = setTimeout;n } else {n cachedSetTimeout = defaultSetTimout;n }n } catch (e) {n cachedSetTimeout = defaultSetTimout;n }n try {n if (typeof clearTimeout === 'function') {n cachedClearTimeout = clearTimeout;n } else {n cachedClearTimeout = defaultClearTimeout;n }n } catch (e) {n cachedClearTimeout = defaultClearTimeout;n }n} ())nfunction runTimeout(fun) {n if (cachedSetTimeout === setTimeout) {n //normal enviroments in sane situationsn return setTimeout(fun, 0);n }n // if setTimeout wasn't available but was latter definedn if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {n cachedSetTimeout = setTimeout;n return setTimeout(fun, 0);n }n try {n // when when somebody has screwed with setTimeout but no I.E. maddnessn return cachedSetTimeout(fun, 0);n } catch(e){n try {n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normallyn return cachedSetTimeout.call(null, fun, 0);n } catch(e){n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global errorn return cachedSetTimeout.call(this, fun, 0);n }n }nnn}nfunction runClearTimeout(marker) {n if (cachedClearTimeout === clearTimeout) {n //normal enviroments in sane situationsn return clearTimeout(marker);n }n // if clearTimeout wasn't available but was latter definedn if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {n cachedClearTimeout = clearTimeout;n return clearTimeout(marker);n }n try {n // when when somebody has screwed with setTimeout but no I.E. maddnessn return cachedClearTimeout(marker);n } catch (e){n try {n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normallyn return cachedClearTimeout.call(null, marker);n } catch (e){n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.n // Some versions of I.E. have different rules for clearTimeout vs setTimeoutn return cachedClearTimeout.call(this, marker);n }n }nnnn}nvar queue = [];nvar draining = false;nvar currentQueue;nvar queueIndex = -1;nnfunction cleanUpNextTick() {n if (!draining || !currentQueue) {n return;n }n draining = false;n if (currentQueue.length) {n queue = currentQueue.concat(queue);n } else {n queueIndex = -1;n }n if (queue.length) {n drainQueue();n }n}nnfunction drainQueue() {n if (draining) {n return;n }n var timeout = runTimeout(cleanUpNextTick);n draining = true;nn var len = queue.length;n while(len) {n currentQueue = queue;n queue = [];n while (++queueIndex < len) {n if (currentQueue) {n currentQueue.run();n }n }n queueIndex = -1;n len = queue.length;n }n currentQueue = null;n draining = false;n runClearTimeout(timeout);n}nnprocess.nextTick = function (fun) {n var args = new Array(arguments.length - 1);n if (arguments.length > 1) {n for (var i = 1; i < arguments.length; i++) {n args[i - 1] = arguments;n }n }n queue.push(new Item(fun, args));n if (queue.length === 1 && !draining) {n runTimeout(drainQueue);n }n};nn// v8 likes predictible objectsnfunction Item(fun, array) {n this.fun = fun;n this.array = array;n}nItem.prototype.run = function () {n this.fun.apply(null, this.array);n};nprocess.title = 'browser';nprocess.browser = true;nprocess.env = {};nprocess.argv = [];nprocess.version = ''; // empty string to avoid regexp issuesnprocess.versions = {};nnfunction noop() {}nnprocess.on = noop;nprocess.addListener = noop;nprocess.once = noop;nprocess.off = noop;nprocess.removeListener = noop;nprocess.removeAllListeners = noop;nprocess.emit = noop;nnprocess.binding = function (name) {n throw new Error('process.binding is not supported');n};nnprocess.cwd = function () { return '/' };nprocess.chdir = function (dir) {n throw new Error('process.chdir is not supported');n};nprocess.umask = function() { return 0; };nnnn/*****************n ** WEBPACK FOOTERn ** ./~/process/browser.jsn ** module id = 3n ** module chunks = 0n **/”,“'use strict';n/* eslint-disable no-unused-vars */nvar hasOwnProperty = Object.prototype.hasOwnProperty;nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;nnfunction toObject(val) {ntif (val === null || val === undefined) {nttthrow new TypeError('Object.assign cannot be called with null or undefined');nt}nntreturn Object(val);n}nnfunction shouldUseNative() {nttry {nttif (!Object.assign) {ntttreturn false;ntt}nntt// Detect buggy property enumeration order in older V8 versions.nntt// bugs.chromium.org/p/v8/issues/detail?id=4118nttvar test1 = new String('abc'); // eslint-disable-linentttest1 = 'de';nttif (Object.getOwnPropertyNames(test1) === '5') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test2 = {};nttfor (var i = 0; i < 10; i++) {nttttest2['_' + String.fromCharCode(i)] = i;ntt}nttvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {ntttreturn test2;ntt});nttif (order2.join('') !== '0123456789') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test3 = {};ntt'abcdefghijklmnopqrst'.split('').forEach(function (letter) {nttttest3 = letter;ntt});nttif (Object.keys(Object.assign({}, test3)).join('') !==ntttt'abcdefghijklmnopqrst') {ntttreturn false;ntt}nnttreturn true;nt} catch (e) {ntt// We don't expect any of the above to throw, but better to be safe.nttreturn false;nt}n}nnmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {ntvar from;ntvar to = toObject(target);ntvar symbols;nntfor (var s = 1; s < arguments.length; s++) {nttfrom = Object(arguments);nnttfor (var key in from) {ntttif (hasOwnProperty.call(from, key)) {nttttto = from;nttt}ntt}nnttif (Object.getOwnPropertySymbols) {ntttsymbols = Object.getOwnPropertySymbols(from);ntttfor (var i = 0; i < symbols.length; i++) {nttttif (propIsEnumerable.call(from, symbols)) {ntttttto[symbols] = from[symbols];ntttt}nttt}ntt}nt}nntreturn to;n};nnnn/*****************n ** WEBPACK FOOTERn ** ./~/object-assign/index.jsn ** module id = 4n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactChildrenn */nn'use strict';nnvar PooledClass = require('./PooledClass');nvar ReactElement = require('./ReactElement');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar traverseAllChildren = require('./traverseAllChildren');nnvar twoArgumentPooler = PooledClass.twoArgumentPooler;nvar fourArgumentPooler = PooledClass.fourArgumentPooler;nnvar userProvidedKeyEscapeRegex = /\/+/g;nfunction escapeUserProvidedKey(text) {n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');n}nn/**n * PooledClass representing the bookkeeping associated with performing a childn * traversal. Allows avoiding binding callbacks.n *n * @constructor ForEachBookKeepingn * @param {!function} forEachFunction Function to perform traversal with.n * @param {?*} forEachContext Context to perform context with.n */nfunction ForEachBookKeeping(forEachFunction, forEachContext) {n this.func = forEachFunction;n this.context = forEachContext;n this.count = 0;n}nForEachBookKeeping.prototype.destructor = function () {n this.func = null;n this.context = null;n this.count = 0;n};nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);nnfunction forEachSingleChild(bookKeeping, child, name) {n var func = bookKeeping.func;n var context = bookKeeping.context;nn func.call(context, child, bookKeeping.count++);n}nn/**n * Iterates through children that are typically specified as `props.children`.n *n * See facebook.github.io/react/docs/top-level-api.html#react.children.foreachn *n * The provided forEachFunc(child, index) will be called for eachn * leaf child.n *n * @param {?*} children Children tree container.n * @param {function(*, int)} forEachFuncn * @param {*} forEachContext Context for forEachContext.n */nfunction forEachChildren(children, forEachFunc, forEachContext) {n if (children == null) {n return children;n }n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);n traverseAllChildren(children, forEachSingleChild, traverseContext);n ForEachBookKeeping.release(traverseContext);n}nn/**n * PooledClass representing the bookkeeping associated with performing a childn * mapping. Allows avoiding binding callbacks.n *n * @constructor MapBookKeepingn * @param {!*} mapResult Object containing the ordered map of results.n * @param {!function} mapFunction Function to perform mapping with.n * @param {?*} mapContext Context to perform mapping with.n */nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {n this.result = mapResult;n this.keyPrefix = keyPrefix;n this.func = mapFunction;n this.context = mapContext;n this.count = 0;n}nMapBookKeeping.prototype.destructor = function () {n this.result = null;n this.keyPrefix = null;n this.func = null;n this.context = null;n this.count = 0;n};nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);nnfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {n var result = bookKeeping.result;n var keyPrefix = bookKeeping.keyPrefix;n var func = bookKeeping.func;n var context = bookKeeping.context;nnn var mappedChild = func.call(context, child, bookKeeping.count++);n if (Array.isArray(mappedChild)) {n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);n } else if (mappedChild != null) {n if (ReactElement.isValidElement(mappedChild)) {n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,n // Keep both the (mapped) and old keys if they differ, just asn // traverseAllChildren used to do for objects as childrenn keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);n }n result.push(mappedChild);n }n}nnfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {n var escapedPrefix = '';n if (prefix != null) {n escapedPrefix = escapeUserProvidedKey(prefix) + '/';n }n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);n MapBookKeeping.release(traverseContext);n}nn/**n * Maps children that are typically specified as `props.children`.n *n * See facebook.github.io/react/docs/top-level-api.html#react.children.mapn *n * The provided mapFunction(child, key, index) will be called for eachn * leaf child.n *n * @param {?*} children Children tree container.n * @param {function(*, int)} func The map function.n * @param {*} context Context for mapFunction.n * @return {object} Object containing the ordered map of results.n */nfunction mapChildren(children, func, context) {n if (children == null) {n return children;n }n var result = [];n mapIntoWithKeyPrefixInternal(children, result, null, func, context);n return result;n}nnfunction forEachSingleChildDummy(traverseContext, child, name) {n return null;n}nn/**n * Count the number of children that are typically specified asn * `props.children`.n *n * See facebook.github.io/react/docs/top-level-api.html#react.children.countn *n * @param {?*} children Children tree container.n * @return {number} The number of children.n */nfunction countChildren(children, context) {n return traverseAllChildren(children, forEachSingleChildDummy, null);n}nn/**n * Flatten a children object (typically specified as `props.children`) andn * return an array with appropriately re-keyed children.n *n * See facebook.github.io/react/docs/top-level-api.html#react.children.toarrayn */nfunction toArray(children) {n var result = [];n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);n return result;n}nnvar ReactChildren = {n forEach: forEachChildren,n map: mapChildren,n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,n count: countChildren,n toArray: toArrayn};nnmodule.exports = ReactChildren;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactChildren.jsn ** module id = 5n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule PooledClassn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * Static poolers. Several custom versions for each potential number ofn * arguments. A completely generic pooler is easy to implement, but wouldn * require accessing the `arguments` object. In each of these, `this` refers ton * the Class itself, not an instance. If any others are needed, simply add themn * here, or in their own files.n */nvar oneArgumentPooler = function (copyFieldsFrom) {n var Klass = this;n if (Klass.instancePool.length) {n var instance = Klass.instancePool.pop();n Klass.call(instance, copyFieldsFrom);n return instance;n } else {n return new Klass(copyFieldsFrom);n }n};nnvar twoArgumentPooler = function (a1, a2) {n var Klass = this;n if (Klass.instancePool.length) {n var instance = Klass.instancePool.pop();n Klass.call(instance, a1, a2);n return instance;n } else {n return new Klass(a1, a2);n }n};nnvar threeArgumentPooler = function (a1, a2, a3) {n var Klass = this;n if (Klass.instancePool.length) {n var instance = Klass.instancePool.pop();n Klass.call(instance, a1, a2, a3);n return instance;n } else {n return new Klass(a1, a2, a3);n }n};nnvar fourArgumentPooler = function (a1, a2, a3, a4) {n var Klass = this;n if (Klass.instancePool.length) {n var instance = Klass.instancePool.pop();n Klass.call(instance, a1, a2, a3, a4);n return instance;n } else {n return new Klass(a1, a2, a3, a4);n }n};nnvar fiveArgumentPooler = function (a1, a2, a3, a4, a5) {n var Klass = this;n if (Klass.instancePool.length) {n var instance = Klass.instancePool.pop();n Klass.call(instance, a1, a2, a3, a4, a5);n return instance;n } else {n return new Klass(a1, a2, a3, a4, a5);n }n};nnvar standardReleaser = function (instance) {n var Klass = this;n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;n instance.destructor();n if (Klass.instancePool.length < Klass.poolSize) {n Klass.instancePool.push(instance);n }n};nnvar DEFAULT_POOL_SIZE = 10;nvar DEFAULT_POOLER = oneArgumentPooler;nn/**n * Augments `CopyConstructor` to be a poolable class, augmenting only the classn * itself (statically) not adding any prototypical fields. Any CopyConstructorn * you give this may have a `poolSize` property, and will look for an * prototypical `destructor` on instances.n *n * @param {Function} CopyConstructor Constructor that can be used to reset.n * @param {Function} pooler Customizable pooler.n */nvar addPoolingTo = function (CopyConstructor, pooler) {n var NewKlass = CopyConstructor;n NewKlass.instancePool = [];n NewKlass.getPooled = pooler || DEFAULT_POOLER;n if (!NewKlass.poolSize) {n NewKlass.poolSize = DEFAULT_POOL_SIZE;n }n NewKlass.release = standardReleaser;n return NewKlass;n};nnvar PooledClass = {n addPoolingTo: addPoolingTo,n oneArgumentPooler: oneArgumentPooler,n twoArgumentPooler: twoArgumentPooler,n threeArgumentPooler: threeArgumentPooler,n fourArgumentPooler: fourArgumentPooler,n fiveArgumentPooler: fiveArgumentPoolern};nnmodule.exports = PooledClass;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/PooledClass.jsn ** module id = 6n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule reactProdInvariantn * n */n'use strict';nn/**n * WARNING: DO NOT manually require this module.n * This is a replacement for `invariant(…)` used by the error code systemn * and will only be required by the corresponding babel pass.n * It always throws.n */nnfunction reactProdInvariant(code) {n var argCount = arguments.length - 1;nn var message = 'Minified React error #' + code + '; visit ' + 'facebook.github.io/react/docs/error-decoder.html?invariant=' + code;nn for (var argIdx = 0; argIdx < argCount; argIdx++) {n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);n }nn message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';nn var error = new Error(message);n error.name = 'Invariant Violation';n error.framesToPop = 1; // we don't care about reactProdInvariant's own framenn throw error;n}nnmodule.exports = reactProdInvariant;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/reactProdInvariant.jsn ** module id = 7n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn'use strict';nn/**n * Use invariant() to assert state which your program assumes to be true.n *n * Provide sprintf-style format (only %s is supported) and argumentsn * to provide information about what broke and what you weren * expecting.n *n * The invariant message will be stripped in production, but the invariantn * will remain to ensure logic does not differ in production.n */nnfunction invariant(condition, format, a, b, c, d, e, f) {n if (process.env.NODE_ENV !== 'production') {n if (format === undefined) {n throw new Error('invariant requires an error message argument');n }n }nn if (!condition) {n var error;n if (format === undefined) {n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');n } else {n var args = [a, b, c, d, e, f];n var argIndex = 0;n error = new Error(format.replace(/%s/g, function () {n return args;n }));n error.name = 'Invariant Violation';n }nn error.framesToPop = 1; // we don't care about invariant's own framen throw error;n }n}nnmodule.exports = invariant;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/invariant.jsn ** module id = 8n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactElementn */nn'use strict';nnvar _assign = require('object-assign');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nnvar warning = require('fbjs/lib/warning');nvar canDefineProperty = require('./canDefineProperty');nvar hasOwnProperty = Object.prototype.hasOwnProperty;nn// The Symbol used to tag the ReactElement type. If there is no native Symboln// nor polyfill, then a plain number is used for performance.nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol && Symbol('react.element') || 0xeac7;nnvar RESERVED_PROPS = {n key: true,n ref: true,n __self: true,n __source: truen};nnvar specialPropKeyWarningShown, specialPropRefWarningShown;nnfunction hasValidRef(config) {n if (process.env.NODE_ENV !== 'production') {n if (hasOwnProperty.call(config, 'ref')) {n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;n if (getter && getter.isReactWarning) {n return false;n }n }n }n return config.ref !== undefined;n}nnfunction hasValidKey(config) {n if (process.env.NODE_ENV !== 'production') {n if (hasOwnProperty.call(config, 'key')) {n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;n if (getter && getter.isReactWarning) {n return false;n }n }n }n return config.key !== undefined;n}nnfunction defineKeyPropWarningGetter(props, displayName) {n var warnAboutAccessingKey = function () {n if (!specialPropKeyWarningShown) {n specialPropKeyWarningShown = true;n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (fb.me/react-special-props)', displayName) : void 0;n }n };n warnAboutAccessingKey.isReactWarning = true;n Object.defineProperty(props, 'key', {n get: warnAboutAccessingKey,n configurable: truen });n}nnfunction defineRefPropWarningGetter(props, displayName) {n var warnAboutAccessingRef = function () {n if (!specialPropRefWarningShown) {n specialPropRefWarningShown = true;n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (fb.me/react-special-props)', displayName) : void 0;n }n };n warnAboutAccessingRef.isReactWarning = true;n Object.defineProperty(props, 'ref', {n get: warnAboutAccessingRef,n configurable: truen });n}nn/**n * Factory method to create a new React element. This no longer adheres ton * the class pattern, so do not use new to call it. Also, no instanceof checkn * will work. Instead test $$typeof field against Symbol.for('react.element') to checkn * if something is a React Element.n *n * @param {*} typen * @param {*} keyn * @param {string|object} refn * @param {*} self A temporary helper to detect places where `this` isn * different from the `owner` when React.createElement is called, so that wen * can warn. We want to get rid of owner and replace string `ref`s with arrown * functions, and as long as `this` and owner are the same, there will be non * change in behavior.n * @param {*} source An annotation object (added by a transpiler or otherwise)n * indicating filename, line number, and/or other information.n * @param {*} ownern * @param {*} propsn * @internaln */nvar ReactElement = function (type, key, ref, self, source, owner, props) {n var element = {n // This tag allow us to uniquely identify this as a React Elementn $$typeof: REACT_ELEMENT_TYPE,nn // Built-in properties that belong on the elementn type: type,n key: key,n ref: ref,n props: props,nn // Record the component responsible for creating this element.n _owner: ownern };nn if (process.env.NODE_ENV !== 'production') {n // The validation flag is currently mutative. We put it onn // an external backing store so that we can freeze the whole object.n // This can be replaced with a WeakMap once they are implemented inn // commonly used development environments.n element._store = {};n var shadowChildren = Array.isArray(props.children) ? props.children.slice(0) : props.children;nn // To make comparing ReactElements easier for testing purposes, we maken // the validation flag non-enumerable (where possible, which shouldn // include every environment we run tests in), so the test frameworkn // ignores it.n if (canDefineProperty) {n Object.defineProperty(element._store, 'validated', {n configurable: false,n enumerable: false,n writable: true,n value: falsen });n // self and source are DEV only properties.n Object.defineProperty(element, '_self', {n configurable: false,n enumerable: false,n writable: false,n value: selfn });n Object.defineProperty(element, '_shadowChildren', {n configurable: false,n enumerable: false,n writable: false,n value: shadowChildrenn });n // Two elements created in two different places should be consideredn // equal for testing purposes and therefore we hide it from enumeration.n Object.defineProperty(element, '_source', {n configurable: false,n enumerable: false,n writable: false,n value: sourcen });n } else {n element._store.validated = false;n element._self = self;n element._shadowChildren = shadowChildren;n element._source = source;n }n if (Object.freeze) {n Object.freeze(element.props);n Object.freeze(element);n }n }nn return element;n};nn/**n * Create and return a new ReactElement of the given type.n * See facebook.github.io/react/docs/top-level-api.html#react.createelementn */nReactElement.createElement = function (type, config, children) {n var propName;nn // Reserved names are extractedn var props = {};nn var key = null;n var ref = null;n var self = null;n var source = null;nn if (config != null) {n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(n /* eslint-disable no-proto */n config.__proto__ == null || config.__proto__ === Object.prototype,n /* eslint-enable no-proto */n 'React.createElement(…): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;n }nn if (hasValidRef(config)) {n ref = config.ref;n }n if (hasValidKey(config)) {n key = '' + config.key;n }nn self = config.__self === undefined ? null : config.__self;n source = config.__source === undefined ? null : config.__source;n // Remaining properties are added to a new props objectn for (propName in config) {n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {n props = config;n }n }n }nn // Children can be more than one argument, and those are transferred onton // the newly allocated props object.n var childrenLength = arguments.length - 2;n if (childrenLength === 1) {n props.children = children;n } else if (childrenLength > 1) {n var childArray = Array(childrenLength);n for (var i = 0; i < childrenLength; i++) {n childArray = arguments[i + 2];n }n props.children = childArray;n }nn // Resolve default propsn if (type && type.defaultProps) {n var defaultProps = type.defaultProps;n for (propName in defaultProps) {n if (props === undefined) {n props = defaultProps;n }n }n }n if (process.env.NODE_ENV !== 'production') {n if (key || ref) {n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;n if (key) {n defineKeyPropWarningGetter(props, displayName);n }n if (ref) {n defineRefPropWarningGetter(props, displayName);n }n }n }n }n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);n};nn/**n * Return a function that produces ReactElements of a given type.n * See facebook.github.io/react/docs/top-level-api.html#react.createfactoryn */nReactElement.createFactory = function (type) {n var factory = ReactElement.createElement.bind(null, type);n // Expose the type on the factory and the prototype so that it can ben // easily accessed on elements. E.g. `<Foo />.type === Foo`.n // This should not be named `constructor` since this may not be the functionn // that created the element, and it may not even be a constructor.n // Legacy hook TODO: Warn if this is accessedn factory.type = type;n return factory;n};nnReactElement.cloneAndReplaceKey = function (oldElement, newKey) {n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);nn return newElement;n};nn/**n * Clone and return a new ReactElement using element as the starting point.n * See facebook.github.io/react/docs/top-level-api.html#react.cloneelementn */nReactElement.cloneElement = function (element, config, children) {n var propName;nn // Original props are copiedn var props = _assign({}, element.props);nn // Reserved names are extractedn var key = element.key;n var ref = element.ref;n // Self is preserved since the owner is preserved.n var self = element._self;n // Source is preserved since cloneElement is unlikely to be targeted by an // transpiler, and the original source is probably a better indicator of then // true owner.n var source = element._source;nn // Owner will be preserved, unless ref is overriddenn var owner = element._owner;nn if (config != null) {n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(n /* eslint-disable no-proto */n config.__proto__ == null || config.__proto__ === Object.prototype,n /* eslint-enable no-proto */n 'React.cloneElement(…): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;n }nn if (hasValidRef(config)) {n // Silently steal the ref from the parent.n ref = config.ref;n owner = ReactCurrentOwner.current;n }n if (hasValidKey(config)) {n key = '' + config.key;n }nn // Remaining properties override existing propsn var defaultProps;n if (element.type && element.type.defaultProps) {n defaultProps = element.type.defaultProps;n }n for (propName in config) {n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {n if (config === undefined && defaultProps !== undefined) {n // Resolve default propsn props = defaultProps;n } else {n props = config;n }n }n }n }nn // Children can be more than one argument, and those are transferred onton // the newly allocated props object.n var childrenLength = arguments.length - 2;n if (childrenLength === 1) {n props.children = children;n } else if (childrenLength > 1) {n var childArray = Array(childrenLength);n for (var i = 0; i < childrenLength; i++) {n childArray = arguments[i + 2];n }n props.children = childArray;n }nn return ReactElement(element.type, key, ref, self, source, owner, props);n};nn/**n * Verifies the object is a ReactElement.n * See facebook.github.io/react/docs/top-level-api.html#react.isvalidelementn * @param {?object} objectn * @return {boolean} True if `object` is a valid component.n * @finaln */nReactElement.isValidElement = function (object) {n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;n};nnReactElement.REACT_ELEMENT_TYPE = REACT_ELEMENT_TYPE;nnmodule.exports = ReactElement;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactElement.jsn ** module id = 9n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactCurrentOwnern */nn'use strict';nn/**n * Keeps track of the current owner.n *n * The current owner is the component who should own any components that aren * currently being constructed.n */nnvar ReactCurrentOwner = {nn /**n * @internaln * @type {ReactComponent}n */n current: nullnn};nnmodule.exports = ReactCurrentOwner;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactCurrentOwner.jsn ** module id = 10n ** module chunks = 0n **/”,“/**n * Copyright 2014-2015, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn'use strict';nnvar emptyFunction = require('./emptyFunction');nn/**n * Similar to invariant but only logs a warning if the condition is not met.n * This can be used to log issues in development environments in criticaln * paths. Removing the logging code for production environments will keep then * same logic and follow the same code paths.n */nnvar warning = emptyFunction;nnif (process.env.NODE_ENV !== 'production') {n (function () {n var printWarning = function printWarning(format) {n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {n args[_key - 1] = arguments;n }nn var argIndex = 0;n var message = 'Warning: ' + format.replace(/%s/g, function () {n return args;n });n if (typeof console !== 'undefined') {n console.error(message);n }n try {n // — Welcome to debugging React —n // This error was thrown as a convenience so that you can use this stackn // to find the callsite that caused this warning to fire.n throw new Error(message);n } catch (x) {}n };nn warning = function warning(condition, format) {n if (format === undefined) {n throw new Error('`warning(condition, format, …args)` requires a warning ' + 'message argument');n }nn if (format.indexOf('Failed Composite propType: ') === 0) {n return; // Ignore CompositeComponent proptype check.n }nn if (!condition) {n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {n args[_key2 - 2] = arguments;n }nn printWarning.apply(undefined, [format].concat(args));n }n };n })();n}nnmodule.exports = warning;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/warning.jsn ** module id = 11n ** module chunks = 0n **/”,“"use strict";nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * n */nnfunction makeEmptyFunction(arg) {n return function () {n return arg;n };n}nn/**n * This function accepts and discards inputs; it has no side effects. This isn * primarily useful idiomatically for overridable function endpoints whichn * always need to be callable, since JS lacks a null-call idiom ala Cocoa.n */nvar emptyFunction = function emptyFunction() {};nnemptyFunction.thatReturns = makeEmptyFunction;nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);nemptyFunction.thatReturnsNull = makeEmptyFunction(null);nemptyFunction.thatReturnsThis = function () {n return this;n};nemptyFunction.thatReturnsArgument = function (arg) {n return arg;n};nnmodule.exports = emptyFunction;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/emptyFunction.jsn ** module id = 12n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule canDefinePropertyn */nn'use strict';nnvar canDefineProperty = false;nif (process.env.NODE_ENV !== 'production') {n try {n Object.defineProperty({}, 'x', { get: function () {} });n canDefineProperty = true;n } catch (x) {n // IE will fail on definePropertyn }n}nnmodule.exports = canDefineProperty;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/canDefineProperty.jsn ** module id = 13n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule traverseAllChildrenn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactElement = require('./ReactElement');nnvar getIteratorFn = require('./getIteratorFn');nvar invariant = require('fbjs/lib/invariant');nvar KeyEscapeUtils = require('./KeyEscapeUtils');nvar warning = require('fbjs/lib/warning');nnvar SEPARATOR = '.';nvar SUBSEPARATOR = ':';nn/**n * TODO: Test that a single child and an array with one item have the same keyn * pattern.n */nnvar didWarnAboutMaps = false;nn/**n * Generate a key string that identifies a component within a set.n *n * @param {*} component A component that could contain a manual key.n * @param {number} index Index that is used if a manual key is not provided.n * @return {string}n */nfunction getComponentKey(component, index) {n // Do some typechecking here since we call this blindly. We want to ensuren // that we don't block potential future ES APIs.n if (component && typeof component === 'object' && component.key != null) {n // Explicit keyn return KeyEscapeUtils.escape(component.key);n }n // Implicit key determined by the index in the setn return index.toString(36);n}nn/**n * @param {?*} children Children tree container.n * @param {!string} nameSoFar Name of the key path so far.n * @param {!function} callback Callback to invoke with each child found.n * @param {?*} traverseContext Used to pass information throughout the traversaln * process.n * @return {!number} The number of children in this subtree.n */nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {n var type = typeof children;nn if (type === 'undefined' || type === 'boolean') {n // All of the above are perceived as null.n children = null;n }nn if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) {n callback(traverseContext, children,n // If it's the only child, treat the name as if it was wrapped in an arrayn // so that it's consistent if the number of children grows.n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);n return 1;n }nn var child;n var nextName;n var subtreeCount = 0; // Count of children found in the current subtree.n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;nn if (Array.isArray(children)) {n for (var i = 0; i < children.length; i++) {n child = children;n nextName = nextNamePrefix + getComponentKey(child, i);n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);n }n } else {n var iteratorFn = getIteratorFn(children);n if (iteratorFn) {n var iterator = iteratorFn.call(children);n var step;n if (iteratorFn !== children.entries) {n var ii = 0;n while (!(step = iterator.next()).done) {n child = step.value;n nextName = nextNamePrefix + getComponentKey(child, ii++);n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);n }n } else {n if (process.env.NODE_ENV !== 'production') {n var mapsAsChildrenAddendum = '';n if (ReactCurrentOwner.current) {n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();n if (mapsAsChildrenOwnerName) {n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';n }n }n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;n didWarnAboutMaps = true;n }n // Iterator will provide entry [k,v] tuples rather than values.n while (!(step = iterator.next()).done) {n var entry = step.value;n if (entry) {n child = entry;n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry) + SUBSEPARATOR + getComponentKey(child, 0);n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);n }n }n }n } else if (type === 'object') {n var addendum = '';n if (process.env.NODE_ENV !== 'production') {n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';n if (children._isReactElement) {n addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';n }n if (ReactCurrentOwner.current) {n var name = ReactCurrentOwner.current.getName();n if (name) {n addendum += ' Check the render method of `' + name + '`.';n }n }n }n var childrenString = String(children);n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;n }n }nn return subtreeCount;n}nn/**n * Traverses children that are typically specified as `props.children`, butn * might also be specified through attributes:n *n * - `traverseAllChildren(this.props.children, …)`n * - `traverseAllChildren(this.props.leftPanelChildren, …)`n *n * The `traverseContext` is an optional argument that is passed through then * entire traversal. It can be used to store accumulations or anything else thatn * the callback might find relevant.n *n * @param {?*} children Children tree object.n * @param {!function} callback To invoke upon traversing each child.n * @param {?*} traverseContext Context for traversal.n * @return {!number} The number of children in this subtree.n */nfunction traverseAllChildren(children, callback, traverseContext) {n if (children == null) {n return 0;n }nn return traverseAllChildrenImpl(children, '', callback, traverseContext);n}nnmodule.exports = traverseAllChildren;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/traverseAllChildren.jsn ** module id = 14n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getIteratorFnn * n */nn'use strict';nn/* global Symbol */nnvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.nn/**n * Returns the iterator method function contained on the iterable object.n *n * Be sure to invoke the function with the iterable as context:n *n * var iteratorFn = getIteratorFn(myIterable);n * if (iteratorFn) {n * var iterator = iteratorFn.call(myIterable);n * …n * }n *n * @param {?object} maybeIterablen * @return {?function}n */nfunction getIteratorFn(maybeIterable) {n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable || maybeIterable);n if (typeof iteratorFn === 'function') {n return iteratorFn;n }n}nnmodule.exports = getIteratorFn;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getIteratorFn.jsn ** module id = 15n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule KeyEscapeUtilsn * n */nn'use strict';nn/**n * Escape and wrap key so it is safe to use as a reactidn *n * @param {string} key to be escaped.n * @return {string} the escaped key.n */nnfunction escape(key) {n var escapeRegex = /[=:]/g;n var escaperLookup = {n '=': '=0',n ':': '=2'n };n var escapedString = ('' + key).replace(escapeRegex, function (match) {n return escaperLookup;n });nn return '$' + escapedString;n}nn/**n * Unescape and unwrap key for human-readable displayn *n * @param {string} key to unescape.n * @return {string} the unescaped key.n */nfunction unescape(key) {n var unescapeRegex = /(=0|=2)/g;n var unescaperLookup = {n '=0': '=',n '=2': ':'n };n var keySubstring = key === '.' && key === '$' ? key.substring(2) : key.substring(1);nn return ('' + keySubstring).replace(unescapeRegex, function (match) {n return unescaperLookup;n });n}nnvar KeyEscapeUtils = {n escape: escape,n unescape: unescapen};nnmodule.exports = KeyEscapeUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/KeyEscapeUtils.jsn ** module id = 16n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactComponentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');nnvar canDefineProperty = require('./canDefineProperty');nvar emptyObject = require('fbjs/lib/emptyObject');nvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nn/**n * Base class helpers for the updating state of a component.n */nfunction ReactComponent(props, context, updater) {n this.props = props;n this.context = context;n this.refs = emptyObject;n // We initialize the default updater but the real one gets injected by then // renderer.n this.updater = updater || ReactNoopUpdateQueue;n}nnReactComponent.prototype.isReactComponent = {};nn/**n * Sets a subset of the state. Always use this to mutaten * state. You should treat `this.state` as immutable.n *n * There is no guarantee that `this.state` will be immediately updated, son * accessing `this.state` after calling this method may return the old value.n *n * There is no guarantee that calls to `setState` will run synchronously,n * as they may eventually be batched together. You can provide an optionaln * callback that will be executed when the call to setState is actuallyn * completed.n *n * When a function is provided to setState, it will be called at some point inn * the future (not synchronously). It will be called with the up to daten * component arguments (state, props, context). These values can be differentn * from this.* because your function may be called after receiveProps but beforen * shouldComponentUpdate, and this new state, props, and context will not yet ben * assigned to this.n *n * @param {object|function} partialState Next partial state or function ton * produce next partial state to be merged with current state.n * @param {?function} callback Called after state is updated.n * @finaln * @protectedn */nReactComponent.prototype.setState = function (partialState, callback) {n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(…): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;n this.updater.enqueueSetState(this, partialState);n if (callback) {n this.updater.enqueueCallback(this, callback, 'setState');n }n};nn/**n * Forces an update. This should only be invoked when it is known withn * certainty that we are not in a DOM transaction.n *n * You may want to call this when you know that some deeper aspect of then * component's state has changed but `setState` was not called.n *n * This will not invoke `shouldComponentUpdate`, but it will invoken * `componentWillUpdate` and `componentDidUpdate`.n *n * @param {?function} callback Called after update is complete.n * @finaln * @protectedn */nReactComponent.prototype.forceUpdate = function (callback) {n this.updater.enqueueForceUpdate(this);n if (callback) {n this.updater.enqueueCallback(this, callback, 'forceUpdate');n }n};nn/**n * Deprecated APIs. These APIs used to exist on classic React classes but sincen * we would like to deprecate them, we're not going to move them over to thisn * modern base class. Instead, we define a getter that warns if it's accessed.n */nif (process.env.NODE_ENV !== 'production') {n var deprecatedAPIs = {n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'github.com/facebook/react/issues/3236).‘]n };n var defineDeprecationWarning = function (methodName, info) {n if (canDefineProperty) {n Object.defineProperty(ReactComponent.prototype, methodName, {n get: function () {n process.env.NODE_ENV !== 'production' ? warning(false, '%s(…) is deprecated in plain JavaScript React classes. %s', info, info) : void 0;n return undefined;n }n });n }n };n for (var fnName in deprecatedAPIs) {n if (deprecatedAPIs.hasOwnProperty(fnName)) {n defineDeprecationWarning(fnName, deprecatedAPIs);n }n }n}nnmodule.exports = ReactComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactComponent.jsn ** module id = 17n ** module chunks = 0n **/”,“/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactNoopUpdateQueuen */nn'use strict';nnvar warning = require('fbjs/lib/warning');nnfunction warnNoop(publicInstance, callerName) {n if (process.env.NODE_ENV !== 'production') {n var constructor = publicInstance.constructor;n process.env.NODE_ENV !== 'production' ? warning(false, '%s(…): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;n }n}nn/**n * This is the abstract API for an update queue.n */nvar ReactNoopUpdateQueue = {nn /**n * Checks whether or not this composite component is mounted.n * @param {ReactClass} publicInstance The instance we want to test.n * @return {boolean} True if mounted, false otherwise.n * @protectedn * @finaln */n isMounted: function (publicInstance) {n return false;n },nn /**n * Enqueue a callback that will be executed after all the pending updatesn * have processed.n *n * @param {ReactClass} publicInstance The instance to use as `this` context.n * @param {?function} callback Called after state is updated.n * @internaln */n enqueueCallback: function (publicInstance, callback) {},nn /**n * Forces an update. This should only be invoked when it is known withn * certainty that we are not in a DOM transaction.n *n * You may want to call this when you know that some deeper aspect of then * component's state has changed but `setState` was not called.n *n * This will not invoke `shouldComponentUpdate`, but it will invoken * `componentWillUpdate` and `componentDidUpdate`.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @internaln */n enqueueForceUpdate: function (publicInstance) {n warnNoop(publicInstance, 'forceUpdate');n },nn /**n * Replaces all of the state. Always use this or `setState` to mutate state.n * You should treat `this.state` as immutable.n *n * There is no guarantee that `this.state` will be immediately updated, son * accessing `this.state` after calling this method may return the old value.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object} completeState Next state.n * @internaln */n enqueueReplaceState: function (publicInstance, completeState) {n warnNoop(publicInstance, 'replaceState');n },nn /**n * Sets a subset of the state. This only exists because _pendingState isn * internal. This provides a merging strategy that is not available to deepn * properties which is confusing. TODO: Expose pendingState or don't use itn * during the merge.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object} partialState Next partial state to be merged with state.n * @internaln */n enqueueSetState: function (publicInstance, partialState) {n warnNoop(publicInstance, 'setState');n }n};nnmodule.exports = ReactNoopUpdateQueue;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactNoopUpdateQueue.jsn ** module id = 18n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn'use strict';nnvar emptyObject = {};nnif (process.env.NODE_ENV !== 'production') {n Object.freeze(emptyObject);n}nnmodule.exports = emptyObject;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/emptyObject.jsn ** module id = 19n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactPureComponentn */nn'use strict';nnvar _assign = require('object-assign');nnvar ReactComponent = require('./ReactComponent');nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');nnvar emptyObject = require('fbjs/lib/emptyObject');nn/**n * Base class helpers for the updating state of a component.n */nfunction ReactPureComponent(props, context, updater) {n // Duplicated from ReactComponent.n this.props = props;n this.context = context;n this.refs = emptyObject;n // We initialize the default updater but the real one gets injected by then // renderer.n this.updater = updater || ReactNoopUpdateQueue;n}nnfunction ComponentDummy() {}nComponentDummy.prototype = ReactComponent.prototype;nReactPureComponent.prototype = new ComponentDummy();nReactPureComponent.prototype.constructor = ReactPureComponent;n// Avoid an extra prototype jump for these methods.n_assign(ReactPureComponent.prototype, ReactComponent.prototype);nReactPureComponent.prototype.isPureReactComponent = true;nnmodule.exports = ReactPureComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactPureComponent.jsn ** module id = 20n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactClassn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar ReactComponent = require('./ReactComponent');nvar ReactElement = require('./ReactElement');nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');nnvar emptyObject = require('fbjs/lib/emptyObject');nvar invariant = require('fbjs/lib/invariant');nvar keyMirror = require('fbjs/lib/keyMirror');nvar keyOf = require('fbjs/lib/keyOf');nvar warning = require('fbjs/lib/warning');nnvar MIXINS_KEY = keyOf({ mixins: null });nn/**n * Policies that describe methods in `ReactClassInterface`.n */nvar SpecPolicy = keyMirror({n /**n * These methods may be defined only once by the class specification or mixin.n */n DEFINE_ONCE: null,n /**n * These methods may be defined by both the class specification and mixins.n * Subsequent definitions will be chained. These methods must return void.n */n DEFINE_MANY: null,n /**n * These methods are overriding the base class.n */n OVERRIDE_BASE: null,n /**n * These methods are similar to DEFINE_MANY, except we assume they returnn * objects. We try to merge the keys of the return values of all the mixed inn * functions. If there is a key conflict we throw.n */n DEFINE_MANY_MERGED: nulln});nnvar injectedMixins = [];nn/**n * Composite components are higher-level components that compose other compositen * or host components.n *n * To create a new type of `ReactClass`, pass a specification ofn * your new class to `React.createClass`. The only requirement of your classn * specification is that you implement a `render` method.n *n * var MyComponent = React.createClass({n * render: function() {n * return <div>Hello World</div>;n * }n * });n *n * The class specification supports a specific protocol of methods that haven * special meaning (e.g. `render`). See `ReactClassInterface` forn * more the comprehensive protocol. Any other properties and methods in then * class specification will be available on the prototype.n *n * @interface ReactClassInterfacen * @internaln */nvar ReactClassInterface = {nn /**n * An array of Mixin objects to include when defining your component.n *n * @type {array}n * @optionaln */n mixins: SpecPolicy.DEFINE_MANY,nn /**n * An object containing properties and methods that should be defined onn * the component's constructor instead of its prototype (static methods).n *n * @type {object}n * @optionaln */n statics: SpecPolicy.DEFINE_MANY,nn /**n * Definition of prop types for this component.n *n * @type {object}n * @optionaln */n propTypes: SpecPolicy.DEFINE_MANY,nn /**n * Definition of context types for this component.n *n * @type {object}n * @optionaln */n contextTypes: SpecPolicy.DEFINE_MANY,nn /**n * Definition of context types this component sets for its children.n *n * @type {object}n * @optionaln */n childContextTypes: SpecPolicy.DEFINE_MANY,nn // ==== Definition methods ====nn /**n * Invoked when the component is mounted. Values in the mapping will be set onn * `this.props` if that prop is not specified (i.e. using an `in` check).n *n * This method is invoked before `getInitialState` and therefore cannot relyn * on `this.state` or use `this.setState`.n *n * @return {object}n * @optionaln */n getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED,nn /**n * Invoked once before the component is mounted. The return value will be usedn * as the initial value of `this.state`.n *n * getInitialState: function() {n * return {n * isOn: false,n * fooBaz: new BazFoo()n * }n * }n *n * @return {object}n * @optionaln */n getInitialState: SpecPolicy.DEFINE_MANY_MERGED,nn /**n * @return {object}n * @optionaln */n getChildContext: SpecPolicy.DEFINE_MANY_MERGED,nn /**n * Uses props from `this.props` and state from `this.state` to render then * structure of the component.n *n * No guarantees are made about when or how often this method is invoked, son * it must not have side effects.n *n * render: function() {n * var name = this.props.name;n * return <div>Hello, {name}!</div>;n * }n *n * @return {ReactComponent}n * @nosideeffectsn * @requiredn */n render: SpecPolicy.DEFINE_ONCE,nn // ==== Delegate methods ====nn /**n * Invoked when the component is initially created and about to be mounted.n * This may have side effects, but any external subscriptions or data createdn * by this method must be cleaned up in `componentWillUnmount`.n *n * @optionaln */n componentWillMount: SpecPolicy.DEFINE_MANY,nn /**n * Invoked when the component has been mounted and has a DOM representation.n * However, there is no guarantee that the DOM node is in the document.n *n * Use this as an opportunity to operate on the DOM when the component hasn * been mounted (initialized and rendered) for the first time.n *n * @param {DOMElement} rootNode DOM element representing the component.n * @optionaln */n componentDidMount: SpecPolicy.DEFINE_MANY,nn /**n * Invoked before the component receives new props.n *n * Use this as an opportunity to react to a prop transition by updating then * state using `this.setState`. Current props are accessed via `this.props`.n *n * componentWillReceiveProps: function(nextProps, nextContext) {n * this.setState({n * likesIncreasing: nextProps.likeCount > this.props.likeCountn * });n * }n *n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming propn * transition may cause a state change, but the opposite is not true. If youn * need it, you are probably looking for `componentWillUpdate`.n *n * @param {object} nextPropsn * @optionaln */n componentWillReceiveProps: SpecPolicy.DEFINE_MANY,nn /**n * Invoked while deciding if the component should be updated as a result ofn * receiving new props, state and/or context.n *n * Use this as an opportunity to `return false` when you're certain that then * transition to the new props/state/context will not require a componentn * update.n *n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {n * return !equal(nextProps, this.props) ||n * !equal(nextState, this.state) ||n * !equal(nextContext, this.context);n * }n *n * @param {object} nextPropsn * @param {?object} nextStaten * @param {?object} nextContextn * @return {boolean} True if the component should update.n * @optionaln */n shouldComponentUpdate: SpecPolicy.DEFINE_ONCE,nn /**n * Invoked when the component is about to update due to a transition fromn * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`n * and `nextContext`.n *n * Use this as an opportunity to perform preparation before an update occurs.n *n * NOTE: You cannot use `this.setState()` in this method.n *n * @param {object} nextPropsn * @param {?object} nextStaten * @param {?object} nextContextn * @param {ReactReconcileTransaction} transactionn * @optionaln */n componentWillUpdate: SpecPolicy.DEFINE_MANY,nn /**n * Invoked when the component's DOM representation has been updated.n *n * Use this as an opportunity to operate on the DOM when the component hasn * been updated.n *n * @param {object} prevPropsn * @param {?object} prevStaten * @param {?object} prevContextn * @param {DOMElement} rootNode DOM element representing the component.n * @optionaln */n componentDidUpdate: SpecPolicy.DEFINE_MANY,nn /**n * Invoked when the component is about to be removed from its parent and haven * its DOM representation destroyed.n *n * Use this as an opportunity to deallocate any external resources.n *n * NOTE: There is no `componentDidUnmount` since your component will have beenn * destroyed by that point.n *n * @optionaln */n componentWillUnmount: SpecPolicy.DEFINE_MANY,nn // ==== Advanced methods ====nn /**n * Updates the component's currently mounted DOM representation.n *n * By default, this implements React's rendering and reconciliation algorithm.n * Sophisticated clients may wish to override this.n *n * @param {ReactReconcileTransaction} transactionn * @internaln * @overridablen */n updateComponent: SpecPolicy.OVERRIDE_BASEnn};nn/**n * Mapping from class specification keys to special processing functions.n *n * Although these are declared like instance properties in the specificationn * when defining classes using `React.createClass`, they are actually staticn * and are accessible on the constructor instead of the prototype. Despiten * being static, they must be defined outside of the "statics" key undern * which all other static methods are defined.n */nvar RESERVED_SPEC_KEYS = {n displayName: function (Constructor, displayName) {n Constructor.displayName = displayName;n },n mixins: function (Constructor, mixins) {n if (mixins) {n for (var i = 0; i < mixins.length; i++) {n mixSpecIntoComponent(Constructor, mixins);n }n }n },n childContextTypes: function (Constructor, childContextTypes) {n if (process.env.NODE_ENV !== 'production') {n validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext);n }n Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);n },n contextTypes: function (Constructor, contextTypes) {n if (process.env.NODE_ENV !== 'production') {n validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context);n }n Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);n },n /**n * Special case getDefaultProps which should move into statics but requiresn * automatic merging.n */n getDefaultProps: function (Constructor, getDefaultProps) {n if (Constructor.getDefaultProps) {n Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);n } else {n Constructor.getDefaultProps = getDefaultProps;n }n },n propTypes: function (Constructor, propTypes) {n if (process.env.NODE_ENV !== 'production') {n validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);n }n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);n },n statics: function (Constructor, statics) {n mixStaticSpecIntoComponent(Constructor, statics);n },n autobind: function () {} };nn// noopnfunction validateTypeDef(Constructor, typeDef, location) {n for (var propName in typeDef) {n if (typeDef.hasOwnProperty(propName)) {n // use a warning instead of an invariant so componentsn // don't show up in prod but only in __DEV__n process.env.NODE_ENV !== 'production' ? warning(typeof typeDef === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames, propName) : void 0;n }n }n}nnfunction validateMethodOverride(isAlreadyDefined, name) {n var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface : null;nn // Disallow overriding of base class methods unless explicitly allowed.n if (ReactClassMixin.hasOwnProperty(name)) {n !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;n }nn // Disallow defining methods more than once unless explicitly allowed.n if (isAlreadyDefined) {n !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;n }n}nn/**n * Mixin helper which handles policy validation and reservedn * specification keys when building React classes.n */nfunction mixSpecIntoComponent(Constructor, spec) {n if (!spec) {n if (process.env.NODE_ENV !== 'production') {n var typeofSpec = typeof spec;n var isMixinValid = typeofSpec === 'object' && spec !== null;nn process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;n }nn return;n }nn !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;n !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;nn var proto = Constructor.prototype;n var autoBindPairs = proto.__reactAutoBindPairs;nn // By handling mixins before any other properties, we ensure the samen // chaining order is applied to methods with DEFINE_MANY policy, whethern // mixins are listed before or after these methods in the spec.n if (spec.hasOwnProperty(MIXINS_KEY)) {n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);n }nn for (var name in spec) {n if (!spec.hasOwnProperty(name)) {n continue;n }nn if (name === MIXINS_KEY) {n // We have already handled mixins in a special case above.n continue;n }nn var property = spec;n var isAlreadyDefined = proto.hasOwnProperty(name);n validateMethodOverride(isAlreadyDefined, name);nn if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {n RESERVED_SPEC_KEYS(Constructor, property);n } else {n // Setup methods on prototype:n // The following member methods should not be automatically bound:n // 1. Expected ReactClass methods (in the "interface").n // 2. Overridden methods (that were mixed in).n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);n var isFunction = typeof property === 'function';n var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;nn if (shouldAutoBind) {n autoBindPairs.push(name, property);n proto = property;n } else {n if (isAlreadyDefined) {n var specPolicy = ReactClassInterface;nn // These cases should already be caught by validateMethodOverride.n !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;nn // For methods which are defined more than once, call the existingn // methods before calling the new property, merging if appropriate.n if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {n proto = createMergedResultFunction(proto, property);n } else if (specPolicy === SpecPolicy.DEFINE_MANY) {n proto = createChainedFunction(proto, property);n }n } else {n proto = property;n if (process.env.NODE_ENV !== 'production') {n // Add verbose displayName to the function, which helps when lookingn // at profiling tools.n if (typeof property === 'function' && spec.displayName) {n proto.displayName = spec.displayName + '_' + name;n }n }n }n }n }n }n}nnfunction mixStaticSpecIntoComponent(Constructor, statics) {n if (!statics) {n return;n }n for (var name in statics) {n var property = statics;n if (!statics.hasOwnProperty(name)) {n continue;n }nn var isReserved = name in RESERVED_SPEC_KEYS;n !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;nn var isInherited = name in Constructor;n !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;n Constructor = property;n }n}nn/**n * Merge two objects, but throw if both contain the same key.n *n * @param {object} one The first object, which is mutated.n * @param {object} two The second objectn * @return {object} one after it has been mutated to contain everything in two.n */nfunction mergeIntoWithNoDuplicateKeys(one, two) {n !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;nn for (var key in two) {n if (two.hasOwnProperty(key)) {n !(one === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;n one = two;n }n }n return one;n}nn/**n * Creates a function that invokes two functions and merges their return values.n *n * @param {function} one Function to invoke first.n * @param {function} two Function to invoke second.n * @return {function} Function that invokes the two argument functions.n * @privaten */nfunction createMergedResultFunction(one, two) {n return function mergedResult() {n var a = one.apply(this, arguments);n var b = two.apply(this, arguments);n if (a == null) {n return b;n } else if (b == null) {n return a;n }n var c = {};n mergeIntoWithNoDuplicateKeys(c, a);n mergeIntoWithNoDuplicateKeys(c, b);n return c;n };n}nn/**n * Creates a function that invokes two functions and ignores their return vales.n *n * @param {function} one Function to invoke first.n * @param {function} two Function to invoke second.n * @return {function} Function that invokes the two argument functions.n * @privaten */nfunction createChainedFunction(one, two) {n return function chainedFunction() {n one.apply(this, arguments);n two.apply(this, arguments);n };n}nn/**n * Binds a method to the component.n *n * @param {object} component Component whose method is going to be bound.n * @param {function} method Method to be bound.n * @return {function} The bound method.n */nfunction bindAutoBindMethod(component, method) {n var boundMethod = method.bind(component);n if (process.env.NODE_ENV !== 'production') {n boundMethod.__reactBoundContext = component;n boundMethod.__reactBoundMethod = method;n boundMethod.__reactBoundArguments = null;n var componentName = component.constructor.displayName;n var _bind = boundMethod.bind;n boundMethod.bind = function (newThis) {n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {n args[_key - 1] = arguments;n }nn // User is trying to bind() an autobound method; we effectively willn // ignore the value of "this" that the user is trying to use, son // let's warn.n if (newThis !== component && newThis !== null) {n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;n } else if (!args.length) {n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;n return boundMethod;n }n var reboundMethod = _bind.apply(boundMethod, arguments);n reboundMethod.__reactBoundContext = component;n reboundMethod.__reactBoundMethod = method;n reboundMethod.__reactBoundArguments = args;n return reboundMethod;n };n }n return boundMethod;n}nn/**n * Binds all auto-bound methods in a component.n *n * @param {object} component Component whose method is going to be bound.n */nfunction bindAutoBindMethods(component) {n var pairs = component.__reactAutoBindPairs;n for (var i = 0; i < pairs.length; i += 2) {n var autoBindKey = pairs;n var method = pairs[i + 1];n component = bindAutoBindMethod(component, method);n }n}nn/**n * Add more to the ReactClass base class. These are all legacy features andn * therefore not already part of the modern ReactComponent.n */nvar ReactClassMixin = {nn /**n * TODO: This will be deprecated because state should always keep a consistentn * type signature and the only use case for this, is to avoid that.n */n replaceState: function (newState, callback) {n this.updater.enqueueReplaceState(this, newState);n if (callback) {n this.updater.enqueueCallback(this, callback, 'replaceState');n }n },nn /**n * Checks whether or not this composite component is mounted.n * @return {boolean} True if mounted, false otherwise.n * @protectedn * @finaln */n isMounted: function () {n return this.updater.isMounted(this);n }n};nnvar ReactClassComponent = function () {};n_assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);nn/**n * Module for creating composite components.n *n * @class ReactClassn */nvar ReactClass = {nn /**n * Creates a composite component class given a class specification.n * See facebook.github.io/react/docs/top-level-api.html#react.createclassn *n * @param {object} spec Class specification (which must define `render`).n * @return {function} Component constructor function.n * @publicn */n createClass: function (spec) {n var Constructor = function (props, context, updater) {n // This constructor gets overridden by mocks. The argument is usedn // by mocks to assert on what gets mounted.nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: fb.me/react-legacyfactory') : void 0;n }nn // Wire up auto-bindingn if (this.__reactAutoBindPairs.length) {n bindAutoBindMethods(this);n }nn this.props = props;n this.context = context;n this.refs = emptyObject;n this.updater = updater || ReactNoopUpdateQueue;nn this.state = null;nn // ReactClasses doesn't have constructors. Instead, they use then // getInitialState and componentWillMount methods for initialization.nn var initialState = this.getInitialState ? this.getInitialState() : null;n if (process.env.NODE_ENV !== 'production') {n // We allow auto-mocks to proceed as if they're returning null.n if (initialState === undefined && this.getInitialState._isMockFunction) {n // This is probably bad practice. Consider warning here andn // deprecating this convenience.n initialState = null;n }n }n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0;nn this.state = initialState;n };n Constructor.prototype = new ReactClassComponent();n Constructor.prototype.constructor = Constructor;n Constructor.prototype.__reactAutoBindPairs = [];nn injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));nn mixSpecIntoComponent(Constructor, spec);nn // Initialize the defaultProps property after all mixins have been merged.n if (Constructor.getDefaultProps) {n Constructor.defaultProps = Constructor.getDefaultProps();n }nn if (process.env.NODE_ENV !== 'production') {n // This is a tag to indicate that the use of these method names is ok,n // since it's used with createClass. If it's not, then it's likely an // mistake so we'll warn you to use the static property, propertyn // initializer or constructor respectively.n if (Constructor.getDefaultProps) {n Constructor.getDefaultProps.isReactClassApproved = {};n }n if (Constructor.prototype.getInitialState) {n Constructor.prototype.getInitialState.isReactClassApproved = {};n }n }nn !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(…): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0;nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;n }nn // Reduce time spent doing lookups by setting these on the prototype.n for (var methodName in ReactClassInterface) {n if (!Constructor.prototype) {n Constructor.prototype = null;n }n }nn return Constructor;n },nn injection: {n injectMixin: function (mixin) {n injectedMixins.push(mixin);n }n }nn};nnmodule.exports = ReactClass;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactClass.jsn ** module id = 21n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactPropTypeLocationsn */nn'use strict';nnvar keyMirror = require('fbjs/lib/keyMirror');nnvar ReactPropTypeLocations = keyMirror({n prop: null,n context: null,n childContext: nulln});nnmodule.exports = ReactPropTypeLocations;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactPropTypeLocations.jsn ** module id = 22n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecks static-onlyn */nn'use strict';nnvar invariant = require('./invariant');nn/**n * Constructs an enumeration with keys equal to their value.n *n * For example:n *n * var COLORS = keyMirror({blue: null, red: null});n * var myColor = COLORS.blue;n * var isColorValid = !!COLORS;n *n * The last line could not be performed if the values of the generated enum weren * not equal to their keys.n *n * Input: {key1: val1, key2: val2}n * Output: {key1: key1, key2: key2}n *n * @param {object} objn * @return {object}n */nvar keyMirror = function keyMirror(obj) {n var ret = {};n var key;n !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(…): Argument must be an object.') : invariant(false) : void 0;n for (key in obj) {n if (!obj.hasOwnProperty(key)) {n continue;n }n ret = key;n }n return ret;n};nnmodule.exports = keyMirror;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/keyMirror.jsn ** module id = 23n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactPropTypeLocationNamesn */nn'use strict';nnvar ReactPropTypeLocationNames = {};nnif (process.env.NODE_ENV !== 'production') {n ReactPropTypeLocationNames = {n prop: 'prop',n context: 'context',n childContext: 'child context'n };n}nnmodule.exports = ReactPropTypeLocationNames;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactPropTypeLocationNames.jsn ** module id = 24n ** module chunks = 0n **/”,“"use strict";nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn/**n * Allows extraction of a minified key. Let's the build system minify keysn * without losing the ability to dynamically use key strings as valuesn * themselves. Pass in an object with a single key/val pair and it will returnn * you the string key of that single record. Suppose you want to grab then * value for a key 'className' inside of an object. Key/val minification mayn * have aliased that key to be 'xa12'. keyOf({className: null}) will returnn * 'xa12' in that case. Resolve keys you want to use once at startup time, thenn * reuse those resolutions.n */nvar keyOf = function keyOf(oneKeyObj) {n var key;n for (key in oneKeyObj) {n if (!oneKeyObj.hasOwnProperty(key)) {n continue;n }n return key;n }n return null;n};nnmodule.exports = keyOf;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/keyOf.jsn ** module id = 25n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMFactoriesn */nn'use strict';nnvar ReactElement = require('./ReactElement');nn/**n * Create a factory that creates HTML tag elements.n *n * @privaten */nvar createDOMFactory = ReactElement.createFactory;nif (process.env.NODE_ENV !== 'production') {n var ReactElementValidator = require('./ReactElementValidator');n createDOMFactory = ReactElementValidator.createFactory;n}nn/**n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.n * This is also accessible via `React.DOM`.n *n * @publicn */nvar ReactDOMFactories = {n a: createDOMFactory('a'),n abbr: createDOMFactory('abbr'),n address: createDOMFactory('address'),n area: createDOMFactory('area'),n article: createDOMFactory('article'),n aside: createDOMFactory('aside'),n audio: createDOMFactory('audio'),n b: createDOMFactory('b'),n base: createDOMFactory('base'),n bdi: createDOMFactory('bdi'),n bdo: createDOMFactory('bdo'),n big: createDOMFactory('big'),n blockquote: createDOMFactory('blockquote'),n body: createDOMFactory('body'),n br: createDOMFactory('br'),n button: createDOMFactory('button'),n canvas: createDOMFactory('canvas'),n caption: createDOMFactory('caption'),n cite: createDOMFactory('cite'),n code: createDOMFactory('code'),n col: createDOMFactory('col'),n colgroup: createDOMFactory('colgroup'),n data: createDOMFactory('data'),n datalist: createDOMFactory('datalist'),n dd: createDOMFactory('dd'),n del: createDOMFactory('del'),n details: createDOMFactory('details'),n dfn: createDOMFactory('dfn'),n dialog: createDOMFactory('dialog'),n div: createDOMFactory('div'),n dl: createDOMFactory('dl'),n dt: createDOMFactory('dt'),n em: createDOMFactory('em'),n embed: createDOMFactory('embed'),n fieldset: createDOMFactory('fieldset'),n figcaption: createDOMFactory('figcaption'),n figure: createDOMFactory('figure'),n footer: createDOMFactory('footer'),n form: createDOMFactory('form'),n h1: createDOMFactory('h1'),n h2: createDOMFactory('h2'),n h3: createDOMFactory('h3'),n h4: createDOMFactory('h4'),n h5: createDOMFactory('h5'),n h6: createDOMFactory('h6'),n head: createDOMFactory('head'),n header: createDOMFactory('header'),n hgroup: createDOMFactory('hgroup'),n hr: createDOMFactory('hr'),n html: createDOMFactory('html'),n i: createDOMFactory('i'),n iframe: createDOMFactory('iframe'),n img: createDOMFactory('img'),n input: createDOMFactory('input'),n ins: createDOMFactory('ins'),n kbd: createDOMFactory('kbd'),n keygen: createDOMFactory('keygen'),n label: createDOMFactory('label'),n legend: createDOMFactory('legend'),n li: createDOMFactory('li'),n link: createDOMFactory('link'),n main: createDOMFactory('main'),n map: createDOMFactory('map'),n mark: createDOMFactory('mark'),n menu: createDOMFactory('menu'),n menuitem: createDOMFactory('menuitem'),n meta: createDOMFactory('meta'),n meter: createDOMFactory('meter'),n nav: createDOMFactory('nav'),n noscript: createDOMFactory('noscript'),n object: createDOMFactory('object'),n ol: createDOMFactory('ol'),n optgroup: createDOMFactory('optgroup'),n option: createDOMFactory('option'),n output: createDOMFactory('output'),n p: createDOMFactory('p'),n param: createDOMFactory('param'),n picture: createDOMFactory('picture'),n pre: createDOMFactory('pre'),n progress: createDOMFactory('progress'),n q: createDOMFactory('q'),n rp: createDOMFactory('rp'),n rt: createDOMFactory('rt'),n ruby: createDOMFactory('ruby'),n s: createDOMFactory('s'),n samp: createDOMFactory('samp'),n script: createDOMFactory('script'),n section: createDOMFactory('section'),n select: createDOMFactory('select'),n small: createDOMFactory('small'),n source: createDOMFactory('source'),n span: createDOMFactory('span'),n strong: createDOMFactory('strong'),n style: createDOMFactory('style'),n sub: createDOMFactory('sub'),n summary: createDOMFactory('summary'),n sup: createDOMFactory('sup'),n table: createDOMFactory('table'),n tbody: createDOMFactory('tbody'),n td: createDOMFactory('td'),n textarea: createDOMFactory('textarea'),n tfoot: createDOMFactory('tfoot'),n th: createDOMFactory('th'),n thead: createDOMFactory('thead'),n time: createDOMFactory('time'),n title: createDOMFactory('title'),n tr: createDOMFactory('tr'),n track: createDOMFactory('track'),n u: createDOMFactory('u'),n ul: createDOMFactory('ul'),n 'var': createDOMFactory('var'),n video: createDOMFactory('video'),n wbr: createDOMFactory('wbr'),nn // SVGn circle: createDOMFactory('circle'),n clipPath: createDOMFactory('clipPath'),n defs: createDOMFactory('defs'),n ellipse: createDOMFactory('ellipse'),n g: createDOMFactory('g'),n image: createDOMFactory('image'),n line: createDOMFactory('line'),n linearGradient: createDOMFactory('linearGradient'),n mask: createDOMFactory('mask'),n path: createDOMFactory('path'),n pattern: createDOMFactory('pattern'),n polygon: createDOMFactory('polygon'),n polyline: createDOMFactory('polyline'),n radialGradient: createDOMFactory('radialGradient'),n rect: createDOMFactory('rect'),n stop: createDOMFactory('stop'),n svg: createDOMFactory('svg'),n text: createDOMFactory('text'),n tspan: createDOMFactory('tspan')n};nnmodule.exports = ReactDOMFactories;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMFactories.jsn ** module id = 26n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactElementValidatorn */nn/**n * ReactElementValidator provides a wrapper around a element factoryn * which validates the props passed to the element. This is intended to ben * used only in DEV and could be replaced by a static type checker for languagesn * that support it.n */nn'use strict';nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactComponentTreeHook = require('./ReactComponentTreeHook');nvar ReactElement = require('./ReactElement');nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');nnvar checkReactTypeSpec = require('./checkReactTypeSpec');nnvar canDefineProperty = require('./canDefineProperty');nvar getIteratorFn = require('./getIteratorFn');nvar warning = require('fbjs/lib/warning');nnfunction getDeclarationErrorAddendum() {n if (ReactCurrentOwner.current) {n var name = ReactCurrentOwner.current.getName();n if (name) {n return ' Check the render method of `' + name + '`.';n }n }n return '';n}nn/**n * Warn if there's no key explicitly set on dynamic arrays of children orn * object keys are not valid. This allows us to keep track of children betweenn * updates.n */nvar ownerHasKeyUseWarning = {};nnfunction getCurrentComponentErrorInfo(parentType) {n var info = getDeclarationErrorAddendum();nn if (!info) {n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;n if (parentName) {n info = ' Check the top-level render call using <' + parentName + '>.';n }n }n return info;n}nn/**n * Warn if the element doesn't have an explicit key assigned to it.n * This element is in an array. The array could grow and shrink or ben * reordered. All children that haven't already been validated are required ton * have a "key" property assigned to it. Error statuses are cached so a warningn * will only be shown once.n *n * @internaln * @param {ReactElement} element Element that requires a key.n * @param {*} parentType element's parent's type.n */nfunction validateExplicitKey(element, parentType) {n if (!element._store || element._store.validated || element.key != null) {n return;n }n element._store.validated = true;nn var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {});nn var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);n if (memoizer) {n return;n }n memoizer = true;nn // Usually the current owner is the offender, but if it accepts children as an // property, it may be the creator of the child that's responsible forn // assigning it a key.n var childOwner = '';n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {n // Give the component that originally created this child.n childOwner = ' It was passed a child from ' + element._owner.getName() + '.';n }nn process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0;n}nn/**n * Ensure that every element either is passed in a static location, in ann * array with an explicit keys property defined, or in an object literaln * with valid key property.n *n * @internaln * @param {ReactNode} node Statically passed child of any type.n * @param {*} parentType node's parent's type.n */nfunction validateChildKeys(node, parentType) {n if (typeof node !== 'object') {n return;n }n if (Array.isArray(node)) {n for (var i = 0; i < node.length; i++) {n var child = node;n if (ReactElement.isValidElement(child)) {n validateExplicitKey(child, parentType);n }n }n } else if (ReactElement.isValidElement(node)) {n // This element was passed in a valid location.n if (node._store) {n node._store.validated = true;n }n } else if (node) {n var iteratorFn = getIteratorFn(node);n // Entry iterators provide implicit keys.n if (iteratorFn) {n if (iteratorFn !== node.entries) {n var iterator = iteratorFn.call(node);n var step;n while (!(step = iterator.next()).done) {n if (ReactElement.isValidElement(step.value)) {n validateExplicitKey(step.value, parentType);n }n }n }n }n }n}nn/**n * Given an element, validate that its props follow the propTypes definition,n * provided by the type.n *n * @param {ReactElement} elementn */nfunction validatePropTypes(element) {n var componentClass = element.type;n if (typeof componentClass !== 'function') {n return;n }n var name = componentClass.displayName || componentClass.name;n if (componentClass.propTypes) {n checkReactTypeSpec(componentClass.propTypes, element.props, ReactPropTypeLocations.prop, name, element, null);n }n if (typeof componentClass.getDefaultProps === 'function') {n process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;n }n}nnvar ReactElementValidator = {nn createElement: function (type, props, children) {n var validType = typeof type === 'string' || typeof type === 'function';n // We warn in this case but don't throw. We expect the element creation ton // succeed and there will likely be errors in render.n if (!validType) {n process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0;n }nn var element = ReactElement.createElement.apply(this, arguments);nn // The result can be nullish if a mock or a custom function is used.n // TODO: Drop this when these are no longer allowed as the type argument.n if (element == null) {n return element;n }nn // Skip key warning if the type isn't valid since our key validation logicn // doesn't expect a non-string/function type and can throw confusing errors.n // We don't want exception behavior to differ between dev and prod.n // (Rendering will throw with a helpful message and as soon as the type isn // fixed, the key warnings will appear.)n if (validType) {n for (var i = 2; i < arguments.length; i++) {n validateChildKeys(arguments, type);n }n }nn validatePropTypes(element);nn return element;n },nn createFactory: function (type) {n var validatedFactory = ReactElementValidator.createElement.bind(null, type);n // Legacy hook TODO: Warn if this is accessedn validatedFactory.type = type;nn if (process.env.NODE_ENV !== 'production') {n if (canDefineProperty) {n Object.defineProperty(validatedFactory, 'type', {n enumerable: false,n get: function () {n process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0;n Object.defineProperty(this, 'type', {n value: typen });n return type;n }n });n }n }nn return validatedFactory;n },nn cloneElement: function (element, props, children) {n var newElement = ReactElement.cloneElement.apply(this, arguments);n for (var i = 2; i < arguments.length; i++) {n validateChildKeys(arguments, newElement.type);n }n validatePropTypes(newElement);n return newElement;n }nn};nnmodule.exports = ReactElementValidator;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactElementValidator.jsn ** module id = 27n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactComponentTreeHookn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnfunction isNative(fn) {n // Based on isNative() from Lodashn var funcToString = Function.prototype.toString;n var hasOwnProperty = Object.prototype.hasOwnProperty;n var reIsNative = RegExp('^' + funcToStringn // Take an example native function source for comparisonn .call(hasOwnProperty)n // Strip regex characters so we can use it for regexn .replace(/[\\^$.*+?(){}|]/g, '\\$&')n // Remove hasOwnProperty from the template to make it genericn .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');n try {n var source = funcToString.call(fn);n return reIsNative.test(source);n } catch (err) {n return false;n }n}nnvar canUseCollections =n// Array.fromntypeof Array.from === 'function' &&n// Mapntypeof Map === 'function' && isNative(Map) &&n// Map.prototype.keysnMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&n// Setntypeof Set === 'function' && isNative(Set) &&n// Set.prototype.keysnSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);nnvar itemMap;nvar rootIDSet;nnvar itemByKey;nvar rootByKey;nnif (canUseCollections) {n itemMap = new Map();n rootIDSet = new Set();n} else {n itemByKey = {};n rootByKey = {};n}nnvar unmountedIDs = [];nn// Use non-numeric keys to prevent V8 performance issues:n// github.com/facebook/react/pull/7232nfunction getKeyFromID(id) {n return '.' + id;n}nfunction getIDFromKey(key) {n return parseInt(key.substr(1), 10);n}nnfunction get(id) {n if (canUseCollections) {n return itemMap.get(id);n } else {n var key = getKeyFromID(id);n return itemByKey;n }n}nnfunction remove(id) {n if (canUseCollections) {n itemMap(id);n } else {n var key = getKeyFromID(id);n delete itemByKey;n }n}nnfunction create(id, element, parentID) {n var item = {n element: element,n parentID: parentID,n text: null,n childIDs: [],n isMounted: false,n updateCount: 0n };nn if (canUseCollections) {n itemMap.set(id, item);n } else {n var key = getKeyFromID(id);n itemByKey = item;n }n}nnfunction addRoot(id) {n if (canUseCollections) {n rootIDSet.add(id);n } else {n var key = getKeyFromID(id);n rootByKey = true;n }n}nnfunction removeRoot(id) {n if (canUseCollections) {n rootIDSet(id);n } else {n var key = getKeyFromID(id);n delete rootByKey;n }n}nnfunction getRegisteredIDs() {n if (canUseCollections) {n return Array.from(itemMap.keys());n } else {n return Object.keys(itemByKey).map(getIDFromKey);n }n}nnfunction getRootIDs() {n if (canUseCollections) {n return Array.from(rootIDSet.keys());n } else {n return Object.keys(rootByKey).map(getIDFromKey);n }n}nnfunction purgeDeep(id) {n var item = get(id);n if (item) {n var childIDs = item.childIDs;nn remove(id);n childIDs.forEach(purgeDeep);n }n}nnfunction describeComponentFrame(name, source, ownerName) {n return '\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');n}nnfunction getDisplayName(element) {n if (element == null) {n return '#empty';n } else if (typeof element === 'string' || typeof element === 'number') {n return '#text';n } else if (typeof element.type === 'string') {n return element.type;n } else {n return element.type.displayName || element.type.name || 'Unknown';n }n}nnfunction describeID(id) {n var name = ReactComponentTreeHook.getDisplayName(id);n var element = ReactComponentTreeHook.getElement(id);n var ownerID = ReactComponentTreeHook.getOwnerID(id);n var ownerName;n if (ownerID) {n ownerName = ReactComponentTreeHook.getDisplayName(ownerID);n }n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;n return describeComponentFrame(name, element && element._source, ownerName);n}nnvar ReactComponentTreeHook = {n onSetChildren: function (id, nextChildIDs) {n var item = get(id);n item.childIDs = nextChildIDs;nn for (var i = 0; i < nextChildIDs.length; i++) {n var nextChildID = nextChildIDs;n var nextChild = get(nextChildID);n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;n !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;n if (nextChild.parentID == null) {n nextChild.parentID = id;n // TODO: This shouldn't be necessary but mounting a new root during inn // componentWillMount currently causes not-yet-mounted components ton // be purged from our tree data so their parent ID is missing.n }n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;n }n },n onBeforeMountComponent: function (id, element, parentID) {n create(id, element, parentID);n },n onBeforeUpdateComponent: function (id, element) {n var item = get(id);n if (!item || !item.isMounted) {n // We may end up here as a result of setState() in componentWillUnmount().n // In this case, ignore the element.n return;n }n item.element = element;n },n onMountComponent: function (id) {n var item = get(id);n item.isMounted = true;n var isRoot = item.parentID === 0;n if (isRoot) {n addRoot(id);n }n },n onUpdateComponent: function (id) {n var item = get(id);n if (!item || !item.isMounted) {n // We may end up here as a result of setState() in componentWillUnmount().n // In this case, ignore the element.n return;n }n item.updateCount++;n },n onUnmountComponent: function (id) {n var item = get(id);n if (item) {n // We need to check if it exists.n // `item` might not exist if it is inside an error boundary, and a siblingn // error boundary child threw while mounting. Then this instance nevern // got a chance to mount, but it still gets an unmounting event duringn // the error boundary cleanup.n item.isMounted = false;n var isRoot = item.parentID === 0;n if (isRoot) {n removeRoot(id);n }n }n unmountedIDs.push(id);n },n purgeUnmountedComponents: function () {n if (ReactComponentTreeHook._preventPurging) {n // Should only be used for testing.n return;n }nn for (var i = 0; i < unmountedIDs.length; i++) {n var id = unmountedIDs;n purgeDeep(id);n }n unmountedIDs.length = 0;n },n isMounted: function (id) {n var item = get(id);n return item ? item.isMounted : false;n },n getCurrentStackAddendum: function (topElement) {n var info = '';n if (topElement) {n var type = topElement.type;n var name = typeof type === 'function' ? type.displayName || type.name : type;n var owner = topElement._owner;n info += describeComponentFrame(name || 'Unknown', topElement._source, owner && owner.getName());n }nn var currentOwner = ReactCurrentOwner.current;n var id = currentOwner && currentOwner._debugID;nn info += ReactComponentTreeHook.getStackAddendumByID(id);n return info;n },n getStackAddendumByID: function (id) {n var info = '';n while (id) {n info += describeID(id);n id = ReactComponentTreeHook.getParentID(id);n }n return info;n },n getChildIDs: function (id) {n var item = get(id);n return item ? item.childIDs : [];n },n getDisplayName: function (id) {n var element = ReactComponentTreeHook.getElement(id);n if (!element) {n return null;n }n return getDisplayName(element);n },n getElement: function (id) {n var item = get(id);n return item ? item.element : null;n },n getOwnerID: function (id) {n var element = ReactComponentTreeHook.getElement(id);n if (!element || !element._owner) {n return null;n }n return element._owner._debugID;n },n getParentID: function (id) {n var item = get(id);n return item ? item.parentID : null;n },n getSource: function (id) {n var item = get(id);n var element = item ? item.element : null;n var source = element != null ? element._source : null;n return source;n },n getText: function (id) {n var element = ReactComponentTreeHook.getElement(id);n if (typeof element === 'string') {n return element;n } else if (typeof element === 'number') {n return '' + element;n } else {n return null;n }n },n getUpdateCount: function (id) {n var item = get(id);n return item ? item.updateCount : 0;n },nnn getRegisteredIDs: getRegisteredIDs,nn getRootIDs: getRootIDsn};nnmodule.exports = ReactComponentTreeHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactComponentTreeHook.jsn ** module id = 28n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule checkReactTypeSpecn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnvar ReactComponentTreeHook;nnif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {n // Temporary hack.n // Inline requires don't work well with Jest:n // github.com/facebook/react/issues/7240n // Remove the inline requires when we don't need them anymore:n // github.com/facebook/react/pull/7178n ReactComponentTreeHook = require('./ReactComponentTreeHook');n}nnvar loggedTypeFailures = {};nn/**n * Assert that the values match with the type specs.n * Error messages are memorized and will only be shown once.n *n * @param {object} typeSpecs Map of name to a ReactPropTypen * @param {object} values Runtime values that need to be type-checkedn * @param {string} location e.g. "prop", "context", "child context"n * @param {string} componentName Name of the component for error messages.n * @param {?object} element The React element that is being type-checkedn * @param {?number} debugID The React component instance that is being type-checkedn * @privaten */nfunction checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) {n for (var typeSpecName in typeSpecs) {n if (typeSpecs.hasOwnProperty(typeSpecName)) {n var error;n // Prop type validation may throw. In case they do, we don't want ton // fail the render phase where it didn't fail before. So we log it.n // After these have been cleaned up, we'll let them throw.n try {n // This is intentionally an invariant that gets caught. It's the samen // behavior as without this statement except with a better message.n !(typeof typeSpecs === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames, typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames, typeSpecName) : void 0;n error = typeSpecs(values, typeSpecName, componentName, location, null, ReactPropTypesSecret);n } catch (ex) {n error = ex;n }n process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames, typeSpecName, typeof error) : void 0;n if (error instanceof Error && !(error.message in loggedTypeFailures)) {n // Only monitor this failure once because there tends to be a lot of then // same error.n loggedTypeFailures = true;nn var componentStackInfo = '';nn if (process.env.NODE_ENV !== 'production') {n if (!ReactComponentTreeHook) {n ReactComponentTreeHook = require('./ReactComponentTreeHook');n }n if (debugID !== null) {n componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);n } else if (element !== null) {n componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element);n }n }nn process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0;n }n }n }n}nnmodule.exports = checkReactTypeSpec;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/checkReactTypeSpec.jsn ** module id = 29n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactPropTypesSecretn */nn'use strict';nnvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';nnmodule.exports = ReactPropTypesSecret;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactPropTypesSecret.jsn ** module id = 30n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactPropTypesn */nn'use strict';nnvar ReactElement = require('./ReactElement');nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar getIteratorFn = require('./getIteratorFn');nvar warning = require('fbjs/lib/warning');nn/**n * Collection of methods that allow declaration and validation of props that aren * supplied to React components. Example usage:n *n * var Props = require('ReactPropTypes');n * var MyArticle = React.createClass({n * propTypes: {n * // An optional string prop named "description".n * description: Props.string,n *n * // A required enum prop named "category".n * category: Props.oneOf().isRequired,n *n * // A prop named "dialog" that requires an instance of Dialog.n * dialog: Props.instanceOf(Dialog).isRequiredn * },n * render: function() { … }n * });n *n * A more formal specification of how these methods are used:n *n * type := array|bool|func|object|number|string|oneOf()|instanceOf(…)n * decl := ReactPropTypes.{type}(.isRequired)?n *n * Each and every declaration produces a function with the same signature. Thisn * allows the creation of custom validation functions. For example:n *n * var MyLink = React.createClass({n * propTypes: {n * // An optional string or URI prop named "href".n * href: function(props, propName, componentName) {n * var propValue = props;n * if (propValue != null && typeof propValue !== 'string' &&n * !(propValue instanceof URI)) {n * return new Error(n * 'Expected a string or an URI for ' + propName + ' in ' +n * componentNamen * );n * }n * }n * },n * render: function() {…}n * });n *n * @internaln */nnvar ANONYMOUS = '<<anonymous>>';nnvar ReactPropTypes = {n array: createPrimitiveTypeChecker('array'),n bool: createPrimitiveTypeChecker('boolean'),n func: createPrimitiveTypeChecker('function'),n number: createPrimitiveTypeChecker('number'),n object: createPrimitiveTypeChecker('object'),n string: createPrimitiveTypeChecker('string'),n symbol: createPrimitiveTypeChecker('symbol'),nn any: createAnyTypeChecker(),n arrayOf: createArrayOfTypeChecker,n element: createElementTypeChecker(),n instanceOf: createInstanceTypeChecker,n node: createNodeChecker(),n objectOf: createObjectOfTypeChecker,n oneOf: createEnumTypeChecker,n oneOfType: createUnionTypeChecker,n shape: createShapeTypeCheckern};nn/**n * inlined Object.is polyfill to avoid requiring consumers ship their ownn * developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isn */n/*eslint-disable no-self-compare*/nfunction is(x, y) {n // SameValue algorithmn if (x === y) {n // Steps 1-5, 7-10n // Steps 6.b-6.e: +0 != -0n return x !== 0 || 1 / x === 1 / y;n } else {n // Step 6.a: NaN == NaNn return x !== x && y !== y;n }n}n/*eslint-enable no-self-compare*/nn/**n * We use an Error-like object for backward compatibility as people may calln * PropTypes directly and inspect their output. However we don't use realn * Errors anymore. We don't inspect their stack anyway, and creating themn * is prohibitively expensive if they are created too often, such as whatn * happens in oneOfType() for any type before the one that matched.n */nfunction PropTypeError(message) {n this.message = message;n this.stack = '';n}n// Make `instanceof Error` still work for returned errors.nPropTypeError.prototype = Error.prototype;nnfunction createChainableTypeChecker(validate) {n if (process.env.NODE_ENV !== 'production') {n var manualPropTypeCallCache = {};n }n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {n componentName = componentName || ANONYMOUS;n propFullName = propFullName || propName;n if (process.env.NODE_ENV !== 'production') {n if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {n var cacheKey = componentName + ':' + propName;n if (!manualPropTypeCallCache) {n process.env.NODE_ENV !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in the next major version. You may be ' + 'seeing this warning due to a third-party PropTypes library. ' + 'See fb.me/react-warning-dont-call-proptypes for details.', propFullName, componentName) : void 0;n manualPropTypeCallCache = true;n }n }n }n if (props == null) {n var locationName = ReactPropTypeLocationNames;n if (isRequired) {n return new PropTypeError('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));n }n return null;n } else {n return validate(props, propName, componentName, location, propFullName);n }n }nn var chainedCheckType = checkType.bind(null, false);n chainedCheckType.isRequired = checkType.bind(null, true);nn return chainedCheckType;n}nnfunction createPrimitiveTypeChecker(expectedType) {n function validate(props, propName, componentName, location, propFullName, secret) {n var propValue = props;n var propType = getPropType(propValue);n if (propType !== expectedType) {n var locationName = ReactPropTypeLocationNames;n // `propValue` being instance of, say, date/regexp, pass the 'object'n // check, but we can offer a more precise error message here rather thann // 'of type `object`'.n var preciseType = getPreciseType(propValue);nn return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createAnyTypeChecker() {n return createChainableTypeChecker(emptyFunction.thatReturns(null));n}nnfunction createArrayOfTypeChecker(typeChecker) {n function validate(props, propName, componentName, location, propFullName) {n if (typeof typeChecker !== 'function') {n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');n }n var propValue = props;n if (!Array.isArray(propValue)) {n var locationName = ReactPropTypeLocationNames;n var propType = getPropType(propValue);n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));n }n for (var i = 0; i < propValue.length; i++) {n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);n if (error instanceof Error) {n return error;n }n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createElementTypeChecker() {n function validate(props, propName, componentName, location, propFullName) {n var propValue = props;n if (!ReactElement.isValidElement(propValue)) {n var locationName = ReactPropTypeLocationNames;n var propType = getPropType(propValue);n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createInstanceTypeChecker(expectedClass) {n function validate(props, propName, componentName, location, propFullName) {n if (!(props instanceof expectedClass)) {n var locationName = ReactPropTypeLocationNames;n var expectedClassName = expectedClass.name || ANONYMOUS;n var actualClassName = getClassName(props);n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createEnumTypeChecker(expectedValues) {n if (!Array.isArray(expectedValues)) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;n return emptyFunction.thatReturnsNull;n }nn function validate(props, propName, componentName, location, propFullName) {n var propValue = props;n for (var i = 0; i < expectedValues.length; i++) {n if (is(propValue, expectedValues)) {n return null;n }n }nn var locationName = ReactPropTypeLocationNames;n var valuesString = JSON.stringify(expectedValues);n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));n }n return createChainableTypeChecker(validate);n}nnfunction createObjectOfTypeChecker(typeChecker) {n function validate(props, propName, componentName, location, propFullName) {n if (typeof typeChecker !== 'function') {n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');n }n var propValue = props;n var propType = getPropType(propValue);n if (propType !== 'object') {n var locationName = ReactPropTypeLocationNames;n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));n }n for (var key in propValue) {n if (propValue.hasOwnProperty(key)) {n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);n if (error instanceof Error) {n return error;n }n }n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createUnionTypeChecker(arrayOfTypeCheckers) {n if (!Array.isArray(arrayOfTypeCheckers)) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;n return emptyFunction.thatReturnsNull;n }nn function validate(props, propName, componentName, location, propFullName) {n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {n var checker = arrayOfTypeCheckers;n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {n return null;n }n }nn var locationName = ReactPropTypeLocationNames;n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));n }n return createChainableTypeChecker(validate);n}nnfunction createNodeChecker() {n function validate(props, propName, componentName, location, propFullName) {n if (!isNode(props)) {n var locationName = ReactPropTypeLocationNames;n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction createShapeTypeChecker(shapeTypes) {n function validate(props, propName, componentName, location, propFullName) {n var propValue = props;n var propType = getPropType(propValue);n if (propType !== 'object') {n var locationName = ReactPropTypeLocationNames;n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));n }n for (var key in shapeTypes) {n var checker = shapeTypes;n if (!checker) {n continue;n }n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);n if (error) {n return error;n }n }n return null;n }n return createChainableTypeChecker(validate);n}nnfunction isNode(propValue) {n switch (typeof propValue) {n case 'number':n case 'string':n case 'undefined':n return true;n case 'boolean':n return !propValue;n case 'object':n if (Array.isArray(propValue)) {n return propValue.every(isNode);n }n if (propValue === null || ReactElement.isValidElement(propValue)) {n return true;n }nn var iteratorFn = getIteratorFn(propValue);n if (iteratorFn) {n var iterator = iteratorFn.call(propValue);n var step;n if (iteratorFn !== propValue.entries) {n while (!(step = iterator.next()).done) {n if (!isNode(step.value)) {n return false;n }n }n } else {n // Iterator will provide entry [k,v] tuples rather than values.n while (!(step = iterator.next()).done) {n var entry = step.value;n if (entry) {n if (!isNode(entry)) {n return false;n }n }n }n }n } else {n return false;n }nn return true;n default:n return false;n }n}nnfunction isSymbol(propType, propValue) {n // Native Symbol.n if (propType === 'symbol') {n return true;n }nn // 19.4.3.5 toStringTag] at Symbol.prototype[@ === 'Symbol'n if (propValue === 'Symbol') {n return true;n }nn // Fallback for non-spec compliant Symbols which are polyfilled.n if (typeof Symbol === 'function' && propValue instanceof Symbol) {n return true;n }nn return false;n}nn// Equivalent of `typeof` but with special handling for array and regexp.nfunction getPropType(propValue) {n var propType = typeof propValue;n if (Array.isArray(propValue)) {n return 'array';n }n if (propValue instanceof RegExp) {n // Old webkits (at least until Android 4.0) return 'function' rather thann // 'object' for typeof a RegExp. We'll normalize this here so that /bla/n // passes PropTypes.object.n return 'object';n }n if (isSymbol(propType, propValue)) {n return 'symbol';n }n return propType;n}nn// This handles more types than `getPropType`. Only used for error messages.n// See `createPrimitiveTypeChecker`.nfunction getPreciseType(propValue) {n var propType = getPropType(propValue);n if (propType === 'object') {n if (propValue instanceof Date) {n return 'date';n } else if (propValue instanceof RegExp) {n return 'regexp';n }n }n return propType;n}nn// Returns class name of the object, if any.nfunction getClassName(propValue) {n if (!propValue.constructor || !propValue.constructor.name) {n return ANONYMOUS;n }n return propValue.constructor.name;n}nnmodule.exports = ReactPropTypes;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactPropTypes.jsn ** module id = 31n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactVersionn */nn'use strict';nnmodule.exports = '15.3.1';nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactVersion.jsn ** module id = 32n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule onlyChildn */n'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactElement = require('./ReactElement');nnvar invariant = require('fbjs/lib/invariant');nn/**n * Returns the first child in a collection of children and verifies that theren * is only one child in the collection.n *n * See facebook.github.io/react/docs/top-level-api.html#react.children.onlyn *n * The current implementation of this function assumes that a single child getsn * passed without a wrapper, but the purpose of this helper function is ton * abstract away the particular structure of children.n *n * @param {?object} children Child collection structure.n * @return {ReactElement} The first and only `ReactElement` contained in then * structure.n */nfunction onlyChild(children) {n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;n return children;n}nnmodule.exports = onlyChild;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/onlyChild.jsn ** module id = 33n ** module chunks = 0n **/”,“'use strict';nnmodule.exports = require('react/lib/ReactDOM');nnnn/*****************n ** WEBPACK FOOTERn ** ./~/react-dom/index.jsn ** module id = 34n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMn */nn/* globals REACT_DEVTOOLS_GLOBAL_HOOK*/nn'use strict';nnvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactDefaultInjection = require('./ReactDefaultInjection');nvar ReactMount = require('./ReactMount');nvar ReactReconciler = require('./ReactReconciler');nvar ReactUpdates = require('./ReactUpdates');nvar ReactVersion = require('./ReactVersion');nnvar findDOMNode = require('./findDOMNode');nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');nvar warning = require('fbjs/lib/warning');nnReactDefaultInjection.inject();nnvar ReactDOM = {n findDOMNode: findDOMNode,n render: ReactMount.render,n unmountComponentAtNode: ReactMount.unmountComponentAtNode,n version: ReactVersion,nn /* eslint-disable camelcase */n unstable_batchedUpdates: ReactUpdates.batchedUpdates,n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainern};nn// Inject the runtime into a devtools global hook regardless of browser.n// Allows for debugging when the hook is injected on the page.n/* eslint-enable camelcase */nif (typeof REACT_DEVTOOLS_GLOBAL_HOOK !== 'undefined' && typeof REACT_DEVTOOLS_GLOBAL_HOOK.inject === 'function') {n REACT_DEVTOOLS_GLOBAL_HOOK.inject({n ComponentTree: {n getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,n getNodeFromInstance: function (inst) {n // inst is an internal instance (but could be a composite)n if (inst._renderedComponent) {n inst = getHostComponentFromComposite(inst);n }n if (inst) {n return ReactDOMComponentTree.getNodeFromInstance(inst);n } else {n return null;n }n }n },n Mount: ReactMount,n Reconciler: ReactReconcilern });n}nnif (process.env.NODE_ENV !== 'production') {n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {nn // First check if devtools is not installedn if (typeof REACT_DEVTOOLS_GLOBAL_HOOK === 'undefined') {n // If we're in Chrome or Firefox, provide a download link if not installed.n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {n // Firefox does not have the issue with devtools loaded over file://n var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;n console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'fb.me/react-devtools’);n }n }nn var testFunc = function testFn() {};n process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See fb.me/react-minification for more details.') : void 0;nn // If we're in IE8, check to see if we are in compatibility mode and providen // information on preventing compatibility moden var ieCompatibilityMode = document.documentMode && document.documentMode < 8;nn process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : void 0;nn var expectedFeatures = [n // shimsn Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim];nn for (var i = 0; i < expectedFeatures.length; i++) {n if (!expectedFeatures) {n process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'fb.me/react-warning-polyfills') : void 0;n break;n }n }n }n}nnif (process.env.NODE_ENV !== 'production') {n var ReactInstrumentation = require('./ReactInstrumentation');n var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');n var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');nn ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);n ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);n}nnmodule.exports = ReactDOM;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOM.jsn ** module id = 35n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMComponentTreen */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar DOMProperty = require('./DOMProperty');nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');nnvar invariant = require('fbjs/lib/invariant');nnvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;nvar Flags = ReactDOMComponentFlags;nnvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);nn/**n * Drill down (through composites and empty components) until we get a host orn * host text component.n *n * This is pretty polymorphic but unavoidable with the current structure we haven * for `_renderedChildren`.n */nfunction getRenderedHostOrTextFromComponent(component) {n var rendered;n while (rendered = component._renderedComponent) {n component = rendered;n }n return component;n}nn/**n * Populate `_hostNode` on the rendered host/text component with the givenn * DOM node. The passed `inst` can be a composite.n */nfunction precacheNode(inst, node) {n var hostInst = getRenderedHostOrTextFromComponent(inst);n hostInst._hostNode = node;n node = hostInst;n}nnfunction uncacheNode(inst) {n var node = inst._hostNode;n if (node) {n delete node;n inst._hostNode = null;n }n}nn/**n * Populate `_hostNode` on each child of `inst`, assuming that the childrenn * match up with the DOM (element) children of `node`.n *n * We cache entire levels at once to avoid an n^2 problem where we access then * children of a node sequentially and have to walk from the start to our targetn * node every time.n *n * Since we update `_renderedChildren` and the actual DOM at (slightly)n * different times, we could race here and see a newer `_renderedChildren` thann * the DOM nodes we see. To avoid this, ReactMultiChild callsn * `prepareToManageChildren` before we change `_renderedChildren`, at whichn * time the container's child nodes are always cached (until it unmounts).n */nfunction precacheChildNodes(inst, node) {n if (inst._flags & Flags.hasCachedChildNodes) {n return;n }n var children = inst._renderedChildren;n var childNode = node.firstChild;n outer: for (var name in children) {n if (!children.hasOwnProperty(name)) {n continue;n }n var childInst = children;n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;n if (childID === 0) {n // We're currently unmounting this child in ReactMultiChild; skip it.n continue;n }n // We assume the child nodes are in the same order as the child instances.n for (; childNode !== null; childNode = childNode.nextSibling) {n if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') {n precacheNode(childInst, childNode);n continue outer;n }n }n // We reached the end of the DOM children without finding an ID match.n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;n }n inst._flags |= Flags.hasCachedChildNodes;n}nn/**n * Given a DOM node, return the closest ReactDOMComponent orn * ReactDOMTextComponent instance ancestor.n */nfunction getClosestInstanceFromNode(node) {n if (node) {n return node;n }nn // Walk up the tree until we find an ancestor whose instance we have cached.n var parents = [];n while (!node) {n parents.push(node);n if (node.parentNode) {n node = node.parentNode;n } else {n // Top of the tree. This node must not be part of a React tree (or isn // unmounted, potentially).n return null;n }n }nn var closest;n var inst;n for (; node && (inst = node); node = parents.pop()) {n closest = inst;n if (parents.length) {n precacheChildNodes(inst, node);n }n }nn return closest;n}nn/**n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponentn * instance, or null if the node was not rendered by this React.n */nfunction getInstanceFromNode(node) {n var inst = getClosestInstanceFromNode(node);n if (inst != null && inst._hostNode === node) {n return inst;n } else {n return null;n }n}nn/**n * Given a ReactDOMComponent or ReactDOMTextComponent, return the correspondingn * DOM node.n */nfunction getNodeFromInstance(inst) {n // Without this first invariant, passing a non-DOM-component triggers the nextn // invariant for a missing parent, which is super confusing.n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;nn if (inst._hostNode) {n return inst._hostNode;n }nn // Walk up the tree until we find an ancestor whose DOM node we have cached.n var parents = [];n while (!inst._hostNode) {n parents.push(inst);n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;n inst = inst._hostParent;n }nn // Now parents contains each ancestor that does not have a cached nativen // node, and `inst` is the deepest ancestor that does.n for (; parents.length; inst = parents.pop()) {n precacheChildNodes(inst, inst._hostNode);n }nn return inst._hostNode;n}nnvar ReactDOMComponentTree = {n getClosestInstanceFromNode: getClosestInstanceFromNode,n getInstanceFromNode: getInstanceFromNode,n getNodeFromInstance: getNodeFromInstance,n precacheChildNodes: precacheChildNodes,n precacheNode: precacheNode,n uncacheNode: uncacheNoden};nnmodule.exports = ReactDOMComponentTree;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMComponentTree.jsn ** module id = 36n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DOMPropertyn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nnfunction checkMask(value, bitmask) {n return (value & bitmask) === bitmask;n}nnvar DOMPropertyInjection = {n /**n * Mapping from normalized, camelcased property names to a configuration thatn * specifies how the associated DOM property should be accessed or rendered.n */n MUST_USE_PROPERTY: 0x1,n HAS_BOOLEAN_VALUE: 0x4,n HAS_NUMERIC_VALUE: 0x8,n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,nn /**n * Inject some specialized knowledge about the DOM. This takes a config objectn * with the following properties:n *n * isCustomAttribute: function that given an attribute name will return truen * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*n * attributes where it's impossible to enumerate all of the possiblen * attribute names,n *n * Properties: object mapping DOM property name to one of then * DOMPropertyInjection constants or null. If your attribute isn't in here,n * it won't get written to the DOM.n *n * DOMAttributeNames: object mapping React attribute name to the DOMn * attribute name. Attribute names not specified use the lowercasen * normalized name.n *n * DOMAttributeNamespaces: object mapping React attribute name to the DOMn * attribute namespace URL. (Attribute names not specified use no namespace.)n *n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.n * Property names not specified use the normalized name.n *n * DOMMutationMethods: Properties that require special mutation methods. Ifn * `value` is undefined, the mutation method should unset the property.n *n * @param {object} domPropertyConfig the config as described above.n */n injectDOMPropertyConfig: function (domPropertyConfig) {n var Injection = DOMPropertyInjection;n var Properties = domPropertyConfig.Properties || {};n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};nn if (domPropertyConfig.isCustomAttribute) {n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);n }nn for (var propName in Properties) {n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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) : _prodInvariant('48', propName) : void 0;nn var lowerCased = propName.toLowerCase();n var propConfig = Properties;nn var propertyInfo = {n attributeName: lowerCased,n attributeNamespace: null,n propertyName: propName,n mutationMethod: null,nn mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)n };n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;nn if (process.env.NODE_ENV !== 'production') {n DOMProperty.getPossibleStandardName = propName;n }nn if (DOMAttributeNames.hasOwnProperty(propName)) {n var attributeName = DOMAttributeNames;n propertyInfo.attributeName = attributeName;n if (process.env.NODE_ENV !== 'production') {n DOMProperty.getPossibleStandardName = propName;n }n }nn if (DOMAttributeNamespaces.hasOwnProperty(propName)) {n propertyInfo.attributeNamespace = DOMAttributeNamespaces;n }nn if (DOMPropertyNames.hasOwnProperty(propName)) {n propertyInfo.propertyName = DOMPropertyNames;n }nn if (DOMMutationMethods.hasOwnProperty(propName)) {n propertyInfo.mutationMethod = DOMMutationMethods;n }nn DOMProperty.properties = propertyInfo;n }n }n};nn/* eslint-disable max-len */nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD';n/* eslint-enable max-len */nn/**n * DOMProperty exports lookup objects that can be used like functions:n *n * > DOMProperty.isValidn * truen * > DOMProperty.isValidn * undefinedn *n * Although this may be confusing, it performs better in general.n *n * @see jsperf.com/key-existsn * @see jsperf.com/key-missingn */nvar DOMProperty = {nn ID_ATTRIBUTE_NAME: 'data-reactid',n ROOT_ATTRIBUTE_NAME: 'data-reactroot',nn ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040',nn /**n * Map from property "standard name" to an object with info about how to setn * the property in the DOM. Each object contains:n *n * attributeName:n * Used when rendering markup or with `*Attribute()`.n * attributeNamespacen * propertyName:n * Used on DOM node instances. (This includes properties that mutate due ton * external factors.)n * mutationMethod:n * If non-null, used instead of the property or `setAttribute()` aftern * initial render.n * mustUseProperty:n * Whether the property must be accessed and mutated as an object property.n * hasBooleanValue:n * Whether the property should be removed when set to a falsey value.n * hasNumericValue:n * Whether the property must be numeric or parse as a numeric and should ben * removed when set to a falsey value.n * hasPositiveNumericValue:n * Whether the property must be positive numeric or parse as a positiven * numeric and should be removed when set to a falsey value.n * hasOverloadedBooleanValue:n * Whether the property can be used as a flag as well as with a value.n * Removed when strictly equal to false; present without a value whenn * strictly equal to true; present with a value otherwise.n */n properties: {},nn /**n * Mapping from lowercase property names to the properly cased version, usedn * to warn in the case of missing properties. Available only in __DEV__.n * @type {Object}n */n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null,nn /**n * All of the isCustomAttribute() functions that have been injected.n */n _isCustomAttributeFunctions: [],nn /**n * Checks whether a property name is a custom attribute.n * @methodn */n isCustomAttribute: function (attributeName) {n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions;n if (isCustomAttributeFn(attributeName)) {n return true;n }n }n return false;n },nn injection: DOMPropertyInjectionn};nnmodule.exports = DOMProperty;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DOMProperty.jsn ** module id = 37n ** module chunks = 0n **/”,“/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMComponentFlagsn */nn'use strict';nnvar ReactDOMComponentFlags = {n hasCachedChildNodes: 1 << 0n};nnmodule.exports = ReactDOMComponentFlags;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMComponentFlags.jsn ** module id = 38n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDefaultInjectionn */nn'use strict';nnvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');nvar ChangeEventPlugin = require('./ChangeEventPlugin');nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');nvar ReactDOMComponent = require('./ReactDOMComponent');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactDOMEmptyComponent = require('./ReactDOMEmptyComponent');nvar ReactDOMTreeTraversal = require('./ReactDOMTreeTraversal');nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');nvar ReactEventListener = require('./ReactEventListener');nvar ReactInjection = require('./ReactInjection');nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');nvar SelectEventPlugin = require('./SelectEventPlugin');nvar SimpleEventPlugin = require('./SimpleEventPlugin');nnvar alreadyInjected = false;nnfunction inject() {n if (alreadyInjected) {n // TODO: This is currently true because these injections are shared betweenn // the client and the server package. They should be built independentlyn // and not share any injection state. Then this problem will be solved.n return;n }n alreadyInjected = true;nn ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);nn /**n * Inject modules for resolving DOM hierarchy and plugin ordering.n */n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);n ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);n ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);nn /**n * Some important event plugins included by default (without having to requiren * them).n */n ReactInjection.EventPluginHub.injectEventPluginsByName({n SimpleEventPlugin: SimpleEventPlugin,n EnterLeaveEventPlugin: EnterLeaveEventPlugin,n ChangeEventPlugin: ChangeEventPlugin,n SelectEventPlugin: SelectEventPlugin,n BeforeInputEventPlugin: BeforeInputEventPluginn });nn ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);nn ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);nn ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);nn ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {n return new ReactDOMEmptyComponent(instantiate);n });nn ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);nn ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);n}nnmodule.exports = {n inject: injectn};nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDefaultInjection.jsn ** module id = 39n ** module chunks = 0n **/”,“/**n * Copyright 2013-present Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule BeforeInputEventPluginn */nn'use strict';nnvar EventConstants = require('./EventConstants');nvar EventPropagators = require('./EventPropagators');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar FallbackCompositionState = require('./FallbackCompositionState');nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');nvar SyntheticInputEvent = require('./SyntheticInputEvent');nnvar keyOf = require('fbjs/lib/keyOf');nnvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Spacenvar START_KEYCODE = 229;nnvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;nnvar documentMode = null;nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {n documentMode = document.documentMode;n}nn// Webkit offers a very useful `textInput` event that can be used ton// directly represent `beforeInput`. The IE `textinput` event is not asn// useful, so we don't use it.nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();nn// In IE9+, we have access to composition events, but the data suppliedn// by the native compositionend event may be incorrect. Japanese ideographicn// spaces, for instance (\u3000) are not recorded correctly.nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);nn/**n * Opera <= 12 includes TextEvent in window, but does not firen * text input events. Rely on keypress instead.n */nfunction isPresto() {n var opera = window.opera;n return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;n}nnvar SPACEBAR_CODE = 32;nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);nnvar topLevelTypes = EventConstants.topLevelTypes;nn// Events and their corresponding property names.nvar eventTypes = {n beforeInput: {n phasedRegistrationNames: {n bubbled: keyOf({ onBeforeInput: null }),n captured: keyOf({ onBeforeInputCapture: null })n },n dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]n },n compositionEnd: {n phasedRegistrationNames: {n bubbled: keyOf({ onCompositionEnd: null }),n captured: keyOf({ onCompositionEndCapture: null })n },n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]n },n compositionStart: {n phasedRegistrationNames: {n bubbled: keyOf({ onCompositionStart: null }),n captured: keyOf({ onCompositionStartCapture: null })n },n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]n },n compositionUpdate: {n phasedRegistrationNames: {n bubbled: keyOf({ onCompositionUpdate: null }),n captured: keyOf({ onCompositionUpdateCapture: null })n },n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]n }n};nn// Track whether we've ever handled a keypress on the space key.nvar hasSpaceKeypress = false;nn/**n * Return whether a native keypress event is assumed to be a command.n * This is required because Firefox fires `keypress` events for key commandsn * (cut, copy, select-all, etc.) even though no character is inserted.n */nfunction isKeypressCommand(nativeEvent) {n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&n // ctrlKey && altKey is equivalent to AltGr, and is not a command.n !(nativeEvent.ctrlKey && nativeEvent.altKey);n}nn/**n * Translate native top level events into event types.n *n * @param {string} topLevelTypen * @return {object}n */nfunction getCompositionEventType(topLevelType) {n switch (topLevelType) {n case topLevelTypes.topCompositionStart:n return eventTypes.compositionStart;n case topLevelTypes.topCompositionEnd:n return eventTypes.compositionEnd;n case topLevelTypes.topCompositionUpdate:n return eventTypes.compositionUpdate;n }n}nn/**n * Does our fallback best-guess model think this event signifies thatn * composition has begun?n *n * @param {string} topLevelTypen * @param {object} nativeEventn * @return {boolean}n */nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {n return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;n}nn/**n * Does our fallback mode think that this event is the end of composition?n *n * @param {string} topLevelTypen * @param {object} nativeEventn * @return {boolean}n */nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {n switch (topLevelType) {n case topLevelTypes.topKeyUp:n // Command keys insert or clear IME input.n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;n case topLevelTypes.topKeyDown:n // Expect IME keyCode on each keydown. If we get any othern // code we must have exited earlier.n return nativeEvent.keyCode !== START_KEYCODE;n case topLevelTypes.topKeyPress:n case topLevelTypes.topMouseDown:n case topLevelTypes.topBlur:n // Events are not possible without cancelling IME.n return true;n default:n return false;n }n}nn/**n * Google Input Tools provides composition data via a CustomEvent,n * with the `data` property populated in the `detail` object. If thisn * is available on the event object, use it. If not, this is a plainn * composition event and we have nothing special to extract.n *n * @param {object} nativeEventn * @return {?string}n */nfunction getDataFromCustomEvent(nativeEvent) {n var detail = nativeEvent.detail;n if (typeof detail === 'object' && 'data' in detail) {n return detail.data;n }n return null;n}nn// Track the current IME composition fallback object, if any.nvar currentComposition = null;nn/**n * @return {?object} A SyntheticCompositionEvent.n */nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var eventType;n var fallbackData;nn if (canUseCompositionEvent) {n eventType = getCompositionEventType(topLevelType);n } else if (!currentComposition) {n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {n eventType = eventTypes.compositionStart;n }n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {n eventType = eventTypes.compositionEnd;n }nn if (!eventType) {n return null;n }nn if (useFallbackCompositionData) {n // The current composition is stored statically and must not ben // overwritten while composition continues.n if (!currentComposition && eventType === eventTypes.compositionStart) {n currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);n } else if (eventType === eventTypes.compositionEnd) {n if (currentComposition) {n fallbackData = currentComposition.getData();n }n }n }nn var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);nn if (fallbackData) {n // Inject data generated from fallback path into the synthetic event.n // This matches the property of native CompositionEventInterface.n event.data = fallbackData;n } else {n var customData = getDataFromCustomEvent(nativeEvent);n if (customData !== null) {n event.data = customData;n }n }nn EventPropagators.accumulateTwoPhaseDispatches(event);n return event;n}nn/**n * @param {string} topLevelType Record from `EventConstants`.n * @param {object} nativeEvent Native browser event.n * @return {?string} The string corresponding to this `beforeInput` event.n */nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {n switch (topLevelType) {n case topLevelTypes.topCompositionEnd:n return getDataFromCustomEvent(nativeEvent);n case topLevelTypes.topKeyPress:n /**n * If native `textInput` events are available, our goal is to maken * use of them. However, there is a special case: the spacebar key.n * In Webkit, preventing default on a spacebar `textInput` eventn * cancels character insertion, but it also causes the browsern * to fall back to its default spacebar behavior of scrolling then * page.n *n * Tracking at:n * code.google.com/p/chromium/issues/detail?id=355103n *n * To avoid this issue, use the keypress event as if no `textInput`n * event is available.n */n var which = nativeEvent.which;n if (which !== SPACEBAR_CODE) {n return null;n }nn hasSpaceKeypress = true;n return SPACEBAR_CHAR;nn case topLevelTypes.topTextInput:n // Record the characters to be added to the DOM.n var chars = nativeEvent.data;nn // If it's a spacebar character, assume that we have already handledn // it at the keypress level and bail immediately. Android Chromen // doesn't give us keycodes, so we need to blacklist it.n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {n return null;n }nn return chars;nn default:n // For other native event types, do nothing.n return null;n }n}nn/**n * For browsers that do not provide the `textInput` event, extract then * appropriate string to use for SyntheticInputEvent.n *n * @param {string} topLevelType Record from `EventConstants`.n * @param {object} nativeEvent Native browser event.n * @return {?string} The fallback string for this `beforeInput` event.n */nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {n // If we are currently composing (IME) and using a fallback to do so,n // try to extract the composed characters from the fallback object.n if (currentComposition) {n if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) {n var chars = currentComposition.getData();n FallbackCompositionState.release(currentComposition);n currentComposition = null;n return chars;n }n return null;n }nn switch (topLevelType) {n case topLevelTypes.topPaste:n // If a paste event occurs after a keypress, throw out the inputn // chars. Paste events should not lead to BeforeInput events.n return null;n case topLevelTypes.topKeyPress:n /**n * As of v27, Firefox may fire keypress events even when no charactern * will be inserted. A few possibilities:n *n * - `which` is `0`. Arrow keys, Esc key, etc.n *n * - `which` is the pressed key code, but no char is available.n * Ex: 'AltGr + d` in Polish. There is no modified character forn * this key combination and no character is inserted into then * document, but FF fires the keypress for char code `100` anyway.n * No `input` event will occur.n *n * - `which` is the pressed key code, but a command combination isn * being used. Ex: `Cmd+C`. No character is inserted, and non * `input` event will occur.n */n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {n return String.fromCharCode(nativeEvent.which);n }n return null;n case topLevelTypes.topCompositionEnd:n return useFallbackCompositionData ? null : nativeEvent.data;n default:n return null;n }n}nn/**n * Extract a SyntheticInputEvent for `beforeInput`, based on either nativen * `textInput` or fallback behavior.n *n * @return {?object} A SyntheticInputEvent.n */nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var chars;nn if (canUseTextInputEvent) {n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);n } else {n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);n }nn // If no characters are being inserted, no BeforeInput event shouldn // be fired.n if (!chars) {n return null;n }nn var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);nn event.data = chars;n EventPropagators.accumulateTwoPhaseDispatches(event);n return event;n}nn/**n * Create an `onBeforeInput` event to matchn * www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.n *n * This event plugin is based on the native `textInput` eventn * available in Chrome, Safari, Opera, and IE. This event fires aftern * `onKeyPress` and `onCompositionEnd`, but before `onInput`.n *n * `beforeInput` is spec'd but not implemented in any browsers, andn * the `input` event does not provide any useful information about what hasn * actually been added, contrary to the spec. Thus, `textInput` is the bestn * available event to identify the characters that have actually been insertedn * into the target node.n *n * This plugin is also responsible for emitting `composition` events, thusn * allowing us to share composition fallback code for both `beforeInput` andn * `composition` event types.n */nvar BeforeInputEventPlugin = {nn eventTypes: eventTypes,nn extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];n }n};nnmodule.exports = BeforeInputEventPlugin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/BeforeInputEventPlugin.jsn ** module id = 40n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EventConstantsn */nn'use strict';nnvar keyMirror = require('fbjs/lib/keyMirror');nnvar PropagationPhases = keyMirror({ bubbled: null, captured: null });nn/**n * Types of raw signals from the browser caught at the top level.n */nvar topLevelTypes = keyMirror({n topAbort: null,n topAnimationEnd: null,n topAnimationIteration: null,n topAnimationStart: null,n topBlur: null,n topCanPlay: null,n topCanPlayThrough: null,n topChange: null,n topClick: null,n topCompositionEnd: null,n topCompositionStart: null,n topCompositionUpdate: null,n topContextMenu: null,n topCopy: null,n topCut: null,n topDoubleClick: null,n topDrag: null,n topDragEnd: null,n topDragEnter: null,n topDragExit: null,n topDragLeave: null,n topDragOver: null,n topDragStart: null,n topDrop: null,n topDurationChange: null,n topEmptied: null,n topEncrypted: null,n topEnded: null,n topError: null,n topFocus: null,n topInput: null,n topInvalid: null,n topKeyDown: null,n topKeyPress: null,n topKeyUp: null,n topLoad: null,n topLoadedData: null,n topLoadedMetadata: null,n topLoadStart: null,n topMouseDown: null,n topMouseMove: null,n topMouseOut: null,n topMouseOver: null,n topMouseUp: null,n topPaste: null,n topPause: null,n topPlay: null,n topPlaying: null,n topProgress: null,n topRateChange: null,n topReset: null,n topScroll: null,n topSeeked: null,n topSeeking: null,n topSelectionChange: null,n topStalled: null,n topSubmit: null,n topSuspend: null,n topTextInput: null,n topTimeUpdate: null,n topTouchCancel: null,n topTouchEnd: null,n topTouchMove: null,n topTouchStart: null,n topTransitionEnd: null,n topVolumeChange: null,n topWaiting: null,n topWheel: nulln});nnvar EventConstants = {n topLevelTypes: topLevelTypes,n PropagationPhases: PropagationPhasesn};nnmodule.exports = EventConstants;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EventConstants.jsn ** module id = 41n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EventPropagatorsn */nn'use strict';nnvar EventConstants = require('./EventConstants');nvar EventPluginHub = require('./EventPluginHub');nvar EventPluginUtils = require('./EventPluginUtils');nnvar accumulateInto = require('./accumulateInto');nvar forEachAccumulated = require('./forEachAccumulated');nvar warning = require('fbjs/lib/warning');nnvar PropagationPhases = EventConstants.PropagationPhases;nvar getListener = EventPluginHub.getListener;nn/**n * Some event types have a notion of different registration names for differentn * "phases" of propagation. This finds listeners by a given phase.n */nfunction listenerAtPhase(inst, event, propagationPhase) {n var registrationName = event.dispatchConfig.phasedRegistrationNames;n return getListener(inst, registrationName);n}nn/**n * Tags a `SyntheticEvent` with dispatched listeners. Creating this functionn * here, allows us to not have to bind or create functions for each event.n * Mutating the event's members allows us to not have to create a wrappingn * "dispatch" object that pairs the event with the listener.n */nfunction accumulateDirectionalDispatches(inst, upwards, event) {n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;n }n var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;n var listener = listenerAtPhase(inst, event, phase);n if (listener) {n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);n }n}nn/**n * Collect dispatches (must be entirely collected before dispatching - see unitn * tests). Lazily allocate the array to conserve memory. We must loop throughn * each event and perform the traversal for each one. We cannot perform an * single traversal for the entire collection of events because each event mayn * have a different target.n */nfunction accumulateTwoPhaseDispatchesSingle(event) {n if (event && event.dispatchConfig.phasedRegistrationNames) {n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);n }n}nn/**n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.n */nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {n if (event && event.dispatchConfig.phasedRegistrationNames) {n var targetInst = event._targetInst;n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);n }n}nn/**n * Accumulates without regard to direction, does not look for phasedn * registration names. Same as `accumulateDirectDispatchesSingle` but withoutn * requiring that the `dispatchMarker` be the same as the dispatched ID.n */nfunction accumulateDispatches(inst, ignoredDirection, event) {n if (event && event.dispatchConfig.registrationName) {n var registrationName = event.dispatchConfig.registrationName;n var listener = getListener(inst, registrationName);n if (listener) {n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);n }n }n}nn/**n * Accumulates dispatches on an `SyntheticEvent`, but only for then * `dispatchMarker`.n * @param {SyntheticEvent} eventn */nfunction accumulateDirectDispatchesSingle(event) {n if (event && event.dispatchConfig.registrationName) {n accumulateDispatches(event._targetInst, null, event);n }n}nnfunction accumulateTwoPhaseDispatches(events) {n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);n}nnfunction accumulateTwoPhaseDispatchesSkipTarget(events) {n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);n}nnfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);n}nnfunction accumulateDirectDispatches(events) {n forEachAccumulated(events, accumulateDirectDispatchesSingle);n}nn/**n * A small set of propagation patterns, each of which will accept a small amountn * of information, and generate a set of "dispatch ready event objects" - whichn * are sets of events that have already been annotated with a set of dispatchedn * listener functions/ids. The API is designed this way to discourage thesen * propagation strategies from actually executing the dispatches, since wen * always want to collect the entire set of dispatches before executing event an * single one.n *n * @constructor EventPropagatorsn */nvar EventPropagators = {n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,n accumulateDirectDispatches: accumulateDirectDispatches,n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatchesn};nnmodule.exports = EventPropagators;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EventPropagators.jsn ** module id = 42n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EventPluginHubn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar EventPluginRegistry = require('./EventPluginRegistry');nvar EventPluginUtils = require('./EventPluginUtils');nvar ReactErrorUtils = require('./ReactErrorUtils');nnvar accumulateInto = require('./accumulateInto');nvar forEachAccumulated = require('./forEachAccumulated');nvar invariant = require('fbjs/lib/invariant');nn/**n * Internal store for event listenersn */nvar listenerBank = {};nn/**n * Internal queue of events that have accumulated their dispatches and aren * waiting to have their dispatches executed.n */nvar eventQueue = null;nn/**n * Dispatches an event and releases it back into the pool, unless persistent.n *n * @param {?object} event Synthetic event to be dispatched.n * @param {boolean} simulated If the event is simulated (changes exn behavior)n * @privaten */nvar executeDispatchesAndRelease = function (event, simulated) {n if (event) {n EventPluginUtils.executeDispatchesInOrder(event, simulated);nn if (!event.isPersistent()) {n event.constructor.release(event);n }n }n};nvar executeDispatchesAndReleaseSimulated = function (e) {n return executeDispatchesAndRelease(e, true);n};nvar executeDispatchesAndReleaseTopLevel = function (e) {n return executeDispatchesAndRelease(e, false);n};nnvar getDictionaryKey = function (inst) {n // Prevents V8 performance issue:n // github.com/facebook/react/pull/7232n return '.' + inst._rootNodeID;n};nn/**n * This is a unified interface for event plugins to be installed and configured.n *n * Event plugins can implement the following properties:n *n * `extractEvents` {function(string, DOMEventTarget, string, object): *}n * Required. When a top-level event is fired, this method is expected ton * extract synthetic events that will in turn be queued and dispatched.n *n * `eventTypes` {object}n * Optional, plugins that fire events must publish a mapping of registrationn * names that are used to register listeners. Values of this mapping mustn * be objects that contain `registrationName` or `phasedRegistrationNames`.n *n * `executeDispatch` {function(object, function, string)}n * Optional, allows plugins to override how an event gets dispatched. Byn * default, the listener is simply invoked.n *n * Each plugin that is injected into `EventsPluginHub` is immediately operable.n *n * @publicn */nvar EventPluginHub = {nn /**n * Methods for injecting dependencies.n */n injection: {nn /**n * @param {array} InjectedEventPluginOrdern * @publicn */n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,nn /**n * @param {object} injectedNamesToPlugins Map from names to plugin modules.n */n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByNamenn },nn /**n * Stores `listener` at `listenerBank[key]`. Is idempotent.n *n * @param {object} inst The instance, which is the source of events.n * @param {string} registrationName Name of listener (e.g. `onClick`).n * @param {function} listener The callback to store.n */n putListener: function (inst, registrationName, listener) {n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;nn var key = getDictionaryKey(inst);n var bankForRegistrationName = listenerBank || (listenerBank = {});n bankForRegistrationName = listener;nn var PluginModule = EventPluginRegistry.registrationNameModules;n if (PluginModule && PluginModule.didPutListener) {n PluginModule.didPutListener(inst, registrationName, listener);n }n },nn /**n * @param {object} inst The instance, which is the source of events.n * @param {string} registrationName Name of listener (e.g. `onClick`).n * @return {?function} The stored callback.n */n getListener: function (inst, registrationName) {n var bankForRegistrationName = listenerBank;n var key = getDictionaryKey(inst);n return bankForRegistrationName && bankForRegistrationName;n },nn /**n * Deletes a listener from the registration bank.n *n * @param {object} inst The instance, which is the source of events.n * @param {string} registrationName Name of listener (e.g. `onClick`).n */n deleteListener: function (inst, registrationName) {n var PluginModule = EventPluginRegistry.registrationNameModules;n if (PluginModule && PluginModule.willDeleteListener) {n PluginModule.willDeleteListener(inst, registrationName);n }nn var bankForRegistrationName = listenerBank;n // TODO: This should never be null – when is it?n if (bankForRegistrationName) {n var key = getDictionaryKey(inst);n delete bankForRegistrationName;n }n },nn /**n * Deletes all listeners for the DOM element with the supplied ID.n *n * @param {object} inst The instance, which is the source of events.n */n deleteAllListeners: function (inst) {n var key = getDictionaryKey(inst);n for (var registrationName in listenerBank) {n if (!listenerBank.hasOwnProperty(registrationName)) {n continue;n }nn if (!listenerBank[key]) {n continue;n }nn var PluginModule = EventPluginRegistry.registrationNameModules;n if (PluginModule && PluginModule.willDeleteListener) {n PluginModule.willDeleteListener(inst, registrationName);n }nn delete listenerBank[key];n }n },nn /**n * Allows registered plugins an opportunity to extract events from top-leveln * native browser events.n *n * @return {*} An accumulation of synthetic events.n * @internaln */n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var events;n var plugins = EventPluginRegistry.plugins;n for (var i = 0; i < plugins.length; i++) {n // Not every plugin in the ordering may be loaded at runtime.n var possiblePlugin = plugins;n if (possiblePlugin) {n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);n if (extractedEvents) {n events = accumulateInto(events, extractedEvents);n }n }n }n return events;n },nn /**n * Enqueues a synthetic event that should be dispatched whenn * `processEventQueue` is invoked.n *n * @param {*} events An accumulation of synthetic events.n * @internaln */n enqueueEvents: function (events) {n if (events) {n eventQueue = accumulateInto(eventQueue, events);n }n },nn /**n * Dispatches all synthetic events on the event queue.n *n * @internaln */n processEventQueue: function (simulated) {n // Set `eventQueue` to null before processing it so that we can tell if moren // events get enqueued while processing.n var processingEventQueue = eventQueue;n eventQueue = null;n if (simulated) {n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);n } else {n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);n }n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;n // This would be a good time to rethrow if any of the event handlers threw.n ReactErrorUtils.rethrowCaughtError();n },nn /**n * These are needed for tests only. Do not use!n */n __purge: function () {n listenerBank = {};n },nn __getListenerBank: function () {n return listenerBank;n }nn};nnmodule.exports = EventPluginHub;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EventPluginHub.jsn ** module id = 43n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EventPluginRegistryn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * Injectable ordering of event plugins.n */nvar EventPluginOrder = null;nn/**n * Injectable mapping from names to event plugin modules.n */nvar namesToPlugins = {};nn/**n * Recomputes the plugin list using the injected plugins and plugin ordering.n *n * @privaten */nfunction recomputePluginOrdering() {n if (!EventPluginOrder) {n // Wait until an `EventPluginOrder` is injected.n return;n }n for (var pluginName in namesToPlugins) {n var PluginModule = namesToPlugins;n var pluginIndex = EventPluginOrder.indexOf(pluginName);n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;n if (EventPluginRegistry.plugins) {n continue;n }n !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;n EventPluginRegistry.plugins = PluginModule;n var publishedEvents = PluginModule.eventTypes;n for (var eventName in publishedEvents) {n !publishEventForPlugin(publishedEvents, PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;n }n }n}nn/**n * Publishes an event so that it can be dispatched by the supplied plugin.n *n * @param {object} dispatchConfig Dispatch configuration for the event.n * @param {object} PluginModule Plugin publishing the event.n * @return {boolean} True if the event was successfully published.n * @privaten */nfunction publishEventForPlugin(dispatchConfig, PluginModule, eventName) {n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;n EventPluginRegistry.eventNameDispatchConfigs = dispatchConfig;nn var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;n if (phasedRegistrationNames) {n for (var phaseName in phasedRegistrationNames) {n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {n var phasedRegistrationName = phasedRegistrationNames;n publishRegistrationName(phasedRegistrationName, PluginModule, eventName);n }n }n return true;n } else if (dispatchConfig.registrationName) {n publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);n return true;n }n return false;n}nn/**n * Publishes a registration name that is used to identify dispatched events andn * can be used with `EventPluginHub.putListener` to register listeners.n *n * @param {string} registrationName Registration name to add.n * @param {object} PluginModule Plugin publishing the event.n * @privaten */nfunction publishRegistrationName(registrationName, PluginModule, eventName) {n !!EventPluginRegistry.registrationNameModules ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;n EventPluginRegistry.registrationNameModules = PluginModule;n EventPluginRegistry.registrationNameDependencies = PluginModule.eventTypes.dependencies;nn if (process.env.NODE_ENV !== 'production') {n var lowerCasedName = registrationName.toLowerCase();n EventPluginRegistry.possibleRegistrationNames = registrationName;nn if (registrationName === 'onDoubleClick') {n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;n }n }n}nn/**n * Registers plugins so that they can extract and dispatch events.n *n * @see {EventPluginHub}n */nvar EventPluginRegistry = {nn /**n * Ordered list of injected plugins.n */n plugins: [],nn /**n * Mapping from event name to dispatch confign */n eventNameDispatchConfigs: {},nn /**n * Mapping from registration name to plugin modulen */n registrationNameModules: {},nn /**n * Mapping from registration name to event namen */n registrationNameDependencies: {},nn /**n * Mapping from lowercase registration names to the properly cased version,n * used to warn in the case of missing event handlers. Availablen * only in __DEV__.n * @type {Object}n */n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,nn /**n * Injects an ordering of plugins (by plugin name). This allows the orderingn * to be decoupled from injection of the actual plugins so that ordering isn * always deterministic regardless of packaging, on-the-fly injection, etc.n *n * @param {array} InjectedEventPluginOrdern * @internaln * @see {EventPluginHub.injection.injectEventPluginOrder}n */n injectEventPluginOrder: function (InjectedEventPluginOrder) {n !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;n // Clone the ordering so it cannot be dynamically mutated.n EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);n recomputePluginOrdering();n },nn /**n * Injects plugins to be used by `EventPluginHub`. The plugin names must ben * in the ordering injected by `injectEventPluginOrder`.n *n * Plugins can be injected as part of page initialization or on-the-fly.n *n * @param {object} injectedNamesToPlugins Map from names to plugin modules.n * @internaln * @see {EventPluginHub.injection.injectEventPluginsByName}n */n injectEventPluginsByName: function (injectedNamesToPlugins) {n var isOrderingDirty = false;n for (var pluginName in injectedNamesToPlugins) {n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {n continue;n }n var PluginModule = injectedNamesToPlugins;n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins !== PluginModule) {n !!namesToPlugins ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;n namesToPlugins = PluginModule;n isOrderingDirty = true;n }n }n if (isOrderingDirty) {n recomputePluginOrdering();n }n },nn /**n * Looks up the plugin for the supplied event.n *n * @param {object} event A synthetic event.n * @return {?object} The plugin that created the supplied event.n * @internaln */n getPluginModuleForEvent: function (event) {n var dispatchConfig = event.dispatchConfig;n if (dispatchConfig.registrationName) {n return EventPluginRegistry.registrationNameModules || null;n }n for (var phase in dispatchConfig.phasedRegistrationNames) {n if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {n continue;n }n var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames];n if (PluginModule) {n return PluginModule;n }n }n return null;n },nn /**n * Exposed for unit testing.n * @privaten */n _resetEventPlugins: function () {n EventPluginOrder = null;n for (var pluginName in namesToPlugins) {n if (namesToPlugins.hasOwnProperty(pluginName)) {n delete namesToPlugins;n }n }n EventPluginRegistry.plugins.length = 0;nn var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;n for (var eventName in eventNameDispatchConfigs) {n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {n delete eventNameDispatchConfigs;n }n }nn var registrationNameModules = EventPluginRegistry.registrationNameModules;n for (var registrationName in registrationNameModules) {n if (registrationNameModules.hasOwnProperty(registrationName)) {n delete registrationNameModules;n }n }nn if (process.env.NODE_ENV !== 'production') {n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;n for (var lowerCasedName in possibleRegistrationNames) {n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {n delete possibleRegistrationNames;n }n }n }n }nn};nnmodule.exports = EventPluginRegistry;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EventPluginRegistry.jsn ** module id = 44n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EventPluginUtilsn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar EventConstants = require('./EventConstants');nvar ReactErrorUtils = require('./ReactErrorUtils');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nn/**n * Injected dependencies:n */nn/**n * - `ComponentTree`: [required] Module that can convert between React instancesn * and actual node references.n */nvar ComponentTree;nvar TreeTraversal;nvar injection = {n injectComponentTree: function (Injected) {n ComponentTree = Injected;n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(…): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;n }n },n injectTreeTraversal: function (Injected) {n TreeTraversal = Injected;n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(…): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;n }n }n};nnvar topLevelTypes = EventConstants.topLevelTypes;nnfunction isEndish(topLevelType) {n return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;n}nnfunction isMoveish(topLevelType) {n return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;n}nfunction isStartish(topLevelType) {n return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;n}nnvar validateEventDispatches;nif (process.env.NODE_ENV !== 'production') {n validateEventDispatches = function (event) {n var dispatchListeners = event._dispatchListeners;n var dispatchInstances = event._dispatchInstances;nn var listenersIsArr = Array.isArray(dispatchListeners);n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;nn var instancesIsArr = Array.isArray(dispatchInstances);n var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;nn process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;n };n}nn/**n * Dispatch the event to the listener.n * @param {SyntheticEvent} event SyntheticEvent to handlen * @param {boolean} simulated If the event is simulated (changes exn behavior)n * @param {function} listener Application-level callbackn * @param {*} inst Internal component instancen */nfunction executeDispatch(event, simulated, listener, inst) {n var type = event.type || 'unknown-event';n event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);n if (simulated) {n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);n } else {n ReactErrorUtils.invokeGuardedCallback(type, listener, event);n }n event.currentTarget = null;n}nn/**n * Standard/simple iteration through an event's collected dispatches.n */nfunction executeDispatchesInOrder(event, simulated) {n var dispatchListeners = event._dispatchListeners;n var dispatchInstances = event._dispatchInstances;n if (process.env.NODE_ENV !== 'production') {n validateEventDispatches(event);n }n if (Array.isArray(dispatchListeners)) {n for (var i = 0; i < dispatchListeners.length; i++) {n if (event.isPropagationStopped()) {n break;n }n // Listeners and Instances are two parallel arrays that are always in sync.n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);n }n } else if (dispatchListeners) {n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);n }n event._dispatchListeners = null;n event._dispatchInstances = null;n}nn/**n * Standard/simple iteration through an event's collected dispatches, but stopsn * at the first dispatch execution returning true, and returns that id.n *n * @return {?string} id of the first dispatch execution who's listener returnsn * true, or null if no listener returned true.n */nfunction executeDispatchesInOrderStopAtTrueImpl(event) {n var dispatchListeners = event._dispatchListeners;n var dispatchInstances = event._dispatchInstances;n if (process.env.NODE_ENV !== 'production') {n validateEventDispatches(event);n }n if (Array.isArray(dispatchListeners)) {n for (var i = 0; i < dispatchListeners.length; i++) {n if (event.isPropagationStopped()) {n break;n }n // Listeners and Instances are two parallel arrays that are always in sync.n if (dispatchListeners(event, dispatchInstances)) {n return dispatchInstances;n }n }n } else if (dispatchListeners) {n if (dispatchListeners(event, dispatchInstances)) {n return dispatchInstances;n }n }n return null;n}nn/**n * @see executeDispatchesInOrderStopAtTrueImpln */nfunction executeDispatchesInOrderStopAtTrue(event) {n var ret = executeDispatchesInOrderStopAtTrueImpl(event);n event._dispatchInstances = null;n event._dispatchListeners = null;n return ret;n}nn/**n * Execution of a "direct" dispatch - there must be at most one dispatchn * accumulated on the event or it is considered an error. It doesn't really maken * sense for an event with multiple dispatches (bubbled) to keep track of then * return values at each dispatch execution, but it does tend to make sense whenn * dealing with "direct" dispatches.n *n * @return {*} The return value of executing the single dispatch.n */nfunction executeDirectDispatch(event) {n if (process.env.NODE_ENV !== 'production') {n validateEventDispatches(event);n }n var dispatchListener = event._dispatchListeners;n var dispatchInstance = event._dispatchInstances;n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(…): Invalid `event`.') : _prodInvariant('103') : void 0;n event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;n var res = dispatchListener ? dispatchListener(event) : null;n event.currentTarget = null;n event._dispatchListeners = null;n event._dispatchInstances = null;n return res;n}nn/**n * @param {SyntheticEvent} eventn * @return {boolean} True iff number of dispatches accumulated is greater than 0.n */nfunction hasDispatches(event) {n return !!event._dispatchListeners;n}nn/**n * General utilities that are useful in creating custom Event Plugins.n */nvar EventPluginUtils = {n isEndish: isEndish,n isMoveish: isMoveish,n isStartish: isStartish,nn executeDirectDispatch: executeDirectDispatch,n executeDispatchesInOrder: executeDispatchesInOrder,n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,n hasDispatches: hasDispatches,nn getInstanceFromNode: function (node) {n return ComponentTree.getInstanceFromNode(node);n },n getNodeFromInstance: function (node) {n return ComponentTree.getNodeFromInstance(node);n },n isAncestor: function (a, b) {n return TreeTraversal.isAncestor(a, b);n },n getLowestCommonAncestor: function (a, b) {n return TreeTraversal.getLowestCommonAncestor(a, b);n },n getParentInstance: function (inst) {n return TreeTraversal.getParentInstance(inst);n },n traverseTwoPhase: function (target, fn, arg) {n return TreeTraversal.traverseTwoPhase(target, fn, arg);n },n traverseEnterLeave: function (from, to, fn, argFrom, argTo) {n return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);n },nn injection: injectionn};nnmodule.exports = EventPluginUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EventPluginUtils.jsn ** module id = 45n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactErrorUtilsn */nn'use strict';nnvar caughtError = null;nn/**n * Call a function while guarding against errors that happens within it.n *n * @param {?String} name of the guard to use for logging or debuggingn * @param {Function} func The function to invoken * @param {*} a First argumentn * @param {*} b Second argumentn */nfunction invokeGuardedCallback(name, func, a, b) {n try {n return func(a, b);n } catch (x) {n if (caughtError === null) {n caughtError = x;n }n return undefined;n }n}nnvar ReactErrorUtils = {n invokeGuardedCallback: invokeGuardedCallback,nn /**n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the eventn * handler are sure to be rethrown by rethrowCaughtError.n */n invokeGuardedCallbackWithCatch: invokeGuardedCallback,nn /**n * During execution of guarded functions we will capture the first error whichn * we will rethrow to be handled by the top level error handler.n */n rethrowCaughtError: function () {n if (caughtError) {n var error = caughtError;n caughtError = null;n throw error;n }n }n};nnif (process.env.NODE_ENV !== 'production') {n /**n * To help development we can get better devtools integration by simulating an * real browser event.n */n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {n var fakeNode = document.createElement('react');n ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {n var boundFunc = func.bind(null, a, b);n var evtType = 'react-' + name;n fakeNode.addEventListener(evtType, boundFunc, false);n var evt = document.createEvent('Event');n evt.initEvent(evtType, false, false);n fakeNode.dispatchEvent(evt);n fakeNode.removeEventListener(evtType, boundFunc, false);n };n }n}nnmodule.exports = ReactErrorUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactErrorUtils.jsn ** module id = 46n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule accumulateInton * n */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * Accumulates items that must not be null or undefined into the first one. Thisn * is used to conserve memory by avoiding array allocations, and thus sacrificesn * API cleanness. Since `current` can be null before being passed in and notn * null after this function, make sure to assign it back to `current`:n *n * `a = accumulateInto(a, b);`n *n * This API should be sparingly used. Try `accumulate` for something cleaner.n *n * @return {*|array<*>} An accumulation of items.n */nnfunction accumulateInto(current, next) {n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(…): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;nn if (current == null) {n return next;n }nn // Both are not empty. Warning: Never call x.concat(y) when you are notn // certain that x is an Array (x could be a string with concat method).n if (Array.isArray(current)) {n if (Array.isArray(next)) {n current.push.apply(current, next);n return current;n }n current.push(next);n return current;n }nn if (Array.isArray(next)) {n // A bit too dangerous to mutate `next`.n return [current].concat(next);n }nn return [current, next];n}nnmodule.exports = accumulateInto;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/accumulateInto.jsn ** module id = 47n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule forEachAccumulatedn * n */nn'use strict';nn/**n * @param {array} arr an "accumulation" of items which is either an Array orn * a single item. Useful when paired with the `accumulate` module. This is an * simple utility that allows us to reason about a collection of items, butn * handling the case when there is exactly one item (and we do not need ton * allocate an array).n */nnfunction forEachAccumulated(arr, cb, scope) {n if (Array.isArray(arr)) {n arr.forEach(cb, scope);n } else if (arr) {n cb.call(scope, arr);n }n}nnmodule.exports = forEachAccumulated;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/forEachAccumulated.jsn ** module id = 48n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn'use strict';nnvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);nn/**n * Simple, lightweight module assisting with the detection and context ofn * Worker. Helps avoid circular dependencies and allows code to reason aboutn * whether or not they are in a Worker, even if they never include the mainn * `ReactWorker` dependency.n */nvar ExecutionEnvironment = {nn canUseDOM: canUseDOM,nn canUseWorkers: typeof Worker !== 'undefined',nn canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),nn canUseViewport: canUseDOM && !!window.screen,nn isInWorker: !canUseDOM // For now, this is true - might change in the future.nn};nnmodule.exports = ExecutionEnvironment;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/ExecutionEnvironment.jsn ** module id = 49n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule FallbackCompositionStaten */nn'use strict';nnvar _assign = require('object-assign');nnvar PooledClass = require('./PooledClass');nnvar getTextContentAccessor = require('./getTextContentAccessor');nn/**n * This helper class stores information about text content of a target node,n * allowing comparison of content before and after a given event.n *n * Identify the node where selection currently begins, then observen * both its text content and its current position in the DOM. Since then * browser may natively replace the target node during composition, we cann * use its position to find its replacement.n *n * @param {DOMEventTarget} rootn */nfunction FallbackCompositionState(root) {n this._root = root;n this._startText = this.getText();n this._fallbackText = null;n}nn_assign(FallbackCompositionState.prototype, {n destructor: function () {n this._root = null;n this._startText = null;n this._fallbackText = null;n },nn /**n * Get current text of input.n *n * @return {string}n */n getText: function () {n if ('value' in this._root) {n return this._root.value;n }n return this._root;n },nn /**n * Determine the differing substring between the initially storedn * text content and the current content.n *n * @return {string}n */n getData: function () {n if (this._fallbackText) {n return this._fallbackText;n }nn var start;n var startValue = this._startText;n var startLength = startValue.length;n var end;n var endValue = this.getText();n var endLength = endValue.length;nn for (start = 0; start < startLength; start++) {n if (startValue !== endValue) {n break;n }n }nn var minEnd = startLength - start;n for (end = 1; end <= minEnd; end++) {n if (startValue[startLength - end] !== endValue[endLength - end]) {n break;n }n }nn var sliceTail = end > 1 ? 1 - end : undefined;n this._fallbackText = endValue.slice(start, sliceTail);n return this._fallbackText;n }n});nnPooledClass.addPoolingTo(FallbackCompositionState);nnmodule.exports = FallbackCompositionState;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/FallbackCompositionState.jsn ** module id = 50n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getTextContentAccessorn */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nnvar contentKey = null;nn/**n * Gets the key used to access text content on a DOM node.n *n * @return {?string} Key used to access text content.n * @internaln */nfunction getTextContentAccessor() {n if (!contentKey && ExecutionEnvironment.canUseDOM) {n // Prefer textContent to innerText because many browsers support both butn // SVG <text> elements don't support innerText even when <div> does.n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';n }n return contentKey;n}nnmodule.exports = getTextContentAccessor;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getTextContentAccessor.jsn ** module id = 51n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticCompositionEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nn/**n * @interface Eventn * @see www.w3.org/TR/DOM-Level-3-Events/#events-compositioneventsn */nvar CompositionEventInterface = {n data: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);nnmodule.exports = SyntheticCompositionEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticCompositionEvent.jsn ** module id = 52n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticEventn */nn'use strict';nnvar _assign = require('object-assign');nnvar PooledClass = require('./PooledClass');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar warning = require('fbjs/lib/warning');nnvar didWarnForAddedNewProperty = false;nvar isProxySupported = typeof Proxy === 'function';nnvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];nn/**n * @interface Eventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar EventInterface = {n type: null,n target: null,n // currentTarget is set when dispatching; no use in copying it heren currentTarget: emptyFunction.thatReturnsNull,n eventPhase: null,n bubbles: null,n cancelable: null,n timeStamp: function (event) {n return event.timeStamp || Date.now();n },n defaultPrevented: null,n isTrusted: nulln};nn/**n * Synthetic events are dispatched by event plugins, typically in response to an * top-level event delegation handler.n *n * These systems should generally use pooling to reduce the frequency of garbagen * collection. The system should check `isPersistent` to determine whether then * event should be released into the pool after being dispatched. Users thatn * need a persisted event should invoke `persist`.n *n * Synthetic events (and subclasses) implement the DOM Level 3 Events API byn * normalizing browser quirks. Subclasses do not necessarily have to implement an * DOM interface; custom application-specific events can also subclass this.n *n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {*} targetInst Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @param {DOMEventTarget} nativeEventTarget Target node.n */nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {n if (process.env.NODE_ENV !== 'production') {n // these have a getter/setter for warningsn delete this.nativeEvent;n delete this.preventDefault;n delete this.stopPropagation;n }nn this.dispatchConfig = dispatchConfig;n this._targetInst = targetInst;n this.nativeEvent = nativeEvent;nn var Interface = this.constructor.Interface;n for (var propName in Interface) {n if (!Interface.hasOwnProperty(propName)) {n continue;n }n if (process.env.NODE_ENV !== 'production') {n delete this; // this has a getter/setter for warningsn }n var normalize = Interface;n if (normalize) {n this = normalize(nativeEvent);n } else {n if (propName === 'target') {n this.target = nativeEventTarget;n } else {n this = nativeEvent;n }n }n }nn var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;n if (defaultPrevented) {n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;n } else {n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;n }n this.isPropagationStopped = emptyFunction.thatReturnsFalse;n return this;n}nn_assign(SyntheticEvent.prototype, {nn preventDefault: function () {n this.defaultPrevented = true;n var event = this.nativeEvent;n if (!event) {n return;n }nn if (event.preventDefault) {n event.preventDefault();n } else {n event.returnValue = false;n }n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;n },nn stopPropagation: function () {n var event = this.nativeEvent;n if (!event) {n return;n }nn if (event.stopPropagation) {n event.stopPropagation();n } else if (typeof event.cancelBubble !== 'unknown') {n // eslint-disable-line valid-typeofn // The ChangeEventPlugin registers a "propertychange" event forn // IE. This event does not support bubbling or cancelling, andn // any references to cancelBubble throw "Member not found". An // typeof check of "unknown" circumvents this issue (and is alson // IE specific).n event.cancelBubble = true;n }nn this.isPropagationStopped = emptyFunction.thatReturnsTrue;n },nn /**n * We release all dispatched `SyntheticEvent`s after each event loop, addingn * them back into the pool. This allows a way to hold onto a reference thatn * won't be added back into the pool.n */n persist: function () {n this.isPersistent = emptyFunction.thatReturnsTrue;n },nn /**n * Checks if this event should be released back into the pool.n *n * @return {boolean} True if this should not be released, false otherwise.n */n isPersistent: emptyFunction.thatReturnsFalse,nn /**n * `PooledClass` looks for `destructor` on each instance it releases.n */n destructor: function () {n var Interface = this.constructor.Interface;n for (var propName in Interface) {n if (process.env.NODE_ENV !== 'production') {n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface));n } else {n this = null;n }n }n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {n this[shouldBeReleasedProperties] = null;n }n if (process.env.NODE_ENV !== 'production') {n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));n }n }nn});nnSyntheticEvent.Interface = EventInterface;nnif (process.env.NODE_ENV !== 'production') {n if (isProxySupported) {n /*eslint-disable no-func-assign */n SyntheticEvent = new Proxy(SyntheticEvent, {n construct: function (target, args) {n return this.apply(target, Object.create(target.prototype), args);n },n apply: function (constructor, that, args) {n return new Proxy(constructor.apply(that, args), {n set: function (target, prop, value) {n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'fb.me/react-event-pooling for more information.') : void 0;n didWarnForAddedNewProperty = true;n }n target = value;n return true;n }n });n }n });n /*eslint-enable no-func-assign */n }n}n/**n * Helper to reduce boilerplate when creating subclasses.n *n * @param {function} Classn * @param {?object} Interfacen */nSyntheticEvent.augmentClass = function (Class, Interface) {n var Super = this;nn var E = function () {};n E.prototype = Super.prototype;n var prototype = new E();nn _assign(prototype, Class.prototype);n Class.prototype = prototype;n Class.prototype.constructor = Class;nn Class.Interface = _assign({}, Super.Interface, Interface);n Class.augmentClass = Super.augmentClass;nn PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);n};nnPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);nnmodule.exports = SyntheticEvent;nn/**n * Helper to nullify syntheticEvent instance properties when destructingn *n * @param {object} SyntheticEventn * @param {String} propNamen * @return {object} defineProperty objectn */nfunction getPooledWarningPropertyDefinition(propName, getVal) {n var isFunction = typeof getVal === 'function';n return {n configurable: true,n set: set,n get: getn };nn function set(val) {n var action = isFunction ? 'setting the method' : 'setting the property';n warn(action, 'This is effectively a no-op');n return val;n }nn function get() {n var action = isFunction ? 'accessing the method' : 'accessing the property';n var result = isFunction ? 'This is a no-op function' : 'This is set to null';n warn(action, result);n return getVal;n }nn function warn(action, result) {n var warningCondition = false;n process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See fb.me/react-event-pooling for more information.', action, propName, result) : void 0;n }n}nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticEvent.jsn ** module id = 53n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticInputEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nn/**n * @interface Eventn * @see www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105n * /#events-inputeventsn */nvar InputEventInterface = {n data: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);nnmodule.exports = SyntheticInputEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticInputEvent.jsn ** module id = 54n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ChangeEventPluginn */nn'use strict';nnvar EventConstants = require('./EventConstants');nvar EventPluginHub = require('./EventPluginHub');nvar EventPropagators = require('./EventPropagators');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactUpdates = require('./ReactUpdates');nvar SyntheticEvent = require('./SyntheticEvent');nnvar getEventTarget = require('./getEventTarget');nvar isEventSupported = require('./isEventSupported');nvar isTextInputElement = require('./isTextInputElement');nvar keyOf = require('fbjs/lib/keyOf');nnvar topLevelTypes = EventConstants.topLevelTypes;nnvar eventTypes = {n change: {n phasedRegistrationNames: {n bubbled: keyOf({ onChange: null }),n captured: keyOf({ onChangeCapture: null })n },n dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]n }n};nn/**n * For IE shimsn */nvar activeElement = null;nvar activeElementInst = null;nvar activeElementValue = null;nvar activeElementValueProp = null;nn/**n * SECTION: handle `change` eventn */nfunction shouldUseChangeEvent(elem) {n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';n}nnvar doesChangeEventBubble = false;nif (ExecutionEnvironment.canUseDOM) {n // See `handleChange` comment belown doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8);n}nnfunction manualDispatchChangeEvent(nativeEvent) {n var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));n EventPropagators.accumulateTwoPhaseDispatches(event);nn // If change and propertychange bubbled, we'd just bind to it like all then // other events and have it go through ReactBrowserEventEmitter. Since itn // doesn't, we manually listen for the events and so we have to enqueue andn // process the abstract event manually.n //n // Batching is necessary here in order to ensure that all event handlers runn // before the next rerender (including event handlers attached to ancestorn // elements instead of directly on the input). Without this, controlledn // components don't work properly in conjunction with event bubbling becausen // the component is rerendered and the value reverted before all the eventn // handlers can run. See github.com/facebook/react/issues/708.n ReactUpdates.batchedUpdates(runEventInBatch, event);n}nnfunction runEventInBatch(event) {n EventPluginHub.enqueueEvents(event);n EventPluginHub.processEventQueue(false);n}nnfunction startWatchingForChangeEventIE8(target, targetInst) {n activeElement = target;n activeElementInst = targetInst;n activeElement.attachEvent('onchange', manualDispatchChangeEvent);n}nnfunction stopWatchingForChangeEventIE8() {n if (!activeElement) {n return;n }n activeElement.detachEvent('onchange', manualDispatchChangeEvent);n activeElement = null;n activeElementInst = null;n}nnfunction getTargetInstForChangeEvent(topLevelType, targetInst) {n if (topLevelType === topLevelTypes.topChange) {n return targetInst;n }n}nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {n if (topLevelType === topLevelTypes.topFocus) {n // stopWatching() should be a noop here but we call it just in case wen // missed a blur event somehow.n stopWatchingForChangeEventIE8();n startWatchingForChangeEventIE8(target, targetInst);n } else if (topLevelType === topLevelTypes.topBlur) {n stopWatchingForChangeEventIE8();n }n}nn/**n * SECTION: handle `input` eventn */nvar isInputEventSupported = false;nif (ExecutionEnvironment.canUseDOM) {n // IE9 claims to support the input event but fails to trigger it whenn // deleting text, so we ignore its input events.n // IE10+ fire input events to often, such when a placeholdern // changes or when an input with a placeholder is focused.n isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11);n}nn/**n * (For IE <=11) Replacement getter/setter for the `value` property that getsn * set on the active element.n */nvar newValueProp = {n get: function () {n return activeElementValueProp.get.call(this);n },n set: function (val) {n // Cast to a string so we can do equality checks.n activeElementValue = '' + val;n activeElementValueProp.set.call(this, val);n }n};nn/**n * (For IE <=11) Starts tracking propertychange events on the passed-in elementn * and override the value property so that we can distinguish user events fromn * value changes in JS.n */nfunction startWatchingForValueChange(target, targetInst) {n activeElement = target;n activeElementInst = targetInst;n activeElementValue = target.value;n activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');nn // Not guarded in a canDefineProperty check: IE8 supports defineProperty onlyn // on DOM elementsn Object.defineProperty(activeElement, 'value', newValueProp);n if (activeElement.attachEvent) {n activeElement.attachEvent('onpropertychange', handlePropertyChange);n } else {n activeElement.addEventListener('propertychange', handlePropertyChange, false);n }n}nn/**n * (For IE <=11) Removes the event listeners from the currently-tracked element,n * if any exists.n */nfunction stopWatchingForValueChange() {n if (!activeElement) {n return;n }nn // delete restores the original property definitionn delete activeElement.value;nn if (activeElement.detachEvent) {n activeElement.detachEvent('onpropertychange', handlePropertyChange);n } else {n activeElement.removeEventListener('propertychange', handlePropertyChange, false);n }nn activeElement = null;n activeElementInst = null;n activeElementValue = null;n activeElementValueProp = null;n}nn/**n * (For IE <=11) Handles a propertychange event, sending a `change` event ifn * the value of the active element has changed.n */nfunction handlePropertyChange(nativeEvent) {n if (nativeEvent.propertyName !== 'value') {n return;n }n var value = nativeEvent.srcElement.value;n if (value === activeElementValue) {n return;n }n activeElementValue = value;nn manualDispatchChangeEvent(nativeEvent);n}nn/**n * If a `change` event should be fired, returns the target's ID.n */nfunction getTargetInstForInputEvent(topLevelType, targetInst) {n if (topLevelType === topLevelTypes.topInput) {n // In modern browsers (i.e., not IE8 or IE9), the input event is exactlyn // what we want so fall through here and trigger an abstract eventn return targetInst;n }n}nnfunction handleEventsForInputEventIE(topLevelType, target, targetInst) {n if (topLevelType === topLevelTypes.topFocus) {n // In IE8, we can capture almost all .value changes by adding an // propertychange handler and looking for events with propertyNamen // equal to 'value'n // In IE9-11, propertychange fires for most input events but is buggy andn // doesn't fire when text is deleted, but conveniently, selectionchangen // appears to fire in all of the remaining cases so we catch those andn // forward the event if the value has changedn // In either case, we don't want to call the event handler if the valuen // is changed from JS so we redefine a setter for `.value` that updatesn // our activeElementValue variable, allowing us to ignore those changesn //n // stopWatching() should be a noop here but we call it just in case wen // missed a blur event somehow.n stopWatchingForValueChange();n startWatchingForValueChange(target, targetInst);n } else if (topLevelType === topLevelTypes.topBlur) {n stopWatchingForValueChange();n }n}nn// For IE8 and IE9.nfunction getTargetInstForInputEventIE(topLevelType, targetInst) {n if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {n // On the selectionchange event, the target is just document which isn'tn // helpful for us so just check activeElement instead.n //n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to firen // propertychange on the first input event after setting `value` from an // script and fires only keydown, keypress, keyup. Catching keyup usuallyn // gets it and catching keydown lets us fire an event for the firstn // keystroke if user does a key repeat (it'll be a little delayed: rightn // before the second keystroke). Other input methods (e.g., paste) seem ton // fire selectionchange normally.n if (activeElement && activeElement.value !== activeElementValue) {n activeElementValue = activeElement.value;n return activeElementInst;n }n }n}nn/**n * SECTION: handle `click` eventn */nfunction shouldUseClickEvent(elem) {n // Use the `click` event to detect changes to checkbox and radio inputs.n // This approach works across all browsers, whereas `change` does not firen // until `blur` in IE8.n return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');n}nnfunction getTargetInstForClickEvent(topLevelType, targetInst) {n if (topLevelType === topLevelTypes.topClick) {n return targetInst;n }n}nn/**n * This plugin creates an `onChange` event that normalizes change eventsn * across form elements. This event fires at a time when it's possible ton * change the element's value without seeing a flicker.n *n * Supported elements are:n * - input (see `isTextInputElement`)n * - textarean * - selectn */nvar ChangeEventPlugin = {nn eventTypes: eventTypes,nn extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;nn var getTargetInstFunc, handleEventFunc;n if (shouldUseChangeEvent(targetNode)) {n if (doesChangeEventBubble) {n getTargetInstFunc = getTargetInstForChangeEvent;n } else {n handleEventFunc = handleEventsForChangeEventIE8;n }n } else if (isTextInputElement(targetNode)) {n if (isInputEventSupported) {n getTargetInstFunc = getTargetInstForInputEvent;n } else {n getTargetInstFunc = getTargetInstForInputEventIE;n handleEventFunc = handleEventsForInputEventIE;n }n } else if (shouldUseClickEvent(targetNode)) {n getTargetInstFunc = getTargetInstForClickEvent;n }nn if (getTargetInstFunc) {n var inst = getTargetInstFunc(topLevelType, targetInst);n if (inst) {n var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);n event.type = 'change';n EventPropagators.accumulateTwoPhaseDispatches(event);n return event;n }n }nn if (handleEventFunc) {n handleEventFunc(topLevelType, targetNode, targetInst);n }n }nn};nnmodule.exports = ChangeEventPlugin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ChangeEventPlugin.jsn ** module id = 55n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactUpdatesn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar CallbackQueue = require('./CallbackQueue');nvar PooledClass = require('./PooledClass');nvar ReactFeatureFlags = require('./ReactFeatureFlags');nvar ReactReconciler = require('./ReactReconciler');nvar Transaction = require('./Transaction');nnvar invariant = require('fbjs/lib/invariant');nnvar dirtyComponents = [];nvar updateBatchNumber = 0;nvar asapCallbackQueue = CallbackQueue.getPooled();nvar asapEnqueued = false;nnvar batchingStrategy = null;nnfunction ensureInjected() {n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;n}nnvar NESTED_UPDATES = {n initialize: function () {n this.dirtyComponentsLength = dirtyComponents.length;n },n close: function () {n if (this.dirtyComponentsLength !== dirtyComponents.length) {n // Additional updates were enqueued by componentDidUpdate handlers orn // similar; before our own UPDATE_QUEUEING wrapper closes, we want to runn // these new updates so that if A's componentDidUpdate calls setState onn // B, B will update before the callback A's updater provided when callingn // setState.n dirtyComponents.splice(0, this.dirtyComponentsLength);n flushBatchedUpdates();n } else {n dirtyComponents.length = 0;n }n }n};nnvar UPDATE_QUEUEING = {n initialize: function () {n this.callbackQueue.reset();n },n close: function () {n this.callbackQueue.notifyAll();n }n};nnvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];nnfunction ReactUpdatesFlushTransaction() {n this.reinitializeTransaction();n this.dirtyComponentsLength = null;n this.callbackQueue = CallbackQueue.getPooled();n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(n /* useCreateElement */true);n}nn_assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {n getTransactionWrappers: function () {n return TRANSACTION_WRAPPERS;n },nn destructor: function () {n this.dirtyComponentsLength = null;n CallbackQueue.release(this.callbackQueue);n this.callbackQueue = null;n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);n this.reconcileTransaction = null;n },nn perform: function (method, scope, a) {n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`n // with this transaction's wrappers around it.n return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);n }n});nnPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);nnfunction batchedUpdates(callback, a, b, c, d, e) {n ensureInjected();n batchingStrategy.batchedUpdates(callback, a, b, c, d, e);n}nn/**n * Array comparator for ReactComponents by mount ordering.n *n * @param {ReactComponent} c1 first component you're comparingn * @param {ReactComponent} c2 second component you're comparingn * @return {number} Return value usable by Array.prototype.sort().n */nfunction mountOrderComparator(c1, c2) {n return c1._mountOrder - c2._mountOrder;n}nnfunction runBatchedUpdates(transaction) {n var len = transaction.dirtyComponentsLength;n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;nn // Since reconciling a component higher in the owner hierarchy usually (notn // always – see shouldComponentUpdate()) will reconcile children, reconcilen // them before their children by sorting the array.n dirtyComponents.sort(mountOrderComparator);nn // Any updates enqueued while reconciling must be performed after this entiren // batch. Otherwise, if dirtyComponents is [A, B] where A has children B andn // C, B could update twice in a single batch if C's render enqueues an updaten // to B (since B would have already updated, we should skip it, and the onlyn // way we can know to do so is by checking the batch counter).n updateBatchNumber++;nn for (var i = 0; i < len; i++) {n // If a component is unmounted before pending changes apply, it will stilln // be here, but we assume that it has cleared its _pendingCallbacks andn // that performUpdateIfNecessary is a noop.n var component = dirtyComponents;nn // If performUpdateIfNecessary happens to enqueue any new updates, wen // shouldn't execute the callbacks until the next render happens, son // stash the callbacks firstn var callbacks = component._pendingCallbacks;n component._pendingCallbacks = null;nn var markerName;n if (ReactFeatureFlags.logTopLevelRenders) {n var namedComponent = component;n // Duck type TopLevelWrapper. This is probably always true.n if (component._currentElement.props === component._renderedComponent._currentElement) {n namedComponent = component._renderedComponent;n }n markerName = 'React update: ' + namedComponent.getName();n console.time(markerName);n }nn ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);nn if (markerName) {n console.timeEnd(markerName);n }nn if (callbacks) {n for (var j = 0; j < callbacks.length; j++) {n transaction.callbackQueue.enqueue(callbacks, component.getPublicInstance());n }n }n }n}nnvar flushBatchedUpdates = function () {n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponentsn // array and perform any updates enqueued by mount-ready handlers (i.e.,n // componentDidUpdate) but we need to check here too in order to catchn // updates enqueued by setState callbacks and asap calls.n while (dirtyComponents.length || asapEnqueued) {n if (dirtyComponents.length) {n var transaction = ReactUpdatesFlushTransaction.getPooled();n transaction.perform(runBatchedUpdates, null, transaction);n ReactUpdatesFlushTransaction.release(transaction);n }nn if (asapEnqueued) {n asapEnqueued = false;n var queue = asapCallbackQueue;n asapCallbackQueue = CallbackQueue.getPooled();n queue.notifyAll();n CallbackQueue.release(queue);n }n }n};nn/**n * Mark a component as needing a rerender, adding an optional callback to an * list of functions which will be executed once the rerender occurs.n */nfunction enqueueUpdate(component) {n ensureInjected();nn // Various parts of our code (such as ReactCompositeComponent'sn // _renderValidatedComponent) assume that calls to render aren't nested;n // verify that that's the case. (This is called by each top-level updaten // function, like setState, forceUpdate, etc.; creation andn // destruction of top-level components is guarded in ReactMount.)nn if (!batchingStrategy.isBatchingUpdates) {n batchingStrategy.batchedUpdates(enqueueUpdate, component);n return;n }nn dirtyComponents.push(component);n if (component._updateBatchNumber == null) {n component._updateBatchNumber = updateBatchNumber + 1;n }n}nn/**n * Enqueue a callback to be run at the end of the current batching cycle. Throwsn * if no updates are currently being performed.n */nfunction asap(callback, context) {n !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;n asapCallbackQueue.enqueue(callback, context);n asapEnqueued = true;n}nnvar ReactUpdatesInjection = {n injectReconcileTransaction: function (ReconcileTransaction) {n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;n },nn injectBatchingStrategy: function (_batchingStrategy) {n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;n batchingStrategy = _batchingStrategy;n }n};nnvar ReactUpdates = {n /**n * React references `ReactReconcileTransaction` using this property in ordern * to allow dependency injection.n *n * @internaln */n ReactReconcileTransaction: null,nn batchedUpdates: batchedUpdates,n enqueueUpdate: enqueueUpdate,n flushBatchedUpdates: flushBatchedUpdates,n injection: ReactUpdatesInjection,n asap: asapn};nnmodule.exports = ReactUpdates;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactUpdates.jsn ** module id = 56n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule CallbackQueuen */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar PooledClass = require('./PooledClass');nnvar invariant = require('fbjs/lib/invariant');nn/**n * A specialized pseudo-event module to help keep track of components waiting ton * be notified when their DOM representations are available for use.n *n * This implements `PooledClass`, so you should never need to instantiate this.n * Instead, use `CallbackQueue.getPooled()`.n *n * @class ReactMountReadyn * @implements PooledClassn * @internaln */nfunction CallbackQueue() {n this._callbacks = null;n this._contexts = null;n}nn_assign(CallbackQueue.prototype, {nn /**n * Enqueues a callback to be invoked when `notifyAll` is invoked.n *n * @param {function} callback Invoked when `notifyAll` is invoked.n * @param {?object} context Context to call `callback` with.n * @internaln */n enqueue: function (callback, context) {n this._callbacks = this._callbacks || [];n this._contexts = this._contexts || [];n this._callbacks.push(callback);n this._contexts.push(context);n },nn /**n * Invokes all enqueued callbacks and clears the queue. This is invoked aftern * the DOM representation of a component has been created or updated.n *n * @internaln */n notifyAll: function () {n var callbacks = this._callbacks;n var contexts = this._contexts;n if (callbacks) {n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;n this._callbacks = null;n this._contexts = null;n for (var i = 0; i < callbacks.length; i++) {n callbacks.call(contexts);n }n callbacks.length = 0;n contexts.length = 0;n }n },nn checkpoint: function () {n return this._callbacks ? this._callbacks.length : 0;n },nn rollback: function (len) {n if (this._callbacks) {n this._callbacks.length = len;n this._contexts.length = len;n }n },nn /**n * Resets the internal queue.n *n * @internaln */n reset: function () {n this._callbacks = null;n this._contexts = null;n },nn /**n * `PooledClass` looks for this.n */n destructor: function () {n this.reset();n }nn});nnPooledClass.addPoolingTo(CallbackQueue);nnmodule.exports = CallbackQueue;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/CallbackQueue.jsn ** module id = 57n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactFeatureFlagsn * n */nn'use strict';nnvar ReactFeatureFlags = {n // When true, call console.time() before and .timeEnd() after each top-leveln // render (both initial renders and updates). Useful when looking at prod-moden // timeline profiles in Chrome, for example.n logTopLevelRenders: falsen};nnmodule.exports = ReactFeatureFlags;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactFeatureFlags.jsn ** module id = 58n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactReconcilern */nn'use strict';nnvar ReactRef = require('./ReactRef');nvar ReactInstrumentation = require('./ReactInstrumentation');nnvar warning = require('fbjs/lib/warning');nn/**n * Helper to call ReactRef.attachRefs with this composite component, split outn * to avoid allocations in the transaction mount-ready queue.n */nfunction attachRefs() {n ReactRef.attachRefs(this, this._currentElement);n}nnvar ReactReconciler = {nn /**n * Initializes the component, renders markup, and registers event listeners.n *n * @param {ReactComponent} internalInstancen * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {?object} the containing host component instancen * @param {?object} info about the host containern * @return {?string} Rendered markup to be inserted into the DOM.n * @finaln * @internaln */n mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for rootsn ) {n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);n }n }n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);n }n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);n }n }n return markup;n },nn /**n * Returns a value that can be passed ton * ReactComponentEnvironment.replaceNodeWithMarkup.n */n getHostNode: function (internalInstance) {n return internalInstance.getHostNode();n },nn /**n * Releases any resources allocated by `mountComponent`.n *n * @finaln * @internaln */n unmountComponent: function (internalInstance, safely) {n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);n }n }n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);n internalInstance.unmountComponent(safely);n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);n }n }n },nn /**n * Update a component using a new element.n *n * @param {ReactComponent} internalInstancen * @param {ReactElement} nextElementn * @param {ReactReconcileTransaction} transactionn * @param {object} contextn * @internaln */n receiveComponent: function (internalInstance, nextElement, transaction, context) {n var prevElement = internalInstance._currentElement;nn if (nextElement === prevElement && context === internalInstance._context) {n // Since elements are immutable after the owner is rendered,n // we can do a cheap identity compare here to determine if this is an // superfluous reconcile. It's possible for state to be mutable but suchn // change should trigger an update of the owner which would recreaten // the element. We explicitly check for the existence of an owner sincen // it's possible for an element created outside a composite to ben // deeply mutated and reused.nn // TODO: Bailing out early is just a perf optimization right?n // TODO: Removing the return statement should affect correctness?n return;n }nn if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);n }n }nn var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);nn if (refsChanged) {n ReactRef.detachRefs(internalInstance, prevElement);n }nn internalInstance.receiveComponent(nextElement, transaction, context);nn if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);n }nn if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);n }n }n },nn /**n * Flush any dirty changes in a component.n *n * @param {ReactComponent} internalInstancen * @param {ReactReconcileTransaction} transactionn * @internaln */n performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {n if (internalInstance._updateBatchNumber !== updateBatchNumber) {n // The component's enqueued batch number should always be the currentn // batch or the following one.n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;n return;n }n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);n }n }n internalInstance.performUpdateIfNecessary(transaction);n if (process.env.NODE_ENV !== 'production') {n if (internalInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);n }n }n }nn};nnmodule.exports = ReactReconciler;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactReconciler.jsn ** module id = 59n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactRefn */nn'use strict';nnvar ReactOwner = require('./ReactOwner');nnvar ReactRef = {};nnfunction attachRef(ref, component, owner) {n if (typeof ref === 'function') {n ref(component.getPublicInstance());n } else {n // Legacy refn ReactOwner.addComponentAsRefTo(component, ref, owner);n }n}nnfunction detachRef(ref, component, owner) {n if (typeof ref === 'function') {n ref(null);n } else {n // Legacy refn ReactOwner.removeComponentAsRefFrom(component, ref, owner);n }n}nnReactRef.attachRefs = function (instance, element) {n if (element === null || element === false) {n return;n }n var ref = element.ref;n if (ref != null) {n attachRef(ref, instance, element._owner);n }n};nnReactRef.shouldUpdateRefs = function (prevElement, nextElement) {n // If either the owner or a `ref` has changed, make sure the newest ownern // has stored a reference to `this`, and the previous owner (if different)n // has forgotten the reference to `this`. We use the element insteadn // of the public this.props because the post processing cannot determinen // a ref. The ref conceptually lives on the element.nn // TODO: Should this even be possible? The owner cannot change becausen // it's forbidden by shouldUpdateReactComponent. The ref can changen // if you swap the keys of but not the refs. Reconsider where this checkn // is made. It probably belongs where the key checking andn // instantiateReactComponent is done.nn var prevEmpty = prevElement === null || prevElement === false;n var nextEmpty = nextElement === null || nextElement === false;nn return (n // This has a few false positives w/r/t empty components.n prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref ||n // If owner changes but we have an unchanged function ref, don't update refsn typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._ownern );n};nnReactRef.detachRefs = function (instance, element) {n if (element === null || element === false) {n return;n }n var ref = element.ref;n if (ref != null) {n detachRef(ref, instance, element._owner);n }n};nnmodule.exports = ReactRef;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactRef.jsn ** module id = 60n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactOwnern */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * ReactOwners are capable of storing references to owned components.n *n * All components are capable of //being// referenced by owner components, butn * only ReactOwner components are capable of //referencing// owned components.n * The named reference is known as a "ref".n *n * Refs are available when mounted and updated during reconciliation.n *n * var MyComponent = React.createClass({n * render: function() {n * return (n * <div onClick={this.handleClick}>n * <CustomComponent ref="custom" />n * </div>n * );n * },n * handleClick: function() {n * this.refs.custom.handleClick();n * },n * componentDidMount: function() {n * this.refs.custom.initialize();n * }n * });n *n * Refs should rarely be used. When refs are used, they should only be done ton * control data that is not handled by React's data flow.n *n * @class ReactOwnern */nvar ReactOwner = {nn /**n * @param {?object} objectn * @return {boolean} True if `object` is a valid owner.n * @finaln */n isValidOwner: function (object) {n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');n },nn /**n * Adds a component by ref to an owner component.n *n * @param {ReactComponent} component Component to reference.n * @param {string} ref Name by which to refer to the component.n * @param {ReactOwner} owner Component on which to record the ref.n * @finaln * @internaln */n addComponentAsRefTo: function (component, ref, owner) {n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(…): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;n owner.attachRef(ref, component);n },nn /**n * Removes a component by ref from an owner component.n *n * @param {ReactComponent} component Component to dereference.n * @param {string} ref Name of the ref to remove.n * @param {ReactOwner} owner Component on which the ref is recorded.n * @finaln * @internaln */n removeComponentAsRefFrom: function (component, ref, owner) {n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(…): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;n var ownerPublicInstance = owner.getPublicInstance();n // Check that `component`'s owner is still alive and that `component` is still the current refn // because we do not want to detach the ref if another component stole it.n if (ownerPublicInstance && ownerPublicInstance.refs === component.getPublicInstance()) {n owner.detachRef(ref);n }n }nn};nnmodule.exports = ReactOwner;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactOwner.jsn ** module id = 61n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactInstrumentationn */nn'use strict';nnvar debugTool = null;nnif (process.env.NODE_ENV !== 'production') {n var ReactDebugTool = require('./ReactDebugTool');n debugTool = ReactDebugTool;n}nnmodule.exports = { debugTool: debugTool };nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactInstrumentation.jsn ** module id = 62n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDebugTooln */nn'use strict';nnvar ReactInvalidSetStateWarningHook = require('./ReactInvalidSetStateWarningHook');nvar ReactHostOperationHistoryHook = require('./ReactHostOperationHistoryHook');nvar ReactComponentTreeHook = require('./ReactComponentTreeHook');nvar ReactChildrenMutationWarningHook = require('./ReactChildrenMutationWarningHook');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nnvar performanceNow = require('fbjs/lib/performanceNow');nvar warning = require('fbjs/lib/warning');nnvar hooks = [];nvar didHookThrowForEvent = {};nnfunction callHook(event, fn, context, arg1, arg2, arg3, arg4, arg5) {n try {n fn.call(context, arg1, arg2, arg3, arg4, arg5);n } catch (e) {n process.env.NODE_ENV !== 'production' ? warning(didHookThrowForEvent, 'Exception thrown by hook while handling %s: %s', event, e + '\n' + e.stack) : void 0;n didHookThrowForEvent = true;n }n}nnfunction emitEvent(event, arg1, arg2, arg3, arg4, arg5) {n for (var i = 0; i < hooks.length; i++) {n var hook = hooks;n var fn = hook;n if (fn) {n callHook(event, fn, hook, arg1, arg2, arg3, arg4, arg5);n }n }n}nnvar isProfiling = false;nvar flushHistory = [];nvar lifeCycleTimerStack = [];nvar currentFlushNesting = 0;nvar currentFlushMeasurements = null;nvar currentFlushStartTime = null;nvar currentTimerDebugID = null;nvar currentTimerStartTime = null;nvar currentTimerNestedFlushDuration = null;nvar currentTimerType = null;nnvar lifeCycleTimerHasWarned = false;nnfunction clearHistory() {n ReactComponentTreeHook.purgeUnmountedComponents();n ReactHostOperationHistoryHook.clearHistory();n}nnfunction getTreeSnapshot(registeredIDs) {n return registeredIDs.reduce(function (tree, id) {n var ownerID = ReactComponentTreeHook.getOwnerID(id);n var parentID = ReactComponentTreeHook.getParentID(id);n tree = {n displayName: ReactComponentTreeHook.getDisplayName(id),n text: ReactComponentTreeHook.getText(id),n updateCount: ReactComponentTreeHook.getUpdateCount(id),n childIDs: ReactComponentTreeHook.getChildIDs(id),n // Text nodes don't have owners but this is close enough.n ownerID: ownerID || ReactComponentTreeHook.getOwnerID(parentID),n parentID: parentIDn };n return tree;n }, {});n}nnfunction resetMeasurements() {n var previousStartTime = currentFlushStartTime;n var previousMeasurements = currentFlushMeasurements || [];n var previousOperations = ReactHostOperationHistoryHook.getHistory();nn if (currentFlushNesting === 0) {n currentFlushStartTime = null;n currentFlushMeasurements = null;n clearHistory();n return;n }nn if (previousMeasurements.length || previousOperations.length) {n var registeredIDs = ReactComponentTreeHook.getRegisteredIDs();n flushHistory.push({n duration: performanceNow() - previousStartTime,n measurements: previousMeasurements || [],n operations: previousOperations || [],n treeSnapshot: getTreeSnapshot(registeredIDs)n });n }nn clearHistory();n currentFlushStartTime = performanceNow();n currentFlushMeasurements = [];n}nnfunction checkDebugID(debugID) {n var allowRoot = arguments.length <= 1 || arguments === undefined ? false : arguments;nn if (allowRoot && debugID === 0) {n return;n }n if (!debugID) {n process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDebugTool: debugID may not be empty.') : void 0;n }n}nnfunction beginLifeCycleTimer(debugID, timerType) {n if (currentFlushNesting === 0) {n return;n }n if (currentTimerType && !lifeCycleTimerHasWarned) {n process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;n lifeCycleTimerHasWarned = true;n }n currentTimerStartTime = performanceNow();n currentTimerNestedFlushDuration = 0;n currentTimerDebugID = debugID;n currentTimerType = timerType;n}nnfunction endLifeCycleTimer(debugID, timerType) {n if (currentFlushNesting === 0) {n return;n }n if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) {n process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;n lifeCycleTimerHasWarned = true;n }n if (isProfiling) {n currentFlushMeasurements.push({n timerType: timerType,n instanceID: debugID,n duration: performanceNow() - currentTimerStartTime - currentTimerNestedFlushDurationn });n }n currentTimerStartTime = null;n currentTimerNestedFlushDuration = null;n currentTimerDebugID = null;n currentTimerType = null;n}nnfunction pauseCurrentLifeCycleTimer() {n var currentTimer = {n startTime: currentTimerStartTime,n nestedFlushStartTime: performanceNow(),n debugID: currentTimerDebugID,n timerType: currentTimerTypen };n lifeCycleTimerStack.push(currentTimer);n currentTimerStartTime = null;n currentTimerNestedFlushDuration = null;n currentTimerDebugID = null;n currentTimerType = null;n}nnfunction resumeCurrentLifeCycleTimer() {n var _lifeCycleTimerStack$ = lifeCycleTimerStack.pop();nn var startTime = _lifeCycleTimerStack$.startTime;n var nestedFlushStartTime = _lifeCycleTimerStack$.nestedFlushStartTime;n var debugID = _lifeCycleTimerStack$.debugID;n var timerType = _lifeCycleTimerStack$.timerType;nn var nestedFlushDuration = performanceNow() - nestedFlushStartTime;n currentTimerStartTime = startTime;n currentTimerNestedFlushDuration += nestedFlushDuration;n currentTimerDebugID = debugID;n currentTimerType = timerType;n}nnvar ReactDebugTool = {n addHook: function (hook) {n hooks.push(hook);n },n removeHook: function (hook) {n for (var i = 0; i < hooks.length; i++) {n if (hooks === hook) {n hooks.splice(i, 1);n i–;n }n }n },n isProfiling: function () {n return isProfiling;n },n beginProfiling: function () {n if (isProfiling) {n return;n }nn isProfiling = true;n flushHistory.length = 0;n resetMeasurements();n ReactDebugTool.addHook(ReactHostOperationHistoryHook);n },n endProfiling: function () {n if (!isProfiling) {n return;n }nn isProfiling = false;n resetMeasurements();n ReactDebugTool.removeHook(ReactHostOperationHistoryHook);n },n getFlushHistory: function () {n return flushHistory;n },n onBeginFlush: function () {n currentFlushNesting++;n resetMeasurements();n pauseCurrentLifeCycleTimer();n emitEvent('onBeginFlush');n },n onEndFlush: function () {n resetMeasurements();n currentFlushNesting–;n resumeCurrentLifeCycleTimer();n emitEvent('onEndFlush');n },n onBeginLifeCycleTimer: function (debugID, timerType) {n checkDebugID(debugID);n emitEvent('onBeginLifeCycleTimer', debugID, timerType);n beginLifeCycleTimer(debugID, timerType);n },n onEndLifeCycleTimer: function (debugID, timerType) {n checkDebugID(debugID);n endLifeCycleTimer(debugID, timerType);n emitEvent('onEndLifeCycleTimer', debugID, timerType);n },n onError: function (debugID) {n if (currentTimerDebugID != null) {n endLifeCycleTimer(currentTimerDebugID, currentTimerType);n }n emitEvent('onError', debugID);n },n onBeginProcessingChildContext: function () {n emitEvent('onBeginProcessingChildContext');n },n onEndProcessingChildContext: function () {n emitEvent('onEndProcessingChildContext');n },n onHostOperation: function (debugID, type, payload) {n checkDebugID(debugID);n emitEvent('onHostOperation', debugID, type, payload);n },n onSetState: function () {n emitEvent('onSetState');n },n onSetChildren: function (debugID, childDebugIDs) {n checkDebugID(debugID);n childDebugIDs.forEach(checkDebugID);n emitEvent('onSetChildren', debugID, childDebugIDs);n },n onBeforeMountComponent: function (debugID, element, parentDebugID) {n checkDebugID(debugID);n checkDebugID(parentDebugID, true);n emitEvent('onBeforeMountComponent', debugID, element, parentDebugID);n },n onMountComponent: function (debugID) {n checkDebugID(debugID);n emitEvent('onMountComponent', debugID);n },n onBeforeUpdateComponent: function (debugID, element) {n checkDebugID(debugID);n emitEvent('onBeforeUpdateComponent', debugID, element);n },n onUpdateComponent: function (debugID) {n checkDebugID(debugID);n emitEvent('onUpdateComponent', debugID);n },n onBeforeUnmountComponent: function (debugID) {n checkDebugID(debugID);n emitEvent('onBeforeUnmountComponent', debugID);n },n onUnmountComponent: function (debugID) {n checkDebugID(debugID);n emitEvent('onUnmountComponent', debugID);n },n onTestEvent: function () {n emitEvent('onTestEvent');n }n};nn// TODO remove these when RN/www gets updatednReactDebugTool.addDevtool = ReactDebugTool.addHook;nReactDebugTool.removeDevtool = ReactDebugTool.removeHook;nnReactDebugTool.addHook(ReactInvalidSetStateWarningHook);nReactDebugTool.addHook(ReactComponentTreeHook);nReactDebugTool.addHook(ReactChildrenMutationWarningHook);nvar url = ExecutionEnvironment.canUseDOM && window.location.href || '';nif (/[?&]react_perf\b/.test(url)) {n ReactDebugTool.beginProfiling();n}nnmodule.exports = ReactDebugTool;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDebugTool.jsn ** module id = 63n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactInvalidSetStateWarningHookn */nn'use strict';nnvar warning = require('fbjs/lib/warning');nnif (process.env.NODE_ENV !== 'production') {n var processingChildContext = false;nn var warnInvalidSetState = function () {n process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(…): Cannot call setState() inside getChildContext()') : void 0;n };n}nnvar ReactInvalidSetStateWarningHook = {n onBeginProcessingChildContext: function () {n processingChildContext = true;n },n onEndProcessingChildContext: function () {n processingChildContext = false;n },n onSetState: function () {n warnInvalidSetState();n }n};nnmodule.exports = ReactInvalidSetStateWarningHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactInvalidSetStateWarningHook.jsn ** module id = 64n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactHostOperationHistoryHookn */nn'use strict';nnvar history = [];nnvar ReactHostOperationHistoryHook = {n onHostOperation: function (debugID, type, payload) {n history.push({n instanceID: debugID,n type: type,n payload: payloadn });n },n clearHistory: function () {n if (ReactHostOperationHistoryHook._preventClearing) {n // Should only be used for tests.n return;n }nn history = [];n },n getHistory: function () {n return history;n }n};nnmodule.exports = ReactHostOperationHistoryHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactHostOperationHistoryHook.jsn ** module id = 65n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactChildrenMutationWarningHookn */nn'use strict';nnvar ReactComponentTreeHook = require('./ReactComponentTreeHook');nnvar warning = require('fbjs/lib/warning');nnfunction handleElement(debugID, element) {n if (element == null) {n return;n }n if (element._shadowChildren === undefined) {n return;n }n if (element._shadowChildren === element.props.children) {n return;n }n var isMutated = false;n if (Array.isArray(element._shadowChildren)) {n if (element._shadowChildren.length === element.props.children.length) {n for (var i = 0; i < element._shadowChildren.length; i++) {n if (element._shadowChildren !== element.props.children) {n isMutated = true;n }n }n } else {n isMutated = true;n }n }n if (!Array.isArray(element._shadowChildren) || isMutated) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Component\'s children should not be mutated.%s', ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;n }n}nnvar ReactChildrenMutationWarningHook = {n onMountComponent: function (debugID) {n handleElement(debugID, ReactComponentTreeHook.getElement(debugID));n },n onUpdateComponent: function (debugID) {n handleElement(debugID, ReactComponentTreeHook.getElement(debugID));n }n};nnmodule.exports = ReactChildrenMutationWarningHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactChildrenMutationWarningHook.jsn ** module id = 66n ** module chunks = 0n **/”,“'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nnvar performance = require('./performance');nnvar performanceNow;nn/**n * Detect if we can use `window.performance.now()` and gracefully fallback ton * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for nown * because of Facebook's testing infrastructure.n */nif (performance.now) {n performanceNow = function performanceNow() {n return performance.now();n };n} else {n performanceNow = function performanceNow() {n return Date.now();n };n}nnmodule.exports = performanceNow;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/performanceNow.jsn ** module id = 67n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn'use strict';nnvar ExecutionEnvironment = require('./ExecutionEnvironment');nnvar performance;nnif (ExecutionEnvironment.canUseDOM) {n performance = window.performance || window.msPerformance || window.webkitPerformance;n}nnmodule.exports = performance || {};nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/performance.jsn ** module id = 68n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule Transactionn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * `Transaction` creates a black box that is able to wrap any method such thatn * certain invariants are maintained before and after the method is invokedn * (Even if an exception is thrown while invoking the wrapped method). Whoevern * instantiates a transaction can provide enforcers of the invariants atn * creation time. The `Transaction` class itself will supply one additionaln * automatic invariant for you - the invariant that any transaction instancen * should not be run while it is already being run. You would typically create an * single instance of a `Transaction` for reuse multiple times, that potentiallyn * is used to wrap several different methods. Wrappers are extremely simple -n * they only require implementing two methods.n *n * <pre>n * wrappers (injected at creation time)n * + +n * | |n * +—————–|——–|————–+n * | v | |n * | --------------- | |n * | +–| wrapper1 |—|—-+ |n * | | --------------- v | |n * | | ------------- | |n * | | +—-| wrapper2 |——–+ |n * | | | ------------- | | |n * | | | | | |n * | v v v v | wrappern * | --- --- --------- --- --- | invariantsn * perform(anyMethod) | | | | | | | | | | | | maintainedn * +—————–>|-|—|-|—|–>|anyMethod|—|—|-|—|-|——–>n * | | | | | | | | | | | |n * | | | | | | | | | | | |n * | | | | | | | | | | | |n * | --- --- --------- --- --- |n * | initialize close |n * -----------------------------------------n * </pre>n *n * Use cases:n * - Preserving the input selection ranges before/after reconciliation.n * Restoring selection even in the event of an unexpected error.n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,n * while guaranteeing that afterwards, the event system is reactivated.n * - Flushing a queue of collected DOM mutations to the main UI thread after an * reconciliation takes place in a worker thread.n * - Invoking any collected `componentDidUpdate` callbacks after rendering newn * content.n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queuen * to preserve the `scrollTop` (an automatic scroll aware DOM).n * - (Future use case): Layout calculations before and after DOM updates.n *n * Transactional plugin API:n * - A module that has an `initialize` method that returns any precomputation.n * - and a `close` method that accepts the precomputation. `close` is invokedn * when the wrapped process is completed, or has failed.n *n * @param {Array<TransactionalWrapper>} transactionWrapper Wrapper modulesn * that implement `initialize` and `close`.n * @return {Transaction} Single transaction for reuse in thread.n *n * @class Transactionn */nvar Mixin = {n /**n * Sets up this instance so that it is prepared for collecting metrics. Doesn * so such that this setup method may be used on an instance that is alreadyn * initialized, in a way that does not consume additional memory upon reuse.n * That can be useful if you decide to make your subclass of this mixin an * "PooledClass".n */n reinitializeTransaction: function () {n this.transactionWrappers = this.getTransactionWrappers();n if (this.wrapperInitData) {n this.wrapperInitData.length = 0;n } else {n this.wrapperInitData = [];n }n this._isInTransaction = false;n },nn _isInTransaction: false,nn /**n * @abstractn * @return {Array<TransactionWrapper>} Array of transaction wrappers.n */n getTransactionWrappers: null,nn isInTransaction: function () {n return !!this._isInTransaction;n },nn /**n * Executes the function within a safety window. Use this for the top leveln * methods that result in large amounts of computation/mutations that wouldn * need to be safety checked. The optional arguments helps prevent the needn * to bind in many cases.n *n * @param {function} method Member of scope to call.n * @param {Object} scope Scope to invoke from.n * @param {Object?=} a Argument to pass to the method.n * @param {Object?=} b Argument to pass to the method.n * @param {Object?=} c Argument to pass to the method.n * @param {Object?=} d Argument to pass to the method.n * @param {Object?=} e Argument to pass to the method.n * @param {Object?=} f Argument to pass to the method.n *n * @return {*} Return value from `method`.n */n perform: function (method, scope, a, b, c, d, e, f) {n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(…): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;n var errorThrown;n var ret;n try {n this._isInTransaction = true;n // Catching errors makes debugging more difficult, so we start withn // errorThrown set to true before setting it to false after callingn // close – if it's still set to true in the finally block, it meansn // one of these calls threw.n errorThrown = true;n this.initializeAll(0);n ret = method.call(scope, a, b, c, d, e, f);n errorThrown = false;n } finally {n try {n if (errorThrown) {n // If `method` throws, prefer to show that stack trace over any thrownn // by invoking `closeAll`.n try {n this.closeAll(0);n } catch (err) {}n } else {n // Since `method` didn't throw, we don't want to silence the exceptionn // here.n this.closeAll(0);n }n } finally {n this._isInTransaction = false;n }n }n return ret;n },nn initializeAll: function (startIndex) {n var transactionWrappers = this.transactionWrappers;n for (var i = startIndex; i < transactionWrappers.length; i++) {n var wrapper = transactionWrappers;n try {n // Catching errors makes debugging more difficult, so we start with then // OBSERVED_ERROR state before overwriting it with the real return valuen // of initialize – if it's still set to OBSERVED_ERROR in the finallyn // block, it means wrapper.initialize threw.n this.wrapperInitData = Transaction.OBSERVED_ERROR;n this.wrapperInitData = wrapper.initialize ? wrapper.initialize.call(this) : null;n } finally {n if (this.wrapperInitData === Transaction.OBSERVED_ERROR) {n // The initializer for wrapper i threw an error; initialize then // remaining wrappers but silence any exceptions from them to ensuren // that the first error is the one to bubble up.n try {n this.initializeAll(i + 1);n } catch (err) {}n }n }n }n },nn /**n * Invokes each of `this.transactionWrappers.close` functions, passing inton * them the respective return values of `this.transactionWrappers.init`n * (`close`rs that correspond to initializers that failed will not ben * invoked).n */n closeAll: function (startIndex) {n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;n var transactionWrappers = this.transactionWrappers;n for (var i = startIndex; i < transactionWrappers.length; i++) {n var wrapper = transactionWrappers;n var initData = this.wrapperInitData;n var errorThrown;n try {n // Catching errors makes debugging more difficult, so we start withn // errorThrown set to true before setting it to false after callingn // close – if it's still set to true in the finally block, it meansn // wrapper.close threw.n errorThrown = true;n if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {n wrapper.close.call(this, initData);n }n errorThrown = false;n } finally {n if (errorThrown) {n // The closer for wrapper i threw an error; close the remainingn // wrappers but silence any exceptions from them to ensure that then // first error is the one to bubble up.n try {n this.closeAll(i + 1);n } catch (e) {}n }n }n }n this.wrapperInitData.length = 0;n }n};nnvar Transaction = {nn Mixin: Mixin,nn /**n * Token to look for to determine if an error occurred.n */n OBSERVED_ERROR: {}nn};nnmodule.exports = Transaction;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/Transaction.jsn ** module id = 69n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getEventTargetn */nn'use strict';nn/**n * Gets the target node from a native browser event by accounting forn * inconsistencies in browser DOM APIs.n *n * @param {object} nativeEvent Native browser event.n * @return {DOMEventTarget} Target node.n */nnfunction getEventTarget(nativeEvent) {n var target = nativeEvent.target || nativeEvent.srcElement || window;nn // Normalize SVG <use> element events #4963n if (target.correspondingUseElement) {n target = target.correspondingUseElement;n }nn // Safari may fire events on text nodes (Node.TEXT_NODE is 3).n // @see www.quirksmode.org/js/events_properties.htmln return target.nodeType === 3 ? target.parentNode : target;n}nnmodule.exports = getEventTarget;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getEventTarget.jsn ** module id = 70n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule isEventSupportedn */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nnvar useHasFeature;nif (ExecutionEnvironment.canUseDOM) {n useHasFeature = document.implementation && document.implementation.hasFeature &&n // always returns true in newer browsers as per the standard.n // @see dom.spec.whatwg.org/#dom-domimplementation-hasfeaturen document.implementation.hasFeature('', '') !== true;n}nn/**n * Checks if an event is supported in the current execution environment.n *n * NOTE: This will not work correctly for non-generic events such as `change`,n * `reset`, `load`, `error`, and `select`.n *n * Borrows from Modernizr.n *n * @param {string} eventNameSuffix Event name, e.g. "click".n * @param {?boolean} capture Check if the capture phase is supported.n * @return {boolean} True if the event is supported.n * @internaln * @license Modernizr 3.0.0pre (Custom Build) | MITn */nfunction isEventSupported(eventNameSuffix, capture) {n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {n return false;n }nn var eventName = 'on' + eventNameSuffix;n var isSupported = eventName in document;nn if (!isSupported) {n var element = document.createElement('div');n element.setAttribute(eventName, 'return;');n isSupported = typeof element === 'function';n }nn if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {n // This is the only way to test support for the `wheel` event in IE9+.n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');n }nn return isSupported;n}nnmodule.exports = isEventSupported;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/isEventSupported.jsn ** module id = 71n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule isTextInputElementn * n */nn'use strict';nn/**n * @see www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summaryn */nnvar supportedInputTypes = {n 'color': true,n 'date': true,n 'datetime': true,n 'datetime-local': true,n 'email': true,n 'month': true,n 'number': true,n 'password': true,n 'range': true,n 'search': true,n 'tel': true,n 'text': true,n 'time': true,n 'url': true,n 'week': truen};nnfunction isTextInputElement(elem) {n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();nn if (nodeName === 'input') {n return !!supportedInputTypes;n }nn if (nodeName === 'textarea') {n return true;n }nn return false;n}nnmodule.exports = isTextInputElement;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/isTextInputElement.jsn ** module id = 72n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DefaultEventPluginOrdern */nn'use strict';nnvar keyOf = require('fbjs/lib/keyOf');nn/**n * Module that is injectable into `EventPluginHub`, that specifies an * deterministic ordering of `EventPlugin`s. A convenient way to reason aboutn * plugins, without having to package every one of them. This is better thann * having plugins be ordered in the same order that they are injected becausen * that ordering would be influenced by the packaging order.n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so thatn * preventing default on events is convenient in `SimpleEventPlugin` handlers.n */nvar DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];nnmodule.exports = DefaultEventPluginOrder;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DefaultEventPluginOrder.jsn ** module id = 73n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule EnterLeaveEventPluginn */nn'use strict';nnvar EventConstants = require('./EventConstants');nvar EventPropagators = require('./EventPropagators');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');nnvar keyOf = require('fbjs/lib/keyOf');nnvar topLevelTypes = EventConstants.topLevelTypes;nnvar eventTypes = {n mouseEnter: {n registrationName: keyOf({ onMouseEnter: null }),n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]n },n mouseLeave: {n registrationName: keyOf({ onMouseLeave: null }),n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]n }n};nnvar EnterLeaveEventPlugin = {nn eventTypes: eventTypes,nn /**n * For almost every interaction we care about, there will be both a top-leveln * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so thatn * we do not extract duplicate events. However, moving the mouse into then * browser from outside will not fire a `mouseout` event. In this case, we usen * the `mouseover` top-level event.n */n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {n return null;n }n if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) {n // Must not be a mouse in or mouse out - ignoring.n return null;n }nn var win;n if (nativeEventTarget.window === nativeEventTarget) {n // `nativeEventTarget` is probably a window object.n win = nativeEventTarget;n } else {n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.n var doc = nativeEventTarget.ownerDocument;n if (doc) {n win = doc.defaultView || doc.parentWindow;n } else {n win = window;n }n }nn var from;n var to;n if (topLevelType === topLevelTypes.topMouseOut) {n from = targetInst;n var related = nativeEvent.relatedTarget || nativeEvent.toElement;n to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;n } else {n // Moving to a node from outside the window.n from = null;n to = targetInst;n }nn if (from === to) {n // Nothing pertains to our managed components.n return null;n }nn var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);n var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);nn var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);n leave.type = 'mouseleave';n leave.target = fromNode;n leave.relatedTarget = toNode;nn var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);n enter.type = 'mouseenter';n enter.target = toNode;n enter.relatedTarget = fromNode;nn EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);nn return [leave, enter];n }nn};nnmodule.exports = EnterLeaveEventPlugin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/EnterLeaveEventPlugin.jsn ** module id = 74n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticMouseEventn */nn'use strict';nnvar SyntheticUIEvent = require('./SyntheticUIEvent');nvar ViewportMetrics = require('./ViewportMetrics');nnvar getEventModifierState = require('./getEventModifierState');nn/**n * @interface MouseEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar MouseEventInterface = {n screenX: null,n screenY: null,n clientX: null,n clientY: null,n ctrlKey: null,n shiftKey: null,n altKey: null,n metaKey: null,n getModifierState: getEventModifierState,n button: function (event) {n // Webkit, Firefox, IE9+n // which: 1 2 3n // button: 0 1 2 (standard)n var button = event.button;n if ('which' in event) {n return button;n }n // IE<9n // which: undefinedn // button: 0 0 0n // button: 1 4 2 (onmouseup)n return button === 2 ? 2 : button === 4 ? 1 : 0;n },n buttons: null,n relatedTarget: function (event) {n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);n },n // "Proprietary" Interface.n pageX: function (event) {n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;n },n pageY: function (event) {n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;n }n};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);nnmodule.exports = SyntheticMouseEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticMouseEvent.jsn ** module id = 75n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticUIEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nnvar getEventTarget = require('./getEventTarget');nn/**n * @interface UIEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar UIEventInterface = {n view: function (event) {n if (event.view) {n return event.view;n }nn var target = getEventTarget(event);n if (target.window === target) {n // target is a window objectn return target;n }nn var doc = target.ownerDocument;n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.n if (doc) {n return doc.defaultView || doc.parentWindow;n } else {n return window;n }n },n detail: function (event) {n return event.detail || 0;n }n};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticEvent}n */nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);nnmodule.exports = SyntheticUIEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticUIEvent.jsn ** module id = 76n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ViewportMetricsn */nn'use strict';nnvar ViewportMetrics = {nn currentScrollLeft: 0,nn currentScrollTop: 0,nn refreshScrollValues: function (scrollPosition) {n ViewportMetrics.currentScrollLeft = scrollPosition.x;n ViewportMetrics.currentScrollTop = scrollPosition.y;n }nn};nnmodule.exports = ViewportMetrics;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ViewportMetrics.jsn ** module id = 77n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getEventModifierStaten */nn'use strict';nn/**n * Translation from modifier key to the associated property in the event.n * @see www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiersn */nnvar modifierKeyToProp = {n 'Alt': 'altKey',n 'Control': 'ctrlKey',n 'Meta': 'metaKey',n 'Shift': 'shiftKey'n};nn// IE8 does not implement getModifierState so we simply map it to the onlyn// modifier keys exposed by the event itself, does not support Lock-keys.n// Currently, all major browsers except Chrome seems to support Lock-keys.nfunction modifierStateGetter(keyArg) {n var syntheticEvent = this;n var nativeEvent = syntheticEvent.nativeEvent;n if (nativeEvent.getModifierState) {n return nativeEvent.getModifierState(keyArg);n }n var keyProp = modifierKeyToProp;n return keyProp ? !!nativeEvent : false;n}nnfunction getEventModifierState(nativeEvent) {n return modifierStateGetter;n}nnmodule.exports = getEventModifierState;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getEventModifierState.jsn ** module id = 78n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule HTMLDOMPropertyConfign */nn'use strict';nnvar DOMProperty = require('./DOMProperty');nnvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;nnvar HTMLDOMPropertyConfig = {n isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),n Properties: {n /**n * Standard Propertiesn */n accept: 0,n acceptCharset: 0,n accessKey: 0,n action: 0,n allowFullScreen: HAS_BOOLEAN_VALUE,n allowTransparency: 0,n alt: 0,n async: HAS_BOOLEAN_VALUE,n autoComplete: 0,n // autoFocus is polyfilled/normalized by AutoFocusUtilsn // autoFocus: HAS_BOOLEAN_VALUE,n autoPlay: HAS_BOOLEAN_VALUE,n capture: HAS_BOOLEAN_VALUE,n cellPadding: 0,n cellSpacing: 0,n charSet: 0,n challenge: 0,n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,n cite: 0,n classID: 0,n className: 0,n cols: HAS_POSITIVE_NUMERIC_VALUE,n colSpan: 0,n content: 0,n contentEditable: 0,n contextMenu: 0,n controls: HAS_BOOLEAN_VALUE,n coords: 0,n crossOrigin: 0,n data: 0, // For `<object />` acts as `src`.n dateTime: 0,n 'default': HAS_BOOLEAN_VALUE,n defer: HAS_BOOLEAN_VALUE,n dir: 0,n disabled: HAS_BOOLEAN_VALUE,n download: HAS_OVERLOADED_BOOLEAN_VALUE,n draggable: 0,n encType: 0,n form: 0,n formAction: 0,n formEncType: 0,n formMethod: 0,n formNoValidate: HAS_BOOLEAN_VALUE,n formTarget: 0,n frameBorder: 0,n headers: 0,n height: 0,n hidden: HAS_BOOLEAN_VALUE,n high: 0,n href: 0,n hrefLang: 0,n htmlFor: 0,n httpEquiv: 0,n icon: 0,n id: 0,n inputMode: 0,n integrity: 0,n is: 0,n keyParams: 0,n keyType: 0,n kind: 0,n label: 0,n lang: 0,n list: 0,n loop: HAS_BOOLEAN_VALUE,n low: 0,n manifest: 0,n marginHeight: 0,n marginWidth: 0,n max: 0,n maxLength: 0,n media: 0,n mediaGroup: 0,n method: 0,n min: 0,n minLength: 0,n // Caution; `option.selected` is not updated if `select.multiple` isn // disabled with `removeAttribute`.n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,n name: 0,n nonce: 0,n noValidate: HAS_BOOLEAN_VALUE,n open: HAS_BOOLEAN_VALUE,n optimum: 0,n pattern: 0,n placeholder: 0,n poster: 0,n preload: 0,n profile: 0,n radioGroup: 0,n readOnly: HAS_BOOLEAN_VALUE,n referrerPolicy: 0,n rel: 0,n required: HAS_BOOLEAN_VALUE,n reversed: HAS_BOOLEAN_VALUE,n role: 0,n rows: HAS_POSITIVE_NUMERIC_VALUE,n rowSpan: HAS_NUMERIC_VALUE,n sandbox: 0,n scope: 0,n scoped: HAS_BOOLEAN_VALUE,n scrolling: 0,n seamless: HAS_BOOLEAN_VALUE,n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,n shape: 0,n size: HAS_POSITIVE_NUMERIC_VALUE,n sizes: 0,n span: HAS_POSITIVE_NUMERIC_VALUE,n spellCheck: 0,n src: 0,n srcDoc: 0,n srcLang: 0,n srcSet: 0,n start: HAS_NUMERIC_VALUE,n step: 0,n style: 0,n summary: 0,n tabIndex: 0,n target: 0,n title: 0,n // Setting .type throws on non-<input> tagsn type: 0,n useMap: 0,n value: 0,n width: 0,n wmode: 0,n wrap: 0,nn /**n * RDFa Propertiesn */n about: 0,n datatype: 0,n inlist: 0,n prefix: 0,n // property is also supported for OpenGraph in meta tags.n property: 0,n resource: 0,n 'typeof': 0,n vocab: 0,nn /**n * Non-standard Propertiesn */n // autoCapitalize and autoCorrect are supported in Mobile Safari forn // keyboard hints.n autoCapitalize: 0,n autoCorrect: 0,n // autoSave allows WebKit/Blink to persist values of input fields on page reloadsn autoSave: 0,n // color is for Safari mask-icon linkn color: 0,n // itemProp, itemScope, itemType are forn // Microdata support. See schema.org/docs/gs.htmln itemProp: 0,n itemScope: HAS_BOOLEAN_VALUE,n itemType: 0,n // itemID and itemRef are for Microdata support as well butn // only specified in the WHATWG spec document. Seen // html.spec.whatwg.org/multipage/microdata.html#microdata-dom-apin itemID: 0,n itemRef: 0,n // results show looking glass icon and recent searches on inputn // search fields in WebKit/Blinkn results: 0,n // IE-only attribute that specifies security restrictions on an iframen // as an alternative to the sandbox attribute on IE<10n security: 0,n // IE-only attribute that controls focus behaviorn unselectable: 0n },n DOMAttributeNames: {n acceptCharset: 'accept-charset',n className: 'class',n htmlFor: 'for',n httpEquiv: 'http-equiv'n },n DOMPropertyNames: {}n};nnmodule.exports = HTMLDOMPropertyConfig;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/HTMLDOMPropertyConfig.jsn ** module id = 79n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactComponentBrowserEnvironmentn */nn'use strict';nnvar DOMChildrenOperations = require('./DOMChildrenOperations');nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');nn/**n * Abstracts away all functionality of the reconciler that requires knowledge ofn * the browser context. TODO: These callers should be refactored to avoid then * need for this injection.n */nvar ReactComponentBrowserEnvironment = {nn processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,nn replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkupnn};nnmodule.exports = ReactComponentBrowserEnvironment;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactComponentBrowserEnvironment.jsn ** module id = 80n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DOMChildrenOperationsn */nn'use strict';nnvar DOMLazyTree = require('./DOMLazyTree');nvar Danger = require('./Danger');nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactInstrumentation = require('./ReactInstrumentation');nnvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');nvar setInnerHTML = require('./setInnerHTML');nvar setTextContent = require('./setTextContent');nnfunction getNodeAfter(parentNode, node) {n // Special case for text components, which return [open, close] commentsn // from getHostNode.n if (Array.isArray(node)) {n node = node;n }n return node ? node.nextSibling : parentNode.firstChild;n}nn/**n * Inserts `childNode` as a child of `parentNode` at the `index`.n *n * @param {DOMElement} parentNode Parent node in which to insert.n * @param {DOMElement} childNode Child node to insert.n * @param {number} index Index at which to insert the child.n * @internaln */nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {n // We rely exclusively on `insertBefore(node, null)` instead of also usingn // `appendChild(node)`. (Using `undefined` is not allowed by all browsers son // we are careful to use `null`.)n parentNode.insertBefore(childNode, referenceNode);n});nnfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);n}nnfunction moveChild(parentNode, childNode, referenceNode) {n if (Array.isArray(childNode)) {n moveDelimitedText(parentNode, childNode, childNode, referenceNode);n } else {n insertChildAt(parentNode, childNode, referenceNode);n }n}nnfunction removeChild(parentNode, childNode) {n if (Array.isArray(childNode)) {n var closingComment = childNode;n childNode = childNode;n removeDelimitedText(parentNode, childNode, closingComment);n parentNode.removeChild(closingComment);n }n parentNode.removeChild(childNode);n}nnfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {n var node = openingComment;n while (true) {n var nextNode = node.nextSibling;n insertChildAt(parentNode, node, referenceNode);n if (node === closingComment) {n break;n }n node = nextNode;n }n}nnfunction removeDelimitedText(parentNode, startNode, closingComment) {n while (true) {n var node = startNode.nextSibling;n if (node === closingComment) {n // The closing comment is removed by ReactMultiChild.n break;n } else {n parentNode.removeChild(node);n }n }n}nnfunction replaceDelimitedText(openingComment, closingComment, stringText) {n var parentNode = openingComment.parentNode;n var nodeAfterComment = openingComment.nextSibling;n if (nodeAfterComment === closingComment) {n // There are no text nodes between the opening and closing comments; insertn // a new one if stringText isn't empty.n if (stringText) {n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);n }n } else {n if (stringText) {n // Set the text content of the first node after the opening comment, andn // remove all following nodes up until the closing comment.n setTextContent(nodeAfterComment, stringText);n removeDelimitedText(parentNode, nodeAfterComment, closingComment);n } else {n removeDelimitedText(parentNode, openingComment, closingComment);n }n }nn if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);n }n}nnvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;nif (process.env.NODE_ENV !== 'production') {n dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);n if (prevInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onHostOperation(prevInstance._debugID, 'replace with', markup.toString());n } else {n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);n if (nextInstance._debugID !== 0) {n ReactInstrumentation.debugTool.onHostOperation(nextInstance._debugID, 'mount', markup.toString());n }n }n };n}nn/**n * Operations for updating with DOM children.n */nvar DOMChildrenOperations = {nn dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,nn replaceDelimitedText: replaceDelimitedText,nn /**n * Updates a component's children by processing a series of updates. Then * update configurations are each expected to have a `parentNode` property.n *n * @param {array<object>} updates List of update configurations.n * @internaln */n processUpdates: function (parentNode, updates) {n if (process.env.NODE_ENV !== 'production') {n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;n }nn for (var k = 0; k < updates.length; k++) {n var update = updates;n switch (update.type) {n case ReactMultiChildUpdateTypes.INSERT_MARKUP:n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });n }n break;n case ReactMultiChildUpdateTypes.MOVE_EXISTING:n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });n }n break;n case ReactMultiChildUpdateTypes.SET_MARKUP:n setInnerHTML(parentNode, update.content);n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace children', update.content.toString());n }n break;n case ReactMultiChildUpdateTypes.TEXT_CONTENT:n setTextContent(parentNode, update.content);n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace text', update.content.toString());n }n break;n case ReactMultiChildUpdateTypes.REMOVE_NODE:n removeChild(parentNode, update.fromNode);n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });n }n break;n }n }n }nn};nnmodule.exports = DOMChildrenOperations;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DOMChildrenOperations.jsn ** module id = 81n ** module chunks = 0n **/”,“/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DOMLazyTreen */nn'use strict';nnvar DOMNamespaces = require('./DOMNamespaces');nvar setInnerHTML = require('./setInnerHTML');nnvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');nvar setTextContent = require('./setTextContent');nnvar ELEMENT_NODE_TYPE = 1;nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;nn/**n * In IE (8-11) and Edge, appending nodes with no children is dramaticallyn * faster than appending a full subtree, so we essentially queue up then * .appendChild calls here and apply them so each node is added to its parentn * before any children are added.n *n * In other browsers, doing so is slower or neutral compared to the other ordern * (in Firefox, twice as slow) so we only do this inversion in IE.n *n * See github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.n */nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent);nnfunction insertTreeChildren(tree) {n if (!enableLazy) {n return;n }n var node = tree.node;n var children = tree.children;n if (children.length) {n for (var i = 0; i < children.length; i++) {n insertTreeBefore(node, children, null);n }n } else if (tree.html != null) {n setInnerHTML(node, tree.html);n } else if (tree.text != null) {n setTextContent(node, tree.text);n }n}nnvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {n // DocumentFragments aren't actually part of the DOM after insertion son // appending children won't update the DOM. We need to ensure the fragmentn // is properly populated first, breaking out of our lazy approach for justn // this level. Also, some <object> plugins (like Flash Player) will readn // <param> nodes immediately upon insertion into the DOM, so <object>n // must also be populated prior to insertion into the DOM.n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {n insertTreeChildren(tree);n parentNode.insertBefore(tree.node, referenceNode);n } else {n parentNode.insertBefore(tree.node, referenceNode);n insertTreeChildren(tree);n }n});nnfunction replaceChildWithTree(oldNode, newTree) {n oldNode.parentNode.replaceChild(newTree.node, oldNode);n insertTreeChildren(newTree);n}nnfunction queueChild(parentTree, childTree) {n if (enableLazy) {n parentTree.children.push(childTree);n } else {n parentTree.node.appendChild(childTree.node);n }n}nnfunction queueHTML(tree, html) {n if (enableLazy) {n tree.html = html;n } else {n setInnerHTML(tree.node, html);n }n}nnfunction queueText(tree, text) {n if (enableLazy) {n tree.text = text;n } else {n setTextContent(tree.node, text);n }n}nnfunction toString() {n return this.node.nodeName;n}nnfunction DOMLazyTree(node) {n return {n node: node,n children: [],n html: null,n text: null,n toString: toStringn };n}nnDOMLazyTree.insertTreeBefore = insertTreeBefore;nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;nDOMLazyTree.queueChild = queueChild;nDOMLazyTree.queueHTML = queueHTML;nDOMLazyTree.queueText = queueText;nnmodule.exports = DOMLazyTree;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DOMLazyTree.jsn ** module id = 82n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DOMNamespacesn */nn'use strict';nnvar DOMNamespaces = {n html: 'www.w3.org/1999/xhtml’,n mathml: 'www.w3.org/1998/Math/MathML’,n svg: 'www.w3.org/2000/svg’n};nnmodule.exports = DOMNamespaces;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DOMNamespaces.jsn ** module id = 83n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule setInnerHTMLn */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar DOMNamespaces = require('./DOMNamespaces');nnvar WHITESPACE_TEST = /^[ \r\n\t\f]/;nvar NONVISIBLE_TEST = /<(!–|link|noscript|meta|script|style)[ \r\n\t\f\/>]/;nnvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');nn// SVG temp container for IE lacking innerHTMLnvar reusableSVGContainer;nn/**n * Set the innerHTML property of a node, ensuring that whitespace is preservedn * even in IE8.n *n * @param {DOMElement} noden * @param {string} htmln * @internaln */nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {n // IE does not have innerHTML for SVG nodes, so instead we inject then // new markup in a temp node and then move the child nodes across inton // the target noden if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {n reusableSVGContainer = reusableSVGContainer || document.createElement('div');n reusableSVGContainer.innerHTML = '<svg>' + html + '</svg>';n var newNodes = reusableSVGContainer.firstChild.childNodes;n for (var i = 0; i < newNodes.length; i++) {n node.appendChild(newNodes);n }n } else {n node.innerHTML = html;n }n});nnif (ExecutionEnvironment.canUseDOM) {n // IE8: When updating a just created node with innerHTML only leadingn // whitespace is removed. When updating an existing node with innerHTMLn // whitespace in root TextNodes is also collapsed.n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.htmlnn // Feature detection; only IE8 is known to behave improperly like this.n var testElement = document.createElement('div');n testElement.innerHTML = ' ';n if (testElement.innerHTML === '') {n setInnerHTML = function (node, html) {n // Magic theory: IE8 supposedly differentiates between added and updatedn // nodes when processing innerHTML, innerHTML on updated nodes suffersn // from worse whitespace behavior. Re-adding a node like this triggersn // the initial and more favorable whitespace behavior.n // TODO: What to do on a detached node?n if (node.parentNode) {n node.parentNode.replaceChild(node, node);n }nn // We also implement a workaround for non-visible tags disappearing inton // thin air on IE8, this only happens if there is no visible textn // in-front of the non-visible tags. Piggyback on the whitespace fixn // and simply check if any non-visible tags appear in the source.n if (WHITESPACE_TEST.test(html) || html === '<' && NONVISIBLE_TEST.test(html)) {n // Recover leading whitespace by temporarily prepending any character.n // \uFEFF has the potential advantage of being zero-width/invisible.n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCoden // in hopes that this is preserved even if "\uFEFF" is transformed ton // the actual Unicode character (by Babel, for example).n // github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216n node.innerHTML = String.fromCharCode(0xFEFF) + html;nn // deleteData leaves an empty `TextNode` which offsets the index of alln // children. Definitely want to avoid this.n var textNode = node.firstChild;n if (textNode.data.length === 1) {n node.removeChild(textNode);n } else {n textNode.deleteData(0, 1);n }n } else {n node.innerHTML = html;n }n };n }n testElement = null;n}nnmodule.exports = setInnerHTML;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/setInnerHTML.jsn ** module id = 84n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule createMicrosoftUnsafeLocalFunctionn */nn/* globals MSApp */nn'use strict';nn/**n * Create a function which has 'unsafe' privileges (required by windows8 apps)n */nnvar createMicrosoftUnsafeLocalFunction = function (func) {n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {n return function (arg0, arg1, arg2, arg3) {n MSApp.execUnsafeLocalFunction(function () {n return func(arg0, arg1, arg2, arg3);n });n };n } else {n return func;n }n};nnmodule.exports = createMicrosoftUnsafeLocalFunction;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/createMicrosoftUnsafeLocalFunction.jsn ** module id = 85n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule setTextContentn */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');nvar setInnerHTML = require('./setInnerHTML');nn/**n * Set the textContent property of a node, ensuring that whitespace is preservedn * even in IE8. innerText is a poor substitute for textContent and, among manyn * issues, inserts
instead of the literal newline chars. innerHTML behavesn * as it should.n *n * @param {DOMElement} noden * @param {string} textn * @internaln */nvar setTextContent = function (node, text) {n if (text) {n var firstChild = node.firstChild;nn if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {n firstChild.nodeValue = text;n return;n }n }n node.textContent = text;n};nnif (ExecutionEnvironment.canUseDOM) {n if (!('textContent' in document.documentElement)) {n setTextContent = function (node, text) {n setInnerHTML(node, escapeTextContentForBrowser(text));n };n }n}nnmodule.exports = setTextContent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/setTextContent.jsn ** module id = 86n ** module chunks = 0n **/”,“/**n * Copyright 2016-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * Based on the escape-html library, which is used under the MIT License below:n *n * Copyright © 2012-2013 TJ Holowaychukn * Copyright © 2015 Andreas Lubben * Copyright © 2015 Tiancheng "Timothy" Gun *n * Permission is hereby granted, free of charge, to any person obtainingn * a copy of this software and associated documentation files (then * 'Software'), to deal in the Software without restriction, includingn * without limitation the rights to use, copy, modify, merge, publish,n * distribute, sublicense, and/or sell copies of the Software, and ton * permit persons to whom the Software is furnished to do so, subject ton * the following conditions:n *n * The above copyright notice and this permission notice shall ben * included in all copies or substantial portions of the Software.n *n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFn * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANYn * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THEn * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.n *n * @providesModule escapeTextContentForBrowsern */nn'use strict';nn// code copied and modified from escape-htmln/**n * Module variables.n * @privaten */nnvar matchHtmlRegExp = /["'&<>]/;nn/**n * Escape special characters in the given string of html.n *n * @param {string} string The string to escape for inserting into HTMLn * @return {string}n * @publicn */nnfunction escapeHtml(string) {n var str = '' + string;n var match = matchHtmlRegExp.exec(str);nn if (!match) {n return str;n }nn var escape;n var html = '';n var index = 0;n var lastIndex = 0;nn for (index = match.index; index < str.length; index++) {n switch (str.charCodeAt(index)) {n case 34:n // "n escape = '&quot;';n break;n case 38:n // &n escape = '&amp;';n break;n case 39:n // 'n escape = '&#x27;'; // modified from escape-html; used to be '&#39'n break;n case 60:n // <n escape = '&lt;';n break;n case 62:n // >n escape = '&gt;';n break;n default:n continue;n }nn if (lastIndex !== index) {n html += str.substring(lastIndex, index);n }nn lastIndex = index + 1;n html += escape;n }nn return lastIndex !== index ? html + str.substring(lastIndex, index) : html;n}n// end code copied and modified from escape-htmlnnn/**n * Escapes text to prevent scripting attacks.n *n * @param {*} text Text value to escape.n * @return {string} An escaped string.n */nfunction escapeTextContentForBrowser(text) {n if (typeof text === 'boolean' || typeof text === 'number') {n // this shortcircuit helps perf for types that we know will never haven // special characters, especially given that this function is used oftenn // for numeric dom ids.n return '' + text;n }n return escapeHtml(text);n}nnmodule.exports = escapeTextContentForBrowser;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/escapeTextContentForBrowser.jsn ** module id = 87n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule Dangern */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar DOMLazyTree = require('./DOMLazyTree');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nnvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');nvar emptyFunction = require('fbjs/lib/emptyFunction');nvar invariant = require('fbjs/lib/invariant');nnvar Danger = {nn /**n * Replaces a node with a string of markup at its current position within itsn * parent. The markup must render into a single root node.n *n * @param {DOMElement} oldChild Child node to replace.n * @param {string} markup Markup to render in place of the child node.n * @internaln */n dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(…): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(…): Missing markup.') : _prodInvariant('57') : void 0;n !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(…): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;nn if (typeof markup === 'string') {n var newChild = createNodesFromMarkup(markup, emptyFunction);n oldChild.parentNode.replaceChild(newChild, oldChild);n } else {n DOMLazyTree.replaceChildWithTree(oldChild, markup);n }n }nn};nnmodule.exports = Danger;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/Danger.jsn ** module id = 88n ** module chunks = 0n **/”,“'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn/*eslint-disable fb-www/unsafe-html*/nnvar ExecutionEnvironment = require('./ExecutionEnvironment');nnvar createArrayFromMixed = require('./createArrayFromMixed');nvar getMarkupWrap = require('./getMarkupWrap');nvar invariant = require('./invariant');nn/**n * Dummy container used to render all markup.n */nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;nn/**n * Pattern used by `getNodeName`.n */nvar nodeNamePattern = /^\s*<(\w+)/;nn/**n * Extracts the `nodeName` of the first element in a string of markup.n *n * @param {string} markup String of markup.n * @return {?string} Node name of the supplied markup.n */nfunction getNodeName(markup) {n var nodeNameMatch = markup.match(nodeNamePattern);n return nodeNameMatch && nodeNameMatch.toLowerCase();n}nn/**n * Creates an array containing the nodes rendered from the supplied markup. Then * optionally supplied `handleScript` function will be invoked once for eachn * <script> element that is rendered. If no `handleScript` function is supplied,n * an exception is thrown if any <script> elements are rendered.n *n * @param {string} markup A string of valid HTML markup.n * @param {?function} handleScript Invoked once for each rendered <script>.n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.n */nfunction createNodesFromMarkup(markup, handleScript) {n var node = dummyNode;n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;n var nodeName = getNodeName(markup);nn var wrap = nodeName && getMarkupWrap(nodeName);n if (wrap) {n node.innerHTML = wrap + markup + wrap;nn var wrapDepth = wrap;n while (wrapDepth–) {n node = node.lastChild;n }n } else {n node.innerHTML = markup;n }nn var scripts = node.getElementsByTagName('script');n if (scripts.length) {n !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(…): Unexpected <script> element rendered.') : invariant(false) : void 0;n createArrayFromMixed(scripts).forEach(handleScript);n }nn var nodes = Array.from(node.childNodes);n while (node.lastChild) {n node.removeChild(node.lastChild);n }n return nodes;n}nnmodule.exports = createNodesFromMarkup;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/createNodesFromMarkup.jsn ** module id = 89n ** module chunks = 0n **/”,“'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nnvar invariant = require('./invariant');nn/**n * Convert array-like objects to arrays.n *n * This API assumes the caller knows the contents of the data type. For lessn * well defined inputs use createArrayFromMixed.n *n * @param {object|function|filelist} objn * @return {array}n */nfunction toArray(obj) {n var length = obj.length;nn // Some browsers builtin objects can report typeof 'function' (e.g. NodeListn // in old versions of Safari).n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;nn !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;nn !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;nn !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(…args) {}) or Array.from() instead.') : invariant(false) : void 0;nn // Old IE doesn't give collections access to hasOwnProperty. Assume inputsn // without method will throw during the slice call and skip straight to then // fallback.n if (obj.hasOwnProperty) {n try {n return Array.prototype.slice.call(obj);n } catch (e) {n // IE < 9 does not support Array#slice on collections objectsn }n }nn // Fall back to copying key by key. This assumes all keys have a value,n // so will not preserve sparsely populated inputs.n var ret = Array(length);n for (var ii = 0; ii < length; ii++) {n ret = obj;n }n return ret;n}nn/**n * Perform a heuristic test to determine if an object is "array-like".n *n * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?"n * Joshu replied: "Mu."n *n * This function determines if its argument has "array nature": it returnsn * true if the argument is an actual array, an `arguments' object, or ann * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).n *n * It will return false for other array-like objects like Filelist.n *n * @param {*} objn * @return {boolean}n */nfunction hasArrayNature(obj) {n return (n // not null/falsen !!obj && (n // arrays are objects, NodeLists are functions in Safarin typeof obj == 'object' || typeof obj == 'function') &&n // quacks like an arrayn 'length' in obj &&n // not windown !('setInterval' in obj) &&n // no DOM node should be considered an array-liken // a 'select' element has 'length' and 'item' properties on IE8n typeof obj.nodeType != 'number' && (n // a real arrayn Array.isArray(obj) ||n // argumentsn 'callee' in obj ||n // HTMLCollection/NodeListn 'item' in obj)n );n}nn/**n * Ensure that the argument is an array by wrapping it in an array if it is not.n * Creates a copy of the argument if it is already an array.n *n * This is mostly useful idiomatically:n *n * var createArrayFromMixed = require('createArrayFromMixed');n *n * function takesOneOrMoreThings(things) {n * things = createArrayFromMixed(things);n * …n * }n *n * This allows you to treat `things' as an array, but accept scalars in the API.n *n * If you need to convert an array-like object, like `arguments`, into an arrayn * use toArray instead.n *n * @param {*} objn * @return {array}n */nfunction createArrayFromMixed(obj) {n if (!hasArrayNature(obj)) {n return [obj];n } else if (Array.isArray(obj)) {n return obj.slice();n } else {n return toArray(obj);n }n}nnmodule.exports = createArrayFromMixed;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/createArrayFromMixed.jsn ** module id = 90n ** module chunks = 0n **/”,“'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn/*eslint-disable fb-www/unsafe-html */nnvar ExecutionEnvironment = require('./ExecutionEnvironment');nnvar invariant = require('./invariant');nn/**n * Dummy container used to detect which wraps are necessary.n */nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;nn/**n * Some browsers cannot use `innerHTML` to render certain elements standalone,n * so we wrap them, render the wrapped nodes, then extract the desired node.n *n * In IE8, certain elements cannot render alone, so wrap all elements ('*').n */nnvar shouldWrap = {};nnvar selectWrap = [1, '<select multiple="true">', '</select>'];nvar tableWrap = [1, '<table>', '</table>'];nvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];nnvar svgWrap = [1, '<svg xmlns="www.w3.org/2000/svg">', '</svg>'];nnvar markupWrap = {n '*': [1, '?<div>', '</div>'],nn 'area': [1, '<map>', '</map>'],n 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],n 'legend': [1, '<fieldset>', '</fieldset>'],n 'param': [1, '<object>', '</object>'],n 'tr': [2, '<table><tbody>', '</tbody></table>'],nn 'optgroup': selectWrap,n 'option': selectWrap,nn 'caption': tableWrap,n 'colgroup': tableWrap,n 'tbody': tableWrap,n 'tfoot': tableWrap,n 'thead': tableWrap,nn 'td': trWrap,n 'th': trWrapn};nn// Initialize the SVG elements since we know they'll always need to be wrappedn// consistently. If they are created inside a <div> they will be initialized inn// the wrong namespace (and will not display).nvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];nsvgElements.forEach(function (nodeName) {n markupWrap = svgWrap;n shouldWrap = true;n});nn/**n * Gets the markup wrap configuration for the supplied `nodeName`.n *n * NOTE: This lazily detects which wraps are necessary for the current browser.n *n * @param {string} nodeName Lowercase `nodeName`.n * @return {?array} Markup wrap configuration, if applicable.n */nfunction getMarkupWrap(nodeName) {n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0;n if (!markupWrap.hasOwnProperty(nodeName)) {n nodeName = '*';n }n if (!shouldWrap.hasOwnProperty(nodeName)) {n if (nodeName === '*') {n dummyNode.innerHTML = '<link />';n } else {n dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';n }n shouldWrap = !dummyNode.firstChild;n }n return shouldWrap ? markupWrap : null;n}nnmodule.exports = getMarkupWrap;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/getMarkupWrap.jsn ** module id = 91n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactMultiChildUpdateTypesn */nn'use strict';nnvar keyMirror = require('fbjs/lib/keyMirror');nn/**n * When a component's children are updated, a series of update configurationn * objects are created in order to batch and serialize the required changes.n *n * Enumerates all the possible types of update configurations.n *n * @internaln */nvar ReactMultiChildUpdateTypes = keyMirror({n INSERT_MARKUP: null,n MOVE_EXISTING: null,n REMOVE_NODE: null,n SET_MARKUP: null,n TEXT_CONTENT: nulln});nnmodule.exports = ReactMultiChildUpdateTypes;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactMultiChildUpdateTypes.jsn ** module id = 92n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMIDOperationsn */nn'use strict';nnvar DOMChildrenOperations = require('./DOMChildrenOperations');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nn/**n * Operations used to process updates to DOM nodes.n */nvar ReactDOMIDOperations = {nn /**n * Updates a component's children by processing a series of updates.n *n * @param {array<object>} updates List of update configurations.n * @internaln */n dangerouslyProcessChildrenUpdates: function (parentInst, updates) {n var node = ReactDOMComponentTree.getNodeFromInstance(parentInst);n DOMChildrenOperations.processUpdates(node, updates);n }n};nnmodule.exports = ReactDOMIDOperations;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMIDOperations.jsn ** module id = 93n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMComponentn */nn/* global hasOwnProperty:true */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar AutoFocusUtils = require('./AutoFocusUtils');nvar CSSPropertyOperations = require('./CSSPropertyOperations');nvar DOMLazyTree = require('./DOMLazyTree');nvar DOMNamespaces = require('./DOMNamespaces');nvar DOMProperty = require('./DOMProperty');nvar DOMPropertyOperations = require('./DOMPropertyOperations');nvar EventConstants = require('./EventConstants');nvar EventPluginHub = require('./EventPluginHub');nvar EventPluginRegistry = require('./EventPluginRegistry');nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');nvar ReactDOMButton = require('./ReactDOMButton');nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactDOMInput = require('./ReactDOMInput');nvar ReactDOMOption = require('./ReactDOMOption');nvar ReactDOMSelect = require('./ReactDOMSelect');nvar ReactDOMTextarea = require('./ReactDOMTextarea');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactMultiChild = require('./ReactMultiChild');nvar ReactServerRenderingTransaction = require('./ReactServerRenderingTransaction');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');nvar invariant = require('fbjs/lib/invariant');nvar isEventSupported = require('./isEventSupported');nvar keyOf = require('fbjs/lib/keyOf');nvar shallowEqual = require('fbjs/lib/shallowEqual');nvar validateDOMNesting = require('./validateDOMNesting');nvar warning = require('fbjs/lib/warning');nnvar Flags = ReactDOMComponentFlags;nvar deleteListener = EventPluginHub.deleteListener;nvar getNode = ReactDOMComponentTree.getNodeFromInstance;nvar listenTo = ReactBrowserEventEmitter.listenTo;nvar registrationNameModules = EventPluginRegistry.registrationNameModules;nn// For quickly matching children type, to test if can be treated as content.nvar CONTENT_TYPES = { 'string': true, 'number': true };nnvar STYLE = keyOf({ style: null });nvar HTML = keyOf({ __html: null });nvar RESERVED_PROPS = {n children: null,n dangerouslySetInnerHTML: null,n suppressContentEditableWarning: nulln};nn// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).nvar DOC_FRAGMENT_TYPE = 11;nnfunction getDeclarationErrorAddendum(internalInstance) {n if (internalInstance) {n var owner = internalInstance._currentElement._owner || null;n if (owner) {n var name = owner.getName();n if (name) {n return ' This DOM node was rendered by `' + name + '`.';n }n }n }n return '';n}nnfunction friendlyStringify(obj) {n if (typeof obj === 'object') {n if (Array.isArray(obj)) {n return '[' + obj.map(friendlyStringify).join(', ') + ']';n } else {n var pairs = [];n for (var key in obj) {n if (Object.prototype.hasOwnProperty.call(obj, key)) {n var keyEscaped = /^[a-z$_]*$/i.test(key) ? key : JSON.stringify(key);n pairs.push(keyEscaped + ': ' + friendlyStringify(obj));n }n }n return '{' + pairs.join(', ') + '}';n }n } else if (typeof obj === 'string') {n return JSON.stringify(obj);n } else if (typeof obj === 'function') {n return '[function object]';n }n // Differs from JSON.stringify in that undefined because undefined and thatn // inf and nan don't become nulln return String(obj);n}nnvar styleMutationWarning = {};nnfunction checkAndWarnForMutatedStyle(style1, style2, component) {n if (style1 == null || style2 == null) {n return;n }n if (shallowEqual(style1, style2)) {n return;n }nn var componentName = component._tag;n var owner = component._currentElement._owner;n var ownerName;n if (owner) {n ownerName = owner.getName();n }nn var hash = ownerName + '|' + componentName;nn if (styleMutationWarning.hasOwnProperty(hash)) {n return;n }nn styleMutationWarning = true;nn process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0;n}nn/**n * @param {object} componentn * @param {?object} propsn */nfunction assertValidProps(component, props) {n if (!props) {n return;n }n // Note the use of `==` which checks for null or undefined.n if (voidElementTags) {n !(props.children == null && props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0;n }n if (props.dangerouslySetInnerHTML != null) {n !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0;n !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: …}`. Please visit fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0;n }n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0;n process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0;n process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0;n }n !(props.style == null || typeof props.style === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \'em\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0;n}nnfunction enqueuePutListener(inst, registrationName, listener, transaction) {n if (transaction instanceof ReactServerRenderingTransaction) {n return;n }n if (process.env.NODE_ENV !== 'production') {n // IE8 has no API for event capturing and the `onScroll` event doesn'tn // bubble.n process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : void 0;n }n var containerInfo = inst._hostContainerInfo;n var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;n var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;n listenTo(registrationName, doc);n transaction.getReactMountReady().enqueue(putListener, {n inst: inst,n registrationName: registrationName,n listener: listenern });n}nnfunction putListener() {n var listenerToPut = this;n EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener);n}nnfunction inputPostMount() {n var inst = this;n ReactDOMInput.postMountWrapper(inst);n}nnfunction textareaPostMount() {n var inst = this;n ReactDOMTextarea.postMountWrapper(inst);n}nnfunction optionPostMount() {n var inst = this;n ReactDOMOption.postMountWrapper(inst);n}nnvar setContentChildForInstrumentation = emptyFunction;nif (process.env.NODE_ENV !== 'production') {n setContentChildForInstrumentation = function (content) {n var hasExistingContent = this._contentDebugID != null;n var debugID = this._debugID;n // This ID represents the inlined child that has no backing instance:n var contentDebugID = -debugID;nn if (content == null) {n if (hasExistingContent) {n ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);n }n this._contentDebugID = null;n return;n }nn this._contentDebugID = contentDebugID;n if (hasExistingContent) {n ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);n ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);n } else {n ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);n ReactInstrumentation.debugTool.onMountComponent(contentDebugID);n ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);n }n };n}nn// There are so many media events, it makes sense to justn// maintain a list rather than create a `trapBubbledEvent` for eachnvar mediaEvents = {n topAbort: 'abort',n topCanPlay: 'canplay',n topCanPlayThrough: 'canplaythrough',n topDurationChange: 'durationchange',n topEmptied: 'emptied',n topEncrypted: 'encrypted',n topEnded: 'ended',n topError: 'error',n topLoadedData: 'loadeddata',n topLoadedMetadata: 'loadedmetadata',n topLoadStart: 'loadstart',n topPause: 'pause',n topPlay: 'play',n topPlaying: 'playing',n topProgress: 'progress',n topRateChange: 'ratechange',n topSeeked: 'seeked',n topSeeking: 'seeking',n topStalled: 'stalled',n topSuspend: 'suspend',n topTimeUpdate: 'timeupdate',n topVolumeChange: 'volumechange',n topWaiting: 'waiting'n};nnfunction trapBubbledEventsLocal() {n var inst = this;n // If a component renders to null or if another component fatals and causesn // the state of the tree to be corrupted, `node` here can be null.n !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0;n var node = getNode(inst);n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(…): Requires node to be rendered.') : _prodInvariant('64') : void 0;nn switch (inst._tag) {n case 'iframe':n case 'object':n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];n break;n case 'video':n case 'audio':nn inst._wrapperState.listeners = [];n // Create listener for each media eventn for (var event in mediaEvents) {n if (mediaEvents.hasOwnProperty(event)) {n inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes, mediaEvents, node));n }n }n break;n case 'source':n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node)];n break;n case 'img':n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];n break;n case 'form':n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset, 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit, 'submit', node)];n break;n case 'input':n case 'select':n case 'textarea':n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topInvalid, 'invalid', node)];n break;n }n}nnfunction postUpdateSelectWrapper() {n ReactDOMSelect.postUpdateWrapper(this);n}nn// For HTML, certain tags should omit their close tag. We keep a whitelist forn// those special-case tags.nnvar omittedCloseTags = {n 'area': true,n 'base': true,n 'br': true,n 'col': true,n 'embed': true,n 'hr': true,n 'img': true,n 'input': true,n 'keygen': true,n 'link': true,n 'meta': true,n 'param': true,n 'source': true,n 'track': true,n 'wbr': truen};nn// NOTE: menuitem's close tag should be omitted, but that causes problems.nvar newlineEatingTags = {n 'listing': true,n 'pre': true,n 'textarea': truen};nn// For HTML, certain tags cannot have children. This has the same purpose asn// `omittedCloseTags` except that `menuitem` should still have its closing tag.nnvar voidElementTags = _assign({n 'menuitem': truen}, omittedCloseTags);nn// We accept any tag to be rendered but since this gets injected into arbitraryn// HTML, we want to make sure that it's a safe tag.n// www.w3.org/TR/REC-xml/#NT-Namennvar VALID_TAG_REGEX = /^[a-zA-Z]*$/; // Simplified subsetnvar validatedTagCache = {};nvar hasOwnProperty = {}.hasOwnProperty;nnfunction validateDangerousTag(tag) {n if (!hasOwnProperty.call(validatedTagCache, tag)) {n !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;n validatedTagCache = true;n }n}nnfunction isCustomComponent(tagName, props) {n return tagName.indexOf('-') >= 0 || props.is != null;n}nnvar globalIdCounter = 1;nn/**n * Creates a new React class that is idempotent and capable of containing othern * React components. It accepts event listeners and DOM properties that aren * valid according to `DOMProperty`.n *n * - Event listeners: `onClick`, `onMouseDown`, etc.n * - DOM properties: `className`, `name`, `title`, etc.n *n * The `style` property functions differently from the DOM API. It accepts ann * object mapping of style properties to values.n *n * @constructor ReactDOMComponentn * @extends ReactMultiChildn */nfunction ReactDOMComponent(element) {n var tag = element.type;n validateDangerousTag(tag);n this._currentElement = element;n this._tag = tag.toLowerCase();n this._namespaceURI = null;n this._renderedChildren = null;n this._previousStyle = null;n this._previousStyleCopy = null;n this._hostNode = null;n this._hostParent = null;n this._rootNodeID = 0;n this._domID = 0;n this._hostContainerInfo = null;n this._wrapperState = null;n this._topLevelWrapper = null;n this._flags = 0;n if (process.env.NODE_ENV !== 'production') {n this._ancestorInfo = null;n setContentChildForInstrumentation.call(this, null);n }n}nnReactDOMComponent.displayName = 'ReactDOMComponent';nnReactDOMComponent.Mixin = {nn /**n * Generates root tag markup then recurses. This method has side effects andn * is not idempotent.n *n * @internaln * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {?ReactDOMComponent} the parent component instancen * @param {?object} info about the host containern * @param {object} contextn * @return {string} The computed markup.n */n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {n this._rootNodeID = globalIdCounter++;n this._domID = hostContainerInfo._idCounter++;n this._hostParent = hostParent;n this._hostContainerInfo = hostContainerInfo;nn var props = this._currentElement.props;nn switch (this._tag) {n case 'audio':n case 'form':n case 'iframe':n case 'img':n case 'link':n case 'object':n case 'source':n case 'video':n this._wrapperState = {n listeners: nulln };n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);n break;n case 'button':n props = ReactDOMButton.getHostProps(this, props, hostParent);n break;n case 'input':n ReactDOMInput.mountWrapper(this, props, hostParent);n props = ReactDOMInput.getHostProps(this, props);n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);n break;n case 'option':n ReactDOMOption.mountWrapper(this, props, hostParent);n props = ReactDOMOption.getHostProps(this, props);n break;n case 'select':n ReactDOMSelect.mountWrapper(this, props, hostParent);n props = ReactDOMSelect.getHostProps(this, props);n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);n break;n case 'textarea':n ReactDOMTextarea.mountWrapper(this, props, hostParent);n props = ReactDOMTextarea.getHostProps(this, props);n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);n break;n }nn assertValidProps(this, props);nn // We create tags in the namespace of their parent container, except HTMLn // tags get no namespace.n var namespaceURI;n var parentTag;n if (hostParent != null) {n namespaceURI = hostParent._namespaceURI;n parentTag = hostParent._tag;n } else if (hostContainerInfo._tag) {n namespaceURI = hostContainerInfo._namespaceURI;n parentTag = hostContainerInfo._tag;n }n if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') {n namespaceURI = DOMNamespaces.html;n }n if (namespaceURI === DOMNamespaces.html) {n if (this._tag === 'svg') {n namespaceURI = DOMNamespaces.svg;n } else if (this._tag === 'math') {n namespaceURI = DOMNamespaces.mathml;n }n }n this._namespaceURI = namespaceURI;nn if (process.env.NODE_ENV !== 'production') {n var parentInfo;n if (hostParent != null) {n parentInfo = hostParent._ancestorInfo;n } else if (hostContainerInfo._tag) {n parentInfo = hostContainerInfo._ancestorInfo;n }n if (parentInfo) {n // parentInfo should always be present except for the top-leveln // component when server renderingn validateDOMNesting(this._tag, this, parentInfo);n }n this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this);n }nn var mountImage;n if (transaction.useCreateElement) {n var ownerDocument = hostContainerInfo._ownerDocument;n var el;n if (namespaceURI === DOMNamespaces.html) {n if (this._tag === 'script') {n // Create the script via .innerHTML so its "parser-inserted" flag isn // set to true and it does not executen var div = ownerDocument.createElement('div');n var type = this._currentElement.type;n div.innerHTML = '<' + type + '></' + type + '>';n el = div.removeChild(div.firstChild);n } else if (props.is) {n el = ownerDocument.createElement(this._currentElement.type, props.is);n } else {n // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug.n // See discussion in github.com/facebook/react/pull/6896n // and discussion in bugzilla.mozilla.org/show_bug.cgi?id=1276240n el = ownerDocument.createElement(this._currentElement.type);n }n } else {n el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);n }n ReactDOMComponentTree.precacheNode(this, el);n this._flags |= Flags.hasCachedChildNodes;n if (!this._hostParent) {n DOMPropertyOperations.setAttributeForRoot(el);n }n this._updateDOMProperties(null, props, transaction);n var lazyTree = DOMLazyTree(el);n this._createInitialChildren(transaction, props, context, lazyTree);n mountImage = lazyTree;n } else {n var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);n var tagContent = this._createContentMarkup(transaction, props, context);n if (!tagContent && omittedCloseTags) {n mountImage = tagOpen + '/>';n } else {n mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';n }n }nn switch (this._tag) {n case 'input':n transaction.getReactMountReady().enqueue(inputPostMount, this);n if (props.autoFocus) {n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);n }n break;n case 'textarea':n transaction.getReactMountReady().enqueue(textareaPostMount, this);n if (props.autoFocus) {n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);n }n break;n case 'select':n if (props.autoFocus) {n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);n }n break;n case 'button':n if (props.autoFocus) {n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);n }n break;n case 'option':n transaction.getReactMountReady().enqueue(optionPostMount, this);n break;n }nn return mountImage;n },nn /**n * Creates markup for the open tag and all attributes.n *n * This method has side effects because events get registered.n *n * Iterating over object properties is faster than iterating over arrays.n * @see jsperf.com/obj-vs-arr-iterationn *n * @privaten * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {object} propsn * @return {string} Markup of opening tag.n */n _createOpenTagMarkupAndPutListeners: function (transaction, props) {n var ret = '<' + this._currentElement.type;nn for (var propKey in props) {n if (!props.hasOwnProperty(propKey)) {n continue;n }n var propValue = props;n if (propValue == null) {n continue;n }n if (registrationNameModules.hasOwnProperty(propKey)) {n if (propValue) {n enqueuePutListener(this, propKey, propValue, transaction);n }n } else {n if (propKey === STYLE) {n if (propValue) {n if (process.env.NODE_ENV !== 'production') {n // See `_updateDOMProperties`. style blockn this._previousStyle = propValue;n }n propValue = this._previousStyleCopy = _assign({}, props.style);n }n propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this);n }n var markup = null;n if (this._tag != null && isCustomComponent(this._tag, props)) {n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {n markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);n }n } else {n markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);n }n if (markup) {n ret += ' ' + markup;n }n }n }nn // For static pages, no need to put React ID and checksum. Saves lots ofn // bytes.n if (transaction.renderToStaticMarkup) {n return ret;n }nn if (!this._hostParent) {n ret += ' ' + DOMPropertyOperations.createMarkupForRoot();n }n ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID);n return ret;n },nn /**n * Creates markup for the content between the tags.n *n * @privaten * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {object} propsn * @param {object} contextn * @return {string} Content markup.n */n _createContentMarkup: function (transaction, props, context) {n var ret = '';nn // Intentional use of != to avoid catching zero/false.n var innerHTML = props.dangerouslySetInnerHTML;n if (innerHTML != null) {n if (innerHTML.__html != null) {n ret = innerHTML.__html;n }n } else {n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;n var childrenToUse = contentToUse != null ? null : props.children;n if (contentToUse != null) {n // TODO: Validate that text is allowed as a child of this noden ret = escapeTextContentForBrowser(contentToUse);n if (process.env.NODE_ENV !== 'production') {n setContentChildForInstrumentation.call(this, contentToUse);n }n } else if (childrenToUse != null) {n var mountImages = this.mountChildren(childrenToUse, transaction, context);n ret = mountImages.join('');n }n }n if (newlineEatingTags && ret.charAt(0) === '\n') {n // text/html ignores the first character in these tags if it's a newlinen // Prefer to break application/xml over text/html (for now) by addingn // a newline specifically to get eaten by the parser. (Alternately forn // textareas, replacing "^\n" with "\r\n" doesn't get eaten, and the firstn // \r is normalized out by HTMLTextAreaElement#value.)n // See: <n“>www.w3.org/TR/html5/syntax.html#element-restrictions>n // See: <mountImages);n }n }n }n },nn /**n * Receives a next element and updates the component.n *n * @internaln * @param {ReactElement} nextElementn * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {object} contextn */n receiveComponent: function (nextElement, transaction, context) {n var prevElement = this._currentElement;n this._currentElement = nextElement;n this.updateComponent(transaction, prevElement, nextElement, context);n },nn /**n * Updates a DOM component after it has already been allocated andn * attached to the DOM. Reconciles the root DOM node, then recurses.n *n * @param {ReactReconcileTransaction} transactionn * @param {ReactElement} prevElementn * @param {ReactElement} nextElementn * @internaln * @overridablen */n updateComponent: function (transaction, prevElement, nextElement, context) {n var lastProps = prevElement.props;n var nextProps = this._currentElement.props;nn switch (this._tag) {n case 'button':n lastProps = ReactDOMButton.getHostProps(this, lastProps);n nextProps = ReactDOMButton.getHostProps(this, nextProps);n break;n case 'input':n lastProps = ReactDOMInput.getHostProps(this, lastProps);n nextProps = ReactDOMInput.getHostProps(this, nextProps);n break;n case 'option':n lastProps = ReactDOMOption.getHostProps(this, lastProps);n nextProps = ReactDOMOption.getHostProps(this, nextProps);n break;n case 'select':n lastProps = ReactDOMSelect.getHostProps(this, lastProps);n nextProps = ReactDOMSelect.getHostProps(this, nextProps);n break;n case 'textarea':n lastProps = ReactDOMTextarea.getHostProps(this, lastProps);n nextProps = ReactDOMTextarea.getHostProps(this, nextProps);n break;n }nn assertValidProps(this, nextProps);n this._updateDOMProperties(lastProps, nextProps, transaction);n this._updateDOMChildren(lastProps, nextProps, transaction, context);nn switch (this._tag) {n case 'input':n // Update the wrapper around inputs after updating props. This has ton // happen after `_updateDOMProperties`. Otherwise HTML5 input validationsn // raise warnings and prevent the new value from being assigned.n ReactDOMInput.updateWrapper(this);n break;n case 'textarea':n ReactDOMTextarea.updateWrapper(this);n break;n case 'select':n // <select> value update needs to occur after <option> childrenn // reconciliationn transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);n break;n }n },nn /**n * Reconciles the properties by detecting differences in property values andn * updating the DOM as necessary. This function is probably the single mostn * critical path for performance optimization.n *n * TODO: Benchmark whether checking for changed values in memory actuallyn * improves performance (especially statically positioned elements).n * TODO: Benchmark the effects of putting this at the top since 99% of propsn * do not change for a given reconciliation.n * TODO: Benchmark areas that can be improved with caching.n *n * @privaten * @param {object} lastPropsn * @param {object} nextPropsn * @param {?DOMElement} noden */n _updateDOMProperties: function (lastProps, nextProps, transaction) {n var propKey;n var styleName;n var styleUpdates;n for (propKey in lastProps) {n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps == null) {n continue;n }n if (propKey === STYLE) {n var lastStyle = this._previousStyleCopy;n for (styleName in lastStyle) {n if (lastStyle.hasOwnProperty(styleName)) {n styleUpdates = styleUpdates || {};n styleUpdates = '';n }n }n this._previousStyleCopy = null;n } else if (registrationNameModules.hasOwnProperty(propKey)) {n if (lastProps) {n // Only call deleteListener if there was a listener previously orn // else willDeleteListener gets called when there wasn't actually an // listener (e.g., onClick={null})n deleteListener(this, propKey);n }n } else if (isCustomComponent(this._tag, lastProps)) {n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {n DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey);n }n } else if (DOMProperty.properties || DOMProperty.isCustomAttribute(propKey)) {n DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey);n }n }n for (propKey in nextProps) {n var nextProp = nextProps;n var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps : undefined;n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {n continue;n }n if (propKey === STYLE) {n if (nextProp) {n if (process.env.NODE_ENV !== 'production') {n checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);n this._previousStyle = nextProp;n }n nextProp = this._previousStyleCopy = _assign({}, nextProp);n } else {n this._previousStyleCopy = null;n }n if (lastProp) {n // Unset styles on `lastProp` but not on `nextProp`.n for (styleName in lastProp) {n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {n styleUpdates = styleUpdates || {};n styleUpdates = '';n }n }n // Update styles that changed since `lastProp`.n for (styleName in nextProp) {n if (nextProp.hasOwnProperty(styleName) && lastProp !== nextProp) {n styleUpdates = styleUpdates || {};n styleUpdates = nextProp;n }n }n } else {n // Relies on `updateStylesByID` not mutating `styleUpdates`.n styleUpdates = nextProp;n }n } else if (registrationNameModules.hasOwnProperty(propKey)) {n if (nextProp) {n enqueuePutListener(this, propKey, nextProp, transaction);n } else if (lastProp) {n deleteListener(this, propKey);n }n } else if (isCustomComponent(this._tag, nextProps)) {n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {n DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp);n }n } else if (DOMProperty.properties || DOMProperty.isCustomAttribute(propKey)) {n var node = getNode(this);n // If we're updating to null or undefined, we should remove the propertyn // from the DOM node instead of inadvertently setting to a string. Thisn // brings us in line with the same behavior we have on initial render.n if (nextProp != null) {n DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);n } else {n DOMPropertyOperations.deleteValueForProperty(node, propKey);n }n }n }n if (styleUpdates) {n CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this);n }n },nn /**n * Reconciles the children with the various properties that affect then * children content.n *n * @param {object} lastPropsn * @param {object} nextPropsn * @param {ReactReconcileTransaction} transactionn * @param {object} contextn */n _updateDOMChildren: function (lastProps, nextProps, transaction, context) {n var lastContent = CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null;n var nextContent = CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null;nn var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;n var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html;nn // Note the use of `!=` which checks for null or undefined.n var lastChildren = lastContent != null ? null : lastProps.children;n var nextChildren = nextContent != null ? null : nextProps.children;nn // If we're switching from children to content/html or vice versa, removen // the old contentn var lastHasContentOrHtml = lastContent != null || lastHtml != null;n var nextHasContentOrHtml = nextContent != null || nextHtml != null;n if (lastChildren != null && nextChildren == null) {n this.updateChildren(null, transaction, context);n } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {n this.updateTextContent('');n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);n }n }nn if (nextContent != null) {n if (lastContent !== nextContent) {n this.updateTextContent('' + nextContent);n if (process.env.NODE_ENV !== 'production') {n setContentChildForInstrumentation.call(this, nextContent);n }n }n } else if (nextHtml != null) {n if (lastHtml !== nextHtml) {n this.updateMarkup('' + nextHtml);n }n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);n }n } else if (nextChildren != null) {n if (process.env.NODE_ENV !== 'production') {n setContentChildForInstrumentation.call(this, null);n }nn this.updateChildren(nextChildren, transaction, context);n }n },nn getHostNode: function () {n return getNode(this);n },nn /**n * Destroys all event registrations for this instance. Does not remove fromn * the DOM. That must be done by the parent.n *n * @internaln */n unmountComponent: function (safely) {n switch (this._tag) {n case 'audio':n case 'form':n case 'iframe':n case 'img':n case 'link':n case 'object':n case 'source':n case 'video':n var listeners = this._wrapperState.listeners;n if (listeners) {n for (var i = 0; i < listeners.length; i++) {n listeners.remove();n }n }n break;n case 'html':n case 'head':n case 'body':n /**n * Components like <html> <head> and <body> can't be removed or addedn * easily in a cross-browser way, however it's valuable to be able ton * take advantage of React's reconciliation for styling and <title>n * management. So we just document it and throw in dangerous cases.n */n !false ? process.env.NODE_ENV !== 'production' ? 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._tag) : _prodInvariant('66', this._tag) : void 0;n break;n }nn this.unmountChildren(safely);n ReactDOMComponentTree.uncacheNode(this);n EventPluginHub.deleteAllListeners(this);n this._rootNodeID = 0;n this._domID = 0;n this._wrapperState = null;nn if (process.env.NODE_ENV !== 'production') {n setContentChildForInstrumentation.call(this, null);n }n },nn getPublicInstance: function () {n return getNode(this);n }nn};nn_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);nnmodule.exports = ReactDOMComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMComponent.jsn ** module id = 94n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule AutoFocusUtilsn */nn'use strict';nnvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nnvar focusNode = require('fbjs/lib/focusNode');nnvar AutoFocusUtils = {n focusDOMComponent: function () {n focusNode(ReactDOMComponentTree.getNodeFromInstance(this));n }n};nnmodule.exports = AutoFocusUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/AutoFocusUtils.jsn ** module id = 95n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n */nn'use strict';nn/**n * @param {DOMElement} node input/textarea to focusn */nnfunction focusNode(node) {n // IE8 can throw "Can't move focus to the control because it is invisible,n // not enabled, or of a type that does not accept the focus." for all kinds ofn // reasons that are too expensive and fragile to test.n try {n node.focus();n } catch (e) {}n}nnmodule.exports = focusNode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/focusNode.jsn ** module id = 96n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule CSSPropertyOperationsn */nn'use strict';nnvar CSSProperty = require('./CSSProperty');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar ReactInstrumentation = require('./ReactInstrumentation');nnvar camelizeStyleName = require('fbjs/lib/camelizeStyleName');nvar dangerousStyleValue = require('./dangerousStyleValue');nvar hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');nvar memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');nvar warning = require('fbjs/lib/warning');nnvar processStyleName = memoizeStringOnly(function (styleName) {n return hyphenateStyleName(styleName);n});nnvar hasShorthandPropertyBug = false;nvar styleFloatAccessor = 'cssFloat';nif (ExecutionEnvironment.canUseDOM) {n var tempStyle = document.createElement('div').style;n try {n // IE8 throws "Invalid argument." if resetting shorthand style properties.n tempStyle.font = '';n } catch (e) {n hasShorthandPropertyBug = true;n }n // IE8 only supports accessing cssFloat (standard) as styleFloatn if (document.documentElement.style.cssFloat === undefined) {n styleFloatAccessor = 'styleFloat';n }n}nnif (process.env.NODE_ENV !== 'production') {n // 'msTransform' is correct, but the other prefixes should be capitalizedn var badVendoredStyleNamePattern = /^(?:webkit|moz|o)/;nn // style values shouldn't contain a semicolonn var badStyleValueWithSemicolonPattern = /;\s*$/;nn var warnedStyleNames = {};n var warnedStyleValues = {};n var warnedForNaNValue = false;nn var warnHyphenatedStyleName = function (name, owner) {n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames) {n return;n }nn warnedStyleNames = true;n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0;n };nn var warnBadVendoredStyleName = function (name, owner) {n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames) {n return;n }nn warnedStyleNames = true;n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;n };nn var warnStyleValueWithSemicolon = function (name, value, owner) {n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues) {n return;n }nn warnedStyleValues = true;n process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\'t contain a semicolon.%s ' + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;n };nn var warnStyleValueIsNaN = function (name, value, owner) {n if (warnedForNaNValue) {n return;n }nn warnedForNaNValue = true;n process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;n };nn var checkRenderMessage = function (owner) {n if (owner) {n var name = owner.getName();n if (name) {n return ' Check the render method of `' + name + '`.';n }n }n return '';n };nn /**n * @param {string} namen * @param {*} valuen * @param {ReactDOMComponent} componentn */n var warnValidStyle = function (name, value, component) {n var owner;n if (component) {n owner = component._currentElement._owner;n }n if (name.indexOf('-') > -1) {n warnHyphenatedStyleName(name, owner);n } else if (badVendoredStyleNamePattern.test(name)) {n warnBadVendoredStyleName(name, owner);n } else if (badStyleValueWithSemicolonPattern.test(value)) {n warnStyleValueWithSemicolon(name, value, owner);n }nn if (typeof value === 'number' && isNaN(value)) {n warnStyleValueIsNaN(name, value, owner);n }n };n}nn/**n * Operations for dealing with CSS properties.n */nvar CSSPropertyOperations = {nn /**n * Serializes a mapping of style properties for use as inline styles:n *n * > createMarkupForStyles({width: '200px', height: 0})n * "width:200px;height:0;"n *n * Undefined values are ignored so that declarative programming is easier.n * The result should be HTML-escaped before insertion into the DOM.n *n * @param {object} stylesn * @param {ReactDOMComponent} componentn * @return {?string}n */n createMarkupForStyles: function (styles, component) {n var serialized = '';n for (var styleName in styles) {n if (!styles.hasOwnProperty(styleName)) {n continue;n }n var styleValue = styles;n if (process.env.NODE_ENV !== 'production') {n warnValidStyle(styleName, styleValue, component);n }n if (styleValue != null) {n serialized += processStyleName(styleName) + ':';n serialized += dangerousStyleValue(styleName, styleValue, component) + ';';n }n }n return serialized || null;n },nn /**n * Sets the value for multiple styles on a node. If a value is specified asn * '' (empty string), the corresponding style property will be unset.n *n * @param {DOMElement} noden * @param {object} stylesn * @param {ReactDOMComponent} componentn */n setValueForStyles: function (node, styles, component) {n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(component._debugID, 'update styles', styles);n }nn var style = node.style;n for (var styleName in styles) {n if (!styles.hasOwnProperty(styleName)) {n continue;n }n if (process.env.NODE_ENV !== 'production') {n warnValidStyle(styleName, styles, component);n }n var styleValue = dangerousStyleValue(styleName, styles, component);n if (styleName === 'float' || styleName === 'cssFloat') {n styleName = styleFloatAccessor;n }n if (styleValue) {n style = styleValue;n } else {n var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions;n if (expansion) {n // Shorthand property that IE8 won't like unsetting, so unset eachn // component to placate itn for (var individualStyleName in expansion) {n style = '';n }n } else {n style = '';n }n }n }n }nn};nnmodule.exports = CSSPropertyOperations;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/CSSPropertyOperations.jsn ** module id = 97n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule CSSPropertyn */nn'use strict';nn/**n * CSS properties which accept numbers but are not in units of "px".n */nnvar isUnitlessNumber = {n animationIterationCount: true,n borderImageOutset: true,n borderImageSlice: true,n borderImageWidth: true,n boxFlex: true,n boxFlexGroup: true,n boxOrdinalGroup: true,n columnCount: true,n flex: true,n flexGrow: true,n flexPositive: true,n flexShrink: true,n flexNegative: true,n flexOrder: true,n gridRow: true,n gridColumn: true,n fontWeight: true,n lineClamp: true,n lineHeight: true,n opacity: true,n order: true,n orphans: true,n tabSize: true,n widows: true,n zIndex: true,n zoom: true,nn // SVG-related propertiesn fillOpacity: true,n floodOpacity: true,n stopOpacity: true,n strokeDasharray: true,n strokeDashoffset: true,n strokeMiterlimit: true,n strokeOpacity: true,n strokeWidth: truen};nn/**n * @param {string} prefix vendor-specific prefix, eg: Webkitn * @param {string} key style name, eg: transitionDurationn * @return {string} style name prefixed with `prefix`, properly camelCased, eg:n * WebkitTransitionDurationn */nfunction prefixKey(prefix, key) {n return prefix + key.charAt(0).toUpperCase() + key.substring(1);n}nn/**n * Support style names that may come passed in prefixed by adding permutationsn * of vendor prefixes.n */nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];nn// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into ann// infinite loop, because it iterates over the newly added props too.nObject.keys(isUnitlessNumber).forEach(function (prop) {n prefixes.forEach(function (prefix) {n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber;n });n});nn/**n * Most style properties can be unset by doing .style = '' but IE8n * doesn't like doing that with shorthand properties so for the properties thatn * IE8 breaks on, which are listed here, we instead unset each of then * individual properties. See bugs.jquery.com/ticket/12385.n * The 4-value 'clock' properties like margin, padding, border-width seem ton * behave without any problems. Curiously, list-style works too without anyn * special prodding.n */nvar shorthandPropertyExpansions = {n background: {n backgroundAttachment: true,n backgroundColor: true,n backgroundImage: true,n backgroundPositionX: true,n backgroundPositionY: true,n backgroundRepeat: truen },n backgroundPosition: {n backgroundPositionX: true,n backgroundPositionY: truen },n border: {n borderWidth: true,n borderStyle: true,n borderColor: truen },n borderBottom: {n borderBottomWidth: true,n borderBottomStyle: true,n borderBottomColor: truen },n borderLeft: {n borderLeftWidth: true,n borderLeftStyle: true,n borderLeftColor: truen },n borderRight: {n borderRightWidth: true,n borderRightStyle: true,n borderRightColor: truen },n borderTop: {n borderTopWidth: true,n borderTopStyle: true,n borderTopColor: truen },n font: {n fontStyle: true,n fontVariant: true,n fontWeight: true,n fontSize: true,n lineHeight: true,n fontFamily: truen },n outline: {n outlineWidth: true,n outlineStyle: true,n outlineColor: truen }n};nnvar CSSProperty = {n isUnitlessNumber: isUnitlessNumber,n shorthandPropertyExpansions: shorthandPropertyExpansionsn};nnmodule.exports = CSSProperty;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/CSSProperty.jsn ** module id = 98n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn'use strict';nnvar camelize = require('./camelize');nnvar msPattern = /^-ms-/;nn/**n * Camelcases a hyphenated CSS property name, for example:n *n * > camelizeStyleName('background-color')n * < "backgroundColor"n * > camelizeStyleName('-moz-transition')n * < "MozTransition"n * > camelizeStyleName('-ms-transition')n * < "msTransition"n *n * As Andi Smith suggestsn * (www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefixn * is converted to lowercase `ms`.n *n * @param {string} stringn * @return {string}n */nfunction camelizeStyleName(string) {n return camelize(string.replace(msPattern, 'ms-'));n}nnmodule.exports = camelizeStyleName;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/camelizeStyleName.jsn ** module id = 99n ** module chunks = 0n **/”,“"use strict";nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nnvar _hyphenPattern = /-(.)/g;nn/**n * Camelcases a hyphenated string, for example:n *n * > camelize('background-color')n * < "backgroundColor"n *n * @param {string} stringn * @return {string}n */nfunction camelize(string) {n return string.replace(_hyphenPattern, function (_, character) {n return character.toUpperCase();n });n}nnmodule.exports = camelize;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/camelize.jsn ** module id = 100n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule dangerousStyleValuen */nn'use strict';nnvar CSSProperty = require('./CSSProperty');nvar warning = require('fbjs/lib/warning');nnvar isUnitlessNumber = CSSProperty.isUnitlessNumber;nvar styleWarnings = {};nn/**n * Convert a value into the proper css writable value. The style name `name`n * should be logical (no hyphens), as specifiedn * in `CSSProperty.isUnitlessNumber`.n *n * @param {string} name CSS property name such as `topMargin`.n * @param {*} value CSS property value such as `10px`.n * @param {ReactDOMComponent} componentn * @return {string} Normalized style value with dimensions applied.n */nfunction dangerousStyleValue(name, value, component) {n // Note that we've removed escapeTextForBrowser() calls here since then // whole string will be escaped when the attribute is injected inton // the markup. If you provide unsafe user data here they can injectn // arbitrary CSS which may be problematic (I couldn't repro this):n // www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheetn // www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/n // This is not an XSS hole but instead a potential CSS injection issuen // which has lead to a greater discussion about how we're going ton // trust URLs moving forward. See #2115901nn var isEmpty = value == null || typeof value === 'boolean' || value === '';n if (isEmpty) {n return '';n }nn var isNonNumeric = isNaN(value);n if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber) {n return '' + value; // cast to stringn }nn if (typeof value === 'string') {n if (process.env.NODE_ENV !== 'production') {n // Allow '0' to pass through without warning. 0 is already special andn // doesn't require units, so we don't need to warn about it.n if (component && value !== '0') {n var owner = component._currentElement._owner;n var ownerName = owner ? owner.getName() : null;n if (ownerName && !styleWarnings) {n styleWarnings = {};n }n var warned = false;n if (ownerName) {n var warnings = styleWarnings;n warned = warnings;n if (!warned) {n warnings = true;n }n }n if (!warned) {n process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;n }n }n }n value = value.trim();n }n return value + 'px';n}nnmodule.exports = dangerousStyleValue;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/dangerousStyleValue.jsn ** module id = 101n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn'use strict';nnvar hyphenate = require('./hyphenate');nnvar msPattern = /^ms-/;nn/**n * Hyphenates a camelcased CSS property name, for example:n *n * > hyphenateStyleName('backgroundColor')n * < "background-color"n * > hyphenateStyleName('MozTransition')n * < "-moz-transition"n * > hyphenateStyleName('msTransition')n * < "-ms-transition"n *n * As Modernizr suggests (modernizr.com/docs/#prefixed), an `ms` prefixn * is converted to `-ms-`.n *n * @param {string} stringn * @return {string}n */nfunction hyphenateStyleName(string) {n return hyphenate(string).replace(msPattern, '-ms-');n}nnmodule.exports = hyphenateStyleName;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/hyphenateStyleName.jsn ** module id = 102n ** module chunks = 0n **/”,“'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nnvar _uppercasePattern = /([A-Z])/g;nn/**n * Hyphenates a camelcased string, for example:n *n * > hyphenate('backgroundColor')n * < "background-color"n *n * For CSS style names, use `hyphenateStyleName` instead which works properlyn * with all vendor prefixes, including `ms`.n *n * @param {string} stringn * @return {string}n */nfunction hyphenate(string) {n return string.replace(_uppercasePattern, '-$1').toLowerCase();n}nnmodule.exports = hyphenate;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/hyphenate.jsn ** module id = 103n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * n * @typechecks static-onlyn */nn'use strict';nn/**n * Memoizes the return value of a function that accepts one string argument.n */nnfunction memoizeStringOnly(callback) {n var cache = {};n return function (string) {n if (!cache.hasOwnProperty(string)) {n cache = callback.call(this, string);n }n return cache;n };n}nnmodule.exports = memoizeStringOnly;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/memoizeStringOnly.jsn ** module id = 104n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DOMPropertyOperationsn */nn'use strict';nnvar DOMProperty = require('./DOMProperty');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactInstrumentation = require('./ReactInstrumentation');nnvar quoteAttributeValueForBrowser = require('./quoteAttributeValueForBrowser');nvar warning = require('fbjs/lib/warning');nnvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');nvar illegalAttributeNameCache = {};nvar validatedAttributeNameCache = {};nnfunction isAttributeNameSafe(attributeName) {n if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {n return true;n }n if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {n return false;n }n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {n validatedAttributeNameCache = true;n return true;n }n illegalAttributeNameCache = true;n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0;n return false;n}nnfunction shouldIgnoreValue(propertyInfo, value) {n return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;n}nn/**n * Operations for dealing with DOM properties.n */nvar DOMPropertyOperations = {nn /**n * Creates markup for the ID property.n *n * @param {string} id Unescaped ID.n * @return {string} Markup string.n */n createMarkupForID: function (id) {n return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);n },nn setAttributeForID: function (node, id) {n node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);n },nn createMarkupForRoot: function () {n return DOMProperty.ROOT_ATTRIBUTE_NAME + '=""';n },nn setAttributeForRoot: function (node) {n node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');n },nn /**n * Creates markup for a property.n *n * @param {string} namen * @param {*} valuen * @return {?string} Markup string, or null if the property was invalid.n */n createMarkupForProperty: function (name, value) {n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties : null;n if (propertyInfo) {n if (shouldIgnoreValue(propertyInfo, value)) {n return '';n }n var attributeName = propertyInfo.attributeName;n if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {n return attributeName + '=""';n }n return attributeName + '=' + quoteAttributeValueForBrowser(value);n } else if (DOMProperty.isCustomAttribute(name)) {n if (value == null) {n return '';n }n return name + '=' + quoteAttributeValueForBrowser(value);n }n return null;n },nn /**n * Creates markup for a custom property.n *n * @param {string} namen * @param {*} valuen * @return {string} Markup string, or empty string if the property was invalid.n */n createMarkupForCustomAttribute: function (name, value) {n if (!isAttributeNameSafe(name) || value == null) {n return '';n }n return name + '=' + quoteAttributeValueForBrowser(value);n },nn /**n * Sets the value for a property on a node.n *n * @param {DOMElement} noden * @param {string} namen * @param {*} valuen */n setValueForProperty: function (node, name, value) {n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties : null;n if (propertyInfo) {n var mutationMethod = propertyInfo.mutationMethod;n if (mutationMethod) {n mutationMethod(node, value);n } else if (shouldIgnoreValue(propertyInfo, value)) {n this.deleteValueForProperty(node, name);n return;n } else if (propertyInfo.mustUseProperty) {n // Contrary to `setAttribute`, object properties are properlyn // `toString`ed by IE8/9.n node = value;n } else {n var attributeName = propertyInfo.attributeName;n var namespace = propertyInfo.attributeNamespace;n // `setAttribute` with objects becomes only `[object]` in IE8/9,n // ('' + value) makes it output the correct toString()-value.n if (namespace) {n node.setAttributeNS(namespace, attributeName, '' + value);n } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {n node.setAttribute(attributeName, '');n } else {n node.setAttribute(attributeName, '' + value);n }n }n } else if (DOMProperty.isCustomAttribute(name)) {n DOMPropertyOperations.setValueForAttribute(node, name, value);n return;n }nn if (process.env.NODE_ENV !== 'production') {n var payload = {};n payload = value;n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);n }n },nn setValueForAttribute: function (node, name, value) {n if (!isAttributeNameSafe(name)) {n return;n }n if (value == null) {n node.removeAttribute(name);n } else {n node.setAttribute(name, '' + value);n }nn if (process.env.NODE_ENV !== 'production') {n var payload = {};n payload = value;n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);n }n },nn /**n * Deletes an attributes from a node.n *n * @param {DOMElement} noden * @param {string} namen */n deleteValueForAttribute: function (node, name) {n node.removeAttribute(name);n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);n }n },nn /**n * Deletes the value for a property on a node.n *n * @param {DOMElement} noden * @param {string} namen */n deleteValueForProperty: function (node, name) {n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties : null;n if (propertyInfo) {n var mutationMethod = propertyInfo.mutationMethod;n if (mutationMethod) {n mutationMethod(node, undefined);n } else if (propertyInfo.mustUseProperty) {n var propName = propertyInfo.propertyName;n if (propertyInfo.hasBooleanValue) {n node = false;n } else {n node = '';n }n } else {n node.removeAttribute(propertyInfo.attributeName);n }n } else if (DOMProperty.isCustomAttribute(name)) {n node.removeAttribute(name);n }nn if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);n }n }nn};nnmodule.exports = DOMPropertyOperations;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DOMPropertyOperations.jsn ** module id = 105n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule quoteAttributeValueForBrowsern */nn'use strict';nnvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');nn/**n * Escapes attribute value to prevent scripting attacks.n *n * @param {*} value Value to escape.n * @return {string} An escaped string.n */nfunction quoteAttributeValueForBrowser(value) {n return '"' + escapeTextContentForBrowser(value) + '"';n}nnmodule.exports = quoteAttributeValueForBrowser;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/quoteAttributeValueForBrowser.jsn ** module id = 106n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactBrowserEventEmittern */nn'use strict';nnvar _assign = require('object-assign');nnvar EventConstants = require('./EventConstants');nvar EventPluginRegistry = require('./EventPluginRegistry');nvar ReactEventEmitterMixin = require('./ReactEventEmitterMixin');nvar ViewportMetrics = require('./ViewportMetrics');nnvar getVendorPrefixedEventName = require('./getVendorPrefixedEventName');nvar isEventSupported = require('./isEventSupported');nn/**n * Summary of `ReactBrowserEventEmitter` event handling:n *n * - Top-level delegation is used to trap most native browser events. Thisn * may only occur in the main thread and is the responsibility ofn * ReactEventListener, which is injected and can therefore support pluggablen * event sources. This is the only work that occurs in the main thread.n *n * - We normalize and de-duplicate events to account for browser quirks. Thisn * may be done in the worker thread.n *n * - Forward these native events (with the associated top-level type used ton * trap it) to `EventPluginHub`, which in turn will ask plugins if they wantn * to extract any synthetic events.n *n * - The `EventPluginHub` will then process each event by annotating them withn * "dispatches", a sequence of listeners and IDs that care about that event.n *n * - The `EventPluginHub` then dispatches the events.n *n * Overview of React and the event system:n *n * ------------ .n * | DOM | .n * ------------ .n * | .n * v .n * ------------ .n * | ReactEvent | .n * | Listener | .n * ------------ . -----------n * | . --------|SimpleEvent|n * | . | |Plugin |n * +—–|——+ . v -----------n * | | | . -------------- ------------n * | +———–.—>|EventPluginHub| | Event |n * | | . | | ----------- | Propagators|n * | ReactEvent | . | | |TapEvent | |————|n * | Emitter | . | |<—+|Plugin | |other plugin|n * | | . | | ----------- | utilities |n * | +———–.—>| | ------------n * | | | . --------------n * +—–|——+ . ^ -----------n * | . | |Enter/Leave|n * + . -------|Plugin |n * ------------- . -----------n * | application | .n * |————-| .n * | | .n * | | .n * ------------- .n * .n * React Core . General Purpose Event Plugin Systemn */nnvar hasEventPageXY;nvar alreadyListeningTo = {};nvar isMonitoringScrollValue = false;nvar reactTopListenersCounter = 0;nn// For events like 'submit' which don't consistently bubble (which we trap at an// lower node than `document`), binding at `document` would cause duplicaten// events so we don't include them herenvar topEventMapping = {n topAbort: 'abort',n topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',n topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',n topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',n topBlur: 'blur',n topCanPlay: 'canplay',n topCanPlayThrough: 'canplaythrough',n topChange: 'change',n topClick: 'click',n topCompositionEnd: 'compositionend',n topCompositionStart: 'compositionstart',n topCompositionUpdate: 'compositionupdate',n topContextMenu: 'contextmenu',n topCopy: 'copy',n topCut: 'cut',n topDoubleClick: 'dblclick',n topDrag: 'drag',n topDragEnd: 'dragend',n topDragEnter: 'dragenter',n topDragExit: 'dragexit',n topDragLeave: 'dragleave',n topDragOver: 'dragover',n topDragStart: 'dragstart',n topDrop: 'drop',n topDurationChange: 'durationchange',n topEmptied: 'emptied',n topEncrypted: 'encrypted',n topEnded: 'ended',n topError: 'error',n topFocus: 'focus',n topInput: 'input',n topKeyDown: 'keydown',n topKeyPress: 'keypress',n topKeyUp: 'keyup',n topLoadedData: 'loadeddata',n topLoadedMetadata: 'loadedmetadata',n topLoadStart: 'loadstart',n topMouseDown: 'mousedown',n topMouseMove: 'mousemove',n topMouseOut: 'mouseout',n topMouseOver: 'mouseover',n topMouseUp: 'mouseup',n topPaste: 'paste',n topPause: 'pause',n topPlay: 'play',n topPlaying: 'playing',n topProgress: 'progress',n topRateChange: 'ratechange',n topScroll: 'scroll',n topSeeked: 'seeked',n topSeeking: 'seeking',n topSelectionChange: 'selectionchange',n topStalled: 'stalled',n topSuspend: 'suspend',n topTextInput: 'textInput',n topTimeUpdate: 'timeupdate',n topTouchCancel: 'touchcancel',n topTouchEnd: 'touchend',n topTouchMove: 'touchmove',n topTouchStart: 'touchstart',n topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',n topVolumeChange: 'volumechange',n topWaiting: 'waiting',n topWheel: 'wheel'n};nn/**n * To ensure no conflicts with other potential React instances on the pagen */nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);nnfunction getListeningForDocument(mountAt) {n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`n // directly.n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {n mountAt = reactTopListenersCounter++;n alreadyListeningTo[mountAt] = {};n }n return alreadyListeningTo[mountAt];n}nn/**n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. Forn * example:n *n * EventPluginHub.putListener('myID', 'onClick', myFunction);n *n * This would allocate a "registration" of `('onClick', myFunction)` on 'myID'.n *n * @internaln */nvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {nn /**n * Injectable event backendn */n ReactEventListener: null,nn injection: {n /**n * @param {object} ReactEventListenern */n injectReactEventListener: function (ReactEventListener) {n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;n }n },nn /**n * Sets whether or not any created callbacks should be enabled.n *n * @param {boolean} enabled True if callbacks should be enabled.n */n setEnabled: function (enabled) {n if (ReactBrowserEventEmitter.ReactEventListener) {n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);n }n },nn /**n * @return {boolean} True if callbacks are enabled.n */n isEnabled: function () {n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());n },nn /**n * We listen for bubbled touch events on the document object.n *n * Firefox v8.01 (and possibly others) exhibited strange behavior whenn * mounting `onmousemove` events at some node that was not the documentn * element. The symptoms were that if your mouse is not moving over somethingn * contained within that mount point (for example on the background) then * top-level listeners for `onmousemove` won't be called. However, if youn * register the `mousemove` on the document object, then it will of coursen * catch all `mousemove`s. This along with iOS quirks, justifies restrictingn * top-level listeners to the document object only, at least for thesen * movement types of events and possibly all events.n *n * @see www.quirksmode.org/blog/archives/2010/09/click_event_del.htmln *n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, butn * they bubble to document.n *n * @param {string} registrationName Name of listener (e.g. `onClick`).n * @param {object} contentDocumentHandle Document which owns the containern */n listenTo: function (registrationName, contentDocumentHandle) {n var mountAt = contentDocumentHandle;n var isListening = getListeningForDocument(mountAt);n var dependencies = EventPluginRegistry.registrationNameDependencies;nn var topLevelTypes = EventConstants.topLevelTypes;n for (var i = 0; i < dependencies.length; i++) {n var dependency = dependencies;n if (!(isListening.hasOwnProperty(dependency) && isListening)) {n if (dependency === topLevelTypes.topWheel) {n if (isEventSupported('wheel')) {n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'wheel', mountAt);n } else if (isEventSupported('mousewheel')) {n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'mousewheel', mountAt);n } else {n // Firefox needs to capture a different mouse scroll event.n // @see www.quirksmode.org/dom/events/tests/scroll.htmln ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'DOMMouseScroll', mountAt);n }n } else if (dependency === topLevelTypes.topScroll) {nn if (isEventSupported('scroll', true)) {n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topScroll, 'scroll', mountAt);n } else {n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topScroll, 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);n }n } else if (dependency === topLevelTypes.topFocus || dependency === topLevelTypes.topBlur) {nn if (isEventSupported('focus', true)) {n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topFocus, 'focus', mountAt);n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topBlur, 'blur', mountAt);n } else if (isEventSupported('focusin')) {n // IE has `focusin` and `focusout` events which bubble.n // @see www.quirksmode.org/blog/archives/2008/04/delegating_the.htmln ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topFocus, 'focusin', mountAt);n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topBlur, 'focusout', mountAt);n }nn // to make sure blur and focus event listeners are only attached oncen isListening = true;n isListening = true;n } else if (topEventMapping.hasOwnProperty(dependency)) {n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping, mountAt);n }nn isListening = true;n }n }n },nn trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);n },nn trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);n },nn /**n * Listens to window scroll and resize events. We cache scroll values so thatn * application code can access them without triggering reflows.n *n * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only whenn * pageX/pageY isn't supported (legacy browsers).n *n * NOTE: Scroll events do not bubble.n *n * @see www.quirksmode.org/dom/events/scroll.htmln */n ensureScrollValueMonitoring: function () {n if (hasEventPageXY === undefined) {n hasEventPageXY = document.createEvent && 'pageX' in document.createEvent('MouseEvent');n }n if (!hasEventPageXY && !isMonitoringScrollValue) {n var refresh = ViewportMetrics.refreshScrollValues;n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);n isMonitoringScrollValue = true;n }n }nn});nnmodule.exports = ReactBrowserEventEmitter;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactBrowserEventEmitter.jsn ** module id = 107n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactEventEmitterMixinn */nn'use strict';nnvar EventPluginHub = require('./EventPluginHub');nnfunction runEventQueueInBatch(events) {n EventPluginHub.enqueueEvents(events);n EventPluginHub.processEventQueue(false);n}nnvar ReactEventEmitterMixin = {nn /**n * Streams a fired top-level event to `EventPluginHub` where plugins have then * opportunity to create `ReactEvent`s to be dispatched.n */n handleTopLevel: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);n runEventQueueInBatch(events);n }n};nnmodule.exports = ReactEventEmitterMixin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactEventEmitterMixin.jsn ** module id = 108n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getVendorPrefixedEventNamen */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nn/**n * Generate a mapping of standard vendor prefixes using the defined style property and event name.n *n * @param {string} stylePropn * @param {string} eventNamen * @returns {object}n */nfunction makePrefixMap(styleProp, eventName) {n var prefixes = {};nn prefixes = eventName.toLowerCase();n prefixes['Webkit' + styleProp] = 'webkit' + eventName;n prefixes['Moz' + styleProp] = 'moz' + eventName;n prefixes['ms' + styleProp] = 'MS' + eventName;n prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();nn return prefixes;n}nn/**n * A list of event names to a configurable list of vendor prefixes.n */nvar vendorPrefixes = {n animationend: makePrefixMap('Animation', 'AnimationEnd'),n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),n animationstart: makePrefixMap('Animation', 'AnimationStart'),n transitionend: makePrefixMap('Transition', 'TransitionEnd')n};nn/**n * Event names that have already been detected and prefixed (if applicable).n */nvar prefixedEventNames = {};nn/**n * Element to check for prefixes on.n */nvar style = {};nn/**n * Bootstrap if a DOM exists.n */nif (ExecutionEnvironment.canUseDOM) {n style = document.createElement('div').style;nn // On some platforms, in particular some releases of Android 4.x,n // the un-prefixed "animation" and "transition" properties are defined on then // style object but the events that fire will still be prefixed, so we needn // to check if the un-prefixed events are usable, and if not remove them from the map.n if (!('AnimationEvent' in window)) {n delete vendorPrefixes.animationend.animation;n delete vendorPrefixes.animationiteration.animation;n delete vendorPrefixes.animationstart.animation;n }nn // Same as aboven if (!('TransitionEvent' in window)) {n delete vendorPrefixes.transitionend.transition;n }n}nn/**n * Attempts to determine the correct vendor prefixed event name.n *n * @param {string} eventNamen * @returns {string}n */nfunction getVendorPrefixedEventName(eventName) {n if (prefixedEventNames) {n return prefixedEventNames;n } else if (!vendorPrefixes) {n return eventName;n }nn var prefixMap = vendorPrefixes;nn for (var styleProp in prefixMap) {n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {n return prefixedEventNames = prefixMap;n }n }nn return '';n}nnmodule.exports = getVendorPrefixedEventName;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getVendorPrefixedEventName.jsn ** module id = 109n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMButtonn */nn'use strict';nnvar DisabledInputUtils = require('./DisabledInputUtils');nn/**n * Implements a <button> host component that does not receive mouse eventsn * when `disabled` is set.n */nvar ReactDOMButton = {n getHostProps: DisabledInputUtils.getHostPropsn};nnmodule.exports = ReactDOMButton;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMButton.jsn ** module id = 110n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule DisabledInputUtilsn */nn'use strict';nnvar disableableMouseListenerNames = {n onClick: true,n onDoubleClick: true,n onMouseDown: true,n onMouseMove: true,n onMouseUp: true,nn onClickCapture: true,n onDoubleClickCapture: true,n onMouseDownCapture: true,n onMouseMoveCapture: true,n onMouseUpCapture: truen};nn/**n * Implements a host component that does not receive mouse eventsn * when `disabled` is set.n */nvar DisabledInputUtils = {n getHostProps: function (inst, props) {n if (!props.disabled) {n return props;n }nn // Copy the props, except the mouse listenersn var hostProps = {};n for (var key in props) {n if (!disableableMouseListenerNames && props.hasOwnProperty(key)) {n hostProps = props;n }n }nn return hostProps;n }n};nnmodule.exports = DisabledInputUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/DisabledInputUtils.jsn ** module id = 111n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMInputn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar DisabledInputUtils = require('./DisabledInputUtils');nvar DOMPropertyOperations = require('./DOMPropertyOperations');nvar LinkedValueUtils = require('./LinkedValueUtils');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactUpdates = require('./ReactUpdates');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnvar didWarnValueLink = false;nvar didWarnCheckedLink = false;nvar didWarnValueDefaultValue = false;nvar didWarnCheckedDefaultChecked = false;nvar didWarnControlledToUncontrolled = false;nvar didWarnUncontrolledToControlled = false;nnfunction forceUpdateIfMounted() {n if (this._rootNodeID) {n // DOM component is still mounted; updaten ReactDOMInput.updateWrapper(this);n }n}nnfunction isControlled(props) {n var usesChecked = props.type === 'checkbox' || props.type === 'radio';n return usesChecked ? props.checked !== undefined : props.value !== undefined;n}nn/**n * Implements an <input> host component that allows setting these optionaln * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.n *n * If `checked` or `value` are not supplied (or null/undefined), user actionsn * that affect the checked state or value will trigger updates to the element.n *n * If they are supplied (and not null/undefined), the rendered element will notn * trigger updates to the element. Instead, the props must change in order forn * the rendered element to be updated.n *n * The rendered element will be initialized as unchecked (or `defaultChecked`)n * with an empty value (or `defaultValue`).n *n * @see www.w3.org/TR/2012/WD-html5-20121025/the-input-element.htmln */nvar ReactDOMInput = {n getHostProps: function (inst, props) {n var value = LinkedValueUtils.getValue(props);n var checked = LinkedValueUtils.getChecked(props);nn var hostProps = _assign({n // Make sure we set .type before any other properties (setting .valuen // before .type means .value is lost in IE11 and below)n type: undefined,n // Make sure we set .step before .value (setting .value before .stepn // means .value is rounded on mount, based upon step precision)n step: undefined,n // Make sure we set .min & .max before .value (to ensure proper ordern // in corner cases such as min or max deriving from value, e.g. Issue #7170)n min: undefined,n max: undefinedn }, DisabledInputUtils.getHostProps(inst, props), {n defaultChecked: undefined,n defaultValue: undefined,n value: value != null ? value : inst._wrapperState.initialValue,n checked: checked != null ? checked : inst._wrapperState.initialChecked,n onChange: inst._wrapperState.onChangen });nn return hostProps;n },nn mountWrapper: function (inst, props) {n if (process.env.NODE_ENV !== 'production') {n LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);nn var owner = inst._currentElement._owner;nn if (props.valueLink !== undefined && !didWarnValueLink) {n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;n didWarnValueLink = true;n }n if (props.checkedLink !== undefined && !didWarnCheckedLink) {n process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;n didWarnCheckedLink = true;n }n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;n didWarnCheckedDefaultChecked = true;n }n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;n didWarnValueDefaultValue = true;n }n }nn var defaultValue = props.defaultValue;n inst._wrapperState = {n initialChecked: props.checked != null ? props.checked : props.defaultChecked,n initialValue: props.value != null ? props.value : defaultValue,n listeners: null,n onChange: _handleChange.bind(inst)n };nn if (process.env.NODE_ENV !== 'production') {n inst._wrapperState.controlled = isControlled(props);n }n },nn updateWrapper: function (inst) {n var props = inst._currentElement.props;nn if (process.env.NODE_ENV !== 'production') {n var controlled = isControlled(props);n var owner = inst._currentElement._owner;nn if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;n didWarnUncontrolledToControlled = true;n }n if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;n didWarnControlledToUncontrolled = true;n }n }nn // TODO: Shouldn't this be getChecked(props)?n var checked = props.checked;n if (checked != null) {n DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false);n }nn var node = ReactDOMComponentTree.getNodeFromInstance(inst);n var value = LinkedValueUtils.getValue(props);n if (value != null) {nn // Cast `value` to a string to ensure the value is set correctly. Whilen // browsers typically do this as necessary, jsdom doesn't.n var newValue = '' + value;nn // To avoid side effects (such as losing text selection), only set value if changedn if (newValue !== node.value) {n node.value = newValue;n }n } else {n if (props.value == null && props.defaultValue != null) {n node.defaultValue = '' + props.defaultValue;n }n if (props.checked == null && props.defaultChecked != null) {n node.defaultChecked = !!props.defaultChecked;n }n }n },nn postMountWrapper: function (inst) {n var props = inst._currentElement.props;nn // This is in postMount because we need access to the DOM node, which is notn // available until after the component has mounted.n var node = ReactDOMComponentTree.getNodeFromInstance(inst);nn // Detach value from defaultValue. We won't do anything if we're working onn // submit or reset inputs as those values & defaultValues are linked. Theyn // are not resetable nodes so this operation doesn't matter and actuallyn // removes browser-default values (eg "Submit Query") when no value isn // provided.nn switch (props.type) {n case 'submit':n case 'reset':n break;n case 'color':n case 'date':n case 'datetime':n case 'datetime-local':n case 'month':n case 'time':n case 'week':n // This fixes the no-show issue on iOS Safari and Android Chrome:n // github.com/facebook/react/issues/7233n node.value = '';n node.value = node.defaultValue;n break;n default:n node.value = node.value;n break;n }nn // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bugn // this is needed to work around a chrome bug where setting defaultCheckedn // will sometimes influence the value of checked (even after detachment).n // Reference: bugs.chromium.org/p/chromium/issues/detail?id=608416n // We need to temporarily unset name to avoid disrupting radio button groups.n var name = node.name;n if (name !== '') {n node.name = '';n }n node.defaultChecked = !node.defaultChecked;n node.defaultChecked = !node.defaultChecked;n if (name !== '') {n node.name = name;n }n }n};nnfunction _handleChange(event) {n var props = this._currentElement.props;nn var returnValue = LinkedValueUtils.executeOnChange(props, event);nn // Here we use asap to wait until all updates have propagated, whichn // is important when using controlled components within layers:n // github.com/facebook/react/issues/1698n ReactUpdates.asap(forceUpdateIfMounted, this);nn var name = props.name;n if (props.type === 'radio' && name != null) {n var rootNode = ReactDOMComponentTree.getNodeFromInstance(this);n var queryRoot = rootNode;nn while (queryRoot.parentNode) {n queryRoot = queryRoot.parentNode;n }nn // If `rootNode.form` was non-null, then we could try `form.elements`,n // but that sometimes behaves strangely in IE8. We could also try usingn // `form.getElementsByName`, but that will only return direct childrenn // and won't include inputs that use the HTML5 `form=` attribute. Sincen // the input might not even be in a form, let's just use the globaln // `querySelectorAll` to ensure we don't miss anything.n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]');nn for (var i = 0; i < group.length; i++) {n var otherNode = group;n if (otherNode === rootNode || otherNode.form !== rootNode.form) {n continue;n }n // This will throw if radio buttons rendered by different copies of Reactn // and the same name are rendered into the same form (same as #1939).n // That's probably okay; we don't support it just as we don't supportn // mixing React radio buttons with non-React ones.n var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode);n !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0;n // If this is a controlled radio button group, forcing the input thatn // was previously checked to update will cause it to be come re-checkedn // as appropriate.n ReactUpdates.asap(forceUpdateIfMounted, otherInstance);n }n }nn return returnValue;n}nnmodule.exports = ReactDOMInput;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMInput.jsn ** module id = 112n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule LinkedValueUtilsn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactPropTypes = require('./ReactPropTypes');nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnvar hasReadOnlyValue = {n 'button': true,n 'checkbox': true,n 'image': true,n 'hidden': true,n 'radio': true,n 'reset': true,n 'submit': truen};nnfunction _assertSingleLink(inputProps) {n !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0;n}nfunction _assertValueLink(inputProps) {n _assertSingleLink(inputProps);n !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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.') : _prodInvariant('88') : void 0;n}nnfunction _assertCheckedLink(inputProps) {n _assertSingleLink(inputProps);n !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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') : _prodInvariant('89') : void 0;n}nnvar propTypes = {n value: function (props, propName, componentName) {n if (!props || hasReadOnlyValue || props.onChange || props.readOnly || props.disabled) {n return null;n }n return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');n },n checked: function (props, propName, componentName) {n if (!props || props.onChange || props.readOnly || props.disabled) {n return null;n }n return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');n },n onChange: ReactPropTypes.funcn};nnvar loggedTypeFailures = {};nfunction getDeclarationErrorAddendum(owner) {n if (owner) {n var name = owner.getName();n if (name) {n return ' Check the render method of `' + name + '`.';n }n }n return '';n}nn/**n * Provide a linked `value` attribute for controlled forms. You should not usen * this outside of the ReactDOM controlled form components.n */nvar LinkedValueUtils = {n checkPropTypes: function (tagName, props, owner) {n for (var propName in propTypes) {n if (propTypes.hasOwnProperty(propName)) {n var error = propTypes(props, propName, tagName, ReactPropTypeLocations.prop, null, ReactPropTypesSecret);n }n if (error instanceof Error && !(error.message in loggedTypeFailures)) {n // Only monitor this failure once because there tends to be a lot of then // same error.n loggedTypeFailures = true;nn var addendum = getDeclarationErrorAddendum(owner);n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;n }n }n },nn /**n * @param {object} inputProps Props for form componentn * @return {*} current value of the input either from value prop or link.n */n getValue: function (inputProps) {n if (inputProps.valueLink) {n _assertValueLink(inputProps);n return inputProps.valueLink.value;n }n return inputProps.value;n },nn /**n * @param {object} inputProps Props for form componentn * @return {*} current checked status of the input either from checked propn * or link.n */n getChecked: function (inputProps) {n if (inputProps.checkedLink) {n _assertCheckedLink(inputProps);n return inputProps.checkedLink.value;n }n return inputProps.checked;n },nn /**n * @param {object} inputProps Props for form componentn * @param {SyntheticEvent} event change event to handlen */n executeOnChange: function (inputProps, event) {n if (inputProps.valueLink) {n _assertValueLink(inputProps);n return inputProps.valueLink.requestChange(event.target.value);n } else if (inputProps.checkedLink) {n _assertCheckedLink(inputProps);n return inputProps.checkedLink.requestChange(event.target.checked);n } else if (inputProps.onChange) {n return inputProps.onChange.call(undefined, event);n }n }n};nnmodule.exports = LinkedValueUtils;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/LinkedValueUtils.jsn ** module id = 113n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMOptionn */nn'use strict';nnvar _assign = require('object-assign');nnvar ReactChildren = require('./ReactChildren');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactDOMSelect = require('./ReactDOMSelect');nnvar warning = require('fbjs/lib/warning');nvar didWarnInvalidOptionChildren = false;nnfunction flattenChildren(children) {n var content = '';nn // Flatten children and warn if they aren't strings or numbers;n // invalid types are ignored.n ReactChildren.forEach(children, function (child) {n if (child == null) {n return;n }n if (typeof child === 'string' || typeof child === 'number') {n content += child;n } else if (!didWarnInvalidOptionChildren) {n didWarnInvalidOptionChildren = true;n process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;n }n });nn return content;n}nn/**n * Implements an <option> host component that warns when `selected` is set.n */nvar ReactDOMOption = {n mountWrapper: function (inst, props, hostParent) {n // TODO (yungsters): Remove support for `selected` in <option>.n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;n }nn // Look up whether this option is 'selected'n var selectValue = null;n if (hostParent != null) {n var selectParent = hostParent;nn if (selectParent._tag === 'optgroup') {n selectParent = selectParent._hostParent;n }nn if (selectParent != null && selectParent._tag === 'select') {n selectValue = ReactDOMSelect.getSelectValueContext(selectParent);n }n }nn // If the value is null (e.g., no specified value or after initial mount)n // or missing (e.g., for <datalist>), we don't change props.selectedn var selected = null;n if (selectValue != null) {n var value;n if (props.value != null) {n value = props.value + '';n } else {n value = flattenChildren(props.children);n }n selected = false;n if (Array.isArray(selectValue)) {n // multiplen for (var i = 0; i < selectValue.length; i++) {n if ('' + selectValue === value) {n selected = true;n break;n }n }n } else {n selected = '' + selectValue === value;n }n }nn inst._wrapperState = { selected: selected };n },nn postMountWrapper: function (inst) {n // value="" should make a value attribute (#6219)n var props = inst._currentElement.props;n if (props.value != null) {n var node = ReactDOMComponentTree.getNodeFromInstance(inst);n node.setAttribute('value', props.value);n }n },nn getHostProps: function (inst, props) {n var hostProps = _assign({ selected: undefined, children: undefined }, props);nn // Read state only from initial mount because <select> updates valuen // manually; we need the initial state only for server renderingn if (inst._wrapperState.selected != null) {n hostProps.selected = inst._wrapperState.selected;n }nn var content = flattenChildren(props.children);nn if (content) {n hostProps.children = content;n }nn return hostProps;n }nn};nnmodule.exports = ReactDOMOption;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMOption.jsn ** module id = 114n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMSelectn */nn'use strict';nnvar _assign = require('object-assign');nnvar DisabledInputUtils = require('./DisabledInputUtils');nvar LinkedValueUtils = require('./LinkedValueUtils');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactUpdates = require('./ReactUpdates');nnvar warning = require('fbjs/lib/warning');nnvar didWarnValueLink = false;nvar didWarnValueDefaultValue = false;nnfunction updateOptionsIfPendingUpdateAndMounted() {n if (this._rootNodeID && this._wrapperState.pendingUpdate) {n this._wrapperState.pendingUpdate = false;nn var props = this._currentElement.props;n var value = LinkedValueUtils.getValue(props);nn if (value != null) {n updateOptions(this, Boolean(props.multiple), value);n }n }n}nnfunction getDeclarationErrorAddendum(owner) {n if (owner) {n var name = owner.getName();n if (name) {n return ' Check the render method of `' + name + '`.';n }n }n return '';n}nnvar valuePropNames = ['value', 'defaultValue'];nn/**n * Validation function for `value` and `defaultValue`.n * @privaten */nfunction checkSelectPropTypes(inst, props) {n var owner = inst._currentElement._owner;n LinkedValueUtils.checkPropTypes('select', props, owner);nn if (props.valueLink !== undefined && !didWarnValueLink) {n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;n didWarnValueLink = true;n }nn for (var i = 0; i < valuePropNames.length; i++) {n var propName = valuePropNames;n if (props == null) {n continue;n }n var isArray = Array.isArray(props);n if (props.multiple && !isArray) {n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;n } else if (!props.multiple && isArray) {n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;n }n }n}nn/**n * @param {ReactDOMComponent} instn * @param {boolean} multiplen * @param {*} propValue A stringable (with `multiple`, a list of stringables).n * @privaten */nfunction updateOptions(inst, multiple, propValue) {n var selectedValue, i;n var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;nn if (multiple) {n selectedValue = {};n for (i = 0; i < propValue.length; i++) {n selectedValue['' + propValue] = true;n }n for (i = 0; i < options.length; i++) {n var selected = selectedValue.hasOwnProperty(options.value);n if (options.selected !== selected) {n options.selected = selected;n }n }n } else {n // Do not set `select.value` as exact behavior isn't consistent across alln // browsers for all cases.n selectedValue = '' + propValue;n for (i = 0; i < options.length; i++) {n if (options.value === selectedValue) {n options.selected = true;n return;n }n }n if (options.length) {n options.selected = true;n }n }n}nn/**n * Implements a <select> host component that allows optionally setting then * props `value` and `defaultValue`. If `multiple` is false, the prop must be an * stringable. If `multiple` is true, the prop must be an array of stringables.n *n * If `value` is not supplied (or null/undefined), user actions that change then * selected option will trigger updates to the rendered options.n *n * If it is supplied (and not null/undefined), the rendered options will notn * update in response to user actions. Instead, the `value` prop must change inn * order for the rendered options to update.n *n * If `defaultValue` is provided, any options with the supplied values will ben * selected.n */nvar ReactDOMSelect = {n getHostProps: function (inst, props) {n return _assign({}, DisabledInputUtils.getHostProps(inst, props), {n onChange: inst._wrapperState.onChange,n value: undefinedn });n },nn mountWrapper: function (inst, props) {n if (process.env.NODE_ENV !== 'production') {n checkSelectPropTypes(inst, props);n }nn var value = LinkedValueUtils.getValue(props);n inst._wrapperState = {n pendingUpdate: false,n initialValue: value != null ? value : props.defaultValue,n listeners: null,n onChange: _handleChange.bind(inst),n wasMultiple: Boolean(props.multiple)n };nn if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'fb.me/react-controlled-components') : void 0;n didWarnValueDefaultValue = true;n }n },nn getSelectValueContext: function (inst) {n // ReactDOMOption looks at this initial value so the initial generatedn // markup has correct `selected` attributesn return inst._wrapperState.initialValue;n },nn postUpdateWrapper: function (inst) {n var props = inst._currentElement.props;nn // After the initial mount, we control selected-ness manually so don't passn // this value downn inst._wrapperState.initialValue = undefined;nn var wasMultiple = inst._wrapperState.wasMultiple;n inst._wrapperState.wasMultiple = Boolean(props.multiple);nn var value = LinkedValueUtils.getValue(props);n if (value != null) {n inst._wrapperState.pendingUpdate = false;n updateOptions(inst, Boolean(props.multiple), value);n } else if (wasMultiple !== Boolean(props.multiple)) {n // For simplicity, reapply `defaultValue` if `multiple` is toggled.n if (props.defaultValue != null) {n updateOptions(inst, Boolean(props.multiple), props.defaultValue);n } else {n // Revert the select back to its default unselected state.n updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');n }n }n }n};nnfunction _handleChange(event) {n var props = this._currentElement.props;n var returnValue = LinkedValueUtils.executeOnChange(props, event);nn if (this._rootNodeID) {n this._wrapperState.pendingUpdate = true;n }n ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);n return returnValue;n}nnmodule.exports = ReactDOMSelect;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMSelect.jsn ** module id = 115n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMTextarean */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar DisabledInputUtils = require('./DisabledInputUtils');nvar LinkedValueUtils = require('./LinkedValueUtils');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactUpdates = require('./ReactUpdates');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnvar didWarnValueLink = false;nvar didWarnValDefaultVal = false;nnfunction forceUpdateIfMounted() {n if (this._rootNodeID) {n // DOM component is still mounted; updaten ReactDOMTextarea.updateWrapper(this);n }n}nn/**n * Implements a <textarea> host component that allows setting `value`, andn * `defaultValue`. This differs from the traditional DOM API because value isn * usually set as PCDATA children.n *n * If `value` is not supplied (or null/undefined), user actions that affect then * value will trigger updates to the element.n *n * If `value` is supplied (and not null/undefined), the rendered element willn * not trigger updates to the element. Instead, the `value` prop must change inn * order for the rendered element to be updated.n *n * The rendered element will be initialized with an empty value, the propn * `defaultValue` if specified, or the children content (deprecated).n */nvar ReactDOMTextarea = {n getHostProps: function (inst, props) {n !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0;nn // Always set children to the same thing. In IE9, the selection range willn // get reset if `textContent` is mutated. We could add a check in setTextContentn // to only set the value if/when the value differs from the node value (which wouldn // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.n // The value can be a boolean or object so that's why it's forced to be a string.n var hostProps = _assign({}, DisabledInputUtils.getHostProps(inst, props), {n value: undefined,n defaultValue: undefined,n children: '' + inst._wrapperState.initialValue,n onChange: inst._wrapperState.onChangen });nn return hostProps;n },nn mountWrapper: function (inst, props) {n if (process.env.NODE_ENV !== 'production') {n LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);n if (props.valueLink !== undefined && !didWarnValueLink) {n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;n didWarnValueLink = true;n }n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'fb.me/react-controlled-components') : void 0;n didWarnValDefaultVal = true;n }n }nn var value = LinkedValueUtils.getValue(props);n var initialValue = value;nn // Only bother fetching default value if we're going to use itn if (value == null) {n var defaultValue = props.defaultValue;n // TODO (yungsters): Remove support for children content in <textarea>.n var children = props.children;n if (children != null) {n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;n }n !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;n if (Array.isArray(children)) {n !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;n children = children;n }nn defaultValue = '' + children;n }n if (defaultValue == null) {n defaultValue = '';n }n initialValue = defaultValue;n }nn inst._wrapperState = {n initialValue: '' + initialValue,n listeners: null,n onChange: _handleChange.bind(inst)n };n },nn updateWrapper: function (inst) {n var props = inst._currentElement.props;nn var node = ReactDOMComponentTree.getNodeFromInstance(inst);n var value = LinkedValueUtils.getValue(props);n if (value != null) {n // Cast `value` to a string to ensure the value is set correctly. Whilen // browsers typically do this as necessary, jsdom doesn't.n var newValue = '' + value;nn // To avoid side effects (such as losing text selection), only set value if changedn if (newValue !== node.value) {n node.value = newValue;n }n if (props.defaultValue == null) {n node.defaultValue = newValue;n }n }n if (props.defaultValue != null) {n node.defaultValue = props.defaultValue;n }n },nn postMountWrapper: function (inst) {n // This is in postMount because we need access to the DOM node, which is notn // available until after the component has mounted.n var node = ReactDOMComponentTree.getNodeFromInstance(inst);nn // Warning: node.value may be the empty string at this point (IE11) if placeholder is set.n node.value = node.textContent; // Detach value from defaultValuen }n};nnfunction _handleChange(event) {n var props = this._currentElement.props;n var returnValue = LinkedValueUtils.executeOnChange(props, event);n ReactUpdates.asap(forceUpdateIfMounted, this);n return returnValue;n}nnmodule.exports = ReactDOMTextarea;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMTextarea.jsn ** module id = 116n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactMultiChildn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactComponentEnvironment = require('./ReactComponentEnvironment');nvar ReactInstanceMap = require('./ReactInstanceMap');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactReconciler = require('./ReactReconciler');nvar ReactChildReconciler = require('./ReactChildReconciler');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar flattenChildren = require('./flattenChildren');nvar invariant = require('fbjs/lib/invariant');nn/**n * Make an update for markup to be rendered and inserted at a supplied index.n *n * @param {string} markup Markup that renders into an element.n * @param {number} toIndex Destination index.n * @privaten */nfunction makeInsertMarkup(markup, afterNode, toIndex) {n // NOTE: Null values reduce hidden classes.n return {n type: ReactMultiChildUpdateTypes.INSERT_MARKUP,n content: markup,n fromIndex: null,n fromNode: null,n toIndex: toIndex,n afterNode: afterNoden };n}nn/**n * Make an update for moving an existing element to another index.n *n * @param {number} fromIndex Source index of the existing element.n * @param {number} toIndex Destination index of the element.n * @privaten */nfunction makeMove(child, afterNode, toIndex) {n // NOTE: Null values reduce hidden classes.n return {n type: ReactMultiChildUpdateTypes.MOVE_EXISTING,n content: null,n fromIndex: child._mountIndex,n fromNode: ReactReconciler.getHostNode(child),n toIndex: toIndex,n afterNode: afterNoden };n}nn/**n * Make an update for removing an element at an index.n *n * @param {number} fromIndex Index of the element to remove.n * @privaten */nfunction makeRemove(child, node) {n // NOTE: Null values reduce hidden classes.n return {n type: ReactMultiChildUpdateTypes.REMOVE_NODE,n content: null,n fromIndex: child._mountIndex,n fromNode: node,n toIndex: null,n afterNode: nulln };n}nn/**n * Make an update for setting the markup of a node.n *n * @param {string} markup Markup that renders into an element.n * @privaten */nfunction makeSetMarkup(markup) {n // NOTE: Null values reduce hidden classes.n return {n type: ReactMultiChildUpdateTypes.SET_MARKUP,n content: markup,n fromIndex: null,n fromNode: null,n toIndex: null,n afterNode: nulln };n}nn/**n * Make an update for setting the text content.n *n * @param {string} textContent Text content to set.n * @privaten */nfunction makeTextContent(textContent) {n // NOTE: Null values reduce hidden classes.n return {n type: ReactMultiChildUpdateTypes.TEXT_CONTENT,n content: textContent,n fromIndex: null,n fromNode: null,n toIndex: null,n afterNode: nulln };n}nn/**n * Push an update, if any, onto the queue. Creates a new queue if none isn * passed and always returns the queue. Mutative.n */nfunction enqueue(queue, update) {n if (update) {n queue = queue || [];n queue.push(update);n }n return queue;n}nn/**n * Processes any enqueued updates.n *n * @privaten */nfunction processQueue(inst, updateQueue) {n ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);n}nnvar setChildrenForInstrumentation = emptyFunction;nif (process.env.NODE_ENV !== 'production') {n var getDebugID = function (inst) {n if (!inst._debugID) {n // Check for ART-like instances. TODO: This is silly/gross.n var internal;n if (internal = ReactInstanceMap.get(inst)) {n inst = internal;n }n }n return inst._debugID;n };n setChildrenForInstrumentation = function (children) {n var debugID = getDebugID(this);n // TODO: React Native empty components are also multichild.n // This means they still get into this method but don't have _debugID.n if (debugID !== 0) {n ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) {n return children._debugID;n }) : []);n }n };n}nn/**n * ReactMultiChild are capable of reconciling multiple children.n *n * @class ReactMultiChildn * @internaln */nvar ReactMultiChild = {nn /**n * Provides common functionality for components that must reconcile multiplen * children. This is used by `ReactDOMComponent` to mount, update, andn * unmount child components.n *n * @lends {ReactMultiChild.prototype}n */n Mixin: {nn _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {n if (process.env.NODE_ENV !== 'production') {n var selfDebugID = getDebugID(this);n if (this._currentElement) {n try {n ReactCurrentOwner.current = this._currentElement._owner;n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);n } finally {n ReactCurrentOwner.current = null;n }n }n }n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);n },nn _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {n var nextChildren;n var selfDebugID = 0;n if (process.env.NODE_ENV !== 'production') {n selfDebugID = getDebugID(this);n if (this._currentElement) {n try {n ReactCurrentOwner.current = this._currentElement._owner;n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);n } finally {n ReactCurrentOwner.current = null;n }n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);n return nextChildren;n }n }n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);n return nextChildren;n },nn /**n * Generates a "mount image" for each of the supplied children. In the casen * of `ReactDOMComponent`, a mount image is a string of markup.n *n * @param {?object} nestedChildren Nested child maps.n * @return {array} An array of mounted representations.n * @internaln */n mountChildren: function (nestedChildren, transaction, context) {n var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);n this._renderedChildren = children;nn var mountImages = [];n var index = 0;n for (var name in children) {n if (children.hasOwnProperty(name)) {n var child = children;n var selfDebugID = 0;n if (process.env.NODE_ENV !== 'production') {n selfDebugID = getDebugID(this);n }n var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);n child._mountIndex = index++;n mountImages.push(mountImage);n }n }nn if (process.env.NODE_ENV !== 'production') {n setChildrenForInstrumentation.call(this, children);n }nn return mountImages;n },nn /**n * Replaces any rendered children with a text content string.n *n * @param {string} nextContent String of content.n * @internaln */n updateTextContent: function (nextContent) {n var prevChildren = this._renderedChildren;n // Remove any rendered children.n ReactChildReconciler.unmountChildren(prevChildren, false);n for (var name in prevChildren) {n if (prevChildren.hasOwnProperty(name)) {n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;n }n }n // Set new text content.n var updates = [makeTextContent(nextContent)];n processQueue(this, updates);n },nn /**n * Replaces any rendered children with a markup string.n *n * @param {string} nextMarkup String of markup.n * @internaln */n updateMarkup: function (nextMarkup) {n var prevChildren = this._renderedChildren;n // Remove any rendered children.n ReactChildReconciler.unmountChildren(prevChildren, false);n for (var name in prevChildren) {n if (prevChildren.hasOwnProperty(name)) {n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;n }n }n var updates = [makeSetMarkup(nextMarkup)];n processQueue(this, updates);n },nn /**n * Updates the rendered children with new children.n *n * @param {?object} nextNestedChildrenElements Nested child element maps.n * @param {ReactReconcileTransaction} transactionn * @internaln */n updateChildren: function (nextNestedChildrenElements, transaction, context) {n // Hook used by React ARTn this._updateChildren(nextNestedChildrenElements, transaction, context);n },nn /**n * @param {?object} nextNestedChildrenElements Nested child element maps.n * @param {ReactReconcileTransaction} transactionn * @finaln * @protectedn */n _updateChildren: function (nextNestedChildrenElements, transaction, context) {n var prevChildren = this._renderedChildren;n var removedNodes = {};n var mountImages = [];n var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context);n if (!nextChildren && !prevChildren) {n return;n }n var updates = null;n var name;n // `nextIndex` will increment for each child in `nextChildren`, butn // `lastIndex` will be the last index visited in `prevChildren`.n var nextIndex = 0;n var lastIndex = 0;n // `nextMountIndex` will increment for each newly mounted child.n var nextMountIndex = 0;n var lastPlacedNode = null;n for (name in nextChildren) {n if (!nextChildren.hasOwnProperty(name)) {n continue;n }n var prevChild = prevChildren && prevChildren;n var nextChild = nextChildren;n if (prevChild === nextChild) {n updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex));n lastIndex = Math.max(prevChild._mountIndex, lastIndex);n prevChild._mountIndex = nextIndex;n } else {n if (prevChild) {n // Update `lastIndex` before `_mountIndex` gets unset by unmounting.n lastIndex = Math.max(prevChild._mountIndex, lastIndex);n // The `removedNodes` loop below will actually remove the child.n }n // The child must be instantiated before it's mounted.n updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages, lastPlacedNode, nextIndex, transaction, context));n nextMountIndex++;n }n nextIndex++;n lastPlacedNode = ReactReconciler.getHostNode(nextChild);n }n // Remove children that are no longer present.n for (name in removedNodes) {n if (removedNodes.hasOwnProperty(name)) {n updates = enqueue(updates, this._unmountChild(prevChildren, removedNodes));n }n }n if (updates) {n processQueue(this, updates);n }n this._renderedChildren = nextChildren;nn if (process.env.NODE_ENV !== 'production') {n setChildrenForInstrumentation.call(this, nextChildren);n }n },nn /**n * Unmounts all rendered children. This should be used to clean up childrenn * when this component is unmounted. It does not actually perform anyn * backend operations.n *n * @internaln */n unmountChildren: function (safely) {n var renderedChildren = this._renderedChildren;n ReactChildReconciler.unmountChildren(renderedChildren, safely);n this._renderedChildren = null;n },nn /**n * Moves a child component to the supplied index.n *n * @param {ReactComponent} child Component to move.n * @param {number} toIndex Destination index of the element.n * @param {number} lastIndex Last index visited of the siblings of `child`.n * @protectedn */n moveChild: function (child, afterNode, toIndex, lastIndex) {n // If the index of `child` is less than `lastIndex`, then it needs ton // be moved. Otherwise, we do not need to move it because a child will ben // inserted or moved before `child`.n if (child._mountIndex < lastIndex) {n return makeMove(child, afterNode, toIndex);n }n },nn /**n * Creates a child component.n *n * @param {ReactComponent} child Component to create.n * @param {string} mountImage Markup to insert.n * @protectedn */n createChild: function (child, afterNode, mountImage) {n return makeInsertMarkup(mountImage, afterNode, child._mountIndex);n },nn /**n * Removes a child component.n *n * @param {ReactComponent} child Child to remove.n * @protectedn */n removeChild: function (child, node) {n return makeRemove(child, node);n },nn /**n * Mounts a child with the supplied name.n *n * NOTE: This is part of `updateChildren` and is here for readability.n *n * @param {ReactComponent} child Component to mount.n * @param {string} name Name of the child.n * @param {number} index Index at which to insert the child.n * @param {ReactReconcileTransaction} transactionn * @privaten */n _mountChildAtIndex: function (child, mountImage, afterNode, index, transaction, context) {n child._mountIndex = index;n return this.createChild(child, afterNode, mountImage);n },nn /**n * Unmounts a rendered child.n *n * NOTE: This is part of `updateChildren` and is here for readability.n *n * @param {ReactComponent} child Component to unmount.n * @privaten */n _unmountChild: function (child, node) {n var update = this.removeChild(child, node);n child._mountIndex = null;n return update;n }nn }nn};nnmodule.exports = ReactMultiChild;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactMultiChild.jsn ** module id = 117n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactComponentEnvironmentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nnvar injected = false;nnvar ReactComponentEnvironment = {nn /**n * Optionally injectable hook for swapping out mount images in the middle ofn * the tree.n */n replaceNodeWithMarkup: null,nn /**n * Optionally injectable hook for processing a queue of child updates. Willn * later move into MultiChildComponents.n */n processChildrenUpdates: null,nn injection: {n injectEnvironment: function (environment) {n !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;n ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;n ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;n injected = true;n }n }nn};nnmodule.exports = ReactComponentEnvironment;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactComponentEnvironment.jsn ** module id = 118n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactInstanceMapn */nn'use strict';nn/**n * `ReactInstanceMap` maintains a mapping from a public facing statefuln * instance (key) and the internal representation (value). This allows publicn * methods to accept the user facing instance as an argument and map them backn * to internal methods.n */nn// TODO: Replace this with ES6: var ReactInstanceMap = new Map();nnvar ReactInstanceMap = {nn /**n * This API should be called `delete` but we'd have to make sure to alwaysn * transform these to strings for IE support. When this transform is fullyn * supported we can rename it.n */n remove: function (key) {n key._reactInternalInstance = undefined;n },nn get: function (key) {n return key._reactInternalInstance;n },nn has: function (key) {n return key._reactInternalInstance !== undefined;n },nn set: function (key, value) {n key._reactInternalInstance = value;n }nn};nnmodule.exports = ReactInstanceMap;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactInstanceMap.jsn ** module id = 119n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactChildReconcilern */nn'use strict';nnvar ReactReconciler = require('./ReactReconciler');nnvar instantiateReactComponent = require('./instantiateReactComponent');nvar KeyEscapeUtils = require('./KeyEscapeUtils');nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');nvar traverseAllChildren = require('./traverseAllChildren');nvar warning = require('fbjs/lib/warning');nnvar ReactComponentTreeHook;nnif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {n // Temporary hack.n // Inline requires don't work well with Jest:n // github.com/facebook/react/issues/7240n // Remove the inline requires when we don't need them anymore:n // github.com/facebook/react/pull/7178n ReactComponentTreeHook = require('./ReactComponentTreeHook');n}nnfunction instantiateChild(childInstances, child, name, selfDebugID) {n // We found a component instance.n var keyUnique = childInstances === undefined;n if (process.env.NODE_ENV !== 'production') {n if (!ReactComponentTreeHook) {n ReactComponentTreeHook = require('./ReactComponentTreeHook');n }n if (!keyUnique) {n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(…): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;n }n }n if (child != null && keyUnique) {n childInstances = instantiateReactComponent(child, true);n }n}nn/**n * ReactChildReconciler provides helpers for initializing or updating a set ofn * children. Its output is suitable for passing it onto ReactMultiChild whichn * does diffed reordering and insertion.n */nvar ReactChildReconciler = {n /**n * Generates a "mount image" for each of the supplied children. In the casen * of `ReactDOMComponent`, a mount image is a string of markup.n *n * @param {?object} nestedChildNodes Nested child maps.n * @return {?object} A set of child instances.n * @internaln */n instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for rootsn ) {n if (nestedChildNodes == null) {n return null;n }n var childInstances = {};nn if (process.env.NODE_ENV !== 'production') {n traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {n return instantiateChild(childInsts, child, name, selfDebugID);n }, childInstances);n } else {n traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);n }n return childInstances;n },nn /**n * Updates the rendered children and returns a new set of children.n *n * @param {?object} prevChildren Previously initialized set of children.n * @param {?object} nextChildren Flat child element maps.n * @param {ReactReconcileTransaction} transactionn * @param {object} contextn * @return {?object} A new set of child instances.n * @internaln */n updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for rootsn ) {n // We currently don't have a way to track moves here but if we use iteratorsn // instead of for..in we can zip the iterators and check if an item hasn // moved.n // TODO: If nothing has changed, return the prevChildren object so that wen // can quickly bailout if nothing has changed.n if (!nextChildren && !prevChildren) {n return;n }n var name;n var prevChild;n for (name in nextChildren) {n if (!nextChildren.hasOwnProperty(name)) {n continue;n }n prevChild = prevChildren && prevChildren;n var prevElement = prevChild && prevChild._currentElement;n var nextElement = nextChildren;n if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {n ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);n nextChildren = prevChild;n } else {n if (prevChild) {n removedNodes = ReactReconciler.getHostNode(prevChild);n ReactReconciler.unmountComponent(prevChild, false);n }n // The child must be instantiated before it's mounted.n var nextChildInstance = instantiateReactComponent(nextElement, true);n nextChildren = nextChildInstance;n // Creating mount image now ensures refs are resolved in right ordern // (see github.com/facebook/react/pull/7101 for explanation).n var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);n mountImages.push(nextChildMountImage);n }n }n // Unmount children that are no longer present.n for (name in prevChildren) {n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {n prevChild = prevChildren;n removedNodes = ReactReconciler.getHostNode(prevChild);n ReactReconciler.unmountComponent(prevChild, false);n }n }n },nn /**n * Unmounts all rendered children. This should be used to clean up childrenn * when this component is unmounted.n *n * @param {?object} renderedChildren Previously initialized set of children.n * @internaln */n unmountChildren: function (renderedChildren, safely) {n for (var name in renderedChildren) {n if (renderedChildren.hasOwnProperty(name)) {n var renderedChild = renderedChildren;n ReactReconciler.unmountComponent(renderedChild, safely);n }n }n }nn};nnmodule.exports = ReactChildReconciler;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactChildReconciler.jsn ** module id = 120n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule instantiateReactComponentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar ReactCompositeComponent = require('./ReactCompositeComponent');nvar ReactEmptyComponent = require('./ReactEmptyComponent');nvar ReactHostComponent = require('./ReactHostComponent');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nn// To avoid a cyclic dependency, we create the final class in this modulenvar ReactCompositeComponentWrapper = function (element) {n this.construct(element);n};n_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent.Mixin, {n _instantiateReactComponent: instantiateReactComponentn});nnfunction getDeclarationErrorAddendum(owner) {n if (owner) {n var name = owner.getName();n if (name) {n return ' Check the render method of `' + name + '`.';n }n }n return '';n}nn/**n * Check if the type reference is a known internal type. I.e. not a usern * provided composite type.n *n * @param {function} typen * @return {boolean} Returns true if this is a valid internal type.n */nfunction isInternalComponentType(type) {n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';n}nnvar nextDebugID = 1;nn/**n * Given a ReactNode, create an instance that will actually be mounted.n *n * @param {ReactNode} noden * @param {boolean} shouldHaveDebugIDn * @return {object} A new instance of the element's constructor.n * @protectedn */nfunction instantiateReactComponent(node, shouldHaveDebugID) {n var instance;nn if (node === null || node === false) {n instance = ReactEmptyComponent.create(instantiateReactComponent);n } else if (typeof node === 'object') {n var element = node;n !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : _prodInvariant('130', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : void 0;nn // Special case string valuesn if (typeof element.type === 'string') {n instance = ReactHostComponent.createInternalComponent(element);n } else if (isInternalComponentType(element.type)) {n // This is temporarily available for custom components that are not stringn // representations. I.e. ART. Once those are updated to use the stringn // representation, we can drop this code path.n instance = new element.type(element);nn // We renamed this. Allow the old name for compat. :(n if (!instance.getHostNode) {n instance.getHostNode = instance.getNativeNode;n }n } else {n instance = new ReactCompositeComponentWrapper(element);n }n } else if (typeof node === 'string' || typeof node === 'number') {n instance = ReactHostComponent.createInstanceForText(node);n } else {n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;n }nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;n }nn // These two fields are used by the DOM and ART diffing algorithmsn // respectively. Instead of using expandos on components, we should ben // storing the state needed by the diffing algorithms elsewhere.n instance._mountIndex = 0;n instance._mountImage = null;nn if (process.env.NODE_ENV !== 'production') {n instance._debugID = shouldHaveDebugID ? nextDebugID++ : 0;n }nn // Internal instances should fully constructed at this point, so they shouldn // not get any new fields added to them at this point.n if (process.env.NODE_ENV !== 'production') {n if (Object.preventExtensions) {n Object.preventExtensions(instance);n }n }nn return instance;n}nnmodule.exports = instantiateReactComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/instantiateReactComponent.jsn ** module id = 121n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactCompositeComponentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar ReactComponentEnvironment = require('./ReactComponentEnvironment');nvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactElement = require('./ReactElement');nvar ReactErrorUtils = require('./ReactErrorUtils');nvar ReactInstanceMap = require('./ReactInstanceMap');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactNodeTypes = require('./ReactNodeTypes');nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');nvar ReactReconciler = require('./ReactReconciler');nnvar checkReactTypeSpec = require('./checkReactTypeSpec');nvar emptyObject = require('fbjs/lib/emptyObject');nvar invariant = require('fbjs/lib/invariant');nvar shallowEqual = require('fbjs/lib/shallowEqual');nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');nvar warning = require('fbjs/lib/warning');nnvar CompositeTypes = {n ImpureClass: 0,n PureClass: 1,n StatelessFunctional: 2n};nnfunction StatelessComponent(Component) {}nStatelessComponent.prototype.render = function () {n var Component = ReactInstanceMap.get(this)._currentElement.type;n var element = Component(this.props, this.context, this.updater);n warnIfInvalidElement(Component, element);n return element;n};nnfunction warnIfInvalidElement(Component, element) {n if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || ReactElement.isValidElement(element), '%s(…): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(…): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0;n }n}nnfunction invokeComponentDidMountWithTimer() {n var publicInstance = this._instance;n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidMount');n }n publicInstance.componentDidMount();n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidMount');n }n}nnfunction invokeComponentDidUpdateWithTimer(prevProps, prevState, prevContext) {n var publicInstance = this._instance;n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidUpdate');n }n publicInstance.componentDidUpdate(prevProps, prevState, prevContext);n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidUpdate');n }n}nnfunction shouldConstruct(Component) {n return !!(Component.prototype && Component.prototype.isReactComponent);n}nnfunction isPureComponent(Component) {n return !!(Component.prototype && Component.prototype.isPureReactComponent);n}nn/**n * —————— The Life-Cycle of a Composite Component ——————n *n * - constructor: Initialization of state. The instance is now retained.n * - componentWillMountn * - rendern * - [children's constructors]n * - [children's componentWillMount and render]n * - [children's componentDidMount]n * - componentDidMountn *n * Update Phases:n * - componentWillReceiveProps (only called if parent updated)n * - shouldComponentUpdaten * - componentWillUpdaten * - rendern * - [children's constructors or receive props phases]n * - componentDidUpdaten *n * - componentWillUnmountn * - [children's componentWillUnmount]n * - [children destroyed]n * - (destroyed): The instance is now blank, released by React and ready for GC.n *n * —————————————————————————–n */nn/**n * An incrementing ID assigned to each component when it is mounted. This isn * used to enforce the order in which `ReactUpdates` updates dirty components.n *n * @privaten */nvar nextMountID = 1;nn/**n * @lends {ReactCompositeComponent.prototype}n */nvar ReactCompositeComponentMixin = {nn /**n * Base constructor for all composite component.n *n * @param {ReactElement} elementn * @finaln * @internaln */n construct: function (element) {n this._currentElement = element;n this._rootNodeID = 0;n this._compositeType = null;n this._instance = null;n this._hostParent = null;n this._hostContainerInfo = null;nn // See ReactUpdateQueuen this._updateBatchNumber = null;n this._pendingElement = null;n this._pendingStateQueue = null;n this._pendingReplaceState = false;n this._pendingForceUpdate = false;nn this._renderedNodeType = null;n this._renderedComponent = null;n this._context = null;n this._mountOrder = 0;n this._topLevelWrapper = null;nn // See ReactUpdates and ReactUpdateQueue.n this._pendingCallbacks = null;nn // ComponentWillUnmount shall only be called oncen this._calledComponentWillUnmount = false;nn if (process.env.NODE_ENV !== 'production') {n this._warnedAboutRefsInRender = false;n }n },nn /**n * Initializes the component, renders markup, and registers event listeners.n *n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @param {?object} hostParentn * @param {?object} hostContainerInfon * @param {?object} contextn * @return {?string} Rendered markup to be inserted into the DOM.n * @finaln * @internaln */n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {n this._context = context;n this._mountOrder = nextMountID++;n this._hostParent = hostParent;n this._hostContainerInfo = hostContainerInfo;nn var publicProps = this._currentElement.props;n var publicContext = this._processContext(context);nn var Component = this._currentElement.type;nn var updateQueue = transaction.getUpdateQueue();nn // Initialize the public classn var doConstruct = shouldConstruct(Component);n var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);n var renderedElement;nn // Support functional componentsn if (!doConstruct && (inst == null || inst.render == null)) {n renderedElement = inst;n warnIfInvalidElement(Component, renderedElement);n !(inst === null || inst === false || ReactElement.isValidElement(inst)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(…): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0;n inst = new StatelessComponent(Component);n this._compositeType = CompositeTypes.StatelessFunctional;n } else {n if (isPureComponent(Component)) {n this._compositeType = CompositeTypes.PureClass;n } else {n this._compositeType = CompositeTypes.ImpureClass;n }n }nn if (process.env.NODE_ENV !== 'production') {n // This will throw later in _renderValidatedComponent, but add an earlyn // warning now to help debuggingn if (inst.render == null) {n process.env.NODE_ENV !== 'production' ? warning(false, '%s(…): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0;n }nn var propsMutated = inst.props !== publicProps;n var componentName = Component.displayName || Component.name || 'Component';nn process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(…): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\'s constructor was passed.', componentName, componentName) : void 0;n }nn // These should be set up in the constructor, but as a convenience forn // simpler class abstractions, we set them up after the fact.n inst.props = publicProps;n inst.context = publicContext;n inst.refs = emptyObject;n inst.updater = updateQueue;nn this._instance = inst;nn // Store a reference from the instance back to the internal representationn ReactInstanceMap.set(inst, this);nn if (process.env.NODE_ENV !== 'production') {n // Since plain JS classes are defined without any special initializationn // logic, we can not catch common errors early. Therefore, we have ton // catch them here, at initialization time, instead.n process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0;n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0;n }nn var initialState = inst.state;n if (initialState === undefined) {n inst.state = initialState = null;n }n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0;nn this._pendingStateQueue = null;n this._pendingReplaceState = false;n this._pendingForceUpdate = false;nn var markup;n if (inst.unstable_handleError) {n markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);n } else {n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);n }nn if (inst.componentDidMount) {n if (process.env.NODE_ENV !== 'production') {n transaction.getReactMountReady().enqueue(invokeComponentDidMountWithTimer, this);n } else {n transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);n }n }nn return markup;n },nn _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) {n if (process.env.NODE_ENV !== 'production') {n ReactCurrentOwner.current = this;n try {n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);n } finally {n ReactCurrentOwner.current = null;n }n } else {n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);n }n },nn _constructComponentWithoutOwner: function (doConstruct, publicProps, publicContext, updateQueue) {n var Component = this._currentElement.type;n var instanceOrElement;n if (doConstruct) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'ctor');n }n }n instanceOrElement = new Component(publicProps, publicContext, updateQueue);n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'ctor');n }n }n } else {n // This can still be an instance in case of factory componentsn // but we'll count this as time spent rendering as the more common case.n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');n }n }n instanceOrElement = Component(publicProps, publicContext, updateQueue);n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');n }n }n }n return instanceOrElement;n },nn performInitialMountWithErrorHandling: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {n var markup;n var checkpoint = transaction.checkpoint();n try {n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);n } catch (e) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onError();n }n }n // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpointn transaction.rollback(checkpoint);n this._instance.unstable_handleError(e);n if (this._pendingStateQueue) {n this._instance.state = this._processPendingState(this._instance.props, this._instance.context);n }n checkpoint = transaction.checkpoint();nn this._renderedComponent.unmountComponent(true);n transaction.rollback(checkpoint);nn // Try again - we've informed the component about the error, so they can render an error message this time.n // If this throws again, the error will bubble up (and can be caught by a higher error boundary).n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);n }n return markup;n },nn performInitialMount: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {n var inst = this._instance;n if (inst.componentWillMount) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillMount');n }n }n inst.componentWillMount();n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillMount');n }n }n // When mounting, calls to `setState` by `componentWillMount` will setn // `this._pendingStateQueue` without triggering a re-render.n if (this._pendingStateQueue) {n inst.state = this._processPendingState(inst.props, inst.context);n }n }nn // If not a stateless component, we now rendern if (renderedElement === undefined) {n renderedElement = this._renderValidatedComponent();n }nn var nodeType = ReactNodeTypes.getType(renderedElement);n this._renderedNodeType = nodeType;n var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */n );n this._renderedComponent = child;nn var selfDebugID = 0;n if (process.env.NODE_ENV !== 'production') {n selfDebugID = this._debugID;n }n var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), selfDebugID);nn if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onSetChildren(this._debugID, child._debugID !== 0 ? [child._debugID] : []);n }n }nn return markup;n },nn getHostNode: function () {n return ReactReconciler.getHostNode(this._renderedComponent);n },nn /**n * Releases any resources allocated by `mountComponent`.n *n * @finaln * @internaln */n unmountComponent: function (safely) {n if (!this._renderedComponent) {n return;n }n var inst = this._instance;nn if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {n inst._calledComponentWillUnmount = true;n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUnmount');n }n }n if (safely) {n var name = this.getName() + '.componentWillUnmount()';n ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));n } else {n inst.componentWillUnmount();n }n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUnmount');n }n }n }nn if (this._renderedComponent) {n ReactReconciler.unmountComponent(this._renderedComponent, safely);n this._renderedNodeType = null;n this._renderedComponent = null;n this._instance = null;n }nn // Reset pending fieldsn // Even if this component is scheduled for another update in ReactUpdates,n // it would still be ignored because these fields are reset.n this._pendingStateQueue = null;n this._pendingReplaceState = false;n this._pendingForceUpdate = false;n this._pendingCallbacks = null;n this._pendingElement = null;nn // These fields do not really need to be reset since this object is non // longer accessible.n this._context = null;n this._rootNodeID = 0;n this._topLevelWrapper = null;nn // Delete the reference from the instance to this internal representationn // which allow the internals to be properly cleaned up even if the usern // leaks a reference to the public instance.n ReactInstanceMap.remove(inst);nn // Some existing components rely on inst.props even after they've beenn // destroyed (in event handlers).n // TODO: inst.props = null;n // TODO: inst.state = null;n // TODO: inst.context = null;n },nn /**n * Filters the context object to only contain keys specified inn * `contextTypes`n *n * @param {object} contextn * @return {?object}n * @privaten */n _maskContext: function (context) {n var Component = this._currentElement.type;n var contextTypes = Component.contextTypes;n if (!contextTypes) {n return emptyObject;n }n var maskedContext = {};n for (var contextName in contextTypes) {n maskedContext = context;n }n return maskedContext;n },nn /**n * Filters the context object to only contain keys specified inn * `contextTypes`, and asserts that they are valid.n *n * @param {object} contextn * @return {?object}n * @privaten */n _processContext: function (context) {n var maskedContext = this._maskContext(context);n if (process.env.NODE_ENV !== 'production') {n var Component = this._currentElement.type;n if (Component.contextTypes) {n this._checkContextTypes(Component.contextTypes, maskedContext, ReactPropTypeLocations.context);n }n }n return maskedContext;n },nn /**n * @param {object} currentContextn * @return {object}n * @privaten */n _processChildContext: function (currentContext) {n var Component = this._currentElement.type;n var inst = this._instance;n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onBeginProcessingChildContext();n }n var childContext = inst.getChildContext && inst.getChildContext();n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onEndProcessingChildContext();n }n if (childContext) {n !(typeof Component.childContextTypes === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0;n if (process.env.NODE_ENV !== 'production') {n this._checkContextTypes(Component.childContextTypes, childContext, ReactPropTypeLocations.childContext);n }n for (var name in childContext) {n !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0;n }n return _assign({}, currentContext, childContext);n }n return currentContext;n },nn /**n * Assert that the context types are validn *n * @param {object} typeSpecs Map of context field to a ReactPropTypen * @param {object} values Runtime values that need to be type-checkedn * @param {string} location e.g. "prop", "context", "child context"n * @privaten */n _checkContextTypes: function (typeSpecs, values, location) {n checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID);n },nn receiveComponent: function (nextElement, transaction, nextContext) {n var prevElement = this._currentElement;n var prevContext = this._context;nn this._pendingElement = null;nn this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);n },nn /**n * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`n * is set, update the component.n *n * @param {ReactReconcileTransaction} transactionn * @internaln */n performUpdateIfNecessary: function (transaction) {n if (this._pendingElement != null) {n ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);n } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {n this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);n } else {n this._updateBatchNumber = null;n }n },nn /**n * Perform an update to a mounted component. The componentWillReceiveProps andn * shouldComponentUpdate methods are called, then (assuming the update isn'tn * skipped) the remaining update lifecycle methods are called and the DOMn * representation is updated.n *n * By default, this implements React's rendering and reconciliation algorithm.n * Sophisticated clients may wish to override this.n *n * @param {ReactReconcileTransaction} transactionn * @param {ReactElement} prevParentElementn * @param {ReactElement} nextParentElementn * @internaln * @overridablen */n updateComponent: function (transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {n var inst = this._instance;n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0;nn var willReceive = false;n var nextContext;nn // Determine if the context has changed or notn if (this._context === nextUnmaskedContext) {n nextContext = inst.context;n } else {n nextContext = this._processContext(nextUnmaskedContext);n willReceive = true;n }nn var prevProps = prevParentElement.props;n var nextProps = nextParentElement.props;nn // Not a simple state update but a props updaten if (prevParentElement !== nextParentElement) {n willReceive = true;n }nn // An update here will schedule an update but immediately setn // _pendingStateQueue which will ensure that any state updates getsn // immediately reconciled instead of waiting for the next batch.n if (willReceive && inst.componentWillReceiveProps) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillReceiveProps');n }n }n inst.componentWillReceiveProps(nextProps, nextContext);n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillReceiveProps');n }n }n }nn var nextState = this._processPendingState(nextProps, nextContext);n var shouldUpdate = true;nn if (!this._pendingForceUpdate) {n if (inst.shouldComponentUpdate) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'shouldComponentUpdate');n }n }n shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'shouldComponentUpdate');n }n }n } else {n if (this._compositeType === CompositeTypes.PureClass) {n shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState);n }n }n }nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;n }nn this._updateBatchNumber = null;n if (shouldUpdate) {n this._pendingForceUpdate = false;n // Will set `this.props`, `this.state` and `this.context`.n this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);n } else {n // If it's determined that a component should not update, we still wantn // to set props and state but we shortcut the rest of the update.n this._currentElement = nextParentElement;n this._context = nextUnmaskedContext;n inst.props = nextProps;n inst.state = nextState;n inst.context = nextContext;n }n },nn _processPendingState: function (props, context) {n var inst = this._instance;n var queue = this._pendingStateQueue;n var replace = this._pendingReplaceState;n this._pendingReplaceState = false;n this._pendingStateQueue = null;nn if (!queue) {n return inst.state;n }nn if (replace && queue.length === 1) {n return queue;n }nn var nextState = _assign({}, replace ? queue : inst.state);n for (var i = replace ? 1 : 0; i < queue.length; i++) {n var partial = queue;n _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);n }nn return nextState;n },nn /**n * Merges new props and state, notifies delegate methods of update andn * performs update.n *n * @param {ReactElement} nextElement Next elementn * @param {object} nextProps Next public object to set as properties.n * @param {?object} nextState Next object to set as state.n * @param {?object} nextContext Next public object to set as context.n * @param {ReactReconcileTransaction} transactionn * @param {?object} unmaskedContextn * @privaten */n _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {n var inst = this._instance;nn var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);n var prevProps;n var prevState;n var prevContext;n if (hasComponentDidUpdate) {n prevProps = inst.props;n prevState = inst.state;n prevContext = inst.context;n }nn if (inst.componentWillUpdate) {n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUpdate');n }n }n inst.componentWillUpdate(nextProps, nextState, nextContext);n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUpdate');n }n }n }nn this._currentElement = nextElement;n this._context = unmaskedContext;n inst.props = nextProps;n inst.state = nextState;n inst.context = nextContext;nn this._updateRenderedComponent(transaction, unmaskedContext);nn if (hasComponentDidUpdate) {n if (process.env.NODE_ENV !== 'production') {n transaction.getReactMountReady().enqueue(invokeComponentDidUpdateWithTimer.bind(this, prevProps, prevState, prevContext), this);n } else {n transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);n }n }n },nn /**n * Call the component's `render` method and update the DOM accordingly.n *n * @param {ReactReconcileTransaction} transactionn * @internaln */n _updateRenderedComponent: function (transaction, context) {n var prevComponentInstance = this._renderedComponent;n var prevRenderedElement = prevComponentInstance._currentElement;n var nextRenderedElement = this._renderValidatedComponent();n if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {n ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));n } else {n var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance);n ReactReconciler.unmountComponent(prevComponentInstance, false);nn var nodeType = ReactNodeTypes.getType(nextRenderedElement);n this._renderedNodeType = nodeType;n var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */n );n this._renderedComponent = child;nn var selfDebugID = 0;n if (process.env.NODE_ENV !== 'production') {n selfDebugID = this._debugID;n }n var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), selfDebugID);nn if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onSetChildren(this._debugID, child._debugID !== 0 ? [child._debugID] : []);n }n }nn this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance);n }n },nn /**n * Overridden in shallow rendering.n *n * @protectedn */n _replaceNodeWithMarkup: function (oldHostNode, nextMarkup, prevInstance) {n ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance);n },nn /**n * @protectedn */n _renderValidatedComponentWithoutOwnerOrContext: function () {n var inst = this._instance;nn if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');n }n }n var renderedComponent = inst.render();n if (process.env.NODE_ENV !== 'production') {n if (this._debugID !== 0) {n ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');n }n }nn if (process.env.NODE_ENV !== 'production') {n // We allow auto-mocks to proceed as if they're returning null.n if (renderedComponent === undefined && inst.render._isMockFunction) {n // This is probably bad practice. Consider warning here andn // deprecating this convenience.n renderedComponent = null;n }n }nn return renderedComponent;n },nn /**n * @privaten */n _renderValidatedComponent: function () {n var renderedComponent;n if (process.env.NODE_ENV !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) {n ReactCurrentOwner.current = this;n try {n renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();n } finally {n ReactCurrentOwner.current = null;n }n } else {n renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();n }n !(n // TODO: An `isValidNode` function would probably be more appropriaten renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0;nn return renderedComponent;n },nn /**n * Lazily allocates the refs object and stores `component` as `ref`.n *n * @param {string} ref Reference name.n * @param {component} component Component to store as `ref`.n * @finaln * @privaten */n attachRef: function (ref, component) {n var inst = this.getPublicInstance();n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0;n var publicComponentInstance = component.getPublicInstance();n if (process.env.NODE_ENV !== 'production') {n var componentName = component && component.getName ? component.getName() : 'a component';n process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null, 'Stateless function components cannot be given refs ' + '(See ref "%s" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0;n }n var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;n refs = publicComponentInstance;n },nn /**n * Detaches a reference name.n *n * @param {string} ref Name to dereference.n * @finaln * @privaten */n detachRef: function (ref) {n var refs = this.getPublicInstance().refs;n delete refs;n },nn /**n * Get a text description of the component that can be used to identify itn * in error messages.n * @return {string} The name or null.n * @internaln */n getName: function () {n var type = this._currentElement.type;n var constructor = this._instance && this._instance.constructor;n return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;n },nn /**n * Get the publicly accessible representation of this component - i.e. whatn * is exposed by refs and returned by render. Can be null for statelessn * components.n *n * @return {ReactComponent} the public component instance.n * @internaln */n getPublicInstance: function () {n var inst = this._instance;n if (this._compositeType === CompositeTypes.StatelessFunctional) {n return null;n }n return inst;n },nn // Stubn _instantiateReactComponent: nullnn};nnvar ReactCompositeComponent = {nn Mixin: ReactCompositeComponentMixinnn};nnmodule.exports = ReactCompositeComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactCompositeComponent.jsn ** module id = 122n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactNodeTypesn * n */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactElement = require('./ReactElement');nnvar invariant = require('fbjs/lib/invariant');nnvar ReactNodeTypes = {n HOST: 0,n COMPOSITE: 1,n EMPTY: 2,nn getType: function (node) {n if (node === null || node === false) {n return ReactNodeTypes.EMPTY;n } else if (ReactElement.isValidElement(node)) {n if (typeof node.type === 'function') {n return ReactNodeTypes.COMPOSITE;n } else {n return ReactNodeTypes.HOST;n }n }n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0;n }n};nnmodule.exports = ReactNodeTypes;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactNodeTypes.jsn ** module id = 123n ** module chunks = 0n **/”,“/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn * n */nn/*eslint-disable no-self-compare */nn'use strict';nnvar hasOwnProperty = Object.prototype.hasOwnProperty;nn/**n * inlined Object.is polyfill to avoid requiring consumers ship their ownn * developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isn */nfunction is(x, y) {n // SameValue algorithmn if (x === y) {n // Steps 1-5, 7-10n // Steps 6.b-6.e: +0 != -0n return x !== 0 || 1 / x === 1 / y;n } else {n // Step 6.a: NaN == NaNn return x !== x && y !== y;n }n}nn/**n * Performs equality by iterating through keys on an object and returning falsen * when any key has values which are not strictly equal between the arguments.n * Returns true when the values of all keys are strictly equal.n */nfunction shallowEqual(objA, objB) {n if (is(objA, objB)) {n return true;n }nn if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {n return false;n }nn var keysA = Object.keys(objA);n var keysB = Object.keys(objB);nn if (keysA.length !== keysB.length) {n return false;n }nn // Test for A's keys different from B.n for (var i = 0; i < keysA.length; i++) {n if (!hasOwnProperty.call(objB, keysA) || !is(objA[keysA], objB[keysA])) {n return false;n }n }nn return true;n}nnmodule.exports = shallowEqual;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/shallowEqual.jsn ** module id = 124n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule shouldUpdateReactComponentn */nn'use strict';nn/**n * Given a `prevElement` and `nextElement`, determines if the existingn * instance should be updated as opposed to being destroyed or replaced by a newn * instance. Both arguments are elements. This ensures that this logic cann * operate on stateless trees without any backing instance.n *n * @param {?object} prevElementn * @param {?object} nextElementn * @return {boolean} True if the existing instance should be updated.n * @protectedn */nnfunction shouldUpdateReactComponent(prevElement, nextElement) {n var prevEmpty = prevElement === null || prevElement === false;n var nextEmpty = nextElement === null || nextElement === false;n if (prevEmpty || nextEmpty) {n return prevEmpty === nextEmpty;n }nn var prevType = typeof prevElement;n var nextType = typeof nextElement;n if (prevType === 'string' || prevType === 'number') {n return nextType === 'string' || nextType === 'number';n } else {n return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;n }n}nnmodule.exports = shouldUpdateReactComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/shouldUpdateReactComponent.jsn ** module id = 125n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactEmptyComponentn */nn'use strict';nnvar emptyComponentFactory;nnvar ReactEmptyComponentInjection = {n injectEmptyComponentFactory: function (factory) {n emptyComponentFactory = factory;n }n};nnvar ReactEmptyComponent = {n create: function (instantiate) {n return emptyComponentFactory(instantiate);n }n};nnReactEmptyComponent.injection = ReactEmptyComponentInjection;nnmodule.exports = ReactEmptyComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactEmptyComponent.jsn ** module id = 126n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactHostComponentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar invariant = require('fbjs/lib/invariant');nnvar genericComponentClass = null;n// This registry keeps track of wrapper classes around host tags.nvar tagToComponentClass = {};nvar textComponentClass = null;nnvar ReactHostComponentInjection = {n // This accepts a class that receives the tag string. This is a catch alln // that can render any kind of tag.n injectGenericComponentClass: function (componentClass) {n genericComponentClass = componentClass;n },n // This accepts a text component class that takes the text string to ben // rendered as props.n injectTextComponentClass: function (componentClass) {n textComponentClass = componentClass;n },n // This accepts a keyed object with classes as values. Each key represents an // tag. That particular tag will use this class instead of the generic one.n injectComponentClasses: function (componentClasses) {n _assign(tagToComponentClass, componentClasses);n }n};nn/**n * Get a host internal component class for a specific tag.n *n * @param {ReactElement} element The element to create.n * @return {function} The internal class constructor function.n */nfunction createInternalComponent(element) {n !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0;n return new genericComponentClass(element);n}nn/**n * @param {ReactText} textn * @return {ReactComponent}n */nfunction createInstanceForText(text) {n return new textComponentClass(text);n}nn/**n * @param {ReactComponent} componentn * @return {boolean}n */nfunction isTextComponent(component) {n return component instanceof textComponentClass;n}nnvar ReactHostComponent = {n createInternalComponent: createInternalComponent,n createInstanceForText: createInstanceForText,n isTextComponent: isTextComponent,n injection: ReactHostComponentInjectionn};nnmodule.exports = ReactHostComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactHostComponent.jsn ** module id = 127n ** module chunks = 0n **/”,“/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule flattenChildrenn * n */nn'use strict';nnvar KeyEscapeUtils = require('./KeyEscapeUtils');nvar traverseAllChildren = require('./traverseAllChildren');nvar warning = require('fbjs/lib/warning');nnvar ReactComponentTreeHook;nnif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {n // Temporary hack.n // Inline requires don't work well with Jest:n // github.com/facebook/react/issues/7240n // Remove the inline requires when we don't need them anymore:n // github.com/facebook/react/pull/7178n ReactComponentTreeHook = require('./ReactComponentTreeHook');n}nn/**n * @param {function} traverseContext Context passed through traversal.n * @param {?ReactComponent} child React child component.n * @param {!string} name String name of key path to child.n * @param {number=} selfDebugID Optional debugID of the current internal instance.n */nfunction flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) {n // We found a component instance.n if (traverseContext && typeof traverseContext === 'object') {n var result = traverseContext;n var keyUnique = result === undefined;n if (process.env.NODE_ENV !== 'production') {n if (!ReactComponentTreeHook) {n ReactComponentTreeHook = require('./ReactComponentTreeHook');n }n if (!keyUnique) {n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(…): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;n }n }n if (keyUnique && child != null) {n result = child;n }n }n}nn/**n * Flattens children that are typically specified as `props.children`. Any nulln * children will not be included in the resulting object.n * @return {!object} flattened children keyed by name.n */nfunction flattenChildren(children, selfDebugID) {n if (children == null) {n return children;n }n var result = {};nn if (process.env.NODE_ENV !== 'production') {n traverseAllChildren(children, function (traverseContext, child, name) {n return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID);n }, result);n } else {n traverseAllChildren(children, flattenSingleChildIntoContext, result);n }n return result;n}nnmodule.exports = flattenChildren;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/flattenChildren.jsn ** module id = 128n ** module chunks = 0n **/”,“/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactServerRenderingTransactionn */nn'use strict';nnvar _assign = require('object-assign');nnvar PooledClass = require('./PooledClass');nvar Transaction = require('./Transaction');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactServerUpdateQueue = require('./ReactServerUpdateQueue');nn/**n * Executed within the scope of the `Transaction` instance. Consider these asn * being member methods, but with an implied ordering while being isolated fromn * each other.n */nvar TRANSACTION_WRAPPERS = [];nnif (process.env.NODE_ENV !== 'production') {n TRANSACTION_WRAPPERS.push({n initialize: ReactInstrumentation.debugTool.onBeginFlush,n close: ReactInstrumentation.debugTool.onEndFlushn });n}nnvar noopCallbackQueue = {n enqueue: function () {}n};nn/**n * @class ReactServerRenderingTransactionn * @param {boolean} renderToStaticMarkupn */nfunction ReactServerRenderingTransaction(renderToStaticMarkup) {n this.reinitializeTransaction();n this.renderToStaticMarkup = renderToStaticMarkup;n this.useCreateElement = false;n this.updateQueue = new ReactServerUpdateQueue(this);n}nnvar Mixin = {n /**n * @see Transactionn * @abstractn * @finaln * @return {array} Empty list of operation wrap procedures.n */n getTransactionWrappers: function () {n return TRANSACTION_WRAPPERS;n },nn /**n * @return {object} The queue to collect `onDOMReady` callbacks with.n */n getReactMountReady: function () {n return noopCallbackQueue;n },nn /**n * @return {object} The queue to collect React async events.n */n getUpdateQueue: function () {n return this.updateQueue;n },nn /**n * `PooledClass` looks for this, and will invoke this before allowing thisn * instance to be reused.n */n destructor: function () {},nn checkpoint: function () {},nn rollback: function () {}n};nn_assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);nnPooledClass.addPoolingTo(ReactServerRenderingTransaction);nnmodule.exports = ReactServerRenderingTransaction;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactServerRenderingTransaction.jsn ** module id = 129n ** module chunks = 0n **/”,“/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactServerUpdateQueuen * n */nn'use strict';nnfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }nnvar ReactUpdateQueue = require('./ReactUpdateQueue');nvar Transaction = require('./Transaction');nvar warning = require('fbjs/lib/warning');nnfunction warnNoop(publicInstance, callerName) {n if (process.env.NODE_ENV !== 'production') {n var constructor = publicInstance.constructor;n process.env.NODE_ENV !== 'production' ? warning(false, '%s(…): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;n }n}nn/**n * This is the update queue used for server rendering.n * It delegates to ReactUpdateQueue while server rendering is in progress andn * switches to ReactNoopUpdateQueue after the transaction has completed.n * @class ReactServerUpdateQueuen * @param {Transaction} transactionn */nnvar ReactServerUpdateQueue = function () {n /*

transaction: Transaction; */nn function ReactServerUpdateQueue(transaction) {n _classCallCheck(this, ReactServerUpdateQueue);nn this.transaction = transaction;n }nn /**n * Checks whether or not this composite component is mounted.n * @param {ReactClass} publicInstance The instance we want to test.n * @return {boolean} True if mounted, false otherwise.n * @protectedn * @finaln */nnn ReactServerUpdateQueue.prototype.isMounted = function isMounted(publicInstance) {n return false;n };nn /**n * Enqueue a callback that will be executed after all the pending updatesn * have processed.n *n * @param {ReactClass} publicInstance The instance to use as `this` context.n * @param {?function} callback Called after state is updated.n * @internaln */nnn ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) {n if (this.transaction.isInTransaction()) {n ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName);n }n };nn /**n * Forces an update. This should only be invoked when it is known withn * certainty that we are not in a DOM transaction.n *n * You may want to call this when you know that some deeper aspect of then * component's state has changed but `setState` was not called.n *n * This will not invoke `shouldComponentUpdate`, but it will invoken * `componentWillUpdate` and `componentDidUpdate`.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @internaln */nnn ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) {n if (this.transaction.isInTransaction()) {n ReactUpdateQueue.enqueueForceUpdate(publicInstance);n } else {n warnNoop(publicInstance, 'forceUpdate');n }n };nn /**n * Replaces all of the state. Always use this or `setState` to mutate state.n * You should treat `this.state` as immutable.n *n * There is no guarantee that `this.state` will be immediately updated, son * accessing `this.state` after calling this method may return the old value.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object|function} completeState Next state.n * @internaln */nnn ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) {n if (this.transaction.isInTransaction()) {n ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState);n } else {n warnNoop(publicInstance, 'replaceState');n }n };nn /**n * Sets a subset of the state. This only exists because _pendingState isn * internal. This provides a merging strategy that is not available to deepn * properties which is confusing. TODO: Expose pendingState or don't use itn * during the merge.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object|function} partialState Next partial state to be merged with state.n * @internaln */nnn ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) {n if (this.transaction.isInTransaction()) {n ReactUpdateQueue.enqueueSetState(publicInstance, partialState);n } else {n warnNoop(publicInstance, 'setState');n }n };nn return ReactServerUpdateQueue;n}();nnmodule.exports = ReactServerUpdateQueue;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactServerUpdateQueue.jsn ** module id = 130n ** module chunks = 0n **/“,”/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactUpdateQueuen */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactInstanceMap = require('./ReactInstanceMap');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactUpdates = require('./ReactUpdates');nnvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nnfunction enqueueUpdate(internalInstance) {n ReactUpdates.enqueueUpdate(internalInstance);n}nnfunction formatUnexpectedArgument(arg) {n var type = typeof arg;n if (type !== 'object') {n return type;n }n var displayName = arg.constructor && arg.constructor.name || type;n var keys = Object.keys(arg);n if (keys.length > 0 && keys.length < 20) {n return displayName + ' (keys: ' + keys.join(', ') + ')';n }n return displayName;n}nnfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {n var internalInstance = ReactInstanceMap.get(publicInstance);n if (!internalInstance) {n if (process.env.NODE_ENV !== 'production') {n var ctor = publicInstance.constructor;n // Only warn when we have a callerName. Otherwise we should be silent.n // We're probably calling from enqueueCallback. We don't want to warnn // there because we already warned for the corresponding lifecycle method.n process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(…): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0;n }n return null;n }nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(…): Cannot update during an existing state transition (such as ' + 'within `render` or another component\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;n }nn return internalInstance;n}nn/**n * ReactUpdateQueue allows for state updates to be scheduled into a latern * reconciliation step.n */nvar ReactUpdateQueue = {nn /**n * Checks whether or not this composite component is mounted.n * @param {ReactClass} publicInstance The instance we want to test.n * @return {boolean} True if mounted, false otherwise.n * @protectedn * @finaln */n isMounted: function (publicInstance) {n if (process.env.NODE_ENV !== 'production') {n var owner = ReactCurrentOwner.current;n if (owner !== null) {n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;n owner._warnedAboutRefsInRender = true;n }n }n var internalInstance = ReactInstanceMap.get(publicInstance);n if (internalInstance) {n // During componentWillMount and render this will still be null but aftern // that will always render to something. At least for now. So we can usen // this hack.n return !!internalInstance._renderedComponent;n } else {n return false;n }n },nn /**n * Enqueue a callback that will be executed after all the pending updatesn * have processed.n *n * @param {ReactClass} publicInstance The instance to use as `this` context.n * @param {?function} callback Called after state is updated.n * @param {string} callerName Name of the calling function in the public API.n * @internaln */n enqueueCallback: function (publicInstance, callback, callerName) {n ReactUpdateQueue.validateCallback(callback, callerName);n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);nn // Previously we would throw an error if we didn't have an internaln // instance. Since we want to make it a no-op instead, we mirror the samen // behavior we have in other enqueue* methods.n // We also need to ignore callbacks in componentWillMount. Seen // enqueueUpdates.n if (!internalInstance) {n return null;n }nn if (internalInstance._pendingCallbacks) {n internalInstance._pendingCallbacks.push(callback);n } else {n internalInstance._pendingCallbacks = [callback];n }n // TODO: The callback here is ignored when setState is called fromn // componentWillMount. Either fix it or disallow doing so completely inn // favor of getInitialState. Alternatively, we can disallown // componentWillMount during server-side rendering.n enqueueUpdate(internalInstance);n },nn enqueueCallbackInternal: function (internalInstance, callback) {n if (internalInstance._pendingCallbacks) {n internalInstance._pendingCallbacks.push(callback);n } else {n internalInstance._pendingCallbacks = [callback];n }n enqueueUpdate(internalInstance);n },nn /**n * Forces an update. This should only be invoked when it is known withn * certainty that we are not in a DOM transaction.n *n * You may want to call this when you know that some deeper aspect of then * component's state has changed but `setState` was not called.n *n * This will not invoke `shouldComponentUpdate`, but it will invoken * `componentWillUpdate` and `componentDidUpdate`.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @internaln */n enqueueForceUpdate: function (publicInstance) {n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');nn if (!internalInstance) {n return;n }nn internalInstance._pendingForceUpdate = true;nn enqueueUpdate(internalInstance);n },nn /**n * Replaces all of the state. Always use this or `setState` to mutate state.n * You should treat `this.state` as immutable.n *n * There is no guarantee that `this.state` will be immediately updated, son * accessing `this.state` after calling this method may return the old value.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object} completeState Next state.n * @internaln */n enqueueReplaceState: function (publicInstance, completeState) {n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');nn if (!internalInstance) {n return;n }nn internalInstance._pendingStateQueue = [completeState];n internalInstance._pendingReplaceState = true;nn enqueueUpdate(internalInstance);n },nn /**n * Sets a subset of the state. This only exists because _pendingState isn * internal. This provides a merging strategy that is not available to deepn * properties which is confusing. TODO: Expose pendingState or don't use itn * during the merge.n *n * @param {ReactClass} publicInstance The instance that should rerender.n * @param {object} partialState Next partial state to be merged with state.n * @internaln */n enqueueSetState: function (publicInstance, partialState) {n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onSetState();n process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(…): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0;n }nn var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');nn if (!internalInstance) {n return;n }nn var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);n queue.push(partialState);nn enqueueUpdate(internalInstance);n },nn enqueueElementInternal: function (internalInstance, nextElement, nextContext) {n internalInstance._pendingElement = nextElement;n // TODO: introduce _pendingContext instead of setting it directly.n internalInstance._context = nextContext;n enqueueUpdate(internalInstance);n },nn validateCallback: function (callback, callerName) {n !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(…): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;n }nn};nnmodule.exports = ReactUpdateQueue;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactUpdateQueue.jsn ** module id = 131n ** module chunks = 0n **/“,”/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule validateDOMNestingn */nn'use strict';nnvar _assign = require('object-assign');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar warning = require('fbjs/lib/warning');nnvar validateDOMNesting = emptyFunction;nnif (process.env.NODE_ENV !== 'production') {n // This validation code was written based on the HTML5 parsing spec:n // html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scopen //n // Note: this does not catch all invalid nesting, nor does it try to (as it'sn // not clear what practical benefit doing so provides); instead, we warn onlyn // for cases where the parser will give a parse tree differing from what Reactn // intended. For example, <div></div> is invalid but we don't warnn // because it still parses correctly; we do warn for other cases like nestedn // <p> tags where the beginning of the second element implicitly closes then // first, causing a confusing mess.nn // html.spec.whatwg.org/multipage/syntax.html#specialn var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];nn // html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scopen var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',nn // html.spec.whatwg.org/multipage/syntax.html#html-integration-pointn // TODO: Distinguish by namespace here – for <title>, including it heren // errs on the side of fewer warningsn 'foreignObject', 'desc', 'title'];nn // html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scopen var buttonScopeTags = inScopeTags.concat();nn // html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tagsn var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];nn var emptyAncestorInfo = {n current: null,nn formTag: null,n aTagInScope: null,n buttonTagInScope: null,n nobrTagInScope: null,n pTagInButtonScope: null,nn listItemTagAutoclosing: null,n dlItemTagAutoclosing: nulln };nn var updatedAncestorInfo = function (oldInfo, tag, instance) {n var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);n var info = { tag: tag, instance: instance };nn if (inScopeTags.indexOf(tag) !== -1) {n ancestorInfo.aTagInScope = null;n ancestorInfo.buttonTagInScope = null;n ancestorInfo.nobrTagInScope = null;n }n if (buttonScopeTags.indexOf(tag) !== -1) {n ancestorInfo.pTagInButtonScope = null;n }nn // See rules for 'li', 'dd', 'dt' start tags inn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbodyn if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {n ancestorInfo.listItemTagAutoclosing = null;n ancestorInfo.dlItemTagAutoclosing = null;n }nn ancestorInfo.current = info;nn if (tag === 'form') {n ancestorInfo.formTag = info;n }n if (tag === 'a') {n ancestorInfo.aTagInScope = info;n }n if (tag === 'button') {n ancestorInfo.buttonTagInScope = info;n }n if (tag === 'nobr') {n ancestorInfo.nobrTagInScope = info;n }n if (tag === 'p') {n ancestorInfo.pTagInButtonScope = info;n }n if (tag === 'li') {n ancestorInfo.listItemTagAutoclosing = info;n }n if (tag === 'dd' || tag === 'dt') {n ancestorInfo.dlItemTagAutoclosing = info;n }nn return ancestorInfo;n };nn /**n * Returns whethern */n var isTagValidWithParent = function (tag, parentTag) {n // First, let's check if we're in an unusual parsing mode…n switch (parentTag) {n // html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselectn case 'select':n return tag === 'option' || tag === 'optgroup' || tag === '#text';n case 'optgroup':n return tag === 'option' || tag === '#text';n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>n // butn case 'option':n return tag === '#text';nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-intdn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaptionn // No special behavior since these rules fall back to "in body" mode forn // all except special table nodes which cause bad parsing behavior anyway.nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-intrn case 'tr':n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbodyn case 'tbody':n case 'thead':n case 'tfoot':n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroupn case 'colgroup':n return tag === 'col' || tag === 'template';nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-intablen case 'table':n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';nn // html.spec.whatwg.org/multipage/syntax.html#parsing-main-inheadn case 'head':n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';nn // html.spec.whatwg.org/multipage/semantics.html#the-html-elementn case 'html':n return tag === 'head' || tag === 'body';n case '#document':n return tag === 'html';n }nn // Probably in the "in body" parsing mode, so we outlaw only tag combosn // where the parsing rules cause implicit opens or closes to be added.n // html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbodyn switch (tag) {n case 'h1':n case 'h2':n case 'h3':n case 'h4':n case 'h5':n case 'h6':n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';nn case 'rp':n case 'rt':n return impliedEndTags.indexOf(parentTag) === -1;nn case 'body':n case 'caption':n case 'col':n case 'colgroup':n case 'frame':n case 'head':n case 'html':n case 'tbody':n case 'td':n case 'tfoot':n case 'th':n case 'thead':n case 'tr':n // These tags are only valid with a few parents that have special childn // parsing rules – if we're down here, then none of those matched andn // so we allow it only if we don't know what the parent is, as all othern // cases are invalid.n return parentTag == null;n }nn return true;n };nn /**n * Returns whethern */n var findInvalidAncestorForTag = function (tag, ancestorInfo) {n switch (tag) {n case 'address':n case 'article':n case 'aside':n case 'blockquote':n case 'center':n case 'details':n case 'dialog':n case 'dir':n case 'div':n case 'dl':n case 'fieldset':n case 'figcaption':n case 'figure':n case 'footer':n case 'header':n case 'hgroup':n case 'main':n case 'menu':n case 'nav':n case 'ol':n case 'p':n case 'section':n case 'summary':n case 'ul':nn case 'pre':n case 'listing':nn case 'table':nn case 'hr':nn case 'xmp':nn case 'h1':n case 'h2':n case 'h3':n case 'h4':n case 'h5':n case 'h6':n return ancestorInfo.pTagInButtonScope;nn case 'form':n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;nn case 'li':n return ancestorInfo.listItemTagAutoclosing;nn case 'dd':n case 'dt':n return ancestorInfo.dlItemTagAutoclosing;nn case 'button':n return ancestorInfo.buttonTagInScope;nn case 'a':n // Spec says something about storing a list of markers, but it soundsn // equivalent to this check.n return ancestorInfo.aTagInScope;nn case 'nobr':n return ancestorInfo.nobrTagInScope;n }nn return null;n };nn /**n * Given a ReactCompositeComponent instance, return a list of its recursiven * owners, starting at the root and ending with the instance itself.n */n var findOwnerStack = function (instance) {n if (!instance) {n return [];n }nn var stack = [];n do {n stack.push(instance);n } while (instance = instance._currentElement._owner);n stack.reverse();n return stack;n };nn var didWarn = {};nn validateDOMNesting = function (childTag, childInstance, ancestorInfo) {n ancestorInfo = ancestorInfo || emptyAncestorInfo;n var parentInfo = ancestorInfo.current;n var parentTag = parentInfo && parentInfo.tag;nn var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);n var problematic = invalidParent || invalidAncestor;nn if (problematic) {n var ancestorTag = problematic.tag;n var ancestorInstance = problematic.instance;nn var childOwner = childInstance && childInstance._currentElement._owner;n var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;nn var childOwners = findOwnerStack(childOwner);n var ancestorOwners = findOwnerStack(ancestorOwner);nn var minStackLen = Math.min(childOwners.length, ancestorOwners.length);n var i;nn var deepestCommon = -1;n for (i = 0; i < minStackLen; i++) {n if (childOwners === ancestorOwners) {n deepestCommon = i;n } else {n break;n }n }nn var UNKNOWN = '(unknown)';n var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {n return inst.getName() || UNKNOWN;n });n var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {n return inst.getName() || UNKNOWN;n });n var ownerInfo = [].concat(n // If the parent and child instances have a common owner ancestor, startn // with that – otherwise we just start with the parent's owners.n deepestCommon !== -1 ? childOwners.getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,n // If we're warning about an invalid (non-parent) ancestry, add '…'n invalidAncestor ? ['…'] : [], childOwnerNames, childTag).join(' > ');nn var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;n if (didWarn) {n return;n }n didWarn = true;nn var tagDisplayName = childTag;n if (childTag !== '#text') {n tagDisplayName = '<' + childTag + '>';n }nn if (invalidParent) {n var info = '';n if (ancestorTag === 'table' && childTag === 'tr') {n info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';n }n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(…): %s cannot appear as a child of <%s>. ' + 'See %s.%s', tagDisplayName, ancestorTag, ownerInfo, info) : void 0;n } else {n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(…): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0;n }n }n };nn validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;nn // For testingn validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {n ancestorInfo = ancestorInfo || emptyAncestorInfo;n var parentInfo = ancestorInfo.current;n var parentTag = parentInfo && parentInfo.tag;n return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);n };n}nnmodule.exports = validateDOMNesting;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/validateDOMNesting.jsn ** module id = 132n ** module chunks = 0n **/“,”/**n * Copyright 2014-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMEmptyComponentn */nn'use strict';nnvar _assign = require('object-assign');nnvar DOMLazyTree = require('./DOMLazyTree');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nnvar ReactDOMEmptyComponent = function (instantiate) {n // ReactCompositeComponent uses this:n this._currentElement = null;n // ReactDOMComponentTree uses these:n this._hostNode = null;n this._hostParent = null;n this._hostContainerInfo = null;n this._domID = 0;n};n_assign(ReactDOMEmptyComponent.prototype, {n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {n var domID = hostContainerInfo._idCounter++;n this._domID = domID;n this._hostParent = hostParent;n this._hostContainerInfo = hostContainerInfo;nn var nodeValue = ' react-empty: ' + this._domID + ' ';n if (transaction.useCreateElement) {n var ownerDocument = hostContainerInfo._ownerDocument;n var node = ownerDocument.createComment(nodeValue);n ReactDOMComponentTree.precacheNode(this, node);n return DOMLazyTree(node);n } else {n if (transaction.renderToStaticMarkup) {n // Normally we'd insert a comment node, but since this is a situationn // where React won't take over (static pages), we can simply returnn // nothing.n return '';n }n return '<!–' + nodeValue + '–>';n }n },n receiveComponent: function () {},n getHostNode: function () {n return ReactDOMComponentTree.getNodeFromInstance(this);n },n unmountComponent: function () {n ReactDOMComponentTree.uncacheNode(this);n }n});nnmodule.exports = ReactDOMEmptyComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMEmptyComponent.jsn ** module id = 133n ** module chunks = 0n **/“,”/**n * Copyright 2015-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMTreeTraversaln */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar invariant = require('fbjs/lib/invariant');nn/**n * Return the lowest common ancestor of A and B, or null if they are inn * different trees.n */nfunction getLowestCommonAncestor(instA, instB) {n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;nn var depthA = 0;n for (var tempA = instA; tempA; tempA = tempA._hostParent) {n depthA++;n }n var depthB = 0;n for (var tempB = instB; tempB; tempB = tempB._hostParent) {n depthB++;n }nn // If A is deeper, crawl up.n while (depthA - depthB > 0) {n instA = instA._hostParent;n depthA–;n }nn // If B is deeper, crawl up.n while (depthB - depthA > 0) {n instB = instB._hostParent;n depthB–;n }nn // Walk in lockstep until we find a match.n var depth = depthA;n while (depth–) {n if (instA === instB) {n return instA;n }n instA = instA._hostParent;n instB = instB._hostParent;n }n return null;n}nn/**n * Return if A is an ancestor of B.n */nfunction isAncestor(instA, instB) {n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;nn while (instB) {n if (instB === instA) {n return true;n }n instB = instB._hostParent;n }n return false;n}nn/**n * Return the parent instance of the passed-in instance.n */nfunction getParentInstance(inst) {n !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;nn return inst._hostParent;n}nn/**n * Simulates the traversal of a two-phase, capture/bubble event dispatch.n */nfunction traverseTwoPhase(inst, fn, arg) {n var path = [];n while (inst) {n path.push(inst);n inst = inst._hostParent;n }n var i;n for (i = path.length; i– > 0;) {n fn(path, false, arg);n }n for (i = 0; i < path.length; i++) {n fn(path, true, arg);n }n}nn/**n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs thatn * should would receive a `mouseEnter` or `mouseLeave` event.n *n * Does not invoke the callback on the nearest common ancestor because nothingn * "entered" or "left" that element.n */nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {n var common = from && to ? getLowestCommonAncestor(from, to) : null;n var pathFrom = [];n while (from && from !== common) {n pathFrom.push(from);n from = from._hostParent;n }n var pathTo = [];n while (to && to !== common) {n pathTo.push(to);n to = to._hostParent;n }n var i;n for (i = 0; i < pathFrom.length; i++) {n fn(pathFrom, true, argFrom);n }n for (i = pathTo.length; i– > 0;) {n fn(pathTo, false, argTo);n }n}nnmodule.exports = {n isAncestor: isAncestor,n getLowestCommonAncestor: getLowestCommonAncestor,n getParentInstance: getParentInstance,n traverseTwoPhase: traverseTwoPhase,n traverseEnterLeave: traverseEnterLeaven};nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMTreeTraversal.jsn ** module id = 134n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMTextComponentn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant'),n _assign = require('object-assign');nnvar DOMChildrenOperations = require('./DOMChildrenOperations');nvar DOMLazyTree = require('./DOMLazyTree');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nnvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');nvar invariant = require('fbjs/lib/invariant');nvar validateDOMNesting = require('./validateDOMNesting');nn/**n * Text nodes violate a couple assumptions that React makes about components:n *n * - When mounting text into the DOM, adjacent text nodes are merged.n * - Text nodes cannot be assigned a React root ID.n *n * This component is used to wrap strings between comment nodes so that theyn * can undergo the same reconciliation that is applied to elements.n *n * TODO: Investigate representing React components in the DOM with text nodes.n *n * @class ReactDOMTextComponentn * @extends ReactComponentn * @internaln */nvar ReactDOMTextComponent = function (text) {n // TODO: This is really a ReactText (ReactNode), not a ReactElementn this._currentElement = text;n this._stringText = '' + text;n // ReactDOMComponentTree uses these:n this._hostNode = null;n this._hostParent = null;nn // Propertiesn this._domID = 0;n this._mountIndex = 0;n this._closingComment = null;n this._commentNodes = null;n};nn_assign(ReactDOMTextComponent.prototype, {nn /**n * Creates the markup for this text node. This node is not intended to haven * any features besides containing text content.n *n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transactionn * @return {string} Markup for this text node.n * @internaln */n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {n if (process.env.NODE_ENV !== 'production') {n var parentInfo;n if (hostParent != null) {n parentInfo = hostParent._ancestorInfo;n } else if (hostContainerInfo != null) {n parentInfo = hostContainerInfo._ancestorInfo;n }n if (parentInfo) {n // parentInfo should always be present except for the top-leveln // component when server renderingn validateDOMNesting('#text', this, parentInfo);n }n }nn var domID = hostContainerInfo._idCounter++;n var openingValue = ' react-text: ' + domID + ' ';n var closingValue = ' /react-text ';n this._domID = domID;n this._hostParent = hostParent;n if (transaction.useCreateElement) {n var ownerDocument = hostContainerInfo._ownerDocument;n var openingComment = ownerDocument.createComment(openingValue);n var closingComment = ownerDocument.createComment(closingValue);n var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment());n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment));n if (this._stringText) {n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText)));n }n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment));n ReactDOMComponentTree.precacheNode(this, openingComment);n this._closingComment = closingComment;n return lazyTree;n } else {n var escapedText = escapeTextContentForBrowser(this._stringText);nn if (transaction.renderToStaticMarkup) {n // Normally we'd wrap this between comment nodes for the reasons statedn // above, but since this is a situation where React won't take overn // (static pages), we can simply return the text as it is.n return escapedText;n }nn return '<!–' + openingValue + '–>' + escapedText + '<!–' + closingValue + '–>';n }n },nn /**n * Updates this component by updating the text content.n *n * @param {ReactText} nextText The next text contentn * @param {ReactReconcileTransaction} transactionn * @internaln */n receiveComponent: function (nextText, transaction) {n if (nextText !== this._currentElement) {n this._currentElement = nextText;n var nextStringText = '' + nextText;n if (nextStringText !== this._stringText) {n // TODO: Save this as pending props and use performUpdateIfNecessaryn // and/or updateComponent to do the actual update for consistency withn // other component types?n this._stringText = nextStringText;n var commentNodes = this.getHostNode();n DOMChildrenOperations.replaceDelimitedText(commentNodes, commentNodes, nextStringText);n }n }n },nn getHostNode: function () {n var hostNode = this._commentNodes;n if (hostNode) {n return hostNode;n }n if (!this._closingComment) {n var openingComment = ReactDOMComponentTree.getNodeFromInstance(this);n var node = openingComment.nextSibling;n while (true) {n !(node != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0;n if (node.nodeType === 8 && node.nodeValue === ' /react-text ') {n this._closingComment = node;n break;n }n node = node.nextSibling;n }n }n hostNode = [this._hostNode, this._closingComment];n this._commentNodes = hostNode;n return hostNode;n },nn unmountComponent: function () {n this._closingComment = null;n this._commentNodes = null;n ReactDOMComponentTree.uncacheNode(this);n }nn});nnmodule.exports = ReactDOMTextComponent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMTextComponent.jsn ** module id = 135n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDefaultBatchingStrategyn */nn'use strict';nnvar _assign = require('object-assign');nnvar ReactUpdates = require('./ReactUpdates');nvar Transaction = require('./Transaction');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nnvar RESET_BATCHED_UPDATES = {n initialize: emptyFunction,n close: function () {n ReactDefaultBatchingStrategy.isBatchingUpdates = false;n }n};nnvar FLUSH_BATCHED_UPDATES = {n initialize: emptyFunction,n close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)n};nnvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];nnfunction ReactDefaultBatchingStrategyTransaction() {n this.reinitializeTransaction();n}nn_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction.Mixin, {n getTransactionWrappers: function () {n return TRANSACTION_WRAPPERS;n }n});nnvar transaction = new ReactDefaultBatchingStrategyTransaction();nnvar ReactDefaultBatchingStrategy = {n isBatchingUpdates: false,nn /**n * Call the provided function in a context within which calls to `setState`n * and friends are batched such that components aren't updated unnecessarily.n */n batchedUpdates: function (callback, a, b, c, d, e) {n var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;nn ReactDefaultBatchingStrategy.isBatchingUpdates = true;nn // The code is written this way to avoid extra allocationsn if (alreadyBatchingUpdates) {n callback(a, b, c, d, e);n } else {n transaction.perform(callback, null, a, b, c, d, e);n }n }n};nnmodule.exports = ReactDefaultBatchingStrategy;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDefaultBatchingStrategy.jsn ** module id = 136n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactEventListenern */nn'use strict';nnvar _assign = require('object-assign');nnvar EventListener = require('fbjs/lib/EventListener');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar PooledClass = require('./PooledClass');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactUpdates = require('./ReactUpdates');nnvar getEventTarget = require('./getEventTarget');nvar getUnboundedScrollPosition = require('fbjs/lib/getUnboundedScrollPosition');nn/**n * Find the deepest React component completely containing the root of then * passed-in instance (for use when entire React trees are nested within eachn * other). If React trees are not nested, returns null.n */nfunction findParent(inst) {n // TODO: It may be a good idea to cache this to prevent unnecessary DOMn // traversal, but caching is difficult to do correctly without using an // mutation observer to listen for all DOM changes.n while (inst._hostParent) {n inst = inst._hostParent;n }n var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst);n var container = rootNode.parentNode;n return ReactDOMComponentTree.getClosestInstanceFromNode(container);n}nn// Used to store ancestor hierarchy in top level callbacknfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {n this.topLevelType = topLevelType;n this.nativeEvent = nativeEvent;n this.ancestors = [];n}n_assign(TopLevelCallbackBookKeeping.prototype, {n destructor: function () {n this.topLevelType = null;n this.nativeEvent = null;n this.ancestors.length = 0;n }n});nPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);nnfunction handleTopLevelImpl(bookKeeping) {n var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent);n var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget);nn // Loop through the hierarchy, in case there's any nested components.n // It's important that we build the array of ancestors before calling anyn // event handlers, because event handlers can modify the DOM, leading ton // inconsistencies with ReactMount's node cache. See #1105.n var ancestor = targetInst;n do {n bookKeeping.ancestors.push(ancestor);n ancestor = ancestor && findParent(ancestor);n } while (ancestor);nn for (var i = 0; i < bookKeeping.ancestors.length; i++) {n targetInst = bookKeeping.ancestors;n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));n }n}nnfunction scrollValueMonitor(cb) {n var scrollPosition = getUnboundedScrollPosition(window);n cb(scrollPosition);n}nnvar ReactEventListener = {n _enabled: true,n _handleTopLevel: null,nn WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,nn setHandleTopLevel: function (handleTopLevel) {n ReactEventListener._handleTopLevel = handleTopLevel;n },nn setEnabled: function (enabled) {n ReactEventListener._enabled = !!enabled;n },nn isEnabled: function () {n return ReactEventListener._enabled;n },nn /**n * Traps top-level events by using event bubbling.n *n * @param {string} topLevelType Record from `EventConstants`.n * @param {string} handlerBaseName Event name (e.g. "click").n * @param {object} handle Element on which to attach listener.n * @return {?object} An object with a remove function which will forcefullyn * remove the listener.n * @internaln */n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {n var element = handle;n if (!element) {n return null;n }n return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));n },nn /**n * Traps a top-level event by using event capturing.n *n * @param {string} topLevelType Record from `EventConstants`.n * @param {string} handlerBaseName Event name (e.g. "click").n * @param {object} handle Element on which to attach listener.n * @return {?object} An object with a remove function which will forcefullyn * remove the listener.n * @internaln */n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {n var element = handle;n if (!element) {n return null;n }n return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));n },nn monitorScrollValue: function (refresh) {n var callback = scrollValueMonitor.bind(null, refresh);n EventListener.listen(window, 'scroll', callback);n },nn dispatchEvent: function (topLevelType, nativeEvent) {n if (!ReactEventListener._enabled) {n return;n }nn var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);n try {n // Event queue being processed in the same cycle allowsn // `preventDefault`.n ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);n } finally {n TopLevelCallbackBookKeeping.release(bookKeeping);n }n }n};nnmodule.exports = ReactEventListener;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactEventListener.jsn ** module id = 137n ** module chunks = 0n **/“,”'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n *n * Licensed under the Apache License, Version 2.0 (the "License");n * you may not use this file except in compliance with the License.n * You may obtain a copy of the License atn *n * www.apache.org/licenses/LICENSE-2.0n *n * Unless required by applicable law or agreed to in writing, softwaren * distributed under the License is distributed on an "AS IS" BASIS,n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.n * See the License for the specific language governing permissions andn * limitations under the License.n *n * @typechecksn */nnvar emptyFunction = require('./emptyFunction');nn/**n * Upstream version of event listener. Does not take into account specificn * nature of platform.n */nvar EventListener = {n /**n * Listen to DOM events during the bubble phase.n *n * @param {DOMEventTarget} target DOM element to register listener on.n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.n * @param {function} callback Callback function.n * @return {object} Object with a `remove` method.n */n listen: function listen(target, eventType, callback) {n if (target.addEventListener) {n target.addEventListener(eventType, callback, false);n return {n remove: function remove() {n target.removeEventListener(eventType, callback, false);n }n };n } else if (target.attachEvent) {n target.attachEvent('on' + eventType, callback);n return {n remove: function remove() {n target.detachEvent('on' + eventType, callback);n }n };n }n },nn /**n * Listen to DOM events during the capture phase.n *n * @param {DOMEventTarget} target DOM element to register listener on.n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.n * @param {function} callback Callback function.n * @return {object} Object with a `remove` method.n */n capture: function capture(target, eventType, callback) {n if (target.addEventListener) {n target.addEventListener(eventType, callback, true);n return {n remove: function remove() {n target.removeEventListener(eventType, callback, true);n }n };n } else {n if (process.env.NODE_ENV !== 'production') {n 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.');n }n return {n remove: emptyFunctionn };n }n },nn registerDefault: function registerDefault() {}n};nnmodule.exports = EventListener;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/EventListener.jsn ** module id = 138n ** module chunks = 0n **/“,”/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn'use strict';nn/**n * Gets the scroll position of the supplied element or window.n *n * The return values are unbounded, unlike `getScrollPosition`. This means theyn * may be negative or exceed the element boundaries (which is possible usingn * inertial scrolling).n *n * @param {DOMWindow|DOMElement} scrollablen * @return {object} Map with `x` and `y` keys.n */nnfunction getUnboundedScrollPosition(scrollable) {n if (scrollable === window) {n return {n x: window.pageXOffset || document.documentElement.scrollLeft,n y: window.pageYOffset || document.documentElement.scrollTopn };n }n return {n x: scrollable.scrollLeft,n y: scrollable.scrollTopn };n}nnmodule.exports = getUnboundedScrollPosition;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/getUnboundedScrollPosition.jsn ** module id = 139n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactInjectionn */nn'use strict';nnvar DOMProperty = require('./DOMProperty');nvar EventPluginHub = require('./EventPluginHub');nvar EventPluginUtils = require('./EventPluginUtils');nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');nvar ReactClass = require('./ReactClass');nvar ReactEmptyComponent = require('./ReactEmptyComponent');nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');nvar ReactHostComponent = require('./ReactHostComponent');nvar ReactUpdates = require('./ReactUpdates');nnvar ReactInjection = {n Component: ReactComponentEnvironment.injection,n Class: ReactClass.injection,n DOMProperty: DOMProperty.injection,n EmptyComponent: ReactEmptyComponent.injection,n EventPluginHub: EventPluginHub.injection,n EventPluginUtils: EventPluginUtils.injection,n EventEmitter: ReactBrowserEventEmitter.injection,n HostComponent: ReactHostComponent.injection,n Updates: ReactUpdates.injectionn};nnmodule.exports = ReactInjection;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactInjection.jsn ** module id = 140n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactReconcileTransactionn */nn'use strict';nnvar _assign = require('object-assign');nnvar CallbackQueue = require('./CallbackQueue');nvar PooledClass = require('./PooledClass');nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');nvar ReactInputSelection = require('./ReactInputSelection');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar Transaction = require('./Transaction');nvar ReactUpdateQueue = require('./ReactUpdateQueue');nn/**n * Ensures that, when possible, the selection range (currently selected textn * input) is not disturbed by performing the transaction.n */nvar SELECTION_RESTORATION = {n /**n * @return {Selection} Selection information.n */n initialize: ReactInputSelection.getSelectionInformation,n /**n * @param {Selection} sel Selection information returned from `initialize`.n */n close: ReactInputSelection.restoreSelectionn};nn/**n * Suppresses events (blur/focus) that could be inadvertently dispatched due ton * high level DOM manipulations (like temporarily removing a text input from then * DOM).n */nvar EVENT_SUPPRESSION = {n /**n * @return {boolean} The enabled status of `ReactBrowserEventEmitter` beforen * the reconciliation.n */n initialize: function () {n var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();n ReactBrowserEventEmitter.setEnabled(false);n return currentlyEnabled;n },nn /**n * @param {boolean} previouslyEnabled Enabled status ofn * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`n * restores the previous value.n */n close: function (previouslyEnabled) {n ReactBrowserEventEmitter.setEnabled(previouslyEnabled);n }n};nn/**n * Provides a queue for collecting `componentDidMount` andn * `componentDidUpdate` callbacks during the transaction.n */nvar ON_DOM_READY_QUEUEING = {n /**n * Initializes the internal `onDOMReady` queue.n */n initialize: function () {n this.reactMountReady.reset();n },nn /**n * After DOM is flushed, invoke all registered `onDOMReady` callbacks.n */n close: function () {n this.reactMountReady.notifyAll();n }n};nn/**n * Executed within the scope of the `Transaction` instance. Consider these asn * being member methods, but with an implied ordering while being isolated fromn * each other.n */nvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];nnif (process.env.NODE_ENV !== 'production') {n TRANSACTION_WRAPPERS.push({n initialize: ReactInstrumentation.debugTool.onBeginFlush,n close: ReactInstrumentation.debugTool.onEndFlushn });n}nn/**n * Currently:n * - The order that these are listed in the transaction is critical:n * - Suppresses events.n * - Restores selection range.n *n * Future:n * - Restore document/overflow scroll positions that were unintentionallyn * modified via DOM insertions above the top viewport boundary.n * - Implement/integrate with customized constraint based layout system and keepn * track of which dimensions must be remeasured.n *n * @class ReactReconcileTransactionn */nfunction ReactReconcileTransaction(useCreateElement) {n this.reinitializeTransaction();n // Only server-side rendering really needs this option (seen // `ReactServerRendering`), but server-side usesn // `ReactServerRenderingTransaction` instead. This option is here so that it'sn // accessible and defaults to false when `ReactDOMComponent` andn // `ReactDOMTextComponent` checks it in `mountComponent`.`n this.renderToStaticMarkup = false;n this.reactMountReady = CallbackQueue.getPooled(null);n this.useCreateElement = useCreateElement;n}nnvar Mixin = {n /**n * @see Transactionn * @abstractn * @finaln * @return {array<object>} List of operation wrap procedures.n * TODO: convert to array<TransactionWrapper>n */n getTransactionWrappers: function () {n return TRANSACTION_WRAPPERS;n },nn /**n * @return {object} The queue to collect `onDOMReady` callbacks with.n */n getReactMountReady: function () {n return this.reactMountReady;n },nn /**n * @return {object} The queue to collect React async events.n */n getUpdateQueue: function () {n return ReactUpdateQueue;n },nn /**n * Save current transaction state – if the return value from this method isn * passed to `rollback`, the transaction will be reset to that state.n */n checkpoint: function () {n // reactMountReady is the our only stateful wrappern return this.reactMountReady.checkpoint();n },nn rollback: function (checkpoint) {n this.reactMountReady.rollback(checkpoint);n },nn /**n * `PooledClass` looks for this, and will invoke this before allowing thisn * instance to be reused.n */n destructor: function () {n CallbackQueue.release(this.reactMountReady);n this.reactMountReady = null;n }n};nn_assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);nnPooledClass.addPoolingTo(ReactReconcileTransaction);nnmodule.exports = ReactReconcileTransaction;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactReconcileTransaction.jsn ** module id = 141n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactInputSelectionn */nn'use strict';nnvar ReactDOMSelection = require('./ReactDOMSelection');nnvar containsNode = require('fbjs/lib/containsNode');nvar focusNode = require('fbjs/lib/focusNode');nvar getActiveElement = require('fbjs/lib/getActiveElement');nnfunction isInDocument(node) {n return containsNode(document.documentElement, node);n}nn/**n * @ReactInputSelection: React input selection module. Based on Selection.js,n * but modified to be suitable for react and has a couple of bug fixes (doesn'tn * assume buttons have range selections allowed).n * Input selection module for React.n */nvar ReactInputSelection = {nn hasSelectionCapabilities: function (elem) {n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();n return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');n },nn getSelectionInformation: function () {n var focusedElem = getActiveElement();n return {n focusedElem: focusedElem,n selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : nulln };n },nn /**n * @restoreSelection: If any selection information was potentially lost,n * restore it. This is useful when performing operations that could remove domn * nodes and place them back in, resulting in focus being lost.n */n restoreSelection: function (priorSelectionInformation) {n var curFocusedElem = getActiveElement();n var priorFocusedElem = priorSelectionInformation.focusedElem;n var priorSelectionRange = priorSelectionInformation.selectionRange;n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {n if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {n ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);n }n focusNode(priorFocusedElem);n }n },nn /**n * @getSelection: Gets the selection bounds of a focused textarea, input orn * contentEditable node.n * -@input: Look up selection bounds of this inputn * -@return {start: selectionStart, end: selectionEnd}n */n getSelection: function (input) {n var selection;nn if ('selectionStart' in input) {n // Modern browser with input or textarea.n selection = {n start: input.selectionStart,n end: input.selectionEndn };n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {n // IE8 input.n var range = document.selection.createRange();n // There can only be one selection per document in IE, so it mustn // be in our element.n if (range.parentElement() === input) {n selection = {n start: -range.moveStart('character', -input.value.length),n end: -range.moveEnd('character', -input.value.length)n };n }n } else {n // Content editable or old IE textarea.n selection = ReactDOMSelection.getOffsets(input);n }nn return selection || { start: 0, end: 0 };n },nn /**n * @setSelection: Sets the selection bounds of a textarea or input and focusesn * the input.n * -@input Set selection bounds of this input or textarean * -@offsets Object of same form that is returned from get*n */n setSelection: function (input, offsets) {n var start = offsets.start;n var end = offsets.end;n if (end === undefined) {n end = start;n }nn if ('selectionStart' in input) {n input.selectionStart = start;n input.selectionEnd = Math.min(end, input.value.length);n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {n var range = input.createTextRange();n range.collapse(true);n range.moveStart('character', start);n range.moveEnd('character', end - start);n range.select();n } else {n ReactDOMSelection.setOffsets(input, offsets);n }n }n};nnmodule.exports = ReactInputSelection;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactInputSelection.jsn ** module id = 142n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMSelectionn */nn'use strict';nnvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nnvar getNodeForCharacterOffset = require('./getNodeForCharacterOffset');nvar getTextContentAccessor = require('./getTextContentAccessor');nn/**n * While `isCollapsed` is available on the Selection object and `collapsed`n * is available on the Range object, IE11 sometimes gets them wrong.n * If the anchor/focus nodes and offsets are the same, the range is collapsed.n */nfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {n return anchorNode === focusNode && anchorOffset === focusOffset;n}nn/**n * Get the appropriate anchor and focus node/offset pairs for IE.n *n * The catch here is that IE's selection API doesn't provide informationn * about whether the selection is forward or backward, so we have ton * behave as though it's always forward.n *n * IE text differs from modern selection in that it behaves as thoughn * block elements end with a new line. This means character offsets willn * differ between the two APIs.n *n * @param {DOMElement} noden * @return {object}n */nfunction getIEOffsets(node) {n var selection = document.selection;n var selectedRange = selection.createRange();n var selectedLength = selectedRange.text.length;nn // Duplicate selection so we can move range without breaking user selection.n var fromStart = selectedRange.duplicate();n fromStart.moveToElementText(node);n fromStart.setEndPoint('EndToStart', selectedRange);nn var startOffset = fromStart.text.length;n var endOffset = startOffset + selectedLength;nn return {n start: startOffset,n end: endOffsetn };n}nn/**n * @param {DOMElement} noden * @return {?object}n */nfunction getModernOffsets(node) {n var selection = window.getSelection && window.getSelection();nn if (!selection || selection.rangeCount === 0) {n return null;n }nn var anchorNode = selection.anchorNode;n var anchorOffset = selection.anchorOffset;n var focusNode = selection.focusNode;n var focusOffset = selection.focusOffset;nn var currentRange = selection.getRangeAt(0);nn // In Firefox, range.startContainer and range.endContainer can be "anonymousn // divs", e.g. the up/down buttons on an <input type="number">. Anonymousn // divs do not seem to expose properties, triggering a "Permission deniedn // error" if any of its properties are accessed. The only seemingly possiblen // way to avoid erroring is to access a property that typically works forn // non-anonymous divs and catch any error that may otherwise arise. Seen // bugzilla.mozilla.org/show_bug.cgi?id=208427n try {n /* eslint-disable no-unused-expressions */n currentRange.startContainer.nodeType;n currentRange.endContainer.nodeType;n /* eslint-enable no-unused-expressions */n } catch (e) {n return null;n }nn // If the node and offset values are the same, the selection is collapsed.n // `Selection.isCollapsed` is available natively, but IE sometimes getsn // this value wrong.n var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);nn var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;nn var tempRange = currentRange.cloneRange();n tempRange.selectNodeContents(node);n tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);nn var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);nn var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;n var end = start + rangeLength;nn // Detect whether the selection is backward.n var detectionRange = document.createRange();n detectionRange.setStart(anchorNode, anchorOffset);n detectionRange.setEnd(focusNode, focusOffset);n var isBackward = detectionRange.collapsed;nn return {n start: isBackward ? end : start,n end: isBackward ? start : endn };n}nn/**n * @param {DOMElement|DOMTextNode} noden * @param {object} offsetsn */nfunction setIEOffsets(node, offsets) {n var range = document.selection.createRange().duplicate();n var start, end;nn if (offsets.end === undefined) {n start = offsets.start;n end = start;n } else if (offsets.start > offsets.end) {n start = offsets.end;n end = offsets.start;n } else {n start = offsets.start;n end = offsets.end;n }nn range.moveToElementText(node);n range.moveStart('character', start);n range.setEndPoint('EndToStart', range);n range.moveEnd('character', end - start);n range.select();n}nn/**n * In modern non-IE browsers, we can support both forward and backwardn * selections.n *n * Note: IE10+ supports the Selection object, but it does not supportn * the `extend` method, which means that even in modern IE, it's not possiblen * to programmatically create a backward selection. Thus, for all IEn * versions, we use the old IE API to create our selections.n *n * @param {DOMElement|DOMTextNode} noden * @param {object} offsetsn */nfunction setModernOffsets(node, offsets) {n if (!window.getSelection) {n return;n }nn var selection = window.getSelection();n var length = node.length;n var start = Math.min(offsets.start, length);n var end = offsets.end === undefined ? start : Math.min(offsets.end, length);nn // IE 11 uses modern selection, but doesn't support the extend method.n // Flip backward selections, so we can set with a single range.n if (!selection.extend && start > end) {n var temp = end;n end = start;n start = temp;n }nn var startMarker = getNodeForCharacterOffset(node, start);n var endMarker = getNodeForCharacterOffset(node, end);nn if (startMarker && endMarker) {n var range = document.createRange();n range.setStart(startMarker.node, startMarker.offset);n selection.removeAllRanges();nn if (start > end) {n selection.addRange(range);n selection.extend(endMarker.node, endMarker.offset);n } else {n range.setEnd(endMarker.node, endMarker.offset);n selection.addRange(range);n }n }n}nnvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);nnvar ReactDOMSelection = {n /**n * @param {DOMElement} noden */n getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,nn /**n * @param {DOMElement|DOMTextNode} noden * @param {object} offsetsn */n setOffsets: useIEOffsets ? setIEOffsets : setModernOffsetsn};nnmodule.exports = ReactDOMSelection;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMSelection.jsn ** module id = 143n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getNodeForCharacterOffsetn */nn'use strict';nn/**n * Given any node return the first leaf node without children.n *n * @param {DOMElement|DOMTextNode} noden * @return {DOMElement|DOMTextNode}n */nnfunction getLeafNode(node) {n while (node && node.firstChild) {n node = node.firstChild;n }n return node;n}nn/**n * Get the next sibling within a container. This will walk up then * DOM if a node's siblings have been exhausted.n *n * @param {DOMElement|DOMTextNode} noden * @return {?DOMElement|DOMTextNode}n */nfunction getSiblingNode(node) {n while (node) {n if (node.nextSibling) {n return node.nextSibling;n }n node = node.parentNode;n }n}nn/**n * Get object describing the nodes which contain characters at offset.n *n * @param {DOMElement|DOMTextNode} rootn * @param {number} offsetn * @return {?object}n */nfunction getNodeForCharacterOffset(root, offset) {n var node = getLeafNode(root);n var nodeStart = 0;n var nodeEnd = 0;nn while (node) {n if (node.nodeType === 3) {n nodeEnd = nodeStart + node.textContent.length;nn if (nodeStart <= offset && nodeEnd >= offset) {n return {n node: node,n offset: offset - nodeStartn };n }nn nodeStart = nodeEnd;n }nn node = getLeafNode(getSiblingNode(node));n }n}nnmodule.exports = getNodeForCharacterOffset;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getNodeForCharacterOffset.jsn ** module id = 144n ** module chunks = 0n **/“,”'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * n */nnvar isTextNode = require('./isTextNode');nn/*eslint-disable no-bitwise */nn/**n * Checks if a given DOM node contains or is another DOM node.n */nfunction containsNode(outerNode, innerNode) {n if (!outerNode || !innerNode) {n return false;n } else if (outerNode === innerNode) {n return true;n } else if (isTextNode(outerNode)) {n return false;n } else if (isTextNode(innerNode)) {n return containsNode(outerNode, innerNode.parentNode);n } else if ('contains' in outerNode) {n return outerNode.contains(innerNode);n } else if (outerNode.compareDocumentPosition) {n return !!(outerNode.compareDocumentPosition(innerNode) & 16);n } else {n return false;n }n}nnmodule.exports = containsNode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/containsNode.jsn ** module id = 145n ** module chunks = 0n **/“,”'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nnvar isNode = require('./isNode');nn/**n * @param {*} object The object to check.n * @return {boolean} Whether or not the object is a DOM text node.n */nfunction isTextNode(object) {n return isNode(object) && object.nodeType == 3;n}nnmodule.exports = isTextNode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/isTextNode.jsn ** module id = 146n ** module chunks = 0n **/“,”'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn/**n * @param {*} object The object to check.n * @return {boolean} Whether or not the object is a DOM node.n */nfunction isNode(object) {n return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));n}nnmodule.exports = isNode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/isNode.jsn ** module id = 147n ** module chunks = 0n **/“,”'use strict';nn/**n * Copyright © 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @typechecksn */nn/* eslint-disable fb-www/typeof-undefined */nn/**n * Same as document.activeElement but wraps in a try-catch block. In IE it isn * not safe to call document.activeElement if there is nothing focused.n *n * The activeElement will be null only if the document or document body is notn * yet defined.n */nfunction getActiveElement() /*?DOMElement*/{n if (typeof document === 'undefined') {n return null;n }n try {n return document.activeElement || document.body;n } catch (e) {n return document.body;n }n}nnmodule.exports = getActiveElement;nnn/*****************n ** WEBPACK FOOTERn ** ./~/fbjs/lib/getActiveElement.jsn ** module id = 148n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SVGDOMPropertyConfign */nn'use strict';nnvar NS = {n xlink: 'www.w3.org/1999/xlink’,n xml: 'www.w3.org/XML/1998/namespace’n};nn// We use attributes for everything SVG so let's avoid some duplication and runn// code instead.n// The following are all specified in the HTML config already so we exclude here.n// - class (as className)n// - colorn// - heightn// - idn// - langn// - maxn// - median// - methodn// - minn// - namen// - stylen// - targetn// - typen// - widthnvar ATTRS = {n accentHeight: 'accent-height',n accumulate: 0,n additive: 0,n alignmentBaseline: 'alignment-baseline',n allowReorder: 'allowReorder',n alphabetic: 0,n amplitude: 0,n arabicForm: 'arabic-form',n ascent: 0,n attributeName: 'attributeName',n attributeType: 'attributeType',n autoReverse: 'autoReverse',n azimuth: 0,n baseFrequency: 'baseFrequency',n baseProfile: 'baseProfile',n baselineShift: 'baseline-shift',n bbox: 0,n begin: 0,n bias: 0,n by: 0,n calcMode: 'calcMode',n capHeight: 'cap-height',n clip: 0,n clipPath: 'clip-path',n clipRule: 'clip-rule',n clipPathUnits: 'clipPathUnits',n colorInterpolation: 'color-interpolation',n colorInterpolationFilters: 'color-interpolation-filters',n colorProfile: 'color-profile',n colorRendering: 'color-rendering',n contentScriptType: 'contentScriptType',n contentStyleType: 'contentStyleType',n cursor: 0,n cx: 0,n cy: 0,n d: 0,n decelerate: 0,n descent: 0,n diffuseConstant: 'diffuseConstant',n direction: 0,n display: 0,n divisor: 0,n dominantBaseline: 'dominant-baseline',n dur: 0,n dx: 0,n dy: 0,n edgeMode: 'edgeMode',n elevation: 0,n enableBackground: 'enable-background',n end: 0,n exponent: 0,n externalResourcesRequired: 'externalResourcesRequired',n fill: 0,n fillOpacity: 'fill-opacity',n fillRule: 'fill-rule',n filter: 0,n filterRes: 'filterRes',n filterUnits: 'filterUnits',n floodColor: 'flood-color',n floodOpacity: 'flood-opacity',n focusable: 0,n fontFamily: 'font-family',n fontSize: 'font-size',n fontSizeAdjust: 'font-size-adjust',n fontStretch: 'font-stretch',n fontStyle: 'font-style',n fontVariant: 'font-variant',n fontWeight: 'font-weight',n format: 0,n from: 0,n fx: 0,n fy: 0,n g1: 0,n g2: 0,n glyphName: 'glyph-name',n glyphOrientationHorizontal: 'glyph-orientation-horizontal',n glyphOrientationVertical: 'glyph-orientation-vertical',n glyphRef: 'glyphRef',n gradientTransform: 'gradientTransform',n gradientUnits: 'gradientUnits',n hanging: 0,n horizAdvX: 'horiz-adv-x',n horizOriginX: 'horiz-origin-x',n ideographic: 0,n imageRendering: 'image-rendering',n 'in': 0,n in2: 0,n intercept: 0,n k: 0,n k1: 0,n k2: 0,n k3: 0,n k4: 0,n kernelMatrix: 'kernelMatrix',n kernelUnitLength: 'kernelUnitLength',n kerning: 0,n keyPoints: 'keyPoints',n keySplines: 'keySplines',n keyTimes: 'keyTimes',n lengthAdjust: 'lengthAdjust',n letterSpacing: 'letter-spacing',n lightingColor: 'lighting-color',n limitingConeAngle: 'limitingConeAngle',n local: 0,n markerEnd: 'marker-end',n markerMid: 'marker-mid',n markerStart: 'marker-start',n markerHeight: 'markerHeight',n markerUnits: 'markerUnits',n markerWidth: 'markerWidth',n mask: 0,n maskContentUnits: 'maskContentUnits',n maskUnits: 'maskUnits',n mathematical: 0,n mode: 0,n numOctaves: 'numOctaves',n offset: 0,n opacity: 0,n operator: 0,n order: 0,n orient: 0,n orientation: 0,n origin: 0,n overflow: 0,n overlinePosition: 'overline-position',n overlineThickness: 'overline-thickness',n paintOrder: 'paint-order',n panose1: 'panose-1',n pathLength: 'pathLength',n patternContentUnits: 'patternContentUnits',n patternTransform: 'patternTransform',n patternUnits: 'patternUnits',n pointerEvents: 'pointer-events',n points: 0,n pointsAtX: 'pointsAtX',n pointsAtY: 'pointsAtY',n pointsAtZ: 'pointsAtZ',n preserveAlpha: 'preserveAlpha',n preserveAspectRatio: 'preserveAspectRatio',n primitiveUnits: 'primitiveUnits',n r: 0,n radius: 0,n refX: 'refX',n refY: 'refY',n renderingIntent: 'rendering-intent',n repeatCount: 'repeatCount',n repeatDur: 'repeatDur',n requiredExtensions: 'requiredExtensions',n requiredFeatures: 'requiredFeatures',n restart: 0,n result: 0,n rotate: 0,n rx: 0,n ry: 0,n scale: 0,n seed: 0,n shapeRendering: 'shape-rendering',n slope: 0,n spacing: 0,n specularConstant: 'specularConstant',n specularExponent: 'specularExponent',n speed: 0,n spreadMethod: 'spreadMethod',n startOffset: 'startOffset',n stdDeviation: 'stdDeviation',n stemh: 0,n stemv: 0,n stitchTiles: 'stitchTiles',n stopColor: 'stop-color',n stopOpacity: 'stop-opacity',n strikethroughPosition: 'strikethrough-position',n strikethroughThickness: 'strikethrough-thickness',n string: 0,n stroke: 0,n strokeDasharray: 'stroke-dasharray',n strokeDashoffset: 'stroke-dashoffset',n strokeLinecap: 'stroke-linecap',n strokeLinejoin: 'stroke-linejoin',n strokeMiterlimit: 'stroke-miterlimit',n strokeOpacity: 'stroke-opacity',n strokeWidth: 'stroke-width',n surfaceScale: 'surfaceScale',n systemLanguage: 'systemLanguage',n tableValues: 'tableValues',n targetX: 'targetX',n targetY: 'targetY',n textAnchor: 'text-anchor',n textDecoration: 'text-decoration',n textRendering: 'text-rendering',n textLength: 'textLength',n to: 0,n transform: 0,n u1: 0,n u2: 0,n underlinePosition: 'underline-position',n underlineThickness: 'underline-thickness',n unicode: 0,n unicodeBidi: 'unicode-bidi',n unicodeRange: 'unicode-range',n unitsPerEm: 'units-per-em',n vAlphabetic: 'v-alphabetic',n vHanging: 'v-hanging',n vIdeographic: 'v-ideographic',n vMathematical: 'v-mathematical',n values: 0,n vectorEffect: 'vector-effect',n version: 0,n vertAdvY: 'vert-adv-y',n vertOriginX: 'vert-origin-x',n vertOriginY: 'vert-origin-y',n viewBox: 'viewBox',n viewTarget: 'viewTarget',n visibility: 0,n widths: 0,n wordSpacing: 'word-spacing',n writingMode: 'writing-mode',n x: 0,n xHeight: 'x-height',n x1: 0,n x2: 0,n xChannelSelector: 'xChannelSelector',n xlinkActuate: 'xactuate’,n xlinkArcrole: 'xarcrole’,n xlinkHref: 'xhref’,n xlinkRole: 'xrole’,n xlinkShow: 'xshow’,n xlinkTitle: 'xtitle’,n xlinkType: 'xtype’,n xmlBase: 'xml:base',n xmlns: 0,n xmlnsXlink: 'xmlns:xlink',n xmlLang: 'xml:lang',n xmlSpace: 'xml:space',n y: 0,n y1: 0,n y2: 0,n yChannelSelector: 'yChannelSelector',n z: 0,n zoomAndPan: 'zoomAndPan'n};nnvar SVGDOMPropertyConfig = {n Properties: {},n DOMAttributeNamespaces: {n xlinkActuate: NS.xlink,n xlinkArcrole: NS.xlink,n xlinkHref: NS.xlink,n xlinkRole: NS.xlink,n xlinkShow: NS.xlink,n xlinkTitle: NS.xlink,n xlinkType: NS.xlink,n xmlBase: NS.xml,n xmlLang: NS.xml,n xmlSpace: NS.xmln },n DOMAttributeNames: {}n};nnObject.keys(ATTRS).forEach(function (key) {n SVGDOMPropertyConfig.Properties = 0;n if (ATTRS) {n SVGDOMPropertyConfig.DOMAttributeNames = ATTRS;n }n});nnmodule.exports = SVGDOMPropertyConfig;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SVGDOMPropertyConfig.jsn ** module id = 149n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SelectEventPluginn */nn'use strict';nnvar EventConstants = require('./EventConstants');nvar EventPropagators = require('./EventPropagators');nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactInputSelection = require('./ReactInputSelection');nvar SyntheticEvent = require('./SyntheticEvent');nnvar getActiveElement = require('fbjs/lib/getActiveElement');nvar isTextInputElement = require('./isTextInputElement');nvar keyOf = require('fbjs/lib/keyOf');nvar shallowEqual = require('fbjs/lib/shallowEqual');nnvar topLevelTypes = EventConstants.topLevelTypes;nnvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;nnvar eventTypes = {n select: {n phasedRegistrationNames: {n bubbled: keyOf({ onSelect: null }),n captured: keyOf({ onSelectCapture: null })n },n dependencies: [topLevelTypes.topBlur, topLevelTypes.topContextMenu, topLevelTypes.topFocus, topLevelTypes.topKeyDown, topLevelTypes.topMouseDown, topLevelTypes.topMouseUp, topLevelTypes.topSelectionChange]n }n};nnvar activeElement = null;nvar activeElementInst = null;nvar lastSelection = null;nvar mouseDown = false;nn// Track whether a listener exists for this plugin. If none exist, we don// not extract events. See #3639.nvar hasListener = false;nvar ON_SELECT_KEY = keyOf({ onSelect: null });nn/**n * Get an object which is a unique representation of the current selection.n *n * The return value will not be consistent across nodes or browsers, butn * two identical selections on the same node will return identical objects.n *n * @param {DOMElement} noden * @return {object}n */nfunction getSelection(node) {n if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {n return {n start: node.selectionStart,n end: node.selectionEndn };n } else if (window.getSelection) {n var selection = window.getSelection();n return {n anchorNode: selection.anchorNode,n anchorOffset: selection.anchorOffset,n focusNode: selection.focusNode,n focusOffset: selection.focusOffsetn };n } else if (document.selection) {n var range = document.selection.createRange();n return {n parentElement: range.parentElement(),n text: range.text,n top: range.boundingTop,n left: range.boundingLeftn };n }n}nn/**n * Poll selection to see whether it's changed.n *n * @param {object} nativeEventn * @return {?SyntheticEvent}n */nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {n // Ensure we have the right element, and that the user is not dragging an // selection (this matches native `select` event behavior). In HTML5, selectn // fires only on input and textarea thus if there's no focused element wen // won't dispatch.n if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {n return null;n }nn // Only fire when selection has actually changed.n var currentSelection = getSelection(activeElement);n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {n lastSelection = currentSelection;nn var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget);nn syntheticEvent.type = 'select';n syntheticEvent.target = activeElement;nn EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);nn return syntheticEvent;n }nn return null;n}nn/**n * This plugin creates an `onSelect` event that normalizes select eventsn * across form elements.n *n * Supported elements are:n * - input (see `isTextInputElement`)n * - textarean * - contentEditablen *n * This differs from native browser implementations in the following ways:n * - Fires on contentEditable fields as well as inputs.n * - Fires for collapsed selection.n * - Fires after user input.n */nvar SelectEventPlugin = {nn eventTypes: eventTypes,nn extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n if (!hasListener) {n return null;n }nn var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;nn switch (topLevelType) {n // Track the input node that has focus.n case topLevelTypes.topFocus:n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {n activeElement = targetNode;n activeElementInst = targetInst;n lastSelection = null;n }n break;n case topLevelTypes.topBlur:n activeElement = null;n activeElementInst = null;n lastSelection = null;n break;nn // Don't fire the event while the user is dragging. This matches then // semantics of the native select event.n case topLevelTypes.topMouseDown:n mouseDown = true;n break;n case topLevelTypes.topContextMenu:n case topLevelTypes.topMouseUp:n mouseDown = false;n return constructSelectEvent(nativeEvent, nativeEventTarget);nn // Chrome and IE fire non-standard event when selection is changed (andn // sometimes when it hasn't). IE's event fires out of order with respectn // to key and input events on deletion, so we discard it.n //n // Firefox doesn't support selectionchange, so check selection statusn // after each key entry. The selection changes after keydown and beforen // keyup, but we check on keydown as well in the case of holding down an // key, when multiple keydown events are fired but only one keyup is.n // This is also our approach for IE handling, for the reason above.n case topLevelTypes.topSelectionChange:n if (skipSelectionChangeEvent) {n break;n }n // falls throughn case topLevelTypes.topKeyDown:n case topLevelTypes.topKeyUp:n return constructSelectEvent(nativeEvent, nativeEventTarget);n }nn return null;n },nn didPutListener: function (inst, registrationName, listener) {n if (registrationName === ON_SELECT_KEY) {n hasListener = true;n }n }n};nnmodule.exports = SelectEventPlugin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SelectEventPlugin.jsn ** module id = 150n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SimpleEventPluginn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar EventConstants = require('./EventConstants');nvar EventListener = require('fbjs/lib/EventListener');nvar EventPropagators = require('./EventPropagators');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar SyntheticAnimationEvent = require('./SyntheticAnimationEvent');nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');nvar SyntheticEvent = require('./SyntheticEvent');nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');nvar SyntheticDragEvent = require('./SyntheticDragEvent');nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');nvar SyntheticTransitionEvent = require('./SyntheticTransitionEvent');nvar SyntheticUIEvent = require('./SyntheticUIEvent');nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');nnvar emptyFunction = require('fbjs/lib/emptyFunction');nvar getEventCharCode = require('./getEventCharCode');nvar invariant = require('fbjs/lib/invariant');nvar keyOf = require('fbjs/lib/keyOf');nnvar topLevelTypes = EventConstants.topLevelTypes;nnvar eventTypes = {n abort: {n phasedRegistrationNames: {n bubbled: keyOf({ onAbort: true }),n captured: keyOf({ onAbortCapture: true })n }n },n animationEnd: {n phasedRegistrationNames: {n bubbled: keyOf({ onAnimationEnd: true }),n captured: keyOf({ onAnimationEndCapture: true })n }n },n animationIteration: {n phasedRegistrationNames: {n bubbled: keyOf({ onAnimationIteration: true }),n captured: keyOf({ onAnimationIterationCapture: true })n }n },n animationStart: {n phasedRegistrationNames: {n bubbled: keyOf({ onAnimationStart: true }),n captured: keyOf({ onAnimationStartCapture: true })n }n },n blur: {n phasedRegistrationNames: {n bubbled: keyOf({ onBlur: true }),n captured: keyOf({ onBlurCapture: true })n }n },n canPlay: {n phasedRegistrationNames: {n bubbled: keyOf({ onCanPlay: true }),n captured: keyOf({ onCanPlayCapture: true })n }n },n canPlayThrough: {n phasedRegistrationNames: {n bubbled: keyOf({ onCanPlayThrough: true }),n captured: keyOf({ onCanPlayThroughCapture: true })n }n },n click: {n phasedRegistrationNames: {n bubbled: keyOf({ onClick: true }),n captured: keyOf({ onClickCapture: true })n }n },n contextMenu: {n phasedRegistrationNames: {n bubbled: keyOf({ onContextMenu: true }),n captured: keyOf({ onContextMenuCapture: true })n }n },n copy: {n phasedRegistrationNames: {n bubbled: keyOf({ onCopy: true }),n captured: keyOf({ onCopyCapture: true })n }n },n cut: {n phasedRegistrationNames: {n bubbled: keyOf({ onCut: true }),n captured: keyOf({ onCutCapture: true })n }n },n doubleClick: {n phasedRegistrationNames: {n bubbled: keyOf({ onDoubleClick: true }),n captured: keyOf({ onDoubleClickCapture: true })n }n },n drag: {n phasedRegistrationNames: {n bubbled: keyOf({ onDrag: true }),n captured: keyOf({ onDragCapture: true })n }n },n dragEnd: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragEnd: true }),n captured: keyOf({ onDragEndCapture: true })n }n },n dragEnter: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragEnter: true }),n captured: keyOf({ onDragEnterCapture: true })n }n },n dragExit: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragExit: true }),n captured: keyOf({ onDragExitCapture: true })n }n },n dragLeave: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragLeave: true }),n captured: keyOf({ onDragLeaveCapture: true })n }n },n dragOver: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragOver: true }),n captured: keyOf({ onDragOverCapture: true })n }n },n dragStart: {n phasedRegistrationNames: {n bubbled: keyOf({ onDragStart: true }),n captured: keyOf({ onDragStartCapture: true })n }n },n drop: {n phasedRegistrationNames: {n bubbled: keyOf({ onDrop: true }),n captured: keyOf({ onDropCapture: true })n }n },n durationChange: {n phasedRegistrationNames: {n bubbled: keyOf({ onDurationChange: true }),n captured: keyOf({ onDurationChangeCapture: true })n }n },n emptied: {n phasedRegistrationNames: {n bubbled: keyOf({ onEmptied: true }),n captured: keyOf({ onEmptiedCapture: true })n }n },n encrypted: {n phasedRegistrationNames: {n bubbled: keyOf({ onEncrypted: true }),n captured: keyOf({ onEncryptedCapture: true })n }n },n ended: {n phasedRegistrationNames: {n bubbled: keyOf({ onEnded: true }),n captured: keyOf({ onEndedCapture: true })n }n },n error: {n phasedRegistrationNames: {n bubbled: keyOf({ onError: true }),n captured: keyOf({ onErrorCapture: true })n }n },n focus: {n phasedRegistrationNames: {n bubbled: keyOf({ onFocus: true }),n captured: keyOf({ onFocusCapture: true })n }n },n input: {n phasedRegistrationNames: {n bubbled: keyOf({ onInput: true }),n captured: keyOf({ onInputCapture: true })n }n },n invalid: {n phasedRegistrationNames: {n bubbled: keyOf({ onInvalid: true }),n captured: keyOf({ onInvalidCapture: true })n }n },n keyDown: {n phasedRegistrationNames: {n bubbled: keyOf({ onKeyDown: true }),n captured: keyOf({ onKeyDownCapture: true })n }n },n keyPress: {n phasedRegistrationNames: {n bubbled: keyOf({ onKeyPress: true }),n captured: keyOf({ onKeyPressCapture: true })n }n },n keyUp: {n phasedRegistrationNames: {n bubbled: keyOf({ onKeyUp: true }),n captured: keyOf({ onKeyUpCapture: true })n }n },n load: {n phasedRegistrationNames: {n bubbled: keyOf({ onLoad: true }),n captured: keyOf({ onLoadCapture: true })n }n },n loadedData: {n phasedRegistrationNames: {n bubbled: keyOf({ onLoadedData: true }),n captured: keyOf({ onLoadedDataCapture: true })n }n },n loadedMetadata: {n phasedRegistrationNames: {n bubbled: keyOf({ onLoadedMetadata: true }),n captured: keyOf({ onLoadedMetadataCapture: true })n }n },n loadStart: {n phasedRegistrationNames: {n bubbled: keyOf({ onLoadStart: true }),n captured: keyOf({ onLoadStartCapture: true })n }n },n // Note: We do not allow listening to mouseOver events. Instead, use then // onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`.n mouseDown: {n phasedRegistrationNames: {n bubbled: keyOf({ onMouseDown: true }),n captured: keyOf({ onMouseDownCapture: true })n }n },n mouseMove: {n phasedRegistrationNames: {n bubbled: keyOf({ onMouseMove: true }),n captured: keyOf({ onMouseMoveCapture: true })n }n },n mouseOut: {n phasedRegistrationNames: {n bubbled: keyOf({ onMouseOut: true }),n captured: keyOf({ onMouseOutCapture: true })n }n },n mouseOver: {n phasedRegistrationNames: {n bubbled: keyOf({ onMouseOver: true }),n captured: keyOf({ onMouseOverCapture: true })n }n },n mouseUp: {n phasedRegistrationNames: {n bubbled: keyOf({ onMouseUp: true }),n captured: keyOf({ onMouseUpCapture: true })n }n },n paste: {n phasedRegistrationNames: {n bubbled: keyOf({ onPaste: true }),n captured: keyOf({ onPasteCapture: true })n }n },n pause: {n phasedRegistrationNames: {n bubbled: keyOf({ onPause: true }),n captured: keyOf({ onPauseCapture: true })n }n },n play: {n phasedRegistrationNames: {n bubbled: keyOf({ onPlay: true }),n captured: keyOf({ onPlayCapture: true })n }n },n playing: {n phasedRegistrationNames: {n bubbled: keyOf({ onPlaying: true }),n captured: keyOf({ onPlayingCapture: true })n }n },n progress: {n phasedRegistrationNames: {n bubbled: keyOf({ onProgress: true }),n captured: keyOf({ onProgressCapture: true })n }n },n rateChange: {n phasedRegistrationNames: {n bubbled: keyOf({ onRateChange: true }),n captured: keyOf({ onRateChangeCapture: true })n }n },n reset: {n phasedRegistrationNames: {n bubbled: keyOf({ onReset: true }),n captured: keyOf({ onResetCapture: true })n }n },n scroll: {n phasedRegistrationNames: {n bubbled: keyOf({ onScroll: true }),n captured: keyOf({ onScrollCapture: true })n }n },n seeked: {n phasedRegistrationNames: {n bubbled: keyOf({ onSeeked: true }),n captured: keyOf({ onSeekedCapture: true })n }n },n seeking: {n phasedRegistrationNames: {n bubbled: keyOf({ onSeeking: true }),n captured: keyOf({ onSeekingCapture: true })n }n },n stalled: {n phasedRegistrationNames: {n bubbled: keyOf({ onStalled: true }),n captured: keyOf({ onStalledCapture: true })n }n },n submit: {n phasedRegistrationNames: {n bubbled: keyOf({ onSubmit: true }),n captured: keyOf({ onSubmitCapture: true })n }n },n suspend: {n phasedRegistrationNames: {n bubbled: keyOf({ onSuspend: true }),n captured: keyOf({ onSuspendCapture: true })n }n },n timeUpdate: {n phasedRegistrationNames: {n bubbled: keyOf({ onTimeUpdate: true }),n captured: keyOf({ onTimeUpdateCapture: true })n }n },n touchCancel: {n phasedRegistrationNames: {n bubbled: keyOf({ onTouchCancel: true }),n captured: keyOf({ onTouchCancelCapture: true })n }n },n touchEnd: {n phasedRegistrationNames: {n bubbled: keyOf({ onTouchEnd: true }),n captured: keyOf({ onTouchEndCapture: true })n }n },n touchMove: {n phasedRegistrationNames: {n bubbled: keyOf({ onTouchMove: true }),n captured: keyOf({ onTouchMoveCapture: true })n }n },n touchStart: {n phasedRegistrationNames: {n bubbled: keyOf({ onTouchStart: true }),n captured: keyOf({ onTouchStartCapture: true })n }n },n transitionEnd: {n phasedRegistrationNames: {n bubbled: keyOf({ onTransitionEnd: true }),n captured: keyOf({ onTransitionEndCapture: true })n }n },n volumeChange: {n phasedRegistrationNames: {n bubbled: keyOf({ onVolumeChange: true }),n captured: keyOf({ onVolumeChangeCapture: true })n }n },n waiting: {n phasedRegistrationNames: {n bubbled: keyOf({ onWaiting: true }),n captured: keyOf({ onWaitingCapture: true })n }n },n wheel: {n phasedRegistrationNames: {n bubbled: keyOf({ onWheel: true }),n captured: keyOf({ onWheelCapture: true })n }n }n};nnvar topLevelEventsToDispatchConfig = {n topAbort: eventTypes.abort,n topAnimationEnd: eventTypes.animationEnd,n topAnimationIteration: eventTypes.animationIteration,n topAnimationStart: eventTypes.animationStart,n topBlur: eventTypes.blur,n topCanPlay: eventTypes.canPlay,n topCanPlayThrough: eventTypes.canPlayThrough,n topClick: eventTypes.click,n topContextMenu: eventTypes.contextMenu,n topCopy: eventTypes.copy,n topCut: eventTypes.cut,n topDoubleClick: eventTypes.doubleClick,n topDrag: eventTypes.drag,n topDragEnd: eventTypes.dragEnd,n topDragEnter: eventTypes.dragEnter,n topDragExit: eventTypes.dragExit,n topDragLeave: eventTypes.dragLeave,n topDragOver: eventTypes.dragOver,n topDragStart: eventTypes.dragStart,n topDrop: eventTypes.drop,n topDurationChange: eventTypes.durationChange,n topEmptied: eventTypes.emptied,n topEncrypted: eventTypes.encrypted,n topEnded: eventTypes.ended,n topError: eventTypes.error,n topFocus: eventTypes.focus,n topInput: eventTypes.input,n topInvalid: eventTypes.invalid,n topKeyDown: eventTypes.keyDown,n topKeyPress: eventTypes.keyPress,n topKeyUp: eventTypes.keyUp,n topLoad: eventTypes.load,n topLoadedData: eventTypes.loadedData,n topLoadedMetadata: eventTypes.loadedMetadata,n topLoadStart: eventTypes.loadStart,n topMouseDown: eventTypes.mouseDown,n topMouseMove: eventTypes.mouseMove,n topMouseOut: eventTypes.mouseOut,n topMouseOver: eventTypes.mouseOver,n topMouseUp: eventTypes.mouseUp,n topPaste: eventTypes.paste,n topPause: eventTypes.pause,n topPlay: eventTypes.play,n topPlaying: eventTypes.playing,n topProgress: eventTypes.progress,n topRateChange: eventTypes.rateChange,n topReset: eventTypes.reset,n topScroll: eventTypes.scroll,n topSeeked: eventTypes.seeked,n topSeeking: eventTypes.seeking,n topStalled: eventTypes.stalled,n topSubmit: eventTypes.submit,n topSuspend: eventTypes.suspend,n topTimeUpdate: eventTypes.timeUpdate,n topTouchCancel: eventTypes.touchCancel,n topTouchEnd: eventTypes.touchEnd,n topTouchMove: eventTypes.touchMove,n topTouchStart: eventTypes.touchStart,n topTransitionEnd: eventTypes.transitionEnd,n topVolumeChange: eventTypes.volumeChange,n topWaiting: eventTypes.waiting,n topWheel: eventTypes.wheeln};nnfor (var type in topLevelEventsToDispatchConfig) {n topLevelEventsToDispatchConfig.dependencies = [type];n}nnvar ON_CLICK_KEY = keyOf({ onClick: null });nvar onClickListeners = {};nnfunction getDictionaryKey(inst) {n // Prevents V8 performance issue:n // github.com/facebook/react/pull/7232n return '.' + inst._rootNodeID;n}nnvar SimpleEventPlugin = {nn eventTypes: eventTypes,nn extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {n var dispatchConfig = topLevelEventsToDispatchConfig;n if (!dispatchConfig) {n return null;n }n var EventConstructor;n switch (topLevelType) {n case topLevelTypes.topAbort:n case topLevelTypes.topCanPlay:n case topLevelTypes.topCanPlayThrough:n case topLevelTypes.topDurationChange:n case topLevelTypes.topEmptied:n case topLevelTypes.topEncrypted:n case topLevelTypes.topEnded:n case topLevelTypes.topError:n case topLevelTypes.topInput:n case topLevelTypes.topInvalid:n case topLevelTypes.topLoad:n case topLevelTypes.topLoadedData:n case topLevelTypes.topLoadedMetadata:n case topLevelTypes.topLoadStart:n case topLevelTypes.topPause:n case topLevelTypes.topPlay:n case topLevelTypes.topPlaying:n case topLevelTypes.topProgress:n case topLevelTypes.topRateChange:n case topLevelTypes.topReset:n case topLevelTypes.topSeeked:n case topLevelTypes.topSeeking:n case topLevelTypes.topStalled:n case topLevelTypes.topSubmit:n case topLevelTypes.topSuspend:n case topLevelTypes.topTimeUpdate:n case topLevelTypes.topVolumeChange:n case topLevelTypes.topWaiting:n // HTML Eventsn // @see www.w3.org/TR/html5/index.html#events-0n EventConstructor = SyntheticEvent;n break;n case topLevelTypes.topKeyPress:n // Firefox creates a keypress event for function keys too. This removesn // the unwanted keypress events. Enter is however both printable andn // non-printable. One would expect Tab to be as well (but it isn't).n if (getEventCharCode(nativeEvent) === 0) {n return null;n }n /* falls through */n case topLevelTypes.topKeyDown:n case topLevelTypes.topKeyUp:n EventConstructor = SyntheticKeyboardEvent;n break;n case topLevelTypes.topBlur:n case topLevelTypes.topFocus:n EventConstructor = SyntheticFocusEvent;n break;n case topLevelTypes.topClick:n // Firefox creates a click event on right mouse clicks. This removes then // unwanted click events.n if (nativeEvent.button === 2) {n return null;n }n /* falls through */n case topLevelTypes.topContextMenu:n case topLevelTypes.topDoubleClick:n case topLevelTypes.topMouseDown:n case topLevelTypes.topMouseMove:n case topLevelTypes.topMouseOut:n case topLevelTypes.topMouseOver:n case topLevelTypes.topMouseUp:n EventConstructor = SyntheticMouseEvent;n break;n case topLevelTypes.topDrag:n case topLevelTypes.topDragEnd:n case topLevelTypes.topDragEnter:n case topLevelTypes.topDragExit:n case topLevelTypes.topDragLeave:n case topLevelTypes.topDragOver:n case topLevelTypes.topDragStart:n case topLevelTypes.topDrop:n EventConstructor = SyntheticDragEvent;n break;n case topLevelTypes.topTouchCancel:n case topLevelTypes.topTouchEnd:n case topLevelTypes.topTouchMove:n case topLevelTypes.topTouchStart:n EventConstructor = SyntheticTouchEvent;n break;n case topLevelTypes.topAnimationEnd:n case topLevelTypes.topAnimationIteration:n case topLevelTypes.topAnimationStart:n EventConstructor = SyntheticAnimationEvent;n break;n case topLevelTypes.topTransitionEnd:n EventConstructor = SyntheticTransitionEvent;n break;n case topLevelTypes.topScroll:n EventConstructor = SyntheticUIEvent;n break;n case topLevelTypes.topWheel:n EventConstructor = SyntheticWheelEvent;n break;n case topLevelTypes.topCopy:n case topLevelTypes.topCut:n case topLevelTypes.topPaste:n EventConstructor = SyntheticClipboardEvent;n break;n }n !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;n var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);n EventPropagators.accumulateTwoPhaseDispatches(event);n return event;n },nn didPutListener: function (inst, registrationName, listener) {n // Mobile Safari does not fire properly bubble click events onn // non-interactive elements, which means delegated click listeners do notn // fire. The workaround for this bug involves attaching an empty clickn // listener on the target node.n if (registrationName === ON_CLICK_KEY) {n var key = getDictionaryKey(inst);n var node = ReactDOMComponentTree.getNodeFromInstance(inst);n if (!onClickListeners) {n onClickListeners = EventListener.listen(node, 'click', emptyFunction);n }n }n },nn willDeleteListener: function (inst, registrationName) {n if (registrationName === ON_CLICK_KEY) {n var key = getDictionaryKey(inst);n onClickListeners.remove();n delete onClickListeners;n }n }nn};nnmodule.exports = SimpleEventPlugin;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SimpleEventPlugin.jsn ** module id = 151n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticAnimationEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nn/**n * @interface Eventn * @see www.w3.org/TR/css3-animations/#AnimationEvent-interfacen * @see developer.mozilla.org/en-US/docs/Web/API/AnimationEventn */nvar AnimationEventInterface = {n animationName: null,n elapsedTime: null,n pseudoElement: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticEvent}n */nfunction SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);nnmodule.exports = SyntheticAnimationEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticAnimationEvent.jsn ** module id = 152n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticClipboardEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nn/**n * @interface Eventn * @see www.w3.org/TR/clipboard-apis/n */nvar ClipboardEventInterface = {n clipboardData: function (event) {n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;n }n};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);nnmodule.exports = SyntheticClipboardEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticClipboardEvent.jsn ** module id = 153n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticFocusEventn */nn'use strict';nnvar SyntheticUIEvent = require('./SyntheticUIEvent');nn/**n * @interface FocusEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar FocusEventInterface = {n relatedTarget: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);nnmodule.exports = SyntheticFocusEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticFocusEvent.jsn ** module id = 154n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticKeyboardEventn */nn'use strict';nnvar SyntheticUIEvent = require('./SyntheticUIEvent');nnvar getEventCharCode = require('./getEventCharCode');nvar getEventKey = require('./getEventKey');nvar getEventModifierState = require('./getEventModifierState');nn/**n * @interface KeyboardEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar KeyboardEventInterface = {n key: getEventKey,n location: null,n ctrlKey: null,n shiftKey: null,n altKey: null,n metaKey: null,n repeat: null,n locale: null,n getModifierState: getEventModifierState,n // Legacy Interfacen charCode: function (event) {n // `charCode` is the result of a KeyPress event and represents the value ofn // the actual printable character.nn // KeyPress is deprecated, but its replacement is not yet final and notn // implemented in any major browser. Only KeyPress has charCode.n if (event.type === 'keypress') {n return getEventCharCode(event);n }n return 0;n },n keyCode: function (event) {n // `keyCode` is the result of a KeyDown/Up event and represents the value ofn // physical keyboard key.nn // The actual meaning of the value depends on the users' keyboard layoutn // which cannot be detected. Assuming that it is a US keyboard layoutn // provides a surprisingly accurate mapping for US and European users.n // Due to this, it is left to the user to implement at this time.n if (event.type === 'keydown' || event.type === 'keyup') {n return event.keyCode;n }n return 0;n },n which: function (event) {n // `which` is an alias for either `keyCode` or `charCode` depending on then // type of the event.n if (event.type === 'keypress') {n return getEventCharCode(event);n }n if (event.type === 'keydown' || event.type === 'keyup') {n return event.keyCode;n }n return 0;n }n};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);nnmodule.exports = SyntheticKeyboardEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticKeyboardEvent.jsn ** module id = 155n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getEventCharCoden */nn'use strict';nn/**n * `charCode` represents the actual "character code" and is safe to use withn * `String.fromCharCode`. As such, only keys that correspond to printablen * characters produce a valid `charCode`, the only exception to this is Enter.n * The Tab-key is considered non-printable and does not have a `charCode`,n * presumably because it does not produce a tab-character in browsers.n *n * @param {object} nativeEvent Native browser event.n * @return {number} Normalized `charCode` property.n */nnfunction getEventCharCode(nativeEvent) {n var charCode;n var keyCode = nativeEvent.keyCode;nn if ('charCode' in nativeEvent) {n charCode = nativeEvent.charCode;nn // FF does not set `charCode` for the Enter-key, check against `keyCode`.n if (charCode === 0 && keyCode === 13) {n charCode = 13;n }n } else {n // IE8 does not implement `charCode`, but `keyCode` has the correct value.n charCode = keyCode;n }nn // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.n // Must not discard the (non-)printable Enter-key.n if (charCode >= 32 || charCode === 13) {n return charCode;n }nn return 0;n}nnmodule.exports = getEventCharCode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getEventCharCode.jsn ** module id = 156n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getEventKeyn */nn'use strict';nnvar getEventCharCode = require('./getEventCharCode');nn/**n * Normalization of deprecated HTML5 `key` valuesn * @see developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_namesn */nvar normalizeKey = {n 'Esc': 'Escape',n 'Spacebar': ' ',n 'Left': 'ArrowLeft',n 'Up': 'ArrowUp',n 'Right': 'ArrowRight',n 'Down': 'ArrowDown',n 'Del': 'Delete',n 'Win': 'OS',n 'Menu': 'ContextMenu',n 'Apps': 'ContextMenu',n 'Scroll': 'ScrollLock',n 'MozPrintableKey': 'Unidentified'n};nn/**n * Translation from legacy `keyCode` to HTML5 `key`n * Only special keys supported, all others depend on keyboard layout or browsern * @see developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_namesn */nvar translateToKey = {n 8: 'Backspace',n 9: 'Tab',n 12: 'Clear',n 13: 'Enter',n 16: 'Shift',n 17: 'Control',n 18: 'Alt',n 19: 'Pause',n 20: 'CapsLock',n 27: 'Escape',n 32: ' ',n 33: 'PageUp',n 34: 'PageDown',n 35: 'End',n 36: 'Home',n 37: 'ArrowLeft',n 38: 'ArrowUp',n 39: 'ArrowRight',n 40: 'ArrowDown',n 45: 'Insert',n 46: 'Delete',n 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',n 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',n 144: 'NumLock',n 145: 'ScrollLock',n 224: 'Meta'n};nn/**n * @param {object} nativeEvent Native browser event.n * @return {string} Normalized `key` property.n */nfunction getEventKey(nativeEvent) {n if (nativeEvent.key) {n // Normalize inconsistent values reported by browsers due ton // implementations of a working draft specification.nn // FireFox implements `key` but returns `MozPrintableKey` for alln // printable characters (normalized to `Unidentified`), ignore it.n var key = normalizeKey || nativeEvent.key;n if (key !== 'Unidentified') {n return key;n }n }nn // Browser does not implement `key`, polyfill as much of it as we can.n if (nativeEvent.type === 'keypress') {n var charCode = getEventCharCode(nativeEvent);nn // The enter-key is technically both printable and non-printable and cann // thus be captured by `keypress`, no other non-printable key should.n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);n }n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {n // While user keyboard layout determines the actual meaning of eachn // `keyCode` value, almost all function keys have a universal value.n return translateToKey || 'Unidentified';n }n return '';n}nnmodule.exports = getEventKey;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getEventKey.jsn ** module id = 157n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticDragEventn */nn'use strict';nnvar SyntheticMouseEvent = require('./SyntheticMouseEvent');nn/**n * @interface DragEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar DragEventInterface = {n dataTransfer: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);nnmodule.exports = SyntheticDragEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticDragEvent.jsn ** module id = 158n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticTouchEventn */nn'use strict';nnvar SyntheticUIEvent = require('./SyntheticUIEvent');nnvar getEventModifierState = require('./getEventModifierState');nn/**n * @interface TouchEventn * @see www.w3.org/TR/touch-events/n */nvar TouchEventInterface = {n touches: null,n targetTouches: null,n changedTouches: null,n altKey: null,n metaKey: null,n ctrlKey: null,n shiftKey: null,n getModifierState: getEventModifierStaten};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticUIEvent}n */nfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);nnmodule.exports = SyntheticTouchEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticTouchEvent.jsn ** module id = 159n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticTransitionEventn */nn'use strict';nnvar SyntheticEvent = require('./SyntheticEvent');nn/**n * @interface Eventn * @see www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-n * @see developer.mozilla.org/en-US/docs/Web/API/TransitionEventn */nvar TransitionEventInterface = {n propertyName: null,n elapsedTime: null,n pseudoElement: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticEvent}n */nfunction SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);nnmodule.exports = SyntheticTransitionEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticTransitionEvent.jsn ** module id = 160n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule SyntheticWheelEventn */nn'use strict';nnvar SyntheticMouseEvent = require('./SyntheticMouseEvent');nn/**n * @interface WheelEventn * @see www.w3.org/TR/DOM-Level-3-Events/n */nvar WheelEventInterface = {n deltaX: function (event) {n return 'deltaX' in event ? event.deltaX :n // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;n },n deltaY: function (event) {n return 'deltaY' in event ? event.deltaY :n // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).n 'wheelDeltaY' in event ? -event.wheelDeltaY :n // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).n 'wheelDelta' in event ? -event.wheelDelta : 0;n },n deltaZ: null,nn // Browsers without "deltaMode" is reporting in raw wheel delta where onen // notch on the scroll is always +/- 120, roughly equivalent to pixels.n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size orn // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.n deltaMode: nulln};nn/**n * @param {object} dispatchConfig Configuration used to dispatch this event.n * @param {string} dispatchMarker Marker identifying the event target.n * @param {object} nativeEvent Native browser event.n * @extends {SyntheticMouseEvent}n */nfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);n}nnSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);nnmodule.exports = SyntheticWheelEvent;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/SyntheticWheelEvent.jsn ** module id = 161n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactMountn */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar DOMLazyTree = require('./DOMLazyTree');nvar DOMProperty = require('./DOMProperty');nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');nvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactDOMContainerInfo = require('./ReactDOMContainerInfo');nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');nvar ReactElement = require('./ReactElement');nvar ReactFeatureFlags = require('./ReactFeatureFlags');nvar ReactInstanceMap = require('./ReactInstanceMap');nvar ReactInstrumentation = require('./ReactInstrumentation');nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');nvar ReactReconciler = require('./ReactReconciler');nvar ReactUpdateQueue = require('./ReactUpdateQueue');nvar ReactUpdates = require('./ReactUpdates');nnvar emptyObject = require('fbjs/lib/emptyObject');nvar instantiateReactComponent = require('./instantiateReactComponent');nvar invariant = require('fbjs/lib/invariant');nvar setInnerHTML = require('./setInnerHTML');nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');nvar warning = require('fbjs/lib/warning');nnvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;nvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;nnvar ELEMENT_NODE_TYPE = 1;nvar DOC_NODE_TYPE = 9;nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;nnvar instancesByReactRootID = {};nn/**n * Finds the index of the first charactern * that's not common between the two given strings.n *n * @return {number} the index of the character where the strings divergen */nfunction firstDifferenceIndex(string1, string2) {n var minLen = Math.min(string1.length, string2.length);n for (var i = 0; i < minLen; i++) {n if (string1.charAt(i) !== string2.charAt(i)) {n return i;n }n }n return string1.length === string2.length ? -1 : minLen;n}nn/**n * @param {DOMElement|DOMDocument} container DOM element that may containn * a React componentn * @return {?*} DOM element that may have the reactRoot ID, or null.n */nfunction getReactRootElementInContainer(container) {n if (!container) {n return null;n }nn if (container.nodeType === DOC_NODE_TYPE) {n return container.documentElement;n } else {n return container.firstChild;n }n}nnfunction internalGetID(node) {n // If node is something like a window, document, or text node, none ofn // which support attributes or a .getAttribute method, gracefully returnn // the empty string, as if the attribute were missing.n return node.getAttribute && node.getAttribute(ATTR_NAME) || '';n}nn/**n * Mounts this component and inserts it into the DOM.n *n * @param {ReactComponent} componentInstance The instance to mount.n * @param {DOMElement} container DOM element to mount into.n * @param {ReactReconcileTransaction} transactionn * @param {boolean} shouldReuseMarkup If true, do not insert markupn */nfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {n var markerName;n if (ReactFeatureFlags.logTopLevelRenders) {n var wrappedElement = wrapperInstance._currentElement.props;n var type = wrappedElement.type;n markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);n console.time(markerName);n }nn var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */n );nn if (markerName) {n console.timeEnd(markerName);n }nn wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;n ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);n}nn/**n * Batched mount.n *n * @param {ReactComponent} componentInstance The instance to mount.n * @param {DOMElement} container DOM element to mount into.n * @param {boolean} shouldReuseMarkup If true, do not insert markupn */nfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(n /* useCreateElement */n !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);n transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);n ReactUpdates.ReactReconcileTransaction.release(transaction);n}nn/**n * Unmounts a component and removes it from the DOM.n *n * @param {ReactComponent} instance React component instance.n * @param {DOMElement} container DOM element to unmount from.n * @finaln * @internaln * @see {ReactMount.unmountComponentAtNode}n */nfunction unmountComponentFromNode(instance, container, safely) {n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onBeginFlush();n }n ReactReconciler.unmountComponent(instance, safely);n if (process.env.NODE_ENV !== 'production') {n ReactInstrumentation.debugTool.onEndFlush();n }nn if (container.nodeType === DOC_NODE_TYPE) {n container = container.documentElement;n }nn // jsperf.com/emptying-a-noden while (container.lastChild) {n container.removeChild(container.lastChild);n }n}nn/**n * True if the supplied DOM node has a direct React-rendered child that isn * not a React root element. Useful for warning in `render`,n * `unmountComponentAtNode`, etc.n *n * @param {?DOMElement} node The candidate DOM node.n * @return {boolean} True if the DOM element contains a direct child that wasn * rendered by React but is not a root element.n * @internaln */nfunction hasNonRootReactChild(container) {n var rootEl = getReactRootElementInContainer(container);n if (rootEl) {n var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);n return !!(inst && inst._hostParent);n }n}nn/**n * True if the supplied DOM node is a React DOM element andn * it has been rendered by another copy of React.n *n * @param {?DOMElement} node The candidate DOM node.n * @return {boolean} True if the DOM has been rendered by another copy of Reactn * @internaln */nfunction nodeIsRenderedByOtherInstance(container) {n var rootEl = getReactRootElementInContainer(container);n return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));n}nn/**n * True if the supplied DOM node is a valid node element.n *n * @param {?DOMElement} node The candidate DOM node.n * @return {boolean} True if the DOM is a valid DOM node.n * @internaln */nfunction isValidContainer(node) {n return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));n}nn/**n * True if the supplied DOM node is a valid React node element.n *n * @param {?DOMElement} node The candidate DOM node.n * @return {boolean} True if the DOM is a valid React DOM node.n * @internaln */nfunction isReactNode(node) {n return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));n}nnfunction getHostRootInstanceInContainer(container) {n var rootEl = getReactRootElementInContainer(container);n var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);n return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null;n}nnfunction getTopLevelWrapperInContainer(container) {n var root = getHostRootInstanceInContainer(container);n return root ? root._hostContainerInfo._topLevelWrapper : null;n}nn/**n * Temporary (?) hack so that we can store all top-level pending updates onn * composites instead of having to worry about different types of componentsn * here.n */nvar topLevelRootCounter = 1;nvar TopLevelWrapper = function () {n this.rootID = topLevelRootCounter++;n};nTopLevelWrapper.prototype.isReactComponent = {};nif (process.env.NODE_ENV !== 'production') {n TopLevelWrapper.displayName = 'TopLevelWrapper';n}nTopLevelWrapper.prototype.render = function () {n // this.props is actually a ReactElementn return this.props;n};nn/**n * Mounting is the process of initializing a React component by creating itsn * representative DOM elements and inserting them into a supplied `container`.n * Any prior content inside `container` is destroyed in the process.n *n * ReactMount.render(n * component,n * document.getElementById('container')n * );n *n * <div id="container"> <– Supplied `container`.n * <div data-reactid=".3"> <– Rendered reactRoot of Reactn * // … component.n * </div>n * </div>n *n * Inside of `container`, the first element rendered is the "reactRoot".n */nvar ReactMount = {nn TopLevelWrapper: TopLevelWrapper,nn /**n * Used by devtools. The keys are not important.n */n _instancesByReactRootID: instancesByReactRootID,nn /**n * This is a hook provided to support rendering React components whilen * ensuring that the apparent scroll position of its `container` does notn * change.n *n * @param {DOMElement} container The `container` being rendered into.n * @param {function} renderCallback This must be called once to do the render.n */n scrollMonitor: function (container, renderCallback) {n renderCallback();n },nn /**n * Take a component that's already mounted into the DOM and replace its propsn * @param {ReactComponent} prevComponent component instance already in the DOMn * @param {ReactElement} nextElement component instance to rendern * @param {DOMElement} container container to render inton * @param {?function} callback function triggered on completionn */n _updateRootComponent: function (prevComponent, nextElement, nextContext, container, callback) {n ReactMount.scrollMonitor(container, function () {n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext);n if (callback) {n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);n }n });nn return prevComponent;n },nn /**n * Render a new component into the DOM. Hooked by hooks!n *n * @param {ReactElement} nextElement element to rendern * @param {DOMElement} container container to render inton * @param {boolean} shouldReuseMarkup if we should skip the markup insertionn * @return {ReactComponent} nextComponentn */n _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {n // Various parts of our code (such as ReactCompositeComponent'sn // _renderValidatedComponent) assume that calls to render aren't nested;n // verify that that's the case.n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;nn !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(…): Target container is not a DOM element.') : _prodInvariant('37') : void 0;nn ReactBrowserEventEmitter.ensureScrollValueMonitoring();n var componentInstance = instantiateReactComponent(nextElement, false);nn // The initial render is synchronous but any updates that happen duringn // rendering, in componentWillMount or componentDidMount, will be batchedn // according to the current batching strategy.nn ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);nn var wrapperID = componentInstance._instance.rootID;n instancesByReactRootID = componentInstance;nn return componentInstance;n },nn /**n * Renders a React component into the DOM in the supplied `container`.n *n * If the React component was previously rendered into `container`, this willn * perform an update on it and only mutate the DOM as necessary to reflect then * latest React component.n *n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.n * @param {ReactElement} nextElement Component element to render.n * @param {DOMElement} container DOM element to render into.n * @param {?function} callback function triggered on completionn * @return {ReactComponent} Component instance rendered in `container`.n */n renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {n !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0;n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);n },nn _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {n ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');n !ReactElement.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' :n // Check if it quacks like an elementn nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;nn process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;nn var nextWrappedElement = ReactElement(TopLevelWrapper, null, null, null, null, null, nextElement);nn var nextContext;n if (parentComponent) {n var parentInst = ReactInstanceMap.get(parentComponent);n nextContext = parentInst._processChildContext(parentInst._context);n } else {n nextContext = emptyObject;n }nn var prevComponent = getTopLevelWrapperInContainer(container);nn if (prevComponent) {n var prevWrappedElement = prevComponent._currentElement;n var prevElement = prevWrappedElement.props;n if (shouldUpdateReactComponent(prevElement, nextElement)) {n var publicInst = prevComponent._renderedComponent.getPublicInstance();n var updatedCallback = callback && function () {n callback.call(publicInst);n };n ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback);n return publicInst;n } else {n ReactMount.unmountComponentAtNode(container);n }n }nn var reactRootElement = getReactRootElementInContainer(container);n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);n var containerHasNonRootReactChild = hasNonRootReactChild(container);nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(…): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;nn if (!containerHasReactMarkup || reactRootElement.nextSibling) {n var rootElementSibling = reactRootElement;n while (rootElementSibling) {n if (internalGetID(rootElementSibling)) {n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;n break;n }n rootElementSibling = rootElementSibling.nextSibling;n }n }n }nn var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance();n if (callback) {n callback.call(component);n }n return component;n },nn /**n * Renders a React component into the DOM in the supplied `container`.n * See facebook.github.io/react/docs/top-level-api.html#reactdom.rendern *n * If the React component was previously rendered into `container`, this willn * perform an update on it and only mutate the DOM as necessary to reflect then * latest React component.n *n * @param {ReactElement} nextElement Component element to render.n * @param {DOMElement} container DOM element to render into.n * @param {?function} callback function triggered on completionn * @return {ReactComponent} Component instance rendered in `container`.n */n render: function (nextElement, container, callback) {n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);n },nn /**n * Unmounts and destroys the React component rendered in the `container`.n * See facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnoden *n * @param {DOMElement} container DOM element containing a React component.n * @return {boolean} True if a component was found in and unmounted fromn * `container`n */n unmountComponentAtNode: function (container) {n // Various parts of our code (such as ReactCompositeComponent'sn // _renderValidatedComponent) assume that calls to render aren't nested;n // verify that that's the case. (Strictly speaking, unmounting won't cause an // render but we still don't expect to be in a render call here.)n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;nn !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(…): Target container is not a DOM element.') : _prodInvariant('40') : void 0;nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;n }nn var prevComponent = getTopLevelWrapperInContainer(container);n if (!prevComponent) {n // Check if the node being unmounted was rendered by React, but isn't an // root node.n var containerHasNonRootReactChild = hasNonRootReactChild(container);nn // Check if the container itself is a React root node.n var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;n }nn return false;n }n delete instancesByReactRootID;n ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);n return true;n },nn _mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(…): Target container is not valid.') : _prodInvariant('41') : void 0;nn if (shouldReuseMarkup) {n var rootElement = getReactRootElementInContainer(container);n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {n ReactDOMComponentTree.precacheNode(instance, rootElement);n return;n } else {n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);nn var rootMarkup = rootElement.outerHTML;n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);nn var normalizedMarkup = markup;n if (process.env.NODE_ENV !== 'production') {n // because rootMarkup is retrieved from the DOM, various normalizationsn // will have occurred which will not be present in `markup`. Here,n // insert markup into a <div> or <iframe> depending on the containern // type to perform the same normalizations before comparing.n var normalizer;n if (container.nodeType === ELEMENT_NODE_TYPE) {n normalizer = document.createElement('div');n normalizer.innerHTML = markup;n normalizedMarkup = normalizer.innerHTML;n } else {n normalizer = document.createElement('iframe');n document.body.appendChild(normalizer);n normalizer.contentDocument.write(markup);n normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;n document.body.removeChild(normalizer);n }n }nn var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);n var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);nn !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s', difference) : _prodInvariant('42', difference) : void 0;nn if (process.env.NODE_ENV !== 'production') {n process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : void 0;n }n }n }nn !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\'re trying to render a component to the document but you didn\'t use server rendering. We can\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0;nn if (transaction.useCreateElement) {n while (container.lastChild) {n container.removeChild(container.lastChild);n }n DOMLazyTree.insertTreeBefore(container, markup, null);n } else {n setInnerHTML(container, markup);n ReactDOMComponentTree.precacheNode(instance, container.firstChild);n }nn if (process.env.NODE_ENV !== 'production') {n var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild);n if (hostNode._debugID !== 0) {n ReactInstrumentation.debugTool.onHostOperation(hostNode._debugID, 'mount', markup.toString());n }n }n }n};nnmodule.exports = ReactMount;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactMount.jsn ** module id = 162n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMContainerInfon */nn'use strict';nnvar validateDOMNesting = require('./validateDOMNesting');nnvar DOC_NODE_TYPE = 9;nnfunction ReactDOMContainerInfo(topLevelWrapper, node) {n var info = {n _topLevelWrapper: topLevelWrapper,n _idCounter: 1,n _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null,n _node: node,n _tag: node ? node.nodeName.toLowerCase() : null,n _namespaceURI: node ? node.namespaceURI : nulln };n if (process.env.NODE_ENV !== 'production') {n info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null;n }n return info;n}nnmodule.exports = ReactDOMContainerInfo;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMContainerInfo.jsn ** module id = 163n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMFeatureFlagsn */nn'use strict';nnvar ReactDOMFeatureFlags = {n useCreateElement: truen};nnmodule.exports = ReactDOMFeatureFlags;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMFeatureFlags.jsn ** module id = 164n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactMarkupChecksumn */nn'use strict';nnvar adler32 = require('./adler32');nnvar TAG_END = /\/?>/;nvar COMMENT_START = /^<\!\-\-/;nnvar ReactMarkupChecksum = {n CHECKSUM_ATTR_NAME: 'data-react-checksum',nn /**n * @param {string} markup Markup stringn * @return {string} Markup string with checksum attribute attachedn */n addChecksumToMarkup: function (markup) {n var checksum = adler32(markup);nn // Add checksum (handle both parent tags, comments and self-closing tags)n if (COMMENT_START.test(markup)) {n return markup;n } else {n return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '"$&');n }n },nn /**n * @param {string} markup to usen * @param {DOMElement} element root React elementn * @returns {boolean} whether or not the markup is the samen */n canReuseMarkup: function (markup, element) {n var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);n existingChecksum = existingChecksum && parseInt(existingChecksum, 10);n var markupChecksum = adler32(markup);n return markupChecksum === existingChecksum;n }n};nnmodule.exports = ReactMarkupChecksum;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactMarkupChecksum.jsn ** module id = 165n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule adler32n * n */nn'use strict';nnvar MOD = 65521;nn// adler32 is not cryptographically strong, and is only used to sanity check thatn// markup generated on the server matches the markup generated on the client.n// This implementation (a modified version of the SheetJS version) has been optimizedn// for our use case, at the expense of conforming to the adler32 specificationn// for non-ascii inputs.nfunction adler32(data) {n var a = 1;n var b = 0;n var i = 0;n var l = data.length;n var m = l & ~0x3;n while (i < m) {n var n = Math.min(i + 4096, m);n for (; i < n; i += 4) {n b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));n }n a %= MOD;n b %= MOD;n }n for (; i < l; i++) {n b += a += data.charCodeAt(i);n }n a %= MOD;n b %= MOD;n return a | b << 16;n}nnmodule.exports = adler32;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/adler32.jsn ** module id = 166n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule findDOMNoden */nn'use strict';nnvar _prodInvariant = require('./reactProdInvariant');nnvar ReactCurrentOwner = require('./ReactCurrentOwner');nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');nvar ReactInstanceMap = require('./ReactInstanceMap');nnvar getHostComponentFromComposite = require('./getHostComponentFromComposite');nvar invariant = require('fbjs/lib/invariant');nvar warning = require('fbjs/lib/warning');nn/**n * Returns the DOM node rendered by this element.n *n * See facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnoden *n * @param {ReactComponent|DOMElement} componentOrElementn * @return {?DOMElement} The root node of this element.n */nfunction findDOMNode(componentOrElement) {n if (process.env.NODE_ENV !== 'production') {n var owner = ReactCurrentOwner.current;n if (owner !== null) {n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;n owner._warnedAboutRefsInRender = true;n }n }n if (componentOrElement == null) {n return null;n }n if (componentOrElement.nodeType === 1) {n return componentOrElement;n }nn var inst = ReactInstanceMap.get(componentOrElement);n if (inst) {n inst = getHostComponentFromComposite(inst);n return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;n }nn if (typeof componentOrElement.render === 'function') {n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0;n } else {n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0;n }n}nnmodule.exports = findDOMNode;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/findDOMNode.jsn ** module id = 167n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule getHostComponentFromCompositen */nn'use strict';nnvar ReactNodeTypes = require('./ReactNodeTypes');nnfunction getHostComponentFromComposite(inst) {n var type;nn while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) {n inst = inst._renderedComponent;n }nn if (type === ReactNodeTypes.HOST) {n return inst._renderedComponent;n } else if (type === ReactNodeTypes.EMPTY) {n return null;n }n}nnmodule.exports = getHostComponentFromComposite;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/getHostComponentFromComposite.jsn ** module id = 168n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n n @providesModule renderSubtreeIntoContainern*/nn'use strict';nnvar ReactMount = require('./ReactMount');nnmodule.exports = ReactMount.renderSubtreeIntoContainer;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/renderSubtreeIntoContainer.jsn ** module id = 169n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMUnknownPropertyHookn */nn'use strict';nnvar DOMProperty = require('./DOMProperty');nvar EventPluginRegistry = require('./EventPluginRegistry');nvar ReactComponentTreeHook = require('./ReactComponentTreeHook');nnvar warning = require('fbjs/lib/warning');nnif (process.env.NODE_ENV !== 'production') {n var reactProps = {n children: true,n dangerouslySetInnerHTML: true,n key: true,n ref: true,nn autoFocus: true,n defaultValue: true,n valueLink: true,n defaultChecked: true,n checkedLink: true,n innerHTML: true,n suppressContentEditableWarning: true,n onFocusIn: true,n onFocusOut: truen };n var warnedProperties = {};nn var validateProperty = function (tagName, name, debugID) {n if (DOMProperty.properties.hasOwnProperty(name) || DOMProperty.isCustomAttribute(name)) {n return true;n }n if (reactProps.hasOwnProperty(name) && reactProps || warnedProperties.hasOwnProperty(name) && warnedProperties) {n return true;n }n if (EventPluginRegistry.registrationNameModules.hasOwnProperty(name)) {n return true;n }n warnedProperties = true;n var lowerCasedName = name.toLowerCase();nn // data-* attributes should be lowercase; suggest the lowercase versionn var standardName = DOMProperty.isCustomAttribute(lowerCasedName) ? lowerCasedName : DOMProperty.getPossibleStandardName.hasOwnProperty(lowerCasedName) ? DOMProperty.getPossibleStandardName : null;nn var registrationName = EventPluginRegistry.possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? EventPluginRegistry.possibleRegistrationNames : null;nn if (standardName != null) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown DOM property %s. Did you mean %s?%s', name, standardName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;n return true;n } else if (registrationName != null) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown event handler property %s. Did you mean `%s`?%s', name, registrationName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;n return true;n } else {n // We were unable to guess which prop the user intended.n // It is likely that the user was just blindly spreading/forwarding propsn // Components should be careful to only render valid props/attributes.n // Warning will be invoked in warnUnknownProperties to allow grouping.n return false;n }n };n}nnvar warnUnknownProperties = function (debugID, element) {n var unknownProps = [];n for (var key in element.props) {n var isValid = validateProperty(element.type, key, debugID);n if (!isValid) {n unknownProps.push(key);n }n }nn var unknownPropString = unknownProps.map(function (prop) {n return '`' + prop + '`';n }).join(', ');nn if (unknownProps.length === 1) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown prop %s on <%s> tag. Remove this prop from the element. ' + 'For details, see fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;n } else if (unknownProps.length > 1) {n process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown props %s on <%s> tag. Remove these props from the element. ' + 'For details, see fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;n }n};nnfunction handleElement(debugID, element) {n if (element == null || typeof element.type !== 'string') {n return;n }n if (element.type.indexOf('-') >= 0 || element.props.is) {n return;n }n warnUnknownProperties(debugID, element);n}nnvar ReactDOMUnknownPropertyHook = {n onBeforeMountComponent: function (debugID, element) {n handleElement(debugID, element);n },n onBeforeUpdateComponent: function (debugID, element) {n handleElement(debugID, element);n }n};nnmodule.exports = ReactDOMUnknownPropertyHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMUnknownPropertyHook.jsn ** module id = 170n ** module chunks = 0n **/“,”/**n * Copyright 2013-present, Facebook, Inc.n * All rights reserved.n *n * This source code is licensed under the BSD-style license found in then * LICENSE file in the root directory of this source tree. An additional grantn * of patent rights can be found in the PATENTS file in the same directory.n *n * @providesModule ReactDOMNullInputValuePropHookn */nn'use strict';nnvar ReactComponentTreeHook = require('./ReactComponentTreeHook');nnvar warning = require('fbjs/lib/warning');nnvar didWarnValueNull = false;nnfunction handleElement(debugID, element) {n if (element == null) {n return;n }n if (element.type !== 'input' && element.type !== 'textarea' && element.type !== 'select') {n return;n }n if (element.props != null && element.props.value === null && !didWarnValueNull) {n process.env.NODE_ENV !== 'production' ? warning(false, '`value` prop on `%s` should not be null. ' + 'Consider using the empty string to clear the component or `undefined` ' + 'for uncontrolled components.%s', element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;nn didWarnValueNull = true;n }n}nnvar ReactDOMNullInputValuePropHook = {n onBeforeMountComponent: function (debugID, element) {n handleElement(debugID, element);n },n onBeforeUpdateComponent: function (debugID, element) {n handleElement(debugID, element);n }n};nnmodule.exports = ReactDOMNullInputValuePropHook;nnn/*****************n ** WEBPACK FOOTERn ** ./~/react/lib/ReactDOMNullInputValuePropHook.jsn ** module id = 171n ** module chunks = 0n **/“,”import React, { PropTypes } from 'react';nnimport DiffImages from './DiffImages';nimport NewImages from './NewImages';nimport imageShape from './imageShape';nnfunction HappoDiffs({ pageTitle, generatedAt, diffImages, newImages }) {n return (n <div>n <header className='HappoDiffs__header'>n <h1 className='HappoDiffs__headerTitle'>n {pageTitle}n </h1>n <div className='HappoDiffs__headerTime'>n Generated: {generatedAt}n </div>n </header>nn <main className='HappoDiffs__main'>n <DiffImagesn images={diffImages}n />n <NewImagesn images={newImages}n />n </main>n </div>n );n}nHappoDiffs.propTypes = {n pageTitle: PropTypes.string.isRequired,n diffImages: PropTypes.arrayOf(imageShape).isRequired,n newImages: PropTypes.arrayOf(imageShape).isRequired,n generatedAt: PropTypes.string.isRequired,n};nnwindow.HappoDiffs = HappoDiffs;nnnn/** WEBPACK FOOTER **n ** ./js/src/HappoDiffs.jsxn **/“,”import React, { PropTypes } from 'react';nnimport { DiffController } from './Diff';nimport InlineLink from './InlineLink';nimport imageShape from './imageShape';nnexport default function DiffImages({ images }) {n if (!images.length) {n return null;n }nn return (n <div>n <h2 id='diffs'>n <InlineLink to='diffs'>n Diffs ({ images.length })n </InlineLink>n </h2>nn {images.map((image) => (n <DiffControllern key={image.current}n image={image}n />n ))}n </div>n );n}nDiffImages.propTypes = {n images: PropTypes.arrayOf(PropTypes.shape(imageShape)).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/DiffImages.jsxn **/“,”import React, { PropTypes } from 'react';nnimport ImageHeading from './ImageHeading';nimport SelectedView from './SelectedView';nimport VIEWS from './VIEWS';nimport imageShape from './imageShape';nnexport class DiffController extends React.Component {n constructor(props) {n super(props);n this.state = {n selectedView: VIEWS.SIDE_BY_SIDE,n };nn this.handleClick = this.handleClick.bind(this);n }nn handleClick(view) {n this.setState({ selectedView: view });n }nn render() {n return (n <Diffn image={this.props.image}n selectedView={this.state.selectedView}n onClick={this.handleClick}n />n );n }n}nDiffController.propTypes = {n image: PropTypes.shape(imageShape).isRequired,n};nnexport default function Diff({ image, selectedView, onClick }) {n return (n <div>n <ImageHeadingn image={image}n />n <div className='Diff__buttons'>n {Object.keys(VIEWS).map(key => VIEWS).map((view, i) => {n const classes = ['Diff__button'];n if (i === 0) {n classes.push('Diff__button–first');n } else if (i === Object.keys(VIEWS).length - 1) {n classes.push('Diff__button–last');n }nn return (n <buttonn key={view}n className={classes.join(' ')}n aria-pressed={view === selectedView}n onClick={() => { onClick(view); }}n >n {view}n </button>n );n })}n </div>n <div className='Diff__images'>n <SelectedView image={image} selectedView={selectedView} />n </div>n </div>n );n}nDiff.propTypes = {n image: PropTypes.shape(imageShape).isRequired,n onClick: PropTypes.func.isRequired,n selectedView: PropTypes.oneOf(Object.keys(VIEWS).map(key => VIEWS)).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/Diff.jsxn **/“,”import React, { PropTypes } from 'react';nnimport InlineLink from './InlineLink';nimport imageShape from './imageShape';nimport imageSlug from './imageSlug';nnexport default function ImageHeading({ image }) {n return (n <h3 id={imageSlug(image)}>n <InlineLink to={imageSlug(image)}>n {image.description}n {' @ '}n {image.viewport}n </InlineLink>n </h3>n );n}nImageHeading.propTypes = {n image: PropTypes.shape(imageShape).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/ImageHeading.jsxn **/“,”import React, { PropTypes } from 'react';nnexport default function InlineLink({ children, to }) {n return (n <a className='InlineLink' href={`#${to}`}>n {children}n </a>n );n}nInlineLink.propTypes = {n children: PropTypes.node.isRequired,n to: PropTypes.string.isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/InlineLink.jsxn **/“,”import { PropTypes } from 'react';nnexport default {n description: PropTypes.string.isRequired,n viewport: PropTypes.string.isRequired,n diff: PropTypes.string,n previous: PropTypes.string,n current: PropTypes.string.isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/imageShape.jsn **/“,”export default function imageSlug(image) {n return btoa(image.description + image.viewport);n}nnnn/** WEBPACK FOOTER **n ** ./js/src/imageSlug.jsn **/“,”import React, { PropTypes } from 'react';nnimport LCSDiff from './LCSDiff';nimport SideBySide from './SideBySide';nimport Swiper from './Swiper';nimport VIEWS from './VIEWS';nimport imageShape from './imageShape';nnexport default function SelectedView({ image, selectedView }) {n if (selectedView === VIEWS.SIDE_BY_SIDE) {n return (n <SideBySiden previous={image.previous}n current={image.current}n />n );n }nn if (selectedView === VIEWS.DIFF) {n return (n <LCSDiffn previous={image.previous}n current={image.current}n />n );n }nn if (selectedView === VIEWS.SWIPE) {n return (n <Swipern previous={image.previous}n current={image.current}n />n );n }n}nSelectedView.propTypes = {n image: PropTypes.shape(imageShape).isRequired,n selectedView: PropTypes.oneOf(Object.keys(VIEWS).map(key => VIEWS)).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/SelectedView.jsxn **/“,”import React, { PropTypes } from 'react';nnimport getDiffPixel from './getDiffPixel';nimport getImageData from './getImageData';nnexport default class LCSDiff extends React.Component {n constructor(props) {n super(props);n this.state = {n previousData: null,n currentData: null,n };n }nn componentDidMount() {n const { previous, current } = this.props;nn getImageData(previous).then((previousData) => {n this.setState({ previousData });n });nn getImageData(current).then((currentData) => {n this.setState({ currentData });n });n }nn render() {n const { previousData, currentData } = this.state;nn let maxWidth;n let maxHeight;nn if (previousData && currentData) {n maxWidth = Math.max(previousData.width, currentData.width);n maxHeight = Math.max(previousData.height, currentData.height);nn setTimeout(() => {n const context = this.canvas.getContext('2d');n const diffImage = context.createImageData(maxWidth, maxHeight);n const d = diffImage.data;nn for (let y = 0; y < maxHeight; y++) {n for (let x = 0; x < maxWidth; x++) {n const pixel = getDiffPixel(n previousData.getPixelAt(x, y),n currentData.getPixelAt(x, y)n );n const index = ((y * maxWidth) + x) * 4;nn d[index + 0] = pixel; // rn d[index + 1] = pixel; // gn d[index + 2] = pixel; // bn d[index + 3] = pixel; // an }n }nn context.putImageData(diffImage, 0, 0);n }, 0);n }nn return (n <canvasn width={maxWidth}n height={maxHeight}n ref={(node) => { this.canvas = node; }}n />n );n }n}nLCSDiff.propTypes = {n previous: PropTypes.string.isRequired,n current: PropTypes.string.isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/LCSDiff.jsxn **/“,”import euclideanDistance from './euclideanDistance';nnexport default function getDiffPixel(previousPixel, currentPixel) {n if (!previousPixel) {n return currentPixel;n }nn if (!currentPixel) {n return previousPixel;n }nn let diff = euclideanDistance(previousPixel, currentPixel);n if (diff === 0) {n return [n currentPixel,n currentPixel,n currentPixel,n 50,n ];n }nn if (diff < 0.2) {n diff = 0.2;n }n return [255, 0, 0, 255 * diff]; // TODO don't use red heren}nnnn/** WEBPACK FOOTER **n ** ./js/src/getDiffPixel.jsn **/“,”/**n * Compute a score that represents the difference between 2 pixelsn *n * This method simply takes the Euclidean distance between the RGBA channelsn * of 2 colors over the maximum possible Euclidean distance. This gives us an * percentage of how different the two colors are.n *n * Although it would be more perceptually accurate to calculate a propern * Delta E in Lab colorspace, we probably don't need perceptual accuracy forn * this application, and it is nice to avoid the overhead of converting RGBAn * to Lab.n *n * Returns a float number between 0 and 1 where 1 is completely differentn * and 0 is no differencen */nexport default function euclideanDistance(rgb1, rgb2) {n let distance = 0;n for (let i = 0; i < rgb1.length; i++) {n distance += (rgb1 - rgb2) * (rgb1 - rgb2);n }n return (Math.sqrt(distance) / rgb1.length) / 255;n}nnnn/** WEBPACK FOOTER **n ** ./js/src/euclideanDistance.jsn **/“,”export default function getImageData(src) {n return new Promise((resolve) => {n const imageObj = new Image();n imageObj.onload = () => {n const { width, height } = imageObj;n const canvas = document.createElement('canvas');n canvas.width = width;n canvas.height = height;n const context = canvas.getContext('2d');nn context.drawImage(imageObj, 0, 0);nn const imageData = context.getImageData(0, 0, width, height).data;nn // The imageData is a 1D array. Each element in the array corresponds to an // decimal value that represents one of the RGBA channels for that pixel.n const rowSize = width * 4;n const getPixelAt = (x, y) => {n if (x > width || y > height) {n return undefined;n }nn const startIndex = (y * rowSize) + (x * 4);n return [n imageData,n imageData[startIndex + 1],n imageData[startIndex + 2],n imageData[startIndex + 3],n ];n };nn resolve({ getPixelAt, width, height });n };n imageObj.src = src;n });n}nnnn/** WEBPACK FOOTER **n ** ./js/src/getImageData.jsn **/“,”import React, { PropTypes } from 'react';nnexport default function SideBySide({ previous, current }) {n return (n <div className='SideBySide'>n <imgn className='SideBySide__image'n role='presentation'n src={previous}n title='Before'n />n {' '}n <imgn className='SideBySide__image'n role='presentation'n src={current}n title='After'n />n </div>n );n}nSideBySide.propTypes = {n previous: PropTypes.string.isRequired,n current: PropTypes.string.isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/SideBySide.jsxn **/“,”import React, { PropTypes } from 'react';nnimport maxImageSize from './maxImageSize';nnexport default class Swiper extends React.Component {n constructor(props) {n super(props);n this.state = {n cursorLeft: 0,n height: 'auto',n width: 'auto',n };n this.handleMouseMove = this.handleMouseMove.bind(this);n }nn componentWillMount() {n this.updateSize(this.props)n .then(({ width }) => {n // Start in the centern this.setState({ cursorLeft: width / 2 });n });n }nn componentWillReceiveProps(nextProps) {n this.updateSize(nextProps);n }nn updateSize({ current, previous }) {n const sizes = maxImageSize(current, previous)n .then(({ width, height }) => {n this.setState({ width, height });n return { width, height };n });nn return Promise.resolve(sizes);n }nn handleMouseMove(event) {n this.setState({n cursorLeft: event.pageX - event.target.offsetLeft,n });n }nn render() {n const { previous, current } = this.props;n const { cursorLeft, height, width } = this.state;nn return (n <divn className='Swiper'n style={{ height, width }}n onMouseMove={this.handleMouseMove}n >n <divn className='Swiper__image'n style={{ width: cursorLeft }}n >n <imgn src={previous}n role='presentation'n />n </div>nn <divn className='Swiper__image'n style={{n transform: `translateX(${cursorLeft}px)`,n width: width - cursorLeft,n }}n >n <imgn src={current}n style={{n transform: `translateX(-${cursorLeft}px)`,n }}n role='presentation'n />n </div>nn <divn className='Swiper__cursor'n style={{n transform: `translateX(${cursorLeft}px)`,n }}n />n </div>n );n }n}nSwiper.propTypes = {n previous: PropTypes.string.isRequired,n current: PropTypes.string.isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/Swiper.jsxn **/“,”export default function maxImageSize(…imageUrls) {n const dimensions = {};nn return new Promise((resolve, reject) => {n imageUrls.forEach((url, i) => {n const image = new Image();nn image.onerrer = function handleImageError(e) {n reject(e);n };nn image.onload = function handleImageLoad() {n const { width, height } = this;nn // Use the index in case the URL is somehow duplicated.n dimensions = { width, height };nn if (Object.keys(dimensions).length >= imageUrls.length) {n // We are done, so compute the max width and height and resolve.n const values = Object.keys(dimensions).map(key => dimensions);n const maxWidth = Math.max(…values.map(value => value.width));n const maxHeight = Math.max(…values.map(value => value.height));n resolve({ width: maxWidth, height: maxHeight });n }n };nn image.src = url;n });n });n}nnnn/** WEBPACK FOOTER **n ** ./js/src/maxImageSize.jsn **/“,”export default {n SIDE_BY_SIDE: 'Side-by-side',n SWIPE: 'Swipe',n DIFF: 'Diff',n};nnnn/** WEBPACK FOOTER **n ** ./js/src/VIEWS.jsn **/“,”import React, { PropTypes } from 'react';nnimport InlineLink from './InlineLink';nimport NewImage from './NewImage';nimport imageShape from './imageShape';nnexport default function NewImages({ images }) {n if (!images.length) {n return null;n }nn return (n <div>n <h2 id='new'>n <InlineLink to='new'>n New examples ({ images.length })n </InlineLink>n </h2>nn {images.map((image) => (n <NewImagen key={image.current}n image={image}n />n ))}n </div>n );n}nNewImages.propTypes = {n images: PropTypes.arrayOf(PropTypes.shape(imageShape)).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/NewImages.jsxn **/“,”import React, { PropTypes } from 'react';nnimport ImageHeading from './ImageHeading';nimport imageShape from './imageShape';nnexport default function NewImage({ image }) {n return (n <div>n <ImageHeadingn image={image}n />n <imgn role='presentation'n src={image.current}n />n </div>n );n}nNewImage.propTypes = {n image: PropTypes.shape(imageShape).isRequired,n};nnnn/** WEBPACK FOOTER **n ** ./js/src/NewImage.jsxn **/“],”sourceRoot“:”“}