From d048bdae4e424e920736861b26c4e6e5ad72db81 Mon Sep 17 00:00:00 2001 From: alexkhalevine <30685766+alexkhalevine@users.noreply.github.com> Date: Thu, 11 Apr 2019 09:38:24 +0200 Subject: [PATCH] add-onFocus-to-rangeSlider (#491) * added optional onFocus event for rangeslider that can be used for GA * bumped version --- docs/iframe.html | 2 +- docs/main.83669f2b005ee258e7d6.bundle.js | 2 -- docs/main.e60190c357946296b8a1.bundle.js | 2 ++ ....bundle.js.map => main.e60190c357946296b8a1.bundle.js.map} | 2 +- ....bundle.js => runtime~main.e60190c357946296b8a1.bundle.js} | 2 +- ...js.map => runtime~main.e60190c357946296b8a1.bundle.js.map} | 2 +- ....bundle.js => vendors~main.e60190c357946296b8a1.bundle.js} | 2 +- ...js.map => vendors~main.e60190c357946296b8a1.bundle.js.map} | 2 +- package.json | 2 +- src/components/RangeSlider/index.jsx | 4 ++++ src/components/RangeSlider/story.js | 4 +++- tests/RangeSlider.test.jsx | 3 ++- tests/__snapshots__/RangeSlider.test.jsx.snap | 1 + 13 files changed, 19 insertions(+), 11 deletions(-) delete mode 100644 docs/main.83669f2b005ee258e7d6.bundle.js create mode 100644 docs/main.e60190c357946296b8a1.bundle.js rename docs/{main.83669f2b005ee258e7d6.bundle.js.map => main.e60190c357946296b8a1.bundle.js.map} (96%) rename docs/{runtime~main.83669f2b005ee258e7d6.bundle.js => runtime~main.e60190c357946296b8a1.bundle.js} (97%) rename docs/{runtime~main.83669f2b005ee258e7d6.bundle.js.map => runtime~main.e60190c357946296b8a1.bundle.js.map} (98%) rename docs/{vendors~main.83669f2b005ee258e7d6.bundle.js => vendors~main.e60190c357946296b8a1.bundle.js} (99%) rename docs/{vendors~main.83669f2b005ee258e7d6.bundle.js.map => vendors~main.e60190c357946296b8a1.bundle.js.map} (99%) diff --git a/docs/iframe.html b/docs/iframe.html index f00d230e1..1c4bf718b 100644 --- a/docs/iframe.html +++ b/docs/iframe.html @@ -57,4 +57,4 @@ console.warn('unable to connect to parent frame for connecting dev tools'); }

No Preview

Sorry, but you either have no stories or none are selected somehow.

     
-  
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/main.83669f2b005ee258e7d6.bundle.js b/docs/main.83669f2b005ee258e7d6.bundle.js deleted file mode 100644 index bdae3d42f..000000000 --- a/docs/main.83669f2b005ee258e7d6.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{100:function(module,exports,__webpack_require__){var content=__webpack_require__(889);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},101:function(module,exports,__webpack_require__){var content=__webpack_require__(908);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},102:function(module,exports,__webpack_require__){var content=__webpack_require__(918);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},114:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Label});__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),_index_scss__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(5);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function Label(_ref){var classNames=_ref.classNames,id=_ref.id,isTitle=_ref.isTitle,labelHidden=_ref.labelHidden,value=_ref.value,hidden=labelHidden?_index_scss__WEBPACK_IMPORTED_MODULE_8__.srOnly:"",allClassNames="".concat(classNames," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_8__.controlLabel," ").concat(hidden);return isTitle?react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",{className:allClassNames},value):"string"==typeof value?react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("label",{htmlFor:id,className:allClassNames},value):react__WEBPACK_IMPORTED_MODULE_6___default.a.cloneElement(value,function(target){for(var i=1;i=arguments.length?void 0:arguments[0]).target,_this$props=_this.props,dynamicTextareaHeight=_this$props.dynamicTextareaHeight,highlightList=_this$props.highlightList,multiLine=_this$props.multiLine,onChange=_this$props.onChange,sanitizeValue=_this$props.sanitizeValue;_this.updateValue(sanitizeValue(target.value)),onChange&&onChange.apply(void 0,arguments),dynamicTextareaHeight&&multiLine&&_this.setDynamicTextAreaHeight(target),highlightList&&_this.setState({highlightedContent:_this.getHighlightedContent(target.value)}),_this.hideError()}),_defineProperty(_assertThisInitialized(_this),"getItem",function(_ref2){var children=_ref2.props.children,_this$props2=_this.props,displayLength=_this$props2.displayLength,maxLength=_this$props2.maxLength,requiredLabel=_this$props2.requiredLabel,value=_this$props2.value;return maxLength||requiredLabel?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_15___default.a.Fragment,null,children,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_InfoLabel__WEBPACK_IMPORTED_MODULE_19__.a,{displayLength:displayLength,inputValue:value,maxLength:maxLength,requiredLabel:requiredLabel})):children}),_defineProperty(_assertThisInitialized(_this),"getHighlightedContent",function(contents){var userInputArray=contents.split(/([^a-zA-Z]+)/),_this$props3=_this.props,highlightList=_this$props3.highlightList,onHighlight=_this$props3.onHighlight;return userInputArray.map(function(part){return highlightList[part.toLowerCase()]?(onHighlight(),react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.highlighted,key:part},part)):part})}),_defineProperty(_assertThisInitialized(_this),"setDynamicTextAreaHeight",function(target){var minHeight=_this.props.minHeight,textAreaHeight=_this.state.textAreaHeight,currentHeight=target.scrollHeight,newHeight=+textAreaHeight>currentHeight?currentHeight-20:currentHeight;newHeight>(minHeight||134)&&_this.setState({textAreaHeight:newHeight})}),_defineProperty(_assertThisInitialized(_this),"textAreaStyles",function(){var _this$props4=_this.props,highlightList=_this$props4.highlightList,minHeight=_this$props4.minHeight,textAreaHeight=_this.state.textAreaHeight,textAreaStyles={};return highlightList&&minHeight&&(textAreaStyles.minHeight=minHeight),textAreaHeight&&(textAreaStyles.height="".concat(textAreaHeight,"px")),textAreaStyles}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(TextField,react__WEBPACK_IMPORTED_MODULE_15___default.a.Component),Constructor=TextField,(protoProps=[{key:"componentWillMount",value:function(){var _this$props5=this.props,error=_this$props5.error,name=_this$props5.name,query=_this$props5.query,value=_this$props5.value,queryObject=Object(utils_params__WEBPACK_IMPORTED_MODULE_17__.a)(query);this.updateValue(queryObject[name]||value||""),null!==error&&this.showError()}},{key:"componentWillReceiveProps",value:function(nextProps){var name=this.props.name,queryObject=Object(utils_params__WEBPACK_IMPORTED_MODULE_17__.a)(nextProps.query);if(nextProps.error)this.showError();else{if(!this.needsUpdate(nextProps))return;this.updateValue(queryObject[name]||nextProps.value||"")}}},{key:"showError",value:function(){this.setState({showError:!0})}},{key:"hideError",value:function(){this.setState({showError:!1})}},{key:"updateValue",value:function(value){this.setState({value:value})}},{key:"needsUpdate",value:function(_ref3){var value=_ref3.value,query=_ref3.query,_this$props6=this.props,pValue=_this$props6.value,pQuery=_this$props6.query;return value!==pValue||query!==pQuery}},{key:"hasError",value:function(){var showError=this.state.showError,error=this.props.error;return showError&&error}},{key:"render",value:function(){var _this$props7=this.props,autoComplete=_this$props7.autoComplete,autoFocus=_this$props7.autoFocus,disable=_this$props7.disable,error=_this$props7.error,errorSubInfo=_this$props7.errorSubInfo,highlightList=_this$props7.highlightList,id=_this$props7.id,isRequired=_this$props7.isRequired,label=_this$props7.label,labelHidden=_this$props7.labelHidden,maxLength=_this$props7.maxLength,multiLine=_this$props7.multiLine,name=_this$props7.name,onBlur=_this$props7.onBlur,onFocus=_this$props7.onFocus,pattern=_this$props7.pattern,placeholder=_this$props7.placeholder,reference=_this$props7.reference,rows=_this$props7.rows,title=_this$props7.title,type=_this$props7.type,_this$state=this.state,highlightedContent=_this$state.highlightedContent,value=_this$state.value;return react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:this.containerClassNames,id:"".concat(name,"-container")},labelHidden&&react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.srOnly},label),this.label,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.inputContainer},highlightList?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.highlightOverlay," ").concat(this.textFieldClassNames)},highlightedContent):null,multiLine?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("textarea",{autoFocus:autoFocus,className:this.textFieldClassNames,disabled:disable,id:id,maxLength:maxLength,name:name,onBlur:onBlur,onChange:this.onChange,onFocus:onFocus,pattern:pattern,placeholder:placeholder,ref:reference,required:isRequired,rows:rows,style:this.textAreaStyles(),value:value}):react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("input",{autoComplete:autoComplete,autoFocus:autoFocus,className:this.textFieldClassNames,disabled:disable,id:id,maxLength:maxLength,name:name,onBlur:onBlur,onChange:this.onChange,onFocus:onFocus,pattern:pattern,placeholder:placeholder,ref:reference,required:isRequired,title:title,type:type,value:value}),this.hasError()&&react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_Error__WEBPACK_IMPORTED_MODULE_18__.a,{info:error,subInfo:errorSubInfo})))}},{key:"labelClassNames",get:function(){var _this$props8=this.props,inputStyle=_this$props8.inputStyle,labelHidden=_this$props8.labelHidden,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabel],inputStyles=inputStyle.split(" ");return labelHidden&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.hidden),this.hasError()&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabelError),-1!==inputStyles.indexOf("mediumSize")&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabelMediumSize),classNames.join(" ")}},{key:"textFieldClassNames",get:function(){var _this$props9=this.props,highlightList=_this$props9.highlightList,multiLine=_this$props9.multiLine,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formControl];return multiLine&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.textarea),multiLine&&highlightList&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.dynamicHeight),this.hasError()&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formControlError),classNames.join(" ")}},{key:"containerClassNames",get:function(){var _this$props10=this.props,displayLength=_this$props10.displayLength,inputStyle=_this$props10.inputStyle,requiredLabel=_this$props10.requiredLabel,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formGroup];return inputStyle.split(" ").map(function(style){return classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a[style])}),(requiredLabel||displayLength)&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.paddingTop),classNames.join(" ")}},{key:"label",get:function(){var _this$props11=this.props,displayLength=_this$props11.displayLength,id=_this$props11.id,label=_this$props11.label,maxLength=_this$props11.maxLength,requiredLabel=_this$props11.requiredLabel,value=_this$props11.value,flexStyles=maxLength||requiredLabel?_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.flexLabel:"";if("string"==typeof label)return react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("label",{className:"".concat(this.labelClassNames," ").concat(flexStyles),htmlFor:id},label,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_InfoLabel__WEBPACK_IMPORTED_MODULE_19__.a,{displayLength:displayLength,inputValue:value,maxLength:maxLength,requiredLabel:requiredLabel}));var classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.labelContainer,flexStyles,this.labelClassNames];return label.props.className&&classNames.push(label.props.className),react__WEBPACK_IMPORTED_MODULE_15___default.a.cloneElement(label,function(target){for(var i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onHighlight:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},pattern:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},rows:{defaultValue:{value:"5",computed:!1},type:{name:"number"},required:!1,description:""},sanitizeValue:{defaultValue:{value:"value => value",computed:!1},type:{name:"func"},required:!1,description:""},title:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},type:{defaultValue:{value:"'text'",computed:!1},type:{name:"enum",value:[{value:"'email'",computed:!1},{value:"'password'",computed:!1},{value:"'text'",computed:!1},{value:"'url'",computed:!1},{value:"'number'",computed:!1},{value:"'hidden'",computed:!1}]},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},label:{type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TextField/index.jsx"]={name:"TextField",docgenInfo:TextField.__docgenInfo,path:"src/components/TextField/index.jsx"})},116:function(module,exports,__webpack_require__){var content=__webpack_require__(928);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},117:function(module,exports,__webpack_require__){var content=__webpack_require__(930);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},118:function(module,exports,__webpack_require__){var content=__webpack_require__(934);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},119:function(module,exports,__webpack_require__){var content=__webpack_require__(944);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},13:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return defaultOptions});var defaultOptions={enableShortcuts:!1,name:"nukleus components",showSearchBox:!1,url:"https://github.com/kununu/nukleus"}},138:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(169);var react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),prop_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__),_index_scss__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(257),_index_scss__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_4__),InfoLabel=function(_ref){var displayLength=_ref.displayLength,inputValue=_ref.inputValue,maxLength=_ref.maxLength,requiredLabel=_ref.requiredLabel;return!requiredLabel||displayLength&&inputValue&&""!==inputValue.trim()?displayLength?react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_3__.controlNote," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.label)},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("strong",null,inputValue.length),"/",maxLength):null:react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_3__.controlNote," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.label)},requiredLabel)};InfoLabel.propTypes={displayLength:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,inputValue:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,maxLength:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,requiredLabel:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string},InfoLabel.defaultProps={displayLength:!1,inputValue:"",maxLength:500,requiredLabel:""},__webpack_exports__.a=InfoLabel,InfoLabel.__docgenInfo={description:"",methods:[],displayName:"InfoLabel",props:{displayLength:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},inputValue:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},maxLength:{defaultValue:{value:"500",computed:!1},type:{name:"number"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoLabel/index.jsx"]={name:"InfoLabel",docgenInfo:InfoLabel.__docgenInfo,path:"src/components/InfoLabel/index.jsx"})},139:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Select});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(154),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__),prop_types__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__),_Error__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_15__),_index_scss__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(140),_index_scss__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_16__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},options:{defaultValue:{value:"[]",computed:!1},type:{name:"union",value:[{name:"object"},{name:"arrayOf",value:{name:"shape",value:{key:{name:"union",value:[{name:"string"},{name:"number"}],required:!1},value:{name:"union",value:[{name:"string"},{name:"number"}],required:!1}}}}]},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},sort:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},title:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"union",value:[{name:"string"},{name:"number"}]},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Select/index.jsx"]={name:"Select",docgenInfo:Select.__docgenInfo,path:"src/components/Select/index.jsx"})},140:function(module,exports,__webpack_require__){var content=__webpack_require__(938);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},17:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),prop_types=__webpack_require__(1),prop_types_default=__webpack_require__.n(prop_types),executionEnvironment=__webpack_require__(99),components_DropDown=__webpack_require__(48),DropDown_default=__webpack_require__.n(components_DropDown);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;iwindow.innerWidth?-1*(this.positionRight-window.innerWidth)-(window.innerWidth-document.body.clientWidth):0>this.positionLeft?-1*this.positionLeft:0}},{key:"positionRight",get:function(){return this.container.getBoundingClientRect().right-this.translateX}},{key:"positionLeft",get:function(){return this.container.getBoundingClientRect().left-this.translateX}},{key:"translateX",get:function(){return this.currentTranslateX},set:function(x){this.currentTranslateX=x,this.container.style.transform=0===x?"":"translateX(".concat(this.currentTranslateX,"px)")}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),InfoBox;var Constructor,protoProps,staticProps}();_defineProperty(InfoBox,"propTypes",{content:prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object]).isRequired,position:prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(["topLeft","topRight","bottomLeft","bottomRight"])}),_defineProperty(InfoBox,"defaultProps",{position:"topLeft"}),InfoBox.__docgenInfo={description:"",methods:[{name:"translatedXByScreenEdge",docblock:null,modifiers:["get"],params:[],returns:null},{name:"positionRight",docblock:null,modifiers:["get"],params:[],returns:null},{name:"positionLeft",docblock:null,modifiers:["get"],params:[],returns:null},{name:"translateX",docblock:null,modifiers:["get"],params:[],returns:null},{name:"translateX",docblock:null,modifiers:["set"],params:[{name:"x",type:null}],returns:null},{name:"updateLayout",docblock:null,modifiers:[],params:[],returns:null},{name:"windowResize",docblock:null,modifiers:[],params:[],returns:null},{name:"update",docblock:"Update function that checks every animationframe, if there needs to be a\nlayout update",modifiers:[],params:[],returns:null,description:"Update function that checks every animationframe, if there needs to be a\nlayout update"}],displayName:"InfoBox",props:{position:{defaultValue:{value:"'topLeft'",computed:!1},type:{name:"enum",value:[{value:"'topLeft'",computed:!1},{value:"'topRight'",computed:!1},{value:"'bottomLeft'",computed:!1},{value:"'bottomRight'",computed:!1}]},required:!1,description:""},content:{type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoBox/index.jsx"]={name:"InfoBox",docgenInfo:InfoBox.__docgenInfo,path:"src/components/InfoBox/index.jsx"})},185:function(module,exports,__webpack_require__){var content=__webpack_require__(656);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},186:function(module,exports,__webpack_require__){var content=__webpack_require__(891);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},187:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Notification});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__),prop_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__),_index_scss__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(117),_index_scss__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_7__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i\n \n',computed:!1},type:{name:"element"},required:!1,description:""},closeMethod:{defaultValue:{value:"'onClick'",computed:!1},type:{name:"enum",value:[{value:"'onClick'",computed:!1},{value:"'onTimeout'",computed:!1}]},required:!1,description:""},duration:{defaultValue:{value:"5000",computed:!1},type:{name:"number"},required:!1,description:""},icon:{defaultValue:{value:"null",computed:!1},type:{name:"element"},required:!1,description:""},onClose:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},type:{defaultValue:{value:"'success'",computed:!1},type:{name:"enum",value:[{value:"'error'",computed:!1},{value:"'success'",computed:!1}]},required:!1,description:""},visible:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},message:{type:{name:"string"},required:!0,description:""},onCloseClick:{type:{name:"custom",raw:"function(props, propName) { // eslint-disable-line\n if (props[propName]) {\n return new Error('This prop is marked as deprecated and will be removed on upcoming release. ' +\n 'Please use `onClose` instead.');\n }\n}"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Notification/index.jsx"]={name:"Notification",docgenInfo:Notification.__docgenInfo,path:"src/components/Notification/index.jsx"})},188:function(module,exports,__webpack_require__){var content=__webpack_require__(936);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},254:function(module,exports,__webpack_require__){var content=__webpack_require__(884);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},255:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Choice});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),utils_params__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(57),_Error__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(186),_index_scss__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_13__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onClick:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},optionsPerRow:{defaultValue:{value:"null",computed:!1},type:{name:"enum",value:[{value:"'3'",computed:!1},{value:"'4'",computed:!1},{value:"'5'",computed:!1},{value:"'6'",computed:!1},{value:"'7'",computed:!1},{value:"3",computed:!1},{value:"4",computed:!1},{value:"5",computed:!1},{value:"6",computed:!1},{value:"7",computed:!1},{value:"null",computed:!1}]},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""},options:{type:{name:"arrayOf",value:{name:"shape",value:{id:{name:"string",required:!1},label:{name:"union",value:[{name:"string"},{name:"object"}],required:!1},value:{name:"string",required:!1}}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Choice/index.jsx"]={name:"Choice",docgenInfo:Choice.__docgenInfo,path:"src/components/Choice/index.jsx"})},256:function(module,exports,__webpack_require__){var content=__webpack_require__(914);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},257:function(module,exports,__webpack_require__){var content=__webpack_require__(916);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},258:function(module,exports,__webpack_require__){var content=__webpack_require__(919);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},259:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return MultipleChoice});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(367),__webpack_require__(368),__webpack_require__(74),__webpack_require__(24),__webpack_require__(369),__webpack_require__(10),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_16__),prop_types__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__),_Error__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_20__),_index_scss__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(116),_index_scss__WEBPACK_IMPORTED_MODULE_21___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_21__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},options:{defaultValue:{value:"[]",computed:!1},type:{name:"arrayOf",value:{name:"shape",value:{id:{name:"string",required:!1},isChecked:{name:"bool",required:!1},label:{name:"string",required:!1}}}},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/MultipleChoice/index.jsx"]={name:"MultipleChoice",docgenInfo:MultipleChoice.__docgenInfo,path:"src/components/MultipleChoice/index.jsx"})},261:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Tabs});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),classnames__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__),_index_scss__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(119),_index_scss__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_10__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i=items.length))},react__WEBPACK_IMPORTED_MODULE_6___default.a.cloneElement(item,_this.getNewProps(item)))}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Tabs;var Constructor,protoProps,staticProps}();_defineProperty(Tabs,"propTypes",{hash:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,items:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.element).isRequired,pathname:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string.isRequired,theme:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf(["default","block"])}),_defineProperty(Tabs,"defaultProps",{hash:"",theme:"default"}),Tabs.__docgenInfo={description:"",methods:[{name:"getNewProps",docblock:null,modifiers:[],params:[{name:"item",type:null}],returns:null}],displayName:"Tabs",props:{hash:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},theme:{defaultValue:{value:"'default'",computed:!1},type:{name:"enum",value:[{value:"'default'",computed:!1},{value:"'block'",computed:!1}]},required:!1,description:""},items:{type:{name:"arrayOf",value:{name:"element"}},required:!0,description:""},pathname:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Tabs/index.jsx"]={name:"Tabs",docgenInfo:Tabs.__docgenInfo,path:"src/components/Tabs/index.jsx"})},262:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19),__webpack_require__(10),__webpack_require__(169);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),prop_types=__webpack_require__(1),prop_types_default=__webpack_require__.n(prop_types),dist=__webpack_require__(182),dist_default=__webpack_require__.n(dist),modules=__webpack_require__(378),modules_default=__webpack_require__.n(modules),debounce=__webpack_require__(183),debounce_default=__webpack_require__.n(debounce),executionEnvironment=__webpack_require__(99);var params=__webpack_require__(57),mobileDetection=!!executionEnvironment.a&&550>window.outerWidth,Error=__webpack_require__(29),components=__webpack_require__(5),components_default=__webpack_require__.n(components),components_Autocomplete=__webpack_require__(68),Autocomplete_default=__webpack_require__.n(components_Autocomplete);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onGetSuggestions:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onSelectSuggestion:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},scrollOffset:{defaultValue:{value:"0",computed:!1},type:{name:"number"},required:!1,description:""},scrollTo:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},spinner:{defaultValue:{value:"null",computed:!1},type:{name:"element"},required:!1,description:""},submitOnEnter:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},label:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Autocomplete/index.jsx"]={name:"Autocomplete",docgenInfo:Autocomplete_Autocomplete.__docgenInfo,path:"src/components/Autocomplete/index.jsx"})},29:function(module,__webpack_exports__,__webpack_require__){"use strict";var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_index_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(254),_index_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_2__),Error=function(_ref){var info=_ref.info,subInfo=_ref.subInfo,id=_ref.id;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.error,id:id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",{className:_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.info},info),subInfo)};Error.propTypes={info:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,subInfo:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,id:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string},Error.defaultProps={subInfo:"",id:null},__webpack_exports__.a=Error,Error.__docgenInfo={description:"",methods:[],displayName:"Error",props:{subInfo:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},info:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Error/index.jsx"]={name:"Error",docgenInfo:Error.__docgenInfo,path:"src/components/Error/index.jsx"})},377:function(module,exports){module.exports="

\n nukleus\n

\n
\n\nWelcome to [kununu's](https://wwww.kununu.com) collection of [React](https://facebook.github.io/react/) UI components! These reusable components are designed and implemented to help build amazing products fast and easily.\n\n\n[![Dependencies](https://david-dm.org/kununu/nukleus/master/status.svg)](https://david-dm.org/kununu/nukleus/master)\n[![Dev dependencies](https://david-dm.org/kununu/nukleus/master/dev-status.svg)](https://david-dm.org/kununu/nukleus/master?type=dev)\n[![Storybook](https://cdn.jsdelivr.net/gh/storybooks/brand@master/badge/badge-storybook.svg)](https://kununu.github.io/nukleus)\n\n## Features\n* Over 80% code coverage\n* Frequently updated\n* Wide range of form and UI components\n\n
\n\n## Setup\n
\n\n### Install with `npm` or `yarn`\n```sh\nnpm i nukleus\n# OR\nyarn add nukleus\n```\n\n
\n\n### Usage\n\nYou will need a module bundler that supports css modules. To do this with [webpack](https://webpack.js.org/) (recommended) you can use something like this:\n\n```javascript\n{\n test: /\\.css$/,\n include: /nukleus/,\n use: [\n 'style-loader',\n 'css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]',\n {\n loader: 'postcss-loader',\n options: {\n plugins: function () {\n return [\n require('autoprefixer')\n ];\n }\n }\n },\n ]\n }\n```\n\nNext you can import each compiled nukelus component seperately, which will help reduce your bundle size if you only require a few components.\n```javascript\nimport Select from 'nukleus/dist/components/Select';\nimport TextField from 'nukleus/dist/components/TextField';\n```\n\nOr you can import and bundle all nukleus components via:\n```javascript\nimport {Select, TextField} from 'nukleus';\n```\n\n
\n\n## Contributing\n
\nComing soon 🎉\n\n
\n\n## Test\n
\nIn order to run the tests, run `npm run test`.\n\nThere could be two reasons why the tests are failing: either your component broke or was modified on purpose.\nIn the latter case, you will just need to update the snapshot as we use jest snapshot testing.\n"},379:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return ComboboxComponent});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19),__webpack_require__(10),__webpack_require__(24),__webpack_require__(169),__webpack_require__(107);var react__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),react_autosuggest__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(182),react_autosuggest__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(react_autosuggest__WEBPACK_IMPORTED_MODULE_16__),debounce__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(183),debounce__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(debounce__WEBPACK_IMPORTED_MODULE_17__),_Error__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(29),_index_scss__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(78),_index_scss__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_20__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _objectSpread(target){for(var i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onSelect:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Combobox/index.jsx"]={name:"ComboboxComponent",docgenInfo:ComboboxComponent.__docgenInfo,path:"src/components/Combobox/index.jsx"})},380:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return DatePickerComponent});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__),prop_types__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__),react_datepicker__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(381),react_datepicker__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(react_datepicker__WEBPACK_IMPORTED_MODULE_13__),date_fns_isDate__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(382),_Error__WEBPACK_IMPORTED_MODULE_16__=(__webpack_require__(905),__webpack_require__(29)),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(101),_index_scss__WEBPACK_IMPORTED_MODULE_18___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_18__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},showAbbreviatedMonthDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},showMonthDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},showYearDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},title:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},value:{defaultValue:{value:"null",computed:!1},type:{name:"instanceOf",value:"Date"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/DatePicker/index.jsx"]={name:"DatePickerComponent",docgenInfo:DatePickerComponent.__docgenInfo,path:"src/components/DatePicker/index.jsx"})},383:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return InfoText});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_index_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(258),_index_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_2__);function InfoText(_ref){var text=_ref.text,infoStyle=_ref.infoStyle;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.infoText," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a[infoStyle])},text)}InfoText.propTypes={infoStyle:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(["inline","block"]),text:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired},InfoText.defaultProps={infoStyle:"inline"},InfoText.__docgenInfo={description:"",methods:[],displayName:"InfoText",props:{infoStyle:{defaultValue:{value:"'inline'",computed:!1},type:{name:"enum",value:[{value:"'inline'",computed:!1},{value:"'block'",computed:!1}]},required:!1,description:""},text:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoText/index.jsx"]={name:"InfoText",docgenInfo:InfoText.__docgenInfo,path:"src/components/InfoText/index.jsx"})},384:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Modal});__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(206);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),prop_types__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__),react_aria_modal__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(385),react_aria_modal__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react_aria_modal__WEBPACK_IMPORTED_MODULE_14__),classnames__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_15__),_Button__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(40),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(50),_index_scss__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_17__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},children:{type:{name:"element"},required:!0,description:""},onExit:{type:{name:"func"},required:!0,description:""},open:{type:{name:"bool"},required:!0,description:""},titleText:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Modal/index.jsx"]={name:"Modal",docgenInfo:Modal.__docgenInfo,path:"src/components/Modal/index.jsx"})},386:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Paginator});__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),prop_types__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__),query_string__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(260),query_string__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_14__),_index_scss__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(118),_index_scss__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_15__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i=currentPage?currentPage++:7>counter&&(pageRange.push(currentPage),currentPage++,counter++);return pageRange}},{key:"getNewProps",value:function(queryValue){var _this$props=this.props,baseLink=_this$props.baseLink,pathname=_this$props.pathname,query=_this$props.query,queryKey=_this$props.queryKey,queryObject=this.parseQueryObject(query),queryParams=query_string__WEBPACK_IMPORTED_MODULE_14___default.a.stringify(function(target){for(var i=1;i"))))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Paginator;var Constructor,protoProps,staticProps}();_defineProperty(Paginator,"propTypes",{baseLink:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.element.isRequired,pathname:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,query:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.object]),queryKey:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,totalPages:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.number.isRequired}),_defineProperty(Paginator,"defaultProps",{pathname:"/",query:{},queryKey:"page"}),Paginator.__docgenInfo={description:"",methods:[{name:"getPageRange",docblock:null,modifiers:[],params:[{name:"page",type:null}],returns:null},{name:"getNewProps",docblock:null,modifiers:[],params:[{name:"queryValue",type:null}],returns:null},{name:"parseQueryObject",docblock:null,modifiers:[],params:[{name:"query",type:null}],returns:null}],displayName:"Paginator",props:{pathname:{defaultValue:{value:"'/'",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},queryKey:{defaultValue:{value:"'page'",computed:!1},type:{name:"string"},required:!1,description:""},baseLink:{type:{name:"element"},required:!0,description:""},totalPages:{type:{name:"number"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Paginator/index.jsx"]={name:"Paginator",docgenInfo:Paginator.__docgenInfo,path:"src/components/Paginator/index.jsx"})},387:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),prop_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__),_Error__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(29),_index_scss__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(188),_index_scss__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_4__),RangeSliderComponent=function(_ref){var id=_ref.id,step=_ref.step,min=_ref.min,max=_ref.max,name=_ref.name,onBlur=_ref.onBlur,_ref$meta=_ref.meta,touched=_ref$meta.touched,error=_ref$meta.error,value=_ref$meta.value,onChange=_ref.onChange,label=_ref.label,containerClass=_ref.containerClass;return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:containerClass},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("label",{htmlFor:id},label,react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("input",{id:id,type:"range",step:step,min:min,max:max,name:name,value:value,onChange:onChange,onBlur:onBlur,className:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.slider}))),touched&&error&&react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.sliderErrorContainer},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Error__WEBPACK_IMPORTED_MODULE_3__.a,{id:"".concat(id,"_error"),info:error})))};RangeSliderComponent.propTypes={id:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,min:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,max:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,step:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,onChange:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,name:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,onBlur:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,meta:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({value:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,touched:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,error:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool])}).isRequired,label:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,containerClass:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string},RangeSliderComponent.defaultProps={label:"",containerClass:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.sliderWrapper},__webpack_exports__.a=RangeSliderComponent,RangeSliderComponent.__docgenInfo={description:"",methods:[],displayName:"RangeSliderComponent",props:{label:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},containerClass:{defaultValue:{value:"styles.sliderWrapper",computed:!0},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},min:{type:{name:"number"},required:!0,description:""},max:{type:{name:"number"},required:!0,description:""},step:{type:{name:"number"},required:!0,description:""},onChange:{type:{name:"func"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""},onBlur:{type:{name:"func"},required:!0,description:""},meta:{type:{name:"shape",value:{value:{name:"number",required:!0},touched:{name:"bool",required:!1},error:{name:"union",value:[{name:"string"},{name:"bool"}],required:!1}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/RangeSlider/index.jsx"]={name:"RangeSliderComponent",docgenInfo:RangeSliderComponent.__docgenInfo,path:"src/components/RangeSlider/index.jsx"})},388:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(154),__webpack_require__(375),__webpack_require__(63),__webpack_require__(323);var react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__),prop_types__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__),_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(389),_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12__),_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(390),_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13__),_index_scss__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(69),_index_scss__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_14__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;iitemB?1*sortOrder:0}),_this.setState({rows:rows})}),_defineProperty(_assertThisInitialized(_this),"renderSortable",function(_ref,idx){var sortable=_ref.sortable,accessor=_ref.accessor;return sortable?react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sorting},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("button",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingButton,id:"button-asc",key:"".concat(idx,"-asc"),onClick:function(){return _this.handleSorting(accessor,1)},type:"button"},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12___default.a,{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingArrowIcon,ariaHidden:!0})),react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("button",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingButton,id:"button-desc",key:"".concat(idx,"-desc"),onClick:function(){return _this.handleSorting(accessor,-1)},type:"button"},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13___default.a,{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingArrowIcon,ariaHidden:!0}))):""}),_defineProperty(_assertThisInitialized(_this),"renderHeaders",function(){return _this.props.columns.map(function(column,idx){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("th",{key:"column-".concat(idx)},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingContainer},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingTitle},column.header),_this.renderSortable(column,idx)))})}),_defineProperty(_assertThisInitialized(_this),"renderBodyCell",function(item,_ref2){var accessor=_ref2.accessor,cell=_ref2.cell,value=item[accessor];return"function"==typeof cell?cell(value,item):value}),_defineProperty(_assertThisInitialized(_this),"renderBody",function(){var columns=_this.props.columns;return _this.state.rows.map(function(rowItem,index){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tr",{key:"row-".concat(index)},columns.map(function(column,idx){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("td",{key:"row-".concat(index,"-col-").concat(idx)},_this.renderBodyCell(rowItem,column))}))})}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Table,react__WEBPACK_IMPORTED_MODULE_10__["Component"]),Constructor=Table,(protoProps=[{key:"componentDidMount",value:function(){var _this$props=this.props,initialSortingColumn=_this$props.initialSortingColumn,columns=_this$props.columns;0<=initialSortingColumn&&this.handleSorting(columns[initialSortingColumn].accessor,1)}},{key:"componentWillReceiveProps",value:function(nextProps){var _this2=this,_this$props2=this.props,dataRows=_this$props2.dataRows,initialSortingColumn=_this$props2.initialSortingColumn,columns=_this$props2.columns;JSON.stringify(nextProps.dataRows)!==JSON.stringify(dataRows)&&this.setState({rows:nextProps.dataRows},function(){0<=initialSortingColumn&&_this2.handleSorting(columns[initialSortingColumn].accessor,1)})}},{key:"render",value:function(){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("table",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.table},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("thead",null,react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tr",null,this.renderHeaders())),react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tbody",null,this.renderBody()))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Table;var Constructor,protoProps,staticProps}();_defineProperty(Table,"propTypes",{columns:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.shape({accessor:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.string.isRequired,cell:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.element,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.func]),header:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.number,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.element,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.bool,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.string]),sortable:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.bool})).isRequired,dataRows:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.object),initialSortingColumn:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.number}),_defineProperty(Table,"defaultProps",{dataRows:[],initialSortingColumn:-1}),__webpack_exports__.a=Table,Table.__docgenInfo={description:"",methods:[{name:"handleSorting",docblock:"Sort the rows based on\ncolumn and sort order",modifiers:[],params:[{name:"accessor"},{name:"sortOrder"}],returns:null,description:"Sort the rows based on\ncolumn and sort order"},{name:"renderSortable",docblock:null,modifiers:[],params:[{name:"{sortable, accessor}",type:null},{name:"idx",type:null}],returns:null},{name:"renderHeaders",docblock:null,modifiers:[],params:[],returns:null},{name:"renderBodyCell",docblock:null,modifiers:[],params:[{name:"item",type:null},{name:"{accessor, cell}",type:null}],returns:null},{name:"renderBody",docblock:null,modifiers:[],params:[],returns:null}],displayName:"Table",props:{dataRows:{defaultValue:{value:"[]",computed:!1},type:{name:"arrayOf",value:{name:"object"}},required:!1,description:""},initialSortingColumn:{defaultValue:{value:"-1",computed:!1},type:{name:"number"},required:!1,description:""},columns:{type:{name:"arrayOf",value:{name:"shape",value:{accessor:{name:"string",required:!0},cell:{name:"union",value:[{name:"element"},{name:"func"}],required:!1},header:{name:"union",value:[{name:"number"},{name:"element"},{name:"bool"},{name:"string"}],required:!1},sortable:{name:"bool",required:!1}}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Table/index.jsx"]={name:"Table",docgenInfo:Table.__docgenInfo,path:"src/components/Table/index.jsx"})},391:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return ToolTip});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__),prop_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__),_InfoBox__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(184),_index_scss__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(392),_index_scss__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_9__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i\n \n',computed:!1},type:{name:"element"},required:!1,description:""},label:{defaultValue:{value:"undefined",computed:!0},type:{name:"string"},required:!1,description:""},position:{defaultValue:{value:"'topLeft'",computed:!1},type:{name:"enum",value:[{value:"'topLeft'",computed:!1},{value:"'topRight'",computed:!1},{value:"'bottomLeft'",computed:!1},{value:"'bottomRight'",computed:!1}]},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/ToolTip/index.jsx"]={name:"ToolTip",docgenInfo:ToolTip.__docgenInfo,path:"src/components/ToolTip/index.jsx"})},392:function(module,exports,__webpack_require__){var content=__webpack_require__(947);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},393:function(module,exports,__webpack_require__){__webpack_require__(394),__webpack_require__(474),module.exports=__webpack_require__(475)},40:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Button});__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(373);var react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),classnames__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__),_index_scss__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(100),_index_scss__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_10__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i header.navbar {\n margin-bottom: 0; }\n body > main {\n min-height: 100%;\n overflow: auto; }\n body > footer {\n margin-top: -60px; }\n body.no-fixed-navbar {\n padding-top: 0; }\n\na {\n transition: 0.25s color;\n color: #2186db;\n text-decoration: none; }\n a:hover, a:focus {\n color: #175d99;\n text-decoration: underline; }\n\nul,\nol {\n margin-top: 0;\n margin-bottom: 10.5px; }\n ul ul,\n ul ol,\n ol ul,\n ol ol {\n margin-bottom: 0; }\n\niframe {\n border: 0; }\n\nimg {\n display: block;\n max-width: 100%;\n height: auto; }\n\nstrong {\n font-weight: 600; }\n\n.static {\n position: static; }\n\n.relative {\n position: relative; }\n\n.absolute {\n position: absolute; }\n\n.padding-top {\n padding-top: 40px; }\n\n.no-padding {\n padding: 0; }\n\n.margin-vertical {\n margin-top: 40px;\n margin-bottom: 40px; }\n\n.inline-block {\n display: inline-block; }\n\n.block {\n display: block; }\n\n.table-cell {\n display: table-cell; }\n\n.bullet-after:after {\n content: \'\\2022\';\n padding: 0 8px; }\n @media (max-width: 550px) {\n .bullet-after:after {\n display: block;\n content: \'\'; } }\n\n.bullet-before:before {\n content: \'\\2022\';\n padding: 0 8px; }\n\n.panel,\n.card {\n border-bottom: 2px solid #e9ecec;\n position: relative;\n background-color: #fff; }\n .panel.panel-no-border,\n .card.panel-no-border {\n border: none; }\n .panel .row:first-child > [class*=\'col-\'] > h1:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h2:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h3:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h4:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h5:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h6:first-child,\n .card .row:first-child > [class*=\'col-\'] > h1:first-child,\n .card .row:first-child > [class*=\'col-\'] > h2:first-child,\n .card .row:first-child > [class*=\'col-\'] > h3:first-child,\n .card .row:first-child > [class*=\'col-\'] > h4:first-child,\n .card .row:first-child > [class*=\'col-\'] > h5:first-child,\n .card .row:first-child > [class*=\'col-\'] > h6:first-child {\n margin-top: 0; }\n\n.panel-body,\n.card-body {\n padding: 20px;\n font-size: 16px;\n line-height: 1.65; }\n .panel-body:before, .panel-body:after,\n .card-body:before,\n .card-body:after {\n content: \' \';\n display: table; }\n .panel-body:after,\n .card-body:after {\n clear: both; }\n @media (min-width: 1200px) {\n .panel-body,\n .card-body {\n padding: 40px; }\n .panel-compact .panel-body, .panel-compact\n .card-body {\n padding: 20px; } }\n @media (max-width: 549px) {\n .panel-body,\n .card-body {\n padding: 10px; } }\n\n.panel-heading,\n.card-heading {\n padding: 20px;\n background-color: #f7f8f9;\n border-bottom: 1px solid #e0ecf5; }\n .panel-heading h1:first-child,\n .panel-heading h2:first-child,\n .panel-heading h3:first-child,\n .panel-heading h4:first-child,\n .panel-heading h5:first-child,\n .panel-heading h6:first-child,\n .card-heading h1:first-child,\n .card-heading h2:first-child,\n .card-heading h3:first-child,\n .card-heading h4:first-child,\n .card-heading h5:first-child,\n .card-heading h6:first-child {\n margin: 0; }\n @media (max-width: 549px) {\n .panel-heading,\n .card-heading {\n padding: 10px; } }\n\n.panel-body h1:first-child,\n.panel-body h2:first-child,\n.panel-body h3:first-child,\n.panel-body h4:first-child,\n.panel-body h5:first-child,\n.panel-body h6:first-child,\n.card-body h1:first-child,\n.card-body h2:first-child,\n.card-body h3:first-child,\n.card-body h4:first-child,\n.card-body h5:first-child,\n.card-body h6:first-child {\n margin-top: 0; }\n\n.panel-footer,\n.card-footer {\n padding: 20px;\n background-color: #f5f5f5; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px; }\n\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none; }\n\npre {\n display: block;\n padding: 10px;\n margin: 0 0 10.5px;\n font-size: 13px;\n line-height: 1.5;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px; }\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 21px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5; }\n\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700; }\n\ninput[type="search"] {\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n\ninput[type="radio"],\ninput[type="checkbox"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal; }\n input[type="radio"][disabled], input[type="radio"].disabled,\n fieldset[disabled] input[type="radio"],\n input[type="checkbox"][disabled],\n input[type="checkbox"].disabled,\n fieldset[disabled]\n input[type="checkbox"] {\n cursor: not-allowed; }\n\ninput[type="file"] {\n display: block; }\n\ninput[type="range"] {\n display: block;\n width: 100%; }\n\nselect[multiple],\nselect[size] {\n height: auto; }\n\ninput[type="file"]:focus,\ninput[type="radio"]:focus,\ninput[type="checkbox"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\noutput {\n display: block;\n padding-top: 11px;\n font-size: 14px;\n line-height: 1.5;\n color: #6c7b83; }\n\n.form-control {\n display: block;\n width: 100%;\n height: 43px;\n padding: 10px 12px;\n font-size: 14px;\n line-height: 1.5;\n color: #6c7b83;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }\n .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }\n .form-control::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .form-control:-ms-input-placeholder {\n color: #999; }\n .form-control::-webkit-input-placeholder {\n color: #999; }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control[disabled], .form-control[readonly],\n fieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1; }\n .form-control[disabled],\n fieldset[disabled] .form-control {\n cursor: not-allowed; }\n\ntextarea.form-control {\n height: auto; }\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type="date"].form-control,\n input[type="time"].form-control,\n input[type="datetime-local"].form-control,\n input[type="month"].form-control {\n line-height: 43px; }\n input[type="date"].input-sm,\n .input-group-sm input[type="date"],\n input[type="time"].input-sm,\n .input-group-sm\n input[type="time"],\n input[type="datetime-local"].input-sm,\n .input-group-sm\n input[type="datetime-local"],\n input[type="month"].input-sm,\n .input-group-sm\n input[type="month"] {\n line-height: 30px; }\n input[type="date"].input-lg,\n .input-group-lg input[type="date"],\n input[type="time"].input-lg,\n .input-group-lg\n input[type="time"],\n input[type="datetime-local"].input-lg,\n .input-group-lg\n input[type="datetime-local"],\n input[type="month"].input-lg,\n .input-group-lg\n input[type="month"] {\n line-height: 46px; } }\n\n.form-group {\n margin-bottom: 15px; }\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px; }\n .radio.disabled label,\n fieldset[disabled] .radio label,\n .checkbox.disabled label,\n fieldset[disabled]\n .checkbox label {\n cursor: not-allowed; }\n .radio label,\n .checkbox label {\n min-height: 21px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer; }\n\n.radio input[type="radio"],\n.radio-inline input[type="radio"],\n.checkbox input[type="checkbox"],\n.checkbox-inline input[type="checkbox"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px; }\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; }\n\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer; }\n .radio-inline.disabled,\n fieldset[disabled] .radio-inline,\n .checkbox-inline.disabled,\n fieldset[disabled]\n .checkbox-inline {\n cursor: not-allowed; }\n\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; }\n\n.form-control-static {\n min-height: 35px;\n padding-top: 11px;\n padding-bottom: 11px;\n margin-bottom: 0; }\n .form-control-static.input-lg, .form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0; }\n\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 13px;\n line-height: 1.4;\n border-radius: 3px; }\n\nselect.input-sm {\n height: 30px;\n line-height: 30px; }\n\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto; }\n\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 13px;\n line-height: 1.4;\n border-radius: 3px; }\n\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px; }\n\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto; }\n\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 34px;\n padding: 6px 10px;\n font-size: 13px;\n line-height: 1.4; }\n\n.input-lg {\n height: 46px;\n padding: 18px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px; }\n\nselect.input-lg {\n height: 46px;\n line-height: 46px; }\n\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto; }\n\n.form-group-lg .form-control {\n height: 46px;\n padding: 18px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px; }\n\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px; }\n\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto; }\n\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 39px;\n padding: 19px 16px;\n font-size: 18px;\n line-height: 1.33; }\n\n.has-feedback {\n position: relative; }\n .has-feedback .form-control {\n padding-right: 53.75px; }\n\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 43px;\n height: 43px;\n line-height: 43px;\n text-align: center;\n pointer-events: none; }\n\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px; }\n\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px; }\n\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d; }\n\n.has-success .form-control {\n border-color: #3c763d;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-success .form-control:focus {\n border-color: #2b542c;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }\n\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d; }\n\n.has-success .form-control-feedback {\n color: #3c763d; }\n\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b; }\n\n.has-warning .form-control {\n border-color: #8a6d3b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-warning .form-control:focus {\n border-color: #66512c;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }\n\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b; }\n\n.has-warning .form-control-feedback {\n color: #8a6d3b; }\n\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442; }\n\n.has-error .form-control {\n border-color: #a94442;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-error .form-control:focus {\n border-color: #843534;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }\n\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442; }\n\n.has-error .form-control-feedback {\n color: #a94442; }\n\n.has-feedback label ~ .form-control-feedback {\n top: 26px; }\n\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0; }\n\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #6f8e9d; }\n\n@media (min-width: 550px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-static {\n display: inline-block; }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle; }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto; }\n .form-inline .input-group > .form-control {\n width: 100%; }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0; }\n .form-inline .radio input[type="radio"],\n .form-inline .checkbox input[type="checkbox"] {\n position: relative;\n margin-left: 0; }\n .form-inline .has-feedback .form-control-feedback {\n top: 0; } }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 11px;\n margin-top: 0;\n margin-bottom: 0; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 32px; }\n\n.form-horizontal .form-group {\n margin-right: -20px;\n margin-left: -20px; }\n .form-horizontal .form-group:before, .form-horizontal .form-group:after {\n content: \' \';\n display: table; }\n .form-horizontal .form-group:after {\n clear: both; }\n\n@media (min-width: 550px) {\n .form-horizontal .control-label {\n padding-top: 11px;\n margin-bottom: 0;\n text-align: right; } }\n\n.form-horizontal .has-feedback .form-control-feedback {\n right: 20px; }\n\n@media (min-width: 550px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 19px;\n font-size: 18px; } }\n\n@media (min-width: 550px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 13px; } }\n\n.navbar {\n position: relative;\n min-height: 60px;\n margin-bottom: 20px;\n border: 1px solid transparent; }\n .navbar:before, .navbar:after {\n content: \' \';\n display: table; }\n .navbar:after {\n clear: both; }\n @media (min-width: 0) {\n .navbar {\n border-radius: 4px; } }\n\n.navbar-header:before, .navbar-header:after {\n content: \' \';\n display: table; }\n\n.navbar-header:after {\n clear: both; }\n\n@media (min-width: 0) {\n .navbar-header {\n float: left; } }\n\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch; }\n .navbar-collapse:before, .navbar-collapse:after {\n content: \' \';\n display: table; }\n .navbar-collapse:after {\n clear: both; }\n .navbar-collapse.in {\n overflow-y: auto; }\n @media (min-width: 0) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none; }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important; }\n .navbar-collapse.in {\n overflow-y: visible; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0; } }\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 340px; }\n @media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px; } }\n @media (min-width: 0) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0; } }\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px; }\n\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0; }\n\n.container > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px; }\n @media (min-width: 0) {\n .container > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-header,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0; } }\n\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px; }\n @media (min-width: 0) {\n .navbar-static-top {\n border-radius: 0; } }\n\n.navbar-brand {\n float: left;\n height: 60px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 21px; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n .navbar-brand > img {\n display: block; }\n @media (min-width: 0) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px; } }\n\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 13px;\n margin-bottom: 13px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px; }\n .navbar-toggle:focus {\n outline: 0; }\n .navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px; }\n .navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px; }\n @media (min-width: 0) {\n .navbar-toggle {\n display: none; } }\n\n.navbar-nav {\n margin: 7.5px -15px; }\n .navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 21px; }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none; }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px; }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 21px; }\n .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none; } }\n @media (min-width: 0) {\n .navbar-nav {\n float: left;\n margin: 0; }\n .navbar-nav > li {\n float: left; }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px; } }\n\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8.5px;\n margin-bottom: 8.5px; }\n @media (min-width: 550px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .navbar-form .form-control-static {\n display: inline-block; }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle; }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto; }\n .navbar-form .input-group > .form-control {\n width: 100%; }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0; }\n .navbar-form .radio input[type="radio"],\n .navbar-form .checkbox input[type="checkbox"] {\n position: relative;\n margin-left: 0; }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0; } }\n @media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px; }\n .navbar-form .form-group:last-child {\n margin-bottom: 0; } }\n @media (min-width: 0) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n box-shadow: none; } }\n\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n\n.navbar-btn {\n margin-top: 8.5px;\n margin-bottom: 8.5px; }\n .navbar-btn.btn-sm {\n margin-top: 15px;\n margin-bottom: 15px; }\n .navbar-btn.btn-xs {\n margin-top: 19px;\n margin-bottom: 19px; }\n\n.navbar-text {\n margin-top: 19.5px;\n margin-bottom: 19.5px; }\n @media (min-width: 0) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px; } }\n\n@media (min-width: 0) {\n .navbar-left {\n float: left !important; }\n .navbar-right {\n float: right !important;\n margin-right: -15px; }\n .navbar-right ~ .navbar-right {\n margin-right: 0; } }\n\n.navbar-default {\n background-color: #18242b;\n border-color: #e7e7e7; }\n .navbar-default .navbar-brand {\n color: #777; }\n .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent; }\n .navbar-default .navbar-text {\n color: #fff; }\n .navbar-default .navbar-nav > li > a {\n color: #777; }\n .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; }\n .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777; }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; } }\n .navbar-default .navbar-toggle {\n border-color: #ddd; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: #ddd; }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #888; }\n .navbar-default .navbar-collapse,\n .navbar-default .navbar-form {\n border-color: #e7e7e7; }\n .navbar-default .navbar-link {\n color: #777; }\n .navbar-default .navbar-link:hover {\n color: #333; }\n .navbar-default .btn-link {\n color: #777; }\n .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {\n color: #333; }\n .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-default .btn-link:hover,\n fieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc; }\n\n.navbar-inverse {\n background-color: #222;\n border-color: #090909; }\n .navbar-inverse .navbar-brand {\n color: #9d9d9d; }\n .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-text {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #090909; }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent; } }\n .navbar-inverse .navbar-toggle {\n border-color: #333; }\n .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {\n background-color: #333; }\n .navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff; }\n .navbar-inverse .navbar-collapse,\n .navbar-inverse .navbar-form {\n border-color: #101010; }\n .navbar-inverse .navbar-link {\n color: #9d9d9d; }\n .navbar-inverse .navbar-link:hover {\n color: #fff; }\n .navbar-inverse .btn-link {\n color: #9d9d9d; }\n .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {\n color: #fff; }\n .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-inverse .btn-link:hover,\n fieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444; }\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline; }\n\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n[hidden],\ntemplate {\n display: none; }\n\na {\n background-color: transparent; }\n\na:active,\na:hover {\n outline: 0; }\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; }\n\nb,\nstrong {\n font-weight: bold; }\n\ndfn {\n font-style: italic; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nmark {\n background: #ff0;\n color: #000; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\nimg {\n border: 0; }\n\nsvg:not(:root) {\n overflow: hidden; }\n\nfigure {\n margin: 1em 40px; }\n\nhr {\n box-sizing: content-box;\n height: 0; }\n\npre {\n overflow: auto; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0; }\n\nbutton {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n -webkit-appearance: button;\n cursor: pointer; }\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\ninput {\n line-height: normal; }\n\ninput[type="checkbox"],\ninput[type="radio"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type="number"]::-webkit-inner-spin-button,\ninput[type="number"]::-webkit-outer-spin-button {\n height: auto; }\n\ninput[type="search"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\n\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\nlegend {\n border: 0;\n padding: 0; }\n\ntextarea {\n overflow: auto; }\n\noptgroup {\n font-weight: bold; }\n\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n* {\n box-sizing: border-box; }\n\n*:before,\n*:after {\n box-sizing: border-box; }\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;\n font-size: 14px;\n line-height: 1.5;\n color: #394b54;\n background-color: #f4f5f5; }\n\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\na {\n color: #2186db;\n text-decoration: none; }\n a:hover, a:focus {\n color: #175d99;\n text-decoration: underline; }\n a:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\nfigure {\n margin: 0; }\n\nimg {\n vertical-align: middle; }\n\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto; }\n\n.img-rounded {\n border-radius: 6px; }\n\n.img-thumbnail {\n padding: 4px;\n line-height: 1.5;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto; }\n\n.img-circle {\n border-radius: 50%; }\n\nhr {\n margin-top: 21px;\n margin-bottom: 21px;\n border: 0;\n border-top: 1px solid #eeeeee; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n[role="button"] {\n cursor: pointer; }\n\n.container {\n padding-right: 20px;\n padding-left: 20px;\n margin-right: auto;\n margin-left: auto; }\n .container:before, .container:after {\n content: \' \';\n display: table; }\n .container:after {\n clear: both; }\n @media (min-width: 550px) {\n .container {\n width: 750px; } }\n @media (min-width: 998px) {\n .container {\n width: 970px; } }\n @media (min-width: 1200px) {\n .container {\n width: 1170px; } }\n\n.container-fluid {\n padding-right: 20px;\n padding-left: 20px;\n margin-right: auto;\n margin-left: auto; }\n .container-fluid:before, .container-fluid:after {\n content: \' \';\n display: table; }\n .container-fluid:after {\n clear: both; }\n\n.row {\n margin-right: -20px;\n margin-left: -20px; }\n .row:before, .row:after {\n content: \' \';\n display: table; }\n .row:after {\n clear: both; }\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .row-no-gutters [class*="col-"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 20px;\n padding-left: 20px; }\n\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left; }\n\n.col-xs-1 {\n width: 8.33333%; }\n\n.col-xs-2 {\n width: 16.66667%; }\n\n.col-xs-3 {\n width: 25%; }\n\n.col-xs-4 {\n width: 33.33333%; }\n\n.col-xs-5 {\n width: 41.66667%; }\n\n.col-xs-6 {\n width: 50%; }\n\n.col-xs-7 {\n width: 58.33333%; }\n\n.col-xs-8 {\n width: 66.66667%; }\n\n.col-xs-9 {\n width: 75%; }\n\n.col-xs-10 {\n width: 83.33333%; }\n\n.col-xs-11 {\n width: 91.66667%; }\n\n.col-xs-12 {\n width: 100%; }\n\n.col-xs-pull-0 {\n right: auto; }\n\n.col-xs-pull-1 {\n right: 8.33333%; }\n\n.col-xs-pull-2 {\n right: 16.66667%; }\n\n.col-xs-pull-3 {\n right: 25%; }\n\n.col-xs-pull-4 {\n right: 33.33333%; }\n\n.col-xs-pull-5 {\n right: 41.66667%; }\n\n.col-xs-pull-6 {\n right: 50%; }\n\n.col-xs-pull-7 {\n right: 58.33333%; }\n\n.col-xs-pull-8 {\n right: 66.66667%; }\n\n.col-xs-pull-9 {\n right: 75%; }\n\n.col-xs-pull-10 {\n right: 83.33333%; }\n\n.col-xs-pull-11 {\n right: 91.66667%; }\n\n.col-xs-pull-12 {\n right: 100%; }\n\n.col-xs-push-0 {\n left: auto; }\n\n.col-xs-push-1 {\n left: 8.33333%; }\n\n.col-xs-push-2 {\n left: 16.66667%; }\n\n.col-xs-push-3 {\n left: 25%; }\n\n.col-xs-push-4 {\n left: 33.33333%; }\n\n.col-xs-push-5 {\n left: 41.66667%; }\n\n.col-xs-push-6 {\n left: 50%; }\n\n.col-xs-push-7 {\n left: 58.33333%; }\n\n.col-xs-push-8 {\n left: 66.66667%; }\n\n.col-xs-push-9 {\n left: 75%; }\n\n.col-xs-push-10 {\n left: 83.33333%; }\n\n.col-xs-push-11 {\n left: 91.66667%; }\n\n.col-xs-push-12 {\n left: 100%; }\n\n.col-xs-offset-0 {\n margin-left: 0%; }\n\n.col-xs-offset-1 {\n margin-left: 8.33333%; }\n\n.col-xs-offset-2 {\n margin-left: 16.66667%; }\n\n.col-xs-offset-3 {\n margin-left: 25%; }\n\n.col-xs-offset-4 {\n margin-left: 33.33333%; }\n\n.col-xs-offset-5 {\n margin-left: 41.66667%; }\n\n.col-xs-offset-6 {\n margin-left: 50%; }\n\n.col-xs-offset-7 {\n margin-left: 58.33333%; }\n\n.col-xs-offset-8 {\n margin-left: 66.66667%; }\n\n.col-xs-offset-9 {\n margin-left: 75%; }\n\n.col-xs-offset-10 {\n margin-left: 83.33333%; }\n\n.col-xs-offset-11 {\n margin-left: 91.66667%; }\n\n.col-xs-offset-12 {\n margin-left: 100%; }\n\n@media (min-width: 550px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left; }\n .col-sm-1 {\n width: 8.33333%; }\n .col-sm-2 {\n width: 16.66667%; }\n .col-sm-3 {\n width: 25%; }\n .col-sm-4 {\n width: 33.33333%; }\n .col-sm-5 {\n width: 41.66667%; }\n .col-sm-6 {\n width: 50%; }\n .col-sm-7 {\n width: 58.33333%; }\n .col-sm-8 {\n width: 66.66667%; }\n .col-sm-9 {\n width: 75%; }\n .col-sm-10 {\n width: 83.33333%; }\n .col-sm-11 {\n width: 91.66667%; }\n .col-sm-12 {\n width: 100%; }\n .col-sm-pull-0 {\n right: auto; }\n .col-sm-pull-1 {\n right: 8.33333%; }\n .col-sm-pull-2 {\n right: 16.66667%; }\n .col-sm-pull-3 {\n right: 25%; }\n .col-sm-pull-4 {\n right: 33.33333%; }\n .col-sm-pull-5 {\n right: 41.66667%; }\n .col-sm-pull-6 {\n right: 50%; }\n .col-sm-pull-7 {\n right: 58.33333%; }\n .col-sm-pull-8 {\n right: 66.66667%; }\n .col-sm-pull-9 {\n right: 75%; }\n .col-sm-pull-10 {\n right: 83.33333%; }\n .col-sm-pull-11 {\n right: 91.66667%; }\n .col-sm-pull-12 {\n right: 100%; }\n .col-sm-push-0 {\n left: auto; }\n .col-sm-push-1 {\n left: 8.33333%; }\n .col-sm-push-2 {\n left: 16.66667%; }\n .col-sm-push-3 {\n left: 25%; }\n .col-sm-push-4 {\n left: 33.33333%; }\n .col-sm-push-5 {\n left: 41.66667%; }\n .col-sm-push-6 {\n left: 50%; }\n .col-sm-push-7 {\n left: 58.33333%; }\n .col-sm-push-8 {\n left: 66.66667%; }\n .col-sm-push-9 {\n left: 75%; }\n .col-sm-push-10 {\n left: 83.33333%; }\n .col-sm-push-11 {\n left: 91.66667%; }\n .col-sm-push-12 {\n left: 100%; }\n .col-sm-offset-0 {\n margin-left: 0%; }\n .col-sm-offset-1 {\n margin-left: 8.33333%; }\n .col-sm-offset-2 {\n margin-left: 16.66667%; }\n .col-sm-offset-3 {\n margin-left: 25%; }\n .col-sm-offset-4 {\n margin-left: 33.33333%; }\n .col-sm-offset-5 {\n margin-left: 41.66667%; }\n .col-sm-offset-6 {\n margin-left: 50%; }\n .col-sm-offset-7 {\n margin-left: 58.33333%; }\n .col-sm-offset-8 {\n margin-left: 66.66667%; }\n .col-sm-offset-9 {\n margin-left: 75%; }\n .col-sm-offset-10 {\n margin-left: 83.33333%; }\n .col-sm-offset-11 {\n margin-left: 91.66667%; }\n .col-sm-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 998px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left; }\n .col-md-1 {\n width: 8.33333%; }\n .col-md-2 {\n width: 16.66667%; }\n .col-md-3 {\n width: 25%; }\n .col-md-4 {\n width: 33.33333%; }\n .col-md-5 {\n width: 41.66667%; }\n .col-md-6 {\n width: 50%; }\n .col-md-7 {\n width: 58.33333%; }\n .col-md-8 {\n width: 66.66667%; }\n .col-md-9 {\n width: 75%; }\n .col-md-10 {\n width: 83.33333%; }\n .col-md-11 {\n width: 91.66667%; }\n .col-md-12 {\n width: 100%; }\n .col-md-pull-0 {\n right: auto; }\n .col-md-pull-1 {\n right: 8.33333%; }\n .col-md-pull-2 {\n right: 16.66667%; }\n .col-md-pull-3 {\n right: 25%; }\n .col-md-pull-4 {\n right: 33.33333%; }\n .col-md-pull-5 {\n right: 41.66667%; }\n .col-md-pull-6 {\n right: 50%; }\n .col-md-pull-7 {\n right: 58.33333%; }\n .col-md-pull-8 {\n right: 66.66667%; }\n .col-md-pull-9 {\n right: 75%; }\n .col-md-pull-10 {\n right: 83.33333%; }\n .col-md-pull-11 {\n right: 91.66667%; }\n .col-md-pull-12 {\n right: 100%; }\n .col-md-push-0 {\n left: auto; }\n .col-md-push-1 {\n left: 8.33333%; }\n .col-md-push-2 {\n left: 16.66667%; }\n .col-md-push-3 {\n left: 25%; }\n .col-md-push-4 {\n left: 33.33333%; }\n .col-md-push-5 {\n left: 41.66667%; }\n .col-md-push-6 {\n left: 50%; }\n .col-md-push-7 {\n left: 58.33333%; }\n .col-md-push-8 {\n left: 66.66667%; }\n .col-md-push-9 {\n left: 75%; }\n .col-md-push-10 {\n left: 83.33333%; }\n .col-md-push-11 {\n left: 91.66667%; }\n .col-md-push-12 {\n left: 100%; }\n .col-md-offset-0 {\n margin-left: 0%; }\n .col-md-offset-1 {\n margin-left: 8.33333%; }\n .col-md-offset-2 {\n margin-left: 16.66667%; }\n .col-md-offset-3 {\n margin-left: 25%; }\n .col-md-offset-4 {\n margin-left: 33.33333%; }\n .col-md-offset-5 {\n margin-left: 41.66667%; }\n .col-md-offset-6 {\n margin-left: 50%; }\n .col-md-offset-7 {\n margin-left: 58.33333%; }\n .col-md-offset-8 {\n margin-left: 66.66667%; }\n .col-md-offset-9 {\n margin-left: 75%; }\n .col-md-offset-10 {\n margin-left: 83.33333%; }\n .col-md-offset-11 {\n margin-left: 91.66667%; }\n .col-md-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left; }\n .col-lg-1 {\n width: 8.33333%; }\n .col-lg-2 {\n width: 16.66667%; }\n .col-lg-3 {\n width: 25%; }\n .col-lg-4 {\n width: 33.33333%; }\n .col-lg-5 {\n width: 41.66667%; }\n .col-lg-6 {\n width: 50%; }\n .col-lg-7 {\n width: 58.33333%; }\n .col-lg-8 {\n width: 66.66667%; }\n .col-lg-9 {\n width: 75%; }\n .col-lg-10 {\n width: 83.33333%; }\n .col-lg-11 {\n width: 91.66667%; }\n .col-lg-12 {\n width: 100%; }\n .col-lg-pull-0 {\n right: auto; }\n .col-lg-pull-1 {\n right: 8.33333%; }\n .col-lg-pull-2 {\n right: 16.66667%; }\n .col-lg-pull-3 {\n right: 25%; }\n .col-lg-pull-4 {\n right: 33.33333%; }\n .col-lg-pull-5 {\n right: 41.66667%; }\n .col-lg-pull-6 {\n right: 50%; }\n .col-lg-pull-7 {\n right: 58.33333%; }\n .col-lg-pull-8 {\n right: 66.66667%; }\n .col-lg-pull-9 {\n right: 75%; }\n .col-lg-pull-10 {\n right: 83.33333%; }\n .col-lg-pull-11 {\n right: 91.66667%; }\n .col-lg-pull-12 {\n right: 100%; }\n .col-lg-push-0 {\n left: auto; }\n .col-lg-push-1 {\n left: 8.33333%; }\n .col-lg-push-2 {\n left: 16.66667%; }\n .col-lg-push-3 {\n left: 25%; }\n .col-lg-push-4 {\n left: 33.33333%; }\n .col-lg-push-5 {\n left: 41.66667%; }\n .col-lg-push-6 {\n left: 50%; }\n .col-lg-push-7 {\n left: 58.33333%; }\n .col-lg-push-8 {\n left: 66.66667%; }\n .col-lg-push-9 {\n left: 75%; }\n .col-lg-push-10 {\n left: 83.33333%; }\n .col-lg-push-11 {\n left: 91.66667%; }\n .col-lg-push-12 {\n left: 100%; }\n .col-lg-offset-0 {\n margin-left: 0%; }\n .col-lg-offset-1 {\n margin-left: 8.33333%; }\n .col-lg-offset-2 {\n margin-left: 16.66667%; }\n .col-lg-offset-3 {\n margin-left: 25%; }\n .col-lg-offset-4 {\n margin-left: 33.33333%; }\n .col-lg-offset-5 {\n margin-left: 41.66667%; }\n .col-lg-offset-6 {\n margin-left: 50%; }\n .col-lg-offset-7 {\n margin-left: 58.33333%; }\n .col-lg-offset-8 {\n margin-left: 66.66667%; }\n .col-lg-offset-9 {\n margin-left: 75%; }\n .col-lg-offset-10 {\n margin-left: 83.33333%; }\n .col-lg-offset-11 {\n margin-left: 91.66667%; }\n .col-lg-offset-12 {\n margin-left: 100%; } }\n\n.clearfix:before, .clearfix:after {\n content: \' \';\n display: table; }\n\n.clearfix:after {\n clear: both; }\n\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto; }\n\n.pull-right {\n float: right !important; }\n\n.pull-left {\n float: left !important; }\n\n.hide {\n display: none !important; }\n\n.show {\n display: block !important; }\n\n.invisible {\n visibility: hidden; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.hidden {\n display: none !important; }\n\n.affix {\n position: fixed; }\n\nhtml,\nbody {\n height: 100%;\n font-size: 14px;\n padding: 0;\n margin: 8px;\n background: white; }\n',""])},574:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(12),_defaultOptions__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(13),react_markdown__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(376),react_markdown__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react_markdown__WEBPACK_IMPORTED_MODULE_10__),_README_md__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(377),_README_md__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(_README_md__WEBPACK_IMPORTED_MODULE_11__),_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(185),_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12__);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Introduction",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_8__.withOptions)(function(target){for(var i=1;i To enable auto scroll on focus you need to use scrollTo and set a scrollOffset")(story)(context)}).add("With static data",Object(_storybook_addon_notes__WEBPACK_IMPORTED_MODULE_11__.withMarkdownNotes)("The Autocomplete can be used with static or dynamic data and works especially well with state librarys such as redux. To easily customize your spinner you can add pass an element as a spinner prop! To fetch data dynamically you should use the onGetSuggestions param to update the data being passed to the data component.
To enable auto scroll on focus you need to use scrollTo and set a scrollOffset")(function(){return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h1",null,"Autocomplete"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",{className:"container pull-left"},react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",{className:"row"},react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h3",null,"Autocomplete input with inline label:"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_14__.a,{autofocus:!0,data:staticData,id:"autocompletes",label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("label","Autocomplete"),name:"autocomplete",placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("placeholder","Type something..."),onSelectSuggestion:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onSelectSuggestion"),noSuggestionText:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("noSuggestionText","No results found"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onBlur"),scrollOffset:70,scrollTo:!0}),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h3",null,"Required Autocomplete input with block label:"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_14__.a,{inputStyle:"block",data:staticData,id:"autocompletes",label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("label","Autocomplete"),name:"autocomplete",placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("placeholder","Type something..."),isRequired:!0,onSelectSuggestion:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onSelectSuggestion"),noSuggestionText:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("noSuggestionText","No results found"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onBlur"),requiredLabel:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("requiredLabel","required"),scrollOffset:70,scrollTo:!0}))))}))}.call(this,__webpack_require__(25)(module))},68:function(module,exports,__webpack_require__){var content=__webpack_require__(886);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},69:function(module,exports,__webpack_require__){var content=__webpack_require__(942);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},761:function(module,exports,__webpack_require__){var map={"./nestedObjectAssign":343,"./nestedObjectAssign.js":343};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=761},78:function(module,exports,__webpack_require__){var content=__webpack_require__(893);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},79:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Stars});__webpack_require__(61),__webpack_require__(129),__webpack_require__(52),__webpack_require__(53),__webpack_require__(16),__webpack_require__(15),__webpack_require__(6),__webpack_require__(38),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(19),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),_index_scss__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(51),_index_scss__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_17__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i=starNumber)}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Stars,react__WEBPACK_IMPORTED_MODULE_14___default.a.Component),Constructor=Stars,(protoProps=[{key:"setCurrentColor",value:function(value){var _this$props2=this.props,colors=_this$props2.colors,strokeColor=_this$props2.strokeColor;this.setState({color:colors[value-1]||strokeColor})}},{key:"isHalfStar",value:function(starNumber){var selectable=this.props.selectable,value=this.state.value;return!(selectable||!(value+1>=starNumber)||this.isWholeNumber(value))}},{key:"deselectStar",value:function(){this.updateValue(0)}},{key:"updateValue",value:function(newValue){this.setState({value:newValue})}},{key:"render",value:function(){var _this2=this,_this$props3=this.props,selectable=_this$props3.selectable,name=_this$props3.name,totalStars=_this$props3.totalStars,strokeColor=_this$props3.strokeColor,_this$state=this.state,color=_this$state.color,value=_this$state.value;return react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsContainer," ").concat(!selectable&&_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.staticStars),id:"".concat(name,"-container")},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsRow},_toConsumableArray(Array(totalStars+1)).map(function(star,key){return react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{key:key,className:key?_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsGroup:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.hideStarGroup},selectable&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("input",{checked:key===value,className:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.hiddenInput,id:"".concat(name,"-").concat(key),name:name,onChange:_this2.onClick,onClick:_this2.onClick,type:"radio",value:key}),!!key&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("label",{htmlFor:selectable?"".concat(name,"-").concat(key):void 0},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve",version:"1.1",viewBox:"-20 -20 541.8 518.6",width:"100%",stroke:strokeColor,preserveAspectRatio:"xMidYMid meet",className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.star," ").concat(selectable&&_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.ratingStar),x:"0",y:"0"},!selectable&&1===key&&!_this2.isWholeNumber(value)&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("defs",null,react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("linearGradient",{id:"".concat(name,"-half")},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("stop",{offset:"50%",stopColor:color}),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("stop",{offset:"50%",stopColor:"white"}))),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("path",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.path," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a[_this2.isFullStar(key)&&"fill"]),fill:_this2.getFillValue(key),stroke:_this2.isFullStar(key)?color:strokeColor,d:"M501.8,185.5c0,4.4-2.6,9.3-7.8,14.5L384.5,306.7l25.9,150.8c0.2,1.4,0.3,3.4,0.3,6c0,4.2-1.1,7.8-3.2,10.7 c-2.1,2.9-5.2,4.4-9.2,4.4c-3.8,0-7.8-1.2-12.1-3.6l-135.4-71.2L115.5,475c-4.4,2.4-8.4,3.6-12.1,3.6c-4.2,0-7.4-1.5-9.5-4.4 c-2.1-2.9-3.2-6.5-3.2-10.7c0-1.2,0.2-3.2,0.6-6l25.9-150.8L7.5,200c-5-5.4-7.5-10.3-7.5-14.5c0-7.4,5.6-12.1,16.9-13.9l151.4-22 l67.9-137.2C240,4.1,244.9,0,250.9,0c6,0,11,4.1,14.8,12.4l67.9,137.2l151.4,22C496.2,173.4,501.8,178,501.8,185.5z"})),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_16__.srOnly},key)))})))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Stars;var Constructor,protoProps,staticProps}();_defineProperty(Stars,"propTypes",{colors:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string),name:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string.isRequired,onChange:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,onClick:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,selectable:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.bool,strokeColor:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string,totalStars:function(props,propName){var totalStars=props[propName];return 1>totalStars||10props.totalStars?new Error("Prop value cannot be greater than prop totalStars"):null}}),_defineProperty(Stars,"defaultProps",{colors:["currentColor"],onChange:function(){},onClick:function(){},selectable:!1,strokeColor:"currentColor",totalStars:5,value:0}),Stars.__docgenInfo={description:"",methods:[{name:"onClick",docblock:null,modifiers:[],params:[{name:"e",type:null}],returns:null},{name:"setCurrentColor",docblock:null,modifiers:[],params:[{name:"value",type:null}],returns:null},{name:"getFillValue",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"isWholeNumber",docblock:null,modifiers:[],params:[{name:"number",type:null}],returns:null},{name:"isFullStar",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"isHalfStar",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"deselectStar",docblock:null,modifiers:[],params:[],returns:null},{name:"updateValue",docblock:null,modifiers:[],params:[{name:"newValue",type:null}],returns:null}],displayName:"Stars",props:{colors:{defaultValue:{value:"['currentColor']",computed:!1},type:{name:"arrayOf",value:{name:"string"}},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onClick:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},selectable:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},strokeColor:{defaultValue:{value:"'currentColor'",computed:!1},type:{name:"string"},required:!1,description:""},totalStars:{defaultValue:{value:"5",computed:!1},type:{name:"custom",raw:"(props, propName) => {\n const totalStars = props[propName];\n\n if (totalStars < 1 || totalStars > 10) {\n return new Error('Prop totalStars must be a number between 1 and 10');\n }\n return null;\n}"},required:!1,description:""},value:{defaultValue:{value:"0",computed:!1},type:{name:"custom",raw:"(props, propName) => {\n if (props[propName] > props.totalStars) {\n return new Error('Prop value cannot be greater than prop totalStars');\n }\n return null;\n}"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Stars/index.jsx"]={name:"Stars",docgenInfo:Stars.__docgenInfo,path:"src/components/Stars/index.jsx"})},884:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---error---2F2kz {\n display: block;\n width: 100%;\n margin-top: 6px;\n padding: 10px 12px;\n color: #fff;\n background-color: #f6363f;\n border-radius: 4px; }\n\n.index---info---2Klvo {\n display: block; }\n",""]),exports.locals={error:"index---error---2F2kz",info:"index---info---2Klvo"}},885:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---clearfix---2YZKJ:before, .index---clearfix---2YZKJ:after {\n content: ' ';\n display: table; }\n\n.index---clearfix---2YZKJ:after {\n clear: both; }\n\n.index---hidden---2NyJA {\n display: none !important; }\n\n.index---errorStyles---35ga5 {\n background-color: #d13b36;\n border-radius: 4px;\n font-size: 11px;\n padding: 5px 12px;\n text-transform: uppercase;\n font-weight: 400;\n color: #fff;\n position: absolute;\n z-index: 1;\n left: 0;\n top: 45px; }\n .index---errorStyles---35ga5:after {\n content: '';\n position: absolute;\n display: block;\n top: -5px;\n right: 45%;\n bottom: auto;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px;\n border-color: transparent transparent #d13b36; }\n\n.index---formControl---n-OmU {\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n display: block;\n width: 100%;\n min-height: 50px;\n padding: 11px 12px;\n font-size: 16px;\n line-height: 1.5;\n color: #5d656a;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d1d3d5;\n border-radius: 4px; }\n .index---formControl---n-OmU::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .index---formControl---n-OmU:-ms-input-placeholder {\n color: #999; }\n .index---formControl---n-OmU::-webkit-input-placeholder {\n color: #999; }\n .index---formControl---n-OmU:focus {\n border: 1px solid #2186db;\n box-shadow: inset 0 0 0 1px #2186db, inset 0 2px 1px rgba(0, 0, 0, 0.075);\n outline: none;\n color: #2f3940; }\n .index---formControl---n-OmU::-ms-expand {\n border: 0;\n background-color: transparent; }\n .index---formControl---n-OmU[disabled] {\n background-color: #e9ecec;\n cursor: not-allowed; }\n\n.index---formControlError---1xIqM {\n border: 1px solid #f6363f; }\n\n.index---controlNote---kTtzl {\n color: #b9bdbf;\n float: right;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n font-size: 12px;\n font-style: italic;\n padding-top: 6px;\n text-transform: none; }\n .index---controlNote---kTtzl .index---title---3Hizd {\n color: #747c80; }\n\n.index---srOnly---1xwTf {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.index---controlLabel---20nvw {\n color: #2f3940;\n font-size: 14px;\n font-weight: 600;\n margin-bottom: 6px; }\n .index---controlLabel---20nvw .index---faInfoCircle---1Nw3x {\n margin-left: 6px;\n font-size: 13px;\n color: #d1d3d5; }\n\n.index---formGroup---2cgu0 {\n position: relative;\n margin-bottom: 6px; }\n .index---formGroup---2cgu0:before, .index---formGroup---2cgu0:after {\n content: ' ';\n display: table; }\n .index---formGroup---2cgu0:after {\n clear: both; }\n\n.index---formControlIcon---1zYFK {\n position: absolute;\n top: 10px;\n right: 10px;\n font-size: 22px;\n color: #e9ecec; }\n\n.index---formGroupMultipleChoice---27sP9.index---inline---1WhCU {\n align-items: flex-start; }\n\n.index---formControlLg---1ZCgj .index---formControlIcon---1zYFK {\n top: 20px; }\n\n.index---controlLabelLg---3o0vi {\n font-size: 18px; }\n .index---controlLabelLg---3o0vi + .index---controlNote---kTtzl {\n line-height: 26px; }\n\n.index---controlLabelRequired---1uD-H {\n text-transform: uppercase;\n font-size: 11px;\n color: #747c80;\n font-style: normal; }\n @media (max-width: 480px -1) {\n .index---controlLabelRequired---1uD-H {\n float: right; } }\n @media (min-width: 480px) {\n .index---controlLabelRequired---1uD-H {\n position: absolute;\n top: 0;\n right: 2px; } }\n\n.index---unstyledButton---2st7u {\n margin: 0;\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .index---unstyledButton---2st7u:focus {\n outline: 0; }\n\n.index---inline---1WhCU {\n position: relative; }\n @media (min-width: 550px) {\n .index---inline---1WhCU {\n padding-top: 6px; } }\n @media (min-width: 480px) {\n .index---inline---1WhCU {\n display: flex;\n flex-flow: row;\n align-items: center; } }\n .index---inline---1WhCU label,\n .index---inline---1WhCU .index---labelContainer---2BaYe {\n margin-right: 10px;\n margin-bottom: 0;\n width: 140px; }\n @media (min-width: 550px) {\n .index---inline---1WhCU.index---paddingTop---2vaEY {\n padding-top: 25px; } }\n @media (min-width: 480px) {\n .index---inline---1WhCU .index---controlLabelError---3hknQ,\n .index---inline---1WhCU .index---controlLabelMediumSize---1P--r {\n align-self: flex-start;\n display: flex;\n align-items: center;\n min-height: 46px; } }\n .index---inline---1WhCU .index---choice---1wKEA:first-child {\n margin-top: 0; }\n .index---inline---1WhCU .index---choice---1wKEA:last-child {\n margin-bottom: 0; }\n\n.index---mediumSize---13PTj input,\n.index---mediumSize---13PTj textarea {\n height: 80px; }\n\n.index---labelContainer---2BaYe label {\n margin: 0 10px 0 0;\n width: auto;\n color: #2f3940;\n font-size: 14px;\n font-weight: 600; }\n",""]),exports.locals={clearfix:"index---clearfix---2YZKJ",hidden:"index---hidden---2NyJA",errorStyles:"index---errorStyles---35ga5",formControl:"index---formControl---n-OmU",formControlError:"index---formControlError---1xIqM",controlNote:"index---controlNote---kTtzl",title:"index---title---3Hizd",srOnly:"index---srOnly---1xwTf",controlLabel:"index---controlLabel---20nvw",faInfoCircle:"index---faInfoCircle---1Nw3x",formGroup:"index---formGroup---2cgu0",formControlIcon:"index---formControlIcon---1zYFK",formGroupMultipleChoice:"index---formGroupMultipleChoice---27sP9",inline:"index---inline---1WhCU",formControlLg:"index---formControlLg---1ZCgj",controlLabelLg:"index---controlLabelLg---3o0vi",controlLabelRequired:"index---controlLabelRequired---1uD-H",unstyledButton:"index---unstyledButton---2st7u",labelContainer:"index---labelContainer---2BaYe",paddingTop:"index---paddingTop---2vaEY",controlLabelError:"index---controlLabelError---3hknQ",controlLabelMediumSize:"index---controlLabelMediumSize---1P--r",choice:"index---choice---1wKEA",mediumSize:"index---mediumSize---13PTj"}},886:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---spinner---CVFwJ {\n position: absolute;\n right: 13px;\n top: 11px; }\n .index---spinner---CVFwJ svg {\n width: 18px;\n height: 18px;\n fill: #8b9195;\n vertical-align: middle;\n -webkit-animation: index---spin---34YTg 2s infinite linear;\n animation: index---spin---34YTg 2s infinite linear; }\n\n@-webkit-keyframes index---spin---34YTg {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes index---spin---34YTg {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.index---suggestionInfo---g07P5 {\n color: #a3a7aa;\n font-size: 13px;\n display: inline-block; }\n\n.index---suggestionsContainer---2sd9p {\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n background-clip: padding-box;\n font-size: 14px;\n width: 100%;\n margin-top: 1px;\n background-color: #fff;\n max-height: 300px;\n overflow: auto;\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 2; }\n @media (max-width: 549px) {\n .index---suggestionsContainer---2sd9p {\n width: auto;\n border-radius: 0; } }\n .index---suggestionsContainer---2sd9p ul {\n list-style-type: none;\n margin: 0;\n padding: 0; }\n\n.index---suggestion---6WjIb {\n box-sizing: border-box;\n text-align: left;\n padding: 8px 15px; }\n\n.index---suggestionHighlighted---vn7iP {\n background: #2186db;\n color: #fff;\n cursor: pointer; }\n .index---suggestionHighlighted---vn7iP .index---suggestionInfo---g07P5 {\n color: #fff; }\n\n.index---suggestionsFooter---3lPXE {\n border-top: 1px solid #f8f8f8;\n padding: 8px 12px; }\n\n.index---autoCompleteContainer---I2Xa0 {\n position: relative;\n width: 100%; }\n .index---autoCompleteContainer---I2Xa0 * {\n box-sizing: border-box; }\n\n.index---error---R3ygh {\n border-radius: 4px;\n font-size: 11px;\n padding: 5px 12px;\n text-transform: uppercase;\n font-weight: 400;\n background-color: #d13b36;\n color: #fff;\n position: absolute;\n z-index: 1;\n left: 0;\n top: 45px; }\n .index---error---R3ygh[href]:hover, .index---error---R3ygh[href]:focus {\n background-color: #ad2c27; }\n .index---error---R3ygh:after {\n content: '';\n position: absolute;\n display: block;\n top: -5px;\n right: 45%;\n bottom: auto;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px;\n border-color: transparent transparent #d13b36; }\n",""]),exports.locals={spinner:"index---spinner---CVFwJ",spin:"index---spin---34YTg",suggestionInfo:"index---suggestionInfo---g07P5",suggestionsContainer:"index---suggestionsContainer---2sd9p",suggestion:"index---suggestion---6WjIb",suggestionHighlighted:"index---suggestionHighlighted---vn7iP",suggestionsFooter:"index---suggestionsFooter---3lPXE",autoCompleteContainer:"index---autoCompleteContainer---I2Xa0",error:"index---error---R3ygh"}},887:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(4),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(40);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Button",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i div {\n width: 100%; }\n\n.index---icon---28A-P {\n position: absolute;\n z-index: 1;\n font-size: 18px;\n color: #747c80;\n top: 9px;\n right: 12px;\n pointer-events: none; }\n\n.index---container---iOqDf {\n position: relative;\n width: 100%; }\n\n.index---inline---3MfOv {\n display: flex;\n flex-flow: row;\n align-items: center; }\n @media (min-width: 550px) {\n .index---inline---3MfOv {\n padding-top: 6px; } }\n .index---inline---3MfOv label {\n margin-right: 10px;\n width: 140px;\n margin-bottom: 0;\n text-align: left; }\n .index---inline---3MfOv label + div {\n width: 100%; }\n @media (max-width: 480px) {\n .index---inline---3MfOv {\n display: block; } }\n @media (min-width: 550px) {\n .index---inline---3MfOv.index---paddingTop---1Aeii {\n padding-top: 25px; } }\n .index---inline---3MfOv .index---controlLabelError---3GyR1 {\n align-self: flex-start;\n display: flex;\n align-items: center;\n min-height: 46px; }\n",""]),exports.locals={datePickerContainer:"index---datePickerContainer---hl8u9",innerContainer:"index---innerContainer---2iaT_",icon:"index---icon---28A-P",container:"index---container---iOqDf",inline:"index---inline---3MfOv",paddingTop:"index---paddingTop---1Aeii",controlLabelError:"index---controlLabelError---3GyR1"}},909:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(373),__webpack_require__(24),__webpack_require__(10);var react__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__),_storybook_react__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(2),_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(49),_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14__),_index__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(17);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var DropDownInfo=function(){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("h3",null,"Dropdown"),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("p",null,"The DropDown component behaves differently depending on the"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"showOnHover"),"property. If true the menu will be shown on mouse hover. Otherwise, the menu will only open with a user click.",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("br",null),"The props"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"pullRight")," ","and"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"direction")," ","may be used to control alignment and direction in which dropdown will open."))},countries=[{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"Austrian Flag",alt:"Austrian Flag",src:"https://assets.kununu.com/images/footer/at.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Austria"),value:"Austria"},{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"German Flag",alt:"German Flag",src:"https://assets.kununu.com/images/footer/de.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Germany"),value:"Germany"},{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"Swiss Flag",alt:"Swiss Flag",src:"https://assets.kununu.com/images/footer/ch.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Switzerland"),value:"Switzerland"},{active:!0,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"American Flag",alt:"American Flag",src:"https://assets.kununu.com/images/footer/us.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"United States"),value:"United States"}];Object(_storybook_react__WEBPACK_IMPORTED_MODULE_9__.storiesOf)("DropDown",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_11__.withOptions)(function(target){for(var i=1;i"),") with an emoji or image tag"),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#ffffff"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{title:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",null,"Austria",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"at",role:"img"},"🇦🇹"))},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{isActive:!0,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"at",role:"img"},"🇦🇹")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Austria")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"de",role:"img"},"🇩🇪")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Germany")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"ch",role:"img"},"🇨🇭")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Switzerland")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"us",role:"img"},"🇺🇸")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"United States")))))))}).add("shades",function(){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(DropDownInfo,null),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{display:"block",margin:"70px auto 0",width:"75%"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#f1f1f1",padding:"20px"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("p",{style:{marginTop:"0"}},"Add"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,'shade="light"')," ","prop (e.g."," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,''),") to enable light shade on dark backgrounds."),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#18242b"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{direction:"up",showOnHover:!1,pullRight:!0,shade:"light",title:(active=countries.filter(function(item){return item.active}),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",null,active[0].value," ",active[0].icon))},countries.map(function(item,index){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{key:index,icon:item.icon},item.link)}))))));var active})}.call(this,__webpack_require__(25)(module))},910:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".storyStyles---dropDownStory---3yDy2 ul li {\n list-style: none; }\n\n.storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s {\n display: inline-block;\n padding: 0 10px; }\n .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s:first-child {\n padding: 0 0; }\n .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s + .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s {\n margin-left: 10px; }\n",""]),exports.locals={dropDownStory:"storyStyles---dropDownStory---3yDy2",menuItem:"storyStyles---menuItem---2hN7s"}},911:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,'.index---container---1kMY3 {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-block; }\n .index---container---1kMY3.index---up---1JCCN .index---itemsList---2_UHk {\n top: auto;\n bottom: 100%;\n border-radius: 4px 4px 0 0; }\n .index---container---1kMY3.index---up---1JCCN .index---item---2feQi:first-child {\n border-radius: 4px 4px 0 0; }\n .index---container---1kMY3.index---down---1Esxi .index---itemsList---2_UHk {\n top: 100%;\n left: 0;\n border-radius: 0 0 4px 4px; }\n .index---container---1kMY3.index---down---1Esxi .index---item---2feQi:last-child {\n border-radius: 0 0 4px 4px; }\n .index---container---1kMY3.index---pullRight---3iyUk .index---itemsList---2_UHk {\n right: 0;\n left: auto; }\n .index---container---1kMY3.index---light---3Ag1W .index---toggleButton---21F1_ {\n color: #fff; }\n .index---container---1kMY3.index---light---3Ag1W .index---item---2feQi a {\n color: #394b54; }\n\n.index---toggleButton---21F1_ {\n display: block;\n padding: 10px 15px;\n text-align: left;\n background-color: transparent;\n border: 0; }\n .index---toggleButton---21F1_:hover, .index---toggleButton---21F1_:active, .index---toggleButton---21F1_:focus {\n text-decoration: none; }\n .index---toggleButton---21F1_ span[role="img"],\n .index---toggleButton---21F1_ img {\n display: inline;\n margin-left: 10px; }\n\n.index---itemsList---2_UHk {\n position: absolute;\n left: 0;\n padding: 0;\n margin: 0;\n min-width: 160px;\n background-color: #fff;\n box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);\n z-index: 1060; }\n\n.index---item---2feQi {\n position: relative;\n display: block;\n padding: 0;\n margin: 0;\n font-size: 14px;\n list-style: none;\n cursor: pointer; }\n .index---item---2feQi:before, .index---item---2feQi:after {\n content: \' \';\n display: table; }\n .index---item---2feQi:after {\n clear: both; }\n .index---item---2feQi .index---icon---3zTsE {\n float: right;\n margin-left: 10px;\n line-height: 18px; }\n .index---item---2feQi .index---icon---3zTsE img,\n .index---item---2feQi .index---icon---3zTsE span[role="img"] {\n display: inline-block;\n vertical-align: middle; }\n .index---item---2feQi a {\n display: block;\n padding: 10px 15px; }\n .index---item---2feQi a:hover, .index---item---2feQi a:active, .index---item---2feQi a:focus, .index---item---2feQi a:visited {\n text-decoration: none; }\n .index---item---2feQi.index---active---3FMSQ, .index---item---2feQi:hover {\n background-color: #f8f8f8; }\n',""]),exports.locals={container:"index---container---1kMY3",up:"index---up---1JCCN",itemsList:"index---itemsList---2_UHk",item:"index---item---2feQi",down:"index---down---1Esxi",pullRight:"index---pullRight---3iyUk",light:"index---light---3Ag1W",toggleButton:"index---toggleButton---21F1_",icon:"index---icon---3zTsE",active:"index---active---3FMSQ"}},912:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(29);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Error",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i * {\n margin: 0 5px;\n min-width: 80px; }\n\n.index---modalTitle---1kflK {\n margin: 0; }\n\n.index---modalBody---1BjLR {\n padding: 20px; }\n\n.index---closeButton---2Vh9p {\n width: 16px;\n height: 16px;\n border: 0;\n background: transparent;\n padding: 0; }\n .index---closeButton---2Vh9p:focus {\n outline: 0; }\n .index---closeButton---2Vh9p:active svg {\n fill: #ecf1f5; }\n\n.index---closeIcon---1g1wD {\n display: block;\n width: 16px;\n height: 16px;\n stroke: none;\n fill: #2186db; }\n",""]),exports.locals={modal:"index---modal---LxKOW",isOpen:"index---isOpen---nFRNi",underlay:"index---underlay---542bh",underlayHasEntered:"index---underlayHasEntered---3i7gA",modalHeader:"index---modalHeader---S8Y8m",modalFooter:"index---modalFooter---1Mu0h",modalTitle:"index---modalTitle---1kflK",modalBody:"index---modalBody---1BjLR",closeButton:"index---closeButton---2Vh9p",closeIcon:"index---closeIcon---1g1wD"}},927:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(14),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(259);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("MultipleChoice",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i div:first-child {\n color: #747c80;\n text-transform: uppercase;\n font-weight: 300;\n font-size: 11px;\n min-width: 60px; }\n\n.index---inputContainer---2vX-G {\n position: relative;\n width: 100%; }\n\n.index---buttons---2A2ds .index---inputContainer---2vX-G {\n display: block;\n width: auto;\n margin-left: -6px;\n margin-right: -6px; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---inputContainer---2vX-G {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row; } }\n\n.index---buttons---2A2ds .index---choice---1XDFd {\n display: inline-block;\n padding: 5px; }\n .index---buttons---2A2ds .index---choice---1XDFd,\n .index---buttons---2A2ds .index---choice---1XDFd + .index---choice---1XDFd {\n margin: 0; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---choice---1XDFd {\n flex-shrink: 0;\n flex-grow: 1; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label {\n color: #2186db;\n border: 1px solid #2186db;\n transition: background-color .25s;\n font-weight: 600; }\n @media (max-width: 997px) {\n .index---buttons---2A2ds .index---choice---1XDFd input + label {\n font-size: 12px; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label:hover,\n .index---buttons---2A2ds .index---choice---1XDFd input:focus + label {\n background-color: transparent;\n color: #2186db; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:focus + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:visited + label {\n outline: 0; }\n .index---buttons---2A2ds .index---choice---1XDFd input:active + label {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label, .index---buttons---2A2ds .index---choice---1XDFd input:checked + label:hover {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked label {\n background-color: transparent;\n border-radius: 4px;\n padding: 8px;\n text-align: center;\n transition: background-color .25s; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---choice---1XDFd input + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked label {\n width: 100%; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label:before,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label:before {\n display: none; }\n",""]),exports.locals={inlineLabel:"index---inlineLabel---zOpsZ",choice:"index---choice---1XDFd","lt-ie9":"index---lt-ie9---DKuqN",inline:"index---inline---1ksrb",inputContainer:"index---inputContainer---2vX-G",buttons:"index---buttons---2A2ds"}},929:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(4),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(187);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Notification",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i`` tag.')(story)(context)}).add("basics",function(){return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_13__.a,{totalPages:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__.number)("totalPages",5),query:window.parent.location.search,baseLink:react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("a",{href:"/"},"baselink")})})}.call(this,__webpack_require__(25)(module))},934:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---paginatorList---3J2a3 {\n display: inline-block;\n padding-left: 0;\n border-radius: 4px; }\n .index---paginatorList---3J2a3 * {\n box-sizing: border-box; }\n .index---paginatorList---3J2a3 > li {\n display: inline; }\n .index---paginatorList---3J2a3 > li > a {\n position: relative;\n float: left;\n padding: 10px 12px;\n line-height: 1.5;\n text-decoration: none;\n color: #2186db;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n transition: color .25s; }\n .index---paginatorList---3J2a3 > li > a:hover, .index---paginatorList---3J2a3 > li > a:focus {\n z-index: 2;\n color: #175d99;\n background-color: #e9ecec;\n border-color: #ddd; }\n .index---paginatorList---3J2a3 > li:first-child > a {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px; }\n .index---paginatorList---3J2a3 > li:last-child > a {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px; }\n .index---paginatorList---3J2a3 > li.index---active---1W3jh > a, .index---paginatorList---3J2a3 > li.index---active---1W3jh > a:hover, .index---paginatorList---3J2a3 > li.index---active---1W3jh > a:focus {\n z-index: 3;\n color: #fff;\n background-color: #99c613;\n border-color: #99c613;\n cursor: default;\n pointer: disabled;\n pointer-events: none; }\n .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a, .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a:hover, .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a:focus {\n pointer: disabled;\n pointer-events: none;\n color: #e9ecec;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed; }\n\n@media (max-width: 480px) {\n .index---paginatorList---3J2a3 > li > a {\n padding: 11px; } }\n",""]),exports.locals={paginatorList:"index---paginatorList---3J2a3",active:"index---active---1W3jh",disabled:"index---disabled---2IXav"}},935:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(16),__webpack_require__(15),__webpack_require__(6),__webpack_require__(38),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__),_storybook_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(387);function _objectSpread(target){for(var i=1;i value.replace(/a/, 'b')")," ","- now all As will be replaced with Bs!"),react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("div",{style:{position:"relative"}},react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{autoFocus:!0,id:"text-field",disable:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("disabled",!1),displayLength:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("displayLength",!1),dynamicTextareaHeight:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("dynamicTextareaHeight",!0),label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("label","TextField"),labelHidden:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("labelHidden",!1),inputStyle:"block",highlightList:{bad:"bad",fuck:"fuck"},minHeight:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.number)("maxHeight",80),maxLength:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.number)("maxLength",500),onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onChange"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onBlur"),onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onClick"),requiredLabel:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("requiredLabel","required"),type:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.select)("type",typeOptions,"text"),placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("placeholder","Placeholder text"),sanitizeValue:function(value){return value.replace(/a/,"b")},value:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("value",""),name:"text-field"})))})}.call(this,__webpack_require__(25)(module))},946:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(391);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("ToolTip",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i=arguments.length?void 0:arguments[0]).target,_this$props=_this.props,dynamicTextareaHeight=_this$props.dynamicTextareaHeight,highlightList=_this$props.highlightList,multiLine=_this$props.multiLine,onChange=_this$props.onChange,sanitizeValue=_this$props.sanitizeValue;_this.updateValue(sanitizeValue(target.value)),onChange&&onChange.apply(void 0,arguments),dynamicTextareaHeight&&multiLine&&_this.setDynamicTextAreaHeight(target),highlightList&&_this.setState({highlightedContent:_this.getHighlightedContent(target.value)}),_this.hideError()}),_defineProperty(_assertThisInitialized(_this),"getItem",function(_ref2){var children=_ref2.props.children,_this$props2=_this.props,displayLength=_this$props2.displayLength,maxLength=_this$props2.maxLength,requiredLabel=_this$props2.requiredLabel,value=_this$props2.value;return maxLength||requiredLabel?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_15___default.a.Fragment,null,children,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_InfoLabel__WEBPACK_IMPORTED_MODULE_19__.a,{displayLength:displayLength,inputValue:value,maxLength:maxLength,requiredLabel:requiredLabel})):children}),_defineProperty(_assertThisInitialized(_this),"getHighlightedContent",function(contents){var userInputArray=contents.split(/([^a-zA-Z]+)/),_this$props3=_this.props,highlightList=_this$props3.highlightList,onHighlight=_this$props3.onHighlight;return userInputArray.map(function(part){return highlightList[part.toLowerCase()]?(onHighlight(),react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.highlighted,key:part},part)):part})}),_defineProperty(_assertThisInitialized(_this),"setDynamicTextAreaHeight",function(target){var minHeight=_this.props.minHeight,textAreaHeight=_this.state.textAreaHeight,currentHeight=target.scrollHeight,newHeight=+textAreaHeight>currentHeight?currentHeight-20:currentHeight;newHeight>(minHeight||134)&&_this.setState({textAreaHeight:newHeight})}),_defineProperty(_assertThisInitialized(_this),"textAreaStyles",function(){var _this$props4=_this.props,highlightList=_this$props4.highlightList,minHeight=_this$props4.minHeight,textAreaHeight=_this.state.textAreaHeight,textAreaStyles={};return highlightList&&minHeight&&(textAreaStyles.minHeight=minHeight),textAreaHeight&&(textAreaStyles.height="".concat(textAreaHeight,"px")),textAreaStyles}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(TextField,react__WEBPACK_IMPORTED_MODULE_15___default.a.Component),Constructor=TextField,(protoProps=[{key:"componentWillMount",value:function(){var _this$props5=this.props,error=_this$props5.error,name=_this$props5.name,query=_this$props5.query,value=_this$props5.value,queryObject=Object(utils_params__WEBPACK_IMPORTED_MODULE_17__.a)(query);this.updateValue(queryObject[name]||value||""),null!==error&&this.showError()}},{key:"componentWillReceiveProps",value:function(nextProps){var name=this.props.name,queryObject=Object(utils_params__WEBPACK_IMPORTED_MODULE_17__.a)(nextProps.query);if(nextProps.error)this.showError();else{if(!this.needsUpdate(nextProps))return;this.updateValue(queryObject[name]||nextProps.value||"")}}},{key:"showError",value:function(){this.setState({showError:!0})}},{key:"hideError",value:function(){this.setState({showError:!1})}},{key:"updateValue",value:function(value){this.setState({value:value})}},{key:"needsUpdate",value:function(_ref3){var value=_ref3.value,query=_ref3.query,_this$props6=this.props,pValue=_this$props6.value,pQuery=_this$props6.query;return value!==pValue||query!==pQuery}},{key:"hasError",value:function(){var showError=this.state.showError,error=this.props.error;return showError&&error}},{key:"render",value:function(){var _this$props7=this.props,autoComplete=_this$props7.autoComplete,autoFocus=_this$props7.autoFocus,disable=_this$props7.disable,error=_this$props7.error,errorSubInfo=_this$props7.errorSubInfo,highlightList=_this$props7.highlightList,id=_this$props7.id,isRequired=_this$props7.isRequired,label=_this$props7.label,labelHidden=_this$props7.labelHidden,maxLength=_this$props7.maxLength,multiLine=_this$props7.multiLine,name=_this$props7.name,onBlur=_this$props7.onBlur,onFocus=_this$props7.onFocus,pattern=_this$props7.pattern,placeholder=_this$props7.placeholder,reference=_this$props7.reference,rows=_this$props7.rows,title=_this$props7.title,type=_this$props7.type,_this$state=this.state,highlightedContent=_this$state.highlightedContent,value=_this$state.value;return react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:this.containerClassNames,id:"".concat(name,"-container")},labelHidden&&react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.srOnly},label),this.label,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.inputContainer},highlightList?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.highlightOverlay," ").concat(this.textFieldClassNames)},highlightedContent):null,multiLine?react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("textarea",{autoFocus:autoFocus,className:this.textFieldClassNames,disabled:disable,id:id,maxLength:maxLength,name:name,onBlur:onBlur,onChange:this.onChange,onFocus:onFocus,pattern:pattern,placeholder:placeholder,ref:reference,required:isRequired,rows:rows,style:this.textAreaStyles(),value:value}):react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("input",{autoComplete:autoComplete,autoFocus:autoFocus,className:this.textFieldClassNames,disabled:disable,id:id,maxLength:maxLength,name:name,onBlur:onBlur,onChange:this.onChange,onFocus:onFocus,pattern:pattern,placeholder:placeholder,ref:reference,required:isRequired,title:title,type:type,value:value}),this.hasError()&&react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_Error__WEBPACK_IMPORTED_MODULE_18__.a,{info:error,subInfo:errorSubInfo})))}},{key:"labelClassNames",get:function(){var _this$props8=this.props,inputStyle=_this$props8.inputStyle,labelHidden=_this$props8.labelHidden,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabel],inputStyles=inputStyle.split(" ");return labelHidden&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.hidden),this.hasError()&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabelError),-1!==inputStyles.indexOf("mediumSize")&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.controlLabelMediumSize),classNames.join(" ")}},{key:"textFieldClassNames",get:function(){var _this$props9=this.props,highlightList=_this$props9.highlightList,multiLine=_this$props9.multiLine,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formControl];return multiLine&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.textarea),multiLine&&highlightList&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.dynamicHeight),this.hasError()&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formControlError),classNames.join(" ")}},{key:"containerClassNames",get:function(){var _this$props10=this.props,displayLength=_this$props10.displayLength,inputStyle=_this$props10.inputStyle,requiredLabel=_this$props10.requiredLabel,classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.formGroup];return inputStyle.split(" ").map(function(style){return classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a[style])}),(requiredLabel||displayLength)&&classNames.push(_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.paddingTop),classNames.join(" ")}},{key:"label",get:function(){var _this$props11=this.props,displayLength=_this$props11.displayLength,id=_this$props11.id,label=_this$props11.label,maxLength=_this$props11.maxLength,requiredLabel=_this$props11.requiredLabel,value=_this$props11.value,flexStyles=maxLength||requiredLabel?_index_scss__WEBPACK_IMPORTED_MODULE_21___default.a.flexLabel:"";if("string"==typeof label)return react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement("label",{className:"".concat(this.labelClassNames," ").concat(flexStyles),htmlFor:id},label,react__WEBPACK_IMPORTED_MODULE_15___default.a.createElement(_InfoLabel__WEBPACK_IMPORTED_MODULE_19__.a,{displayLength:displayLength,inputValue:value,maxLength:maxLength,requiredLabel:requiredLabel}));var classNames=[_index_scss__WEBPACK_IMPORTED_MODULE_20___default.a.labelContainer,flexStyles,this.labelClassNames];return label.props.className&&classNames.push(label.props.className),react__WEBPACK_IMPORTED_MODULE_15___default.a.cloneElement(label,function(target){for(var i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onHighlight:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},pattern:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},rows:{defaultValue:{value:"5",computed:!1},type:{name:"number"},required:!1,description:""},sanitizeValue:{defaultValue:{value:"value => value",computed:!1},type:{name:"func"},required:!1,description:""},title:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},type:{defaultValue:{value:"'text'",computed:!1},type:{name:"enum",value:[{value:"'email'",computed:!1},{value:"'password'",computed:!1},{value:"'text'",computed:!1},{value:"'url'",computed:!1},{value:"'number'",computed:!1},{value:"'hidden'",computed:!1}]},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},label:{type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TextField/index.jsx"]={name:"TextField",docgenInfo:TextField.__docgenInfo,path:"src/components/TextField/index.jsx"})},116:function(module,exports,__webpack_require__){var content=__webpack_require__(928);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},117:function(module,exports,__webpack_require__){var content=__webpack_require__(930);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},118:function(module,exports,__webpack_require__){var content=__webpack_require__(934);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},119:function(module,exports,__webpack_require__){var content=__webpack_require__(944);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},13:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return defaultOptions});var defaultOptions={enableShortcuts:!1,name:"nukleus components",showSearchBox:!1,url:"https://github.com/kununu/nukleus"}},138:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(169);var react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),prop_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__),_index_scss__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(257),_index_scss__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_4__),InfoLabel=function(_ref){var displayLength=_ref.displayLength,inputValue=_ref.inputValue,maxLength=_ref.maxLength,requiredLabel=_ref.requiredLabel;return!requiredLabel||displayLength&&inputValue&&""!==inputValue.trim()?displayLength?react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_3__.controlNote," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.label)},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("strong",null,inputValue.length),"/",maxLength):null:react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_3__.controlNote," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.label)},requiredLabel)};InfoLabel.propTypes={displayLength:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,inputValue:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,maxLength:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,requiredLabel:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string},InfoLabel.defaultProps={displayLength:!1,inputValue:"",maxLength:500,requiredLabel:""},__webpack_exports__.a=InfoLabel,InfoLabel.__docgenInfo={description:"",methods:[],displayName:"InfoLabel",props:{displayLength:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},inputValue:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},maxLength:{defaultValue:{value:"500",computed:!1},type:{name:"number"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoLabel/index.jsx"]={name:"InfoLabel",docgenInfo:InfoLabel.__docgenInfo,path:"src/components/InfoLabel/index.jsx"})},139:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Select});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(154),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__),prop_types__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__),_Error__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_15__),_index_scss__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(140),_index_scss__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_16__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},options:{defaultValue:{value:"[]",computed:!1},type:{name:"union",value:[{name:"object"},{name:"arrayOf",value:{name:"shape",value:{key:{name:"union",value:[{name:"string"},{name:"number"}],required:!1},value:{name:"union",value:[{name:"string"},{name:"number"}],required:!1}}}}]},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},sort:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},title:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"union",value:[{name:"string"},{name:"number"}]},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Select/index.jsx"]={name:"Select",docgenInfo:Select.__docgenInfo,path:"src/components/Select/index.jsx"})},140:function(module,exports,__webpack_require__){var content=__webpack_require__(938);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},17:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),prop_types=__webpack_require__(1),prop_types_default=__webpack_require__.n(prop_types),executionEnvironment=__webpack_require__(99),components_DropDown=__webpack_require__(48),DropDown_default=__webpack_require__.n(components_DropDown);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;iwindow.innerWidth?-1*(this.positionRight-window.innerWidth)-(window.innerWidth-document.body.clientWidth):0>this.positionLeft?-1*this.positionLeft:0}},{key:"positionRight",get:function(){return this.container.getBoundingClientRect().right-this.translateX}},{key:"positionLeft",get:function(){return this.container.getBoundingClientRect().left-this.translateX}},{key:"translateX",get:function(){return this.currentTranslateX},set:function(x){this.currentTranslateX=x,this.container.style.transform=0===x?"":"translateX(".concat(this.currentTranslateX,"px)")}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),InfoBox;var Constructor,protoProps,staticProps}();_defineProperty(InfoBox,"propTypes",{content:prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object]).isRequired,position:prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(["topLeft","topRight","bottomLeft","bottomRight"])}),_defineProperty(InfoBox,"defaultProps",{position:"topLeft"}),InfoBox.__docgenInfo={description:"",methods:[{name:"translatedXByScreenEdge",docblock:null,modifiers:["get"],params:[],returns:null},{name:"positionRight",docblock:null,modifiers:["get"],params:[],returns:null},{name:"positionLeft",docblock:null,modifiers:["get"],params:[],returns:null},{name:"translateX",docblock:null,modifiers:["get"],params:[],returns:null},{name:"translateX",docblock:null,modifiers:["set"],params:[{name:"x",type:null}],returns:null},{name:"updateLayout",docblock:null,modifiers:[],params:[],returns:null},{name:"windowResize",docblock:null,modifiers:[],params:[],returns:null},{name:"update",docblock:"Update function that checks every animationframe, if there needs to be a\nlayout update",modifiers:[],params:[],returns:null,description:"Update function that checks every animationframe, if there needs to be a\nlayout update"}],displayName:"InfoBox",props:{position:{defaultValue:{value:"'topLeft'",computed:!1},type:{name:"enum",value:[{value:"'topLeft'",computed:!1},{value:"'topRight'",computed:!1},{value:"'bottomLeft'",computed:!1},{value:"'bottomRight'",computed:!1}]},required:!1,description:""},content:{type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoBox/index.jsx"]={name:"InfoBox",docgenInfo:InfoBox.__docgenInfo,path:"src/components/InfoBox/index.jsx"})},185:function(module,exports,__webpack_require__){var content=__webpack_require__(656);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},186:function(module,exports,__webpack_require__){var content=__webpack_require__(891);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},187:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Notification});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__),prop_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__),_index_scss__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(117),_index_scss__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_7__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i\n \n',computed:!1},type:{name:"element"},required:!1,description:""},closeMethod:{defaultValue:{value:"'onClick'",computed:!1},type:{name:"enum",value:[{value:"'onClick'",computed:!1},{value:"'onTimeout'",computed:!1}]},required:!1,description:""},duration:{defaultValue:{value:"5000",computed:!1},type:{name:"number"},required:!1,description:""},icon:{defaultValue:{value:"null",computed:!1},type:{name:"element"},required:!1,description:""},onClose:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},type:{defaultValue:{value:"'success'",computed:!1},type:{name:"enum",value:[{value:"'error'",computed:!1},{value:"'success'",computed:!1}]},required:!1,description:""},visible:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},message:{type:{name:"string"},required:!0,description:""},onCloseClick:{type:{name:"custom",raw:"function(props, propName) { // eslint-disable-line\n if (props[propName]) {\n return new Error('This prop is marked as deprecated and will be removed on upcoming release. ' +\n 'Please use `onClose` instead.');\n }\n}"},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Notification/index.jsx"]={name:"Notification",docgenInfo:Notification.__docgenInfo,path:"src/components/Notification/index.jsx"})},188:function(module,exports,__webpack_require__){var content=__webpack_require__(936);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},254:function(module,exports,__webpack_require__){var content=__webpack_require__(884);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},255:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Choice});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),utils_params__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(57),_Error__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(186),_index_scss__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_13__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onClick:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},optionsPerRow:{defaultValue:{value:"null",computed:!1},type:{name:"enum",value:[{value:"'3'",computed:!1},{value:"'4'",computed:!1},{value:"'5'",computed:!1},{value:"'6'",computed:!1},{value:"'7'",computed:!1},{value:"3",computed:!1},{value:"4",computed:!1},{value:"5",computed:!1},{value:"6",computed:!1},{value:"7",computed:!1},{value:"null",computed:!1}]},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""},options:{type:{name:"arrayOf",value:{name:"shape",value:{id:{name:"string",required:!1},label:{name:"union",value:[{name:"string"},{name:"object"}],required:!1},value:{name:"string",required:!1}}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Choice/index.jsx"]={name:"Choice",docgenInfo:Choice.__docgenInfo,path:"src/components/Choice/index.jsx"})},256:function(module,exports,__webpack_require__){var content=__webpack_require__(914);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},257:function(module,exports,__webpack_require__){var content=__webpack_require__(916);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},258:function(module,exports,__webpack_require__){var content=__webpack_require__(919);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},259:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return MultipleChoice});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(367),__webpack_require__(368),__webpack_require__(74),__webpack_require__(24),__webpack_require__(369),__webpack_require__(10),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_16__),prop_types__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_17__),_Error__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(29),_Label__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(114),_index_scss__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_20__),_index_scss__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(116),_index_scss__WEBPACK_IMPORTED_MODULE_21___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_21__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},options:{defaultValue:{value:"[]",computed:!1},type:{name:"arrayOf",value:{name:"shape",value:{id:{name:"string",required:!1},isChecked:{name:"bool",required:!1},label:{name:"string",required:!1}}}},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},reference:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/MultipleChoice/index.jsx"]={name:"MultipleChoice",docgenInfo:MultipleChoice.__docgenInfo,path:"src/components/MultipleChoice/index.jsx"})},261:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Tabs});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),prop_types__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__),classnames__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__),_index_scss__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(119),_index_scss__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_10__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i=items.length))},react__WEBPACK_IMPORTED_MODULE_6___default.a.cloneElement(item,_this.getNewProps(item)))}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Tabs;var Constructor,protoProps,staticProps}();_defineProperty(Tabs,"propTypes",{hash:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,items:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.element).isRequired,pathname:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string.isRequired,theme:prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf(["default","block"])}),_defineProperty(Tabs,"defaultProps",{hash:"",theme:"default"}),Tabs.__docgenInfo={description:"",methods:[{name:"getNewProps",docblock:null,modifiers:[],params:[{name:"item",type:null}],returns:null}],displayName:"Tabs",props:{hash:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},theme:{defaultValue:{value:"'default'",computed:!1},type:{name:"enum",value:[{value:"'default'",computed:!1},{value:"'block'",computed:!1}]},required:!1,description:""},items:{type:{name:"arrayOf",value:{name:"element"}},required:!0,description:""},pathname:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Tabs/index.jsx"]={name:"Tabs",docgenInfo:Tabs.__docgenInfo,path:"src/components/Tabs/index.jsx"})},262:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19),__webpack_require__(10),__webpack_require__(169);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),prop_types=__webpack_require__(1),prop_types_default=__webpack_require__.n(prop_types),dist=__webpack_require__(182),dist_default=__webpack_require__.n(dist),modules=__webpack_require__(378),modules_default=__webpack_require__.n(modules),debounce=__webpack_require__(183),debounce_default=__webpack_require__.n(debounce),executionEnvironment=__webpack_require__(99);var params=__webpack_require__(57),mobileDetection=!!executionEnvironment.a&&550>window.outerWidth,Error=__webpack_require__(29),components=__webpack_require__(5),components_default=__webpack_require__.n(components),components_Autocomplete=__webpack_require__(68),Autocomplete_default=__webpack_require__.n(components_Autocomplete);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onGetSuggestions:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},onSelectSuggestion:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},scrollOffset:{defaultValue:{value:"0",computed:!1},type:{name:"number"},required:!1,description:""},scrollTo:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},spinner:{defaultValue:{value:"null",computed:!1},type:{name:"element"},required:!1,description:""},submitOnEnter:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},value:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},label:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Autocomplete/index.jsx"]={name:"Autocomplete",docgenInfo:Autocomplete_Autocomplete.__docgenInfo,path:"src/components/Autocomplete/index.jsx"})},29:function(module,__webpack_exports__,__webpack_require__){"use strict";var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_index_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(254),_index_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_2__),Error=function(_ref){var info=_ref.info,subInfo=_ref.subInfo,id=_ref.id;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.error,id:id},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong",{className:_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.info},info),subInfo)};Error.propTypes={info:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,subInfo:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,id:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string},Error.defaultProps={subInfo:"",id:null},__webpack_exports__.a=Error,Error.__docgenInfo={description:"",methods:[],displayName:"Error",props:{subInfo:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},info:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Error/index.jsx"]={name:"Error",docgenInfo:Error.__docgenInfo,path:"src/components/Error/index.jsx"})},377:function(module,exports){module.exports="

\n nukleus\n

\n
\n\nWelcome to [kununu's](https://wwww.kununu.com) collection of [React](https://facebook.github.io/react/) UI components! These reusable components are designed and implemented to help build amazing products fast and easily.\n\n\n[![Dependencies](https://david-dm.org/kununu/nukleus/master/status.svg)](https://david-dm.org/kununu/nukleus/master)\n[![Dev dependencies](https://david-dm.org/kununu/nukleus/master/dev-status.svg)](https://david-dm.org/kununu/nukleus/master?type=dev)\n[![Storybook](https://cdn.jsdelivr.net/gh/storybooks/brand@master/badge/badge-storybook.svg)](https://kununu.github.io/nukleus)\n\n## Features\n* Over 80% code coverage\n* Frequently updated\n* Wide range of form and UI components\n\n
\n\n## Setup\n
\n\n### Install with `npm` or `yarn`\n```sh\nnpm i nukleus\n# OR\nyarn add nukleus\n```\n\n
\n\n### Usage\n\nYou will need a module bundler that supports css modules. To do this with [webpack](https://webpack.js.org/) (recommended) you can use something like this:\n\n```javascript\n{\n test: /\\.css$/,\n include: /nukleus/,\n use: [\n 'style-loader',\n 'css-loader?modules&localIdentName=[name]---[local]---[hash:base64:5]',\n {\n loader: 'postcss-loader',\n options: {\n plugins: function () {\n return [\n require('autoprefixer')\n ];\n }\n }\n },\n ]\n }\n```\n\nNext you can import each compiled nukelus component seperately, which will help reduce your bundle size if you only require a few components.\n```javascript\nimport Select from 'nukleus/dist/components/Select';\nimport TextField from 'nukleus/dist/components/TextField';\n```\n\nOr you can import and bundle all nukleus components via:\n```javascript\nimport {Select, TextField} from 'nukleus';\n```\n\n
\n\n## Contributing\n
\nComing soon 🎉\n\n
\n\n## Test\n
\nIn order to run the tests, run `npm run test`.\n\nThere could be two reasons why the tests are failing: either your component broke or was modified on purpose.\nIn the latter case, you will just need to update the snapshot as we use jest snapshot testing.\n"},379:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return ComboboxComponent});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19),__webpack_require__(10),__webpack_require__(24),__webpack_require__(169),__webpack_require__(107);var react__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),react_autosuggest__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(182),react_autosuggest__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(react_autosuggest__WEBPACK_IMPORTED_MODULE_16__),debounce__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(183),debounce__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(debounce__WEBPACK_IMPORTED_MODULE_17__),_Error__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(29),_index_scss__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(78),_index_scss__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_20__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _objectSpread(target){for(var i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onSelect:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},placeholder:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Combobox/index.jsx"]={name:"ComboboxComponent",docgenInfo:ComboboxComponent.__docgenInfo,path:"src/components/Combobox/index.jsx"})},380:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return DatePickerComponent});__webpack_require__(16),__webpack_require__(15),__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__),prop_types__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__),react_datepicker__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(381),react_datepicker__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(react_datepicker__WEBPACK_IMPORTED_MODULE_13__),date_fns_isDate__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(382),_Error__WEBPACK_IMPORTED_MODULE_16__=(__webpack_require__(905),__webpack_require__(29)),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(101),_index_scss__WEBPACK_IMPORTED_MODULE_18___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_18__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i {}",computed:!1},type:{name:"func"},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onFocus:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"object"},required:!1,description:""},requiredLabel:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},showAbbreviatedMonthDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},showMonthDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},showYearDropdown:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},title:{defaultValue:{value:"null",computed:!1},type:{name:"string"},required:!1,description:""},value:{defaultValue:{value:"null",computed:!1},type:{name:"instanceOf",value:"Date"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/DatePicker/index.jsx"]={name:"DatePickerComponent",docgenInfo:DatePickerComponent.__docgenInfo,path:"src/components/DatePicker/index.jsx"})},383:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return InfoText});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_index_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(258),_index_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_2__);function InfoText(_ref){var text=_ref.text,infoStyle=_ref.infoStyle;return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a.infoText," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_2___default.a[infoStyle])},text)}InfoText.propTypes={infoStyle:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(["inline","block"]),text:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired},InfoText.defaultProps={infoStyle:"inline"},InfoText.__docgenInfo={description:"",methods:[],displayName:"InfoText",props:{infoStyle:{defaultValue:{value:"'inline'",computed:!1},type:{name:"enum",value:[{value:"'inline'",computed:!1},{value:"'block'",computed:!1}]},required:!1,description:""},text:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/InfoText/index.jsx"]={name:"InfoText",docgenInfo:InfoText.__docgenInfo,path:"src/components/InfoText/index.jsx"})},384:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Modal});__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(206);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),prop_types__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__),react_aria_modal__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(385),react_aria_modal__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react_aria_modal__WEBPACK_IMPORTED_MODULE_14__),classnames__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_15__),_Button__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(40),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(50),_index_scss__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_17__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i {}",computed:!1},type:{name:"func"},required:!1,description:""},children:{type:{name:"element"},required:!0,description:""},onExit:{type:{name:"func"},required:!0,description:""},open:{type:{name:"bool"},required:!0,description:""},titleText:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Modal/index.jsx"]={name:"Modal",docgenInfo:Modal.__docgenInfo,path:"src/components/Modal/index.jsx"})},386:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Paginator});__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),prop_types__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__),query_string__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(260),query_string__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_14__),_index_scss__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(118),_index_scss__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_15__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i=currentPage?currentPage++:7>counter&&(pageRange.push(currentPage),currentPage++,counter++);return pageRange}},{key:"getNewProps",value:function(queryValue){var _this$props=this.props,baseLink=_this$props.baseLink,pathname=_this$props.pathname,query=_this$props.query,queryKey=_this$props.queryKey,queryObject=this.parseQueryObject(query),queryParams=query_string__WEBPACK_IMPORTED_MODULE_14___default.a.stringify(function(target){for(var i=1;i"))))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Paginator;var Constructor,protoProps,staticProps}();_defineProperty(Paginator,"propTypes",{baseLink:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.element.isRequired,pathname:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,query:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.object]),queryKey:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.string,totalPages:prop_types__WEBPACK_IMPORTED_MODULE_13___default.a.number.isRequired}),_defineProperty(Paginator,"defaultProps",{pathname:"/",query:{},queryKey:"page"}),Paginator.__docgenInfo={description:"",methods:[{name:"getPageRange",docblock:null,modifiers:[],params:[{name:"page",type:null}],returns:null},{name:"getNewProps",docblock:null,modifiers:[],params:[{name:"queryValue",type:null}],returns:null},{name:"parseQueryObject",docblock:null,modifiers:[],params:[{name:"query",type:null}],returns:null}],displayName:"Paginator",props:{pathname:{defaultValue:{value:"'/'",computed:!1},type:{name:"string"},required:!1,description:""},query:{defaultValue:{value:"{}",computed:!1},type:{name:"union",value:[{name:"string"},{name:"object"}]},required:!1,description:""},queryKey:{defaultValue:{value:"'page'",computed:!1},type:{name:"string"},required:!1,description:""},baseLink:{type:{name:"element"},required:!0,description:""},totalPages:{type:{name:"number"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Paginator/index.jsx"]={name:"Paginator",docgenInfo:Paginator.__docgenInfo,path:"src/components/Paginator/index.jsx"})},387:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(19);var react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),prop_types__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__),_Error__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(29),_index_scss__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(188),_index_scss__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_4__),RangeSliderComponent=function(_ref){var id=_ref.id,step=_ref.step,min=_ref.min,max=_ref.max,name=_ref.name,onBlur=_ref.onBlur,_ref$meta=_ref.meta,touched=_ref$meta.touched,error=_ref$meta.error,value=_ref$meta.value,onChange=_ref.onChange,label=_ref.label,containerClass=_ref.containerClass,onFocus=_ref.onFocus;return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment,null,react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:containerClass},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("label",{htmlFor:id},label,react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("input",{id:id,type:"range",step:step,min:min,max:max,name:name,value:value,onChange:onChange,onBlur:onBlur,onFocus:onFocus,className:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.slider}))),touched&&error&&react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.sliderErrorContainer},react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Error__WEBPACK_IMPORTED_MODULE_3__.a,{id:"".concat(id,"_error"),info:error})))};RangeSliderComponent.propTypes={id:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,min:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,max:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,step:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,onChange:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,name:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,onBlur:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,onFocus:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,meta:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({value:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number.isRequired,touched:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,error:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool])}).isRequired,label:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,containerClass:prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string},RangeSliderComponent.defaultProps={label:"",containerClass:_index_scss__WEBPACK_IMPORTED_MODULE_4___default.a.sliderWrapper,onFocus:null},__webpack_exports__.a=RangeSliderComponent,RangeSliderComponent.__docgenInfo={description:"",methods:[],displayName:"RangeSliderComponent",props:{label:{defaultValue:{value:"''",computed:!1},type:{name:"string"},required:!1,description:""},containerClass:{defaultValue:{value:"styles.sliderWrapper",computed:!0},type:{name:"string"},required:!1,description:""},onFocus:{defaultValue:{value:"null",computed:!1},type:{name:"func"},required:!1,description:""},id:{type:{name:"string"},required:!0,description:""},min:{type:{name:"number"},required:!0,description:""},max:{type:{name:"number"},required:!0,description:""},step:{type:{name:"number"},required:!0,description:""},onChange:{type:{name:"func"},required:!0,description:""},name:{type:{name:"string"},required:!0,description:""},onBlur:{type:{name:"func"},required:!0,description:""},meta:{type:{name:"shape",value:{value:{name:"number",required:!0},touched:{name:"bool",required:!1},error:{name:"union",value:[{name:"string"},{name:"bool"}],required:!1}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/RangeSlider/index.jsx"]={name:"RangeSliderComponent",docgenInfo:RangeSliderComponent.__docgenInfo,path:"src/components/RangeSlider/index.jsx"})},388:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(154),__webpack_require__(375),__webpack_require__(63),__webpack_require__(323);var react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__),prop_types__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__),_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(389),_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12__),_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(390),_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13__),_index_scss__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(69),_index_scss__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_14__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;iitemB?1*sortOrder:0}),_this.setState({rows:rows})}),_defineProperty(_assertThisInitialized(_this),"renderSortable",function(_ref,idx){var sortable=_ref.sortable,accessor=_ref.accessor;return sortable?react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sorting},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("button",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingButton,id:"button-asc",key:"".concat(idx,"-asc"),onClick:function(){return _this.handleSorting(accessor,1)},type:"button"},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_kununu_kununu_icons_dist_CaretUp__WEBPACK_IMPORTED_MODULE_12___default.a,{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingArrowIcon,ariaHidden:!0})),react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("button",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingButton,id:"button-desc",key:"".concat(idx,"-desc"),onClick:function(){return _this.handleSorting(accessor,-1)},type:"button"},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(_kununu_kununu_icons_dist_CaretDown__WEBPACK_IMPORTED_MODULE_13___default.a,{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingArrowIcon,ariaHidden:!0}))):""}),_defineProperty(_assertThisInitialized(_this),"renderHeaders",function(){return _this.props.columns.map(function(column,idx){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("th",{key:"column-".concat(idx)},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingContainer},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.sortingTitle},column.header),_this.renderSortable(column,idx)))})}),_defineProperty(_assertThisInitialized(_this),"renderBodyCell",function(item,_ref2){var accessor=_ref2.accessor,cell=_ref2.cell,value=item[accessor];return"function"==typeof cell?cell(value,item):value}),_defineProperty(_assertThisInitialized(_this),"renderBody",function(){var columns=_this.props.columns;return _this.state.rows.map(function(rowItem,index){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tr",{key:"row-".concat(index)},columns.map(function(column,idx){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("td",{key:"row-".concat(index,"-col-").concat(idx)},_this.renderBodyCell(rowItem,column))}))})}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Table,react__WEBPACK_IMPORTED_MODULE_10__["Component"]),Constructor=Table,(protoProps=[{key:"componentDidMount",value:function(){var _this$props=this.props,initialSortingColumn=_this$props.initialSortingColumn,columns=_this$props.columns;0<=initialSortingColumn&&this.handleSorting(columns[initialSortingColumn].accessor,1)}},{key:"componentWillReceiveProps",value:function(nextProps){var _this2=this,_this$props2=this.props,dataRows=_this$props2.dataRows,initialSortingColumn=_this$props2.initialSortingColumn,columns=_this$props2.columns;JSON.stringify(nextProps.dataRows)!==JSON.stringify(dataRows)&&this.setState({rows:nextProps.dataRows},function(){0<=initialSortingColumn&&_this2.handleSorting(columns[initialSortingColumn].accessor,1)})}},{key:"render",value:function(){return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("table",{className:_index_scss__WEBPACK_IMPORTED_MODULE_14___default.a.table},react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("thead",null,react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tr",null,this.renderHeaders())),react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement("tbody",null,this.renderBody()))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Table;var Constructor,protoProps,staticProps}();_defineProperty(Table,"propTypes",{columns:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.shape({accessor:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.string.isRequired,cell:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.element,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.func]),header:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.number,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.element,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.bool,prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.string]),sortable:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.bool})).isRequired,dataRows:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.object),initialSortingColumn:prop_types__WEBPACK_IMPORTED_MODULE_11___default.a.number}),_defineProperty(Table,"defaultProps",{dataRows:[],initialSortingColumn:-1}),__webpack_exports__.a=Table,Table.__docgenInfo={description:"",methods:[{name:"handleSorting",docblock:"Sort the rows based on\ncolumn and sort order",modifiers:[],params:[{name:"accessor"},{name:"sortOrder"}],returns:null,description:"Sort the rows based on\ncolumn and sort order"},{name:"renderSortable",docblock:null,modifiers:[],params:[{name:"{sortable, accessor}",type:null},{name:"idx",type:null}],returns:null},{name:"renderHeaders",docblock:null,modifiers:[],params:[],returns:null},{name:"renderBodyCell",docblock:null,modifiers:[],params:[{name:"item",type:null},{name:"{accessor, cell}",type:null}],returns:null},{name:"renderBody",docblock:null,modifiers:[],params:[],returns:null}],displayName:"Table",props:{dataRows:{defaultValue:{value:"[]",computed:!1},type:{name:"arrayOf",value:{name:"object"}},required:!1,description:""},initialSortingColumn:{defaultValue:{value:"-1",computed:!1},type:{name:"number"},required:!1,description:""},columns:{type:{name:"arrayOf",value:{name:"shape",value:{accessor:{name:"string",required:!0},cell:{name:"union",value:[{name:"element"},{name:"func"}],required:!1},header:{name:"union",value:[{name:"number"},{name:"element"},{name:"bool"},{name:"string"}],required:!1},sortable:{name:"bool",required:!1}}}},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Table/index.jsx"]={name:"Table",docgenInfo:Table.__docgenInfo,path:"src/components/Table/index.jsx"})},391:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return ToolTip});__webpack_require__(16),__webpack_require__(15),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22);var react__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__),prop_types__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__),_InfoBox__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(184),_index_scss__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(392),_index_scss__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_9__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var descriptor,i=0;i\n \n',computed:!1},type:{name:"element"},required:!1,description:""},label:{defaultValue:{value:"undefined",computed:!0},type:{name:"string"},required:!1,description:""},position:{defaultValue:{value:"'topLeft'",computed:!1},type:{name:"enum",value:[{value:"'topLeft'",computed:!1},{value:"'topRight'",computed:!1},{value:"'bottomLeft'",computed:!1},{value:"'bottomRight'",computed:!1}]},required:!1,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/ToolTip/index.jsx"]={name:"ToolTip",docgenInfo:ToolTip.__docgenInfo,path:"src/components/ToolTip/index.jsx"})},392:function(module,exports,__webpack_require__){var content=__webpack_require__(947);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},393:function(module,exports,__webpack_require__){__webpack_require__(394),__webpack_require__(474),module.exports=__webpack_require__(475)},40:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Button});__webpack_require__(16),__webpack_require__(15),__webpack_require__(41),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(373);var react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__),prop_types__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__),classnames__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(67),classnames__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__),_index_scss__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(100),_index_scss__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_10__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _extends(){return(_extends=Object.assign||function(target){for(var source,i=1;i header.navbar {\n margin-bottom: 0; }\n body > main {\n min-height: 100%;\n overflow: auto; }\n body > footer {\n margin-top: -60px; }\n body.no-fixed-navbar {\n padding-top: 0; }\n\na {\n transition: 0.25s color;\n color: #2186db;\n text-decoration: none; }\n a:hover, a:focus {\n color: #175d99;\n text-decoration: underline; }\n\nul,\nol {\n margin-top: 0;\n margin-bottom: 10.5px; }\n ul ul,\n ul ol,\n ol ul,\n ol ol {\n margin-bottom: 0; }\n\niframe {\n border: 0; }\n\nimg {\n display: block;\n max-width: 100%;\n height: auto; }\n\nstrong {\n font-weight: 600; }\n\n.static {\n position: static; }\n\n.relative {\n position: relative; }\n\n.absolute {\n position: absolute; }\n\n.padding-top {\n padding-top: 40px; }\n\n.no-padding {\n padding: 0; }\n\n.margin-vertical {\n margin-top: 40px;\n margin-bottom: 40px; }\n\n.inline-block {\n display: inline-block; }\n\n.block {\n display: block; }\n\n.table-cell {\n display: table-cell; }\n\n.bullet-after:after {\n content: \'\\2022\';\n padding: 0 8px; }\n @media (max-width: 550px) {\n .bullet-after:after {\n display: block;\n content: \'\'; } }\n\n.bullet-before:before {\n content: \'\\2022\';\n padding: 0 8px; }\n\n.panel,\n.card {\n border-bottom: 2px solid #e9ecec;\n position: relative;\n background-color: #fff; }\n .panel.panel-no-border,\n .card.panel-no-border {\n border: none; }\n .panel .row:first-child > [class*=\'col-\'] > h1:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h2:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h3:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h4:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h5:first-child,\n .panel .row:first-child > [class*=\'col-\'] > h6:first-child,\n .card .row:first-child > [class*=\'col-\'] > h1:first-child,\n .card .row:first-child > [class*=\'col-\'] > h2:first-child,\n .card .row:first-child > [class*=\'col-\'] > h3:first-child,\n .card .row:first-child > [class*=\'col-\'] > h4:first-child,\n .card .row:first-child > [class*=\'col-\'] > h5:first-child,\n .card .row:first-child > [class*=\'col-\'] > h6:first-child {\n margin-top: 0; }\n\n.panel-body,\n.card-body {\n padding: 20px;\n font-size: 16px;\n line-height: 1.65; }\n .panel-body:before, .panel-body:after,\n .card-body:before,\n .card-body:after {\n content: \' \';\n display: table; }\n .panel-body:after,\n .card-body:after {\n clear: both; }\n @media (min-width: 1200px) {\n .panel-body,\n .card-body {\n padding: 40px; }\n .panel-compact .panel-body, .panel-compact\n .card-body {\n padding: 20px; } }\n @media (max-width: 549px) {\n .panel-body,\n .card-body {\n padding: 10px; } }\n\n.panel-heading,\n.card-heading {\n padding: 20px;\n background-color: #f7f8f9;\n border-bottom: 1px solid #e0ecf5; }\n .panel-heading h1:first-child,\n .panel-heading h2:first-child,\n .panel-heading h3:first-child,\n .panel-heading h4:first-child,\n .panel-heading h5:first-child,\n .panel-heading h6:first-child,\n .card-heading h1:first-child,\n .card-heading h2:first-child,\n .card-heading h3:first-child,\n .card-heading h4:first-child,\n .card-heading h5:first-child,\n .card-heading h6:first-child {\n margin: 0; }\n @media (max-width: 549px) {\n .panel-heading,\n .card-heading {\n padding: 10px; } }\n\n.panel-body h1:first-child,\n.panel-body h2:first-child,\n.panel-body h3:first-child,\n.panel-body h4:first-child,\n.panel-body h5:first-child,\n.panel-body h6:first-child,\n.card-body h1:first-child,\n.card-body h2:first-child,\n.card-body h3:first-child,\n.card-body h4:first-child,\n.card-body h5:first-child,\n.card-body h6:first-child {\n margin-top: 0; }\n\n.panel-footer,\n.card-footer {\n padding: 20px;\n background-color: #f5f5f5; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px; }\n\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none; }\n\npre {\n display: block;\n padding: 10px;\n margin: 0 0 10.5px;\n font-size: 13px;\n line-height: 1.5;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px; }\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 21px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5; }\n\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700; }\n\ninput[type="search"] {\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n\ninput[type="radio"],\ninput[type="checkbox"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal; }\n input[type="radio"][disabled], input[type="radio"].disabled,\n fieldset[disabled] input[type="radio"],\n input[type="checkbox"][disabled],\n input[type="checkbox"].disabled,\n fieldset[disabled]\n input[type="checkbox"] {\n cursor: not-allowed; }\n\ninput[type="file"] {\n display: block; }\n\ninput[type="range"] {\n display: block;\n width: 100%; }\n\nselect[multiple],\nselect[size] {\n height: auto; }\n\ninput[type="file"]:focus,\ninput[type="radio"]:focus,\ninput[type="checkbox"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\noutput {\n display: block;\n padding-top: 11px;\n font-size: 14px;\n line-height: 1.5;\n color: #6c7b83; }\n\n.form-control {\n display: block;\n width: 100%;\n height: 43px;\n padding: 10px 12px;\n font-size: 14px;\n line-height: 1.5;\n color: #6c7b83;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }\n .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }\n .form-control::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .form-control:-ms-input-placeholder {\n color: #999; }\n .form-control::-webkit-input-placeholder {\n color: #999; }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control[disabled], .form-control[readonly],\n fieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1; }\n .form-control[disabled],\n fieldset[disabled] .form-control {\n cursor: not-allowed; }\n\ntextarea.form-control {\n height: auto; }\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type="date"].form-control,\n input[type="time"].form-control,\n input[type="datetime-local"].form-control,\n input[type="month"].form-control {\n line-height: 43px; }\n input[type="date"].input-sm,\n .input-group-sm input[type="date"],\n input[type="time"].input-sm,\n .input-group-sm\n input[type="time"],\n input[type="datetime-local"].input-sm,\n .input-group-sm\n input[type="datetime-local"],\n input[type="month"].input-sm,\n .input-group-sm\n input[type="month"] {\n line-height: 30px; }\n input[type="date"].input-lg,\n .input-group-lg input[type="date"],\n input[type="time"].input-lg,\n .input-group-lg\n input[type="time"],\n input[type="datetime-local"].input-lg,\n .input-group-lg\n input[type="datetime-local"],\n input[type="month"].input-lg,\n .input-group-lg\n input[type="month"] {\n line-height: 46px; } }\n\n.form-group {\n margin-bottom: 15px; }\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px; }\n .radio.disabled label,\n fieldset[disabled] .radio label,\n .checkbox.disabled label,\n fieldset[disabled]\n .checkbox label {\n cursor: not-allowed; }\n .radio label,\n .checkbox label {\n min-height: 21px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer; }\n\n.radio input[type="radio"],\n.radio-inline input[type="radio"],\n.checkbox input[type="checkbox"],\n.checkbox-inline input[type="checkbox"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px; }\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; }\n\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer; }\n .radio-inline.disabled,\n fieldset[disabled] .radio-inline,\n .checkbox-inline.disabled,\n fieldset[disabled]\n .checkbox-inline {\n cursor: not-allowed; }\n\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; }\n\n.form-control-static {\n min-height: 35px;\n padding-top: 11px;\n padding-bottom: 11px;\n margin-bottom: 0; }\n .form-control-static.input-lg, .form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0; }\n\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 13px;\n line-height: 1.4;\n border-radius: 3px; }\n\nselect.input-sm {\n height: 30px;\n line-height: 30px; }\n\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto; }\n\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 13px;\n line-height: 1.4;\n border-radius: 3px; }\n\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px; }\n\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto; }\n\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 34px;\n padding: 6px 10px;\n font-size: 13px;\n line-height: 1.4; }\n\n.input-lg {\n height: 46px;\n padding: 18px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px; }\n\nselect.input-lg {\n height: 46px;\n line-height: 46px; }\n\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto; }\n\n.form-group-lg .form-control {\n height: 46px;\n padding: 18px 16px;\n font-size: 18px;\n line-height: 1.33;\n border-radius: 6px; }\n\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px; }\n\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto; }\n\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 39px;\n padding: 19px 16px;\n font-size: 18px;\n line-height: 1.33; }\n\n.has-feedback {\n position: relative; }\n .has-feedback .form-control {\n padding-right: 53.75px; }\n\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 43px;\n height: 43px;\n line-height: 43px;\n text-align: center;\n pointer-events: none; }\n\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px; }\n\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px; }\n\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d; }\n\n.has-success .form-control {\n border-color: #3c763d;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-success .form-control:focus {\n border-color: #2b542c;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }\n\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d; }\n\n.has-success .form-control-feedback {\n color: #3c763d; }\n\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b; }\n\n.has-warning .form-control {\n border-color: #8a6d3b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-warning .form-control:focus {\n border-color: #66512c;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }\n\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b; }\n\n.has-warning .form-control-feedback {\n color: #8a6d3b; }\n\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442; }\n\n.has-error .form-control {\n border-color: #a94442;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\n .has-error .form-control:focus {\n border-color: #843534;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }\n\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442; }\n\n.has-error .form-control-feedback {\n color: #a94442; }\n\n.has-feedback label ~ .form-control-feedback {\n top: 26px; }\n\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0; }\n\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #6f8e9d; }\n\n@media (min-width: 550px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-static {\n display: inline-block; }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle; }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto; }\n .form-inline .input-group > .form-control {\n width: 100%; }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0; }\n .form-inline .radio input[type="radio"],\n .form-inline .checkbox input[type="checkbox"] {\n position: relative;\n margin-left: 0; }\n .form-inline .has-feedback .form-control-feedback {\n top: 0; } }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 11px;\n margin-top: 0;\n margin-bottom: 0; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 32px; }\n\n.form-horizontal .form-group {\n margin-right: -20px;\n margin-left: -20px; }\n .form-horizontal .form-group:before, .form-horizontal .form-group:after {\n content: \' \';\n display: table; }\n .form-horizontal .form-group:after {\n clear: both; }\n\n@media (min-width: 550px) {\n .form-horizontal .control-label {\n padding-top: 11px;\n margin-bottom: 0;\n text-align: right; } }\n\n.form-horizontal .has-feedback .form-control-feedback {\n right: 20px; }\n\n@media (min-width: 550px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 19px;\n font-size: 18px; } }\n\n@media (min-width: 550px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 13px; } }\n\n.navbar {\n position: relative;\n min-height: 60px;\n margin-bottom: 20px;\n border: 1px solid transparent; }\n .navbar:before, .navbar:after {\n content: \' \';\n display: table; }\n .navbar:after {\n clear: both; }\n @media (min-width: 0) {\n .navbar {\n border-radius: 4px; } }\n\n.navbar-header:before, .navbar-header:after {\n content: \' \';\n display: table; }\n\n.navbar-header:after {\n clear: both; }\n\n@media (min-width: 0) {\n .navbar-header {\n float: left; } }\n\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch; }\n .navbar-collapse:before, .navbar-collapse:after {\n content: \' \';\n display: table; }\n .navbar-collapse:after {\n clear: both; }\n .navbar-collapse.in {\n overflow-y: auto; }\n @media (min-width: 0) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none; }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important; }\n .navbar-collapse.in {\n overflow-y: visible; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0; } }\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 340px; }\n @media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px; } }\n @media (min-width: 0) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0; } }\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px; }\n\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0; }\n\n.container > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px; }\n @media (min-width: 0) {\n .container > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-header,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0; } }\n\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px; }\n @media (min-width: 0) {\n .navbar-static-top {\n border-radius: 0; } }\n\n.navbar-brand {\n float: left;\n height: 60px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 21px; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n .navbar-brand > img {\n display: block; }\n @media (min-width: 0) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px; } }\n\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 13px;\n margin-bottom: 13px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px; }\n .navbar-toggle:focus {\n outline: 0; }\n .navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px; }\n .navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px; }\n @media (min-width: 0) {\n .navbar-toggle {\n display: none; } }\n\n.navbar-nav {\n margin: 7.5px -15px; }\n .navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 21px; }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none; }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px; }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 21px; }\n .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none; } }\n @media (min-width: 0) {\n .navbar-nav {\n float: left;\n margin: 0; }\n .navbar-nav > li {\n float: left; }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px; } }\n\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8.5px;\n margin-bottom: 8.5px; }\n @media (min-width: 550px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .navbar-form .form-control-static {\n display: inline-block; }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle; }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto; }\n .navbar-form .input-group > .form-control {\n width: 100%; }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0; }\n .navbar-form .radio input[type="radio"],\n .navbar-form .checkbox input[type="checkbox"] {\n position: relative;\n margin-left: 0; }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0; } }\n @media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px; }\n .navbar-form .form-group:last-child {\n margin-bottom: 0; } }\n @media (min-width: 0) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n box-shadow: none; } }\n\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n\n.navbar-btn {\n margin-top: 8.5px;\n margin-bottom: 8.5px; }\n .navbar-btn.btn-sm {\n margin-top: 15px;\n margin-bottom: 15px; }\n .navbar-btn.btn-xs {\n margin-top: 19px;\n margin-bottom: 19px; }\n\n.navbar-text {\n margin-top: 19.5px;\n margin-bottom: 19.5px; }\n @media (min-width: 0) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px; } }\n\n@media (min-width: 0) {\n .navbar-left {\n float: left !important; }\n .navbar-right {\n float: right !important;\n margin-right: -15px; }\n .navbar-right ~ .navbar-right {\n margin-right: 0; } }\n\n.navbar-default {\n background-color: #18242b;\n border-color: #e7e7e7; }\n .navbar-default .navbar-brand {\n color: #777; }\n .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent; }\n .navbar-default .navbar-text {\n color: #fff; }\n .navbar-default .navbar-nav > li > a {\n color: #777; }\n .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; }\n .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777; }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; } }\n .navbar-default .navbar-toggle {\n border-color: #ddd; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: #ddd; }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #888; }\n .navbar-default .navbar-collapse,\n .navbar-default .navbar-form {\n border-color: #e7e7e7; }\n .navbar-default .navbar-link {\n color: #777; }\n .navbar-default .navbar-link:hover {\n color: #333; }\n .navbar-default .btn-link {\n color: #777; }\n .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {\n color: #333; }\n .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-default .btn-link:hover,\n fieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc; }\n\n.navbar-inverse {\n background-color: #222;\n border-color: #090909; }\n .navbar-inverse .navbar-brand {\n color: #9d9d9d; }\n .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-text {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #090909; }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent; } }\n .navbar-inverse .navbar-toggle {\n border-color: #333; }\n .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {\n background-color: #333; }\n .navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff; }\n .navbar-inverse .navbar-collapse,\n .navbar-inverse .navbar-form {\n border-color: #101010; }\n .navbar-inverse .navbar-link {\n color: #9d9d9d; }\n .navbar-inverse .navbar-link:hover {\n color: #fff; }\n .navbar-inverse .btn-link {\n color: #9d9d9d; }\n .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {\n color: #fff; }\n .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-inverse .btn-link:hover,\n fieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444; }\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline; }\n\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n[hidden],\ntemplate {\n display: none; }\n\na {\n background-color: transparent; }\n\na:active,\na:hover {\n outline: 0; }\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; }\n\nb,\nstrong {\n font-weight: bold; }\n\ndfn {\n font-style: italic; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nmark {\n background: #ff0;\n color: #000; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\nimg {\n border: 0; }\n\nsvg:not(:root) {\n overflow: hidden; }\n\nfigure {\n margin: 1em 40px; }\n\nhr {\n box-sizing: content-box;\n height: 0; }\n\npre {\n overflow: auto; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0; }\n\nbutton {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n -webkit-appearance: button;\n cursor: pointer; }\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\ninput {\n line-height: normal; }\n\ninput[type="checkbox"],\ninput[type="radio"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type="number"]::-webkit-inner-spin-button,\ninput[type="number"]::-webkit-outer-spin-button {\n height: auto; }\n\ninput[type="search"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\n\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\nlegend {\n border: 0;\n padding: 0; }\n\ntextarea {\n overflow: auto; }\n\noptgroup {\n font-weight: bold; }\n\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n* {\n box-sizing: border-box; }\n\n*:before,\n*:after {\n box-sizing: border-box; }\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;\n font-size: 14px;\n line-height: 1.5;\n color: #394b54;\n background-color: #f4f5f5; }\n\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\na {\n color: #2186db;\n text-decoration: none; }\n a:hover, a:focus {\n color: #175d99;\n text-decoration: underline; }\n a:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\nfigure {\n margin: 0; }\n\nimg {\n vertical-align: middle; }\n\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto; }\n\n.img-rounded {\n border-radius: 6px; }\n\n.img-thumbnail {\n padding: 4px;\n line-height: 1.5;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto; }\n\n.img-circle {\n border-radius: 50%; }\n\nhr {\n margin-top: 21px;\n margin-bottom: 21px;\n border: 0;\n border-top: 1px solid #eeeeee; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n[role="button"] {\n cursor: pointer; }\n\n.container {\n padding-right: 20px;\n padding-left: 20px;\n margin-right: auto;\n margin-left: auto; }\n .container:before, .container:after {\n content: \' \';\n display: table; }\n .container:after {\n clear: both; }\n @media (min-width: 550px) {\n .container {\n width: 750px; } }\n @media (min-width: 998px) {\n .container {\n width: 970px; } }\n @media (min-width: 1200px) {\n .container {\n width: 1170px; } }\n\n.container-fluid {\n padding-right: 20px;\n padding-left: 20px;\n margin-right: auto;\n margin-left: auto; }\n .container-fluid:before, .container-fluid:after {\n content: \' \';\n display: table; }\n .container-fluid:after {\n clear: both; }\n\n.row {\n margin-right: -20px;\n margin-left: -20px; }\n .row:before, .row:after {\n content: \' \';\n display: table; }\n .row:after {\n clear: both; }\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .row-no-gutters [class*="col-"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 20px;\n padding-left: 20px; }\n\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left; }\n\n.col-xs-1 {\n width: 8.33333%; }\n\n.col-xs-2 {\n width: 16.66667%; }\n\n.col-xs-3 {\n width: 25%; }\n\n.col-xs-4 {\n width: 33.33333%; }\n\n.col-xs-5 {\n width: 41.66667%; }\n\n.col-xs-6 {\n width: 50%; }\n\n.col-xs-7 {\n width: 58.33333%; }\n\n.col-xs-8 {\n width: 66.66667%; }\n\n.col-xs-9 {\n width: 75%; }\n\n.col-xs-10 {\n width: 83.33333%; }\n\n.col-xs-11 {\n width: 91.66667%; }\n\n.col-xs-12 {\n width: 100%; }\n\n.col-xs-pull-0 {\n right: auto; }\n\n.col-xs-pull-1 {\n right: 8.33333%; }\n\n.col-xs-pull-2 {\n right: 16.66667%; }\n\n.col-xs-pull-3 {\n right: 25%; }\n\n.col-xs-pull-4 {\n right: 33.33333%; }\n\n.col-xs-pull-5 {\n right: 41.66667%; }\n\n.col-xs-pull-6 {\n right: 50%; }\n\n.col-xs-pull-7 {\n right: 58.33333%; }\n\n.col-xs-pull-8 {\n right: 66.66667%; }\n\n.col-xs-pull-9 {\n right: 75%; }\n\n.col-xs-pull-10 {\n right: 83.33333%; }\n\n.col-xs-pull-11 {\n right: 91.66667%; }\n\n.col-xs-pull-12 {\n right: 100%; }\n\n.col-xs-push-0 {\n left: auto; }\n\n.col-xs-push-1 {\n left: 8.33333%; }\n\n.col-xs-push-2 {\n left: 16.66667%; }\n\n.col-xs-push-3 {\n left: 25%; }\n\n.col-xs-push-4 {\n left: 33.33333%; }\n\n.col-xs-push-5 {\n left: 41.66667%; }\n\n.col-xs-push-6 {\n left: 50%; }\n\n.col-xs-push-7 {\n left: 58.33333%; }\n\n.col-xs-push-8 {\n left: 66.66667%; }\n\n.col-xs-push-9 {\n left: 75%; }\n\n.col-xs-push-10 {\n left: 83.33333%; }\n\n.col-xs-push-11 {\n left: 91.66667%; }\n\n.col-xs-push-12 {\n left: 100%; }\n\n.col-xs-offset-0 {\n margin-left: 0%; }\n\n.col-xs-offset-1 {\n margin-left: 8.33333%; }\n\n.col-xs-offset-2 {\n margin-left: 16.66667%; }\n\n.col-xs-offset-3 {\n margin-left: 25%; }\n\n.col-xs-offset-4 {\n margin-left: 33.33333%; }\n\n.col-xs-offset-5 {\n margin-left: 41.66667%; }\n\n.col-xs-offset-6 {\n margin-left: 50%; }\n\n.col-xs-offset-7 {\n margin-left: 58.33333%; }\n\n.col-xs-offset-8 {\n margin-left: 66.66667%; }\n\n.col-xs-offset-9 {\n margin-left: 75%; }\n\n.col-xs-offset-10 {\n margin-left: 83.33333%; }\n\n.col-xs-offset-11 {\n margin-left: 91.66667%; }\n\n.col-xs-offset-12 {\n margin-left: 100%; }\n\n@media (min-width: 550px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left; }\n .col-sm-1 {\n width: 8.33333%; }\n .col-sm-2 {\n width: 16.66667%; }\n .col-sm-3 {\n width: 25%; }\n .col-sm-4 {\n width: 33.33333%; }\n .col-sm-5 {\n width: 41.66667%; }\n .col-sm-6 {\n width: 50%; }\n .col-sm-7 {\n width: 58.33333%; }\n .col-sm-8 {\n width: 66.66667%; }\n .col-sm-9 {\n width: 75%; }\n .col-sm-10 {\n width: 83.33333%; }\n .col-sm-11 {\n width: 91.66667%; }\n .col-sm-12 {\n width: 100%; }\n .col-sm-pull-0 {\n right: auto; }\n .col-sm-pull-1 {\n right: 8.33333%; }\n .col-sm-pull-2 {\n right: 16.66667%; }\n .col-sm-pull-3 {\n right: 25%; }\n .col-sm-pull-4 {\n right: 33.33333%; }\n .col-sm-pull-5 {\n right: 41.66667%; }\n .col-sm-pull-6 {\n right: 50%; }\n .col-sm-pull-7 {\n right: 58.33333%; }\n .col-sm-pull-8 {\n right: 66.66667%; }\n .col-sm-pull-9 {\n right: 75%; }\n .col-sm-pull-10 {\n right: 83.33333%; }\n .col-sm-pull-11 {\n right: 91.66667%; }\n .col-sm-pull-12 {\n right: 100%; }\n .col-sm-push-0 {\n left: auto; }\n .col-sm-push-1 {\n left: 8.33333%; }\n .col-sm-push-2 {\n left: 16.66667%; }\n .col-sm-push-3 {\n left: 25%; }\n .col-sm-push-4 {\n left: 33.33333%; }\n .col-sm-push-5 {\n left: 41.66667%; }\n .col-sm-push-6 {\n left: 50%; }\n .col-sm-push-7 {\n left: 58.33333%; }\n .col-sm-push-8 {\n left: 66.66667%; }\n .col-sm-push-9 {\n left: 75%; }\n .col-sm-push-10 {\n left: 83.33333%; }\n .col-sm-push-11 {\n left: 91.66667%; }\n .col-sm-push-12 {\n left: 100%; }\n .col-sm-offset-0 {\n margin-left: 0%; }\n .col-sm-offset-1 {\n margin-left: 8.33333%; }\n .col-sm-offset-2 {\n margin-left: 16.66667%; }\n .col-sm-offset-3 {\n margin-left: 25%; }\n .col-sm-offset-4 {\n margin-left: 33.33333%; }\n .col-sm-offset-5 {\n margin-left: 41.66667%; }\n .col-sm-offset-6 {\n margin-left: 50%; }\n .col-sm-offset-7 {\n margin-left: 58.33333%; }\n .col-sm-offset-8 {\n margin-left: 66.66667%; }\n .col-sm-offset-9 {\n margin-left: 75%; }\n .col-sm-offset-10 {\n margin-left: 83.33333%; }\n .col-sm-offset-11 {\n margin-left: 91.66667%; }\n .col-sm-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 998px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left; }\n .col-md-1 {\n width: 8.33333%; }\n .col-md-2 {\n width: 16.66667%; }\n .col-md-3 {\n width: 25%; }\n .col-md-4 {\n width: 33.33333%; }\n .col-md-5 {\n width: 41.66667%; }\n .col-md-6 {\n width: 50%; }\n .col-md-7 {\n width: 58.33333%; }\n .col-md-8 {\n width: 66.66667%; }\n .col-md-9 {\n width: 75%; }\n .col-md-10 {\n width: 83.33333%; }\n .col-md-11 {\n width: 91.66667%; }\n .col-md-12 {\n width: 100%; }\n .col-md-pull-0 {\n right: auto; }\n .col-md-pull-1 {\n right: 8.33333%; }\n .col-md-pull-2 {\n right: 16.66667%; }\n .col-md-pull-3 {\n right: 25%; }\n .col-md-pull-4 {\n right: 33.33333%; }\n .col-md-pull-5 {\n right: 41.66667%; }\n .col-md-pull-6 {\n right: 50%; }\n .col-md-pull-7 {\n right: 58.33333%; }\n .col-md-pull-8 {\n right: 66.66667%; }\n .col-md-pull-9 {\n right: 75%; }\n .col-md-pull-10 {\n right: 83.33333%; }\n .col-md-pull-11 {\n right: 91.66667%; }\n .col-md-pull-12 {\n right: 100%; }\n .col-md-push-0 {\n left: auto; }\n .col-md-push-1 {\n left: 8.33333%; }\n .col-md-push-2 {\n left: 16.66667%; }\n .col-md-push-3 {\n left: 25%; }\n .col-md-push-4 {\n left: 33.33333%; }\n .col-md-push-5 {\n left: 41.66667%; }\n .col-md-push-6 {\n left: 50%; }\n .col-md-push-7 {\n left: 58.33333%; }\n .col-md-push-8 {\n left: 66.66667%; }\n .col-md-push-9 {\n left: 75%; }\n .col-md-push-10 {\n left: 83.33333%; }\n .col-md-push-11 {\n left: 91.66667%; }\n .col-md-push-12 {\n left: 100%; }\n .col-md-offset-0 {\n margin-left: 0%; }\n .col-md-offset-1 {\n margin-left: 8.33333%; }\n .col-md-offset-2 {\n margin-left: 16.66667%; }\n .col-md-offset-3 {\n margin-left: 25%; }\n .col-md-offset-4 {\n margin-left: 33.33333%; }\n .col-md-offset-5 {\n margin-left: 41.66667%; }\n .col-md-offset-6 {\n margin-left: 50%; }\n .col-md-offset-7 {\n margin-left: 58.33333%; }\n .col-md-offset-8 {\n margin-left: 66.66667%; }\n .col-md-offset-9 {\n margin-left: 75%; }\n .col-md-offset-10 {\n margin-left: 83.33333%; }\n .col-md-offset-11 {\n margin-left: 91.66667%; }\n .col-md-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left; }\n .col-lg-1 {\n width: 8.33333%; }\n .col-lg-2 {\n width: 16.66667%; }\n .col-lg-3 {\n width: 25%; }\n .col-lg-4 {\n width: 33.33333%; }\n .col-lg-5 {\n width: 41.66667%; }\n .col-lg-6 {\n width: 50%; }\n .col-lg-7 {\n width: 58.33333%; }\n .col-lg-8 {\n width: 66.66667%; }\n .col-lg-9 {\n width: 75%; }\n .col-lg-10 {\n width: 83.33333%; }\n .col-lg-11 {\n width: 91.66667%; }\n .col-lg-12 {\n width: 100%; }\n .col-lg-pull-0 {\n right: auto; }\n .col-lg-pull-1 {\n right: 8.33333%; }\n .col-lg-pull-2 {\n right: 16.66667%; }\n .col-lg-pull-3 {\n right: 25%; }\n .col-lg-pull-4 {\n right: 33.33333%; }\n .col-lg-pull-5 {\n right: 41.66667%; }\n .col-lg-pull-6 {\n right: 50%; }\n .col-lg-pull-7 {\n right: 58.33333%; }\n .col-lg-pull-8 {\n right: 66.66667%; }\n .col-lg-pull-9 {\n right: 75%; }\n .col-lg-pull-10 {\n right: 83.33333%; }\n .col-lg-pull-11 {\n right: 91.66667%; }\n .col-lg-pull-12 {\n right: 100%; }\n .col-lg-push-0 {\n left: auto; }\n .col-lg-push-1 {\n left: 8.33333%; }\n .col-lg-push-2 {\n left: 16.66667%; }\n .col-lg-push-3 {\n left: 25%; }\n .col-lg-push-4 {\n left: 33.33333%; }\n .col-lg-push-5 {\n left: 41.66667%; }\n .col-lg-push-6 {\n left: 50%; }\n .col-lg-push-7 {\n left: 58.33333%; }\n .col-lg-push-8 {\n left: 66.66667%; }\n .col-lg-push-9 {\n left: 75%; }\n .col-lg-push-10 {\n left: 83.33333%; }\n .col-lg-push-11 {\n left: 91.66667%; }\n .col-lg-push-12 {\n left: 100%; }\n .col-lg-offset-0 {\n margin-left: 0%; }\n .col-lg-offset-1 {\n margin-left: 8.33333%; }\n .col-lg-offset-2 {\n margin-left: 16.66667%; }\n .col-lg-offset-3 {\n margin-left: 25%; }\n .col-lg-offset-4 {\n margin-left: 33.33333%; }\n .col-lg-offset-5 {\n margin-left: 41.66667%; }\n .col-lg-offset-6 {\n margin-left: 50%; }\n .col-lg-offset-7 {\n margin-left: 58.33333%; }\n .col-lg-offset-8 {\n margin-left: 66.66667%; }\n .col-lg-offset-9 {\n margin-left: 75%; }\n .col-lg-offset-10 {\n margin-left: 83.33333%; }\n .col-lg-offset-11 {\n margin-left: 91.66667%; }\n .col-lg-offset-12 {\n margin-left: 100%; } }\n\n.clearfix:before, .clearfix:after {\n content: \' \';\n display: table; }\n\n.clearfix:after {\n clear: both; }\n\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto; }\n\n.pull-right {\n float: right !important; }\n\n.pull-left {\n float: left !important; }\n\n.hide {\n display: none !important; }\n\n.show {\n display: block !important; }\n\n.invisible {\n visibility: hidden; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.hidden {\n display: none !important; }\n\n.affix {\n position: fixed; }\n\nhtml,\nbody {\n height: 100%;\n font-size: 14px;\n padding: 0;\n margin: 8px;\n background: white; }\n',""])},574:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(12),_defaultOptions__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(13),react_markdown__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(376),react_markdown__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react_markdown__WEBPACK_IMPORTED_MODULE_10__),_README_md__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(377),_README_md__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(_README_md__WEBPACK_IMPORTED_MODULE_11__),_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(185),_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(_defaultStoryStyles_scss__WEBPACK_IMPORTED_MODULE_12__);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Introduction",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_8__.withOptions)(function(target){for(var i=1;i To enable auto scroll on focus you need to use scrollTo and set a scrollOffset")(story)(context)}).add("With static data",Object(_storybook_addon_notes__WEBPACK_IMPORTED_MODULE_11__.withMarkdownNotes)("The Autocomplete can be used with static or dynamic data and works especially well with state librarys such as redux. To easily customize your spinner you can add pass an element as a spinner prop! To fetch data dynamically you should use the onGetSuggestions param to update the data being passed to the data component.
To enable auto scroll on focus you need to use scrollTo and set a scrollOffset")(function(){return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h1",null,"Autocomplete"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("hr",null),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",{className:"container pull-left"},react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div",{className:"row"},react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h3",null,"Autocomplete input with inline label:"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_14__.a,{autofocus:!0,data:staticData,id:"autocompletes",label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("label","Autocomplete"),name:"autocomplete",placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("placeholder","Type something..."),onSelectSuggestion:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onSelectSuggestion"),noSuggestionText:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("noSuggestionText","No results found"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onBlur"),scrollOffset:70,scrollTo:!0}),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("br",null),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("h3",null,"Required Autocomplete input with block label:"),react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_14__.a,{inputStyle:"block",data:staticData,id:"autocompletes",label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("label","Autocomplete"),name:"autocomplete",placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("placeholder","Type something..."),isRequired:!0,onSelectSuggestion:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onSelectSuggestion"),noSuggestionText:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("noSuggestionText","No results found"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__.action)("onBlur"),requiredLabel:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__.text)("requiredLabel","required"),scrollOffset:70,scrollTo:!0}))))}))}.call(this,__webpack_require__(25)(module))},68:function(module,exports,__webpack_require__){var content=__webpack_require__(886);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},69:function(module,exports,__webpack_require__){var content=__webpack_require__(942);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},761:function(module,exports,__webpack_require__){var map={"./nestedObjectAssign":343,"./nestedObjectAssign.js":343};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=761},78:function(module,exports,__webpack_require__){var content=__webpack_require__(893);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},79:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return Stars});__webpack_require__(61),__webpack_require__(129),__webpack_require__(52),__webpack_require__(53),__webpack_require__(16),__webpack_require__(15),__webpack_require__(6),__webpack_require__(38),__webpack_require__(3),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(19),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_14__),prop_types__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(1),prop_types__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_15__),_index_scss__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(5),_index_scss__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(51),_index_scss__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(_index_scss__WEBPACK_IMPORTED_MODULE_17__);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i=starNumber)}),_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Stars,react__WEBPACK_IMPORTED_MODULE_14___default.a.Component),Constructor=Stars,(protoProps=[{key:"setCurrentColor",value:function(value){var _this$props2=this.props,colors=_this$props2.colors,strokeColor=_this$props2.strokeColor;this.setState({color:colors[value-1]||strokeColor})}},{key:"isHalfStar",value:function(starNumber){var selectable=this.props.selectable,value=this.state.value;return!(selectable||!(value+1>=starNumber)||this.isWholeNumber(value))}},{key:"deselectStar",value:function(){this.updateValue(0)}},{key:"updateValue",value:function(newValue){this.setState({value:newValue})}},{key:"render",value:function(){var _this2=this,_this$props3=this.props,selectable=_this$props3.selectable,name=_this$props3.name,totalStars=_this$props3.totalStars,strokeColor=_this$props3.strokeColor,_this$state=this.state,color=_this$state.color,value=_this$state.value;return react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsContainer," ").concat(!selectable&&_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.staticStars),id:"".concat(name,"-container")},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{className:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsRow},_toConsumableArray(Array(totalStars+1)).map(function(star,key){return react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("div",{key:key,className:key?_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.starsGroup:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.hideStarGroup},selectable&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("input",{checked:key===value,className:_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.hiddenInput,id:"".concat(name,"-").concat(key),name:name,onChange:_this2.onClick,onClick:_this2.onClick,type:"radio",value:key}),!!key&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("label",{htmlFor:selectable?"".concat(name,"-").concat(key):void 0},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve",version:"1.1",viewBox:"-20 -20 541.8 518.6",width:"100%",stroke:strokeColor,preserveAspectRatio:"xMidYMid meet",className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.star," ").concat(selectable&&_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.ratingStar),x:"0",y:"0"},!selectable&&1===key&&!_this2.isWholeNumber(value)&&react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("defs",null,react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("linearGradient",{id:"".concat(name,"-half")},react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("stop",{offset:"50%",stopColor:color}),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("stop",{offset:"50%",stopColor:"white"}))),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("path",{className:"".concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a.path," ").concat(_index_scss__WEBPACK_IMPORTED_MODULE_17___default.a[_this2.isFullStar(key)&&"fill"]),fill:_this2.getFillValue(key),stroke:_this2.isFullStar(key)?color:strokeColor,d:"M501.8,185.5c0,4.4-2.6,9.3-7.8,14.5L384.5,306.7l25.9,150.8c0.2,1.4,0.3,3.4,0.3,6c0,4.2-1.1,7.8-3.2,10.7 c-2.1,2.9-5.2,4.4-9.2,4.4c-3.8,0-7.8-1.2-12.1-3.6l-135.4-71.2L115.5,475c-4.4,2.4-8.4,3.6-12.1,3.6c-4.2,0-7.4-1.5-9.5-4.4 c-2.1-2.9-3.2-6.5-3.2-10.7c0-1.2,0.2-3.2,0.6-6l25.9-150.8L7.5,200c-5-5.4-7.5-10.3-7.5-14.5c0-7.4,5.6-12.1,16.9-13.9l151.4-22 l67.9-137.2C240,4.1,244.9,0,250.9,0c6,0,11,4.1,14.8,12.4l67.9,137.2l151.4,22C496.2,173.4,501.8,178,501.8,185.5z"})),react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("span",{className:_index_scss__WEBPACK_IMPORTED_MODULE_16__.srOnly},key)))})))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Stars;var Constructor,protoProps,staticProps}();_defineProperty(Stars,"propTypes",{colors:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string),name:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string.isRequired,onChange:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,onClick:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.func,selectable:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.bool,strokeColor:prop_types__WEBPACK_IMPORTED_MODULE_15___default.a.string,totalStars:function(props,propName){var totalStars=props[propName];return 1>totalStars||10props.totalStars?new Error("Prop value cannot be greater than prop totalStars"):null}}),_defineProperty(Stars,"defaultProps",{colors:["currentColor"],onChange:function(){},onClick:function(){},selectable:!1,strokeColor:"currentColor",totalStars:5,value:0}),Stars.__docgenInfo={description:"",methods:[{name:"onClick",docblock:null,modifiers:[],params:[{name:"e",type:null}],returns:null},{name:"setCurrentColor",docblock:null,modifiers:[],params:[{name:"value",type:null}],returns:null},{name:"getFillValue",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"isWholeNumber",docblock:null,modifiers:[],params:[{name:"number",type:null}],returns:null},{name:"isFullStar",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"isHalfStar",docblock:null,modifiers:[],params:[{name:"starNumber",type:null}],returns:null},{name:"deselectStar",docblock:null,modifiers:[],params:[],returns:null},{name:"updateValue",docblock:null,modifiers:[],params:[{name:"newValue",type:null}],returns:null}],displayName:"Stars",props:{colors:{defaultValue:{value:"['currentColor']",computed:!1},type:{name:"arrayOf",value:{name:"string"}},required:!1,description:""},onChange:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},onClick:{defaultValue:{value:"() => {}",computed:!1},type:{name:"func"},required:!1,description:""},selectable:{defaultValue:{value:"false",computed:!1},type:{name:"bool"},required:!1,description:""},strokeColor:{defaultValue:{value:"'currentColor'",computed:!1},type:{name:"string"},required:!1,description:""},totalStars:{defaultValue:{value:"5",computed:!1},type:{name:"custom",raw:"(props, propName) => {\n const totalStars = props[propName];\n\n if (totalStars < 1 || totalStars > 10) {\n return new Error('Prop totalStars must be a number between 1 and 10');\n }\n return null;\n}"},required:!1,description:""},value:{defaultValue:{value:"0",computed:!1},type:{name:"custom",raw:"(props, propName) => {\n if (props[propName] > props.totalStars) {\n return new Error('Prop value cannot be greater than prop totalStars');\n }\n return null;\n}"},required:!1,description:""},name:{type:{name:"string"},required:!0,description:""}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Stars/index.jsx"]={name:"Stars",docgenInfo:Stars.__docgenInfo,path:"src/components/Stars/index.jsx"})},884:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---error---2F2kz {\n display: block;\n width: 100%;\n margin-top: 6px;\n padding: 10px 12px;\n color: #fff;\n background-color: #f6363f;\n border-radius: 4px; }\n\n.index---info---2Klvo {\n display: block; }\n",""]),exports.locals={error:"index---error---2F2kz",info:"index---info---2Klvo"}},885:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---clearfix---2YZKJ:before, .index---clearfix---2YZKJ:after {\n content: ' ';\n display: table; }\n\n.index---clearfix---2YZKJ:after {\n clear: both; }\n\n.index---hidden---2NyJA {\n display: none !important; }\n\n.index---errorStyles---35ga5 {\n background-color: #d13b36;\n border-radius: 4px;\n font-size: 11px;\n padding: 5px 12px;\n text-transform: uppercase;\n font-weight: 400;\n color: #fff;\n position: absolute;\n z-index: 1;\n left: 0;\n top: 45px; }\n .index---errorStyles---35ga5:after {\n content: '';\n position: absolute;\n display: block;\n top: -5px;\n right: 45%;\n bottom: auto;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px;\n border-color: transparent transparent #d13b36; }\n\n.index---formControl---n-OmU {\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n display: block;\n width: 100%;\n min-height: 50px;\n padding: 11px 12px;\n font-size: 16px;\n line-height: 1.5;\n color: #5d656a;\n background-color: #fff;\n background-image: none;\n border: 1px solid #d1d3d5;\n border-radius: 4px; }\n .index---formControl---n-OmU::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .index---formControl---n-OmU:-ms-input-placeholder {\n color: #999; }\n .index---formControl---n-OmU::-webkit-input-placeholder {\n color: #999; }\n .index---formControl---n-OmU:focus {\n border: 1px solid #2186db;\n box-shadow: inset 0 0 0 1px #2186db, inset 0 2px 1px rgba(0, 0, 0, 0.075);\n outline: none;\n color: #2f3940; }\n .index---formControl---n-OmU::-ms-expand {\n border: 0;\n background-color: transparent; }\n .index---formControl---n-OmU[disabled] {\n background-color: #e9ecec;\n cursor: not-allowed; }\n\n.index---formControlError---1xIqM {\n border: 1px solid #f6363f; }\n\n.index---controlNote---kTtzl {\n color: #b9bdbf;\n float: right;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n font-size: 12px;\n font-style: italic;\n padding-top: 6px;\n text-transform: none; }\n .index---controlNote---kTtzl .index---title---3Hizd {\n color: #747c80; }\n\n.index---srOnly---1xwTf {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.index---controlLabel---20nvw {\n color: #2f3940;\n font-size: 14px;\n font-weight: 600;\n margin-bottom: 6px; }\n .index---controlLabel---20nvw .index---faInfoCircle---1Nw3x {\n margin-left: 6px;\n font-size: 13px;\n color: #d1d3d5; }\n\n.index---formGroup---2cgu0 {\n position: relative;\n margin-bottom: 6px; }\n .index---formGroup---2cgu0:before, .index---formGroup---2cgu0:after {\n content: ' ';\n display: table; }\n .index---formGroup---2cgu0:after {\n clear: both; }\n\n.index---formControlIcon---1zYFK {\n position: absolute;\n top: 10px;\n right: 10px;\n font-size: 22px;\n color: #e9ecec; }\n\n.index---formGroupMultipleChoice---27sP9.index---inline---1WhCU {\n align-items: flex-start; }\n\n.index---formControlLg---1ZCgj .index---formControlIcon---1zYFK {\n top: 20px; }\n\n.index---controlLabelLg---3o0vi {\n font-size: 18px; }\n .index---controlLabelLg---3o0vi + .index---controlNote---kTtzl {\n line-height: 26px; }\n\n.index---controlLabelRequired---1uD-H {\n text-transform: uppercase;\n font-size: 11px;\n color: #747c80;\n font-style: normal; }\n @media (max-width: 480px -1) {\n .index---controlLabelRequired---1uD-H {\n float: right; } }\n @media (min-width: 480px) {\n .index---controlLabelRequired---1uD-H {\n position: absolute;\n top: 0;\n right: 2px; } }\n\n.index---unstyledButton---2st7u {\n margin: 0;\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .index---unstyledButton---2st7u:focus {\n outline: 0; }\n\n.index---inline---1WhCU {\n position: relative; }\n @media (min-width: 550px) {\n .index---inline---1WhCU {\n padding-top: 6px; } }\n @media (min-width: 480px) {\n .index---inline---1WhCU {\n display: flex;\n flex-flow: row;\n align-items: center; } }\n .index---inline---1WhCU label,\n .index---inline---1WhCU .index---labelContainer---2BaYe {\n margin-right: 10px;\n margin-bottom: 0;\n width: 140px; }\n @media (min-width: 550px) {\n .index---inline---1WhCU.index---paddingTop---2vaEY {\n padding-top: 25px; } }\n @media (min-width: 480px) {\n .index---inline---1WhCU .index---controlLabelError---3hknQ,\n .index---inline---1WhCU .index---controlLabelMediumSize---1P--r {\n align-self: flex-start;\n display: flex;\n align-items: center;\n min-height: 46px; } }\n .index---inline---1WhCU .index---choice---1wKEA:first-child {\n margin-top: 0; }\n .index---inline---1WhCU .index---choice---1wKEA:last-child {\n margin-bottom: 0; }\n\n.index---mediumSize---13PTj input,\n.index---mediumSize---13PTj textarea {\n height: 80px; }\n\n.index---labelContainer---2BaYe label {\n margin: 0 10px 0 0;\n width: auto;\n color: #2f3940;\n font-size: 14px;\n font-weight: 600; }\n",""]),exports.locals={clearfix:"index---clearfix---2YZKJ",hidden:"index---hidden---2NyJA",errorStyles:"index---errorStyles---35ga5",formControl:"index---formControl---n-OmU",formControlError:"index---formControlError---1xIqM",controlNote:"index---controlNote---kTtzl",title:"index---title---3Hizd",srOnly:"index---srOnly---1xwTf",controlLabel:"index---controlLabel---20nvw",faInfoCircle:"index---faInfoCircle---1Nw3x",formGroup:"index---formGroup---2cgu0",formControlIcon:"index---formControlIcon---1zYFK",formGroupMultipleChoice:"index---formGroupMultipleChoice---27sP9",inline:"index---inline---1WhCU",formControlLg:"index---formControlLg---1ZCgj",controlLabelLg:"index---controlLabelLg---3o0vi",controlLabelRequired:"index---controlLabelRequired---1uD-H",unstyledButton:"index---unstyledButton---2st7u",labelContainer:"index---labelContainer---2BaYe",paddingTop:"index---paddingTop---2vaEY",controlLabelError:"index---controlLabelError---3hknQ",controlLabelMediumSize:"index---controlLabelMediumSize---1P--r",choice:"index---choice---1wKEA",mediumSize:"index---mediumSize---13PTj"}},886:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---spinner---CVFwJ {\n position: absolute;\n right: 13px;\n top: 11px; }\n .index---spinner---CVFwJ svg {\n width: 18px;\n height: 18px;\n fill: #8b9195;\n vertical-align: middle;\n -webkit-animation: index---spin---34YTg 2s infinite linear;\n animation: index---spin---34YTg 2s infinite linear; }\n\n@-webkit-keyframes index---spin---34YTg {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes index---spin---34YTg {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.index---suggestionInfo---g07P5 {\n color: #a3a7aa;\n font-size: 13px;\n display: inline-block; }\n\n.index---suggestionsContainer---2sd9p {\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n background-clip: padding-box;\n font-size: 14px;\n width: 100%;\n margin-top: 1px;\n background-color: #fff;\n max-height: 300px;\n overflow: auto;\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 2; }\n @media (max-width: 549px) {\n .index---suggestionsContainer---2sd9p {\n width: auto;\n border-radius: 0; } }\n .index---suggestionsContainer---2sd9p ul {\n list-style-type: none;\n margin: 0;\n padding: 0; }\n\n.index---suggestion---6WjIb {\n box-sizing: border-box;\n text-align: left;\n padding: 8px 15px; }\n\n.index---suggestionHighlighted---vn7iP {\n background: #2186db;\n color: #fff;\n cursor: pointer; }\n .index---suggestionHighlighted---vn7iP .index---suggestionInfo---g07P5 {\n color: #fff; }\n\n.index---suggestionsFooter---3lPXE {\n border-top: 1px solid #f8f8f8;\n padding: 8px 12px; }\n\n.index---autoCompleteContainer---I2Xa0 {\n position: relative;\n width: 100%; }\n .index---autoCompleteContainer---I2Xa0 * {\n box-sizing: border-box; }\n\n.index---error---R3ygh {\n border-radius: 4px;\n font-size: 11px;\n padding: 5px 12px;\n text-transform: uppercase;\n font-weight: 400;\n background-color: #d13b36;\n color: #fff;\n position: absolute;\n z-index: 1;\n left: 0;\n top: 45px; }\n .index---error---R3ygh[href]:hover, .index---error---R3ygh[href]:focus {\n background-color: #ad2c27; }\n .index---error---R3ygh:after {\n content: '';\n position: absolute;\n display: block;\n top: -5px;\n right: 45%;\n bottom: auto;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px;\n border-color: transparent transparent #d13b36; }\n",""]),exports.locals={spinner:"index---spinner---CVFwJ",spin:"index---spin---34YTg",suggestionInfo:"index---suggestionInfo---g07P5",suggestionsContainer:"index---suggestionsContainer---2sd9p",suggestion:"index---suggestion---6WjIb",suggestionHighlighted:"index---suggestionHighlighted---vn7iP",suggestionsFooter:"index---suggestionsFooter---3lPXE",autoCompleteContainer:"index---autoCompleteContainer---I2Xa0",error:"index---error---R3ygh"}},887:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(4),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(40);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Button",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i div {\n width: 100%; }\n\n.index---icon---28A-P {\n position: absolute;\n z-index: 1;\n font-size: 18px;\n color: #747c80;\n top: 9px;\n right: 12px;\n pointer-events: none; }\n\n.index---container---iOqDf {\n position: relative;\n width: 100%; }\n\n.index---inline---3MfOv {\n display: flex;\n flex-flow: row;\n align-items: center; }\n @media (min-width: 550px) {\n .index---inline---3MfOv {\n padding-top: 6px; } }\n .index---inline---3MfOv label {\n margin-right: 10px;\n width: 140px;\n margin-bottom: 0;\n text-align: left; }\n .index---inline---3MfOv label + div {\n width: 100%; }\n @media (max-width: 480px) {\n .index---inline---3MfOv {\n display: block; } }\n @media (min-width: 550px) {\n .index---inline---3MfOv.index---paddingTop---1Aeii {\n padding-top: 25px; } }\n .index---inline---3MfOv .index---controlLabelError---3GyR1 {\n align-self: flex-start;\n display: flex;\n align-items: center;\n min-height: 46px; }\n",""]),exports.locals={datePickerContainer:"index---datePickerContainer---hl8u9",innerContainer:"index---innerContainer---2iaT_",icon:"index---icon---28A-P",container:"index---container---iOqDf",inline:"index---inline---3MfOv",paddingTop:"index---paddingTop---1Aeii",controlLabelError:"index---controlLabelError---3GyR1"}},909:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(373),__webpack_require__(24),__webpack_require__(10);var react__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__),_storybook_react__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(2),_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(49),_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(_storyStyles_scss__WEBPACK_IMPORTED_MODULE_14__),_index__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(17);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var DropDownInfo=function(){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("h3",null,"Dropdown"),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("p",null,"The DropDown component behaves differently depending on the"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"showOnHover"),"property. If true the menu will be shown on mouse hover. Otherwise, the menu will only open with a user click.",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("br",null),"The props"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"pullRight")," ","and"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,"direction")," ","may be used to control alignment and direction in which dropdown will open."))},countries=[{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"Austrian Flag",alt:"Austrian Flag",src:"https://assets.kununu.com/images/footer/at.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Austria"),value:"Austria"},{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"German Flag",alt:"German Flag",src:"https://assets.kununu.com/images/footer/de.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Germany"),value:"Germany"},{active:!1,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"Swiss Flag",alt:"Swiss Flag",src:"https://assets.kununu.com/images/footer/ch.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"Switzerland"),value:"Switzerland"},{active:!0,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("img",{title:"American Flag",alt:"American Flag",src:"https://assets.kununu.com/images/footer/us.png"}),link:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){return e.preventDefault()}},"United States"),value:"United States"}];Object(_storybook_react__WEBPACK_IMPORTED_MODULE_9__.storiesOf)("DropDown",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_11__.withOptions)(function(target){for(var i=1;i"),") with an emoji or image tag"),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#ffffff"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{title:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",null,"Austria",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"at",role:"img"},"🇦🇹"))},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{isActive:!0,icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"at",role:"img"},"🇦🇹")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Austria")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"de",role:"img"},"🇩🇪")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Germany")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"ch",role:"img"},"🇨🇭")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"Switzerland")),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{icon:react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",{"aria-label":"us",role:"img"},"🇺🇸")},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault()}},"United States")))))))}).add("shades",function(){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(DropDownInfo,null),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{display:"block",margin:"70px auto 0",width:"75%"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#f1f1f1",padding:"20px"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("p",{style:{marginTop:"0"}},"Add"," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,'shade="light"')," ","prop (e.g."," ",react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("code",null,''),") to enable light shade on dark backgrounds."),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div",{style:{background:"#18242b"}},react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{direction:"up",showOnHover:!1,pullRight:!0,shade:"light",title:(active=countries.filter(function(item){return item.active}),react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span",null,active[0].value," ",active[0].icon))},countries.map(function(item,index){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.b,{key:index,icon:item.icon},item.link)}))))));var active})}.call(this,__webpack_require__(25)(module))},910:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".storyStyles---dropDownStory---3yDy2 ul li {\n list-style: none; }\n\n.storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s {\n display: inline-block;\n padding: 0 10px; }\n .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s:first-child {\n padding: 0 0; }\n .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s + .storyStyles---dropDownStory---3yDy2 ul li.storyStyles---menuItem---2hN7s {\n margin-left: 10px; }\n",""]),exports.locals={dropDownStory:"storyStyles---dropDownStory---3yDy2",menuItem:"storyStyles---menuItem---2hN7s"}},911:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,'.index---container---1kMY3 {\n position: relative;\n padding: 0;\n margin: 0;\n display: inline-block; }\n .index---container---1kMY3.index---up---1JCCN .index---itemsList---2_UHk {\n top: auto;\n bottom: 100%;\n border-radius: 4px 4px 0 0; }\n .index---container---1kMY3.index---up---1JCCN .index---item---2feQi:first-child {\n border-radius: 4px 4px 0 0; }\n .index---container---1kMY3.index---down---1Esxi .index---itemsList---2_UHk {\n top: 100%;\n left: 0;\n border-radius: 0 0 4px 4px; }\n .index---container---1kMY3.index---down---1Esxi .index---item---2feQi:last-child {\n border-radius: 0 0 4px 4px; }\n .index---container---1kMY3.index---pullRight---3iyUk .index---itemsList---2_UHk {\n right: 0;\n left: auto; }\n .index---container---1kMY3.index---light---3Ag1W .index---toggleButton---21F1_ {\n color: #fff; }\n .index---container---1kMY3.index---light---3Ag1W .index---item---2feQi a {\n color: #394b54; }\n\n.index---toggleButton---21F1_ {\n display: block;\n padding: 10px 15px;\n text-align: left;\n background-color: transparent;\n border: 0; }\n .index---toggleButton---21F1_:hover, .index---toggleButton---21F1_:active, .index---toggleButton---21F1_:focus {\n text-decoration: none; }\n .index---toggleButton---21F1_ span[role="img"],\n .index---toggleButton---21F1_ img {\n display: inline;\n margin-left: 10px; }\n\n.index---itemsList---2_UHk {\n position: absolute;\n left: 0;\n padding: 0;\n margin: 0;\n min-width: 160px;\n background-color: #fff;\n box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.1);\n z-index: 1060; }\n\n.index---item---2feQi {\n position: relative;\n display: block;\n padding: 0;\n margin: 0;\n font-size: 14px;\n list-style: none;\n cursor: pointer; }\n .index---item---2feQi:before, .index---item---2feQi:after {\n content: \' \';\n display: table; }\n .index---item---2feQi:after {\n clear: both; }\n .index---item---2feQi .index---icon---3zTsE {\n float: right;\n margin-left: 10px;\n line-height: 18px; }\n .index---item---2feQi .index---icon---3zTsE img,\n .index---item---2feQi .index---icon---3zTsE span[role="img"] {\n display: inline-block;\n vertical-align: middle; }\n .index---item---2feQi a {\n display: block;\n padding: 10px 15px; }\n .index---item---2feQi a:hover, .index---item---2feQi a:active, .index---item---2feQi a:focus, .index---item---2feQi a:visited {\n text-decoration: none; }\n .index---item---2feQi.index---active---3FMSQ, .index---item---2feQi:hover {\n background-color: #f8f8f8; }\n',""]),exports.locals={container:"index---container---1kMY3",up:"index---up---1JCCN",itemsList:"index---itemsList---2_UHk",item:"index---item---2feQi",down:"index---down---1Esxi",pullRight:"index---pullRight---3iyUk",light:"index---light---3Ag1W",toggleButton:"index---toggleButton---21F1_",icon:"index---icon---3zTsE",active:"index---active---3FMSQ"}},912:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(29);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Error",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i * {\n margin: 0 5px;\n min-width: 80px; }\n\n.index---modalTitle---1kflK {\n margin: 0; }\n\n.index---modalBody---1BjLR {\n padding: 20px; }\n\n.index---closeButton---2Vh9p {\n width: 16px;\n height: 16px;\n border: 0;\n background: transparent;\n padding: 0; }\n .index---closeButton---2Vh9p:focus {\n outline: 0; }\n .index---closeButton---2Vh9p:active svg {\n fill: #ecf1f5; }\n\n.index---closeIcon---1g1wD {\n display: block;\n width: 16px;\n height: 16px;\n stroke: none;\n fill: #2186db; }\n",""]),exports.locals={modal:"index---modal---LxKOW",isOpen:"index---isOpen---nFRNi",underlay:"index---underlay---542bh",underlayHasEntered:"index---underlayHasEntered---3i7gA",modalHeader:"index---modalHeader---S8Y8m",modalFooter:"index---modalFooter---1Mu0h",modalTitle:"index---modalTitle---1kflK",modalBody:"index---modalBody---1BjLR",closeButton:"index---closeButton---2Vh9p",closeIcon:"index---closeIcon---1g1wD"}},927:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(14),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(259);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("MultipleChoice",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i div:first-child {\n color: #747c80;\n text-transform: uppercase;\n font-weight: 300;\n font-size: 11px;\n min-width: 60px; }\n\n.index---inputContainer---2vX-G {\n position: relative;\n width: 100%; }\n\n.index---buttons---2A2ds .index---inputContainer---2vX-G {\n display: block;\n width: auto;\n margin-left: -6px;\n margin-right: -6px; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---inputContainer---2vX-G {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row; } }\n\n.index---buttons---2A2ds .index---choice---1XDFd {\n display: inline-block;\n padding: 5px; }\n .index---buttons---2A2ds .index---choice---1XDFd,\n .index---buttons---2A2ds .index---choice---1XDFd + .index---choice---1XDFd {\n margin: 0; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---choice---1XDFd {\n flex-shrink: 0;\n flex-grow: 1; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label {\n color: #2186db;\n border: 1px solid #2186db;\n transition: background-color .25s;\n font-weight: 600; }\n @media (max-width: 997px) {\n .index---buttons---2A2ds .index---choice---1XDFd input + label {\n font-size: 12px; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label:hover,\n .index---buttons---2A2ds .index---choice---1XDFd input:focus + label {\n background-color: transparent;\n color: #2186db; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:focus + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:visited + label {\n outline: 0; }\n .index---buttons---2A2ds .index---choice---1XDFd input:active + label {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label, .index---buttons---2A2ds .index---choice---1XDFd input:checked + label:hover {\n background-color: #2186db;\n color: #fff; }\n .index---buttons---2A2ds .index---choice---1XDFd input + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked label {\n background-color: transparent;\n border-radius: 4px;\n padding: 8px;\n text-align: center;\n transition: background-color .25s; }\n @supports (display: flex) {\n .index---buttons---2A2ds .index---choice---1XDFd input + label,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked label {\n width: 100%; } }\n .index---buttons---2A2ds .index---choice---1XDFd input + label:before,\n .index---buttons---2A2ds .index---choice---1XDFd input:checked + label:before {\n display: none; }\n",""]),exports.locals={inlineLabel:"index---inlineLabel---zOpsZ",choice:"index---choice---1XDFd","lt-ie9":"index---lt-ie9---DKuqN",inline:"index---inline---1ksrb",inputContainer:"index---inputContainer---2vX-G",buttons:"index---buttons---2A2ds"}},929:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(4),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(187);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("Notification",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i`` tag.')(story)(context)}).add("basics",function(){return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_13__.a,{totalPages:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_12__.number)("totalPages",5),query:window.parent.location.search,baseLink:react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("a",{href:"/"},"baselink")})})}.call(this,__webpack_require__(25)(module))},934:function(module,exports,__webpack_require__){(exports=module.exports=__webpack_require__(23)(!1)).push([module.i,".index---paginatorList---3J2a3 {\n display: inline-block;\n padding-left: 0;\n border-radius: 4px; }\n .index---paginatorList---3J2a3 * {\n box-sizing: border-box; }\n .index---paginatorList---3J2a3 > li {\n display: inline; }\n .index---paginatorList---3J2a3 > li > a {\n position: relative;\n float: left;\n padding: 10px 12px;\n line-height: 1.5;\n text-decoration: none;\n color: #2186db;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n transition: color .25s; }\n .index---paginatorList---3J2a3 > li > a:hover, .index---paginatorList---3J2a3 > li > a:focus {\n z-index: 2;\n color: #175d99;\n background-color: #e9ecec;\n border-color: #ddd; }\n .index---paginatorList---3J2a3 > li:first-child > a {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px; }\n .index---paginatorList---3J2a3 > li:last-child > a {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px; }\n .index---paginatorList---3J2a3 > li.index---active---1W3jh > a, .index---paginatorList---3J2a3 > li.index---active---1W3jh > a:hover, .index---paginatorList---3J2a3 > li.index---active---1W3jh > a:focus {\n z-index: 3;\n color: #fff;\n background-color: #99c613;\n border-color: #99c613;\n cursor: default;\n pointer: disabled;\n pointer-events: none; }\n .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a, .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a:hover, .index---paginatorList---3J2a3 > li.index---disabled---2IXav > a:focus {\n pointer: disabled;\n pointer-events: none;\n color: #e9ecec;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed; }\n\n@media (max-width: 480px) {\n .index---paginatorList---3J2a3 > li > a {\n padding: 11px; } }\n",""]),exports.locals={paginatorList:"index---paginatorList---3J2a3",active:"index---active---1W3jh",disabled:"index---disabled---2IXav"}},935:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3),__webpack_require__(16),__webpack_require__(15),__webpack_require__(6),__webpack_require__(38),__webpack_require__(63);var react__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__),_storybook_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(2),_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(4),_index__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(387);function _objectSpread(target){for(var i=1;i value.replace(/a/, 'b')")," ","- now all As will be replaced with Bs!"),react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("div",{style:{position:"relative"}},react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_index__WEBPACK_IMPORTED_MODULE_15__.a,{autoFocus:!0,id:"text-field",disable:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("disabled",!1),displayLength:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("displayLength",!1),dynamicTextareaHeight:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("dynamicTextareaHeight",!0),label:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("label","TextField"),labelHidden:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.boolean)("labelHidden",!1),inputStyle:"block",highlightList:{bad:"bad",fuck:"fuck"},minHeight:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.number)("maxHeight",80),maxLength:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.number)("maxLength",500),onChange:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onChange"),onFocus:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onFocus"),onBlur:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onBlur"),onClick:Object(_storybook_addon_actions__WEBPACK_IMPORTED_MODULE_11__.action)("onClick"),requiredLabel:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("requiredLabel","required"),type:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.select)("type",typeOptions,"text"),placeholder:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("placeholder","Placeholder text"),sanitizeValue:function(value){return value.replace(/a/,"b")},value:Object(_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_14__.text)("value",""),name:"text-field"})))})}.call(this,__webpack_require__(25)(module))},946:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),function(module){__webpack_require__(8),__webpack_require__(10),__webpack_require__(6),__webpack_require__(7),__webpack_require__(9),__webpack_require__(3);var react__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__),_storybook_react__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(11),defaultOptions__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13),_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(12),_storybook_addon_info__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(14),_storybook_addon_knobs_react__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2),_index__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(391);function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object(_storybook_react__WEBPACK_IMPORTED_MODULE_7__.storiesOf)("ToolTip",module).addDecorator(Object(_storybook_addon_options__WEBPACK_IMPORTED_MODULE_9__.withOptions)(function(target){for(var i=1;i=0){timeoutDuration=1;break}var debounce=isBrowser&&window.Promise?function(fn){var called=!1;return function(){called||(called=!0,window.Promise.resolve().then(function(){called=!1,fn()}))}}:function(fn){var scheduled=!1;return function(){scheduled||(scheduled=!0,setTimeout(function(){scheduled=!1,fn()},timeoutDuration))}};function isFunction(functionToCheck){return functionToCheck&&"[object Function]"==={}.toString.call(functionToCheck)}function getStyleComputedProperty(element,property){if(1!==element.nodeType)return[];var css=element.ownerDocument.defaultView.getComputedStyle(element,null);return property?css[property]:css}function getParentNode(element){return"HTML"===element.nodeName?element:element.parentNode||element.host}function getScrollParent(element){if(!element)return document.body;switch(element.nodeName){case"HTML":case"BODY":return element.ownerDocument.body;case"#document":return element.body}var _getStyleComputedProp=getStyleComputedProperty(element),overflow=_getStyleComputedProp.overflow,overflowX=_getStyleComputedProp.overflowX,overflowY=_getStyleComputedProp.overflowY;return/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)?element:getScrollParent(getParentNode(element))}var isIE11=isBrowser&&!(!window.MSInputMethodContext||!document.documentMode),isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);function isIE(version){return 11===version?isIE11:10===version?isIE10:isIE11||isIE10}function getOffsetParent(element){if(!element)return document.documentElement;for(var noOffsetParent=isIE(10)?document.body:null,offsetParent=element.offsetParent||null;offsetParent===noOffsetParent&&element.nextElementSibling;)offsetParent=(element=element.nextElementSibling).offsetParent;var nodeName=offsetParent&&offsetParent.nodeName;return nodeName&&"BODY"!==nodeName&&"HTML"!==nodeName?-1!==["TH","TD","TABLE"].indexOf(offsetParent.nodeName)&&"static"===getStyleComputedProperty(offsetParent,"position")?getOffsetParent(offsetParent):offsetParent:element?element.ownerDocument.documentElement:document.documentElement}function getRoot(node){return null!==node.parentNode?getRoot(node.parentNode):node}function findCommonOffsetParent(element1,element2){if(!(element1&&element1.nodeType&&element2&&element2.nodeType))return document.documentElement;var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING,start=order?element1:element2,end=order?element2:element1,range=document.createRange();range.setStart(start,0),range.setEnd(end,0);var element,nodeName,commonAncestorContainer=range.commonAncestorContainer;if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end))return"BODY"===(nodeName=(element=commonAncestorContainer).nodeName)||"HTML"!==nodeName&&getOffsetParent(element.firstElementChild)!==element?getOffsetParent(commonAncestorContainer):commonAncestorContainer;var element1root=getRoot(element1);return element1root.host?findCommonOffsetParent(element1root.host,element2):findCommonOffsetParent(element1,getRoot(element2).host)}function getScroll(element){var upperSide="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName){var html=element.ownerDocument.documentElement;return(element.ownerDocument.scrollingElement||html)[upperSide]}return element[upperSide]}function getBordersSize(styles,axis){var sideA="x"===axis?"Left":"Top",sideB="Left"===sideA?"Right":"Bottom";return parseFloat(styles["border"+sideA+"Width"],10)+parseFloat(styles["border"+sideB+"Width"],10)}function getSize(axis,body,html,computedStyle){return Math.max(body["offset"+axis],body["scroll"+axis],html["client"+axis],html["offset"+axis],html["scroll"+axis],isIE(10)?parseInt(html["offset"+axis])+parseInt(computedStyle["margin"+("Height"===axis?"Top":"Left")])+parseInt(computedStyle["margin"+("Height"===axis?"Bottom":"Right")]):0)}function getWindowSizes(document){var body=document.body,html=document.documentElement,computedStyle=isIE(10)&&getComputedStyle(html);return{height:getSize("Height",body,html,computedStyle),width:getSize("Width",body,html,computedStyle)}}var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},createClass=function(){function defineProperties(target,props){for(var i=0;i2&&void 0!==arguments[2]&&arguments[2],isIE10=isIE(10),isHTML="HTML"===parent.nodeName,childrenRect=getBoundingClientRect(children),parentRect=getBoundingClientRect(parent),scrollParent=getScrollParent(children),styles=getStyleComputedProperty(parent),borderTopWidth=parseFloat(styles.borderTopWidth,10),borderLeftWidth=parseFloat(styles.borderLeftWidth,10);fixedPosition&&isHTML&&(parentRect.top=Math.max(parentRect.top,0),parentRect.left=Math.max(parentRect.left,0));var offsets=getClientRect({top:childrenRect.top-parentRect.top-borderTopWidth,left:childrenRect.left-parentRect.left-borderLeftWidth,width:childrenRect.width,height:childrenRect.height});if(offsets.marginTop=0,offsets.marginLeft=0,!isIE10&&isHTML){var marginTop=parseFloat(styles.marginTop,10),marginLeft=parseFloat(styles.marginLeft,10);offsets.top-=borderTopWidth-marginTop,offsets.bottom-=borderTopWidth-marginTop,offsets.left-=borderLeftWidth-marginLeft,offsets.right-=borderLeftWidth-marginLeft,offsets.marginTop=marginTop,offsets.marginLeft=marginLeft}return(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&"BODY"!==scrollParent.nodeName)&&(offsets=function(rect,element){var subtract=arguments.length>2&&void 0!==arguments[2]&&arguments[2],scrollTop=getScroll(element,"top"),scrollLeft=getScroll(element,"left"),modifier=subtract?-1:1;return rect.top+=scrollTop*modifier,rect.bottom+=scrollTop*modifier,rect.left+=scrollLeft*modifier,rect.right+=scrollLeft*modifier,rect}(offsets,parent)),offsets}function getFixedPositionOffsetParent(element){if(!element||!element.parentElement||isIE())return document.documentElement;for(var el=element.parentElement;el&&"none"===getStyleComputedProperty(el,"transform");)el=el.parentElement;return el||document.documentElement}function getBoundaries(popper,reference,padding,boundariesElement){var fixedPosition=arguments.length>4&&void 0!==arguments[4]&&arguments[4],boundaries={top:0,left:0},offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,reference);if("viewport"===boundariesElement)boundaries=function(element){var excludeScroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],html=element.ownerDocument.documentElement,relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html),width=Math.max(html.clientWidth,window.innerWidth||0),height=Math.max(html.clientHeight,window.innerHeight||0),scrollTop=excludeScroll?0:getScroll(html),scrollLeft=excludeScroll?0:getScroll(html,"left");return getClientRect({top:scrollTop-relativeOffset.top+relativeOffset.marginTop,left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,width:width,height:height})}(offsetParent,fixedPosition);else{var boundariesNode=void 0;"scrollParent"===boundariesElement?"BODY"===(boundariesNode=getScrollParent(getParentNode(reference))).nodeName&&(boundariesNode=popper.ownerDocument.documentElement):boundariesNode="window"===boundariesElement?popper.ownerDocument.documentElement:boundariesElement;var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);if("HTML"!==boundariesNode.nodeName||function isFixed(element){var nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName)return!1;if("fixed"===getStyleComputedProperty(element,"position"))return!0;var parentNode=getParentNode(element);return!!parentNode&&isFixed(parentNode)}(offsetParent))boundaries=offsets;else{var _getWindowSizes=getWindowSizes(popper.ownerDocument),height=_getWindowSizes.height,width=_getWindowSizes.width;boundaries.top+=offsets.top-offsets.marginTop,boundaries.bottom=height+offsets.top,boundaries.left+=offsets.left-offsets.marginLeft,boundaries.right=width+offsets.left}}var isPaddingNumber="number"==typeof(padding=padding||0);return boundaries.left+=isPaddingNumber?padding:padding.left||0,boundaries.top+=isPaddingNumber?padding:padding.top||0,boundaries.right-=isPaddingNumber?padding:padding.right||0,boundaries.bottom-=isPaddingNumber?padding:padding.bottom||0,boundaries}function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){var padding=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===placement.indexOf("auto"))return placement;var boundaries=getBoundaries(popper,reference,padding,boundariesElement),rects={top:{width:boundaries.width,height:refRect.top-boundaries.top},right:{width:boundaries.right-refRect.right,height:boundaries.height},bottom:{width:boundaries.width,height:boundaries.bottom-refRect.bottom},left:{width:refRect.left-boundaries.left,height:boundaries.height}},sortedAreas=Object.keys(rects).map(function(key){return _extends({key:key},rects[key],{area:(_ref=rects[key],_ref.width*_ref.height)});var _ref}).sort(function(a,b){return b.area-a.area}),filteredAreas=sortedAreas.filter(function(_ref2){var width=_ref2.width,height=_ref2.height;return width>=popper.clientWidth&&height>=popper.clientHeight}),computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key,variation=placement.split("-")[1];return computedPlacement+(variation?"-"+variation:"")}function getReferenceOffsets(state,popper,reference){var fixedPosition=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return getOffsetRectRelativeToArbitraryNode(reference,fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,reference),fixedPosition)}function getOuterSizes(element){var styles=element.ownerDocument.defaultView.getComputedStyle(element),x=parseFloat(styles.marginTop||0)+parseFloat(styles.marginBottom||0),y=parseFloat(styles.marginLeft||0)+parseFloat(styles.marginRight||0);return{width:element.offsetWidth+y,height:element.offsetHeight+x}}function getOppositePlacement(placement){var hash={left:"right",right:"left",bottom:"top",top:"bottom"};return placement.replace(/left|right|bottom|top/g,function(matched){return hash[matched]})}function getPopperOffsets(popper,referenceOffsets,placement){placement=placement.split("-")[0];var popperRect=getOuterSizes(popper),popperOffsets={width:popperRect.width,height:popperRect.height},isHoriz=-1!==["right","left"].indexOf(placement),mainSide=isHoriz?"top":"left",secondarySide=isHoriz?"left":"top",measurement=isHoriz?"height":"width",secondaryMeasurement=isHoriz?"width":"height";return popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/2-popperRect[measurement]/2,popperOffsets[secondarySide]=placement===secondarySide?referenceOffsets[secondarySide]-popperRect[secondaryMeasurement]:referenceOffsets[getOppositePlacement(secondarySide)],popperOffsets}function find(arr,check){return Array.prototype.find?arr.find(check):arr.filter(check)[0]}function runModifiers(modifiers,data,ends){return(void 0===ends?modifiers:modifiers.slice(0,function(arr,prop,value){if(Array.prototype.findIndex)return arr.findIndex(function(cur){return cur[prop]===value});var match=find(arr,function(obj){return obj[prop]===value});return arr.indexOf(match)}(modifiers,"name",ends))).forEach(function(modifier){modifier.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var fn=modifier.function||modifier.fn;modifier.enabled&&isFunction(fn)&&(data.offsets.popper=getClientRect(data.offsets.popper),data.offsets.reference=getClientRect(data.offsets.reference),data=fn(data,modifier))}),data}function isModifierEnabled(modifiers,modifierName){return modifiers.some(function(_ref){var name=_ref.name;return _ref.enabled&&name===modifierName})}function getSupportedPropertyName(property){for(var prefixes=[!1,"ms","Webkit","Moz","O"],upperProp=property.charAt(0).toUpperCase()+property.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],index=validPlacements.indexOf(placement),arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));return counter?arr.reverse():arr}var BEHAVIORS={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){var offsets=[0,0],useHeight=-1!==["right","left"].indexOf(basePlacement),fragments=offset.split(/(\+|\-)/).map(function(frag){return frag.trim()}),divider=fragments.indexOf(find(fragments,function(frag){return-1!==frag.search(/,|\s/)}));fragments[divider]&&-1===fragments[divider].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var splitRegex=/\s*,\s*|\s+/,ops=-1!==divider?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];return(ops=ops.map(function(op,index){var measurement=(1===index?!useHeight:useHeight)?"height":"width",mergeWithPrevious=!1;return op.reduce(function(a,b){return""===a[a.length-1]&&-1!==["+","-"].indexOf(b)?(a[a.length-1]=b,mergeWithPrevious=!0,a):mergeWithPrevious?(a[a.length-1]+=b,mergeWithPrevious=!1,a):a.concat(b)},[]).map(function(str){return function(str,measurement,popperOffsets,referenceOffsets){var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),value=+split[1],unit=split[2];if(!value)return str;if(0===unit.indexOf("%")){var element=void 0;switch(unit){case"%p":element=popperOffsets;break;case"%":case"%r":default:element=referenceOffsets}return getClientRect(element)[measurement]/100*value}if("vh"===unit||"vw"===unit)return("vh"===unit?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*value;return value}(str,measurement,popperOffsets,referenceOffsets)})})).forEach(function(op,index){op.forEach(function(frag,index2){isNumeric(frag)&&(offsets[index]+=frag*("-"===op[index2-1]?-1:1))})}),offsets}var Defaults={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],shiftvariation=placement.split("-")[1];if(shiftvariation){var _data$offsets=data.offsets,reference=_data$offsets.reference,popper=_data$offsets.popper,isVertical=-1!==["bottom","top"].indexOf(basePlacement),side=isVertical?"left":"top",measurement=isVertical?"width":"height",shiftOffsets={start:defineProperty({},side,reference[side]),end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])};data.offsets.popper=_extends({},popper,shiftOffsets[shiftvariation])}return data}},offset:{order:200,enabled:!0,fn:function(data,_ref){var offset=_ref.offset,placement=data.placement,_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,basePlacement=placement.split("-")[0],offsets=void 0;return offsets=isNumeric(+offset)?[+offset,0]:parseOffset(offset,popper,reference,basePlacement),"left"===basePlacement?(popper.top+=offsets[0],popper.left-=offsets[1]):"right"===basePlacement?(popper.top+=offsets[0],popper.left+=offsets[1]):"top"===basePlacement?(popper.left+=offsets[0],popper.top-=offsets[1]):"bottom"===basePlacement&&(popper.left+=offsets[0],popper.top+=offsets[1]),data.popper=popper,data},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(data,options){var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);data.instance.reference===boundariesElement&&(boundariesElement=getOffsetParent(boundariesElement));var transformProp=getSupportedPropertyName("transform"),popperStyles=data.instance.popper.style,top=popperStyles.top,left=popperStyles.left,transform=popperStyles[transformProp];popperStyles.top="",popperStyles.left="",popperStyles[transformProp]="";var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);popperStyles.top=top,popperStyles.left=left,popperStyles[transformProp]=transform,options.boundaries=boundaries;var order=options.priority,popper=data.offsets.popper,check={primary:function(placement){var value=popper[placement];return popper[placement]boundaries[placement]&&!options.escapeWithReference&&(value=Math.min(popper[mainSide],boundaries[placement]-("right"===placement?popper.width:popper.height))),defineProperty({},mainSide,value)}};return order.forEach(function(placement){var side=-1!==["left","top"].indexOf(placement)?"primary":"secondary";popper=_extends({},popper,check[side](placement))}),data.offsets.popper=popper,data},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(data){var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,placement=data.placement.split("-")[0],floor=Math.floor,isVertical=-1!==["top","bottom"].indexOf(placement),side=isVertical?"right":"bottom",opSide=isVertical?"left":"top",measurement=isVertical?"width":"height";return popper[side]floor(reference[side])&&(data.offsets.popper[opSide]=floor(reference[side])),data}},arrow:{order:500,enabled:!0,fn:function(data,options){var _data$offsets$arrow;if(!isModifierRequired(data.instance.modifiers,"arrow","keepTogether"))return data;var arrowElement=options.element;if("string"==typeof arrowElement){if(!(arrowElement=data.instance.popper.querySelector(arrowElement)))return data}else if(!data.instance.popper.contains(arrowElement))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),data;var placement=data.placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isVertical=-1!==["left","right"].indexOf(placement),len=isVertical?"height":"width",sideCapitalized=isVertical?"Top":"Left",side=sideCapitalized.toLowerCase(),altSide=isVertical?"left":"top",opSide=isVertical?"bottom":"right",arrowElementSize=getOuterSizes(arrowElement)[len];reference[opSide]-arrowElementSizepopper[opSide]&&(data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide]),data.offsets.popper=getClientRect(data.offsets.popper);var center=reference[side]+reference[len]/2-arrowElementSize/2,css=getStyleComputedProperty(data.instance.popper),popperMarginSide=parseFloat(css["margin"+sideCapitalized],10),popperBorderSide=parseFloat(css["border"+sideCapitalized+"Width"],10),sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;return sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0),data.arrowElement=arrowElement,data.offsets.arrow=(defineProperty(_data$offsets$arrow={},side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,""),_data$offsets$arrow),data},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(data,options){if(isModifierEnabled(data.instance.modifiers,"inner"))return data;if(data.flipped&&data.placement===data.originalPlacement)return data;var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed),placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement),variation=data.placement.split("-")[1]||"",flipOrder=[];switch(options.behavior){case BEHAVIORS.FLIP:flipOrder=[placement,placementOpposite];break;case BEHAVIORS.CLOCKWISE:flipOrder=clockwise(placement);break;case BEHAVIORS.COUNTERCLOCKWISE:flipOrder=clockwise(placement,!0);break;default:flipOrder=options.behavior}return flipOrder.forEach(function(step,index){if(placement!==step||flipOrder.length===index+1)return data;placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement);var popperOffsets=data.offsets.popper,refOffsets=data.offsets.reference,floor=Math.floor,overlapsRef="left"===placement&&floor(popperOffsets.right)>floor(refOffsets.left)||"right"===placement&&floor(popperOffsets.left)floor(refOffsets.top)||"bottom"===placement&&floor(popperOffsets.top)floor(boundaries.right),overflowsTop=floor(popperOffsets.top)floor(boundaries.bottom),overflowsBoundaries="left"===placement&&overflowsLeft||"right"===placement&&overflowsRight||"top"===placement&&overflowsTop||"bottom"===placement&&overflowsBottom,isVertical=-1!==["top","bottom"].indexOf(placement),flippedVariationByRef=!!options.flipVariations&&(isVertical&&"start"===variation&&overflowsLeft||isVertical&&"end"===variation&&overflowsRight||!isVertical&&"start"===variation&&overflowsTop||!isVertical&&"end"===variation&&overflowsBottom),flippedVariationByContent=!!options.flipVariationsByContent&&(isVertical&&"start"===variation&&overflowsRight||isVertical&&"end"===variation&&overflowsLeft||!isVertical&&"start"===variation&&overflowsBottom||!isVertical&&"end"===variation&&overflowsTop),flippedVariation=flippedVariationByRef||flippedVariationByContent;(overlapsRef||overflowsBoundaries||flippedVariation)&&(data.flipped=!0,(overlapsRef||overflowsBoundaries)&&(placement=flipOrder[index+1]),flippedVariation&&(variation=function(variation){return"end"===variation?"start":"start"===variation?"end":variation}(variation)),data.placement=placement+(variation?"-"+variation:""),data.offsets.popper=_extends({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement)),data=runModifiers(data.instance.modifiers,data,"flip"))}),data},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isHoriz=-1!==["left","right"].indexOf(basePlacement),subtractLength=-1===["top","left"].indexOf(basePlacement);return popper[isHoriz?"left":"top"]=reference[basePlacement]-(subtractLength?popper[isHoriz?"width":"height"]:0),data.placement=getOppositePlacement(placement),data.offsets.popper=getClientRect(popper),data}},hide:{order:800,enabled:!0,fn:function(data){if(!isModifierRequired(data.instance.modifiers,"hide","preventOverflow"))return data;var refRect=data.offsets.reference,bound=find(data.instance.modifiers,function(modifier){return"preventOverflow"===modifier.name}).boundaries;if(refRect.bottombound.right||refRect.top>bound.bottom||refRect.right2&&void 0!==arguments[2]?arguments[2]:{};classCallCheck(this,Popper),this.scheduleUpdate=function(){return requestAnimationFrame(_this.update)},this.update=debounce(this.update.bind(this)),this.options=_extends({},Popper.Defaults,options),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=reference&&reference.jquery?reference[0]:reference,this.popper=popper&&popper.jquery?popper[0]:popper,this.options.modifiers={},Object.keys(_extends({},Popper.Defaults.modifiers,options.modifiers)).forEach(function(name){_this.options.modifiers[name]=_extends({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(name){return _extends({name:name},_this.options.modifiers[name])}).sort(function(a,b){return a.order-b.order}),this.modifiers.forEach(function(modifierOptions){modifierOptions.enabled&&isFunction(modifierOptions.onLoad)&&modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state)}),this.update();var eventsEnabled=this.options.eventsEnabled;eventsEnabled&&this.enableEventListeners(),this.state.eventsEnabled=eventsEnabled}return createClass(Popper,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var data={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed),data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),data.originalPlacement=data.placement,data.positionFixed=this.options.positionFixed,data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement),data.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",data=runModifiers(this.modifiers,data),this.state.isCreated?this.options.onUpdate(data):(this.state.isCreated=!0,this.options.onCreate(data))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,isModifierEnabled(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[getSupportedPropertyName("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=setupEventListeners(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return disableEventListeners.call(this)}}]),Popper}();return Popper.Utils=("undefined"!=typeof window?window:global).PopperUtils,Popper.placements=placements,Popper.Defaults=Defaults,Popper},module.exports=factory()}).call(this,__webpack_require__(28))},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _react2=_interopRequireDefault(__webpack_require__(0)),_implementation2=_interopRequireDefault(__webpack_require__(901));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default=_react2.default.createContext||_implementation2.default,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _react=__webpack_require__(0),_propTypes2=(_interopRequireDefault(_react),_interopRequireDefault(__webpack_require__(1))),_gud2=_interopRequireDefault(__webpack_require__(902));_interopRequireDefault(__webpack_require__(365));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var MAX_SIGNED_31_BIT_INT=1073741823;exports.default=function(defaultValue,calculateChangedBits){var _Provider$childContex,_Consumer$contextType,contextProp="__create-react-context-"+(0,_gud2.default)()+"__",Provider=function(_Component){function Provider(){var _temp,_this,value,handlers;_classCallCheck(this,Provider);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,_Component.call.apply(_Component,[this].concat(args))),_this.emitter=(value=_this.props.value,handlers=[],{on:function(handler){handlers.push(handler)},off:function(handler){handlers=handlers.filter(function(h){return h!==handler})},get:function(){return value},set:function(newValue,changedBits){value=newValue,handlers.forEach(function(handler){return handler(value,changedBits)})}}),_possibleConstructorReturn(_this,_temp)}return _inherits(Provider,_Component),Provider.prototype.getChildContext=function(){var _ref;return(_ref={})[contextProp]=this.emitter,_ref},Provider.prototype.componentWillReceiveProps=function(nextProps){if(this.props.value!==nextProps.value){var oldValue=this.props.value,newValue=nextProps.value,changedBits=void 0;((x=oldValue)===(y=newValue)?0!==x||1/x==1/y:x!=x&&y!=y)?changedBits=0:(changedBits="function"==typeof calculateChangedBits?calculateChangedBits(oldValue,newValue):MAX_SIGNED_31_BIT_INT,0!=(changedBits|=0)&&this.emitter.set(nextProps.value,changedBits))}var x,y},Provider.prototype.render=function(){return this.props.children},Provider}(_react.Component);Provider.childContextTypes=((_Provider$childContex={})[contextProp]=_propTypes2.default.object.isRequired,_Provider$childContex);var Consumer=function(_Component2){function Consumer(){var _temp2,_this2;_classCallCheck(this,Consumer);for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return _temp2=_this2=_possibleConstructorReturn(this,_Component2.call.apply(_Component2,[this].concat(args))),_this2.state={value:_this2.getValue()},_this2.onUpdate=function(newValue,changedBits){0!=((0|_this2.observedBits)&changedBits)&&_this2.setState({value:_this2.getValue()})},_possibleConstructorReturn(_this2,_temp2)}return _inherits(Consumer,_Component2),Consumer.prototype.componentWillReceiveProps=function(nextProps){var observedBits=nextProps.observedBits;this.observedBits=null==observedBits?MAX_SIGNED_31_BIT_INT:observedBits},Consumer.prototype.componentDidMount=function(){this.context[contextProp]&&this.context[contextProp].on(this.onUpdate);var observedBits=this.props.observedBits;this.observedBits=null==observedBits?MAX_SIGNED_31_BIT_INT:observedBits},Consumer.prototype.componentWillUnmount=function(){this.context[contextProp]&&this.context[contextProp].off(this.onUpdate)},Consumer.prototype.getValue=function(){return this.context[contextProp]?this.context[contextProp].get():defaultValue},Consumer.prototype.render=function(){return(children=this.props.children,Array.isArray(children)?children[0]:children)(this.state.value);var children},Consumer}(_react.Component);return Consumer.contextTypes=((_Consumer$contextType={})[contextProp]=_propTypes2.default.object,_Consumer$contextType),{Provider:Provider,Consumer:Consumer}},module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";(function(global){var key="__global_unique_id__";module.exports=function(){return global[key]=(global[key]||0)+1}}).call(this,__webpack_require__(28))},function(module,exports,__webpack_require__){"use strict";var _interopRequireWildcard=__webpack_require__(180),_interopRequireDefault=__webpack_require__(179);Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(props){return React.createElement(_Manager.ManagerContext.Consumer,null,function(_ref){var setReferenceNode=_ref.setReferenceNode;return React.createElement(InnerReference,(0,_extends2.default)({setReferenceNode:setReferenceNode},props))})};var _extends2=_interopRequireDefault(__webpack_require__(249)),_inheritsLoose2=_interopRequireDefault(__webpack_require__(250)),_assertThisInitialized2=_interopRequireDefault(__webpack_require__(251)),_defineProperty2=_interopRequireDefault(__webpack_require__(252)),React=_interopRequireWildcard(__webpack_require__(0)),_warning=_interopRequireDefault(__webpack_require__(904)),_Manager=__webpack_require__(253),_utils=__webpack_require__(374),InnerReference=function(_React$Component){function InnerReference(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _this=_React$Component.call.apply(_React$Component,[this].concat(args))||this,(0,_defineProperty2.default)((0,_assertThisInitialized2.default)((0,_assertThisInitialized2.default)(_this)),"refHandler",function(node){(0,_utils.safeInvoke)(_this.props.innerRef,node),(0,_utils.safeInvoke)(_this.props.setReferenceNode,node)}),_this}return(0,_inheritsLoose2.default)(InnerReference,_React$Component),InnerReference.prototype.render=function(){return(0,_warning.default)(Boolean(this.props.setReferenceNode),"`Reference` should not be used outside of a `Manager` component."),(0,_utils.unwrapArray)(this.props.children)({ref:this.refHandler})},InnerReference}(React.Component)},function(module,exports,__webpack_require__){"use strict";var warning=function(){};module.exports=warning},function(module,exports,__webpack_require__){var content=__webpack_require__(906);"string"==typeof content&&(content=[[module.i,content,""]]);var options={hmr:!0,transform:void 0,insertInto:void 0};__webpack_require__(20)(content,options);content.locals&&(module.exports=content.locals)},function(module,exports,__webpack_require__){(module.exports=__webpack_require__(907)(!1)).push([module.i,'.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n margin-left: -8px;\n position: absolute;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow, .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,\n.react-datepicker__month-read-view--down-arrow::before,\n.react-datepicker__month-year-read-view--down-arrow::before {\n box-sizing: content-box;\n position: absolute;\n border: 8px solid transparent;\n height: 0;\n width: 1px;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,\n.react-datepicker__month-read-view--down-arrow::before,\n.react-datepicker__month-year-read-view--down-arrow::before {\n content: "";\n z-index: -1;\n border-width: 8px;\n left: -8px;\n border-bottom-color: #aeaeae;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle {\n top: 0;\n margin-top: -8px;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before {\n border-top: none;\n border-bottom-color: #f0f0f0;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before {\n top: -1px;\n border-bottom-color: #aeaeae;\n}\n\n.react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n bottom: 0;\n margin-bottom: -8px;\n}\n\n.react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,\n.react-datepicker__month-read-view--down-arrow::before,\n.react-datepicker__month-year-read-view--down-arrow::before {\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,\n.react-datepicker__month-read-view--down-arrow::before,\n.react-datepicker__month-year-read-view--down-arrow::before {\n bottom: -1px;\n border-top-color: #aeaeae;\n}\n\n.react-datepicker-wrapper {\n display: inline-block;\n}\n\n.react-datepicker {\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: 0.8rem;\n background-color: #fff;\n color: #000;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n display: inline-block;\n position: relative;\n}\n\n.react-datepicker--time-only .react-datepicker__triangle {\n left: 35px;\n}\n\n.react-datepicker--time-only .react-datepicker__time-container {\n border-left: 0;\n}\n\n.react-datepicker--time-only .react-datepicker__time {\n border-radius: 0.3rem;\n}\n\n.react-datepicker--time-only .react-datepicker__time-box {\n border-radius: 0.3rem;\n}\n\n.react-datepicker__triangle {\n position: absolute;\n left: 50px;\n}\n\n.react-datepicker-popper {\n z-index: 1;\n}\n\n.react-datepicker-popper[data-placement^="bottom"] {\n margin-top: 10px;\n}\n\n.react-datepicker-popper[data-placement^="top"] {\n margin-bottom: 10px;\n}\n\n.react-datepicker-popper[data-placement^="right"] {\n margin-left: 8px;\n}\n\n.react-datepicker-popper[data-placement^="right"] .react-datepicker__triangle {\n left: auto;\n right: 42px;\n}\n\n.react-datepicker-popper[data-placement^="left"] {\n margin-right: 8px;\n}\n\n.react-datepicker-popper[data-placement^="left"] .react-datepicker__triangle {\n left: 42px;\n right: auto;\n}\n\n.react-datepicker__header {\n text-align: center;\n background-color: #f0f0f0;\n border-bottom: 1px solid #aeaeae;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n padding-top: 8px;\n position: relative;\n}\n\n.react-datepicker__header--time {\n padding-bottom: 8px;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.react-datepicker__year-dropdown-container--select,\n.react-datepicker__month-dropdown-container--select,\n.react-datepicker__month-year-dropdown-container--select,\n.react-datepicker__year-dropdown-container--scroll,\n.react-datepicker__month-dropdown-container--scroll,\n.react-datepicker__month-year-dropdown-container--scroll {\n display: inline-block;\n margin: 0 2px;\n}\n\n.react-datepicker__current-month,\n.react-datepicker-time__header {\n margin-top: 0;\n color: #000;\n font-weight: bold;\n font-size: 0.944rem;\n}\n\n.react-datepicker-time__header {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.react-datepicker__navigation {\n background: none;\n line-height: 1.7rem;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 10px;\n width: 0;\n padding: 0;\n border: 0.45rem solid transparent;\n z-index: 1;\n height: 10px;\n width: 10px;\n text-indent: -999em;\n overflow: hidden;\n}\n\n.react-datepicker__navigation--previous {\n left: 10px;\n border-right-color: #ccc;\n}\n\n.react-datepicker__navigation--previous:hover {\n border-right-color: #b3b3b3;\n}\n\n.react-datepicker__navigation--previous--disabled, .react-datepicker__navigation--previous--disabled:hover {\n border-right-color: #e6e6e6;\n cursor: default;\n}\n\n.react-datepicker__navigation--next {\n right: 10px;\n border-left-color: #ccc;\n}\n\n.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {\n right: 80px;\n}\n\n.react-datepicker__navigation--next:hover {\n border-left-color: #b3b3b3;\n}\n\n.react-datepicker__navigation--next--disabled, .react-datepicker__navigation--next--disabled:hover {\n border-left-color: #e6e6e6;\n cursor: default;\n}\n\n.react-datepicker__navigation--years {\n position: relative;\n top: 0;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.react-datepicker__navigation--years-previous {\n top: 4px;\n border-top-color: #ccc;\n}\n\n.react-datepicker__navigation--years-previous:hover {\n border-top-color: #b3b3b3;\n}\n\n.react-datepicker__navigation--years-upcoming {\n top: -4px;\n border-bottom-color: #ccc;\n}\n\n.react-datepicker__navigation--years-upcoming:hover {\n border-bottom-color: #b3b3b3;\n}\n\n.react-datepicker__month-container {\n float: left;\n}\n\n.react-datepicker__month {\n margin: 0.4rem;\n text-align: center;\n}\n\n.react-datepicker__input-time-container {\n clear: both;\n width: 100%;\n float: left;\n margin: 5px 0 10px 15px;\n text-align: left;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__caption {\n display: inline-block;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container {\n display: inline-block;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {\n display: inline-block;\n margin-left: 10px;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {\n width: 85px;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"]::-webkit-inner-spin-button,\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"] {\n -moz-appearance: textfield;\n}\n\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {\n margin-left: 5px;\n display: inline-block;\n}\n\n.react-datepicker__time-container {\n float: right;\n border-left: 1px solid #aeaeae;\n width: 70px;\n}\n\n.react-datepicker__time-container--with-today-button {\n display: inline;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n position: absolute;\n right: -72px;\n top: 0;\n}\n\n.react-datepicker__time-container .react-datepicker__time {\n position: relative;\n background: white;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {\n width: 70px;\n overflow-x: hidden;\n margin: 0 auto;\n text-align: center;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {\n list-style: none;\n margin: 0;\n height: calc(195px + (1.7rem / 2));\n overflow-y: scroll;\n padding-right: 0px;\n padding-left: 0px;\n width: 100%;\n box-sizing: content-box;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {\n height: 30px;\n padding: 5px 10px;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {\n cursor: pointer;\n background-color: #f0f0f0;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {\n background-color: #216ba5;\n color: white;\n font-weight: bold;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {\n background-color: #216ba5;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {\n color: #ccc;\n}\n\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n\n.react-datepicker__week-number {\n color: #ccc;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n\n.react-datepicker__week-number.react-datepicker__week-number--clickable {\n cursor: pointer;\n}\n\n.react-datepicker__week-number.react-datepicker__week-number--clickable:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n\n.react-datepicker__day-names,\n.react-datepicker__week {\n white-space: nowrap;\n}\n\n.react-datepicker__day-name,\n.react-datepicker__day,\n.react-datepicker__time-name {\n color: #000;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n\n.react-datepicker__day {\n cursor: pointer;\n}\n\n.react-datepicker__day:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n\n.react-datepicker__day--today {\n font-weight: bold;\n}\n\n.react-datepicker__day--highlighted {\n border-radius: 0.3rem;\n background-color: #3dcc4a;\n color: #fff;\n}\n\n.react-datepicker__day--highlighted:hover {\n background-color: #32be3f;\n}\n\n.react-datepicker__day--highlighted-custom-1 {\n color: magenta;\n}\n\n.react-datepicker__day--highlighted-custom-2 {\n color: green;\n}\n\n.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n\n.react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover {\n background-color: #1d5d90;\n}\n\n.react-datepicker__day--keyboard-selected {\n border-radius: 0.3rem;\n background-color: #2a87d0;\n color: #fff;\n}\n\n.react-datepicker__day--keyboard-selected:hover {\n background-color: #1d5d90;\n}\n\n.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range) {\n background-color: rgba(33, 107, 165, 0.5);\n}\n\n.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range) {\n background-color: #f0f0f0;\n color: #000;\n}\n\n.react-datepicker__day--disabled {\n cursor: default;\n color: #ccc;\n}\n\n.react-datepicker__day--disabled:hover {\n background-color: transparent;\n}\n\n.react-datepicker__input-container {\n position: relative;\n display: inline-block;\n}\n\n.react-datepicker__year-read-view,\n.react-datepicker__month-read-view,\n.react-datepicker__month-year-read-view {\n border: 1px solid transparent;\n border-radius: 0.3rem;\n}\n\n.react-datepicker__year-read-view:hover,\n.react-datepicker__month-read-view:hover,\n.react-datepicker__month-year-read-view:hover {\n cursor: pointer;\n}\n\n.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {\n border-top-color: #b3b3b3;\n}\n\n.react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n border-top-color: #ccc;\n float: right;\n margin-left: 20px;\n top: 8px;\n position: relative;\n border-width: 0.45rem;\n}\n\n.react-datepicker__year-dropdown,\n.react-datepicker__month-dropdown,\n.react-datepicker__month-year-dropdown {\n background-color: #f0f0f0;\n position: absolute;\n width: 50%;\n left: 25%;\n top: 30px;\n z-index: 1;\n text-align: center;\n border-radius: 0.3rem;\n border: 1px solid #aeaeae;\n}\n\n.react-datepicker__year-dropdown:hover,\n.react-datepicker__month-dropdown:hover,\n.react-datepicker__month-year-dropdown:hover {\n cursor: pointer;\n}\n\n.react-datepicker__year-dropdown--scrollable,\n.react-datepicker__month-dropdown--scrollable,\n.react-datepicker__month-year-dropdown--scrollable {\n height: 150px;\n overflow-y: scroll;\n}\n\n.react-datepicker__year-option,\n.react-datepicker__month-option,\n.react-datepicker__month-year-option {\n line-height: 20px;\n width: 100%;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.react-datepicker__year-option:first-of-type,\n.react-datepicker__month-option:first-of-type,\n.react-datepicker__month-year-option:first-of-type {\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.react-datepicker__year-option:last-of-type,\n.react-datepicker__month-option:last-of-type,\n.react-datepicker__month-year-option:last-of-type {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.react-datepicker__year-option:hover,\n.react-datepicker__month-option:hover,\n.react-datepicker__month-year-option:hover {\n background-color: #ccc;\n}\n\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {\n border-bottom-color: #b3b3b3;\n}\n\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {\n border-top-color: #b3b3b3;\n}\n\n.react-datepicker__year-option--selected,\n.react-datepicker__month-option--selected,\n.react-datepicker__month-year-option--selected {\n position: absolute;\n left: 15px;\n}\n\n.react-datepicker__close-icon {\n background-color: transparent;\n border: 0;\n cursor: pointer;\n outline: 0;\n padding: 0;\n vertical-align: middle;\n position: absolute;\n height: 16px;\n width: 16px;\n top: 25%;\n right: 7px;\n}\n\n.react-datepicker__close-icon::after {\n background-color: #216ba5;\n border-radius: 50%;\n bottom: 0;\n box-sizing: border-box;\n color: #fff;\n content: "\\D7";\n cursor: pointer;\n font-size: 12px;\n height: 16px;\n width: 16px;\n line-height: 1;\n margin: -8px auto 0;\n padding: 2px;\n position: absolute;\n right: 0px;\n text-align: center;\n}\n\n.react-datepicker__today-button {\n background: #f0f0f0;\n border-top: 1px solid #aeaeae;\n cursor: pointer;\n text-align: center;\n font-weight: bold;\n padding: 5px 0;\n clear: left;\n}\n\n.react-datepicker__portal {\n position: fixed;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8);\n left: 0;\n top: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n z-index: 2147483647;\n}\n\n.react-datepicker__portal .react-datepicker__day-name,\n.react-datepicker__portal .react-datepicker__day,\n.react-datepicker__portal .react-datepicker__time-name {\n width: 3rem;\n line-height: 3rem;\n}\n\n@media (max-width: 400px), (max-height: 550px) {\n .react-datepicker__portal .react-datepicker__day-name,\n .react-datepicker__portal .react-datepicker__day,\n .react-datepicker__portal .react-datepicker__time-name {\n width: 2rem;\n line-height: 2rem;\n }\n}\n\n.react-datepicker__portal .react-datepicker__current-month,\n.react-datepicker__portal .react-datepicker-time__header {\n font-size: 1.44rem;\n}\n\n.react-datepicker__portal .react-datepicker__navigation {\n border: 0.81rem solid transparent;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--previous {\n border-right-color: #ccc;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--previous:hover {\n border-right-color: #b3b3b3;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--previous--disabled, .react-datepicker__portal .react-datepicker__navigation--previous--disabled:hover {\n border-right-color: #e6e6e6;\n cursor: default;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--next {\n border-left-color: #ccc;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--next:hover {\n border-left-color: #b3b3b3;\n}\n\n.react-datepicker__portal .react-datepicker__navigation--next--disabled, .react-datepicker__portal .react-datepicker__navigation--next--disabled:hover {\n border-left-color: #e6e6e6;\n cursor: default;\n}\n',""])},function(module,exports){module.exports=function(useSourceMap){var list=[];return list.toString=function(){return this.map(function(item){var content=function(item,useSourceMap){var content=item[1]||"",cssMapping=item[3];if(!cssMapping)return content;if(useSourceMap&&"function"==typeof btoa){var sourceMapping=(sourceMap=cssMapping,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+" */"),sourceURLs=cssMapping.sources.map(function(source){return"/*# sourceURL="+cssMapping.sourceRoot+source+" */"});return[content].concat(sourceURLs).concat([sourceMapping]).join("\n")}var sourceMap;return[content].join("\n")}(item,useSourceMap);return item[2]?"@media "+item[2]+"{"+content+"}":content}).join("")},list.i=function(modules,mediaQuery){"string"==typeof modules&&(modules=[[null,modules,""]]);for(var alreadyImportedModules={},i=0;i0){var activeTrap=trapQueue[trapQueue.length-1];activeTrap!==trap&&activeTrap.pause()}var trapIndex=trapQueue.indexOf(trap);-1===trapIndex?trapQueue.push(trap):(trapQueue.splice(trapIndex,1),trapQueue.push(trap))},deactivateTrap:function(trap){var trapIndex=trapQueue.indexOf(trap);-1!==trapIndex&&trapQueue.splice(trapIndex,1),trapQueue.length>0&&trapQueue[trapQueue.length-1].unpause()}});function delay(fn){return setTimeout(fn,0)}module.exports=function(element,userOptions){var doc=document,container="string"==typeof element?doc.querySelector(element):element,config=xtend({returnFocusOnDeactivate:!0,escapeDeactivates:!0},userOptions),state={firstTabbableNode:null,lastTabbableNode:null,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1},trap={activate:function(activateOptions){if(!state.active){updateTabbableNodes(),state.active=!0,state.paused=!1,state.nodeFocusedBeforeActivation=doc.activeElement;var onActivate=activateOptions&&activateOptions.onActivate?activateOptions.onActivate:config.onActivate;return onActivate&&onActivate(),addListeners(),trap}},deactivate:deactivate,pause:function(){!state.paused&&state.active&&(state.paused=!0,removeListeners())},unpause:function(){state.paused&&state.active&&(state.paused=!1,addListeners())}};return trap;function deactivate(deactivateOptions){if(state.active){removeListeners(),state.active=!1,state.paused=!1,activeFocusTraps.deactivateTrap(trap);var onDeactivate=deactivateOptions&&void 0!==deactivateOptions.onDeactivate?deactivateOptions.onDeactivate:config.onDeactivate;return onDeactivate&&onDeactivate(),(deactivateOptions&&void 0!==deactivateOptions.returnFocus?deactivateOptions.returnFocus:config.returnFocusOnDeactivate)&&delay(function(){tryFocus(state.nodeFocusedBeforeActivation)}),trap}}function addListeners(){if(state.active)return activeFocusTraps.activateTrap(trap),updateTabbableNodes(),delay(function(){tryFocus(getInitialFocusNode())}),doc.addEventListener("focusin",checkFocusIn,!0),doc.addEventListener("mousedown",checkPointerDown,!0),doc.addEventListener("touchstart",checkPointerDown,!0),doc.addEventListener("click",checkClick,!0),doc.addEventListener("keydown",checkKey,!0),trap}function removeListeners(){if(state.active)return doc.removeEventListener("focusin",checkFocusIn,!0),doc.removeEventListener("mousedown",checkPointerDown,!0),doc.removeEventListener("touchstart",checkPointerDown,!0),doc.removeEventListener("click",checkClick,!0),doc.removeEventListener("keydown",checkKey,!0),trap}function getNodeForOption(optionName){var optionValue=config[optionName],node=optionValue;if(!optionValue)return null;if("string"==typeof optionValue&&!(node=doc.querySelector(optionValue)))throw new Error("`"+optionName+"` refers to no known node");if("function"==typeof optionValue&&!(node=optionValue()))throw new Error("`"+optionName+"` did not return a node");return node}function getInitialFocusNode(){var node;if(!(node=null!==getNodeForOption("initialFocus")?getNodeForOption("initialFocus"):container.contains(doc.activeElement)?doc.activeElement:state.firstTabbableNode||getNodeForOption("fallbackFocus")))throw new Error("You can't have a focus-trap without at least one focusable element");return node}function checkPointerDown(e){container.contains(e.target)||(config.clickOutsideDeactivates?deactivate({returnFocus:!tabbable.isFocusable(e.target)}):e.preventDefault())}function checkFocusIn(e){container.contains(e.target)||e.target instanceof Document||(e.stopImmediatePropagation(),tryFocus(state.mostRecentlyFocusedNode||getInitialFocusNode()))}function checkKey(e){if(!1!==config.escapeDeactivates&&function(e){return"Escape"===e.key||"Esc"===e.key||27===e.keyCode}(e))return e.preventDefault(),void deactivate();(function(e){return"Tab"===e.key||9===e.keyCode})(e)&&function(e){if(updateTabbableNodes(),e.shiftKey&&e.target===state.firstTabbableNode)return e.preventDefault(),void tryFocus(state.lastTabbableNode);e.shiftKey||e.target!==state.lastTabbableNode||(e.preventDefault(),tryFocus(state.firstTabbableNode))}(e)}function checkClick(e){config.clickOutsideDeactivates||container.contains(e.target)||(e.preventDefault(),e.stopImmediatePropagation())}function updateTabbableNodes(){var tabbableNodes=tabbable(container);state.firstTabbableNode=tabbableNodes[0]||getInitialFocusNode(),state.lastTabbableNode=tabbableNodes[tabbableNodes.length-1]||getInitialFocusNode()}function tryFocus(node){node!==doc.activeElement&&(node&&node.focus?(node.focus(),state.mostRecentlyFocusedNode=node,function(node){return node.tagName&&"input"===node.tagName.toLowerCase()&&"function"==typeof node.select}(node)&&node.select()):tryFocus(getInitialFocusNode()))}}},function(module,exports){var candidateSelectors=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'],candidateSelector=candidateSelectors.join(","),matches="undefined"==typeof Element?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;function tabbable(el,options){options=options||{};var i,candidate,candidateTabindex,regularTabbables=[],orderedTabbables=[],untouchabilityChecker=new UntouchabilityChecker(el.ownerDocument||el),candidates=el.querySelectorAll(candidateSelector);for(options.includeContainer&&matches.call(el,candidateSelector)&&(candidates=Array.prototype.slice.apply(candidates)).unshift(el),i=0;iwindow.innerHeight?doc.style.width="calc(100% - "+function(){if(void 0!==scrollbarSize)return scrollbarSize;var doc=document.documentElement,dummyScroller=document.createElement("div");return dummyScroller.setAttribute("style","width:99px;height:99px;position:absolute;top:-9999px;overflow:scroll;"),doc.appendChild(dummyScroller),scrollbarSize=dummyScroller.offsetWidth-dummyScroller.clientWidth,doc.removeChild(dummyScroller),scrollbarSize}()+"px)":doc.style.width="100%",doc.style.position="fixed",doc.style.top=-scrollTop+"px",doc.style.overflow="hidden",isOn=!0}}function off(){if("undefined"!=typeof document&&isOn){var doc=document.documentElement;doc.style.width="",doc.style.position="",doc.style.top="",doc.style.overflow="",window.scroll(0,scrollTop),isOn=!1}}var noScroll={on:on,off:off,toggle:function(){isOn?off():on()}};void 0!==module.exports?module.exports=noScroll:root.noScroll=noScroll}(this)},,,,,,,function(module,exports,__webpack_require__){"use strict";module.exports=(str=>encodeURIComponent(str).replace(/[!'()*]/g,x=>`%${x.charCodeAt(0).toString(16).toUpperCase()}`))},function(module,exports,__webpack_require__){"use strict";var singleMatcher=new RegExp("%[a-f0-9]{2}","gi"),multiMatcher=new RegExp("(%[a-f0-9]{2})+","gi");function decodeComponents(components,split){try{return decodeURIComponent(components.join(""))}catch(err){}if(1===components.length)return components;split=split||1;var left=components.slice(0,split),right=components.slice(split);return Array.prototype.concat.call([],decodeComponents(left),decodeComponents(right))}function decode(input){try{return decodeURIComponent(input)}catch(err){for(var tokens=input.match(singleMatcher),i=1;i\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/*!\n * https://github.com/es-shims/es5-shim\n * @license es5-shim Copyright 2009-2015 by contributors, MIT License\n * see https://github.com/es-shims/es5-shim/blob/master/LICENSE\n */\n\n// vim: ts=4 sts=4 sw=4 expandtab\n\n// Add semicolon to prevent IIFE from being passed as argument to concatenated code.\n;\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js\n(function (root, factory) {\n 'use strict';\n\n /* global define, exports, module */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like enviroments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n /**\n * Brings an environment as close to ECMAScript 5 compliance\n * as is possible with the facilities of erstwhile engines.\n *\n * Annotated ES5: http://es5.github.com/ (specific links below)\n * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf\n * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/\n */\n\n // Shortcut to an often accessed properties, in order to avoid multiple\n // dereference that costs universally. This also holds a reference to known-good\n // functions.\n var $Array = Array;\n var ArrayPrototype = $Array.prototype;\n var $Object = Object;\n var ObjectPrototype = $Object.prototype;\n var $Function = Function;\n var FunctionPrototype = $Function.prototype;\n var $String = String;\n var StringPrototype = $String.prototype;\n var $Number = Number;\n var NumberPrototype = $Number.prototype;\n var array_slice = ArrayPrototype.slice;\n var array_splice = ArrayPrototype.splice;\n var array_push = ArrayPrototype.push;\n var array_unshift = ArrayPrototype.unshift;\n var array_concat = ArrayPrototype.concat;\n var array_join = ArrayPrototype.join;\n var call = FunctionPrototype.call;\n var apply = FunctionPrototype.apply;\n var max = Math.max;\n var min = Math.min;\n\n // Having a toString local variable name breaks in Opera so use to_string.\n var to_string = ObjectPrototype.toString;\n\n /* global Symbol */\n /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */\n var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\\/\\/.*\\n/g, ''); var multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, ''); var spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { return false; /* not a function */ } }, tryFunctionObject = function tryFunctionObject(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]', isCallable = function isCallable(value) { if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; };\n\n var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; };\n var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; };\n /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */\n\n /* inlined from http://npmjs.com/define-properties */\n var supportsDescriptors = $Object.defineProperty && (function () {\n try {\n var obj = {};\n $Object.defineProperty(obj, 'x', { enumerable: false, value: obj });\n for (var _ in obj) { // jscs:ignore disallowUnusedVariables\n return false;\n }\n return obj.x === obj;\n } catch (e) { /* this is ES3 */\n return false;\n }\n }());\n var defineProperties = (function (has) {\n // Define configurable, writable, and non-enumerable props\n // if they don't exist.\n var defineProperty;\n if (supportsDescriptors) {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) {\n return;\n }\n $Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: method\n });\n };\n } else {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) {\n return;\n }\n object[name] = method;\n };\n }\n return function defineProperties(object, map, forceAssign) {\n for (var name in map) {\n if (has.call(map, name)) {\n defineProperty(object, name, map[name], forceAssign);\n }\n }\n };\n }(ObjectPrototype.hasOwnProperty));\n\n //\n // Util\n // ======\n //\n\n /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */\n var isPrimitive = function isPrimitive(input) {\n var type = typeof input;\n return input === null || (type !== 'object' && type !== 'function');\n };\n\n var isActualNaN = $Number.isNaN || function isActualNaN(x) {\n return x !== x;\n };\n\n var ES = {\n // ES5 9.4\n // http://es5.github.com/#x9.4\n // http://jsperf.com/to-integer\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */\n ToInteger: function ToInteger(num) {\n var n = +num;\n if (isActualNaN(n)) {\n n = 0;\n } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n return n;\n },\n\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */\n ToPrimitive: function ToPrimitive(input) {\n var val, valueOf, toStr;\n if (isPrimitive(input)) {\n return input;\n }\n valueOf = input.valueOf;\n if (isCallable(valueOf)) {\n val = valueOf.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n toStr = input.toString;\n if (isCallable(toStr)) {\n val = toStr.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n throw new TypeError();\n },\n\n // ES5 9.9\n // http://es5.github.com/#x9.9\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */\n ToObject: function (o) {\n if (o == null) { // this matches both null and undefined\n throw new TypeError(\"can't convert \" + o + ' to object');\n }\n return $Object(o);\n },\n\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */\n ToUint32: function ToUint32(x) {\n return x >>> 0;\n }\n };\n\n //\n // Function\n // ========\n //\n\n // ES-5 15.3.4.5\n // http://es5.github.com/#x15.3.4.5\n\n var Empty = function Empty() {};\n\n defineProperties(FunctionPrototype, {\n bind: function bind(that) { // .length is 1\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isCallable(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var bound;\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = apply.call(\n target,\n this,\n array_concat.call(args, array_slice.call(arguments))\n );\n if ($Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return apply.call(\n target,\n that,\n array_concat.call(args, array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n array_push.call(boundArgs, '$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n });\n\n // _Please note: Shortcuts are defined after `Function.prototype.bind` as we\n // use it in defining shortcuts.\n var owns = call.bind(ObjectPrototype.hasOwnProperty);\n var toStr = call.bind(ObjectPrototype.toString);\n var arraySlice = call.bind(array_slice);\n var arraySliceApply = apply.bind(array_slice);\n /* globals document */\n if (typeof document === 'object' && document && document.documentElement) {\n try {\n arraySlice(document.documentElement.childNodes);\n } catch (e) {\n var origArraySlice = arraySlice;\n var origArraySliceApply = arraySliceApply;\n arraySlice = function arraySliceIE(arr) {\n var r = [];\n var i = arr.length;\n while (i-- > 0) {\n r[i] = arr[i];\n }\n return origArraySliceApply(r, origArraySlice(arguments, 1));\n };\n arraySliceApply = function arraySliceApplyIE(arr, args) {\n return origArraySliceApply(arraySlice(arr), args);\n };\n }\n }\n var strSlice = call.bind(StringPrototype.slice);\n var strSplit = call.bind(StringPrototype.split);\n var strIndexOf = call.bind(StringPrototype.indexOf);\n var pushCall = call.bind(array_push);\n var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable);\n var arraySort = call.bind(ArrayPrototype.sort);\n\n //\n // Array\n // =====\n //\n\n var isArray = $Array.isArray || function isArray(obj) {\n return toStr(obj) === '[object Array]';\n };\n\n // ES5 15.4.4.12\n // http://es5.github.com/#x15.4.4.13\n // Return len+argCount.\n // [bugfix, ielt8]\n // IE < 8 bug: [].unshift(0) === undefined but should be \"1\"\n var hasUnshiftReturnValueBug = [].unshift(0) !== 1;\n defineProperties(ArrayPrototype, {\n unshift: function () {\n array_unshift.apply(this, arguments);\n return this.length;\n }\n }, hasUnshiftReturnValueBug);\n\n // ES5 15.4.3.2\n // http://es5.github.com/#x15.4.3.2\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\n defineProperties($Array, { isArray: isArray });\n\n // The IsCallable() check in the Array functions\n // has been replaced with a strict check on the\n // internal class of the object to trap cases where\n // the provided function was actually a regular\n // expression literal, which in V8 and\n // JavaScriptCore is a typeof \"function\". Only in\n // V8 are regular expression literals permitted as\n // reduce parameters, so it is desirable in the\n // general case for the shim to match the more\n // strict and common behavior of rejecting regular\n // expressions.\n\n // ES5 15.4.4.18\n // http://es5.github.com/#x15.4.4.18\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach\n\n // Check failure of by-index access of string characters (IE < 9)\n // and failure of `0 in boxedString` (Rhino)\n var boxedString = $Object('a');\n var splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\n var properlyBoxesContext = function properlyBoxed(method) {\n // Check node 0.6.21 bug where third parameter is not boxed\n var properlyBoxesNonStrict = true;\n var properlyBoxesStrict = true;\n var threwException = false;\n if (method) {\n try {\n method.call('foo', function (_, __, context) {\n if (typeof context !== 'object') {\n properlyBoxesNonStrict = false;\n }\n });\n\n method.call([1], function () {\n 'use strict';\n\n properlyBoxesStrict = typeof this === 'string';\n }, 'x');\n } catch (e) {\n threwException = true;\n }\n }\n return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict;\n };\n\n defineProperties(ArrayPrototype, {\n forEach: function forEach(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var i = -1;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.forEach callback must be a function');\n }\n\n while (++i < length) {\n if (i in self) {\n // Invoke the callback function with call, passing arguments:\n // context, property value, property key, thisArg object\n if (typeof T === 'undefined') {\n callbackfn(self[i], i, object);\n } else {\n callbackfn.call(T, self[i], i, object);\n }\n }\n }\n }\n }, !properlyBoxesContext(ArrayPrototype.forEach));\n\n // ES5 15.4.4.19\n // http://es5.github.com/#x15.4.4.19\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map\n defineProperties(ArrayPrototype, {\n map: function map(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var result = $Array(length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.map callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self) {\n if (typeof T === 'undefined') {\n result[i] = callbackfn(self[i], i, object);\n } else {\n result[i] = callbackfn.call(T, self[i], i, object);\n }\n }\n }\n return result;\n }\n }, !properlyBoxesContext(ArrayPrototype.map));\n\n // ES5 15.4.4.20\n // http://es5.github.com/#x15.4.4.20\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter\n defineProperties(ArrayPrototype, {\n filter: function filter(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var result = [];\n var value;\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.filter callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self) {\n value = self[i];\n if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) {\n pushCall(result, value);\n }\n }\n }\n return result;\n }\n }, !properlyBoxesContext(ArrayPrototype.filter));\n\n // ES5 15.4.4.16\n // http://es5.github.com/#x15.4.4.16\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every\n defineProperties(ArrayPrototype, {\n every: function every(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.every callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {\n return false;\n }\n }\n return true;\n }\n }, !properlyBoxesContext(ArrayPrototype.every));\n\n // ES5 15.4.4.17\n // http://es5.github.com/#x15.4.4.17\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some\n defineProperties(ArrayPrototype, {\n some: function some(callbackfn/*, thisArg */) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.some callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {\n return true;\n }\n }\n return false;\n }\n }, !properlyBoxesContext(ArrayPrototype.some));\n\n // ES5 15.4.4.21\n // http://es5.github.com/#x15.4.4.21\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce\n var reduceCoercesToObject = false;\n if (ArrayPrototype.reduce) {\n reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) {\n return list;\n }) === 'object';\n }\n defineProperties(ArrayPrototype, {\n reduce: function reduce(callbackfn/*, initialValue*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.reduce callback must be a function');\n }\n\n // no value to return if no initial value and an empty array\n if (length === 0 && arguments.length === 1) {\n throw new TypeError('reduce of empty array with no initial value');\n }\n\n var i = 0;\n var result;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i++];\n break;\n }\n\n // if array contains no values, no initial value to return\n if (++i >= length) {\n throw new TypeError('reduce of empty array with no initial value');\n }\n } while (true);\n }\n\n for (; i < length; i++) {\n if (i in self) {\n result = callbackfn(result, self[i], i, object);\n }\n }\n\n return result;\n }\n }, !reduceCoercesToObject);\n\n // ES5 15.4.4.22\n // http://es5.github.com/#x15.4.4.22\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight\n var reduceRightCoercesToObject = false;\n if (ArrayPrototype.reduceRight) {\n reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) {\n return list;\n }) === 'object';\n }\n defineProperties(ArrayPrototype, {\n reduceRight: function reduceRight(callbackfn/*, initial*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.reduceRight callback must be a function');\n }\n\n // no value to return if no initial value, empty array\n if (length === 0 && arguments.length === 1) {\n throw new TypeError('reduceRight of empty array with no initial value');\n }\n\n var result;\n var i = length - 1;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i--];\n break;\n }\n\n // if array contains no values, no initial value to return\n if (--i < 0) {\n throw new TypeError('reduceRight of empty array with no initial value');\n }\n } while (true);\n }\n\n if (i < 0) {\n return result;\n }\n\n do {\n if (i in self) {\n result = callbackfn(result, self[i], i, object);\n }\n } while (i--);\n\n return result;\n }\n }, !reduceRightCoercesToObject);\n\n // ES5 15.4.4.14\n // http://es5.github.com/#x15.4.4.14\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf\n var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1;\n defineProperties(ArrayPrototype, {\n indexOf: function indexOf(searchElement/*, fromIndex */) {\n var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);\n var length = ES.ToUint32(self.length);\n\n if (length === 0) {\n return -1;\n }\n\n var i = 0;\n if (arguments.length > 1) {\n i = ES.ToInteger(arguments[1]);\n }\n\n // handle negative indices\n i = i >= 0 ? i : max(0, length + i);\n for (; i < length; i++) {\n if (i in self && self[i] === searchElement) {\n return i;\n }\n }\n return -1;\n }\n }, hasFirefox2IndexOfBug);\n\n // ES5 15.4.4.15\n // http://es5.github.com/#x15.4.4.15\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf\n var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1;\n defineProperties(ArrayPrototype, {\n lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) {\n var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);\n var length = ES.ToUint32(self.length);\n\n if (length === 0) {\n return -1;\n }\n var i = length - 1;\n if (arguments.length > 1) {\n i = min(i, ES.ToInteger(arguments[1]));\n }\n // handle negative indices\n i = i >= 0 ? i : length - Math.abs(i);\n for (; i >= 0; i--) {\n if (i in self && searchElement === self[i]) {\n return i;\n }\n }\n return -1;\n }\n }, hasFirefox2LastIndexOfBug);\n\n // ES5 15.4.4.12\n // http://es5.github.com/#x15.4.4.12\n var spliceNoopReturnsEmptyArray = (function () {\n var a = [1, 2];\n var result = a.splice();\n return a.length === 2 && isArray(result) && result.length === 0;\n }());\n defineProperties(ArrayPrototype, {\n // Safari 5.0 bug where .splice() returns undefined\n splice: function splice(start, deleteCount) {\n if (arguments.length === 0) {\n return [];\n } else {\n return array_splice.apply(this, arguments);\n }\n }\n }, !spliceNoopReturnsEmptyArray);\n\n var spliceWorksWithEmptyObject = (function () {\n var obj = {};\n ArrayPrototype.splice.call(obj, 0, 0, 1);\n return obj.length === 1;\n }());\n defineProperties(ArrayPrototype, {\n splice: function splice(start, deleteCount) {\n if (arguments.length === 0) {\n return [];\n }\n var args = arguments;\n this.length = max(ES.ToInteger(this.length), 0);\n if (arguments.length > 0 && typeof deleteCount !== 'number') {\n args = arraySlice(arguments);\n if (args.length < 2) {\n pushCall(args, this.length - start);\n } else {\n args[1] = ES.ToInteger(deleteCount);\n }\n }\n return array_splice.apply(this, args);\n }\n }, !spliceWorksWithEmptyObject);\n var spliceWorksWithLargeSparseArrays = (function () {\n // Per https://github.com/es-shims/es5-shim/issues/295\n // Safari 7/8 breaks with sparse arrays of size 1e5 or greater\n var arr = new $Array(1e5);\n // note: the index MUST be 8 or larger or the test will false pass\n arr[8] = 'x';\n arr.splice(1, 1);\n // note: this test must be defined *after* the indexOf shim\n // per https://github.com/es-shims/es5-shim/issues/313\n return arr.indexOf('x') === 7;\n }());\n var spliceWorksWithSmallSparseArrays = (function () {\n // Per https://github.com/es-shims/es5-shim/issues/295\n // Opera 12.15 breaks on this, no idea why.\n var n = 256;\n var arr = [];\n arr[n] = 'a';\n arr.splice(n + 1, 0, 'b');\n return arr[n] === 'a';\n }());\n defineProperties(ArrayPrototype, {\n splice: function splice(start, deleteCount) {\n var O = ES.ToObject(this);\n var A = [];\n var len = ES.ToUint32(O.length);\n var relativeStart = ES.ToInteger(start);\n var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len);\n var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart);\n\n var k = 0;\n var from;\n while (k < actualDeleteCount) {\n from = $String(actualStart + k);\n if (owns(O, from)) {\n A[k] = O[from];\n }\n k += 1;\n }\n\n var items = arraySlice(arguments, 2);\n var itemCount = items.length;\n var to;\n if (itemCount < actualDeleteCount) {\n k = actualStart;\n var maxK = len - actualDeleteCount;\n while (k < maxK) {\n from = $String(k + actualDeleteCount);\n to = $String(k + itemCount);\n if (owns(O, from)) {\n O[to] = O[from];\n } else {\n delete O[to];\n }\n k += 1;\n }\n k = len;\n var minK = len - actualDeleteCount + itemCount;\n while (k > minK) {\n delete O[k - 1];\n k -= 1;\n }\n } else if (itemCount > actualDeleteCount) {\n k = len - actualDeleteCount;\n while (k > actualStart) {\n from = $String(k + actualDeleteCount - 1);\n to = $String(k + itemCount - 1);\n if (owns(O, from)) {\n O[to] = O[from];\n } else {\n delete O[to];\n }\n k -= 1;\n }\n }\n k = actualStart;\n for (var i = 0; i < items.length; ++i) {\n O[k] = items[i];\n k += 1;\n }\n O.length = len - actualDeleteCount + itemCount;\n\n return A;\n }\n }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays);\n\n var originalJoin = ArrayPrototype.join;\n var hasStringJoinBug;\n try {\n hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3';\n } catch (e) {\n hasStringJoinBug = true;\n }\n if (hasStringJoinBug) {\n defineProperties(ArrayPrototype, {\n join: function join(separator) {\n var sep = typeof separator === 'undefined' ? ',' : separator;\n return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep);\n }\n }, hasStringJoinBug);\n }\n\n var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2';\n if (hasJoinUndefinedBug) {\n defineProperties(ArrayPrototype, {\n join: function join(separator) {\n var sep = typeof separator === 'undefined' ? ',' : separator;\n return originalJoin.call(this, sep);\n }\n }, hasJoinUndefinedBug);\n }\n\n var pushShim = function push(item) {\n var O = ES.ToObject(this);\n var n = ES.ToUint32(O.length);\n var i = 0;\n while (i < arguments.length) {\n O[n + i] = arguments[i];\n i += 1;\n }\n O.length = n + i;\n return n + i;\n };\n\n var pushIsNotGeneric = (function () {\n var obj = {};\n var result = Array.prototype.push.call(obj, undefined);\n return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0);\n }());\n defineProperties(ArrayPrototype, {\n push: function push(item) {\n if (isArray(this)) {\n return array_push.apply(this, arguments);\n }\n return pushShim.apply(this, arguments);\n }\n }, pushIsNotGeneric);\n\n // This fixes a very weird bug in Opera 10.6 when pushing `undefined\n var pushUndefinedIsWeird = (function () {\n var arr = [];\n var result = arr.push(undefined);\n return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0);\n }());\n defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird);\n\n // ES5 15.2.3.14\n // http://es5.github.io/#x15.4.4.10\n // Fix boxed string bug\n defineProperties(ArrayPrototype, {\n slice: function (start, end) {\n var arr = isString(this) ? strSplit(this, '') : this;\n return arraySliceApply(arr, arguments);\n }\n }, splitString);\n\n var sortIgnoresNonFunctions = (function () {\n try {\n [1, 2].sort(null);\n } catch (e) {\n try {\n [1, 2].sort({});\n } catch (e2) {\n return false;\n }\n }\n return true;\n }());\n var sortThrowsOnRegex = (function () {\n // this is a problem in Firefox 4, in which `typeof /a/ === 'function'`\n try {\n [1, 2].sort(/a/);\n return false;\n } catch (e) {}\n return true;\n }());\n var sortIgnoresUndefined = (function () {\n // applies in IE 8, for one.\n try {\n [1, 2].sort(undefined);\n return true;\n } catch (e) {}\n return false;\n }());\n defineProperties(ArrayPrototype, {\n sort: function sort(compareFn) {\n if (typeof compareFn === 'undefined') {\n return arraySort(this);\n }\n if (!isCallable(compareFn)) {\n throw new TypeError('Array.prototype.sort callback must be a function');\n }\n return arraySort(this, compareFn);\n }\n }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex);\n\n //\n // Object\n // ======\n //\n\n // ES5 15.2.3.14\n // http://es5.github.com/#x15.2.3.14\n\n // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation\n var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); // jscs:ignore disallowQuotedKeysInObjects\n var hasProtoEnumBug = isEnum(function () {}, 'prototype');\n var hasStringEnumBug = !owns('x', '0');\n var equalsConstructorPrototype = function (o) {\n var ctor = o.constructor;\n return ctor && ctor.prototype === o;\n };\n var excludedKeys = {\n $applicationCache: true,\n $console: true,\n $external: true,\n $frame: true,\n $frameElement: true,\n $frames: true,\n $innerHeight: true,\n $innerWidth: true,\n $onmozfullscreenchange: true,\n $onmozfullscreenerror: true,\n $outerHeight: true,\n $outerWidth: true,\n $pageXOffset: true,\n $pageYOffset: true,\n $parent: true,\n $scrollLeft: true,\n $scrollTop: true,\n $scrollX: true,\n $scrollY: true,\n $self: true,\n $webkitIndexedDB: true,\n $webkitStorageInfo: true,\n $window: true,\n\n $width: true,\n $height: true,\n $top: true,\n $localStorage: true\n };\n var hasAutomationEqualityBug = (function () {\n /* globals window */\n if (typeof window === 'undefined') {\n return false;\n }\n for (var k in window) {\n try {\n if (!excludedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') {\n equalsConstructorPrototype(window[k]);\n }\n } catch (e) {\n return true;\n }\n }\n return false;\n }());\n var equalsConstructorPrototypeIfNotBuggy = function (object) {\n if (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n return equalsConstructorPrototype(object);\n }\n try {\n return equalsConstructorPrototype(object);\n } catch (e) {\n return false;\n }\n };\n var dontEnums = [\n 'toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'\n ];\n var dontEnumsLength = dontEnums.length;\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return toStr(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null\n && typeof value === 'object'\n && typeof value.length === 'number'\n && value.length >= 0\n && !isArray(value)\n && isCallable(value.callee);\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n defineProperties($Object, {\n keys: function keys(object) {\n var isFn = isCallable(object);\n var isArgs = isArguments(object);\n var isObject = object !== null && typeof object === 'object';\n var isStr = isObject && isString(object);\n\n if (!isObject && !isFn && !isArgs) {\n throw new TypeError('Object.keys called on a non-object');\n }\n\n var theKeys = [];\n var skipProto = hasProtoEnumBug && isFn;\n if ((isStr && hasStringEnumBug) || isArgs) {\n for (var i = 0; i < object.length; ++i) {\n pushCall(theKeys, $String(i));\n }\n }\n\n if (!isArgs) {\n for (var name in object) {\n if (!(skipProto && name === 'prototype') && owns(object, name)) {\n pushCall(theKeys, $String(name));\n }\n }\n }\n\n if (hasDontEnumBug) {\n var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n for (var j = 0; j < dontEnumsLength; j++) {\n var dontEnum = dontEnums[j];\n if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) {\n pushCall(theKeys, dontEnum);\n }\n }\n }\n return theKeys;\n }\n });\n\n var keysWorksWithArguments = $Object.keys && (function () {\n // Safari 5.0 bug\n return $Object.keys(arguments).length === 2;\n }(1, 2));\n var keysHasArgumentsLengthBug = $Object.keys && (function () {\n var argKeys = $Object.keys(arguments);\n return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1;\n }(1));\n var originalKeys = $Object.keys;\n defineProperties($Object, {\n keys: function keys(object) {\n if (isArguments(object)) {\n return originalKeys(arraySlice(object));\n } else {\n return originalKeys(object);\n }\n }\n }, !keysWorksWithArguments || keysHasArgumentsLengthBug);\n\n //\n // Date\n // ====\n //\n\n var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0;\n var aNegativeTestDate = new Date(-1509842289600292);\n var aPositiveTestDate = new Date(1449662400000);\n var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT';\n var hasToDateStringFormatBug;\n var hasToStringFormatBug;\n var timeZoneOffset = aNegativeTestDate.getTimezoneOffset();\n if (timeZoneOffset < -720) {\n hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875';\n hasToStringFormatBug = !(/^Thu Dec 10 2015 \\d\\d:\\d\\d:\\d\\d GMT[-+]\\d\\d\\d\\d(?: |$)/).test(String(aPositiveTestDate));\n } else {\n hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875';\n hasToStringFormatBug = !(/^Wed Dec 09 2015 \\d\\d:\\d\\d:\\d\\d GMT[-+]\\d\\d\\d\\d(?: |$)/).test(String(aPositiveTestDate));\n }\n\n var originalGetFullYear = call.bind(Date.prototype.getFullYear);\n var originalGetMonth = call.bind(Date.prototype.getMonth);\n var originalGetDate = call.bind(Date.prototype.getDate);\n var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear);\n var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth);\n var originalGetUTCDate = call.bind(Date.prototype.getUTCDate);\n var originalGetUTCDay = call.bind(Date.prototype.getUTCDay);\n var originalGetUTCHours = call.bind(Date.prototype.getUTCHours);\n var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes);\n var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds);\n var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds);\n var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n var daysInMonth = function daysInMonth(month, year) {\n return originalGetDate(new Date(year, month, 0));\n };\n\n defineProperties(Date.prototype, {\n getFullYear: function getFullYear() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n if (year < 0 && originalGetMonth(this) > 11) {\n return year + 1;\n }\n return year;\n },\n getMonth: function getMonth() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n var month = originalGetMonth(this);\n if (year < 0 && month > 11) {\n return 0;\n }\n return month;\n },\n getDate: function getDate() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n var month = originalGetMonth(this);\n var date = originalGetDate(this);\n if (year < 0 && month > 11) {\n if (month === 12) {\n return date;\n }\n var days = daysInMonth(0, year + 1);\n return (days - date) + 1;\n }\n return date;\n },\n getUTCFullYear: function getUTCFullYear() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n if (year < 0 && originalGetUTCMonth(this) > 11) {\n return year + 1;\n }\n return year;\n },\n getUTCMonth: function getUTCMonth() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n var month = originalGetUTCMonth(this);\n if (year < 0 && month > 11) {\n return 0;\n }\n return month;\n },\n getUTCDate: function getUTCDate() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n var month = originalGetUTCMonth(this);\n var date = originalGetUTCDate(this);\n if (year < 0 && month > 11) {\n if (month === 12) {\n return date;\n }\n var days = daysInMonth(0, year + 1);\n return (days - date) + 1;\n }\n return date;\n }\n }, hasNegativeMonthYearBug);\n\n defineProperties(Date.prototype, {\n toUTCString: function toUTCString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = originalGetUTCDay(this);\n var date = originalGetUTCDate(this);\n var month = originalGetUTCMonth(this);\n var year = originalGetUTCFullYear(this);\n var hour = originalGetUTCHours(this);\n var minute = originalGetUTCMinutes(this);\n var second = originalGetUTCSeconds(this);\n return dayName[day] + ', '\n + (date < 10 ? '0' + date : date) + ' '\n + monthName[month] + ' '\n + year + ' '\n + (hour < 10 ? '0' + hour : hour) + ':'\n + (minute < 10 ? '0' + minute : minute) + ':'\n + (second < 10 ? '0' + second : second) + ' GMT';\n }\n }, hasNegativeMonthYearBug || hasToUTCStringFormatBug);\n\n // Opera 12 has `,`\n defineProperties(Date.prototype, {\n toDateString: function toDateString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = this.getDay();\n var date = this.getDate();\n var month = this.getMonth();\n var year = this.getFullYear();\n return dayName[day] + ' '\n + monthName[month] + ' '\n + (date < 10 ? '0' + date : date) + ' '\n + year;\n }\n }, hasNegativeMonthYearBug || hasToDateStringFormatBug);\n\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n if (hasNegativeMonthYearBug || hasToStringFormatBug) {\n Date.prototype.toString = function toString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = this.getDay();\n var date = this.getDate();\n var month = this.getMonth();\n var year = this.getFullYear();\n var hour = this.getHours();\n var minute = this.getMinutes();\n var second = this.getSeconds();\n var timezoneOffset = this.getTimezoneOffset();\n var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60);\n var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60);\n return dayName[day] + ' '\n + monthName[month] + ' '\n + (date < 10 ? '0' + date : date) + ' '\n + year + ' '\n + (hour < 10 ? '0' + hour : hour) + ':'\n + (minute < 10 ? '0' + minute : minute) + ':'\n + (second < 10 ? '0' + second : second) + ' GMT'\n + (timezoneOffset > 0 ? '-' : '+')\n + (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset)\n + (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset);\n };\n if (supportsDescriptors) {\n $Object.defineProperty(Date.prototype, 'toString', {\n configurable: true,\n enumerable: false,\n writable: true\n });\n }\n }\n\n // ES5 15.9.5.43\n // http://es5.github.com/#x15.9.5.43\n // This function returns a String value represent the instance in time\n // represented by this Date object. The format of the String is the Date Time\n // string format defined in 15.9.1.15. All fields are present in the String.\n // The time zone is always UTC, denoted by the suffix Z. If the time value of\n // this object is not a finite Number a RangeError exception is thrown.\n var negativeDate = -62198755200000;\n var negativeYearString = '-000001';\n var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; // eslint-disable-line max-len\n var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z';\n\n var getTime = call.bind(Date.prototype.getTime);\n\n defineProperties(Date.prototype, {\n toISOString: function toISOString() {\n if (!isFinite(this) || !isFinite(getTime(this))) {\n // Adope Photoshop requires the second check.\n throw new RangeError('Date.prototype.toISOString called on non-finite value.');\n }\n\n var year = originalGetUTCFullYear(this);\n\n var month = originalGetUTCMonth(this);\n // see https://github.com/es-shims/es5-shim/issues/111\n year += Math.floor(month / 12);\n month = ((month % 12) + 12) % 12;\n\n // the date time string format is specified in 15.9.1.15.\n var result = [\n month + 1,\n originalGetUTCDate(this),\n originalGetUTCHours(this),\n originalGetUTCMinutes(this),\n originalGetUTCSeconds(this)\n ];\n year = (\n (year < 0 ? '-' : (year > 9999 ? '+' : ''))\n + strSlice('00000' + Math.abs(year), (0 <= year && year <= 9999) ? -4 : -6)\n );\n\n for (var i = 0; i < result.length; ++i) {\n // pad months, days, hours, minutes, and seconds to have two digits.\n result[i] = strSlice('00' + result[i], -2);\n }\n // pad milliseconds to have three digits.\n return (\n year + '-' + arraySlice(result, 0, 2).join('-')\n + 'T' + arraySlice(result, 2).join(':') + '.'\n + strSlice('000' + originalGetUTCMilliseconds(this), -3) + 'Z'\n );\n }\n }, hasNegativeDateBug || hasSafari51DateBug);\n\n // ES5 15.9.5.44\n // http://es5.github.com/#x15.9.5.44\n // This function provides a String representation of a Date object for use by\n // JSON.stringify (15.12.3).\n var dateToJSONIsSupported = (function () {\n try {\n return Date.prototype.toJSON\n && new Date(NaN).toJSON() === null\n && new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1\n && Date.prototype.toJSON.call({ // generic\n toISOString: function () { return true; }\n });\n } catch (e) {\n return false;\n }\n }());\n if (!dateToJSONIsSupported) {\n Date.prototype.toJSON = function toJSON(key) {\n // When the toJSON method is called with argument key, the following\n // steps are taken:\n\n // 1. Let O be the result of calling ToObject, giving it the this\n // value as its argument.\n // 2. Let tv be ES.ToPrimitive(O, hint Number).\n var O = $Object(this);\n var tv = ES.ToPrimitive(O);\n // 3. If tv is a Number and is not finite, return null.\n if (typeof tv === 'number' && !isFinite(tv)) {\n return null;\n }\n // 4. Let toISO be the result of calling the [[Get]] internal method of\n // O with argument \"toISOString\".\n var toISO = O.toISOString;\n // 5. If IsCallable(toISO) is false, throw a TypeError exception.\n if (!isCallable(toISO)) {\n throw new TypeError('toISOString property is not callable');\n }\n // 6. Return the result of calling the [[Call]] internal method of\n // toISO with O as the this value and an empty argument list.\n return toISO.call(O);\n\n // NOTE 1 The argument is ignored.\n\n // NOTE 2 The toJSON function is intentionally generic; it does not\n // require that its this value be a Date object. Therefore, it can be\n // transferred to other kinds of objects for use as a method. However,\n // it does require that any such object have a toISOString method. An\n // object is free to use the argument key to filter its\n // stringification.\n };\n }\n\n // ES5 15.9.4.2\n // http://es5.github.com/#x15.9.4.2\n // based on work shared by Daniel Friesen (dantman)\n // http://gist.github.com/303249\n var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15;\n var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z'));\n var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z'));\n if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) {\n // XXX global assignment won't work in embeddings that use\n // an alternate object for the context.\n /* global Date: true */\n var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1;\n var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0, maxSafeUnsigned32Bit + 1).getTime());\n // eslint-disable-next-line no-implicit-globals, no-global-assign\n Date = (function (NativeDate) {\n // Date.length === 7\n var DateShim = function Date(Y, M, D, h, m, s, ms) {\n var length = arguments.length;\n var date;\n if (this instanceof NativeDate) {\n var seconds = s;\n var millis = ms;\n if (hasSafariSignedIntBug && length >= 7 && ms > maxSafeUnsigned32Bit) {\n // work around a Safari 8/9 bug where it treats the seconds as signed\n var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit;\n var sToShift = Math.floor(msToShift / 1e3);\n seconds += sToShift;\n millis -= sToShift * 1e3;\n }\n date = length === 1 && $String(Y) === Y // isString(Y)\n // We explicitly pass it through parse:\n ? new NativeDate(DateShim.parse(Y))\n // We have to manually make calls depending on argument\n // length here\n : length >= 7 ? new NativeDate(Y, M, D, h, m, seconds, millis)\n : length >= 6 ? new NativeDate(Y, M, D, h, m, seconds)\n : length >= 5 ? new NativeDate(Y, M, D, h, m)\n : length >= 4 ? new NativeDate(Y, M, D, h)\n : length >= 3 ? new NativeDate(Y, M, D)\n : length >= 2 ? new NativeDate(Y, M)\n : length >= 1 ? new NativeDate(Y instanceof NativeDate ? +Y : Y)\n : new NativeDate();\n } else {\n date = NativeDate.apply(this, arguments);\n }\n if (!isPrimitive(date)) {\n // Prevent mixups with unfixed Date object\n defineProperties(date, { constructor: DateShim }, true);\n }\n return date;\n };\n\n // 15.9.1.15 Date Time String Format.\n var isoDateExpression = new RegExp('^'\n + '(\\\\d{4}|[+-]\\\\d{6})' // four-digit year capture or sign + 6-digit extended year\n + '(?:-(\\\\d{2})' // optional month capture\n + '(?:-(\\\\d{2})' // optional day capture\n + '(?:' // capture hours:minutes:seconds.milliseconds\n + 'T(\\\\d{2})' // hours capture\n + ':(\\\\d{2})' // minutes capture\n + '(?:' // optional :seconds.milliseconds\n + ':(\\\\d{2})' // seconds capture\n + '(?:(\\\\.\\\\d{1,}))?' // milliseconds capture\n + ')?'\n + '(' // capture UTC offset component\n + 'Z|' // UTC capture\n + '(?:' // offset specifier +/-hours:minutes\n + '([-+])' // sign capture\n + '(\\\\d{2})' // hours offset capture\n + ':(\\\\d{2})' // minutes offset capture\n + ')'\n + ')?)?)?)?'\n + '$');\n\n var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];\n\n var dayFromMonth = function dayFromMonth(year, month) {\n var t = month > 1 ? 1 : 0;\n return (\n months[month]\n + Math.floor((year - 1969 + t) / 4)\n - Math.floor((year - 1901 + t) / 100)\n + Math.floor((year - 1601 + t) / 400)\n + (365 * (year - 1970))\n );\n };\n\n var toUTC = function toUTC(t) {\n var s = 0;\n var ms = t;\n if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) {\n // work around a Safari 8/9 bug where it treats the seconds as signed\n var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit;\n var sToShift = Math.floor(msToShift / 1e3);\n s += sToShift;\n ms -= sToShift * 1e3;\n }\n return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms));\n };\n\n // Copy any custom methods a 3rd party library may have added\n for (var key in NativeDate) {\n if (owns(NativeDate, key)) {\n DateShim[key] = NativeDate[key];\n }\n }\n\n // Copy \"native\" methods explicitly; they may be non-enumerable\n defineProperties(DateShim, {\n now: NativeDate.now,\n UTC: NativeDate.UTC\n }, true);\n DateShim.prototype = NativeDate.prototype;\n defineProperties(DateShim.prototype, { constructor: DateShim }, true);\n\n // Upgrade Date.parse to handle simplified ISO 8601 strings\n var parseShim = function parse(string) {\n var match = isoDateExpression.exec(string);\n if (match) {\n // parse months, days, hours, minutes, seconds, and milliseconds\n // provide default values if necessary\n // parse the UTC offset component\n var year = $Number(match[1]),\n month = $Number(match[2] || 1) - 1,\n day = $Number(match[3] || 1) - 1,\n hour = $Number(match[4] || 0),\n minute = $Number(match[5] || 0),\n second = $Number(match[6] || 0),\n millisecond = Math.floor($Number(match[7] || 0) * 1000),\n // When time zone is missed, local offset should be used\n // (ES 5.1 bug)\n // see https://bugs.ecmascript.org/show_bug.cgi?id=112\n isLocalTime = Boolean(match[4] && !match[8]),\n signOffset = match[9] === '-' ? 1 : -1,\n hourOffset = $Number(match[10] || 0),\n minuteOffset = $Number(match[11] || 0),\n result;\n var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second > 0 || millisecond > 0;\n if (\n hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25)\n && minute < 60 && second < 60 && millisecond < 1000\n && month > -1 && month < 12 && hourOffset < 24\n && minuteOffset < 60 // detect invalid offsets\n && day > -1\n && day < (dayFromMonth(year, month + 1) - dayFromMonth(year, month))\n ) {\n result = (\n ((dayFromMonth(year, month) + day) * 24)\n + hour\n + (hourOffset * signOffset)\n ) * 60;\n result = ((\n ((result + minute + (minuteOffset * signOffset)) * 60)\n + second\n ) * 1000) + millisecond;\n if (isLocalTime) {\n result = toUTC(result);\n }\n if (-8.64e15 <= result && result <= 8.64e15) {\n return result;\n }\n }\n return NaN;\n }\n return NativeDate.parse.apply(this, arguments);\n };\n defineProperties(DateShim, { parse: parseShim });\n\n return DateShim;\n }(Date));\n /* global Date: false */\n }\n\n // ES5 15.9.4.4\n // http://es5.github.com/#x15.9.4.4\n if (!Date.now) {\n Date.now = function now() {\n return new Date().getTime();\n };\n }\n\n //\n // Number\n // ======\n //\n\n // ES5.1 15.7.4.5\n // http://es5.github.com/#x15.7.4.5\n var hasToFixedBugs = NumberPrototype.toFixed && (\n (0.00008).toFixed(3) !== '0.000'\n || (0.9).toFixed(0) !== '1'\n || (1.255).toFixed(2) !== '1.25'\n || (1000000000000000128).toFixed(0) !== '1000000000000000128'\n );\n\n var toFixedHelpers = {\n base: 1e7,\n size: 6,\n data: [0, 0, 0, 0, 0, 0],\n multiply: function multiply(n, c) {\n var i = -1;\n var c2 = c;\n while (++i < toFixedHelpers.size) {\n c2 += n * toFixedHelpers.data[i];\n toFixedHelpers.data[i] = c2 % toFixedHelpers.base;\n c2 = Math.floor(c2 / toFixedHelpers.base);\n }\n },\n divide: function divide(n) {\n var i = toFixedHelpers.size;\n var c = 0;\n while (--i >= 0) {\n c += toFixedHelpers.data[i];\n toFixedHelpers.data[i] = Math.floor(c / n);\n c = (c % n) * toFixedHelpers.base;\n }\n },\n numToString: function numToString() {\n var i = toFixedHelpers.size;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) {\n var t = $String(toFixedHelpers.data[i]);\n if (s === '') {\n s = t;\n } else {\n s += strSlice('0000000', 0, 7 - t.length) + t;\n }\n }\n }\n return s;\n },\n pow: function pow(x, n, acc) {\n return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc)));\n },\n log: function log(x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n }\n return n;\n }\n };\n\n var toFixedShim = function toFixed(fractionDigits) {\n var f, x, s, m, e, z, j, k;\n\n // Test for NaN and round fractionDigits down\n f = $Number(fractionDigits);\n f = isActualNaN(f) ? 0 : Math.floor(f);\n\n if (f < 0 || f > 20) {\n throw new RangeError('Number.toFixed called with invalid number of decimals');\n }\n\n x = $Number(this);\n\n if (isActualNaN(x)) {\n return 'NaN';\n }\n\n // If it is too big or small, return the string value of the number\n if (x <= -1e21 || x >= 1e21) {\n return $String(x);\n }\n\n s = '';\n\n if (x < 0) {\n s = '-';\n x = -x;\n }\n\n m = '0';\n\n if (x > 1e-21) {\n // 1e-21 < x < 1e21\n // -70 < log2(x) < 70\n e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69;\n z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1));\n z *= 0x10000000000000; // Math.pow(2, 52);\n e = 52 - e;\n\n // -18 < e < 122\n // x = z / 2 ^ e\n if (e > 0) {\n toFixedHelpers.multiply(0, z);\n j = f;\n\n while (j >= 7) {\n toFixedHelpers.multiply(1e7, 0);\n j -= 7;\n }\n\n toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0);\n j = e - 1;\n\n while (j >= 23) {\n toFixedHelpers.divide(1 << 23);\n j -= 23;\n }\n\n toFixedHelpers.divide(1 << j);\n toFixedHelpers.multiply(1, 1);\n toFixedHelpers.divide(2);\n m = toFixedHelpers.numToString();\n } else {\n toFixedHelpers.multiply(0, z);\n toFixedHelpers.multiply(1 << (-e), 0);\n m = toFixedHelpers.numToString() + strSlice('0.00000000000000000000', 2, 2 + f);\n }\n }\n\n if (f > 0) {\n k = m.length;\n\n if (k <= f) {\n m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m;\n } else {\n m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f);\n }\n } else {\n m = s + m;\n }\n\n return m;\n };\n defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs);\n\n var hasToPrecisionUndefinedBug = (function () {\n try {\n return 1.0.toPrecision(undefined) === '1';\n } catch (e) {\n return true;\n }\n }());\n var originalToPrecision = NumberPrototype.toPrecision;\n defineProperties(NumberPrototype, {\n toPrecision: function toPrecision(precision) {\n return typeof precision === 'undefined' ? originalToPrecision.call(this) : originalToPrecision.call(this, precision);\n }\n }, hasToPrecisionUndefinedBug);\n\n //\n // String\n // ======\n //\n\n // ES5 15.5.4.14\n // http://es5.github.com/#x15.5.4.14\n\n // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]\n // Many browsers do not split properly with regular expressions or they\n // do not perform the split correctly under obscure conditions.\n // See http://blog.stevenlevithan.com/archives/cross-browser-split\n // I've tested in many browsers and this seems to cover the deviant ones:\n // 'ab'.split(/(?:ab)*/) should be [\"\", \"\"], not [\"\"]\n // '.'.split(/(.?)(.?)/) should be [\"\", \".\", \"\", \"\"], not [\"\", \"\"]\n // 'tesst'.split(/(s)*/) should be [\"t\", undefined, \"e\", \"s\", \"t\"], not\n // [undefined, \"t\", undefined, \"e\", ...]\n // ''.split(/.?/) should be [], not [\"\"]\n // '.'.split(/()()/) should be [\".\"], not [\"\", \"\", \".\"]\n\n if (\n 'ab'.split(/(?:ab)*/).length !== 2\n || '.'.split(/(.?)(.?)/).length !== 4\n || 'tesst'.split(/(s)*/)[1] === 't'\n || 'test'.split(/(?:)/, -1).length !== 4\n || ''.split(/.?/).length\n || '.'.split(/()()/).length > 1\n ) {\n (function () {\n var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group\n var maxSafe32BitInt = Math.pow(2, 32) - 1;\n\n StringPrototype.split = function (separator, limit) {\n var string = String(this);\n if (typeof separator === 'undefined' && limit === 0) {\n return [];\n }\n\n // If `separator` is not a regex, use native split\n if (!isRegex(separator)) {\n return strSplit(this, separator, limit);\n }\n\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '')\n + (separator.multiline ? 'm' : '')\n + (separator.unicode ? 'u' : '') // in ES6\n + (separator.sticky ? 'y' : ''), // Firefox 3+ and ES6\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator2, match, lastIndex, lastLength;\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // maxSafe32BitInt\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt : ES.ToUint32(limit);\n match = separatorCopy.exec(string);\n while (match) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n pushCall(output, strSlice(string, lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n /* eslint-disable no-loop-func */\n match[0].replace(separator2, function () {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (typeof arguments[i] === 'undefined') {\n match[i] = void 0;\n }\n }\n });\n /* eslint-enable no-loop-func */\n }\n if (match.length > 1 && match.index < string.length) {\n array_push.apply(output, arraySlice(match, 1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= splitLimit) {\n break;\n }\n }\n if (separatorCopy.lastIndex === match.index) {\n separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n match = separatorCopy.exec(string);\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) {\n pushCall(output, '');\n }\n } else {\n pushCall(output, strSlice(string, lastLastIndex));\n }\n return output.length > splitLimit ? arraySlice(output, 0, splitLimit) : output;\n };\n }());\n\n // [bugfix, chrome]\n // If separator is undefined, then the result array contains just one String,\n // which is the this value (converted to a String). If limit is not undefined,\n // then the output array is truncated so that it contains no more than limit\n // elements.\n // \"0\".split(undefined, 0) -> []\n } else if ('0'.split(void 0, 0).length) {\n StringPrototype.split = function split(separator, limit) {\n if (typeof separator === 'undefined' && limit === 0) {\n return [];\n }\n return strSplit(this, separator, limit);\n };\n }\n\n var str_replace = StringPrototype.replace;\n var replaceReportsGroupsCorrectly = (function () {\n var groups = [];\n 'x'.replace(/x(.)?/g, function (match, group) {\n pushCall(groups, group);\n });\n return groups.length === 1 && typeof groups[0] === 'undefined';\n }());\n\n if (!replaceReportsGroupsCorrectly) {\n StringPrototype.replace = function replace(searchValue, replaceValue) {\n var isFn = isCallable(replaceValue);\n var hasCapturingGroups = isRegex(searchValue) && (/\\)[*?]/).test(searchValue.source);\n if (!isFn || !hasCapturingGroups) {\n return str_replace.call(this, searchValue, replaceValue);\n } else {\n var wrappedReplaceValue = function (match) {\n var length = arguments.length;\n var originalLastIndex = searchValue.lastIndex;\n searchValue.lastIndex = 0;\n var args = searchValue.exec(match) || [];\n searchValue.lastIndex = originalLastIndex;\n pushCall(args, arguments[length - 2], arguments[length - 1]);\n return replaceValue.apply(this, args);\n };\n return str_replace.call(this, searchValue, wrappedReplaceValue);\n }\n };\n }\n\n // ECMA-262, 3rd B.2.3\n // Not an ECMAScript standard, although ECMAScript 3rd Edition has a\n // non-normative section suggesting uniform semantics and it should be\n // normalized across all browsers\n // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE\n var string_substr = StringPrototype.substr;\n var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';\n defineProperties(StringPrototype, {\n substr: function substr(start, length) {\n var normalizedStart = start;\n if (start < 0) {\n normalizedStart = max(this.length + start, 0);\n }\n return string_substr.call(this, normalizedStart, length);\n }\n }, hasNegativeSubstrBug);\n\n // ES5 15.5.4.20\n // whitespace from: http://es5.github.io/#x15.5.4.20\n var ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003'\n + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028'\n + '\\u2029\\uFEFF';\n var zeroWidth = '\\u200b';\n var wsRegexChars = '[' + ws + ']';\n var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*');\n var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$');\n var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim());\n defineProperties(StringPrototype, {\n // http://blog.stevenlevithan.com/archives/faster-trim-javascript\n // http://perfectionkills.com/whitespace-deviations/\n trim: function trim() {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n return $String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, '');\n }\n }, hasTrimWhitespaceBug);\n var trim = call.bind(String.prototype.trim);\n\n var hasLastIndexBug = StringPrototype.lastIndexOf && 'abcあい'.lastIndexOf('あい', 2) !== -1;\n defineProperties(StringPrototype, {\n lastIndexOf: function lastIndexOf(searchString) {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n var S = $String(this);\n var searchStr = $String(searchString);\n var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN;\n var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos);\n var start = min(max(pos, 0), S.length);\n var searchLen = searchStr.length;\n var k = start + searchLen;\n while (k > 0) {\n k = max(0, k - searchLen);\n var index = strIndexOf(strSlice(S, k, start + searchLen), searchStr);\n if (index !== -1) {\n return k + index;\n }\n }\n return -1;\n }\n }, hasLastIndexBug);\n\n var originalLastIndexOf = StringPrototype.lastIndexOf;\n defineProperties(StringPrototype, {\n lastIndexOf: function lastIndexOf(searchString) {\n return originalLastIndexOf.apply(this, arguments);\n }\n }, StringPrototype.lastIndexOf.length !== 1);\n\n // ES-5 15.1.2.2\n // eslint-disable-next-line radix\n if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) {\n /* global parseInt: true */\n parseInt = (function (origParseInt) {\n var hexRegex = /^[-+]?0[xX]/;\n return function parseInt(str, radix) {\n if (typeof str === 'symbol') {\n // handle Symbols in node 8.3/8.4\n // eslint-disable-next-line no-implicit-coercion, no-unused-expressions\n '' + str; // jscs:ignore disallowImplicitTypeConversion\n }\n\n var string = trim(String(str));\n var defaultedRadix = $Number(radix) || (hexRegex.test(string) ? 16 : 10);\n return origParseInt(string, defaultedRadix);\n };\n }(parseInt));\n }\n\n // https://es5.github.io/#x15.1.2.3\n if (1 / parseFloat('-0') !== -Infinity) {\n /* global parseFloat: true */\n parseFloat = (function (origParseFloat) {\n return function parseFloat(string) {\n var inputString = trim(String(string));\n var result = origParseFloat(inputString);\n return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 : result;\n };\n }(parseFloat));\n }\n\n if (String(new RangeError('test')) !== 'RangeError: test') {\n var errorToStringShim = function toString() {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n var name = this.name;\n if (typeof name === 'undefined') {\n name = 'Error';\n } else if (typeof name !== 'string') {\n name = $String(name);\n }\n var msg = this.message;\n if (typeof msg === 'undefined') {\n msg = '';\n } else if (typeof msg !== 'string') {\n msg = $String(msg);\n }\n if (!name) {\n return msg;\n }\n if (!msg) {\n return name;\n }\n return name + ': ' + msg;\n };\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n Error.prototype.toString = errorToStringShim;\n }\n\n if (supportsDescriptors) {\n var ensureNonEnumerable = function (obj, prop) {\n if (isEnum(obj, prop)) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop);\n if (desc.configurable) {\n desc.enumerable = false;\n Object.defineProperty(obj, prop, desc);\n }\n }\n };\n ensureNonEnumerable(Error.prototype, 'message');\n if (Error.prototype.message !== '') {\n Error.prototype.message = '';\n }\n ensureNonEnumerable(Error.prototype, 'name');\n }\n\n if (String(/a/mig) !== '/a/gim') {\n var regexToString = function toString() {\n var str = '/' + this.source + '/';\n if (this.global) {\n str += 'g';\n }\n if (this.ignoreCase) {\n str += 'i';\n }\n if (this.multiline) {\n str += 'm';\n }\n return str;\n };\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n RegExp.prototype.toString = regexToString;\n }\n}));\n","/*!\n * https://github.com/es-shims/es5-shim\n * @license es5-shim Copyright 2009-2015 by contributors, MIT License\n * see https://github.com/es-shims/es5-shim/blob/master/LICENSE\n */\n\n// vim: ts=4 sts=4 sw=4 expandtab\n\n// Add semicolon to prevent IIFE from being passed as argument to concatenated code.\n;\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js\n(function (root, factory) {\n 'use strict';\n\n /* global define, exports, module */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like enviroments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n\n var call = Function.call;\n var prototypeOfObject = Object.prototype;\n var owns = call.bind(prototypeOfObject.hasOwnProperty);\n var isEnumerable = call.bind(prototypeOfObject.propertyIsEnumerable);\n var toStr = call.bind(prototypeOfObject.toString);\n\n // If JS engine supports accessors creating shortcuts.\n var defineGetter;\n var defineSetter;\n var lookupGetter;\n var lookupSetter;\n var supportsAccessors = owns(prototypeOfObject, '__defineGetter__');\n if (supportsAccessors) {\n /* eslint-disable no-underscore-dangle, no-restricted-properties */\n defineGetter = call.bind(prototypeOfObject.__defineGetter__);\n defineSetter = call.bind(prototypeOfObject.__defineSetter__);\n lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);\n lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);\n /* eslint-enable no-underscore-dangle, no-restricted-properties */\n }\n\n var isPrimitive = function isPrimitive(o) {\n return o == null || (typeof o !== 'object' && typeof o !== 'function');\n };\n\n // ES5 15.2.3.2\n // http://es5.github.com/#x15.2.3.2\n if (!Object.getPrototypeOf) {\n // https://github.com/es-shims/es5-shim/issues#issue/2\n // http://ejohn.org/blog/objectgetprototypeof/\n // recommended by fschaefer on github\n //\n // sure, and webreflection says ^_^\n // ... this will nerever possibly return null\n // ... Opera Mini breaks here with infinite loops\n Object.getPrototypeOf = function getPrototypeOf(object) {\n // eslint-disable-next-line no-proto\n var proto = object.__proto__;\n if (proto || proto === null) {\n return proto;\n } else if (toStr(object.constructor) === '[object Function]') {\n return object.constructor.prototype;\n } else if (object instanceof Object) {\n return prototypeOfObject;\n } else {\n // Correctly return null for Objects created with `Object.create(null)`\n // (shammed or native) or `{ __proto__: null}`. Also returns null for\n // cross-realm objects on browsers that lack `__proto__` support (like\n // IE <11), but that's the best we can do.\n return null;\n }\n };\n }\n\n // ES5 15.2.3.3\n // http://es5.github.com/#x15.2.3.3\n\n var doesGetOwnPropertyDescriptorWork = function doesGetOwnPropertyDescriptorWork(object) {\n try {\n object.sentinel = 0;\n return Object.getOwnPropertyDescriptor(object, 'sentinel').value === 0;\n } catch (exception) {\n return false;\n }\n };\n\n // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially.\n if (Object.defineProperty) {\n var getOwnPropertyDescriptorWorksOnObject = doesGetOwnPropertyDescriptorWork({});\n var getOwnPropertyDescriptorWorksOnDom = typeof document === 'undefined'\n || doesGetOwnPropertyDescriptorWork(document.createElement('div'));\n if (!getOwnPropertyDescriptorWorksOnDom || !getOwnPropertyDescriptorWorksOnObject) {\n var getOwnPropertyDescriptorFallback = Object.getOwnPropertyDescriptor;\n }\n }\n\n if (!Object.getOwnPropertyDescriptor || getOwnPropertyDescriptorFallback) {\n var ERR_NON_OBJECT = 'Object.getOwnPropertyDescriptor called on a non-object: ';\n\n /* eslint-disable no-proto */\n Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {\n if (isPrimitive(object)) {\n throw new TypeError(ERR_NON_OBJECT + object);\n }\n\n // make a valiant attempt to use the real getOwnPropertyDescriptor\n // for I8's DOM elements.\n if (getOwnPropertyDescriptorFallback) {\n try {\n return getOwnPropertyDescriptorFallback.call(Object, object, property);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n var descriptor;\n\n // If object does not owns property return undefined immediately.\n if (!owns(object, property)) {\n return descriptor;\n }\n\n // If object has a property then it's for sure `configurable`, and\n // probably `enumerable`. Detect enumerability though.\n descriptor = {\n enumerable: isEnumerable(object, property),\n configurable: true\n };\n\n // If JS engine supports accessor properties then property may be a\n // getter or setter.\n if (supportsAccessors) {\n // Unfortunately `__lookupGetter__` will return a getter even\n // if object has own non getter property along with a same named\n // inherited getter. To avoid misbehavior we temporary remove\n // `__proto__` so that `__lookupGetter__` will return getter only\n // if it's owned by an object.\n var prototype = object.__proto__;\n var notPrototypeOfObject = object !== prototypeOfObject;\n // avoid recursion problem, breaking in Opera Mini when\n // Object.getOwnPropertyDescriptor(Object.prototype, 'toString')\n // or any other Object.prototype accessor\n if (notPrototypeOfObject) {\n object.__proto__ = prototypeOfObject;\n }\n\n var getter = lookupGetter(object, property);\n var setter = lookupSetter(object, property);\n\n if (notPrototypeOfObject) {\n // Once we have getter and setter we can put values back.\n object.__proto__ = prototype;\n }\n\n if (getter || setter) {\n if (getter) {\n descriptor.get = getter;\n }\n if (setter) {\n descriptor.set = setter;\n }\n // If it was accessor property we're done and return here\n // in order to avoid adding `value` to the descriptor.\n return descriptor;\n }\n }\n\n // If we got this far we know that object has an own property that is\n // not an accessor so we set it as a value and return descriptor.\n descriptor.value = object[property];\n descriptor.writable = true;\n return descriptor;\n };\n /* eslint-enable no-proto */\n }\n\n // ES5 15.2.3.4\n // http://es5.github.com/#x15.2.3.4\n if (!Object.getOwnPropertyNames) {\n Object.getOwnPropertyNames = function getOwnPropertyNames(object) {\n return Object.keys(object);\n };\n }\n\n // ES5 15.2.3.5\n // http://es5.github.com/#x15.2.3.5\n if (!Object.create) {\n\n // Contributed by Brandon Benvie, October, 2012\n var createEmpty;\n var supportsProto = !({ __proto__: null } instanceof Object);\n // the following produces false positives\n // in Opera Mini => not a reliable check\n // Object.prototype.__proto__ === null\n\n // Check for document.domain and active x support\n // No need to use active x approach when document.domain is not set\n // see https://github.com/es-shims/es5-shim/issues/150\n // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n /* global ActiveXObject */\n var shouldUseActiveX = function shouldUseActiveX() {\n // return early if document.domain not set\n if (!document.domain) {\n return false;\n }\n\n try {\n return !!new ActiveXObject('htmlfile');\n } catch (exception) {\n return false;\n }\n };\n\n // This supports IE8 when document.domain is used\n // see https://github.com/es-shims/es5-shim/issues/150\n // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n var getEmptyViaActiveX = function getEmptyViaActiveX() {\n var empty;\n var xDoc;\n\n xDoc = new ActiveXObject('htmlfile');\n\n var script = 'script';\n xDoc.write('<' + script + '>');\n xDoc.close();\n\n empty = xDoc.parentWindow.Object.prototype;\n xDoc = null;\n\n return empty;\n };\n\n // The original implementation using an iframe\n // before the activex approach was added\n // see https://github.com/es-shims/es5-shim/issues/150\n var getEmptyViaIFrame = function getEmptyViaIFrame() {\n var iframe = document.createElement('iframe');\n var parent = document.body || document.documentElement;\n var empty;\n\n iframe.style.display = 'none';\n parent.appendChild(iframe);\n // eslint-disable-next-line no-script-url\n iframe.src = 'javascript:';\n\n empty = iframe.contentWindow.Object.prototype;\n parent.removeChild(iframe);\n iframe = null;\n\n return empty;\n };\n\n /* global document */\n if (supportsProto || typeof document === 'undefined') {\n createEmpty = function () {\n return { __proto__: null };\n };\n } else {\n // In old IE __proto__ can't be used to manually set `null`, nor does\n // any other method exist to make an object that inherits from nothing,\n // aside from Object.prototype itself. Instead, create a new global\n // object and *steal* its Object.prototype and strip it bare. This is\n // used as the prototype to create nullary objects.\n createEmpty = function () {\n // Determine which approach to use\n // see https://github.com/es-shims/es5-shim/issues/150\n var empty = shouldUseActiveX() ? getEmptyViaActiveX() : getEmptyViaIFrame();\n\n delete empty.constructor;\n delete empty.hasOwnProperty;\n delete empty.propertyIsEnumerable;\n delete empty.isPrototypeOf;\n delete empty.toLocaleString;\n delete empty.toString;\n delete empty.valueOf;\n\n var Empty = function Empty() {};\n Empty.prototype = empty;\n // short-circuit future calls\n createEmpty = function () {\n return new Empty();\n };\n return new Empty();\n };\n }\n\n Object.create = function create(prototype, properties) {\n\n var object;\n var Type = function Type() {}; // An empty constructor.\n\n if (prototype === null) {\n object = createEmpty();\n } else {\n if (prototype !== null && isPrimitive(prototype)) {\n // In the native implementation `parent` can be `null`\n // OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc)\n // Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object`\n // like they are in modern browsers. Using `Object.create` on DOM elements\n // is...err...probably inappropriate, but the native version allows for it.\n throw new TypeError('Object prototype may only be an Object or null'); // same msg as Chrome\n }\n Type.prototype = prototype;\n object = new Type();\n // IE has no built-in implementation of `Object.getPrototypeOf`\n // neither `__proto__`, but this manually setting `__proto__` will\n // guarantee that `Object.getPrototypeOf` will work as expected with\n // objects created using `Object.create`\n // eslint-disable-next-line no-proto\n object.__proto__ = prototype;\n }\n\n if (properties !== void 0) {\n Object.defineProperties(object, properties);\n }\n\n return object;\n };\n }\n\n // ES5 15.2.3.6\n // http://es5.github.com/#x15.2.3.6\n\n // Patch for WebKit and IE8 standard mode\n // Designed by hax \n // related issue: https://github.com/es-shims/es5-shim/issues#issue/5\n // IE8 Reference:\n // http://msdn.microsoft.com/en-us/library/dd282900.aspx\n // http://msdn.microsoft.com/en-us/library/dd229916.aspx\n // WebKit Bugs:\n // https://bugs.webkit.org/show_bug.cgi?id=36423\n\n var doesDefinePropertyWork = function doesDefinePropertyWork(object) {\n try {\n Object.defineProperty(object, 'sentinel', {});\n return 'sentinel' in object;\n } catch (exception) {\n return false;\n }\n };\n\n // check whether defineProperty works if it's given. Otherwise,\n // shim partially.\n if (Object.defineProperty) {\n var definePropertyWorksOnObject = doesDefinePropertyWork({});\n var definePropertyWorksOnDom = typeof document === 'undefined'\n || doesDefinePropertyWork(document.createElement('div'));\n if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {\n var definePropertyFallback = Object.defineProperty,\n definePropertiesFallback = Object.defineProperties;\n }\n }\n\n if (!Object.defineProperty || definePropertyFallback) {\n var ERR_NON_OBJECT_DESCRIPTOR = 'Property description must be an object: ';\n var ERR_NON_OBJECT_TARGET = 'Object.defineProperty called on non-object: ';\n var ERR_ACCESSORS_NOT_SUPPORTED = 'getters & setters can not be defined on this javascript engine';\n\n Object.defineProperty = function defineProperty(object, property, descriptor) {\n if (isPrimitive(object)) {\n throw new TypeError(ERR_NON_OBJECT_TARGET + object);\n }\n if (isPrimitive(descriptor)) {\n throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);\n }\n // make a valiant attempt to use the real defineProperty\n // for I8's DOM elements.\n if (definePropertyFallback) {\n try {\n return definePropertyFallback.call(Object, object, property, descriptor);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n // If it's a data property.\n if ('value' in descriptor) {\n // fail silently if 'writable', 'enumerable', or 'configurable'\n // are requested but not supported\n /*\n // alternate approach:\n if ( // can't implement these features; allow false but not true\n ('writable' in descriptor && !descriptor.writable) ||\n ('enumerable' in descriptor && !descriptor.enumerable) ||\n ('configurable' in descriptor && !descriptor.configurable)\n ))\n throw new RangeError(\n 'This implementation of Object.defineProperty does not support configurable, enumerable, or writable.'\n );\n */\n\n if (supportsAccessors && (lookupGetter(object, property) || lookupSetter(object, property))) {\n // As accessors are supported only on engines implementing\n // `__proto__` we can safely override `__proto__` while defining\n // a property to make sure that we don't hit an inherited\n // accessor.\n /* eslint-disable no-proto */\n var prototype = object.__proto__;\n object.__proto__ = prototypeOfObject;\n // Deleting a property anyway since getter / setter may be\n // defined on object itself.\n delete object[property];\n object[property] = descriptor.value;\n // Setting original `__proto__` back now.\n object.__proto__ = prototype;\n /* eslint-enable no-proto */\n } else {\n object[property] = descriptor.value;\n }\n } else {\n var hasGetter = 'get' in descriptor;\n var hasSetter = 'set' in descriptor;\n if (!supportsAccessors && (hasGetter || hasSetter)) {\n throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n }\n // If we got that far then getters and setters can be defined !!\n if (hasGetter) {\n defineGetter(object, property, descriptor.get);\n }\n if (hasSetter) {\n defineSetter(object, property, descriptor.set);\n }\n }\n return object;\n };\n }\n\n // ES5 15.2.3.7\n // http://es5.github.com/#x15.2.3.7\n if (!Object.defineProperties || definePropertiesFallback) {\n Object.defineProperties = function defineProperties(object, properties) {\n // make a valiant attempt to use the real defineProperties\n if (definePropertiesFallback) {\n try {\n return definePropertiesFallback.call(Object, object, properties);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n Object.keys(properties).forEach(function (property) {\n if (property !== '__proto__') {\n Object.defineProperty(object, property, properties[property]);\n }\n });\n return object;\n };\n }\n\n // ES5 15.2.3.8\n // http://es5.github.com/#x15.2.3.8\n if (!Object.seal) {\n Object.seal = function seal(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.seal can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // ES5 15.2.3.9\n // http://es5.github.com/#x15.2.3.9\n if (!Object.freeze) {\n Object.freeze = function freeze(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.freeze can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // detect a Rhino bug and patch it\n try {\n Object.freeze(function () {});\n } catch (exception) {\n Object.freeze = (function (freezeObject) {\n return function freeze(object) {\n if (typeof object === 'function') {\n return object;\n } else {\n return freezeObject(object);\n }\n };\n }(Object.freeze));\n }\n\n // ES5 15.2.3.10\n // http://es5.github.com/#x15.2.3.10\n if (!Object.preventExtensions) {\n Object.preventExtensions = function preventExtensions(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.preventExtensions can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // ES5 15.2.3.11\n // http://es5.github.com/#x15.2.3.11\n if (!Object.isSealed) {\n Object.isSealed = function isSealed(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.isSealed can only be called on Objects.');\n }\n return false;\n };\n }\n\n // ES5 15.2.3.12\n // http://es5.github.com/#x15.2.3.12\n if (!Object.isFrozen) {\n Object.isFrozen = function isFrozen(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.isFrozen can only be called on Objects.');\n }\n return false;\n };\n }\n\n // ES5 15.2.3.13\n // http://es5.github.com/#x15.2.3.13\n if (!Object.isExtensible) {\n Object.isExtensible = function isExtensible(object) {\n // 1. If Type(O) is not Object throw a TypeError exception.\n if (Object(object) !== object) {\n throw new TypeError('Object.isExtensible can only be called on Objects.');\n }\n // 2. Return the Boolean value of the [[Extensible]] internal property of O.\n var name = '';\n while (owns(object, name)) {\n name += '?';\n }\n object[name] = true;\n var returnValue = owns(object, name);\n delete object[name];\n return returnValue;\n };\n }\n\n}));\n","/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.35.4\n * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/returnExports.js\n(function (root, factory) {\n /*global define, module, exports */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n 'use strict';\n\n var _apply = Function.call.bind(Function.apply);\n var _call = Function.call.bind(Function.call);\n var isArray = Array.isArray;\n var keys = Object.keys;\n\n var not = function notThunker(func) {\n return function notThunk() {\n return !_apply(func, this, arguments);\n };\n };\n var throwsError = function (func) {\n try {\n func();\n return false;\n } catch (e) {\n return true;\n }\n };\n var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {\n try {\n return func();\n } catch (e) {\n return false;\n }\n };\n\n var isCallableWithoutNew = not(throwsError);\n var arePropertyDescriptorsSupported = function () {\n // if Object.defineProperty exists but throws, it's IE 8\n return !throwsError(function () {\n return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return\n });\n };\n var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();\n var functionsHaveNames = (function foo() {}).name === 'foo'; // eslint-disable-line no-extra-parens\n\n var _forEach = Function.call.bind(Array.prototype.forEach);\n var _reduce = Function.call.bind(Array.prototype.reduce);\n var _filter = Function.call.bind(Array.prototype.filter);\n var _some = Function.call.bind(Array.prototype.some);\n\n var defineProperty = function (object, name, value, force) {\n if (!force && name in object) { return; }\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n\n // Define configurable, writable and non-enumerable props\n // if they don’t exist.\n var defineProperties = function (object, map, forceOverride) {\n _forEach(keys(map), function (name) {\n var method = map[name];\n defineProperty(object, name, method, !!forceOverride);\n });\n };\n\n var _toString = Function.call.bind(Object.prototype.toString);\n var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) {\n // Some old browsers (IE, FF) say that typeof /abc/ === 'function'\n return typeof x === 'function' && _toString(x) === '[object Function]';\n } : function IsCallableFast(x) { return typeof x === 'function'; };\n\n var Value = {\n getter: function (object, name, getter) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n get: getter\n });\n },\n proxy: function (originalObject, key, targetObject) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key);\n Object.defineProperty(targetObject, key, {\n configurable: originalDescriptor.configurable,\n enumerable: originalDescriptor.enumerable,\n get: function getKey() { return originalObject[key]; },\n set: function setKey(value) { originalObject[key] = value; }\n });\n },\n redefine: function (object, property, newValue) {\n if (supportsDescriptors) {\n var descriptor = Object.getOwnPropertyDescriptor(object, property);\n descriptor.value = newValue;\n Object.defineProperty(object, property, descriptor);\n } else {\n object[property] = newValue;\n }\n },\n defineByDescriptor: function (object, property, descriptor) {\n if (supportsDescriptors) {\n Object.defineProperty(object, property, descriptor);\n } else if ('value' in descriptor) {\n object[property] = descriptor.value;\n }\n },\n preserveToString: function (target, source) {\n if (source && isCallable(source.toString)) {\n defineProperty(target, 'toString', source.toString.bind(source), true);\n }\n }\n };\n\n // Simple shim for Object.create on ES3 browsers\n // (unlike real shim, no attempt to support `prototype === null`)\n var create = Object.create || function (prototype, properties) {\n var Prototype = function Prototype() {};\n Prototype.prototype = prototype;\n var object = new Prototype();\n if (typeof properties !== 'undefined') {\n keys(properties).forEach(function (key) {\n Value.defineByDescriptor(object, key, properties[key]);\n });\n }\n return object;\n };\n\n var supportsSubclassing = function (C, f) {\n if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ }\n return valueOrFalseIfThrows(function () {\n var Sub = function Subclass(arg) {\n var o = new C(arg);\n Object.setPrototypeOf(o, Subclass.prototype);\n return o;\n };\n Object.setPrototypeOf(Sub, C);\n Sub.prototype = create(C.prototype, {\n constructor: { value: Sub }\n });\n return f(Sub);\n });\n };\n\n var getGlobal = function () {\n /* global self, window, global */\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n };\n\n var globals = getGlobal();\n var globalIsFinite = globals.isFinite;\n var _indexOf = Function.call.bind(String.prototype.indexOf);\n var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);\n var _concat = Function.call.bind(Array.prototype.concat);\n // var _sort = Function.call.bind(Array.prototype.sort);\n var _strSlice = Function.call.bind(String.prototype.slice);\n var _push = Function.call.bind(Array.prototype.push);\n var _pushApply = Function.apply.bind(Array.prototype.push);\n var _shift = Function.call.bind(Array.prototype.shift);\n var _max = Math.max;\n var _min = Math.min;\n var _floor = Math.floor;\n var _abs = Math.abs;\n var _exp = Math.exp;\n var _log = Math.log;\n var _sqrt = Math.sqrt;\n var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n var ArrayIterator; // make our implementation private\n var noop = function () {};\n\n var OrigMap = globals.Map;\n var origMapDelete = OrigMap && OrigMap.prototype['delete'];\n var origMapGet = OrigMap && OrigMap.prototype.get;\n var origMapHas = OrigMap && OrigMap.prototype.has;\n var origMapSet = OrigMap && OrigMap.prototype.set;\n\n var Symbol = globals.Symbol || {};\n var symbolSpecies = Symbol.species || '@@species';\n\n var numberIsNaN = Number.isNaN || function isNaN(value) {\n // NaN !== NaN, but they are identical.\n // NaNs are the only non-reflexive value, i.e., if x !== x,\n // then x is NaN.\n // isNaN is broken: it converts its argument to number, so\n // isNaN('foo') => true\n return value !== value;\n };\n var numberIsFinite = Number.isFinite || function isFinite(value) {\n return typeof value === 'number' && globalIsFinite(value);\n };\n var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) {\n var number = Number(value);\n if (number === 0) { return number; }\n if (numberIsNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n };\n var _log1p = function log1p(value) {\n var x = Number(value);\n if (x < -1 || numberIsNaN(x)) { return NaN; }\n if (x === 0 || x === Infinity) { return x; }\n if (x === -1) { return -Infinity; }\n\n return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));\n };\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return _toString(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null &&\n typeof value === 'object' &&\n typeof value.length === 'number' &&\n value.length >= 0 &&\n _toString(value) !== '[object Array]' &&\n _toString(value.callee) === '[object Function]';\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n var Type = {\n primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); },\n string: function (x) { return _toString(x) === '[object String]'; },\n regex: function (x) { return _toString(x) === '[object RegExp]'; },\n symbol: function (x) {\n return typeof globals.Symbol === 'function' && typeof x === 'symbol';\n }\n };\n\n var overrideNative = function overrideNative(object, property, replacement) {\n var original = object[property];\n defineProperty(object, property, replacement, true);\n Value.preserveToString(object[property], original);\n };\n\n // eslint-disable-next-line no-restricted-properties\n var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());\n\n // This is a private name in the es6 spec, equal to '[Symbol.iterator]'\n // we're going to use an arbitrary _-prefixed name to make our shims\n // work properly with each other, even though we don't have full Iterator\n // support. That is, `Array.from(map.keys())` will work, but we don't\n // pretend to export a \"real\" Iterator interface.\n var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_';\n // Firefox ships a partial implementation using the name @@iterator.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14\n // So use that name if we detect it.\n if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n // Reflect\n if (!globals.Reflect) {\n defineProperty(globals, 'Reflect', {}, true);\n }\n var Reflect = globals.Reflect;\n\n var $String = String;\n\n /* global document */\n var domAll = (typeof document === 'undefined' || !document) ? null : document.all;\n var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {\n return x == null;\n } : function isNullOrUndefinedAndNotDocumentAll(x) {\n return x == null && x !== domAll;\n };\n\n var ES = {\n // http://www.ecma-international.org/ecma-262/6.0/#sec-call\n Call: function Call(F, V) {\n var args = arguments.length > 2 ? arguments[2] : [];\n if (!ES.IsCallable(F)) {\n throw new TypeError(F + ' is not a function');\n }\n return _apply(F, V, args);\n },\n\n RequireObjectCoercible: function (x, optMessage) {\n if (isNullOrUndefined(x)) {\n throw new TypeError(optMessage || 'Cannot call method on ' + x);\n }\n return x;\n },\n\n // This might miss the \"(non-standard exotic and does not implement\n // [[Call]])\" case from\n // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation\n // but we can't find any evidence these objects exist in practice.\n // If we find some in the future, you could test `Object(x) === x`,\n // which is reliable according to\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject\n // but is not well optimized by runtimes and creates an object\n // whenever it returns false, and thus is very slow.\n TypeIsObject: function (x) {\n if (x === void 0 || x === null || x === true || x === false) {\n return false;\n }\n return typeof x === 'function' || typeof x === 'object' || x === domAll;\n },\n\n ToObject: function (o, optMessage) {\n return Object(ES.RequireObjectCoercible(o, optMessage));\n },\n\n IsCallable: isCallable,\n\n IsConstructor: function (x) {\n // We can't tell callables from constructors in ES5\n return ES.IsCallable(x);\n },\n\n ToInt32: function (x) {\n return ES.ToNumber(x) >> 0;\n },\n\n ToUint32: function (x) {\n return ES.ToNumber(x) >>> 0;\n },\n\n ToNumber: function (value) {\n if (_toString(value) === '[object Symbol]') {\n throw new TypeError('Cannot convert a Symbol value to a number');\n }\n return +value;\n },\n\n ToInteger: function (value) {\n var number = ES.ToNumber(value);\n if (numberIsNaN(number)) { return 0; }\n if (number === 0 || !numberIsFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * _floor(_abs(number));\n },\n\n ToLength: function (value) {\n var len = ES.ToInteger(value);\n if (len <= 0) { return 0; } // includes converting -0 to +0\n if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; }\n return len;\n },\n\n SameValue: function (a, b) {\n if (a === b) {\n // 0 === -0, but they are not identical.\n if (a === 0) { return 1 / a === 1 / b; }\n return true;\n }\n return numberIsNaN(a) && numberIsNaN(b);\n },\n\n SameValueZero: function (a, b) {\n // same as SameValue except for SameValueZero(+0, -0) == true\n return (a === b) || (numberIsNaN(a) && numberIsNaN(b));\n },\n\n IsIterable: function (o) {\n return ES.TypeIsObject(o) && (typeof o[$iterator$] !== 'undefined' || isArguments(o));\n },\n\n GetIterator: function (o) {\n if (isArguments(o)) {\n // special case support for `arguments`\n return new ArrayIterator(o, 'value');\n }\n var itFn = ES.GetMethod(o, $iterator$);\n if (!ES.IsCallable(itFn)) {\n // Better diagnostics if itFn is null or undefined\n throw new TypeError('value is not an iterable');\n }\n var it = ES.Call(itFn, o);\n if (!ES.TypeIsObject(it)) {\n throw new TypeError('bad iterator');\n }\n return it;\n },\n\n GetMethod: function (o, p) {\n var func = ES.ToObject(o)[p];\n if (isNullOrUndefined(func)) {\n return void 0;\n }\n if (!ES.IsCallable(func)) {\n throw new TypeError('Method not callable: ' + p);\n }\n return func;\n },\n\n IteratorComplete: function (iterResult) {\n return !!iterResult.done;\n },\n\n IteratorClose: function (iterator, completionIsThrow) {\n var returnMethod = ES.GetMethod(iterator, 'return');\n if (returnMethod === void 0) {\n return;\n }\n var innerResult, innerException;\n try {\n innerResult = ES.Call(returnMethod, iterator);\n } catch (e) {\n innerException = e;\n }\n if (completionIsThrow) {\n return;\n }\n if (innerException) {\n throw innerException;\n }\n if (!ES.TypeIsObject(innerResult)) {\n throw new TypeError(\"Iterator's return method returned a non-object.\");\n }\n },\n\n IteratorNext: function (it) {\n var result = arguments.length > 1 ? it.next(arguments[1]) : it.next();\n if (!ES.TypeIsObject(result)) {\n throw new TypeError('bad iterator');\n }\n return result;\n },\n\n IteratorStep: function (it) {\n var result = ES.IteratorNext(it);\n var done = ES.IteratorComplete(result);\n return done ? false : result;\n },\n\n Construct: function (C, args, newTarget, isES6internal) {\n var target = typeof newTarget === 'undefined' ? C : newTarget;\n\n if (!isES6internal && Reflect.construct) {\n // Try to use Reflect.construct if available\n return Reflect.construct(C, args, target);\n }\n // OK, we have to fake it. This will only work if the\n // C.[[ConstructorKind]] == \"base\" -- but that's the only\n // kind we can make in ES5 code anyway.\n\n // OrdinaryCreateFromConstructor(target, \"%ObjectPrototype%\")\n var proto = target.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = Object.prototype;\n }\n var obj = create(proto);\n // Call the constructor.\n var result = ES.Call(C, obj, args);\n return ES.TypeIsObject(result) ? result : obj;\n },\n\n SpeciesConstructor: function (O, defaultConstructor) {\n var C = O.constructor;\n if (C === void 0) {\n return defaultConstructor;\n }\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad constructor');\n }\n var S = C[symbolSpecies];\n if (isNullOrUndefined(S)) {\n return defaultConstructor;\n }\n if (!ES.IsConstructor(S)) {\n throw new TypeError('Bad @@species');\n }\n return S;\n },\n\n CreateHTML: function (string, tag, attribute, value) {\n var S = ES.ToString(string);\n var p1 = '<' + tag;\n if (attribute !== '') {\n var V = ES.ToString(value);\n var escapedV = V.replace(/\"/g, '"');\n p1 += ' ' + attribute + '=\"' + escapedV + '\"';\n }\n var p2 = p1 + '>';\n var p3 = p2 + S;\n return p3 + '';\n },\n\n IsRegExp: function IsRegExp(argument) {\n if (!ES.TypeIsObject(argument)) {\n return false;\n }\n var isRegExp = argument[Symbol.match];\n if (typeof isRegExp !== 'undefined') {\n return !!isRegExp;\n }\n return Type.regex(argument);\n },\n\n ToString: function ToString(string) {\n return $String(string);\n }\n };\n\n // Well-known Symbol shims\n if (supportsDescriptors && hasSymbols) {\n var defineWellKnownSymbol = function defineWellKnownSymbol(name) {\n if (Type.symbol(Symbol[name])) {\n return Symbol[name];\n }\n // eslint-disable-next-line no-restricted-properties\n var sym = Symbol['for']('Symbol.' + name);\n Object.defineProperty(Symbol, name, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: sym\n });\n return sym;\n };\n if (!Type.symbol(Symbol.search)) {\n var symbolSearch = defineWellKnownSymbol('search');\n var originalSearch = String.prototype.search;\n defineProperty(RegExp.prototype, symbolSearch, function search(string) {\n return ES.Call(originalSearch, string, [this]);\n });\n var searchShim = function search(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var searcher = ES.GetMethod(regexp, symbolSearch);\n if (typeof searcher !== 'undefined') {\n return ES.Call(searcher, regexp, [O]);\n }\n }\n return ES.Call(originalSearch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'search', searchShim);\n }\n if (!Type.symbol(Symbol.replace)) {\n var symbolReplace = defineWellKnownSymbol('replace');\n var originalReplace = String.prototype.replace;\n defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) {\n return ES.Call(originalReplace, string, [this, replaceValue]);\n });\n var replaceShim = function replace(searchValue, replaceValue) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(searchValue)) {\n var replacer = ES.GetMethod(searchValue, symbolReplace);\n if (typeof replacer !== 'undefined') {\n return ES.Call(replacer, searchValue, [O, replaceValue]);\n }\n }\n return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);\n };\n overrideNative(String.prototype, 'replace', replaceShim);\n }\n if (!Type.symbol(Symbol.split)) {\n var symbolSplit = defineWellKnownSymbol('split');\n var originalSplit = String.prototype.split;\n defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) {\n return ES.Call(originalSplit, string, [this, limit]);\n });\n var splitShim = function split(separator, limit) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(separator)) {\n var splitter = ES.GetMethod(separator, symbolSplit);\n if (typeof splitter !== 'undefined') {\n return ES.Call(splitter, separator, [O, limit]);\n }\n }\n return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);\n };\n overrideNative(String.prototype, 'split', splitShim);\n }\n var symbolMatchExists = Type.symbol(Symbol.match);\n var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {\n // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.\n // Firefox 40 and below have Symbol.match but String#match works fine.\n var o = {};\n o[Symbol.match] = function () { return 42; };\n return 'a'.match(o) !== 42;\n }());\n if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {\n var symbolMatch = defineWellKnownSymbol('match');\n\n var originalMatch = String.prototype.match;\n defineProperty(RegExp.prototype, symbolMatch, function match(string) {\n return ES.Call(originalMatch, string, [this]);\n });\n\n var matchShim = function match(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var matcher = ES.GetMethod(regexp, symbolMatch);\n if (typeof matcher !== 'undefined') {\n return ES.Call(matcher, regexp, [O]);\n }\n }\n return ES.Call(originalMatch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'match', matchShim);\n }\n }\n\n var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) {\n Value.preserveToString(replacement, original);\n if (Object.setPrototypeOf) {\n // sets up proper prototype chain where possible\n Object.setPrototypeOf(original, replacement);\n }\n if (supportsDescriptors) {\n _forEach(Object.getOwnPropertyNames(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n Value.proxy(original, key, replacement);\n });\n } else {\n _forEach(Object.keys(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n replacement[key] = original[key];\n });\n }\n replacement.prototype = original.prototype;\n Value.redefine(original.prototype, 'constructor', replacement);\n };\n\n var defaultSpeciesGetter = function () { return this; };\n var addDefaultSpecies = function (C) {\n if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {\n Value.getter(C, symbolSpecies, defaultSpeciesGetter);\n }\n };\n\n var addIterator = function (prototype, impl) {\n var implementation = impl || function iterator() { return this; };\n defineProperty(prototype, $iterator$, implementation);\n if (!prototype[$iterator$] && Type.symbol($iterator$)) {\n // implementations are buggy when $iterator$ is a Symbol\n prototype[$iterator$] = implementation;\n }\n };\n\n var createDataProperty = function createDataProperty(object, name, value) {\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) {\n createDataProperty(object, name, value);\n if (!ES.SameValue(object[name], value)) {\n throw new TypeError('property is nonconfigurable');\n }\n };\n\n var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {\n // This is an es5 approximation to es6 construct semantics. in es6,\n // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)\n // just sets the internal variable NewTarget (in es6 syntax `new.target`)\n // to Foo and then returns Foo().\n\n // Many ES6 object then have constructors of the form:\n // 1. If NewTarget is undefined, throw a TypeError exception\n // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)\n\n // So we're going to emulate those first two steps.\n if (!ES.TypeIsObject(o)) {\n throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);\n }\n var proto = defaultNewTarget.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = defaultProto;\n }\n var obj = create(proto);\n for (var name in slots) {\n if (_hasOwnProperty(slots, name)) {\n var value = slots[name];\n defineProperty(obj, name, value, true);\n }\n }\n return obj;\n };\n\n // Firefox 31 reports this function's length as 0\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484\n if (String.fromCodePoint && String.fromCodePoint.length !== 1) {\n var originalFromCodePoint = String.fromCodePoint;\n overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) {\n return ES.Call(originalFromCodePoint, this, arguments);\n });\n }\n\n var StringShims = {\n fromCodePoint: function fromCodePoint(codePoints) {\n var result = [];\n var next;\n for (var i = 0, length = arguments.length; i < length; i++) {\n next = Number(arguments[i]);\n if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {\n throw new RangeError('Invalid code point ' + next);\n }\n\n if (next < 0x10000) {\n _push(result, String.fromCharCode(next));\n } else {\n next -= 0x10000;\n _push(result, String.fromCharCode((next >> 10) + 0xD800));\n _push(result, String.fromCharCode((next % 0x400) + 0xDC00));\n }\n }\n return result.join('');\n },\n\n raw: function raw(callSite) {\n var cooked = ES.ToObject(callSite, 'bad callSite');\n var rawString = ES.ToObject(cooked.raw, 'bad raw value');\n var len = rawString.length;\n var literalsegments = ES.ToLength(len);\n if (literalsegments <= 0) {\n return '';\n }\n\n var stringElements = [];\n var nextIndex = 0;\n var nextKey, next, nextSeg, nextSub;\n while (nextIndex < literalsegments) {\n nextKey = ES.ToString(nextIndex);\n nextSeg = ES.ToString(rawString[nextKey]);\n _push(stringElements, nextSeg);\n if (nextIndex + 1 >= literalsegments) {\n break;\n }\n next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';\n nextSub = ES.ToString(next);\n _push(stringElements, nextSub);\n nextIndex += 1;\n }\n return stringElements.join('');\n }\n };\n if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {\n // IE 11 TP has a broken String.raw implementation\n overrideNative(String, 'raw', StringShims.raw);\n }\n defineProperties(String, StringShims);\n\n // Fast repeat, uses the `Exponentiation by squaring` algorithm.\n // Perf: http://jsperf.com/string-repeat2/2\n var stringRepeat = function repeat(s, times) {\n if (times < 1) { return ''; }\n if (times % 2) { return repeat(s, times - 1) + s; }\n var half = repeat(s, times / 2);\n return half + half;\n };\n var stringMaxLength = Infinity;\n\n var StringPrototypeShims = {\n repeat: function repeat(times) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var numTimes = ES.ToInteger(times);\n if (numTimes < 0 || numTimes >= stringMaxLength) {\n throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');\n }\n return stringRepeat(thisStr, numTimes);\n },\n\n startsWith: function startsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"startsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n var start = _max(ES.ToInteger(position), 0);\n return _strSlice(S, start, start + searchStr.length) === searchStr;\n },\n\n endsWith: function endsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"endsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var len = S.length;\n var endPosition;\n if (arguments.length > 1) {\n endPosition = arguments[1];\n }\n var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);\n var end = _min(_max(pos, 0), len);\n return _strSlice(S, end - searchStr.length, end) === searchStr;\n },\n\n includes: function includes(searchString) {\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('\"includes\" does not accept a RegExp');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n // Somehow this trick makes method 100% compat with the spec.\n return _indexOf(this, searchStr, position) !== -1;\n },\n\n codePointAt: function codePointAt(pos) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var position = ES.ToInteger(pos);\n var length = thisStr.length;\n if (position >= 0 && position < length) {\n var first = thisStr.charCodeAt(position);\n var isEnd = position + 1 === length;\n if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; }\n var second = thisStr.charCodeAt(position + 1);\n if (second < 0xDC00 || second > 0xDFFF) { return first; }\n return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;\n }\n }\n };\n if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n\n if (String.prototype.startsWith && String.prototype.endsWith) {\n var startsWithRejectsRegex = throwsError(function () {\n /* throws if spec-compliant */\n return '/a/'.startsWith(/a/);\n });\n var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {\n return 'abc'.startsWith('a', Infinity) === false;\n });\n if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {\n // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n }\n if (hasSymbols) {\n var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.startsWith(re);\n });\n if (!startsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n }\n var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.endsWith(re);\n });\n if (!endsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.includes(re);\n });\n if (!includesSupportsSymbolMatch) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n }\n\n defineProperties(String.prototype, StringPrototypeShims);\n\n // whitespace from: http://es5.github.io/#x15.5.4.20\n // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\n var ws = [\n '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n '\\u2029\\uFEFF'\n ].join('');\n var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\n var trimShim = function trim() {\n return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');\n };\n var nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\n var nonWSregex = new RegExp('[' + nonWS + ']', 'g');\n var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;\n var hasStringTrimBug = nonWS.trim().length !== nonWS.length;\n defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);\n\n // Given an argument x, it will return an IteratorResult object,\n // with value set to x and done to false.\n // Given no arguments, it will return an iterator completion object.\n var iteratorResult = function (x) {\n return { value: x, done: arguments.length === 0 };\n };\n\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator\n var StringIterator = function (s) {\n ES.RequireObjectCoercible(s);\n this._s = ES.ToString(s);\n this._i = 0;\n };\n StringIterator.prototype.next = function () {\n var s = this._s;\n var i = this._i;\n if (typeof s === 'undefined' || i >= s.length) {\n this._s = void 0;\n return iteratorResult();\n }\n var first = s.charCodeAt(i);\n var second, len;\n if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {\n len = 1;\n } else {\n second = s.charCodeAt(i + 1);\n len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;\n }\n this._i = i + len;\n return iteratorResult(s.substr(i, len));\n };\n addIterator(StringIterator.prototype);\n addIterator(String.prototype, function () {\n return new StringIterator(this);\n });\n\n var ArrayShims = {\n from: function from(items) {\n var C = this;\n var mapFn;\n if (arguments.length > 1) {\n mapFn = arguments[1];\n }\n var mapping, T;\n if (typeof mapFn === 'undefined') {\n mapping = false;\n } else {\n if (!ES.IsCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n if (arguments.length > 2) {\n T = arguments[2];\n }\n mapping = true;\n }\n\n // Note that that Arrays will use ArrayIterator:\n // https://bugs.ecmascript.org/show_bug.cgi?id=2416\n var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';\n\n var length, result, i;\n if (usingIterator) {\n result = ES.IsConstructor(C) ? Object(new C()) : [];\n var iterator = ES.GetIterator(items);\n var next, nextValue;\n\n i = 0;\n while (true) {\n next = ES.IteratorStep(iterator);\n if (next === false) {\n break;\n }\n nextValue = next.value;\n try {\n if (mapping) {\n nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);\n }\n result[i] = nextValue;\n } catch (e) {\n ES.IteratorClose(iterator, true);\n throw e;\n }\n i += 1;\n }\n length = i;\n } else {\n var arrayLike = ES.ToObject(items);\n length = ES.ToLength(arrayLike.length);\n result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);\n var value;\n for (i = 0; i < length; ++i) {\n value = arrayLike[i];\n if (mapping) {\n value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);\n }\n createDataPropertyOrThrow(result, i, value);\n }\n }\n\n result.length = length;\n return result;\n },\n\n of: function of() {\n var len = arguments.length;\n var C = this;\n var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);\n for (var k = 0; k < len; ++k) {\n createDataPropertyOrThrow(A, k, arguments[k]);\n }\n A.length = len;\n return A;\n }\n };\n defineProperties(Array, ArrayShims);\n addDefaultSpecies(Array);\n\n // Our ArrayIterator is private; see\n // https://github.com/paulmillr/es6-shim/issues/252\n ArrayIterator = function (array, kind) {\n this.i = 0;\n this.array = array;\n this.kind = kind;\n };\n\n defineProperties(ArrayIterator.prototype, {\n next: function () {\n var i = this.i;\n var array = this.array;\n if (!(this instanceof ArrayIterator)) {\n throw new TypeError('Not an ArrayIterator');\n }\n if (typeof array !== 'undefined') {\n var len = ES.ToLength(array.length);\n for (; i < len; i++) {\n var kind = this.kind;\n var retval;\n if (kind === 'key') {\n retval = i;\n } else if (kind === 'value') {\n retval = array[i];\n } else if (kind === 'entry') {\n retval = [i, array[i]];\n }\n this.i = i + 1;\n return iteratorResult(retval);\n }\n }\n this.array = void 0;\n return iteratorResult();\n }\n });\n addIterator(ArrayIterator.prototype);\n\n /*\n var orderKeys = function orderKeys(a, b) {\n var aNumeric = String(ES.ToInteger(a)) === a;\n var bNumeric = String(ES.ToInteger(b)) === b;\n if (aNumeric && bNumeric) {\n return b - a;\n } else if (aNumeric && !bNumeric) {\n return -1;\n } else if (!aNumeric && bNumeric) {\n return 1;\n } else {\n return a.localeCompare(b);\n }\n };\n\n var getAllKeys = function getAllKeys(object) {\n var ownKeys = [];\n var keys = [];\n\n for (var key in object) {\n _push(_hasOwnProperty(object, key) ? ownKeys : keys, key);\n }\n _sort(ownKeys, orderKeys);\n _sort(keys, orderKeys);\n\n return _concat(ownKeys, keys);\n };\n */\n\n // note: this is positioned here because it depends on ArrayIterator\n var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {\n // Detects a bug in Webkit nightly r181886\n var Foo = function Foo(len) { this.length = len; };\n Foo.prototype = [];\n var fooArr = Array.of.apply(Foo, [1, 2]);\n return fooArr instanceof Foo && fooArr.length === 2;\n }());\n if (!arrayOfSupportsSubclassing) {\n overrideNative(Array, 'of', ArrayShims.of);\n }\n\n var ArrayPrototypeShims = {\n copyWithin: function copyWithin(target, start) {\n var o = ES.ToObject(this);\n var len = ES.ToLength(o.length);\n var relativeTarget = ES.ToInteger(target);\n var relativeStart = ES.ToInteger(start);\n var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);\n var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end);\n var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);\n var count = _min(finalItem - from, len - to);\n var direction = 1;\n if (from < to && to < (from + count)) {\n direction = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count > 0) {\n if (from in o) {\n o[to] = o[from];\n } else {\n delete o[to];\n }\n from += direction;\n to += direction;\n count -= 1;\n }\n return o;\n },\n\n fill: function fill(value) {\n var start;\n if (arguments.length > 1) {\n start = arguments[1];\n }\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var O = ES.ToObject(this);\n var len = ES.ToLength(O.length);\n start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);\n end = ES.ToInteger(typeof end === 'undefined' ? len : end);\n\n var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len);\n var relativeEnd = end < 0 ? len + end : end;\n\n for (var i = relativeStart; i < len && i < relativeEnd; ++i) {\n O[i] = value;\n }\n return O;\n },\n\n find: function find(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#find: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0, value; i < length; i++) {\n value = list[i];\n if (thisArg) {\n if (_call(predicate, thisArg, value, i, list)) {\n return value;\n }\n } else if (predicate(value, i, list)) {\n return value;\n }\n }\n },\n\n findIndex: function findIndex(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#findIndex: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0; i < length; i++) {\n if (thisArg) {\n if (_call(predicate, thisArg, list[i], i, list)) {\n return i;\n }\n } else if (predicate(list[i], i, list)) {\n return i;\n }\n }\n return -1;\n },\n\n keys: function keys() {\n return new ArrayIterator(this, 'key');\n },\n\n values: function values() {\n return new ArrayIterator(this, 'value');\n },\n\n entries: function entries() {\n return new ArrayIterator(this, 'entry');\n }\n };\n // Safari 7.1 defines Array#keys and Array#entries natively,\n // but the resulting ArrayIterator objects don't have a \"next\" method.\n if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {\n delete Array.prototype.keys;\n }\n if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {\n delete Array.prototype.entries;\n }\n\n // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values\n if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) {\n defineProperties(Array.prototype, {\n values: Array.prototype[$iterator$]\n });\n if (Type.symbol(Symbol.unscopables)) {\n Array.prototype[Symbol.unscopables].values = true;\n }\n }\n // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name\n if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {\n var originalArrayPrototypeValues = Array.prototype.values;\n overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); });\n defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);\n }\n defineProperties(Array.prototype, ArrayPrototypeShims);\n\n if (1 / [true].indexOf(true, -0) < 0) {\n // indexOf when given a position arg of -0 should return +0.\n // https://github.com/tc39/ecma262/pull/316\n defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) {\n var value = _arrayIndexOfApply(this, arguments);\n if (value === 0 && (1 / value) < 0) {\n return 0;\n }\n return value;\n }, true);\n }\n\n addIterator(Array.prototype, function () { return this.values(); });\n // Chrome defines keys/values/entries on Array, but doesn't give us\n // any way to identify its iterator. So add our own shimmed field.\n if (Object.getPrototypeOf) {\n addIterator(Object.getPrototypeOf([].values()));\n }\n\n // note: this is positioned here because it relies on Array#entries\n var arrayFromSwallowsNegativeLengths = (function () {\n // Detects a Firefox bug in v32\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993\n return valueOrFalseIfThrows(function () {\n return Array.from({ length: -1 }).length === 0;\n });\n }());\n var arrayFromHandlesIterables = (function () {\n // Detects a bug in Webkit nightly r181886\n var arr = Array.from([0].entries());\n return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;\n }());\n if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {\n overrideNative(Array, 'from', ArrayShims.from);\n }\n var arrayFromHandlesUndefinedMapFunction = (function () {\n // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,\n // but the spec doesn't care if it's provided or not - undefined doesn't throw.\n return valueOrFalseIfThrows(function () {\n return Array.from([0], void 0);\n });\n }());\n if (!arrayFromHandlesUndefinedMapFunction) {\n var origArrayFrom = Array.from;\n overrideNative(Array, 'from', function from(items) {\n if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {\n return ES.Call(origArrayFrom, this, arguments);\n } else {\n return _call(origArrayFrom, this, items);\n }\n });\n }\n\n var int32sAsOne = -(Math.pow(2, 32) - 1);\n var toLengthsCorrectly = function (method, reversed) {\n var obj = { length: int32sAsOne };\n obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;\n return valueOrFalseIfThrows(function () {\n _call(method, obj, function () {\n // note: in nonconforming browsers, this will be called\n // -1 >>> 0 times, which is 4294967295, so the throw matters.\n throw new RangeError('should not reach here');\n }, []);\n return true;\n });\n };\n if (!toLengthsCorrectly(Array.prototype.forEach)) {\n var originalForEach = Array.prototype.forEach;\n overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) {\n return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.map)) {\n var originalMap = Array.prototype.map;\n overrideNative(Array.prototype, 'map', function map(callbackFn) {\n return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.filter)) {\n var originalFilter = Array.prototype.filter;\n overrideNative(Array.prototype, 'filter', function filter(callbackFn) {\n return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.some)) {\n var originalSome = Array.prototype.some;\n overrideNative(Array.prototype, 'some', function some(callbackFn) {\n return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.every)) {\n var originalEvery = Array.prototype.every;\n overrideNative(Array.prototype, 'every', function every(callbackFn) {\n return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduce)) {\n var originalReduce = Array.prototype.reduce;\n overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) {\n return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {\n var originalReduceRight = Array.prototype.reduceRight;\n overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) {\n return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n\n var lacksOctalSupport = Number('0o10') !== 8;\n var lacksBinarySupport = Number('0b10') !== 2;\n var trimsNonWhitespace = _some(nonWS, function (c) {\n return Number(c + 0 + c) === 0;\n });\n if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {\n var OrigNumber = Number;\n var binaryRegex = /^0b[01]+$/i;\n var octalRegex = /^0o[0-7]+$/i;\n // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, \"test\" is an own property of regexes. wtf.\n var isBinary = binaryRegex.test.bind(binaryRegex);\n var isOctal = octalRegex.test.bind(octalRegex);\n var toPrimitive = function (O) { // need to replace this with `es-to-primitive/es6`\n var result;\n if (typeof O.valueOf === 'function') {\n result = O.valueOf();\n if (Type.primitive(result)) {\n return result;\n }\n }\n if (typeof O.toString === 'function') {\n result = O.toString();\n if (Type.primitive(result)) {\n return result;\n }\n }\n throw new TypeError('No default value');\n };\n var hasNonWS = nonWSregex.test.bind(nonWSregex);\n var isBadHex = isBadHexRegex.test.bind(isBadHexRegex);\n var NumberShim = (function () {\n // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.\n var NumberShim = function Number(value) {\n var primValue;\n if (arguments.length > 0) {\n primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');\n } else {\n primValue = 0;\n }\n if (typeof primValue === 'string') {\n primValue = ES.Call(trimShim, primValue);\n if (isBinary(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 2);\n } else if (isOctal(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 8);\n } else if (hasNonWS(primValue) || isBadHex(primValue)) {\n primValue = NaN;\n }\n }\n var receiver = this;\n var valueOfSucceeds = valueOrFalseIfThrows(function () {\n OrigNumber.prototype.valueOf.call(receiver);\n return true;\n });\n if (receiver instanceof NumberShim && !valueOfSucceeds) {\n return new OrigNumber(primValue);\n }\n return OrigNumber(primValue);\n };\n return NumberShim;\n }());\n wrapConstructor(OrigNumber, NumberShim, {});\n // this is necessary for ES3 browsers, where these properties are non-enumerable.\n defineProperties(NumberShim, {\n NaN: OrigNumber.NaN,\n MAX_VALUE: OrigNumber.MAX_VALUE,\n MIN_VALUE: OrigNumber.MIN_VALUE,\n NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,\n POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY\n });\n /* globals Number: true */\n /* eslint-disable no-undef, no-global-assign */\n Number = NumberShim;\n Value.redefine(globals, 'Number', NumberShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals Number: false */\n }\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n defineProperties(Number, {\n MAX_SAFE_INTEGER: maxSafeInteger,\n MIN_SAFE_INTEGER: -maxSafeInteger,\n EPSILON: 2.220446049250313e-16,\n\n parseInt: globals.parseInt,\n parseFloat: globals.parseFloat,\n\n isFinite: numberIsFinite,\n\n isInteger: function isInteger(value) {\n return numberIsFinite(value) && ES.ToInteger(value) === value;\n },\n\n isSafeInteger: function isSafeInteger(value) {\n return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;\n },\n\n isNaN: numberIsNaN\n });\n // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)\n defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);\n\n // Work around bugs in Array#find and Array#findIndex -- early\n // implementations skipped holes in sparse arrays. (Note that the\n // implementations of find/findIndex indirectly use shimmed\n // methods of Number, so this test has to happen down here.)\n /* eslint-disable no-sparse-arrays */\n if ([, 1].find(function () { return true; }) === 1) {\n overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);\n }\n if ([, 1].findIndex(function () { return true; }) !== 0) {\n overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);\n }\n /* eslint-enable no-sparse-arrays */\n\n var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);\n var ensureEnumerable = function ensureEnumerable(obj, prop) {\n if (supportsDescriptors && isEnumerableOn(obj, prop)) {\n Object.defineProperty(obj, prop, { enumerable: false });\n }\n };\n var sliceArgs = function sliceArgs() {\n // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n // and https://gist.github.com/WebReflection/4327762cb87a8c634a29\n var initial = Number(this);\n var len = arguments.length;\n var desiredArgCount = len - initial;\n var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount);\n for (var i = initial; i < len; ++i) {\n args[i - initial] = arguments[i];\n }\n return args;\n };\n var assignTo = function assignTo(source) {\n return function assignToSource(target, key) {\n target[key] = source[key];\n return target;\n };\n };\n var assignReducer = function (target, source) {\n var sourceKeys = keys(Object(source));\n var symbols;\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));\n }\n return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);\n };\n\n var ObjectShims = {\n // 19.1.3.1\n assign: function (target, source) {\n var to = ES.ToObject(target, 'Cannot convert undefined or null to object');\n return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);\n },\n\n // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865\n is: function is(a, b) {\n return ES.SameValue(a, b);\n }\n };\n var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {\n // Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n // which is 72% slower than our shim, and Firefox 40's native implementation.\n var thrower = Object.preventExtensions({ 1: 2 });\n try {\n Object.assign(thrower, 'xy');\n } catch (e) {\n return thrower[1] === 'y';\n }\n }());\n if (assignHasPendingExceptions) {\n overrideNative(Object, 'assign', ObjectShims.assign);\n }\n defineProperties(Object, ObjectShims);\n\n if (supportsDescriptors) {\n var ES5ObjectShims = {\n // 19.1.3.9\n // shim from https://gist.github.com/WebReflection/5593554\n setPrototypeOf: (function (Object, magic) {\n var set;\n\n var checkArgs = function (O, proto) {\n if (!ES.TypeIsObject(O)) {\n throw new TypeError('cannot set prototype on a non-object');\n }\n if (!(proto === null || ES.TypeIsObject(proto))) {\n throw new TypeError('can only set prototype to an object or null' + proto);\n }\n };\n\n var setPrototypeOf = function (O, proto) {\n checkArgs(O, proto);\n _call(set, O, proto);\n return O;\n };\n\n try {\n // this works already in Firefox and Safari\n set = Object.getOwnPropertyDescriptor(Object.prototype, magic).set;\n _call(set, {}, null);\n } catch (e) {\n if (Object.prototype !== {}[magic]) {\n // IE < 11 cannot be shimmed\n return;\n }\n // probably Chrome or some old Mobile stock browser\n set = function (proto) {\n this[magic] = proto;\n };\n // please note that this will **not** work\n // in those browsers that do not inherit\n // __proto__ by mistake from Object.prototype\n // in these cases we should probably throw an error\n // or at least be informed about the issue\n setPrototypeOf.polyfill = setPrototypeOf(\n setPrototypeOf({}, null),\n Object.prototype\n ) instanceof Object;\n // setPrototypeOf.polyfill === true means it works as meant\n // setPrototypeOf.polyfill === false means it's not 100% reliable\n // setPrototypeOf.polyfill === undefined\n // or\n // setPrototypeOf.polyfill == null means it's not a polyfill\n // which means it works as expected\n // we can even delete Object.prototype.__proto__;\n }\n return setPrototypeOf;\n }(Object, '__proto__'))\n };\n\n defineProperties(Object, ES5ObjectShims);\n }\n\n // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,\n // but Object.create(null) does.\n if (Object.setPrototypeOf && Object.getPrototypeOf &&\n Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null &&\n Object.getPrototypeOf(Object.create(null)) === null) {\n (function () {\n var FAKENULL = Object.create(null);\n var gpo = Object.getPrototypeOf;\n var spo = Object.setPrototypeOf;\n Object.getPrototypeOf = function (o) {\n var result = gpo(o);\n return result === FAKENULL ? null : result;\n };\n Object.setPrototypeOf = function (o, p) {\n var proto = p === null ? FAKENULL : p;\n return spo(o, proto);\n };\n Object.setPrototypeOf.polyfill = false;\n }());\n }\n\n var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });\n if (!objectKeysAcceptsPrimitives) {\n var originalObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n return originalObjectKeys(ES.ToObject(value));\n });\n keys = Object.keys;\n }\n var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });\n if (objectKeysRejectsRegex) {\n var regexRejectingObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n if (Type.regex(value)) {\n var regexKeys = [];\n for (var k in value) {\n if (_hasOwnProperty(value, k)) {\n _push(regexKeys, k);\n }\n }\n return regexKeys;\n }\n return regexRejectingObjectKeys(value);\n });\n keys = Object.keys;\n }\n\n if (Object.getOwnPropertyNames) {\n var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });\n if (!objectGOPNAcceptsPrimitives) {\n var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];\n var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {\n var val = ES.ToObject(value);\n if (_toString(val) === '[object Window]') {\n try {\n return originalObjectGetOwnPropertyNames(val);\n } catch (e) {\n // IE bug where layout engine calls userland gOPN for cross-domain `window` objects\n return _concat([], cachedWindowNames);\n }\n }\n return originalObjectGetOwnPropertyNames(val);\n });\n }\n }\n if (Object.getOwnPropertyDescriptor) {\n var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });\n if (!objectGOPDAcceptsPrimitives) {\n var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) {\n return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);\n });\n }\n }\n if (Object.seal) {\n var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });\n if (!objectSealAcceptsPrimitives) {\n var originalObjectSeal = Object.seal;\n overrideNative(Object, 'seal', function seal(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectSeal(value);\n });\n }\n }\n if (Object.isSealed) {\n var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });\n if (!objectIsSealedAcceptsPrimitives) {\n var originalObjectIsSealed = Object.isSealed;\n overrideNative(Object, 'isSealed', function isSealed(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsSealed(value);\n });\n }\n }\n if (Object.freeze) {\n var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });\n if (!objectFreezeAcceptsPrimitives) {\n var originalObjectFreeze = Object.freeze;\n overrideNative(Object, 'freeze', function freeze(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectFreeze(value);\n });\n }\n }\n if (Object.isFrozen) {\n var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });\n if (!objectIsFrozenAcceptsPrimitives) {\n var originalObjectIsFrozen = Object.isFrozen;\n overrideNative(Object, 'isFrozen', function isFrozen(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsFrozen(value);\n });\n }\n }\n if (Object.preventExtensions) {\n var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });\n if (!objectPreventExtensionsAcceptsPrimitives) {\n var originalObjectPreventExtensions = Object.preventExtensions;\n overrideNative(Object, 'preventExtensions', function preventExtensions(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectPreventExtensions(value);\n });\n }\n }\n if (Object.isExtensible) {\n var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });\n if (!objectIsExtensibleAcceptsPrimitives) {\n var originalObjectIsExtensible = Object.isExtensible;\n overrideNative(Object, 'isExtensible', function isExtensible(value) {\n if (!ES.TypeIsObject(value)) { return false; }\n return originalObjectIsExtensible(value);\n });\n }\n }\n if (Object.getPrototypeOf) {\n var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });\n if (!objectGetProtoAcceptsPrimitives) {\n var originalGetProto = Object.getPrototypeOf;\n overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) {\n return originalGetProto(ES.ToObject(value));\n });\n }\n }\n\n var hasFlags = supportsDescriptors && (function () {\n var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');\n return desc && ES.IsCallable(desc.get);\n }());\n if (supportsDescriptors && !hasFlags) {\n var regExpFlagsGetter = function flags() {\n if (!ES.TypeIsObject(this)) {\n throw new TypeError('Method called on incompatible type: must be an object.');\n }\n var result = '';\n if (this.global) {\n result += 'g';\n }\n if (this.ignoreCase) {\n result += 'i';\n }\n if (this.multiline) {\n result += 'm';\n }\n if (this.unicode) {\n result += 'u';\n }\n if (this.sticky) {\n result += 'y';\n }\n return result;\n };\n\n Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);\n }\n\n var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {\n return String(new RegExp(/a/g, 'i')) === '/a/i';\n });\n var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {\n // Edge 0.12 supports flags fully, but does not support Symbol.match\n var regex = /./;\n regex[Symbol.match] = false;\n return RegExp(regex) === regex;\n }());\n\n var regexToStringIsGeneric = valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';\n });\n var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';\n });\n if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) {\n var origRegExpToString = RegExp.prototype.toString;\n defineProperty(RegExp.prototype, 'toString', function toString() {\n var R = ES.RequireObjectCoercible(this);\n if (Type.regex(R)) {\n return _call(origRegExpToString, R);\n }\n var pattern = $String(R.source);\n var flags = $String(R.flags);\n return '/' + pattern + '/' + flags;\n }, true);\n Value.preserveToString(RegExp.prototype.toString, origRegExpToString);\n }\n\n if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {\n var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;\n var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};\n var legacySourceGetter = function () {\n // prior to it being a getter, it's own + nonconfigurable\n return this.source;\n };\n var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;\n\n var OrigRegExp = RegExp;\n var RegExpShim = (function () {\n return function RegExp(pattern, flags) {\n var patternIsRegExp = ES.IsRegExp(pattern);\n var calledWithNew = this instanceof RegExp;\n if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {\n return pattern;\n }\n\n var P = pattern;\n var F = flags;\n if (Type.regex(pattern)) {\n P = ES.Call(sourceGetter, pattern);\n F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;\n return new RegExp(P, F);\n } else if (patternIsRegExp) {\n P = pattern.source;\n F = typeof flags === 'undefined' ? pattern.flags : flags;\n }\n return new OrigRegExp(pattern, flags);\n };\n }());\n wrapConstructor(OrigRegExp, RegExpShim, {\n $input: true // Chrome < v39 & Opera < 26 have a nonstandard \"$input\" property\n });\n /* globals RegExp: true */\n /* eslint-disable no-undef, no-global-assign */\n RegExp = RegExpShim;\n Value.redefine(globals, 'RegExp', RegExpShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals RegExp: false */\n }\n\n if (supportsDescriptors) {\n var regexGlobals = {\n input: '$_',\n lastMatch: '$&',\n lastParen: '$+',\n leftContext: '$`',\n rightContext: '$\\''\n };\n _forEach(keys(regexGlobals), function (prop) {\n if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {\n Value.getter(RegExp, regexGlobals[prop], function get() {\n return RegExp[prop];\n });\n }\n });\n }\n addDefaultSpecies(RegExp);\n\n var inverseEpsilon = 1 / Number.EPSILON;\n var roundTiesToEven = function roundTiesToEven(n) {\n // Even though this reduces down to `return n`, it takes advantage of built-in rounding.\n return (n + inverseEpsilon) - inverseEpsilon;\n };\n var BINARY_32_EPSILON = Math.pow(2, -23);\n var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);\n var BINARY_32_MIN_VALUE = Math.pow(2, -126);\n var E = Math.E;\n var LOG2E = Math.LOG2E;\n var LOG10E = Math.LOG10E;\n var numberCLZ = Number.prototype.clz;\n delete Number.prototype.clz; // Safari 8 has Number#clz\n\n var MathShims = {\n acosh: function acosh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || value < 1) { return NaN; }\n if (x === 1) { return 0; }\n if (x === Infinity) { return x; }\n\n var xInvSquared = 1 / (x * x);\n if (x < 2) {\n return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));\n }\n var halfX = x / 2;\n return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);\n },\n\n asinh: function asinh(value) {\n var x = Number(value);\n if (x === 0 || !globalIsFinite(x)) {\n return x;\n }\n\n var a = _abs(x);\n var aSquared = a * a;\n var s = _sign(x);\n if (a < 1) {\n return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));\n }\n return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));\n },\n\n atanh: function atanh(value) {\n var x = Number(value);\n\n if (x === 0) { return x; }\n if (x === -1) { return -Infinity; }\n if (x === 1) { return Infinity; }\n if (numberIsNaN(x) || x < -1 || x > 1) {\n return NaN;\n }\n\n var a = _abs(x);\n return _sign(x) * _log1p(2 * a / (1 - a)) / 2;\n },\n\n cbrt: function cbrt(value) {\n var x = Number(value);\n if (x === 0) { return x; }\n var negate = x < 0;\n var result;\n if (negate) { x = -x; }\n if (x === Infinity) {\n result = Infinity;\n } else {\n result = _exp(_log(x) / 3);\n // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods\n result = ((x / (result * result)) + (2 * result)) / 3;\n }\n return negate ? -result : result;\n },\n\n clz32: function clz32(value) {\n // See https://bugs.ecmascript.org/show_bug.cgi?id=2465\n var x = Number(value);\n var number = ES.ToUint32(x);\n if (number === 0) {\n return 32;\n }\n return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);\n },\n\n cosh: function cosh(value) {\n var x = Number(value);\n if (x === 0) { return 1; } // +0 or -0\n if (numberIsNaN(x)) { return NaN; }\n if (!globalIsFinite(x)) { return Infinity; }\n\n var t = _exp(_abs(x) - 1);\n return (t + (1 / (t * E * E))) * (E / 2);\n },\n\n expm1: function expm1(value) {\n var x = Number(value);\n if (x === -Infinity) { return -1; }\n if (!globalIsFinite(x) || x === 0) { return x; }\n if (_abs(x) > 0.5) {\n return _exp(x) - 1;\n }\n // A more precise approximation using Taylor series expansion\n // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986\n var t = x;\n var sum = 0;\n var n = 1;\n while (sum + t !== sum) {\n sum += t;\n n += 1;\n t *= x / n;\n }\n return sum;\n },\n\n hypot: function hypot(x, y) {\n var result = 0;\n var largest = 0;\n for (var i = 0; i < arguments.length; ++i) {\n var value = _abs(Number(arguments[i]));\n if (largest < value) {\n result *= (largest / value) * (largest / value);\n result += 1;\n largest = value;\n } else {\n result += value > 0 ? (value / largest) * (value / largest) : value;\n }\n }\n return largest === Infinity ? Infinity : largest * _sqrt(result);\n },\n\n log2: function log2(value) {\n return _log(value) * LOG2E;\n },\n\n log10: function log10(value) {\n return _log(value) * LOG10E;\n },\n\n log1p: _log1p,\n\n sign: _sign,\n\n sinh: function sinh(value) {\n var x = Number(value);\n if (!globalIsFinite(x) || x === 0) { return x; }\n\n var a = _abs(x);\n if (a < 1) {\n var u = Math.expm1(a);\n return _sign(x) * u * (1 + (1 / (u + 1))) / 2;\n }\n var t = _exp(a - 1);\n return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);\n },\n\n tanh: function tanh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || x === 0) { return x; }\n // can exit early at +-20 as JS loses precision for true value at this integer\n if (x >= 20) { return 1; }\n if (x <= -20) { return -1; }\n\n return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));\n },\n\n trunc: function trunc(value) {\n var x = Number(value);\n return x < 0 ? -_floor(-x) : _floor(x);\n },\n\n imul: function imul(x, y) {\n // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n var a = ES.ToUint32(x);\n var b = ES.ToUint32(y);\n var ah = (a >>> 16) & 0xffff;\n var al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff;\n var bl = b & 0xffff;\n // the shift by 0 fixes the sign on the high part\n // the final |0 converts the unsigned value into a signed value\n return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;\n },\n\n fround: function fround(x) {\n var v = Number(x);\n if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {\n return v;\n }\n var sign = _sign(v);\n var abs = _abs(v);\n if (abs < BINARY_32_MIN_VALUE) {\n return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;\n }\n // Veltkamp's splitting (?)\n var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;\n var result = a - (a - abs);\n if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {\n return sign * Infinity;\n }\n return sign * result;\n }\n };\n\n var withinULPDistance = function withinULPDistance(result, expected, distance) {\n return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);\n };\n\n defineProperties(Math, MathShims);\n // Chrome < 40 sinh returns ∞ for large numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);\n // Chrome < 40 cosh returns ∞ for large numbers\n defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);\n // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0\n defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);\n // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));\n // Chrome < 54 asinh returns ∞ for large numbers and should not\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);\n // Chrome < 54 atanh incorrectly returns 0 for large numbers\n defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);\n // Chrome 40 has an imprecise Math.tanh with very small numbers\n defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);\n // Chrome 40 loses Math.acosh precision with high numbers\n defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);\n // Chrome < 54 has an inaccurate acosh for EPSILON deltas\n defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));\n // Firefox 38 on Windows\n defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));\n // node 0.11 has an imprecise Math.sinh with very small numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);\n // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)\n var expm1OfTen = Math.expm1(10);\n defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);\n\n var origMathRound = Math.round;\n // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12\n var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0 &&\n Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;\n\n // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.\n // This behavior should be governed by \"round to nearest, ties to even mode\"\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type\n // These are the boundary cases where it breaks.\n var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;\n var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;\n var roundDoesNotIncreaseIntegers = [\n smallestPositiveNumberWhereRoundBreaks,\n largestPositiveNumberWhereRoundBreaks\n ].every(function (num) {\n return Math.round(num) === num;\n });\n defineProperty(Math, 'round', function round(x) {\n var floor = _floor(x);\n var ceil = floor === -1 ? -0 : floor + 1;\n return x - floor < 0.5 ? floor : ceil;\n }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers);\n Value.preserveToString(Math.round, origMathRound);\n\n var origImul = Math.imul;\n if (Math.imul(0xffffffff, 5) !== -5) {\n // Safari 6.1, at least, reports \"0\" for this value\n Math.imul = MathShims.imul;\n Value.preserveToString(Math.imul, origImul);\n }\n if (Math.imul.length !== 2) {\n // Safari 8.0.4 has a length of 1\n // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658\n overrideNative(Math, 'imul', function imul(x, y) {\n return ES.Call(origImul, Math, arguments);\n });\n }\n\n // Promises\n // Simplest possible implementation; use a 3rd-party library if you\n // want the best possible speed and/or long stack traces.\n var PromiseShim = (function () {\n var setTimeout = globals.setTimeout;\n // some environments don't have setTimeout - no way to shim here.\n if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; }\n\n ES.IsPromise = function (promise) {\n if (!ES.TypeIsObject(promise)) {\n return false;\n }\n if (typeof promise._promise === 'undefined') {\n return false; // uninitialized, or missing our hidden field.\n }\n return true;\n };\n\n // \"PromiseCapability\" in the spec is what most promise implementations\n // call a \"deferred\".\n var PromiseCapability = function (C) {\n if (!ES.IsConstructor(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = this;\n var resolver = function (resolve, reject) {\n if (capability.resolve !== void 0 || capability.reject !== void 0) {\n throw new TypeError('Bad Promise implementation!');\n }\n capability.resolve = resolve;\n capability.reject = reject;\n };\n // Initialize fields to inform optimizers about the object shape.\n capability.resolve = void 0;\n capability.reject = void 0;\n capability.promise = new C(resolver);\n if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {\n throw new TypeError('Bad promise constructor');\n }\n };\n\n // find an appropriate setImmediate-alike\n var makeZeroTimeout;\n /*global window */\n if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) {\n makeZeroTimeout = function () {\n // from http://dbaron.org/log/20100309-faster-timeouts\n var timeouts = [];\n var messageName = 'zero-timeout-message';\n var setZeroTimeout = function (fn) {\n _push(timeouts, fn);\n window.postMessage(messageName, '*');\n };\n var handleMessage = function (event) {\n if (event.source === window && event.data === messageName) {\n event.stopPropagation();\n if (timeouts.length === 0) { return; }\n var fn = _shift(timeouts);\n fn();\n }\n };\n window.addEventListener('message', handleMessage, true);\n return setZeroTimeout;\n };\n }\n var makePromiseAsap = function () {\n // An efficient task-scheduler based on a pre-existing Promise\n // implementation, which we can use even if we override the\n // global Promise below (in order to workaround bugs)\n // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671\n var P = globals.Promise;\n var pr = P && P.resolve && P.resolve();\n return pr && function (task) {\n return pr.then(task);\n };\n };\n /*global process */\n var enqueue = ES.IsCallable(globals.setImmediate) ?\n globals.setImmediate :\n typeof process === 'object' && process.nextTick ? process.nextTick : makePromiseAsap() ||\n (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); }); // fallback\n\n // Constants for Promise implementation\n var PROMISE_IDENTITY = function (x) { return x; };\n var PROMISE_THROWER = function (e) { throw e; };\n var PROMISE_PENDING = 0;\n var PROMISE_FULFILLED = 1;\n var PROMISE_REJECTED = 2;\n // We store fulfill/reject handlers and capabilities in a single array.\n var PROMISE_FULFILL_OFFSET = 0;\n var PROMISE_REJECT_OFFSET = 1;\n var PROMISE_CAPABILITY_OFFSET = 2;\n // This is used in an optimization for chaining promises via then.\n var PROMISE_FAKE_CAPABILITY = {};\n\n var enqueuePromiseReactionJob = function (handler, capability, argument) {\n enqueue(function () {\n promiseReactionJob(handler, capability, argument);\n });\n };\n\n var promiseReactionJob = function (handler, promiseCapability, argument) {\n var handlerResult, f;\n if (promiseCapability === PROMISE_FAKE_CAPABILITY) {\n // Fast case, when we don't actually need to chain through to a\n // (real) promiseCapability.\n return handler(argument);\n }\n try {\n handlerResult = handler(argument);\n f = promiseCapability.resolve;\n } catch (e) {\n handlerResult = e;\n f = promiseCapability.reject;\n }\n f(handlerResult);\n };\n\n var fulfillPromise = function (promise, value) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.fulfillReactionHandler0,\n _promise.reactionCapability0,\n value\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_FULFILL_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n value\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = value;\n _promise.state = PROMISE_FULFILLED;\n _promise.reactionLength = 0;\n };\n\n var rejectPromise = function (promise, reason) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.rejectReactionHandler0,\n _promise.reactionCapability0,\n reason\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_REJECT_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n reason\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = reason;\n _promise.state = PROMISE_REJECTED;\n _promise.reactionLength = 0;\n };\n\n var createResolvingFunctions = function (promise) {\n var alreadyResolved = false;\n var resolve = function (resolution) {\n var then;\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n if (resolution === promise) {\n return rejectPromise(promise, new TypeError('Self resolution'));\n }\n if (!ES.TypeIsObject(resolution)) {\n return fulfillPromise(promise, resolution);\n }\n try {\n then = resolution.then;\n } catch (e) {\n return rejectPromise(promise, e);\n }\n if (!ES.IsCallable(then)) {\n return fulfillPromise(promise, resolution);\n }\n enqueue(function () {\n promiseResolveThenableJob(promise, resolution, then);\n });\n };\n var reject = function (reason) {\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n return rejectPromise(promise, reason);\n };\n return { resolve: resolve, reject: reject };\n };\n\n var optimizedThen = function (then, thenable, resolve, reject) {\n // Optimization: since we discard the result, we can pass our\n // own then implementation a special hint to let it know it\n // doesn't have to create it. (The PROMISE_FAKE_CAPABILITY\n // object is local to this implementation and unforgeable outside.)\n if (then === Promise$prototype$then) {\n _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);\n } else {\n _call(then, thenable, resolve, reject);\n }\n };\n var promiseResolveThenableJob = function (promise, thenable, then) {\n var resolvingFunctions = createResolvingFunctions(promise);\n var resolve = resolvingFunctions.resolve;\n var reject = resolvingFunctions.reject;\n try {\n optimizedThen(then, thenable, resolve, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n var Promise$prototype, Promise$prototype$then;\n var Promise = (function () {\n var PromiseShim = function Promise(resolver) {\n if (!(this instanceof PromiseShim)) {\n throw new TypeError('Constructor Promise requires \"new\"');\n }\n if (this && this._promise) {\n throw new TypeError('Bad construction');\n }\n // see https://bugs.ecmascript.org/show_bug.cgi?id=2482\n if (!ES.IsCallable(resolver)) {\n throw new TypeError('not a valid resolver');\n }\n var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {\n _promise: {\n result: void 0,\n state: PROMISE_PENDING,\n // The first member of the \"reactions\" array is inlined here,\n // since most promises only have one reaction.\n // We've also exploded the 'reaction' object to inline the\n // \"handler\" and \"capability\" fields, since both fulfill and\n // reject reactions share the same capability.\n reactionLength: 0,\n fulfillReactionHandler0: void 0,\n rejectReactionHandler0: void 0,\n reactionCapability0: void 0\n }\n });\n var resolvingFunctions = createResolvingFunctions(promise);\n var reject = resolvingFunctions.reject;\n try {\n resolver(resolvingFunctions.resolve, reject);\n } catch (e) {\n reject(e);\n }\n return promise;\n };\n return PromiseShim;\n }());\n Promise$prototype = Promise.prototype;\n\n var _promiseAllResolver = function (index, values, capability, remaining) {\n var alreadyCalled = false;\n return function (x) {\n if (alreadyCalled) { return; }\n alreadyCalled = true;\n values[index] = x;\n if ((--remaining.count) === 0) {\n var resolve = capability.resolve;\n resolve(values); // call w/ this===undefined\n }\n };\n };\n\n var performPromiseAll = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var values = [];\n var remaining = { count: 1 };\n var next, nextValue;\n var index = 0;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n values[index] = void 0;\n var nextPromise = C.resolve(nextValue);\n var resolveElement = _promiseAllResolver(\n index,\n values,\n resultCapability,\n remaining\n );\n remaining.count += 1;\n optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);\n index += 1;\n }\n if ((--remaining.count) === 0) {\n var resolve = resultCapability.resolve;\n resolve(values); // call w/ this===undefined\n }\n return resultCapability.promise;\n };\n\n var performPromiseRace = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var next, nextValue, nextPromise;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n // NOTE: If iterable has no items, resulting promise will never\n // resolve; see:\n // https://github.com/domenic/promises-unwrapping/issues/75\n // https://bugs.ecmascript.org/show_bug.cgi?id=2515\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n nextPromise = C.resolve(nextValue);\n optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);\n }\n return resultCapability.promise;\n };\n\n defineProperties(Promise, {\n all: function all(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseAll(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n race: function race(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseRace(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n reject: function reject(reason) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = new PromiseCapability(C);\n var rejectFunc = capability.reject;\n rejectFunc(reason); // call with this===undefined\n return capability.promise;\n },\n\n resolve: function resolve(v) {\n // See https://esdiscuss.org/topic/fixing-promise-resolve for spec\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n if (ES.IsPromise(v)) {\n var constructor = v.constructor;\n if (constructor === C) {\n return v;\n }\n }\n var capability = new PromiseCapability(C);\n var resolveFunc = capability.resolve;\n resolveFunc(v); // call with this===undefined\n return capability.promise;\n }\n });\n\n defineProperties(Promise$prototype, {\n 'catch': function (onRejected) {\n return this.then(null, onRejected);\n },\n\n then: function then(onFulfilled, onRejected) {\n var promise = this;\n if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); }\n var C = ES.SpeciesConstructor(promise, Promise);\n var resultCapability;\n var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;\n if (returnValueIsIgnored && C === Promise) {\n resultCapability = PROMISE_FAKE_CAPABILITY;\n } else {\n resultCapability = new PromiseCapability(C);\n }\n // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)\n // Note that we've split the 'reaction' object into its two\n // components, \"capabilities\" and \"handler\"\n // \"capabilities\" is always equal to `resultCapability`\n var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;\n var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;\n var _promise = promise._promise;\n var value;\n if (_promise.state === PROMISE_PENDING) {\n if (_promise.reactionLength === 0) {\n _promise.fulfillReactionHandler0 = fulfillReactionHandler;\n _promise.rejectReactionHandler0 = rejectReactionHandler;\n _promise.reactionCapability0 = resultCapability;\n } else {\n var idx = 3 * (_promise.reactionLength - 1);\n _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;\n _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;\n _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;\n }\n _promise.reactionLength += 1;\n } else if (_promise.state === PROMISE_FULFILLED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n fulfillReactionHandler,\n resultCapability,\n value\n );\n } else if (_promise.state === PROMISE_REJECTED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n rejectReactionHandler,\n resultCapability,\n value\n );\n } else {\n throw new TypeError('unexpected Promise state');\n }\n return resultCapability.promise;\n }\n });\n // This helps the optimizer by ensuring that methods which take\n // capabilities aren't polymorphic.\n PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);\n Promise$prototype$then = Promise$prototype.then;\n\n return Promise;\n }());\n\n // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.\n if (globals.Promise) {\n delete globals.Promise.accept;\n delete globals.Promise.defer;\n delete globals.Promise.prototype.chain;\n }\n\n if (typeof PromiseShim === 'function') {\n // export the Promise constructor.\n defineProperties(globals, { Promise: PromiseShim });\n // In Chrome 33 (and thereabouts) Promise is defined, but the\n // implementation is buggy in a number of ways. Let's check subclassing\n // support to see if we have a buggy implementation.\n var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {\n return S.resolve(42).then(function () {}) instanceof S;\n });\n var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {\n return globals.Promise.reject(42).then(null, 5).then(null, noop);\n });\n var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });\n // Promise.resolve() was errata'ed late in the ES6 process.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742\n // https://code.google.com/p/v8/issues/detail?id=4161\n // It serves as a proxy for a number of other bugs in early Promise\n // implementations.\n var promiseResolveBroken = (function (Promise) {\n var p = Promise.resolve(5);\n p.constructor = {};\n var p2 = Promise.resolve(p);\n try {\n p2.then(null, noop).then(null, noop); // avoid \"uncaught rejection\" warnings in console\n } catch (e) {\n return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314\n }\n return p === p2; // This *should* be false!\n }(globals.Promise));\n\n // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously\n var getsThenSynchronously = supportsDescriptors && (function () {\n var count = 0;\n // eslint-disable-next-line getter-return\n var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });\n Promise.resolve(thenable);\n return count === 1;\n }());\n\n var BadResolverPromise = function BadResolverPromise(executor) {\n var p = new Promise(executor);\n executor(3, function () {});\n this.then = p.then;\n this.constructor = BadResolverPromise;\n };\n BadResolverPromise.prototype = Promise.prototype;\n BadResolverPromise.all = Promise.all;\n // Chrome Canary 49 (probably older too) has some implementation bugs\n var hasBadResolverPromise = valueOrFalseIfThrows(function () {\n return !!BadResolverPromise.all([1, 2]);\n });\n\n if (!promiseSupportsSubclassing || !promiseIgnoresNonFunctionThenCallbacks ||\n !promiseRequiresObjectContext || promiseResolveBroken ||\n !getsThenSynchronously || hasBadResolverPromise) {\n /* globals Promise: true */\n /* eslint-disable no-undef, no-global-assign */\n Promise = PromiseShim;\n /* eslint-enable no-undef, no-global-assign */\n /* globals Promise: false */\n overrideNative(globals, 'Promise', PromiseShim);\n }\n if (Promise.all.length !== 1) {\n var origAll = Promise.all;\n overrideNative(Promise, 'all', function all(iterable) {\n return ES.Call(origAll, this, arguments);\n });\n }\n if (Promise.race.length !== 1) {\n var origRace = Promise.race;\n overrideNative(Promise, 'race', function race(iterable) {\n return ES.Call(origRace, this, arguments);\n });\n }\n if (Promise.resolve.length !== 1) {\n var origResolve = Promise.resolve;\n overrideNative(Promise, 'resolve', function resolve(x) {\n return ES.Call(origResolve, this, arguments);\n });\n }\n if (Promise.reject.length !== 1) {\n var origReject = Promise.reject;\n overrideNative(Promise, 'reject', function reject(r) {\n return ES.Call(origReject, this, arguments);\n });\n }\n ensureEnumerable(Promise, 'all');\n ensureEnumerable(Promise, 'race');\n ensureEnumerable(Promise, 'resolve');\n ensureEnumerable(Promise, 'reject');\n addDefaultSpecies(Promise);\n }\n\n // Map and Set require a true ES5 environment\n // Their fast path also requires that the environment preserve\n // property insertion order, which is not guaranteed by the spec.\n var testOrder = function (a) {\n var b = keys(_reduce(a, function (o, k) {\n o[k] = true;\n return o;\n }, {}));\n return a.join(':') === b.join(':');\n };\n var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);\n // some engines (eg, Chrome) only preserve insertion order for string keys\n var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);\n\n if (supportsDescriptors) {\n\n var fastkey = function fastkey(key, skipInsertionOrderCheck) {\n if (!skipInsertionOrderCheck && !preservesInsertionOrder) {\n return null;\n }\n if (isNullOrUndefined(key)) {\n return '^' + ES.ToString(key);\n } else if (typeof key === 'string') {\n return '$' + key;\n } else if (typeof key === 'number') {\n // note that -0 will get coerced to \"0\" when used as a property key\n if (!preservesNumericInsertionOrder) {\n return 'n' + key;\n }\n return key;\n } else if (typeof key === 'boolean') {\n return 'b' + key;\n }\n return null;\n };\n\n var emptyObject = function emptyObject() {\n // accomodate some older not-quite-ES5 browsers\n return Object.create ? Object.create(null) : {};\n };\n\n var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (entry) {\n if (!ES.TypeIsObject(entry)) {\n throw new TypeError('Iterator value ' + entry + ' is not an entry object');\n }\n map.set(entry[0], entry[1]);\n });\n } else if (iterable instanceof MapConstructor) {\n _call(MapConstructor.prototype.forEach, iterable, function (value, key) {\n map.set(key, value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = map.set;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextItem = next.value;\n try {\n if (!ES.TypeIsObject(nextItem)) {\n throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');\n }\n _call(adder, map, nextItem[0], nextItem[1]);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (value) {\n set.add(value);\n });\n } else if (iterable instanceof SetConstructor) {\n _call(SetConstructor.prototype.forEach, iterable, function (value) {\n set.add(value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = set.add;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextValue = next.value;\n try {\n _call(adder, set, nextValue);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n\n var collectionShims = {\n Map: (function () {\n\n var empty = {};\n\n var MapEntry = function MapEntry(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n };\n\n MapEntry.prototype.isRemoved = function isRemoved() {\n return this.key === empty;\n };\n\n var isMap = function isMap(map) {\n return !!map._es6map;\n };\n\n var requireMapSlot = function requireMapSlot(map, method) {\n if (!ES.TypeIsObject(map) || !isMap(map)) {\n throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));\n }\n };\n\n var MapIterator = function MapIterator(map, kind) {\n requireMapSlot(map, '[[MapIterator]]');\n this.head = map._head;\n this.i = this.head;\n this.kind = kind;\n };\n\n MapIterator.prototype = {\n isMapIterator: true,\n next: function next() {\n if (!this.isMapIterator) {\n throw new TypeError('Not a MapIterator');\n }\n var i = this.i;\n var kind = this.kind;\n var head = this.head;\n if (typeof this.i === 'undefined') {\n return iteratorResult();\n }\n while (i.isRemoved() && i !== head) {\n // back up off of removed entries\n i = i.prev;\n }\n // advance to next unreturned element.\n var result;\n while (i.next !== head) {\n i = i.next;\n if (!i.isRemoved()) {\n if (kind === 'key') {\n result = i.key;\n } else if (kind === 'value') {\n result = i.value;\n } else {\n result = [i.key, i.value];\n }\n this.i = i;\n return iteratorResult(result);\n }\n }\n // once the iterator is done, it is done forever.\n this.i = void 0;\n return iteratorResult();\n }\n };\n addIterator(MapIterator.prototype);\n\n var Map$prototype;\n var MapShim = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n if (this && this._es6map) {\n throw new TypeError('Bad construction');\n }\n var map = emulateES6construct(this, Map, Map$prototype, {\n _es6map: true,\n _head: null,\n _map: OrigMap ? new OrigMap() : null,\n _size: 0,\n _storage: emptyObject()\n });\n\n var head = new MapEntry(null, null);\n // circular doubly-linked list.\n /* eslint no-multi-assign: 1 */\n head.next = head.prev = head;\n map._head = head;\n\n // Optionally initialize map from iterable\n if (arguments.length > 0) {\n addIterableToMap(Map, map, arguments[0]);\n }\n return map;\n };\n Map$prototype = MapShim.prototype;\n\n Value.getter(Map$prototype, 'size', function () {\n if (typeof this._size === 'undefined') {\n throw new TypeError('size method called on incompatible Map');\n }\n return this._size;\n });\n\n defineProperties(Map$prototype, {\n get: function get(key) {\n requireMapSlot(this, 'get');\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n entry = this._storage[fkey];\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n if (this._map) {\n // fast object key path\n entry = origMapGet.call(this._map, key);\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return i.value;\n }\n }\n },\n\n has: function has(key) {\n requireMapSlot(this, 'has');\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n return typeof this._storage[fkey] !== 'undefined';\n }\n if (this._map) {\n // fast object key path\n return origMapHas.call(this._map, key);\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return true;\n }\n }\n return false;\n },\n\n set: function set(key, value) {\n requireMapSlot(this, 'set');\n var head = this._head;\n var i = head;\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] !== 'undefined') {\n this._storage[fkey].value = value;\n return this;\n } else {\n entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */\n i = head.prev;\n // fall through\n }\n } else if (this._map) {\n // fast object key path\n if (origMapHas.call(this._map, key)) {\n origMapGet.call(this._map, key).value = value;\n } else {\n entry = new MapEntry(key, value);\n origMapSet.call(this._map, key, entry);\n i = head.prev;\n // fall through\n }\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.value = value;\n return this;\n }\n }\n entry = entry || new MapEntry(key, value);\n if (ES.SameValue(-0, key)) {\n entry.key = +0; // coerce -0 to +0 in entry\n }\n entry.next = this._head;\n entry.prev = this._head.prev;\n entry.prev.next = entry;\n entry.next.prev = entry;\n this._size += 1;\n return this;\n },\n\n 'delete': function (key) {\n requireMapSlot(this, 'delete');\n var head = this._head;\n var i = head;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] === 'undefined') {\n return false;\n }\n i = this._storage[fkey].prev;\n delete this._storage[fkey];\n // fall through\n } else if (this._map) {\n // fast object key path\n if (!origMapHas.call(this._map, key)) {\n return false;\n }\n i = origMapGet.call(this._map, key).prev;\n origMapDelete.call(this._map, key);\n // fall through\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.key = empty;\n i.value = empty;\n i.prev.next = i.next;\n i.next.prev = i.prev;\n this._size -= 1;\n return true;\n }\n }\n return false;\n },\n\n clear: function clear() {\n /* eslint no-multi-assign: 1 */\n requireMapSlot(this, 'clear');\n this._map = OrigMap ? new OrigMap() : null;\n this._size = 0;\n this._storage = emptyObject();\n var head = this._head;\n var i = head;\n var p = i.next;\n while ((i = p) !== head) {\n i.key = empty;\n i.value = empty;\n p = i.next;\n i.next = i.prev = head;\n }\n head.next = head.prev = head;\n },\n\n keys: function keys() {\n requireMapSlot(this, 'keys');\n return new MapIterator(this, 'key');\n },\n\n values: function values() {\n requireMapSlot(this, 'values');\n return new MapIterator(this, 'value');\n },\n\n entries: function entries() {\n requireMapSlot(this, 'entries');\n return new MapIterator(this, 'key+value');\n },\n\n forEach: function forEach(callback) {\n requireMapSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var it = this.entries();\n for (var entry = it.next(); !entry.done; entry = it.next()) {\n if (context) {\n _call(callback, context, entry.value[1], entry.value[0], this);\n } else {\n callback(entry.value[1], entry.value[0], this);\n }\n }\n }\n });\n addIterator(Map$prototype, Map$prototype.entries);\n\n return MapShim;\n }()),\n\n Set: (function () {\n var isSet = function isSet(set) {\n return set._es6set && typeof set._storage !== 'undefined';\n };\n var requireSetSlot = function requireSetSlot(set, method) {\n if (!ES.TypeIsObject(set) || !isSet(set)) {\n // https://github.com/paulmillr/es6-shim/issues/176\n throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));\n }\n };\n\n // Creating a Map is expensive. To speed up the common case of\n // Sets containing only string or numeric keys, we use an object\n // as backing storage and lazily create a full Map only when\n // required.\n var Set$prototype;\n var SetShim = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n if (this && this._es6set) {\n throw new TypeError('Bad construction');\n }\n var set = emulateES6construct(this, Set, Set$prototype, {\n _es6set: true,\n '[[SetData]]': null,\n _storage: emptyObject()\n });\n if (!set._es6set) {\n throw new TypeError('bad set');\n }\n\n // Optionally initialize Set from iterable\n if (arguments.length > 0) {\n addIterableToSet(Set, set, arguments[0]);\n }\n return set;\n };\n Set$prototype = SetShim.prototype;\n\n var decodeKey = function (key) {\n var k = key;\n if (k === '^null') {\n return null;\n } else if (k === '^undefined') {\n return void 0;\n } else {\n var first = k.charAt(0);\n if (first === '$') {\n return _strSlice(k, 1);\n } else if (first === 'n') {\n return +_strSlice(k, 1);\n } else if (first === 'b') {\n return k === 'btrue';\n }\n }\n return +k;\n };\n // Switch from the object backing storage to a full Map.\n var ensureMap = function ensureMap(set) {\n if (!set['[[SetData]]']) {\n var m = new collectionShims.Map();\n set['[[SetData]]'] = m;\n _forEach(keys(set._storage), function (key) {\n var k = decodeKey(key);\n m.set(k, k);\n });\n set['[[SetData]]'] = m;\n }\n set._storage = null; // free old backing storage\n };\n\n Value.getter(SetShim.prototype, 'size', function () {\n requireSetSlot(this, 'size');\n if (this._storage) {\n return keys(this._storage).length;\n }\n ensureMap(this);\n return this['[[SetData]]'].size;\n });\n\n defineProperties(SetShim.prototype, {\n has: function has(key) {\n requireSetSlot(this, 'has');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n return !!this._storage[fkey];\n }\n ensureMap(this);\n return this['[[SetData]]'].has(key);\n },\n\n add: function add(key) {\n requireSetSlot(this, 'add');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n this._storage[fkey] = true;\n return this;\n }\n ensureMap(this);\n this['[[SetData]]'].set(key, key);\n return this;\n },\n\n 'delete': function (key) {\n requireSetSlot(this, 'delete');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n var hasFKey = _hasOwnProperty(this._storage, fkey);\n return (delete this._storage[fkey]) && hasFKey;\n }\n ensureMap(this);\n return this['[[SetData]]']['delete'](key);\n },\n\n clear: function clear() {\n requireSetSlot(this, 'clear');\n if (this._storage) {\n this._storage = emptyObject();\n }\n if (this['[[SetData]]']) {\n this['[[SetData]]'].clear();\n }\n },\n\n values: function values() {\n requireSetSlot(this, 'values');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].values());\n },\n\n entries: function entries() {\n requireSetSlot(this, 'entries');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].entries());\n },\n\n forEach: function forEach(callback) {\n requireSetSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var entireSet = this;\n ensureMap(entireSet);\n this['[[SetData]]'].forEach(function (value, key) {\n if (context) {\n _call(callback, context, key, key, entireSet);\n } else {\n callback(key, key, entireSet);\n }\n });\n }\n });\n defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);\n addIterator(SetShim.prototype, SetShim.prototype.values);\n\n var SetIterator = function SetIterator(it) {\n this.it = it;\n };\n SetIterator.prototype = {\n isSetIterator: true,\n next: function next() {\n if (!this.isSetIterator) {\n throw new TypeError('Not a SetIterator');\n }\n return this.it.next();\n }\n };\n addIterator(SetIterator.prototype);\n\n return SetShim;\n }())\n };\n\n var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys);\n if (isGoogleTranslate) {\n // special-case force removal of wildly invalid Set implementation in Google Translate iframes\n // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904\n globals.Set = collectionShims.Set;\n }\n if (globals.Map || globals.Set) {\n // Safari 8, for example, doesn't accept an iterable.\n var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });\n if (!mapAcceptsArguments) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, globals.Map.prototype);\n return m;\n };\n globals.Map.prototype = create(OrigMap.prototype);\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var testMap = new Map();\n var mapUsesSameValueZero = (function () {\n // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4\n var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);\n m.set(-0, m);\n return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);\n }());\n var mapSupportsChaining = testMap.set(1, 2) === testMap;\n if (!mapUsesSameValueZero || !mapSupportsChaining) {\n overrideNative(Map.prototype, 'set', function set(k, v) {\n _call(origMapSet, this, k === 0 ? 0 : k, v);\n return this;\n });\n }\n if (!mapUsesSameValueZero) {\n defineProperties(Map.prototype, {\n get: function get(k) {\n return _call(origMapGet, this, k === 0 ? 0 : k);\n },\n has: function has(k) {\n return _call(origMapHas, this, k === 0 ? 0 : k);\n }\n }, true);\n Value.preserveToString(Map.prototype.get, origMapGet);\n Value.preserveToString(Map.prototype.has, origMapHas);\n }\n var testSet = new Set();\n var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {\n s['delete'](0);\n s.add(-0);\n return !s.has(0);\n }(testSet));\n var setSupportsChaining = testSet.add(1) === testSet;\n if (!setUsesSameValueZero || !setSupportsChaining) {\n var origSetAdd = Set.prototype.add;\n Set.prototype.add = function add(v) {\n _call(origSetAdd, this, v === 0 ? 0 : v);\n return this;\n };\n Value.preserveToString(Set.prototype.add, origSetAdd);\n }\n if (!setUsesSameValueZero) {\n var origSetHas = Set.prototype.has;\n Set.prototype.has = function has(v) {\n return _call(origSetHas, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype.has, origSetHas);\n var origSetDel = Set.prototype['delete'];\n Set.prototype['delete'] = function SetDelete(v) {\n return _call(origSetDel, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype['delete'], origSetDel);\n }\n var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {\n var m = new M([]);\n // Firefox 32 is ok with the instantiating the subclass but will\n // throw when the map is used.\n m.set(42, 42);\n return m instanceof M;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;\n var mapRequiresNew = (function () {\n try {\n return !(globals.Map() instanceof globals.Map);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, Map.prototype);\n return m;\n };\n globals.Map.prototype = OrigMap.prototype;\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {\n var s = new S([]);\n s.add(42, 42);\n return s instanceof S;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;\n var setRequiresNew = (function () {\n try {\n return !(globals.Set() instanceof globals.Set);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {\n var OrigSet = globals.Set;\n globals.Set = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n var s = new OrigSet();\n if (arguments.length > 0) {\n addIterableToSet(Set, s, arguments[0]);\n }\n delete s.constructor;\n Object.setPrototypeOf(s, Set.prototype);\n return s;\n };\n globals.Set.prototype = OrigSet.prototype;\n defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);\n Value.preserveToString(globals.Set, OrigSet);\n }\n var newMap = new globals.Map();\n var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {\n return newMap.keys().next().done;\n });\n /*\n - In Firefox < 23, Map#size is a function.\n - In all current Firefox, Set#entries/keys/values & Map#clear do not exist\n - https://bugzilla.mozilla.org/show_bug.cgi?id=869996\n - In Firefox 24, Map and Set do not implement forEach\n - In Firefox 25 at least, Map and Set are callable without \"new\"\n */\n if (\n typeof globals.Map.prototype.clear !== 'function' ||\n new globals.Set().size !== 0 ||\n newMap.size !== 0 ||\n typeof globals.Map.prototype.keys !== 'function' ||\n typeof globals.Set.prototype.keys !== 'function' ||\n typeof globals.Map.prototype.forEach !== 'function' ||\n typeof globals.Set.prototype.forEach !== 'function' ||\n isCallableWithoutNew(globals.Map) ||\n isCallableWithoutNew(globals.Set) ||\n typeof newMap.keys().next !== 'function' || // Safari 8\n mapIterationThrowsStopIterator || // Firefox 25\n !mapSupportsSubclassing\n ) {\n defineProperties(globals, {\n Map: collectionShims.Map,\n Set: collectionShims.Set\n }, true);\n }\n\n if (globals.Set.prototype.keys !== globals.Set.prototype.values) {\n // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190\n defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);\n }\n\n // Shim incomplete iterator implementations.\n addIterator(Object.getPrototypeOf((new globals.Map()).keys()));\n addIterator(Object.getPrototypeOf((new globals.Set()).keys()));\n\n if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {\n // Microsoft Edge v0.11.10074.0 is missing a name on Set#has\n var anonymousSetHas = globals.Set.prototype.has;\n overrideNative(globals.Set.prototype, 'has', function has(key) {\n return _call(anonymousSetHas, this, key);\n });\n }\n }\n defineProperties(globals, collectionShims);\n addDefaultSpecies(globals.Map);\n addDefaultSpecies(globals.Set);\n }\n\n var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {\n if (!ES.TypeIsObject(target)) {\n throw new TypeError('target must be an object');\n }\n };\n\n // Some Reflect methods are basically the same as\n // those on the Object global, except that a TypeError is thrown if\n // target isn't an object. As well as returning a boolean indicating\n // the success of the operation.\n var ReflectShims = {\n // Apply method in a functional form.\n apply: function apply() {\n return ES.Call(ES.Call, null, arguments);\n },\n\n // New operator in a functional form.\n construct: function construct(constructor, args) {\n if (!ES.IsConstructor(constructor)) {\n throw new TypeError('First argument must be a constructor.');\n }\n var newTarget = arguments.length > 2 ? arguments[2] : constructor;\n if (!ES.IsConstructor(newTarget)) {\n throw new TypeError('new.target must be a constructor.');\n }\n return ES.Construct(constructor, args, newTarget, 'internal');\n },\n\n // When deleting a non-existent or configurable property,\n // true is returned.\n // When attempting to delete a non-configurable property,\n // it will return false.\n deleteProperty: function deleteProperty(target, key) {\n throwUnlessTargetIsObject(target);\n if (supportsDescriptors) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (desc && !desc.configurable) {\n return false;\n }\n }\n\n // Will return true.\n return delete target[key];\n },\n\n has: function has(target, key) {\n throwUnlessTargetIsObject(target);\n return key in target;\n }\n };\n\n if (Object.getOwnPropertyNames) {\n Object.assign(ReflectShims, {\n // Basically the result of calling the internal [[OwnPropertyKeys]].\n // Concatenating propertyNames and propertySymbols should do the trick.\n // This should continue to work together with a Symbol shim\n // which overrides Object.getOwnPropertyNames and implements\n // Object.getOwnPropertySymbols.\n ownKeys: function ownKeys(target) {\n throwUnlessTargetIsObject(target);\n var keys = Object.getOwnPropertyNames(target);\n\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n _pushApply(keys, Object.getOwnPropertySymbols(target));\n }\n\n return keys;\n }\n });\n }\n\n var callAndCatchException = function ConvertExceptionToBoolean(func) {\n return !throwsError(func);\n };\n\n if (Object.preventExtensions) {\n Object.assign(ReflectShims, {\n isExtensible: function isExtensible(target) {\n throwUnlessTargetIsObject(target);\n return Object.isExtensible(target);\n },\n preventExtensions: function preventExtensions(target) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.preventExtensions(target);\n });\n }\n });\n }\n\n if (supportsDescriptors) {\n var internalGet = function get(target, key, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent === null) {\n return void 0;\n }\n\n return internalGet(parent, key, receiver);\n }\n\n if ('value' in desc) {\n return desc.value;\n }\n\n if (desc.get) {\n return ES.Call(desc.get, receiver);\n }\n\n return void 0;\n };\n\n var internalSet = function set(target, key, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent !== null) {\n return internalSet(parent, key, value, receiver);\n }\n\n desc = {\n value: void 0,\n writable: true,\n enumerable: true,\n configurable: true\n };\n }\n\n if ('value' in desc) {\n if (!desc.writable) {\n return false;\n }\n\n if (!ES.TypeIsObject(receiver)) {\n return false;\n }\n\n var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);\n\n if (existingDesc) {\n return Reflect.defineProperty(receiver, key, {\n value: value\n });\n } else {\n return Reflect.defineProperty(receiver, key, {\n value: value,\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (desc.set) {\n _call(desc.set, receiver, value);\n return true;\n }\n\n return false;\n };\n\n Object.assign(ReflectShims, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.defineProperty(target, propertyKey, attributes);\n });\n },\n\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n throwUnlessTargetIsObject(target);\n return Object.getOwnPropertyDescriptor(target, propertyKey);\n },\n\n // Syntax in a functional form.\n get: function get(target, key) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 2 ? arguments[2] : target;\n\n return internalGet(target, key, receiver);\n },\n\n set: function set(target, key, value) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 3 ? arguments[3] : target;\n\n return internalSet(target, key, value, receiver);\n }\n });\n }\n\n if (Object.getPrototypeOf) {\n var objectDotGetPrototypeOf = Object.getPrototypeOf;\n ReflectShims.getPrototypeOf = function getPrototypeOf(target) {\n throwUnlessTargetIsObject(target);\n return objectDotGetPrototypeOf(target);\n };\n }\n\n if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {\n var willCreateCircularPrototype = function (object, lastProto) {\n var proto = lastProto;\n while (proto) {\n if (object === proto) {\n return true;\n }\n proto = ReflectShims.getPrototypeOf(proto);\n }\n return false;\n };\n\n Object.assign(ReflectShims, {\n // Sets the prototype of the given object.\n // Returns true on success, otherwise false.\n setPrototypeOf: function setPrototypeOf(object, proto) {\n throwUnlessTargetIsObject(object);\n if (proto !== null && !ES.TypeIsObject(proto)) {\n throw new TypeError('proto must be an object or null');\n }\n\n // If they already are the same, we're done.\n if (proto === Reflect.getPrototypeOf(object)) {\n return true;\n }\n\n // Cannot alter prototype if object not extensible.\n if (Reflect.isExtensible && !Reflect.isExtensible(object)) {\n return false;\n }\n\n // Ensure that we do not create a circular prototype chain.\n if (willCreateCircularPrototype(object, proto)) {\n return false;\n }\n\n Object.setPrototypeOf(object, proto);\n\n return true;\n }\n });\n }\n var defineOrOverrideReflectProperty = function (key, shim) {\n if (!ES.IsCallable(globals.Reflect[key])) {\n defineProperty(globals.Reflect, key, shim);\n } else {\n var acceptsPrimitives = valueOrFalseIfThrows(function () {\n globals.Reflect[key](1);\n globals.Reflect[key](NaN);\n globals.Reflect[key](true);\n return true;\n });\n if (acceptsPrimitives) {\n overrideNative(globals.Reflect, key, shim);\n }\n }\n };\n Object.keys(ReflectShims).forEach(function (key) {\n defineOrOverrideReflectProperty(key, ReflectShims[key]);\n });\n var originalReflectGetProto = globals.Reflect.getPrototypeOf;\n if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {\n overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) {\n return _call(originalReflectGetProto, globals.Reflect, target);\n });\n }\n if (globals.Reflect.setPrototypeOf) {\n if (valueOrFalseIfThrows(function () {\n globals.Reflect.setPrototypeOf(1, {});\n return true;\n })) {\n overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);\n }\n }\n if (globals.Reflect.defineProperty) {\n if (!valueOrFalseIfThrows(function () {\n var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });\n // \"extensible\" fails on Edge 0.12\n var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});\n return basic && extensible;\n })) {\n overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);\n }\n }\n if (globals.Reflect.construct) {\n if (!valueOrFalseIfThrows(function () {\n var F = function F() {};\n return globals.Reflect.construct(function () {}, [], F) instanceof F;\n })) {\n overrideNative(globals.Reflect, 'construct', ReflectShims.construct);\n }\n }\n\n if (String(new Date(NaN)) !== 'Invalid Date') {\n var dateToString = Date.prototype.toString;\n var shimmedDateToString = function toString() {\n var valueOf = +this;\n if (valueOf !== valueOf) {\n return 'Invalid Date';\n }\n return ES.Call(dateToString, this);\n };\n overrideNative(Date.prototype, 'toString', shimmedDateToString);\n }\n\n // Annex B HTML methods\n // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object\n var stringHTMLshims = {\n anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); },\n big: function big() { return ES.CreateHTML(this, 'big', '', ''); },\n blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); },\n bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); },\n fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); },\n fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); },\n fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); },\n italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); },\n link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); },\n small: function small() { return ES.CreateHTML(this, 'small', '', ''); },\n strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); },\n sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); },\n sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); }\n };\n _forEach(Object.keys(stringHTMLshims), function (key) {\n var method = String.prototype[key];\n var shouldOverwrite = false;\n if (ES.IsCallable(method)) {\n var output = _call(method, '', ' \" ');\n var quotesCount = _concat([], output.match(/\"/g)).length;\n shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;\n } else {\n shouldOverwrite = true;\n }\n if (shouldOverwrite) {\n overrideNative(String.prototype, key, stringHTMLshims[key]);\n }\n });\n\n var JSONstringifiesSymbols = (function () {\n // Microsoft Edge v0.12 stringifies Symbols incorrectly\n if (!hasSymbols) { return false; } // Symbols are not supported\n var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;\n if (!stringify) { return false; } // JSON.stringify is not supported\n if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined`\n if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null`\n var obj = { a: Symbol() };\n obj[Symbol()] = true;\n if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted\n return false;\n }());\n var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {\n // Chrome 45 throws on stringifying object symbols\n if (!hasSymbols) { return true; } // Symbols are not supported\n return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';\n });\n if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {\n var origStringify = JSON.stringify;\n overrideNative(JSON, 'stringify', function stringify(value) {\n if (typeof value === 'symbol') { return; }\n var replacer;\n if (arguments.length > 1) {\n replacer = arguments[1];\n }\n var args = [value];\n if (!isArray(replacer)) {\n var replaceFn = ES.IsCallable(replacer) ? replacer : null;\n var wrappedReplacer = function (key, val) {\n var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val;\n if (typeof parsedValue !== 'symbol') {\n if (Type.symbol(parsedValue)) {\n return assignTo({})(parsedValue);\n } else {\n return parsedValue;\n }\n }\n };\n args.push(wrappedReplacer);\n } else {\n // create wrapped replacer that handles an array replacer?\n args.push(replacer);\n }\n if (arguments.length > 2) {\n args.push(arguments[2]);\n }\n return origStringify.apply(this, args);\n });\n }\n\n return globals;\n}));\n","/** @license React v16.8.4\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h 13\n */\n\nvar codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n}\n\n// Helper aliases\n\nvar aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n}\n\n/*!\n * Programatically add the following\n */\n\n// lower case chars\nfor (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32\n\n// numbers\nfor (var i = 48; i < 58; i++) codes[i - 48] = i\n\n// function keys\nfor (i = 1; i < 13; i++) codes['f'+i] = i + 111\n\n// numpad keys\nfor (i = 0; i < 10; i++) codes['numpad '+i] = i + 96\n\n/**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\nvar names = exports.names = exports.title = {} // title for backward compat\n\n// Create reverse mapping\nfor (i in codes) names[codes[i]] = i\n\n// Add aliases\nfor (var alias in aliases) {\n codes[alias] = aliases[alias]\n}\n","/** @license React v16.8.4\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function ba(a,b,c,d,e,f,g,h){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[c,d,e,f,g,h],k=0;a=Error(b.replace(/%s/g,function(){return l[k++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction x(a){for(var b=arguments.length-1,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,d=0;dthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{a=b.contentDocument.defaultView}catch(c){break}b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"307\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.eagerReducer=a;c.eagerState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.eagerReducer,null!==d))try{var l=b.eagerState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,eagerReducer:a,eagerState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,eagerReducer:og,\neagerState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return tg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof p.is?k=k.createElement(e,{is:p.is}):(k=k.createElement(e),\"select\"===e&&p.multiple&&(k.multiple=!0)):k=k.createElementNS(l,e);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Popper = factory());\n}(this, (function () { 'use strict';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nreturn Popper;\n\n})));\n//# sourceMappingURL=popper.js.map\n"],"mappings":"AAGA;;;;;;;;;;;ACIA;;;;;;ACMA;;;;;ACLA;;;;;ACKA;;;;;ACAA;;;;;;;;;ACGA;;;;;;;;ACPA;;;;AC4IA;;;;;;;;ACzIA;;;;;;;;;ACHA;;;;;;;ACAA;;;;;;;ACMA;;;;;;;;;;;;;;;;;;;;;;;;ACSA","sourceRoot":""} \ No newline at end of file +{"version":3,"file":"vendors~main.e60190c357946296b8a1.bundle.js","sources":["webpack:///./node_modules/react/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/repeat-string/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/es5-shim/es5-shim.js","webpack:///./node_modules/es5-shim/es5-sham.js","webpack:///./node_modules/es6-shim/es6-shim.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/keycode/index.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/popper.js/dist/umd/popper.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/*!\n * https://github.com/es-shims/es5-shim\n * @license es5-shim Copyright 2009-2015 by contributors, MIT License\n * see https://github.com/es-shims/es5-shim/blob/master/LICENSE\n */\n\n// vim: ts=4 sts=4 sw=4 expandtab\n\n// Add semicolon to prevent IIFE from being passed as argument to concatenated code.\n;\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js\n(function (root, factory) {\n 'use strict';\n\n /* global define, exports, module */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like enviroments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n /**\n * Brings an environment as close to ECMAScript 5 compliance\n * as is possible with the facilities of erstwhile engines.\n *\n * Annotated ES5: http://es5.github.com/ (specific links below)\n * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf\n * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/\n */\n\n // Shortcut to an often accessed properties, in order to avoid multiple\n // dereference that costs universally. This also holds a reference to known-good\n // functions.\n var $Array = Array;\n var ArrayPrototype = $Array.prototype;\n var $Object = Object;\n var ObjectPrototype = $Object.prototype;\n var $Function = Function;\n var FunctionPrototype = $Function.prototype;\n var $String = String;\n var StringPrototype = $String.prototype;\n var $Number = Number;\n var NumberPrototype = $Number.prototype;\n var array_slice = ArrayPrototype.slice;\n var array_splice = ArrayPrototype.splice;\n var array_push = ArrayPrototype.push;\n var array_unshift = ArrayPrototype.unshift;\n var array_concat = ArrayPrototype.concat;\n var array_join = ArrayPrototype.join;\n var call = FunctionPrototype.call;\n var apply = FunctionPrototype.apply;\n var max = Math.max;\n var min = Math.min;\n\n // Having a toString local variable name breaks in Opera so use to_string.\n var to_string = ObjectPrototype.toString;\n\n /* global Symbol */\n /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */\n var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\\/\\/.*\\n/g, ''); var multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, ''); var spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { return false; /* not a function */ } }, tryFunctionObject = function tryFunctionObject(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]', isCallable = function isCallable(value) { if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; };\n\n var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; };\n var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; };\n /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */\n\n /* inlined from http://npmjs.com/define-properties */\n var supportsDescriptors = $Object.defineProperty && (function () {\n try {\n var obj = {};\n $Object.defineProperty(obj, 'x', { enumerable: false, value: obj });\n for (var _ in obj) { // jscs:ignore disallowUnusedVariables\n return false;\n }\n return obj.x === obj;\n } catch (e) { /* this is ES3 */\n return false;\n }\n }());\n var defineProperties = (function (has) {\n // Define configurable, writable, and non-enumerable props\n // if they don't exist.\n var defineProperty;\n if (supportsDescriptors) {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) {\n return;\n }\n $Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: method\n });\n };\n } else {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) {\n return;\n }\n object[name] = method;\n };\n }\n return function defineProperties(object, map, forceAssign) {\n for (var name in map) {\n if (has.call(map, name)) {\n defineProperty(object, name, map[name], forceAssign);\n }\n }\n };\n }(ObjectPrototype.hasOwnProperty));\n\n //\n // Util\n // ======\n //\n\n /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */\n var isPrimitive = function isPrimitive(input) {\n var type = typeof input;\n return input === null || (type !== 'object' && type !== 'function');\n };\n\n var isActualNaN = $Number.isNaN || function isActualNaN(x) {\n return x !== x;\n };\n\n var ES = {\n // ES5 9.4\n // http://es5.github.com/#x9.4\n // http://jsperf.com/to-integer\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */\n ToInteger: function ToInteger(num) {\n var n = +num;\n if (isActualNaN(n)) {\n n = 0;\n } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n return n;\n },\n\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */\n ToPrimitive: function ToPrimitive(input) {\n var val, valueOf, toStr;\n if (isPrimitive(input)) {\n return input;\n }\n valueOf = input.valueOf;\n if (isCallable(valueOf)) {\n val = valueOf.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n toStr = input.toString;\n if (isCallable(toStr)) {\n val = toStr.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n throw new TypeError();\n },\n\n // ES5 9.9\n // http://es5.github.com/#x9.9\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */\n ToObject: function (o) {\n if (o == null) { // this matches both null and undefined\n throw new TypeError(\"can't convert \" + o + ' to object');\n }\n return $Object(o);\n },\n\n /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */\n ToUint32: function ToUint32(x) {\n return x >>> 0;\n }\n };\n\n //\n // Function\n // ========\n //\n\n // ES-5 15.3.4.5\n // http://es5.github.com/#x15.3.4.5\n\n var Empty = function Empty() {};\n\n defineProperties(FunctionPrototype, {\n bind: function bind(that) { // .length is 1\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isCallable(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var bound;\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = apply.call(\n target,\n this,\n array_concat.call(args, array_slice.call(arguments))\n );\n if ($Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return apply.call(\n target,\n that,\n array_concat.call(args, array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n array_push.call(boundArgs, '$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n });\n\n // _Please note: Shortcuts are defined after `Function.prototype.bind` as we\n // use it in defining shortcuts.\n var owns = call.bind(ObjectPrototype.hasOwnProperty);\n var toStr = call.bind(ObjectPrototype.toString);\n var arraySlice = call.bind(array_slice);\n var arraySliceApply = apply.bind(array_slice);\n /* globals document */\n if (typeof document === 'object' && document && document.documentElement) {\n try {\n arraySlice(document.documentElement.childNodes);\n } catch (e) {\n var origArraySlice = arraySlice;\n var origArraySliceApply = arraySliceApply;\n arraySlice = function arraySliceIE(arr) {\n var r = [];\n var i = arr.length;\n while (i-- > 0) {\n r[i] = arr[i];\n }\n return origArraySliceApply(r, origArraySlice(arguments, 1));\n };\n arraySliceApply = function arraySliceApplyIE(arr, args) {\n return origArraySliceApply(arraySlice(arr), args);\n };\n }\n }\n var strSlice = call.bind(StringPrototype.slice);\n var strSplit = call.bind(StringPrototype.split);\n var strIndexOf = call.bind(StringPrototype.indexOf);\n var pushCall = call.bind(array_push);\n var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable);\n var arraySort = call.bind(ArrayPrototype.sort);\n\n //\n // Array\n // =====\n //\n\n var isArray = $Array.isArray || function isArray(obj) {\n return toStr(obj) === '[object Array]';\n };\n\n // ES5 15.4.4.12\n // http://es5.github.com/#x15.4.4.13\n // Return len+argCount.\n // [bugfix, ielt8]\n // IE < 8 bug: [].unshift(0) === undefined but should be \"1\"\n var hasUnshiftReturnValueBug = [].unshift(0) !== 1;\n defineProperties(ArrayPrototype, {\n unshift: function () {\n array_unshift.apply(this, arguments);\n return this.length;\n }\n }, hasUnshiftReturnValueBug);\n\n // ES5 15.4.3.2\n // http://es5.github.com/#x15.4.3.2\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\n defineProperties($Array, { isArray: isArray });\n\n // The IsCallable() check in the Array functions\n // has been replaced with a strict check on the\n // internal class of the object to trap cases where\n // the provided function was actually a regular\n // expression literal, which in V8 and\n // JavaScriptCore is a typeof \"function\". Only in\n // V8 are regular expression literals permitted as\n // reduce parameters, so it is desirable in the\n // general case for the shim to match the more\n // strict and common behavior of rejecting regular\n // expressions.\n\n // ES5 15.4.4.18\n // http://es5.github.com/#x15.4.4.18\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach\n\n // Check failure of by-index access of string characters (IE < 9)\n // and failure of `0 in boxedString` (Rhino)\n var boxedString = $Object('a');\n var splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\n var properlyBoxesContext = function properlyBoxed(method) {\n // Check node 0.6.21 bug where third parameter is not boxed\n var properlyBoxesNonStrict = true;\n var properlyBoxesStrict = true;\n var threwException = false;\n if (method) {\n try {\n method.call('foo', function (_, __, context) {\n if (typeof context !== 'object') {\n properlyBoxesNonStrict = false;\n }\n });\n\n method.call([1], function () {\n 'use strict';\n\n properlyBoxesStrict = typeof this === 'string';\n }, 'x');\n } catch (e) {\n threwException = true;\n }\n }\n return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict;\n };\n\n defineProperties(ArrayPrototype, {\n forEach: function forEach(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var i = -1;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.forEach callback must be a function');\n }\n\n while (++i < length) {\n if (i in self) {\n // Invoke the callback function with call, passing arguments:\n // context, property value, property key, thisArg object\n if (typeof T === 'undefined') {\n callbackfn(self[i], i, object);\n } else {\n callbackfn.call(T, self[i], i, object);\n }\n }\n }\n }\n }, !properlyBoxesContext(ArrayPrototype.forEach));\n\n // ES5 15.4.4.19\n // http://es5.github.com/#x15.4.4.19\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map\n defineProperties(ArrayPrototype, {\n map: function map(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var result = $Array(length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.map callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self) {\n if (typeof T === 'undefined') {\n result[i] = callbackfn(self[i], i, object);\n } else {\n result[i] = callbackfn.call(T, self[i], i, object);\n }\n }\n }\n return result;\n }\n }, !properlyBoxesContext(ArrayPrototype.map));\n\n // ES5 15.4.4.20\n // http://es5.github.com/#x15.4.4.20\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter\n defineProperties(ArrayPrototype, {\n filter: function filter(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var result = [];\n var value;\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.filter callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self) {\n value = self[i];\n if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) {\n pushCall(result, value);\n }\n }\n }\n return result;\n }\n }, !properlyBoxesContext(ArrayPrototype.filter));\n\n // ES5 15.4.4.16\n // http://es5.github.com/#x15.4.4.16\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every\n defineProperties(ArrayPrototype, {\n every: function every(callbackfn/*, thisArg*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.every callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {\n return false;\n }\n }\n return true;\n }\n }, !properlyBoxesContext(ArrayPrototype.every));\n\n // ES5 15.4.4.17\n // http://es5.github.com/#x15.4.4.17\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some\n defineProperties(ArrayPrototype, {\n some: function some(callbackfn/*, thisArg */) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n var T;\n if (arguments.length > 1) {\n T = arguments[1];\n }\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.some callback must be a function');\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {\n return true;\n }\n }\n return false;\n }\n }, !properlyBoxesContext(ArrayPrototype.some));\n\n // ES5 15.4.4.21\n // http://es5.github.com/#x15.4.4.21\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce\n var reduceCoercesToObject = false;\n if (ArrayPrototype.reduce) {\n reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) {\n return list;\n }) === 'object';\n }\n defineProperties(ArrayPrototype, {\n reduce: function reduce(callbackfn/*, initialValue*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.reduce callback must be a function');\n }\n\n // no value to return if no initial value and an empty array\n if (length === 0 && arguments.length === 1) {\n throw new TypeError('reduce of empty array with no initial value');\n }\n\n var i = 0;\n var result;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i++];\n break;\n }\n\n // if array contains no values, no initial value to return\n if (++i >= length) {\n throw new TypeError('reduce of empty array with no initial value');\n }\n } while (true);\n }\n\n for (; i < length; i++) {\n if (i in self) {\n result = callbackfn(result, self[i], i, object);\n }\n }\n\n return result;\n }\n }, !reduceCoercesToObject);\n\n // ES5 15.4.4.22\n // http://es5.github.com/#x15.4.4.22\n // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight\n var reduceRightCoercesToObject = false;\n if (ArrayPrototype.reduceRight) {\n reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) {\n return list;\n }) === 'object';\n }\n defineProperties(ArrayPrototype, {\n reduceRight: function reduceRight(callbackfn/*, initial*/) {\n var object = ES.ToObject(this);\n var self = splitString && isString(this) ? strSplit(this, '') : object;\n var length = ES.ToUint32(self.length);\n\n // If no callback function or if callback is not a callable function\n if (!isCallable(callbackfn)) {\n throw new TypeError('Array.prototype.reduceRight callback must be a function');\n }\n\n // no value to return if no initial value, empty array\n if (length === 0 && arguments.length === 1) {\n throw new TypeError('reduceRight of empty array with no initial value');\n }\n\n var result;\n var i = length - 1;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i--];\n break;\n }\n\n // if array contains no values, no initial value to return\n if (--i < 0) {\n throw new TypeError('reduceRight of empty array with no initial value');\n }\n } while (true);\n }\n\n if (i < 0) {\n return result;\n }\n\n do {\n if (i in self) {\n result = callbackfn(result, self[i], i, object);\n }\n } while (i--);\n\n return result;\n }\n }, !reduceRightCoercesToObject);\n\n // ES5 15.4.4.14\n // http://es5.github.com/#x15.4.4.14\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf\n var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1;\n defineProperties(ArrayPrototype, {\n indexOf: function indexOf(searchElement/*, fromIndex */) {\n var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);\n var length = ES.ToUint32(self.length);\n\n if (length === 0) {\n return -1;\n }\n\n var i = 0;\n if (arguments.length > 1) {\n i = ES.ToInteger(arguments[1]);\n }\n\n // handle negative indices\n i = i >= 0 ? i : max(0, length + i);\n for (; i < length; i++) {\n if (i in self && self[i] === searchElement) {\n return i;\n }\n }\n return -1;\n }\n }, hasFirefox2IndexOfBug);\n\n // ES5 15.4.4.15\n // http://es5.github.com/#x15.4.4.15\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf\n var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1;\n defineProperties(ArrayPrototype, {\n lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) {\n var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this);\n var length = ES.ToUint32(self.length);\n\n if (length === 0) {\n return -1;\n }\n var i = length - 1;\n if (arguments.length > 1) {\n i = min(i, ES.ToInteger(arguments[1]));\n }\n // handle negative indices\n i = i >= 0 ? i : length - Math.abs(i);\n for (; i >= 0; i--) {\n if (i in self && searchElement === self[i]) {\n return i;\n }\n }\n return -1;\n }\n }, hasFirefox2LastIndexOfBug);\n\n // ES5 15.4.4.12\n // http://es5.github.com/#x15.4.4.12\n var spliceNoopReturnsEmptyArray = (function () {\n var a = [1, 2];\n var result = a.splice();\n return a.length === 2 && isArray(result) && result.length === 0;\n }());\n defineProperties(ArrayPrototype, {\n // Safari 5.0 bug where .splice() returns undefined\n splice: function splice(start, deleteCount) {\n if (arguments.length === 0) {\n return [];\n } else {\n return array_splice.apply(this, arguments);\n }\n }\n }, !spliceNoopReturnsEmptyArray);\n\n var spliceWorksWithEmptyObject = (function () {\n var obj = {};\n ArrayPrototype.splice.call(obj, 0, 0, 1);\n return obj.length === 1;\n }());\n defineProperties(ArrayPrototype, {\n splice: function splice(start, deleteCount) {\n if (arguments.length === 0) {\n return [];\n }\n var args = arguments;\n this.length = max(ES.ToInteger(this.length), 0);\n if (arguments.length > 0 && typeof deleteCount !== 'number') {\n args = arraySlice(arguments);\n if (args.length < 2) {\n pushCall(args, this.length - start);\n } else {\n args[1] = ES.ToInteger(deleteCount);\n }\n }\n return array_splice.apply(this, args);\n }\n }, !spliceWorksWithEmptyObject);\n var spliceWorksWithLargeSparseArrays = (function () {\n // Per https://github.com/es-shims/es5-shim/issues/295\n // Safari 7/8 breaks with sparse arrays of size 1e5 or greater\n var arr = new $Array(1e5);\n // note: the index MUST be 8 or larger or the test will false pass\n arr[8] = 'x';\n arr.splice(1, 1);\n // note: this test must be defined *after* the indexOf shim\n // per https://github.com/es-shims/es5-shim/issues/313\n return arr.indexOf('x') === 7;\n }());\n var spliceWorksWithSmallSparseArrays = (function () {\n // Per https://github.com/es-shims/es5-shim/issues/295\n // Opera 12.15 breaks on this, no idea why.\n var n = 256;\n var arr = [];\n arr[n] = 'a';\n arr.splice(n + 1, 0, 'b');\n return arr[n] === 'a';\n }());\n defineProperties(ArrayPrototype, {\n splice: function splice(start, deleteCount) {\n var O = ES.ToObject(this);\n var A = [];\n var len = ES.ToUint32(O.length);\n var relativeStart = ES.ToInteger(start);\n var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len);\n var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart);\n\n var k = 0;\n var from;\n while (k < actualDeleteCount) {\n from = $String(actualStart + k);\n if (owns(O, from)) {\n A[k] = O[from];\n }\n k += 1;\n }\n\n var items = arraySlice(arguments, 2);\n var itemCount = items.length;\n var to;\n if (itemCount < actualDeleteCount) {\n k = actualStart;\n var maxK = len - actualDeleteCount;\n while (k < maxK) {\n from = $String(k + actualDeleteCount);\n to = $String(k + itemCount);\n if (owns(O, from)) {\n O[to] = O[from];\n } else {\n delete O[to];\n }\n k += 1;\n }\n k = len;\n var minK = len - actualDeleteCount + itemCount;\n while (k > minK) {\n delete O[k - 1];\n k -= 1;\n }\n } else if (itemCount > actualDeleteCount) {\n k = len - actualDeleteCount;\n while (k > actualStart) {\n from = $String(k + actualDeleteCount - 1);\n to = $String(k + itemCount - 1);\n if (owns(O, from)) {\n O[to] = O[from];\n } else {\n delete O[to];\n }\n k -= 1;\n }\n }\n k = actualStart;\n for (var i = 0; i < items.length; ++i) {\n O[k] = items[i];\n k += 1;\n }\n O.length = len - actualDeleteCount + itemCount;\n\n return A;\n }\n }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays);\n\n var originalJoin = ArrayPrototype.join;\n var hasStringJoinBug;\n try {\n hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3';\n } catch (e) {\n hasStringJoinBug = true;\n }\n if (hasStringJoinBug) {\n defineProperties(ArrayPrototype, {\n join: function join(separator) {\n var sep = typeof separator === 'undefined' ? ',' : separator;\n return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep);\n }\n }, hasStringJoinBug);\n }\n\n var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2';\n if (hasJoinUndefinedBug) {\n defineProperties(ArrayPrototype, {\n join: function join(separator) {\n var sep = typeof separator === 'undefined' ? ',' : separator;\n return originalJoin.call(this, sep);\n }\n }, hasJoinUndefinedBug);\n }\n\n var pushShim = function push(item) {\n var O = ES.ToObject(this);\n var n = ES.ToUint32(O.length);\n var i = 0;\n while (i < arguments.length) {\n O[n + i] = arguments[i];\n i += 1;\n }\n O.length = n + i;\n return n + i;\n };\n\n var pushIsNotGeneric = (function () {\n var obj = {};\n var result = Array.prototype.push.call(obj, undefined);\n return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0);\n }());\n defineProperties(ArrayPrototype, {\n push: function push(item) {\n if (isArray(this)) {\n return array_push.apply(this, arguments);\n }\n return pushShim.apply(this, arguments);\n }\n }, pushIsNotGeneric);\n\n // This fixes a very weird bug in Opera 10.6 when pushing `undefined\n var pushUndefinedIsWeird = (function () {\n var arr = [];\n var result = arr.push(undefined);\n return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0);\n }());\n defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird);\n\n // ES5 15.2.3.14\n // http://es5.github.io/#x15.4.4.10\n // Fix boxed string bug\n defineProperties(ArrayPrototype, {\n slice: function (start, end) {\n var arr = isString(this) ? strSplit(this, '') : this;\n return arraySliceApply(arr, arguments);\n }\n }, splitString);\n\n var sortIgnoresNonFunctions = (function () {\n try {\n [1, 2].sort(null);\n } catch (e) {\n try {\n [1, 2].sort({});\n } catch (e2) {\n return false;\n }\n }\n return true;\n }());\n var sortThrowsOnRegex = (function () {\n // this is a problem in Firefox 4, in which `typeof /a/ === 'function'`\n try {\n [1, 2].sort(/a/);\n return false;\n } catch (e) {}\n return true;\n }());\n var sortIgnoresUndefined = (function () {\n // applies in IE 8, for one.\n try {\n [1, 2].sort(undefined);\n return true;\n } catch (e) {}\n return false;\n }());\n defineProperties(ArrayPrototype, {\n sort: function sort(compareFn) {\n if (typeof compareFn === 'undefined') {\n return arraySort(this);\n }\n if (!isCallable(compareFn)) {\n throw new TypeError('Array.prototype.sort callback must be a function');\n }\n return arraySort(this, compareFn);\n }\n }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex);\n\n //\n // Object\n // ======\n //\n\n // ES5 15.2.3.14\n // http://es5.github.com/#x15.2.3.14\n\n // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation\n var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); // jscs:ignore disallowQuotedKeysInObjects\n var hasProtoEnumBug = isEnum(function () {}, 'prototype');\n var hasStringEnumBug = !owns('x', '0');\n var equalsConstructorPrototype = function (o) {\n var ctor = o.constructor;\n return ctor && ctor.prototype === o;\n };\n var excludedKeys = {\n $applicationCache: true,\n $console: true,\n $external: true,\n $frame: true,\n $frameElement: true,\n $frames: true,\n $innerHeight: true,\n $innerWidth: true,\n $onmozfullscreenchange: true,\n $onmozfullscreenerror: true,\n $outerHeight: true,\n $outerWidth: true,\n $pageXOffset: true,\n $pageYOffset: true,\n $parent: true,\n $scrollLeft: true,\n $scrollTop: true,\n $scrollX: true,\n $scrollY: true,\n $self: true,\n $webkitIndexedDB: true,\n $webkitStorageInfo: true,\n $window: true,\n\n $width: true,\n $height: true,\n $top: true,\n $localStorage: true\n };\n var hasAutomationEqualityBug = (function () {\n /* globals window */\n if (typeof window === 'undefined') {\n return false;\n }\n for (var k in window) {\n try {\n if (!excludedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') {\n equalsConstructorPrototype(window[k]);\n }\n } catch (e) {\n return true;\n }\n }\n return false;\n }());\n var equalsConstructorPrototypeIfNotBuggy = function (object) {\n if (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n return equalsConstructorPrototype(object);\n }\n try {\n return equalsConstructorPrototype(object);\n } catch (e) {\n return false;\n }\n };\n var dontEnums = [\n 'toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'\n ];\n var dontEnumsLength = dontEnums.length;\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return toStr(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null\n && typeof value === 'object'\n && typeof value.length === 'number'\n && value.length >= 0\n && !isArray(value)\n && isCallable(value.callee);\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n defineProperties($Object, {\n keys: function keys(object) {\n var isFn = isCallable(object);\n var isArgs = isArguments(object);\n var isObject = object !== null && typeof object === 'object';\n var isStr = isObject && isString(object);\n\n if (!isObject && !isFn && !isArgs) {\n throw new TypeError('Object.keys called on a non-object');\n }\n\n var theKeys = [];\n var skipProto = hasProtoEnumBug && isFn;\n if ((isStr && hasStringEnumBug) || isArgs) {\n for (var i = 0; i < object.length; ++i) {\n pushCall(theKeys, $String(i));\n }\n }\n\n if (!isArgs) {\n for (var name in object) {\n if (!(skipProto && name === 'prototype') && owns(object, name)) {\n pushCall(theKeys, $String(name));\n }\n }\n }\n\n if (hasDontEnumBug) {\n var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n for (var j = 0; j < dontEnumsLength; j++) {\n var dontEnum = dontEnums[j];\n if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) {\n pushCall(theKeys, dontEnum);\n }\n }\n }\n return theKeys;\n }\n });\n\n var keysWorksWithArguments = $Object.keys && (function () {\n // Safari 5.0 bug\n return $Object.keys(arguments).length === 2;\n }(1, 2));\n var keysHasArgumentsLengthBug = $Object.keys && (function () {\n var argKeys = $Object.keys(arguments);\n return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1;\n }(1));\n var originalKeys = $Object.keys;\n defineProperties($Object, {\n keys: function keys(object) {\n if (isArguments(object)) {\n return originalKeys(arraySlice(object));\n } else {\n return originalKeys(object);\n }\n }\n }, !keysWorksWithArguments || keysHasArgumentsLengthBug);\n\n //\n // Date\n // ====\n //\n\n var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0;\n var aNegativeTestDate = new Date(-1509842289600292);\n var aPositiveTestDate = new Date(1449662400000);\n var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT';\n var hasToDateStringFormatBug;\n var hasToStringFormatBug;\n var timeZoneOffset = aNegativeTestDate.getTimezoneOffset();\n if (timeZoneOffset < -720) {\n hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875';\n hasToStringFormatBug = !(/^Thu Dec 10 2015 \\d\\d:\\d\\d:\\d\\d GMT[-+]\\d\\d\\d\\d(?: |$)/).test(String(aPositiveTestDate));\n } else {\n hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875';\n hasToStringFormatBug = !(/^Wed Dec 09 2015 \\d\\d:\\d\\d:\\d\\d GMT[-+]\\d\\d\\d\\d(?: |$)/).test(String(aPositiveTestDate));\n }\n\n var originalGetFullYear = call.bind(Date.prototype.getFullYear);\n var originalGetMonth = call.bind(Date.prototype.getMonth);\n var originalGetDate = call.bind(Date.prototype.getDate);\n var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear);\n var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth);\n var originalGetUTCDate = call.bind(Date.prototype.getUTCDate);\n var originalGetUTCDay = call.bind(Date.prototype.getUTCDay);\n var originalGetUTCHours = call.bind(Date.prototype.getUTCHours);\n var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes);\n var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds);\n var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds);\n var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n var daysInMonth = function daysInMonth(month, year) {\n return originalGetDate(new Date(year, month, 0));\n };\n\n defineProperties(Date.prototype, {\n getFullYear: function getFullYear() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n if (year < 0 && originalGetMonth(this) > 11) {\n return year + 1;\n }\n return year;\n },\n getMonth: function getMonth() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n var month = originalGetMonth(this);\n if (year < 0 && month > 11) {\n return 0;\n }\n return month;\n },\n getDate: function getDate() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetFullYear(this);\n var month = originalGetMonth(this);\n var date = originalGetDate(this);\n if (year < 0 && month > 11) {\n if (month === 12) {\n return date;\n }\n var days = daysInMonth(0, year + 1);\n return (days - date) + 1;\n }\n return date;\n },\n getUTCFullYear: function getUTCFullYear() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n if (year < 0 && originalGetUTCMonth(this) > 11) {\n return year + 1;\n }\n return year;\n },\n getUTCMonth: function getUTCMonth() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n var month = originalGetUTCMonth(this);\n if (year < 0 && month > 11) {\n return 0;\n }\n return month;\n },\n getUTCDate: function getUTCDate() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var year = originalGetUTCFullYear(this);\n var month = originalGetUTCMonth(this);\n var date = originalGetUTCDate(this);\n if (year < 0 && month > 11) {\n if (month === 12) {\n return date;\n }\n var days = daysInMonth(0, year + 1);\n return (days - date) + 1;\n }\n return date;\n }\n }, hasNegativeMonthYearBug);\n\n defineProperties(Date.prototype, {\n toUTCString: function toUTCString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = originalGetUTCDay(this);\n var date = originalGetUTCDate(this);\n var month = originalGetUTCMonth(this);\n var year = originalGetUTCFullYear(this);\n var hour = originalGetUTCHours(this);\n var minute = originalGetUTCMinutes(this);\n var second = originalGetUTCSeconds(this);\n return dayName[day] + ', '\n + (date < 10 ? '0' + date : date) + ' '\n + monthName[month] + ' '\n + year + ' '\n + (hour < 10 ? '0' + hour : hour) + ':'\n + (minute < 10 ? '0' + minute : minute) + ':'\n + (second < 10 ? '0' + second : second) + ' GMT';\n }\n }, hasNegativeMonthYearBug || hasToUTCStringFormatBug);\n\n // Opera 12 has `,`\n defineProperties(Date.prototype, {\n toDateString: function toDateString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = this.getDay();\n var date = this.getDate();\n var month = this.getMonth();\n var year = this.getFullYear();\n return dayName[day] + ' '\n + monthName[month] + ' '\n + (date < 10 ? '0' + date : date) + ' '\n + year;\n }\n }, hasNegativeMonthYearBug || hasToDateStringFormatBug);\n\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n if (hasNegativeMonthYearBug || hasToStringFormatBug) {\n Date.prototype.toString = function toString() {\n if (!this || !(this instanceof Date)) {\n throw new TypeError('this is not a Date object.');\n }\n var day = this.getDay();\n var date = this.getDate();\n var month = this.getMonth();\n var year = this.getFullYear();\n var hour = this.getHours();\n var minute = this.getMinutes();\n var second = this.getSeconds();\n var timezoneOffset = this.getTimezoneOffset();\n var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60);\n var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60);\n return dayName[day] + ' '\n + monthName[month] + ' '\n + (date < 10 ? '0' + date : date) + ' '\n + year + ' '\n + (hour < 10 ? '0' + hour : hour) + ':'\n + (minute < 10 ? '0' + minute : minute) + ':'\n + (second < 10 ? '0' + second : second) + ' GMT'\n + (timezoneOffset > 0 ? '-' : '+')\n + (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset)\n + (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset);\n };\n if (supportsDescriptors) {\n $Object.defineProperty(Date.prototype, 'toString', {\n configurable: true,\n enumerable: false,\n writable: true\n });\n }\n }\n\n // ES5 15.9.5.43\n // http://es5.github.com/#x15.9.5.43\n // This function returns a String value represent the instance in time\n // represented by this Date object. The format of the String is the Date Time\n // string format defined in 15.9.1.15. All fields are present in the String.\n // The time zone is always UTC, denoted by the suffix Z. If the time value of\n // this object is not a finite Number a RangeError exception is thrown.\n var negativeDate = -62198755200000;\n var negativeYearString = '-000001';\n var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; // eslint-disable-line max-len\n var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z';\n\n var getTime = call.bind(Date.prototype.getTime);\n\n defineProperties(Date.prototype, {\n toISOString: function toISOString() {\n if (!isFinite(this) || !isFinite(getTime(this))) {\n // Adope Photoshop requires the second check.\n throw new RangeError('Date.prototype.toISOString called on non-finite value.');\n }\n\n var year = originalGetUTCFullYear(this);\n\n var month = originalGetUTCMonth(this);\n // see https://github.com/es-shims/es5-shim/issues/111\n year += Math.floor(month / 12);\n month = ((month % 12) + 12) % 12;\n\n // the date time string format is specified in 15.9.1.15.\n var result = [\n month + 1,\n originalGetUTCDate(this),\n originalGetUTCHours(this),\n originalGetUTCMinutes(this),\n originalGetUTCSeconds(this)\n ];\n year = (\n (year < 0 ? '-' : (year > 9999 ? '+' : ''))\n + strSlice('00000' + Math.abs(year), (0 <= year && year <= 9999) ? -4 : -6)\n );\n\n for (var i = 0; i < result.length; ++i) {\n // pad months, days, hours, minutes, and seconds to have two digits.\n result[i] = strSlice('00' + result[i], -2);\n }\n // pad milliseconds to have three digits.\n return (\n year + '-' + arraySlice(result, 0, 2).join('-')\n + 'T' + arraySlice(result, 2).join(':') + '.'\n + strSlice('000' + originalGetUTCMilliseconds(this), -3) + 'Z'\n );\n }\n }, hasNegativeDateBug || hasSafari51DateBug);\n\n // ES5 15.9.5.44\n // http://es5.github.com/#x15.9.5.44\n // This function provides a String representation of a Date object for use by\n // JSON.stringify (15.12.3).\n var dateToJSONIsSupported = (function () {\n try {\n return Date.prototype.toJSON\n && new Date(NaN).toJSON() === null\n && new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1\n && Date.prototype.toJSON.call({ // generic\n toISOString: function () { return true; }\n });\n } catch (e) {\n return false;\n }\n }());\n if (!dateToJSONIsSupported) {\n Date.prototype.toJSON = function toJSON(key) {\n // When the toJSON method is called with argument key, the following\n // steps are taken:\n\n // 1. Let O be the result of calling ToObject, giving it the this\n // value as its argument.\n // 2. Let tv be ES.ToPrimitive(O, hint Number).\n var O = $Object(this);\n var tv = ES.ToPrimitive(O);\n // 3. If tv is a Number and is not finite, return null.\n if (typeof tv === 'number' && !isFinite(tv)) {\n return null;\n }\n // 4. Let toISO be the result of calling the [[Get]] internal method of\n // O with argument \"toISOString\".\n var toISO = O.toISOString;\n // 5. If IsCallable(toISO) is false, throw a TypeError exception.\n if (!isCallable(toISO)) {\n throw new TypeError('toISOString property is not callable');\n }\n // 6. Return the result of calling the [[Call]] internal method of\n // toISO with O as the this value and an empty argument list.\n return toISO.call(O);\n\n // NOTE 1 The argument is ignored.\n\n // NOTE 2 The toJSON function is intentionally generic; it does not\n // require that its this value be a Date object. Therefore, it can be\n // transferred to other kinds of objects for use as a method. However,\n // it does require that any such object have a toISOString method. An\n // object is free to use the argument key to filter its\n // stringification.\n };\n }\n\n // ES5 15.9.4.2\n // http://es5.github.com/#x15.9.4.2\n // based on work shared by Daniel Friesen (dantman)\n // http://gist.github.com/303249\n var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15;\n var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z'));\n var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z'));\n if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) {\n // XXX global assignment won't work in embeddings that use\n // an alternate object for the context.\n /* global Date: true */\n var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1;\n var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0, maxSafeUnsigned32Bit + 1).getTime());\n // eslint-disable-next-line no-implicit-globals, no-global-assign\n Date = (function (NativeDate) {\n // Date.length === 7\n var DateShim = function Date(Y, M, D, h, m, s, ms) {\n var length = arguments.length;\n var date;\n if (this instanceof NativeDate) {\n var seconds = s;\n var millis = ms;\n if (hasSafariSignedIntBug && length >= 7 && ms > maxSafeUnsigned32Bit) {\n // work around a Safari 8/9 bug where it treats the seconds as signed\n var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit;\n var sToShift = Math.floor(msToShift / 1e3);\n seconds += sToShift;\n millis -= sToShift * 1e3;\n }\n date = length === 1 && $String(Y) === Y // isString(Y)\n // We explicitly pass it through parse:\n ? new NativeDate(DateShim.parse(Y))\n // We have to manually make calls depending on argument\n // length here\n : length >= 7 ? new NativeDate(Y, M, D, h, m, seconds, millis)\n : length >= 6 ? new NativeDate(Y, M, D, h, m, seconds)\n : length >= 5 ? new NativeDate(Y, M, D, h, m)\n : length >= 4 ? new NativeDate(Y, M, D, h)\n : length >= 3 ? new NativeDate(Y, M, D)\n : length >= 2 ? new NativeDate(Y, M)\n : length >= 1 ? new NativeDate(Y instanceof NativeDate ? +Y : Y)\n : new NativeDate();\n } else {\n date = NativeDate.apply(this, arguments);\n }\n if (!isPrimitive(date)) {\n // Prevent mixups with unfixed Date object\n defineProperties(date, { constructor: DateShim }, true);\n }\n return date;\n };\n\n // 15.9.1.15 Date Time String Format.\n var isoDateExpression = new RegExp('^'\n + '(\\\\d{4}|[+-]\\\\d{6})' // four-digit year capture or sign + 6-digit extended year\n + '(?:-(\\\\d{2})' // optional month capture\n + '(?:-(\\\\d{2})' // optional day capture\n + '(?:' // capture hours:minutes:seconds.milliseconds\n + 'T(\\\\d{2})' // hours capture\n + ':(\\\\d{2})' // minutes capture\n + '(?:' // optional :seconds.milliseconds\n + ':(\\\\d{2})' // seconds capture\n + '(?:(\\\\.\\\\d{1,}))?' // milliseconds capture\n + ')?'\n + '(' // capture UTC offset component\n + 'Z|' // UTC capture\n + '(?:' // offset specifier +/-hours:minutes\n + '([-+])' // sign capture\n + '(\\\\d{2})' // hours offset capture\n + ':(\\\\d{2})' // minutes offset capture\n + ')'\n + ')?)?)?)?'\n + '$');\n\n var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];\n\n var dayFromMonth = function dayFromMonth(year, month) {\n var t = month > 1 ? 1 : 0;\n return (\n months[month]\n + Math.floor((year - 1969 + t) / 4)\n - Math.floor((year - 1901 + t) / 100)\n + Math.floor((year - 1601 + t) / 400)\n + (365 * (year - 1970))\n );\n };\n\n var toUTC = function toUTC(t) {\n var s = 0;\n var ms = t;\n if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) {\n // work around a Safari 8/9 bug where it treats the seconds as signed\n var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit;\n var sToShift = Math.floor(msToShift / 1e3);\n s += sToShift;\n ms -= sToShift * 1e3;\n }\n return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms));\n };\n\n // Copy any custom methods a 3rd party library may have added\n for (var key in NativeDate) {\n if (owns(NativeDate, key)) {\n DateShim[key] = NativeDate[key];\n }\n }\n\n // Copy \"native\" methods explicitly; they may be non-enumerable\n defineProperties(DateShim, {\n now: NativeDate.now,\n UTC: NativeDate.UTC\n }, true);\n DateShim.prototype = NativeDate.prototype;\n defineProperties(DateShim.prototype, { constructor: DateShim }, true);\n\n // Upgrade Date.parse to handle simplified ISO 8601 strings\n var parseShim = function parse(string) {\n var match = isoDateExpression.exec(string);\n if (match) {\n // parse months, days, hours, minutes, seconds, and milliseconds\n // provide default values if necessary\n // parse the UTC offset component\n var year = $Number(match[1]),\n month = $Number(match[2] || 1) - 1,\n day = $Number(match[3] || 1) - 1,\n hour = $Number(match[4] || 0),\n minute = $Number(match[5] || 0),\n second = $Number(match[6] || 0),\n millisecond = Math.floor($Number(match[7] || 0) * 1000),\n // When time zone is missed, local offset should be used\n // (ES 5.1 bug)\n // see https://bugs.ecmascript.org/show_bug.cgi?id=112\n isLocalTime = Boolean(match[4] && !match[8]),\n signOffset = match[9] === '-' ? 1 : -1,\n hourOffset = $Number(match[10] || 0),\n minuteOffset = $Number(match[11] || 0),\n result;\n var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second > 0 || millisecond > 0;\n if (\n hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25)\n && minute < 60 && second < 60 && millisecond < 1000\n && month > -1 && month < 12 && hourOffset < 24\n && minuteOffset < 60 // detect invalid offsets\n && day > -1\n && day < (dayFromMonth(year, month + 1) - dayFromMonth(year, month))\n ) {\n result = (\n ((dayFromMonth(year, month) + day) * 24)\n + hour\n + (hourOffset * signOffset)\n ) * 60;\n result = ((\n ((result + minute + (minuteOffset * signOffset)) * 60)\n + second\n ) * 1000) + millisecond;\n if (isLocalTime) {\n result = toUTC(result);\n }\n if (-8.64e15 <= result && result <= 8.64e15) {\n return result;\n }\n }\n return NaN;\n }\n return NativeDate.parse.apply(this, arguments);\n };\n defineProperties(DateShim, { parse: parseShim });\n\n return DateShim;\n }(Date));\n /* global Date: false */\n }\n\n // ES5 15.9.4.4\n // http://es5.github.com/#x15.9.4.4\n if (!Date.now) {\n Date.now = function now() {\n return new Date().getTime();\n };\n }\n\n //\n // Number\n // ======\n //\n\n // ES5.1 15.7.4.5\n // http://es5.github.com/#x15.7.4.5\n var hasToFixedBugs = NumberPrototype.toFixed && (\n (0.00008).toFixed(3) !== '0.000'\n || (0.9).toFixed(0) !== '1'\n || (1.255).toFixed(2) !== '1.25'\n || (1000000000000000128).toFixed(0) !== '1000000000000000128'\n );\n\n var toFixedHelpers = {\n base: 1e7,\n size: 6,\n data: [0, 0, 0, 0, 0, 0],\n multiply: function multiply(n, c) {\n var i = -1;\n var c2 = c;\n while (++i < toFixedHelpers.size) {\n c2 += n * toFixedHelpers.data[i];\n toFixedHelpers.data[i] = c2 % toFixedHelpers.base;\n c2 = Math.floor(c2 / toFixedHelpers.base);\n }\n },\n divide: function divide(n) {\n var i = toFixedHelpers.size;\n var c = 0;\n while (--i >= 0) {\n c += toFixedHelpers.data[i];\n toFixedHelpers.data[i] = Math.floor(c / n);\n c = (c % n) * toFixedHelpers.base;\n }\n },\n numToString: function numToString() {\n var i = toFixedHelpers.size;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) {\n var t = $String(toFixedHelpers.data[i]);\n if (s === '') {\n s = t;\n } else {\n s += strSlice('0000000', 0, 7 - t.length) + t;\n }\n }\n }\n return s;\n },\n pow: function pow(x, n, acc) {\n return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc)));\n },\n log: function log(x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n }\n return n;\n }\n };\n\n var toFixedShim = function toFixed(fractionDigits) {\n var f, x, s, m, e, z, j, k;\n\n // Test for NaN and round fractionDigits down\n f = $Number(fractionDigits);\n f = isActualNaN(f) ? 0 : Math.floor(f);\n\n if (f < 0 || f > 20) {\n throw new RangeError('Number.toFixed called with invalid number of decimals');\n }\n\n x = $Number(this);\n\n if (isActualNaN(x)) {\n return 'NaN';\n }\n\n // If it is too big or small, return the string value of the number\n if (x <= -1e21 || x >= 1e21) {\n return $String(x);\n }\n\n s = '';\n\n if (x < 0) {\n s = '-';\n x = -x;\n }\n\n m = '0';\n\n if (x > 1e-21) {\n // 1e-21 < x < 1e21\n // -70 < log2(x) < 70\n e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69;\n z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1));\n z *= 0x10000000000000; // Math.pow(2, 52);\n e = 52 - e;\n\n // -18 < e < 122\n // x = z / 2 ^ e\n if (e > 0) {\n toFixedHelpers.multiply(0, z);\n j = f;\n\n while (j >= 7) {\n toFixedHelpers.multiply(1e7, 0);\n j -= 7;\n }\n\n toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0);\n j = e - 1;\n\n while (j >= 23) {\n toFixedHelpers.divide(1 << 23);\n j -= 23;\n }\n\n toFixedHelpers.divide(1 << j);\n toFixedHelpers.multiply(1, 1);\n toFixedHelpers.divide(2);\n m = toFixedHelpers.numToString();\n } else {\n toFixedHelpers.multiply(0, z);\n toFixedHelpers.multiply(1 << (-e), 0);\n m = toFixedHelpers.numToString() + strSlice('0.00000000000000000000', 2, 2 + f);\n }\n }\n\n if (f > 0) {\n k = m.length;\n\n if (k <= f) {\n m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m;\n } else {\n m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f);\n }\n } else {\n m = s + m;\n }\n\n return m;\n };\n defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs);\n\n var hasToPrecisionUndefinedBug = (function () {\n try {\n return 1.0.toPrecision(undefined) === '1';\n } catch (e) {\n return true;\n }\n }());\n var originalToPrecision = NumberPrototype.toPrecision;\n defineProperties(NumberPrototype, {\n toPrecision: function toPrecision(precision) {\n return typeof precision === 'undefined' ? originalToPrecision.call(this) : originalToPrecision.call(this, precision);\n }\n }, hasToPrecisionUndefinedBug);\n\n //\n // String\n // ======\n //\n\n // ES5 15.5.4.14\n // http://es5.github.com/#x15.5.4.14\n\n // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]\n // Many browsers do not split properly with regular expressions or they\n // do not perform the split correctly under obscure conditions.\n // See http://blog.stevenlevithan.com/archives/cross-browser-split\n // I've tested in many browsers and this seems to cover the deviant ones:\n // 'ab'.split(/(?:ab)*/) should be [\"\", \"\"], not [\"\"]\n // '.'.split(/(.?)(.?)/) should be [\"\", \".\", \"\", \"\"], not [\"\", \"\"]\n // 'tesst'.split(/(s)*/) should be [\"t\", undefined, \"e\", \"s\", \"t\"], not\n // [undefined, \"t\", undefined, \"e\", ...]\n // ''.split(/.?/) should be [], not [\"\"]\n // '.'.split(/()()/) should be [\".\"], not [\"\", \"\", \".\"]\n\n if (\n 'ab'.split(/(?:ab)*/).length !== 2\n || '.'.split(/(.?)(.?)/).length !== 4\n || 'tesst'.split(/(s)*/)[1] === 't'\n || 'test'.split(/(?:)/, -1).length !== 4\n || ''.split(/.?/).length\n || '.'.split(/()()/).length > 1\n ) {\n (function () {\n var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group\n var maxSafe32BitInt = Math.pow(2, 32) - 1;\n\n StringPrototype.split = function (separator, limit) {\n var string = String(this);\n if (typeof separator === 'undefined' && limit === 0) {\n return [];\n }\n\n // If `separator` is not a regex, use native split\n if (!isRegex(separator)) {\n return strSplit(this, separator, limit);\n }\n\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '')\n + (separator.multiline ? 'm' : '')\n + (separator.unicode ? 'u' : '') // in ES6\n + (separator.sticky ? 'y' : ''), // Firefox 3+ and ES6\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator2, match, lastIndex, lastLength;\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // maxSafe32BitInt\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt : ES.ToUint32(limit);\n match = separatorCopy.exec(string);\n while (match) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n pushCall(output, strSlice(string, lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n /* eslint-disable no-loop-func */\n match[0].replace(separator2, function () {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (typeof arguments[i] === 'undefined') {\n match[i] = void 0;\n }\n }\n });\n /* eslint-enable no-loop-func */\n }\n if (match.length > 1 && match.index < string.length) {\n array_push.apply(output, arraySlice(match, 1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= splitLimit) {\n break;\n }\n }\n if (separatorCopy.lastIndex === match.index) {\n separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n match = separatorCopy.exec(string);\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) {\n pushCall(output, '');\n }\n } else {\n pushCall(output, strSlice(string, lastLastIndex));\n }\n return output.length > splitLimit ? arraySlice(output, 0, splitLimit) : output;\n };\n }());\n\n // [bugfix, chrome]\n // If separator is undefined, then the result array contains just one String,\n // which is the this value (converted to a String). If limit is not undefined,\n // then the output array is truncated so that it contains no more than limit\n // elements.\n // \"0\".split(undefined, 0) -> []\n } else if ('0'.split(void 0, 0).length) {\n StringPrototype.split = function split(separator, limit) {\n if (typeof separator === 'undefined' && limit === 0) {\n return [];\n }\n return strSplit(this, separator, limit);\n };\n }\n\n var str_replace = StringPrototype.replace;\n var replaceReportsGroupsCorrectly = (function () {\n var groups = [];\n 'x'.replace(/x(.)?/g, function (match, group) {\n pushCall(groups, group);\n });\n return groups.length === 1 && typeof groups[0] === 'undefined';\n }());\n\n if (!replaceReportsGroupsCorrectly) {\n StringPrototype.replace = function replace(searchValue, replaceValue) {\n var isFn = isCallable(replaceValue);\n var hasCapturingGroups = isRegex(searchValue) && (/\\)[*?]/).test(searchValue.source);\n if (!isFn || !hasCapturingGroups) {\n return str_replace.call(this, searchValue, replaceValue);\n } else {\n var wrappedReplaceValue = function (match) {\n var length = arguments.length;\n var originalLastIndex = searchValue.lastIndex;\n searchValue.lastIndex = 0;\n var args = searchValue.exec(match) || [];\n searchValue.lastIndex = originalLastIndex;\n pushCall(args, arguments[length - 2], arguments[length - 1]);\n return replaceValue.apply(this, args);\n };\n return str_replace.call(this, searchValue, wrappedReplaceValue);\n }\n };\n }\n\n // ECMA-262, 3rd B.2.3\n // Not an ECMAScript standard, although ECMAScript 3rd Edition has a\n // non-normative section suggesting uniform semantics and it should be\n // normalized across all browsers\n // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE\n var string_substr = StringPrototype.substr;\n var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';\n defineProperties(StringPrototype, {\n substr: function substr(start, length) {\n var normalizedStart = start;\n if (start < 0) {\n normalizedStart = max(this.length + start, 0);\n }\n return string_substr.call(this, normalizedStart, length);\n }\n }, hasNegativeSubstrBug);\n\n // ES5 15.5.4.20\n // whitespace from: http://es5.github.io/#x15.5.4.20\n var ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003'\n + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028'\n + '\\u2029\\uFEFF';\n var zeroWidth = '\\u200b';\n var wsRegexChars = '[' + ws + ']';\n var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*');\n var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$');\n var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim());\n defineProperties(StringPrototype, {\n // http://blog.stevenlevithan.com/archives/faster-trim-javascript\n // http://perfectionkills.com/whitespace-deviations/\n trim: function trim() {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n return $String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, '');\n }\n }, hasTrimWhitespaceBug);\n var trim = call.bind(String.prototype.trim);\n\n var hasLastIndexBug = StringPrototype.lastIndexOf && 'abcあい'.lastIndexOf('あい', 2) !== -1;\n defineProperties(StringPrototype, {\n lastIndexOf: function lastIndexOf(searchString) {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n var S = $String(this);\n var searchStr = $String(searchString);\n var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN;\n var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos);\n var start = min(max(pos, 0), S.length);\n var searchLen = searchStr.length;\n var k = start + searchLen;\n while (k > 0) {\n k = max(0, k - searchLen);\n var index = strIndexOf(strSlice(S, k, start + searchLen), searchStr);\n if (index !== -1) {\n return k + index;\n }\n }\n return -1;\n }\n }, hasLastIndexBug);\n\n var originalLastIndexOf = StringPrototype.lastIndexOf;\n defineProperties(StringPrototype, {\n lastIndexOf: function lastIndexOf(searchString) {\n return originalLastIndexOf.apply(this, arguments);\n }\n }, StringPrototype.lastIndexOf.length !== 1);\n\n // ES-5 15.1.2.2\n // eslint-disable-next-line radix\n if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) {\n /* global parseInt: true */\n parseInt = (function (origParseInt) {\n var hexRegex = /^[-+]?0[xX]/;\n return function parseInt(str, radix) {\n if (typeof str === 'symbol') {\n // handle Symbols in node 8.3/8.4\n // eslint-disable-next-line no-implicit-coercion, no-unused-expressions\n '' + str; // jscs:ignore disallowImplicitTypeConversion\n }\n\n var string = trim(String(str));\n var defaultedRadix = $Number(radix) || (hexRegex.test(string) ? 16 : 10);\n return origParseInt(string, defaultedRadix);\n };\n }(parseInt));\n }\n\n // https://es5.github.io/#x15.1.2.3\n if (1 / parseFloat('-0') !== -Infinity) {\n /* global parseFloat: true */\n parseFloat = (function (origParseFloat) {\n return function parseFloat(string) {\n var inputString = trim(String(string));\n var result = origParseFloat(inputString);\n return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 : result;\n };\n }(parseFloat));\n }\n\n if (String(new RangeError('test')) !== 'RangeError: test') {\n var errorToStringShim = function toString() {\n if (typeof this === 'undefined' || this === null) {\n throw new TypeError(\"can't convert \" + this + ' to object');\n }\n var name = this.name;\n if (typeof name === 'undefined') {\n name = 'Error';\n } else if (typeof name !== 'string') {\n name = $String(name);\n }\n var msg = this.message;\n if (typeof msg === 'undefined') {\n msg = '';\n } else if (typeof msg !== 'string') {\n msg = $String(msg);\n }\n if (!name) {\n return msg;\n }\n if (!msg) {\n return name;\n }\n return name + ': ' + msg;\n };\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n Error.prototype.toString = errorToStringShim;\n }\n\n if (supportsDescriptors) {\n var ensureNonEnumerable = function (obj, prop) {\n if (isEnum(obj, prop)) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop);\n if (desc.configurable) {\n desc.enumerable = false;\n Object.defineProperty(obj, prop, desc);\n }\n }\n };\n ensureNonEnumerable(Error.prototype, 'message');\n if (Error.prototype.message !== '') {\n Error.prototype.message = '';\n }\n ensureNonEnumerable(Error.prototype, 'name');\n }\n\n if (String(/a/mig) !== '/a/gim') {\n var regexToString = function toString() {\n var str = '/' + this.source + '/';\n if (this.global) {\n str += 'g';\n }\n if (this.ignoreCase) {\n str += 'i';\n }\n if (this.multiline) {\n str += 'm';\n }\n return str;\n };\n // can't use defineProperties here because of toString enumeration issue in IE <= 8\n RegExp.prototype.toString = regexToString;\n }\n}));\n","/*!\n * https://github.com/es-shims/es5-shim\n * @license es5-shim Copyright 2009-2015 by contributors, MIT License\n * see https://github.com/es-shims/es5-shim/blob/master/LICENSE\n */\n\n// vim: ts=4 sts=4 sw=4 expandtab\n\n// Add semicolon to prevent IIFE from being passed as argument to concatenated code.\n;\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js\n(function (root, factory) {\n 'use strict';\n\n /* global define, exports, module */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like enviroments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n\n var call = Function.call;\n var prototypeOfObject = Object.prototype;\n var owns = call.bind(prototypeOfObject.hasOwnProperty);\n var isEnumerable = call.bind(prototypeOfObject.propertyIsEnumerable);\n var toStr = call.bind(prototypeOfObject.toString);\n\n // If JS engine supports accessors creating shortcuts.\n var defineGetter;\n var defineSetter;\n var lookupGetter;\n var lookupSetter;\n var supportsAccessors = owns(prototypeOfObject, '__defineGetter__');\n if (supportsAccessors) {\n /* eslint-disable no-underscore-dangle, no-restricted-properties */\n defineGetter = call.bind(prototypeOfObject.__defineGetter__);\n defineSetter = call.bind(prototypeOfObject.__defineSetter__);\n lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);\n lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);\n /* eslint-enable no-underscore-dangle, no-restricted-properties */\n }\n\n var isPrimitive = function isPrimitive(o) {\n return o == null || (typeof o !== 'object' && typeof o !== 'function');\n };\n\n // ES5 15.2.3.2\n // http://es5.github.com/#x15.2.3.2\n if (!Object.getPrototypeOf) {\n // https://github.com/es-shims/es5-shim/issues#issue/2\n // http://ejohn.org/blog/objectgetprototypeof/\n // recommended by fschaefer on github\n //\n // sure, and webreflection says ^_^\n // ... this will nerever possibly return null\n // ... Opera Mini breaks here with infinite loops\n Object.getPrototypeOf = function getPrototypeOf(object) {\n // eslint-disable-next-line no-proto\n var proto = object.__proto__;\n if (proto || proto === null) {\n return proto;\n } else if (toStr(object.constructor) === '[object Function]') {\n return object.constructor.prototype;\n } else if (object instanceof Object) {\n return prototypeOfObject;\n } else {\n // Correctly return null for Objects created with `Object.create(null)`\n // (shammed or native) or `{ __proto__: null}`. Also returns null for\n // cross-realm objects on browsers that lack `__proto__` support (like\n // IE <11), but that's the best we can do.\n return null;\n }\n };\n }\n\n // ES5 15.2.3.3\n // http://es5.github.com/#x15.2.3.3\n\n var doesGetOwnPropertyDescriptorWork = function doesGetOwnPropertyDescriptorWork(object) {\n try {\n object.sentinel = 0;\n return Object.getOwnPropertyDescriptor(object, 'sentinel').value === 0;\n } catch (exception) {\n return false;\n }\n };\n\n // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially.\n if (Object.defineProperty) {\n var getOwnPropertyDescriptorWorksOnObject = doesGetOwnPropertyDescriptorWork({});\n var getOwnPropertyDescriptorWorksOnDom = typeof document === 'undefined'\n || doesGetOwnPropertyDescriptorWork(document.createElement('div'));\n if (!getOwnPropertyDescriptorWorksOnDom || !getOwnPropertyDescriptorWorksOnObject) {\n var getOwnPropertyDescriptorFallback = Object.getOwnPropertyDescriptor;\n }\n }\n\n if (!Object.getOwnPropertyDescriptor || getOwnPropertyDescriptorFallback) {\n var ERR_NON_OBJECT = 'Object.getOwnPropertyDescriptor called on a non-object: ';\n\n /* eslint-disable no-proto */\n Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {\n if (isPrimitive(object)) {\n throw new TypeError(ERR_NON_OBJECT + object);\n }\n\n // make a valiant attempt to use the real getOwnPropertyDescriptor\n // for I8's DOM elements.\n if (getOwnPropertyDescriptorFallback) {\n try {\n return getOwnPropertyDescriptorFallback.call(Object, object, property);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n var descriptor;\n\n // If object does not owns property return undefined immediately.\n if (!owns(object, property)) {\n return descriptor;\n }\n\n // If object has a property then it's for sure `configurable`, and\n // probably `enumerable`. Detect enumerability though.\n descriptor = {\n enumerable: isEnumerable(object, property),\n configurable: true\n };\n\n // If JS engine supports accessor properties then property may be a\n // getter or setter.\n if (supportsAccessors) {\n // Unfortunately `__lookupGetter__` will return a getter even\n // if object has own non getter property along with a same named\n // inherited getter. To avoid misbehavior we temporary remove\n // `__proto__` so that `__lookupGetter__` will return getter only\n // if it's owned by an object.\n var prototype = object.__proto__;\n var notPrototypeOfObject = object !== prototypeOfObject;\n // avoid recursion problem, breaking in Opera Mini when\n // Object.getOwnPropertyDescriptor(Object.prototype, 'toString')\n // or any other Object.prototype accessor\n if (notPrototypeOfObject) {\n object.__proto__ = prototypeOfObject;\n }\n\n var getter = lookupGetter(object, property);\n var setter = lookupSetter(object, property);\n\n if (notPrototypeOfObject) {\n // Once we have getter and setter we can put values back.\n object.__proto__ = prototype;\n }\n\n if (getter || setter) {\n if (getter) {\n descriptor.get = getter;\n }\n if (setter) {\n descriptor.set = setter;\n }\n // If it was accessor property we're done and return here\n // in order to avoid adding `value` to the descriptor.\n return descriptor;\n }\n }\n\n // If we got this far we know that object has an own property that is\n // not an accessor so we set it as a value and return descriptor.\n descriptor.value = object[property];\n descriptor.writable = true;\n return descriptor;\n };\n /* eslint-enable no-proto */\n }\n\n // ES5 15.2.3.4\n // http://es5.github.com/#x15.2.3.4\n if (!Object.getOwnPropertyNames) {\n Object.getOwnPropertyNames = function getOwnPropertyNames(object) {\n return Object.keys(object);\n };\n }\n\n // ES5 15.2.3.5\n // http://es5.github.com/#x15.2.3.5\n if (!Object.create) {\n\n // Contributed by Brandon Benvie, October, 2012\n var createEmpty;\n var supportsProto = !({ __proto__: null } instanceof Object);\n // the following produces false positives\n // in Opera Mini => not a reliable check\n // Object.prototype.__proto__ === null\n\n // Check for document.domain and active x support\n // No need to use active x approach when document.domain is not set\n // see https://github.com/es-shims/es5-shim/issues/150\n // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n /* global ActiveXObject */\n var shouldUseActiveX = function shouldUseActiveX() {\n // return early if document.domain not set\n if (!document.domain) {\n return false;\n }\n\n try {\n return !!new ActiveXObject('htmlfile');\n } catch (exception) {\n return false;\n }\n };\n\n // This supports IE8 when document.domain is used\n // see https://github.com/es-shims/es5-shim/issues/150\n // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n var getEmptyViaActiveX = function getEmptyViaActiveX() {\n var empty;\n var xDoc;\n\n xDoc = new ActiveXObject('htmlfile');\n\n var script = 'script';\n xDoc.write('<' + script + '>');\n xDoc.close();\n\n empty = xDoc.parentWindow.Object.prototype;\n xDoc = null;\n\n return empty;\n };\n\n // The original implementation using an iframe\n // before the activex approach was added\n // see https://github.com/es-shims/es5-shim/issues/150\n var getEmptyViaIFrame = function getEmptyViaIFrame() {\n var iframe = document.createElement('iframe');\n var parent = document.body || document.documentElement;\n var empty;\n\n iframe.style.display = 'none';\n parent.appendChild(iframe);\n // eslint-disable-next-line no-script-url\n iframe.src = 'javascript:';\n\n empty = iframe.contentWindow.Object.prototype;\n parent.removeChild(iframe);\n iframe = null;\n\n return empty;\n };\n\n /* global document */\n if (supportsProto || typeof document === 'undefined') {\n createEmpty = function () {\n return { __proto__: null };\n };\n } else {\n // In old IE __proto__ can't be used to manually set `null`, nor does\n // any other method exist to make an object that inherits from nothing,\n // aside from Object.prototype itself. Instead, create a new global\n // object and *steal* its Object.prototype and strip it bare. This is\n // used as the prototype to create nullary objects.\n createEmpty = function () {\n // Determine which approach to use\n // see https://github.com/es-shims/es5-shim/issues/150\n var empty = shouldUseActiveX() ? getEmptyViaActiveX() : getEmptyViaIFrame();\n\n delete empty.constructor;\n delete empty.hasOwnProperty;\n delete empty.propertyIsEnumerable;\n delete empty.isPrototypeOf;\n delete empty.toLocaleString;\n delete empty.toString;\n delete empty.valueOf;\n\n var Empty = function Empty() {};\n Empty.prototype = empty;\n // short-circuit future calls\n createEmpty = function () {\n return new Empty();\n };\n return new Empty();\n };\n }\n\n Object.create = function create(prototype, properties) {\n\n var object;\n var Type = function Type() {}; // An empty constructor.\n\n if (prototype === null) {\n object = createEmpty();\n } else {\n if (prototype !== null && isPrimitive(prototype)) {\n // In the native implementation `parent` can be `null`\n // OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc)\n // Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object`\n // like they are in modern browsers. Using `Object.create` on DOM elements\n // is...err...probably inappropriate, but the native version allows for it.\n throw new TypeError('Object prototype may only be an Object or null'); // same msg as Chrome\n }\n Type.prototype = prototype;\n object = new Type();\n // IE has no built-in implementation of `Object.getPrototypeOf`\n // neither `__proto__`, but this manually setting `__proto__` will\n // guarantee that `Object.getPrototypeOf` will work as expected with\n // objects created using `Object.create`\n // eslint-disable-next-line no-proto\n object.__proto__ = prototype;\n }\n\n if (properties !== void 0) {\n Object.defineProperties(object, properties);\n }\n\n return object;\n };\n }\n\n // ES5 15.2.3.6\n // http://es5.github.com/#x15.2.3.6\n\n // Patch for WebKit and IE8 standard mode\n // Designed by hax \n // related issue: https://github.com/es-shims/es5-shim/issues#issue/5\n // IE8 Reference:\n // http://msdn.microsoft.com/en-us/library/dd282900.aspx\n // http://msdn.microsoft.com/en-us/library/dd229916.aspx\n // WebKit Bugs:\n // https://bugs.webkit.org/show_bug.cgi?id=36423\n\n var doesDefinePropertyWork = function doesDefinePropertyWork(object) {\n try {\n Object.defineProperty(object, 'sentinel', {});\n return 'sentinel' in object;\n } catch (exception) {\n return false;\n }\n };\n\n // check whether defineProperty works if it's given. Otherwise,\n // shim partially.\n if (Object.defineProperty) {\n var definePropertyWorksOnObject = doesDefinePropertyWork({});\n var definePropertyWorksOnDom = typeof document === 'undefined'\n || doesDefinePropertyWork(document.createElement('div'));\n if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {\n var definePropertyFallback = Object.defineProperty,\n definePropertiesFallback = Object.defineProperties;\n }\n }\n\n if (!Object.defineProperty || definePropertyFallback) {\n var ERR_NON_OBJECT_DESCRIPTOR = 'Property description must be an object: ';\n var ERR_NON_OBJECT_TARGET = 'Object.defineProperty called on non-object: ';\n var ERR_ACCESSORS_NOT_SUPPORTED = 'getters & setters can not be defined on this javascript engine';\n\n Object.defineProperty = function defineProperty(object, property, descriptor) {\n if (isPrimitive(object)) {\n throw new TypeError(ERR_NON_OBJECT_TARGET + object);\n }\n if (isPrimitive(descriptor)) {\n throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);\n }\n // make a valiant attempt to use the real defineProperty\n // for I8's DOM elements.\n if (definePropertyFallback) {\n try {\n return definePropertyFallback.call(Object, object, property, descriptor);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n // If it's a data property.\n if ('value' in descriptor) {\n // fail silently if 'writable', 'enumerable', or 'configurable'\n // are requested but not supported\n /*\n // alternate approach:\n if ( // can't implement these features; allow false but not true\n ('writable' in descriptor && !descriptor.writable) ||\n ('enumerable' in descriptor && !descriptor.enumerable) ||\n ('configurable' in descriptor && !descriptor.configurable)\n ))\n throw new RangeError(\n 'This implementation of Object.defineProperty does not support configurable, enumerable, or writable.'\n );\n */\n\n if (supportsAccessors && (lookupGetter(object, property) || lookupSetter(object, property))) {\n // As accessors are supported only on engines implementing\n // `__proto__` we can safely override `__proto__` while defining\n // a property to make sure that we don't hit an inherited\n // accessor.\n /* eslint-disable no-proto */\n var prototype = object.__proto__;\n object.__proto__ = prototypeOfObject;\n // Deleting a property anyway since getter / setter may be\n // defined on object itself.\n delete object[property];\n object[property] = descriptor.value;\n // Setting original `__proto__` back now.\n object.__proto__ = prototype;\n /* eslint-enable no-proto */\n } else {\n object[property] = descriptor.value;\n }\n } else {\n var hasGetter = 'get' in descriptor;\n var hasSetter = 'set' in descriptor;\n if (!supportsAccessors && (hasGetter || hasSetter)) {\n throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n }\n // If we got that far then getters and setters can be defined !!\n if (hasGetter) {\n defineGetter(object, property, descriptor.get);\n }\n if (hasSetter) {\n defineSetter(object, property, descriptor.set);\n }\n }\n return object;\n };\n }\n\n // ES5 15.2.3.7\n // http://es5.github.com/#x15.2.3.7\n if (!Object.defineProperties || definePropertiesFallback) {\n Object.defineProperties = function defineProperties(object, properties) {\n // make a valiant attempt to use the real defineProperties\n if (definePropertiesFallback) {\n try {\n return definePropertiesFallback.call(Object, object, properties);\n } catch (exception) {\n // try the shim if the real one doesn't work\n }\n }\n\n Object.keys(properties).forEach(function (property) {\n if (property !== '__proto__') {\n Object.defineProperty(object, property, properties[property]);\n }\n });\n return object;\n };\n }\n\n // ES5 15.2.3.8\n // http://es5.github.com/#x15.2.3.8\n if (!Object.seal) {\n Object.seal = function seal(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.seal can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // ES5 15.2.3.9\n // http://es5.github.com/#x15.2.3.9\n if (!Object.freeze) {\n Object.freeze = function freeze(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.freeze can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // detect a Rhino bug and patch it\n try {\n Object.freeze(function () {});\n } catch (exception) {\n Object.freeze = (function (freezeObject) {\n return function freeze(object) {\n if (typeof object === 'function') {\n return object;\n } else {\n return freezeObject(object);\n }\n };\n }(Object.freeze));\n }\n\n // ES5 15.2.3.10\n // http://es5.github.com/#x15.2.3.10\n if (!Object.preventExtensions) {\n Object.preventExtensions = function preventExtensions(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.preventExtensions can only be called on Objects.');\n }\n // this is misleading and breaks feature-detection, but\n // allows \"securable\" code to \"gracefully\" degrade to working\n // but insecure code.\n return object;\n };\n }\n\n // ES5 15.2.3.11\n // http://es5.github.com/#x15.2.3.11\n if (!Object.isSealed) {\n Object.isSealed = function isSealed(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.isSealed can only be called on Objects.');\n }\n return false;\n };\n }\n\n // ES5 15.2.3.12\n // http://es5.github.com/#x15.2.3.12\n if (!Object.isFrozen) {\n Object.isFrozen = function isFrozen(object) {\n if (Object(object) !== object) {\n throw new TypeError('Object.isFrozen can only be called on Objects.');\n }\n return false;\n };\n }\n\n // ES5 15.2.3.13\n // http://es5.github.com/#x15.2.3.13\n if (!Object.isExtensible) {\n Object.isExtensible = function isExtensible(object) {\n // 1. If Type(O) is not Object throw a TypeError exception.\n if (Object(object) !== object) {\n throw new TypeError('Object.isExtensible can only be called on Objects.');\n }\n // 2. Return the Boolean value of the [[Extensible]] internal property of O.\n var name = '';\n while (owns(object, name)) {\n name += '?';\n }\n object[name] = true;\n var returnValue = owns(object, name);\n delete object[name];\n return returnValue;\n };\n }\n\n}));\n","/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.35.4\n * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/returnExports.js\n(function (root, factory) {\n /*global define, module, exports */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n 'use strict';\n\n var _apply = Function.call.bind(Function.apply);\n var _call = Function.call.bind(Function.call);\n var isArray = Array.isArray;\n var keys = Object.keys;\n\n var not = function notThunker(func) {\n return function notThunk() {\n return !_apply(func, this, arguments);\n };\n };\n var throwsError = function (func) {\n try {\n func();\n return false;\n } catch (e) {\n return true;\n }\n };\n var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {\n try {\n return func();\n } catch (e) {\n return false;\n }\n };\n\n var isCallableWithoutNew = not(throwsError);\n var arePropertyDescriptorsSupported = function () {\n // if Object.defineProperty exists but throws, it's IE 8\n return !throwsError(function () {\n return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return\n });\n };\n var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();\n var functionsHaveNames = (function foo() {}).name === 'foo'; // eslint-disable-line no-extra-parens\n\n var _forEach = Function.call.bind(Array.prototype.forEach);\n var _reduce = Function.call.bind(Array.prototype.reduce);\n var _filter = Function.call.bind(Array.prototype.filter);\n var _some = Function.call.bind(Array.prototype.some);\n\n var defineProperty = function (object, name, value, force) {\n if (!force && name in object) { return; }\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n\n // Define configurable, writable and non-enumerable props\n // if they don’t exist.\n var defineProperties = function (object, map, forceOverride) {\n _forEach(keys(map), function (name) {\n var method = map[name];\n defineProperty(object, name, method, !!forceOverride);\n });\n };\n\n var _toString = Function.call.bind(Object.prototype.toString);\n var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) {\n // Some old browsers (IE, FF) say that typeof /abc/ === 'function'\n return typeof x === 'function' && _toString(x) === '[object Function]';\n } : function IsCallableFast(x) { return typeof x === 'function'; };\n\n var Value = {\n getter: function (object, name, getter) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n get: getter\n });\n },\n proxy: function (originalObject, key, targetObject) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key);\n Object.defineProperty(targetObject, key, {\n configurable: originalDescriptor.configurable,\n enumerable: originalDescriptor.enumerable,\n get: function getKey() { return originalObject[key]; },\n set: function setKey(value) { originalObject[key] = value; }\n });\n },\n redefine: function (object, property, newValue) {\n if (supportsDescriptors) {\n var descriptor = Object.getOwnPropertyDescriptor(object, property);\n descriptor.value = newValue;\n Object.defineProperty(object, property, descriptor);\n } else {\n object[property] = newValue;\n }\n },\n defineByDescriptor: function (object, property, descriptor) {\n if (supportsDescriptors) {\n Object.defineProperty(object, property, descriptor);\n } else if ('value' in descriptor) {\n object[property] = descriptor.value;\n }\n },\n preserveToString: function (target, source) {\n if (source && isCallable(source.toString)) {\n defineProperty(target, 'toString', source.toString.bind(source), true);\n }\n }\n };\n\n // Simple shim for Object.create on ES3 browsers\n // (unlike real shim, no attempt to support `prototype === null`)\n var create = Object.create || function (prototype, properties) {\n var Prototype = function Prototype() {};\n Prototype.prototype = prototype;\n var object = new Prototype();\n if (typeof properties !== 'undefined') {\n keys(properties).forEach(function (key) {\n Value.defineByDescriptor(object, key, properties[key]);\n });\n }\n return object;\n };\n\n var supportsSubclassing = function (C, f) {\n if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ }\n return valueOrFalseIfThrows(function () {\n var Sub = function Subclass(arg) {\n var o = new C(arg);\n Object.setPrototypeOf(o, Subclass.prototype);\n return o;\n };\n Object.setPrototypeOf(Sub, C);\n Sub.prototype = create(C.prototype, {\n constructor: { value: Sub }\n });\n return f(Sub);\n });\n };\n\n var getGlobal = function () {\n /* global self, window, global */\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n };\n\n var globals = getGlobal();\n var globalIsFinite = globals.isFinite;\n var _indexOf = Function.call.bind(String.prototype.indexOf);\n var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);\n var _concat = Function.call.bind(Array.prototype.concat);\n // var _sort = Function.call.bind(Array.prototype.sort);\n var _strSlice = Function.call.bind(String.prototype.slice);\n var _push = Function.call.bind(Array.prototype.push);\n var _pushApply = Function.apply.bind(Array.prototype.push);\n var _shift = Function.call.bind(Array.prototype.shift);\n var _max = Math.max;\n var _min = Math.min;\n var _floor = Math.floor;\n var _abs = Math.abs;\n var _exp = Math.exp;\n var _log = Math.log;\n var _sqrt = Math.sqrt;\n var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n var ArrayIterator; // make our implementation private\n var noop = function () {};\n\n var OrigMap = globals.Map;\n var origMapDelete = OrigMap && OrigMap.prototype['delete'];\n var origMapGet = OrigMap && OrigMap.prototype.get;\n var origMapHas = OrigMap && OrigMap.prototype.has;\n var origMapSet = OrigMap && OrigMap.prototype.set;\n\n var Symbol = globals.Symbol || {};\n var symbolSpecies = Symbol.species || '@@species';\n\n var numberIsNaN = Number.isNaN || function isNaN(value) {\n // NaN !== NaN, but they are identical.\n // NaNs are the only non-reflexive value, i.e., if x !== x,\n // then x is NaN.\n // isNaN is broken: it converts its argument to number, so\n // isNaN('foo') => true\n return value !== value;\n };\n var numberIsFinite = Number.isFinite || function isFinite(value) {\n return typeof value === 'number' && globalIsFinite(value);\n };\n var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) {\n var number = Number(value);\n if (number === 0) { return number; }\n if (numberIsNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n };\n var _log1p = function log1p(value) {\n var x = Number(value);\n if (x < -1 || numberIsNaN(x)) { return NaN; }\n if (x === 0 || x === Infinity) { return x; }\n if (x === -1) { return -Infinity; }\n\n return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));\n };\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return _toString(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null &&\n typeof value === 'object' &&\n typeof value.length === 'number' &&\n value.length >= 0 &&\n _toString(value) !== '[object Array]' &&\n _toString(value.callee) === '[object Function]';\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n var Type = {\n primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); },\n string: function (x) { return _toString(x) === '[object String]'; },\n regex: function (x) { return _toString(x) === '[object RegExp]'; },\n symbol: function (x) {\n return typeof globals.Symbol === 'function' && typeof x === 'symbol';\n }\n };\n\n var overrideNative = function overrideNative(object, property, replacement) {\n var original = object[property];\n defineProperty(object, property, replacement, true);\n Value.preserveToString(object[property], original);\n };\n\n // eslint-disable-next-line no-restricted-properties\n var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());\n\n // This is a private name in the es6 spec, equal to '[Symbol.iterator]'\n // we're going to use an arbitrary _-prefixed name to make our shims\n // work properly with each other, even though we don't have full Iterator\n // support. That is, `Array.from(map.keys())` will work, but we don't\n // pretend to export a \"real\" Iterator interface.\n var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_';\n // Firefox ships a partial implementation using the name @@iterator.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14\n // So use that name if we detect it.\n if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n // Reflect\n if (!globals.Reflect) {\n defineProperty(globals, 'Reflect', {}, true);\n }\n var Reflect = globals.Reflect;\n\n var $String = String;\n\n /* global document */\n var domAll = (typeof document === 'undefined' || !document) ? null : document.all;\n var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {\n return x == null;\n } : function isNullOrUndefinedAndNotDocumentAll(x) {\n return x == null && x !== domAll;\n };\n\n var ES = {\n // http://www.ecma-international.org/ecma-262/6.0/#sec-call\n Call: function Call(F, V) {\n var args = arguments.length > 2 ? arguments[2] : [];\n if (!ES.IsCallable(F)) {\n throw new TypeError(F + ' is not a function');\n }\n return _apply(F, V, args);\n },\n\n RequireObjectCoercible: function (x, optMessage) {\n if (isNullOrUndefined(x)) {\n throw new TypeError(optMessage || 'Cannot call method on ' + x);\n }\n return x;\n },\n\n // This might miss the \"(non-standard exotic and does not implement\n // [[Call]])\" case from\n // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation\n // but we can't find any evidence these objects exist in practice.\n // If we find some in the future, you could test `Object(x) === x`,\n // which is reliable according to\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject\n // but is not well optimized by runtimes and creates an object\n // whenever it returns false, and thus is very slow.\n TypeIsObject: function (x) {\n if (x === void 0 || x === null || x === true || x === false) {\n return false;\n }\n return typeof x === 'function' || typeof x === 'object' || x === domAll;\n },\n\n ToObject: function (o, optMessage) {\n return Object(ES.RequireObjectCoercible(o, optMessage));\n },\n\n IsCallable: isCallable,\n\n IsConstructor: function (x) {\n // We can't tell callables from constructors in ES5\n return ES.IsCallable(x);\n },\n\n ToInt32: function (x) {\n return ES.ToNumber(x) >> 0;\n },\n\n ToUint32: function (x) {\n return ES.ToNumber(x) >>> 0;\n },\n\n ToNumber: function (value) {\n if (_toString(value) === '[object Symbol]') {\n throw new TypeError('Cannot convert a Symbol value to a number');\n }\n return +value;\n },\n\n ToInteger: function (value) {\n var number = ES.ToNumber(value);\n if (numberIsNaN(number)) { return 0; }\n if (number === 0 || !numberIsFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * _floor(_abs(number));\n },\n\n ToLength: function (value) {\n var len = ES.ToInteger(value);\n if (len <= 0) { return 0; } // includes converting -0 to +0\n if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; }\n return len;\n },\n\n SameValue: function (a, b) {\n if (a === b) {\n // 0 === -0, but they are not identical.\n if (a === 0) { return 1 / a === 1 / b; }\n return true;\n }\n return numberIsNaN(a) && numberIsNaN(b);\n },\n\n SameValueZero: function (a, b) {\n // same as SameValue except for SameValueZero(+0, -0) == true\n return (a === b) || (numberIsNaN(a) && numberIsNaN(b));\n },\n\n IsIterable: function (o) {\n return ES.TypeIsObject(o) && (typeof o[$iterator$] !== 'undefined' || isArguments(o));\n },\n\n GetIterator: function (o) {\n if (isArguments(o)) {\n // special case support for `arguments`\n return new ArrayIterator(o, 'value');\n }\n var itFn = ES.GetMethod(o, $iterator$);\n if (!ES.IsCallable(itFn)) {\n // Better diagnostics if itFn is null or undefined\n throw new TypeError('value is not an iterable');\n }\n var it = ES.Call(itFn, o);\n if (!ES.TypeIsObject(it)) {\n throw new TypeError('bad iterator');\n }\n return it;\n },\n\n GetMethod: function (o, p) {\n var func = ES.ToObject(o)[p];\n if (isNullOrUndefined(func)) {\n return void 0;\n }\n if (!ES.IsCallable(func)) {\n throw new TypeError('Method not callable: ' + p);\n }\n return func;\n },\n\n IteratorComplete: function (iterResult) {\n return !!iterResult.done;\n },\n\n IteratorClose: function (iterator, completionIsThrow) {\n var returnMethod = ES.GetMethod(iterator, 'return');\n if (returnMethod === void 0) {\n return;\n }\n var innerResult, innerException;\n try {\n innerResult = ES.Call(returnMethod, iterator);\n } catch (e) {\n innerException = e;\n }\n if (completionIsThrow) {\n return;\n }\n if (innerException) {\n throw innerException;\n }\n if (!ES.TypeIsObject(innerResult)) {\n throw new TypeError(\"Iterator's return method returned a non-object.\");\n }\n },\n\n IteratorNext: function (it) {\n var result = arguments.length > 1 ? it.next(arguments[1]) : it.next();\n if (!ES.TypeIsObject(result)) {\n throw new TypeError('bad iterator');\n }\n return result;\n },\n\n IteratorStep: function (it) {\n var result = ES.IteratorNext(it);\n var done = ES.IteratorComplete(result);\n return done ? false : result;\n },\n\n Construct: function (C, args, newTarget, isES6internal) {\n var target = typeof newTarget === 'undefined' ? C : newTarget;\n\n if (!isES6internal && Reflect.construct) {\n // Try to use Reflect.construct if available\n return Reflect.construct(C, args, target);\n }\n // OK, we have to fake it. This will only work if the\n // C.[[ConstructorKind]] == \"base\" -- but that's the only\n // kind we can make in ES5 code anyway.\n\n // OrdinaryCreateFromConstructor(target, \"%ObjectPrototype%\")\n var proto = target.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = Object.prototype;\n }\n var obj = create(proto);\n // Call the constructor.\n var result = ES.Call(C, obj, args);\n return ES.TypeIsObject(result) ? result : obj;\n },\n\n SpeciesConstructor: function (O, defaultConstructor) {\n var C = O.constructor;\n if (C === void 0) {\n return defaultConstructor;\n }\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad constructor');\n }\n var S = C[symbolSpecies];\n if (isNullOrUndefined(S)) {\n return defaultConstructor;\n }\n if (!ES.IsConstructor(S)) {\n throw new TypeError('Bad @@species');\n }\n return S;\n },\n\n CreateHTML: function (string, tag, attribute, value) {\n var S = ES.ToString(string);\n var p1 = '<' + tag;\n if (attribute !== '') {\n var V = ES.ToString(value);\n var escapedV = V.replace(/\"/g, '"');\n p1 += ' ' + attribute + '=\"' + escapedV + '\"';\n }\n var p2 = p1 + '>';\n var p3 = p2 + S;\n return p3 + '';\n },\n\n IsRegExp: function IsRegExp(argument) {\n if (!ES.TypeIsObject(argument)) {\n return false;\n }\n var isRegExp = argument[Symbol.match];\n if (typeof isRegExp !== 'undefined') {\n return !!isRegExp;\n }\n return Type.regex(argument);\n },\n\n ToString: function ToString(string) {\n return $String(string);\n }\n };\n\n // Well-known Symbol shims\n if (supportsDescriptors && hasSymbols) {\n var defineWellKnownSymbol = function defineWellKnownSymbol(name) {\n if (Type.symbol(Symbol[name])) {\n return Symbol[name];\n }\n // eslint-disable-next-line no-restricted-properties\n var sym = Symbol['for']('Symbol.' + name);\n Object.defineProperty(Symbol, name, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: sym\n });\n return sym;\n };\n if (!Type.symbol(Symbol.search)) {\n var symbolSearch = defineWellKnownSymbol('search');\n var originalSearch = String.prototype.search;\n defineProperty(RegExp.prototype, symbolSearch, function search(string) {\n return ES.Call(originalSearch, string, [this]);\n });\n var searchShim = function search(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var searcher = ES.GetMethod(regexp, symbolSearch);\n if (typeof searcher !== 'undefined') {\n return ES.Call(searcher, regexp, [O]);\n }\n }\n return ES.Call(originalSearch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'search', searchShim);\n }\n if (!Type.symbol(Symbol.replace)) {\n var symbolReplace = defineWellKnownSymbol('replace');\n var originalReplace = String.prototype.replace;\n defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) {\n return ES.Call(originalReplace, string, [this, replaceValue]);\n });\n var replaceShim = function replace(searchValue, replaceValue) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(searchValue)) {\n var replacer = ES.GetMethod(searchValue, symbolReplace);\n if (typeof replacer !== 'undefined') {\n return ES.Call(replacer, searchValue, [O, replaceValue]);\n }\n }\n return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);\n };\n overrideNative(String.prototype, 'replace', replaceShim);\n }\n if (!Type.symbol(Symbol.split)) {\n var symbolSplit = defineWellKnownSymbol('split');\n var originalSplit = String.prototype.split;\n defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) {\n return ES.Call(originalSplit, string, [this, limit]);\n });\n var splitShim = function split(separator, limit) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(separator)) {\n var splitter = ES.GetMethod(separator, symbolSplit);\n if (typeof splitter !== 'undefined') {\n return ES.Call(splitter, separator, [O, limit]);\n }\n }\n return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);\n };\n overrideNative(String.prototype, 'split', splitShim);\n }\n var symbolMatchExists = Type.symbol(Symbol.match);\n var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {\n // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.\n // Firefox 40 and below have Symbol.match but String#match works fine.\n var o = {};\n o[Symbol.match] = function () { return 42; };\n return 'a'.match(o) !== 42;\n }());\n if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {\n var symbolMatch = defineWellKnownSymbol('match');\n\n var originalMatch = String.prototype.match;\n defineProperty(RegExp.prototype, symbolMatch, function match(string) {\n return ES.Call(originalMatch, string, [this]);\n });\n\n var matchShim = function match(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var matcher = ES.GetMethod(regexp, symbolMatch);\n if (typeof matcher !== 'undefined') {\n return ES.Call(matcher, regexp, [O]);\n }\n }\n return ES.Call(originalMatch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'match', matchShim);\n }\n }\n\n var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) {\n Value.preserveToString(replacement, original);\n if (Object.setPrototypeOf) {\n // sets up proper prototype chain where possible\n Object.setPrototypeOf(original, replacement);\n }\n if (supportsDescriptors) {\n _forEach(Object.getOwnPropertyNames(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n Value.proxy(original, key, replacement);\n });\n } else {\n _forEach(Object.keys(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n replacement[key] = original[key];\n });\n }\n replacement.prototype = original.prototype;\n Value.redefine(original.prototype, 'constructor', replacement);\n };\n\n var defaultSpeciesGetter = function () { return this; };\n var addDefaultSpecies = function (C) {\n if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {\n Value.getter(C, symbolSpecies, defaultSpeciesGetter);\n }\n };\n\n var addIterator = function (prototype, impl) {\n var implementation = impl || function iterator() { return this; };\n defineProperty(prototype, $iterator$, implementation);\n if (!prototype[$iterator$] && Type.symbol($iterator$)) {\n // implementations are buggy when $iterator$ is a Symbol\n prototype[$iterator$] = implementation;\n }\n };\n\n var createDataProperty = function createDataProperty(object, name, value) {\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) {\n createDataProperty(object, name, value);\n if (!ES.SameValue(object[name], value)) {\n throw new TypeError('property is nonconfigurable');\n }\n };\n\n var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {\n // This is an es5 approximation to es6 construct semantics. in es6,\n // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)\n // just sets the internal variable NewTarget (in es6 syntax `new.target`)\n // to Foo and then returns Foo().\n\n // Many ES6 object then have constructors of the form:\n // 1. If NewTarget is undefined, throw a TypeError exception\n // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)\n\n // So we're going to emulate those first two steps.\n if (!ES.TypeIsObject(o)) {\n throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);\n }\n var proto = defaultNewTarget.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = defaultProto;\n }\n var obj = create(proto);\n for (var name in slots) {\n if (_hasOwnProperty(slots, name)) {\n var value = slots[name];\n defineProperty(obj, name, value, true);\n }\n }\n return obj;\n };\n\n // Firefox 31 reports this function's length as 0\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484\n if (String.fromCodePoint && String.fromCodePoint.length !== 1) {\n var originalFromCodePoint = String.fromCodePoint;\n overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) {\n return ES.Call(originalFromCodePoint, this, arguments);\n });\n }\n\n var StringShims = {\n fromCodePoint: function fromCodePoint(codePoints) {\n var result = [];\n var next;\n for (var i = 0, length = arguments.length; i < length; i++) {\n next = Number(arguments[i]);\n if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {\n throw new RangeError('Invalid code point ' + next);\n }\n\n if (next < 0x10000) {\n _push(result, String.fromCharCode(next));\n } else {\n next -= 0x10000;\n _push(result, String.fromCharCode((next >> 10) + 0xD800));\n _push(result, String.fromCharCode((next % 0x400) + 0xDC00));\n }\n }\n return result.join('');\n },\n\n raw: function raw(callSite) {\n var cooked = ES.ToObject(callSite, 'bad callSite');\n var rawString = ES.ToObject(cooked.raw, 'bad raw value');\n var len = rawString.length;\n var literalsegments = ES.ToLength(len);\n if (literalsegments <= 0) {\n return '';\n }\n\n var stringElements = [];\n var nextIndex = 0;\n var nextKey, next, nextSeg, nextSub;\n while (nextIndex < literalsegments) {\n nextKey = ES.ToString(nextIndex);\n nextSeg = ES.ToString(rawString[nextKey]);\n _push(stringElements, nextSeg);\n if (nextIndex + 1 >= literalsegments) {\n break;\n }\n next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';\n nextSub = ES.ToString(next);\n _push(stringElements, nextSub);\n nextIndex += 1;\n }\n return stringElements.join('');\n }\n };\n if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {\n // IE 11 TP has a broken String.raw implementation\n overrideNative(String, 'raw', StringShims.raw);\n }\n defineProperties(String, StringShims);\n\n // Fast repeat, uses the `Exponentiation by squaring` algorithm.\n // Perf: http://jsperf.com/string-repeat2/2\n var stringRepeat = function repeat(s, times) {\n if (times < 1) { return ''; }\n if (times % 2) { return repeat(s, times - 1) + s; }\n var half = repeat(s, times / 2);\n return half + half;\n };\n var stringMaxLength = Infinity;\n\n var StringPrototypeShims = {\n repeat: function repeat(times) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var numTimes = ES.ToInteger(times);\n if (numTimes < 0 || numTimes >= stringMaxLength) {\n throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');\n }\n return stringRepeat(thisStr, numTimes);\n },\n\n startsWith: function startsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"startsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n var start = _max(ES.ToInteger(position), 0);\n return _strSlice(S, start, start + searchStr.length) === searchStr;\n },\n\n endsWith: function endsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"endsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var len = S.length;\n var endPosition;\n if (arguments.length > 1) {\n endPosition = arguments[1];\n }\n var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);\n var end = _min(_max(pos, 0), len);\n return _strSlice(S, end - searchStr.length, end) === searchStr;\n },\n\n includes: function includes(searchString) {\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('\"includes\" does not accept a RegExp');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n // Somehow this trick makes method 100% compat with the spec.\n return _indexOf(this, searchStr, position) !== -1;\n },\n\n codePointAt: function codePointAt(pos) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var position = ES.ToInteger(pos);\n var length = thisStr.length;\n if (position >= 0 && position < length) {\n var first = thisStr.charCodeAt(position);\n var isEnd = position + 1 === length;\n if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; }\n var second = thisStr.charCodeAt(position + 1);\n if (second < 0xDC00 || second > 0xDFFF) { return first; }\n return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;\n }\n }\n };\n if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n\n if (String.prototype.startsWith && String.prototype.endsWith) {\n var startsWithRejectsRegex = throwsError(function () {\n /* throws if spec-compliant */\n return '/a/'.startsWith(/a/);\n });\n var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {\n return 'abc'.startsWith('a', Infinity) === false;\n });\n if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {\n // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n }\n if (hasSymbols) {\n var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.startsWith(re);\n });\n if (!startsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n }\n var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.endsWith(re);\n });\n if (!endsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.includes(re);\n });\n if (!includesSupportsSymbolMatch) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n }\n\n defineProperties(String.prototype, StringPrototypeShims);\n\n // whitespace from: http://es5.github.io/#x15.5.4.20\n // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\n var ws = [\n '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n '\\u2029\\uFEFF'\n ].join('');\n var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\n var trimShim = function trim() {\n return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');\n };\n var nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\n var nonWSregex = new RegExp('[' + nonWS + ']', 'g');\n var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;\n var hasStringTrimBug = nonWS.trim().length !== nonWS.length;\n defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);\n\n // Given an argument x, it will return an IteratorResult object,\n // with value set to x and done to false.\n // Given no arguments, it will return an iterator completion object.\n var iteratorResult = function (x) {\n return { value: x, done: arguments.length === 0 };\n };\n\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator\n var StringIterator = function (s) {\n ES.RequireObjectCoercible(s);\n this._s = ES.ToString(s);\n this._i = 0;\n };\n StringIterator.prototype.next = function () {\n var s = this._s;\n var i = this._i;\n if (typeof s === 'undefined' || i >= s.length) {\n this._s = void 0;\n return iteratorResult();\n }\n var first = s.charCodeAt(i);\n var second, len;\n if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {\n len = 1;\n } else {\n second = s.charCodeAt(i + 1);\n len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;\n }\n this._i = i + len;\n return iteratorResult(s.substr(i, len));\n };\n addIterator(StringIterator.prototype);\n addIterator(String.prototype, function () {\n return new StringIterator(this);\n });\n\n var ArrayShims = {\n from: function from(items) {\n var C = this;\n var mapFn;\n if (arguments.length > 1) {\n mapFn = arguments[1];\n }\n var mapping, T;\n if (typeof mapFn === 'undefined') {\n mapping = false;\n } else {\n if (!ES.IsCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n if (arguments.length > 2) {\n T = arguments[2];\n }\n mapping = true;\n }\n\n // Note that that Arrays will use ArrayIterator:\n // https://bugs.ecmascript.org/show_bug.cgi?id=2416\n var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';\n\n var length, result, i;\n if (usingIterator) {\n result = ES.IsConstructor(C) ? Object(new C()) : [];\n var iterator = ES.GetIterator(items);\n var next, nextValue;\n\n i = 0;\n while (true) {\n next = ES.IteratorStep(iterator);\n if (next === false) {\n break;\n }\n nextValue = next.value;\n try {\n if (mapping) {\n nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);\n }\n result[i] = nextValue;\n } catch (e) {\n ES.IteratorClose(iterator, true);\n throw e;\n }\n i += 1;\n }\n length = i;\n } else {\n var arrayLike = ES.ToObject(items);\n length = ES.ToLength(arrayLike.length);\n result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);\n var value;\n for (i = 0; i < length; ++i) {\n value = arrayLike[i];\n if (mapping) {\n value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);\n }\n createDataPropertyOrThrow(result, i, value);\n }\n }\n\n result.length = length;\n return result;\n },\n\n of: function of() {\n var len = arguments.length;\n var C = this;\n var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);\n for (var k = 0; k < len; ++k) {\n createDataPropertyOrThrow(A, k, arguments[k]);\n }\n A.length = len;\n return A;\n }\n };\n defineProperties(Array, ArrayShims);\n addDefaultSpecies(Array);\n\n // Our ArrayIterator is private; see\n // https://github.com/paulmillr/es6-shim/issues/252\n ArrayIterator = function (array, kind) {\n this.i = 0;\n this.array = array;\n this.kind = kind;\n };\n\n defineProperties(ArrayIterator.prototype, {\n next: function () {\n var i = this.i;\n var array = this.array;\n if (!(this instanceof ArrayIterator)) {\n throw new TypeError('Not an ArrayIterator');\n }\n if (typeof array !== 'undefined') {\n var len = ES.ToLength(array.length);\n for (; i < len; i++) {\n var kind = this.kind;\n var retval;\n if (kind === 'key') {\n retval = i;\n } else if (kind === 'value') {\n retval = array[i];\n } else if (kind === 'entry') {\n retval = [i, array[i]];\n }\n this.i = i + 1;\n return iteratorResult(retval);\n }\n }\n this.array = void 0;\n return iteratorResult();\n }\n });\n addIterator(ArrayIterator.prototype);\n\n /*\n var orderKeys = function orderKeys(a, b) {\n var aNumeric = String(ES.ToInteger(a)) === a;\n var bNumeric = String(ES.ToInteger(b)) === b;\n if (aNumeric && bNumeric) {\n return b - a;\n } else if (aNumeric && !bNumeric) {\n return -1;\n } else if (!aNumeric && bNumeric) {\n return 1;\n } else {\n return a.localeCompare(b);\n }\n };\n\n var getAllKeys = function getAllKeys(object) {\n var ownKeys = [];\n var keys = [];\n\n for (var key in object) {\n _push(_hasOwnProperty(object, key) ? ownKeys : keys, key);\n }\n _sort(ownKeys, orderKeys);\n _sort(keys, orderKeys);\n\n return _concat(ownKeys, keys);\n };\n */\n\n // note: this is positioned here because it depends on ArrayIterator\n var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {\n // Detects a bug in Webkit nightly r181886\n var Foo = function Foo(len) { this.length = len; };\n Foo.prototype = [];\n var fooArr = Array.of.apply(Foo, [1, 2]);\n return fooArr instanceof Foo && fooArr.length === 2;\n }());\n if (!arrayOfSupportsSubclassing) {\n overrideNative(Array, 'of', ArrayShims.of);\n }\n\n var ArrayPrototypeShims = {\n copyWithin: function copyWithin(target, start) {\n var o = ES.ToObject(this);\n var len = ES.ToLength(o.length);\n var relativeTarget = ES.ToInteger(target);\n var relativeStart = ES.ToInteger(start);\n var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);\n var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end);\n var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);\n var count = _min(finalItem - from, len - to);\n var direction = 1;\n if (from < to && to < (from + count)) {\n direction = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count > 0) {\n if (from in o) {\n o[to] = o[from];\n } else {\n delete o[to];\n }\n from += direction;\n to += direction;\n count -= 1;\n }\n return o;\n },\n\n fill: function fill(value) {\n var start;\n if (arguments.length > 1) {\n start = arguments[1];\n }\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var O = ES.ToObject(this);\n var len = ES.ToLength(O.length);\n start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);\n end = ES.ToInteger(typeof end === 'undefined' ? len : end);\n\n var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len);\n var relativeEnd = end < 0 ? len + end : end;\n\n for (var i = relativeStart; i < len && i < relativeEnd; ++i) {\n O[i] = value;\n }\n return O;\n },\n\n find: function find(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#find: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0, value; i < length; i++) {\n value = list[i];\n if (thisArg) {\n if (_call(predicate, thisArg, value, i, list)) {\n return value;\n }\n } else if (predicate(value, i, list)) {\n return value;\n }\n }\n },\n\n findIndex: function findIndex(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#findIndex: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0; i < length; i++) {\n if (thisArg) {\n if (_call(predicate, thisArg, list[i], i, list)) {\n return i;\n }\n } else if (predicate(list[i], i, list)) {\n return i;\n }\n }\n return -1;\n },\n\n keys: function keys() {\n return new ArrayIterator(this, 'key');\n },\n\n values: function values() {\n return new ArrayIterator(this, 'value');\n },\n\n entries: function entries() {\n return new ArrayIterator(this, 'entry');\n }\n };\n // Safari 7.1 defines Array#keys and Array#entries natively,\n // but the resulting ArrayIterator objects don't have a \"next\" method.\n if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {\n delete Array.prototype.keys;\n }\n if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {\n delete Array.prototype.entries;\n }\n\n // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values\n if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) {\n defineProperties(Array.prototype, {\n values: Array.prototype[$iterator$]\n });\n if (Type.symbol(Symbol.unscopables)) {\n Array.prototype[Symbol.unscopables].values = true;\n }\n }\n // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name\n if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {\n var originalArrayPrototypeValues = Array.prototype.values;\n overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); });\n defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);\n }\n defineProperties(Array.prototype, ArrayPrototypeShims);\n\n if (1 / [true].indexOf(true, -0) < 0) {\n // indexOf when given a position arg of -0 should return +0.\n // https://github.com/tc39/ecma262/pull/316\n defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) {\n var value = _arrayIndexOfApply(this, arguments);\n if (value === 0 && (1 / value) < 0) {\n return 0;\n }\n return value;\n }, true);\n }\n\n addIterator(Array.prototype, function () { return this.values(); });\n // Chrome defines keys/values/entries on Array, but doesn't give us\n // any way to identify its iterator. So add our own shimmed field.\n if (Object.getPrototypeOf) {\n addIterator(Object.getPrototypeOf([].values()));\n }\n\n // note: this is positioned here because it relies on Array#entries\n var arrayFromSwallowsNegativeLengths = (function () {\n // Detects a Firefox bug in v32\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993\n return valueOrFalseIfThrows(function () {\n return Array.from({ length: -1 }).length === 0;\n });\n }());\n var arrayFromHandlesIterables = (function () {\n // Detects a bug in Webkit nightly r181886\n var arr = Array.from([0].entries());\n return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;\n }());\n if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {\n overrideNative(Array, 'from', ArrayShims.from);\n }\n var arrayFromHandlesUndefinedMapFunction = (function () {\n // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,\n // but the spec doesn't care if it's provided or not - undefined doesn't throw.\n return valueOrFalseIfThrows(function () {\n return Array.from([0], void 0);\n });\n }());\n if (!arrayFromHandlesUndefinedMapFunction) {\n var origArrayFrom = Array.from;\n overrideNative(Array, 'from', function from(items) {\n if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {\n return ES.Call(origArrayFrom, this, arguments);\n } else {\n return _call(origArrayFrom, this, items);\n }\n });\n }\n\n var int32sAsOne = -(Math.pow(2, 32) - 1);\n var toLengthsCorrectly = function (method, reversed) {\n var obj = { length: int32sAsOne };\n obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;\n return valueOrFalseIfThrows(function () {\n _call(method, obj, function () {\n // note: in nonconforming browsers, this will be called\n // -1 >>> 0 times, which is 4294967295, so the throw matters.\n throw new RangeError('should not reach here');\n }, []);\n return true;\n });\n };\n if (!toLengthsCorrectly(Array.prototype.forEach)) {\n var originalForEach = Array.prototype.forEach;\n overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) {\n return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.map)) {\n var originalMap = Array.prototype.map;\n overrideNative(Array.prototype, 'map', function map(callbackFn) {\n return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.filter)) {\n var originalFilter = Array.prototype.filter;\n overrideNative(Array.prototype, 'filter', function filter(callbackFn) {\n return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.some)) {\n var originalSome = Array.prototype.some;\n overrideNative(Array.prototype, 'some', function some(callbackFn) {\n return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.every)) {\n var originalEvery = Array.prototype.every;\n overrideNative(Array.prototype, 'every', function every(callbackFn) {\n return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduce)) {\n var originalReduce = Array.prototype.reduce;\n overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) {\n return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {\n var originalReduceRight = Array.prototype.reduceRight;\n overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) {\n return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n\n var lacksOctalSupport = Number('0o10') !== 8;\n var lacksBinarySupport = Number('0b10') !== 2;\n var trimsNonWhitespace = _some(nonWS, function (c) {\n return Number(c + 0 + c) === 0;\n });\n if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {\n var OrigNumber = Number;\n var binaryRegex = /^0b[01]+$/i;\n var octalRegex = /^0o[0-7]+$/i;\n // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, \"test\" is an own property of regexes. wtf.\n var isBinary = binaryRegex.test.bind(binaryRegex);\n var isOctal = octalRegex.test.bind(octalRegex);\n var toPrimitive = function (O) { // need to replace this with `es-to-primitive/es6`\n var result;\n if (typeof O.valueOf === 'function') {\n result = O.valueOf();\n if (Type.primitive(result)) {\n return result;\n }\n }\n if (typeof O.toString === 'function') {\n result = O.toString();\n if (Type.primitive(result)) {\n return result;\n }\n }\n throw new TypeError('No default value');\n };\n var hasNonWS = nonWSregex.test.bind(nonWSregex);\n var isBadHex = isBadHexRegex.test.bind(isBadHexRegex);\n var NumberShim = (function () {\n // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.\n var NumberShim = function Number(value) {\n var primValue;\n if (arguments.length > 0) {\n primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');\n } else {\n primValue = 0;\n }\n if (typeof primValue === 'string') {\n primValue = ES.Call(trimShim, primValue);\n if (isBinary(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 2);\n } else if (isOctal(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 8);\n } else if (hasNonWS(primValue) || isBadHex(primValue)) {\n primValue = NaN;\n }\n }\n var receiver = this;\n var valueOfSucceeds = valueOrFalseIfThrows(function () {\n OrigNumber.prototype.valueOf.call(receiver);\n return true;\n });\n if (receiver instanceof NumberShim && !valueOfSucceeds) {\n return new OrigNumber(primValue);\n }\n return OrigNumber(primValue);\n };\n return NumberShim;\n }());\n wrapConstructor(OrigNumber, NumberShim, {});\n // this is necessary for ES3 browsers, where these properties are non-enumerable.\n defineProperties(NumberShim, {\n NaN: OrigNumber.NaN,\n MAX_VALUE: OrigNumber.MAX_VALUE,\n MIN_VALUE: OrigNumber.MIN_VALUE,\n NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,\n POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY\n });\n /* globals Number: true */\n /* eslint-disable no-undef, no-global-assign */\n Number = NumberShim;\n Value.redefine(globals, 'Number', NumberShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals Number: false */\n }\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n defineProperties(Number, {\n MAX_SAFE_INTEGER: maxSafeInteger,\n MIN_SAFE_INTEGER: -maxSafeInteger,\n EPSILON: 2.220446049250313e-16,\n\n parseInt: globals.parseInt,\n parseFloat: globals.parseFloat,\n\n isFinite: numberIsFinite,\n\n isInteger: function isInteger(value) {\n return numberIsFinite(value) && ES.ToInteger(value) === value;\n },\n\n isSafeInteger: function isSafeInteger(value) {\n return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;\n },\n\n isNaN: numberIsNaN\n });\n // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)\n defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);\n\n // Work around bugs in Array#find and Array#findIndex -- early\n // implementations skipped holes in sparse arrays. (Note that the\n // implementations of find/findIndex indirectly use shimmed\n // methods of Number, so this test has to happen down here.)\n /* eslint-disable no-sparse-arrays */\n if ([, 1].find(function () { return true; }) === 1) {\n overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);\n }\n if ([, 1].findIndex(function () { return true; }) !== 0) {\n overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);\n }\n /* eslint-enable no-sparse-arrays */\n\n var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);\n var ensureEnumerable = function ensureEnumerable(obj, prop) {\n if (supportsDescriptors && isEnumerableOn(obj, prop)) {\n Object.defineProperty(obj, prop, { enumerable: false });\n }\n };\n var sliceArgs = function sliceArgs() {\n // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n // and https://gist.github.com/WebReflection/4327762cb87a8c634a29\n var initial = Number(this);\n var len = arguments.length;\n var desiredArgCount = len - initial;\n var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount);\n for (var i = initial; i < len; ++i) {\n args[i - initial] = arguments[i];\n }\n return args;\n };\n var assignTo = function assignTo(source) {\n return function assignToSource(target, key) {\n target[key] = source[key];\n return target;\n };\n };\n var assignReducer = function (target, source) {\n var sourceKeys = keys(Object(source));\n var symbols;\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));\n }\n return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);\n };\n\n var ObjectShims = {\n // 19.1.3.1\n assign: function (target, source) {\n var to = ES.ToObject(target, 'Cannot convert undefined or null to object');\n return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);\n },\n\n // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865\n is: function is(a, b) {\n return ES.SameValue(a, b);\n }\n };\n var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {\n // Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n // which is 72% slower than our shim, and Firefox 40's native implementation.\n var thrower = Object.preventExtensions({ 1: 2 });\n try {\n Object.assign(thrower, 'xy');\n } catch (e) {\n return thrower[1] === 'y';\n }\n }());\n if (assignHasPendingExceptions) {\n overrideNative(Object, 'assign', ObjectShims.assign);\n }\n defineProperties(Object, ObjectShims);\n\n if (supportsDescriptors) {\n var ES5ObjectShims = {\n // 19.1.3.9\n // shim from https://gist.github.com/WebReflection/5593554\n setPrototypeOf: (function (Object, magic) {\n var set;\n\n var checkArgs = function (O, proto) {\n if (!ES.TypeIsObject(O)) {\n throw new TypeError('cannot set prototype on a non-object');\n }\n if (!(proto === null || ES.TypeIsObject(proto))) {\n throw new TypeError('can only set prototype to an object or null' + proto);\n }\n };\n\n var setPrototypeOf = function (O, proto) {\n checkArgs(O, proto);\n _call(set, O, proto);\n return O;\n };\n\n try {\n // this works already in Firefox and Safari\n set = Object.getOwnPropertyDescriptor(Object.prototype, magic).set;\n _call(set, {}, null);\n } catch (e) {\n if (Object.prototype !== {}[magic]) {\n // IE < 11 cannot be shimmed\n return;\n }\n // probably Chrome or some old Mobile stock browser\n set = function (proto) {\n this[magic] = proto;\n };\n // please note that this will **not** work\n // in those browsers that do not inherit\n // __proto__ by mistake from Object.prototype\n // in these cases we should probably throw an error\n // or at least be informed about the issue\n setPrototypeOf.polyfill = setPrototypeOf(\n setPrototypeOf({}, null),\n Object.prototype\n ) instanceof Object;\n // setPrototypeOf.polyfill === true means it works as meant\n // setPrototypeOf.polyfill === false means it's not 100% reliable\n // setPrototypeOf.polyfill === undefined\n // or\n // setPrototypeOf.polyfill == null means it's not a polyfill\n // which means it works as expected\n // we can even delete Object.prototype.__proto__;\n }\n return setPrototypeOf;\n }(Object, '__proto__'))\n };\n\n defineProperties(Object, ES5ObjectShims);\n }\n\n // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,\n // but Object.create(null) does.\n if (Object.setPrototypeOf && Object.getPrototypeOf &&\n Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null &&\n Object.getPrototypeOf(Object.create(null)) === null) {\n (function () {\n var FAKENULL = Object.create(null);\n var gpo = Object.getPrototypeOf;\n var spo = Object.setPrototypeOf;\n Object.getPrototypeOf = function (o) {\n var result = gpo(o);\n return result === FAKENULL ? null : result;\n };\n Object.setPrototypeOf = function (o, p) {\n var proto = p === null ? FAKENULL : p;\n return spo(o, proto);\n };\n Object.setPrototypeOf.polyfill = false;\n }());\n }\n\n var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });\n if (!objectKeysAcceptsPrimitives) {\n var originalObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n return originalObjectKeys(ES.ToObject(value));\n });\n keys = Object.keys;\n }\n var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });\n if (objectKeysRejectsRegex) {\n var regexRejectingObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n if (Type.regex(value)) {\n var regexKeys = [];\n for (var k in value) {\n if (_hasOwnProperty(value, k)) {\n _push(regexKeys, k);\n }\n }\n return regexKeys;\n }\n return regexRejectingObjectKeys(value);\n });\n keys = Object.keys;\n }\n\n if (Object.getOwnPropertyNames) {\n var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });\n if (!objectGOPNAcceptsPrimitives) {\n var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];\n var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {\n var val = ES.ToObject(value);\n if (_toString(val) === '[object Window]') {\n try {\n return originalObjectGetOwnPropertyNames(val);\n } catch (e) {\n // IE bug where layout engine calls userland gOPN for cross-domain `window` objects\n return _concat([], cachedWindowNames);\n }\n }\n return originalObjectGetOwnPropertyNames(val);\n });\n }\n }\n if (Object.getOwnPropertyDescriptor) {\n var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });\n if (!objectGOPDAcceptsPrimitives) {\n var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) {\n return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);\n });\n }\n }\n if (Object.seal) {\n var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });\n if (!objectSealAcceptsPrimitives) {\n var originalObjectSeal = Object.seal;\n overrideNative(Object, 'seal', function seal(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectSeal(value);\n });\n }\n }\n if (Object.isSealed) {\n var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });\n if (!objectIsSealedAcceptsPrimitives) {\n var originalObjectIsSealed = Object.isSealed;\n overrideNative(Object, 'isSealed', function isSealed(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsSealed(value);\n });\n }\n }\n if (Object.freeze) {\n var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });\n if (!objectFreezeAcceptsPrimitives) {\n var originalObjectFreeze = Object.freeze;\n overrideNative(Object, 'freeze', function freeze(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectFreeze(value);\n });\n }\n }\n if (Object.isFrozen) {\n var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });\n if (!objectIsFrozenAcceptsPrimitives) {\n var originalObjectIsFrozen = Object.isFrozen;\n overrideNative(Object, 'isFrozen', function isFrozen(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsFrozen(value);\n });\n }\n }\n if (Object.preventExtensions) {\n var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });\n if (!objectPreventExtensionsAcceptsPrimitives) {\n var originalObjectPreventExtensions = Object.preventExtensions;\n overrideNative(Object, 'preventExtensions', function preventExtensions(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectPreventExtensions(value);\n });\n }\n }\n if (Object.isExtensible) {\n var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });\n if (!objectIsExtensibleAcceptsPrimitives) {\n var originalObjectIsExtensible = Object.isExtensible;\n overrideNative(Object, 'isExtensible', function isExtensible(value) {\n if (!ES.TypeIsObject(value)) { return false; }\n return originalObjectIsExtensible(value);\n });\n }\n }\n if (Object.getPrototypeOf) {\n var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });\n if (!objectGetProtoAcceptsPrimitives) {\n var originalGetProto = Object.getPrototypeOf;\n overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) {\n return originalGetProto(ES.ToObject(value));\n });\n }\n }\n\n var hasFlags = supportsDescriptors && (function () {\n var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');\n return desc && ES.IsCallable(desc.get);\n }());\n if (supportsDescriptors && !hasFlags) {\n var regExpFlagsGetter = function flags() {\n if (!ES.TypeIsObject(this)) {\n throw new TypeError('Method called on incompatible type: must be an object.');\n }\n var result = '';\n if (this.global) {\n result += 'g';\n }\n if (this.ignoreCase) {\n result += 'i';\n }\n if (this.multiline) {\n result += 'm';\n }\n if (this.unicode) {\n result += 'u';\n }\n if (this.sticky) {\n result += 'y';\n }\n return result;\n };\n\n Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);\n }\n\n var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {\n return String(new RegExp(/a/g, 'i')) === '/a/i';\n });\n var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {\n // Edge 0.12 supports flags fully, but does not support Symbol.match\n var regex = /./;\n regex[Symbol.match] = false;\n return RegExp(regex) === regex;\n }());\n\n var regexToStringIsGeneric = valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';\n });\n var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';\n });\n if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) {\n var origRegExpToString = RegExp.prototype.toString;\n defineProperty(RegExp.prototype, 'toString', function toString() {\n var R = ES.RequireObjectCoercible(this);\n if (Type.regex(R)) {\n return _call(origRegExpToString, R);\n }\n var pattern = $String(R.source);\n var flags = $String(R.flags);\n return '/' + pattern + '/' + flags;\n }, true);\n Value.preserveToString(RegExp.prototype.toString, origRegExpToString);\n }\n\n if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {\n var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;\n var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};\n var legacySourceGetter = function () {\n // prior to it being a getter, it's own + nonconfigurable\n return this.source;\n };\n var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;\n\n var OrigRegExp = RegExp;\n var RegExpShim = (function () {\n return function RegExp(pattern, flags) {\n var patternIsRegExp = ES.IsRegExp(pattern);\n var calledWithNew = this instanceof RegExp;\n if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {\n return pattern;\n }\n\n var P = pattern;\n var F = flags;\n if (Type.regex(pattern)) {\n P = ES.Call(sourceGetter, pattern);\n F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;\n return new RegExp(P, F);\n } else if (patternIsRegExp) {\n P = pattern.source;\n F = typeof flags === 'undefined' ? pattern.flags : flags;\n }\n return new OrigRegExp(pattern, flags);\n };\n }());\n wrapConstructor(OrigRegExp, RegExpShim, {\n $input: true // Chrome < v39 & Opera < 26 have a nonstandard \"$input\" property\n });\n /* globals RegExp: true */\n /* eslint-disable no-undef, no-global-assign */\n RegExp = RegExpShim;\n Value.redefine(globals, 'RegExp', RegExpShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals RegExp: false */\n }\n\n if (supportsDescriptors) {\n var regexGlobals = {\n input: '$_',\n lastMatch: '$&',\n lastParen: '$+',\n leftContext: '$`',\n rightContext: '$\\''\n };\n _forEach(keys(regexGlobals), function (prop) {\n if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {\n Value.getter(RegExp, regexGlobals[prop], function get() {\n return RegExp[prop];\n });\n }\n });\n }\n addDefaultSpecies(RegExp);\n\n var inverseEpsilon = 1 / Number.EPSILON;\n var roundTiesToEven = function roundTiesToEven(n) {\n // Even though this reduces down to `return n`, it takes advantage of built-in rounding.\n return (n + inverseEpsilon) - inverseEpsilon;\n };\n var BINARY_32_EPSILON = Math.pow(2, -23);\n var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);\n var BINARY_32_MIN_VALUE = Math.pow(2, -126);\n var E = Math.E;\n var LOG2E = Math.LOG2E;\n var LOG10E = Math.LOG10E;\n var numberCLZ = Number.prototype.clz;\n delete Number.prototype.clz; // Safari 8 has Number#clz\n\n var MathShims = {\n acosh: function acosh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || value < 1) { return NaN; }\n if (x === 1) { return 0; }\n if (x === Infinity) { return x; }\n\n var xInvSquared = 1 / (x * x);\n if (x < 2) {\n return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));\n }\n var halfX = x / 2;\n return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);\n },\n\n asinh: function asinh(value) {\n var x = Number(value);\n if (x === 0 || !globalIsFinite(x)) {\n return x;\n }\n\n var a = _abs(x);\n var aSquared = a * a;\n var s = _sign(x);\n if (a < 1) {\n return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));\n }\n return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));\n },\n\n atanh: function atanh(value) {\n var x = Number(value);\n\n if (x === 0) { return x; }\n if (x === -1) { return -Infinity; }\n if (x === 1) { return Infinity; }\n if (numberIsNaN(x) || x < -1 || x > 1) {\n return NaN;\n }\n\n var a = _abs(x);\n return _sign(x) * _log1p(2 * a / (1 - a)) / 2;\n },\n\n cbrt: function cbrt(value) {\n var x = Number(value);\n if (x === 0) { return x; }\n var negate = x < 0;\n var result;\n if (negate) { x = -x; }\n if (x === Infinity) {\n result = Infinity;\n } else {\n result = _exp(_log(x) / 3);\n // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods\n result = ((x / (result * result)) + (2 * result)) / 3;\n }\n return negate ? -result : result;\n },\n\n clz32: function clz32(value) {\n // See https://bugs.ecmascript.org/show_bug.cgi?id=2465\n var x = Number(value);\n var number = ES.ToUint32(x);\n if (number === 0) {\n return 32;\n }\n return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);\n },\n\n cosh: function cosh(value) {\n var x = Number(value);\n if (x === 0) { return 1; } // +0 or -0\n if (numberIsNaN(x)) { return NaN; }\n if (!globalIsFinite(x)) { return Infinity; }\n\n var t = _exp(_abs(x) - 1);\n return (t + (1 / (t * E * E))) * (E / 2);\n },\n\n expm1: function expm1(value) {\n var x = Number(value);\n if (x === -Infinity) { return -1; }\n if (!globalIsFinite(x) || x === 0) { return x; }\n if (_abs(x) > 0.5) {\n return _exp(x) - 1;\n }\n // A more precise approximation using Taylor series expansion\n // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986\n var t = x;\n var sum = 0;\n var n = 1;\n while (sum + t !== sum) {\n sum += t;\n n += 1;\n t *= x / n;\n }\n return sum;\n },\n\n hypot: function hypot(x, y) {\n var result = 0;\n var largest = 0;\n for (var i = 0; i < arguments.length; ++i) {\n var value = _abs(Number(arguments[i]));\n if (largest < value) {\n result *= (largest / value) * (largest / value);\n result += 1;\n largest = value;\n } else {\n result += value > 0 ? (value / largest) * (value / largest) : value;\n }\n }\n return largest === Infinity ? Infinity : largest * _sqrt(result);\n },\n\n log2: function log2(value) {\n return _log(value) * LOG2E;\n },\n\n log10: function log10(value) {\n return _log(value) * LOG10E;\n },\n\n log1p: _log1p,\n\n sign: _sign,\n\n sinh: function sinh(value) {\n var x = Number(value);\n if (!globalIsFinite(x) || x === 0) { return x; }\n\n var a = _abs(x);\n if (a < 1) {\n var u = Math.expm1(a);\n return _sign(x) * u * (1 + (1 / (u + 1))) / 2;\n }\n var t = _exp(a - 1);\n return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);\n },\n\n tanh: function tanh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || x === 0) { return x; }\n // can exit early at +-20 as JS loses precision for true value at this integer\n if (x >= 20) { return 1; }\n if (x <= -20) { return -1; }\n\n return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));\n },\n\n trunc: function trunc(value) {\n var x = Number(value);\n return x < 0 ? -_floor(-x) : _floor(x);\n },\n\n imul: function imul(x, y) {\n // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n var a = ES.ToUint32(x);\n var b = ES.ToUint32(y);\n var ah = (a >>> 16) & 0xffff;\n var al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff;\n var bl = b & 0xffff;\n // the shift by 0 fixes the sign on the high part\n // the final |0 converts the unsigned value into a signed value\n return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;\n },\n\n fround: function fround(x) {\n var v = Number(x);\n if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {\n return v;\n }\n var sign = _sign(v);\n var abs = _abs(v);\n if (abs < BINARY_32_MIN_VALUE) {\n return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;\n }\n // Veltkamp's splitting (?)\n var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;\n var result = a - (a - abs);\n if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {\n return sign * Infinity;\n }\n return sign * result;\n }\n };\n\n var withinULPDistance = function withinULPDistance(result, expected, distance) {\n return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);\n };\n\n defineProperties(Math, MathShims);\n // Chrome < 40 sinh returns ∞ for large numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);\n // Chrome < 40 cosh returns ∞ for large numbers\n defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);\n // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0\n defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);\n // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));\n // Chrome < 54 asinh returns ∞ for large numbers and should not\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);\n // Chrome < 54 atanh incorrectly returns 0 for large numbers\n defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);\n // Chrome 40 has an imprecise Math.tanh with very small numbers\n defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);\n // Chrome 40 loses Math.acosh precision with high numbers\n defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);\n // Chrome < 54 has an inaccurate acosh for EPSILON deltas\n defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));\n // Firefox 38 on Windows\n defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));\n // node 0.11 has an imprecise Math.sinh with very small numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);\n // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)\n var expm1OfTen = Math.expm1(10);\n defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);\n\n var origMathRound = Math.round;\n // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12\n var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0 &&\n Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;\n\n // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.\n // This behavior should be governed by \"round to nearest, ties to even mode\"\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type\n // These are the boundary cases where it breaks.\n var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;\n var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;\n var roundDoesNotIncreaseIntegers = [\n smallestPositiveNumberWhereRoundBreaks,\n largestPositiveNumberWhereRoundBreaks\n ].every(function (num) {\n return Math.round(num) === num;\n });\n defineProperty(Math, 'round', function round(x) {\n var floor = _floor(x);\n var ceil = floor === -1 ? -0 : floor + 1;\n return x - floor < 0.5 ? floor : ceil;\n }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers);\n Value.preserveToString(Math.round, origMathRound);\n\n var origImul = Math.imul;\n if (Math.imul(0xffffffff, 5) !== -5) {\n // Safari 6.1, at least, reports \"0\" for this value\n Math.imul = MathShims.imul;\n Value.preserveToString(Math.imul, origImul);\n }\n if (Math.imul.length !== 2) {\n // Safari 8.0.4 has a length of 1\n // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658\n overrideNative(Math, 'imul', function imul(x, y) {\n return ES.Call(origImul, Math, arguments);\n });\n }\n\n // Promises\n // Simplest possible implementation; use a 3rd-party library if you\n // want the best possible speed and/or long stack traces.\n var PromiseShim = (function () {\n var setTimeout = globals.setTimeout;\n // some environments don't have setTimeout - no way to shim here.\n if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; }\n\n ES.IsPromise = function (promise) {\n if (!ES.TypeIsObject(promise)) {\n return false;\n }\n if (typeof promise._promise === 'undefined') {\n return false; // uninitialized, or missing our hidden field.\n }\n return true;\n };\n\n // \"PromiseCapability\" in the spec is what most promise implementations\n // call a \"deferred\".\n var PromiseCapability = function (C) {\n if (!ES.IsConstructor(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = this;\n var resolver = function (resolve, reject) {\n if (capability.resolve !== void 0 || capability.reject !== void 0) {\n throw new TypeError('Bad Promise implementation!');\n }\n capability.resolve = resolve;\n capability.reject = reject;\n };\n // Initialize fields to inform optimizers about the object shape.\n capability.resolve = void 0;\n capability.reject = void 0;\n capability.promise = new C(resolver);\n if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {\n throw new TypeError('Bad promise constructor');\n }\n };\n\n // find an appropriate setImmediate-alike\n var makeZeroTimeout;\n /*global window */\n if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) {\n makeZeroTimeout = function () {\n // from http://dbaron.org/log/20100309-faster-timeouts\n var timeouts = [];\n var messageName = 'zero-timeout-message';\n var setZeroTimeout = function (fn) {\n _push(timeouts, fn);\n window.postMessage(messageName, '*');\n };\n var handleMessage = function (event) {\n if (event.source === window && event.data === messageName) {\n event.stopPropagation();\n if (timeouts.length === 0) { return; }\n var fn = _shift(timeouts);\n fn();\n }\n };\n window.addEventListener('message', handleMessage, true);\n return setZeroTimeout;\n };\n }\n var makePromiseAsap = function () {\n // An efficient task-scheduler based on a pre-existing Promise\n // implementation, which we can use even if we override the\n // global Promise below (in order to workaround bugs)\n // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671\n var P = globals.Promise;\n var pr = P && P.resolve && P.resolve();\n return pr && function (task) {\n return pr.then(task);\n };\n };\n /*global process */\n var enqueue = ES.IsCallable(globals.setImmediate) ?\n globals.setImmediate :\n typeof process === 'object' && process.nextTick ? process.nextTick : makePromiseAsap() ||\n (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); }); // fallback\n\n // Constants for Promise implementation\n var PROMISE_IDENTITY = function (x) { return x; };\n var PROMISE_THROWER = function (e) { throw e; };\n var PROMISE_PENDING = 0;\n var PROMISE_FULFILLED = 1;\n var PROMISE_REJECTED = 2;\n // We store fulfill/reject handlers and capabilities in a single array.\n var PROMISE_FULFILL_OFFSET = 0;\n var PROMISE_REJECT_OFFSET = 1;\n var PROMISE_CAPABILITY_OFFSET = 2;\n // This is used in an optimization for chaining promises via then.\n var PROMISE_FAKE_CAPABILITY = {};\n\n var enqueuePromiseReactionJob = function (handler, capability, argument) {\n enqueue(function () {\n promiseReactionJob(handler, capability, argument);\n });\n };\n\n var promiseReactionJob = function (handler, promiseCapability, argument) {\n var handlerResult, f;\n if (promiseCapability === PROMISE_FAKE_CAPABILITY) {\n // Fast case, when we don't actually need to chain through to a\n // (real) promiseCapability.\n return handler(argument);\n }\n try {\n handlerResult = handler(argument);\n f = promiseCapability.resolve;\n } catch (e) {\n handlerResult = e;\n f = promiseCapability.reject;\n }\n f(handlerResult);\n };\n\n var fulfillPromise = function (promise, value) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.fulfillReactionHandler0,\n _promise.reactionCapability0,\n value\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_FULFILL_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n value\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = value;\n _promise.state = PROMISE_FULFILLED;\n _promise.reactionLength = 0;\n };\n\n var rejectPromise = function (promise, reason) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.rejectReactionHandler0,\n _promise.reactionCapability0,\n reason\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_REJECT_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n reason\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = reason;\n _promise.state = PROMISE_REJECTED;\n _promise.reactionLength = 0;\n };\n\n var createResolvingFunctions = function (promise) {\n var alreadyResolved = false;\n var resolve = function (resolution) {\n var then;\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n if (resolution === promise) {\n return rejectPromise(promise, new TypeError('Self resolution'));\n }\n if (!ES.TypeIsObject(resolution)) {\n return fulfillPromise(promise, resolution);\n }\n try {\n then = resolution.then;\n } catch (e) {\n return rejectPromise(promise, e);\n }\n if (!ES.IsCallable(then)) {\n return fulfillPromise(promise, resolution);\n }\n enqueue(function () {\n promiseResolveThenableJob(promise, resolution, then);\n });\n };\n var reject = function (reason) {\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n return rejectPromise(promise, reason);\n };\n return { resolve: resolve, reject: reject };\n };\n\n var optimizedThen = function (then, thenable, resolve, reject) {\n // Optimization: since we discard the result, we can pass our\n // own then implementation a special hint to let it know it\n // doesn't have to create it. (The PROMISE_FAKE_CAPABILITY\n // object is local to this implementation and unforgeable outside.)\n if (then === Promise$prototype$then) {\n _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);\n } else {\n _call(then, thenable, resolve, reject);\n }\n };\n var promiseResolveThenableJob = function (promise, thenable, then) {\n var resolvingFunctions = createResolvingFunctions(promise);\n var resolve = resolvingFunctions.resolve;\n var reject = resolvingFunctions.reject;\n try {\n optimizedThen(then, thenable, resolve, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n var Promise$prototype, Promise$prototype$then;\n var Promise = (function () {\n var PromiseShim = function Promise(resolver) {\n if (!(this instanceof PromiseShim)) {\n throw new TypeError('Constructor Promise requires \"new\"');\n }\n if (this && this._promise) {\n throw new TypeError('Bad construction');\n }\n // see https://bugs.ecmascript.org/show_bug.cgi?id=2482\n if (!ES.IsCallable(resolver)) {\n throw new TypeError('not a valid resolver');\n }\n var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {\n _promise: {\n result: void 0,\n state: PROMISE_PENDING,\n // The first member of the \"reactions\" array is inlined here,\n // since most promises only have one reaction.\n // We've also exploded the 'reaction' object to inline the\n // \"handler\" and \"capability\" fields, since both fulfill and\n // reject reactions share the same capability.\n reactionLength: 0,\n fulfillReactionHandler0: void 0,\n rejectReactionHandler0: void 0,\n reactionCapability0: void 0\n }\n });\n var resolvingFunctions = createResolvingFunctions(promise);\n var reject = resolvingFunctions.reject;\n try {\n resolver(resolvingFunctions.resolve, reject);\n } catch (e) {\n reject(e);\n }\n return promise;\n };\n return PromiseShim;\n }());\n Promise$prototype = Promise.prototype;\n\n var _promiseAllResolver = function (index, values, capability, remaining) {\n var alreadyCalled = false;\n return function (x) {\n if (alreadyCalled) { return; }\n alreadyCalled = true;\n values[index] = x;\n if ((--remaining.count) === 0) {\n var resolve = capability.resolve;\n resolve(values); // call w/ this===undefined\n }\n };\n };\n\n var performPromiseAll = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var values = [];\n var remaining = { count: 1 };\n var next, nextValue;\n var index = 0;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n values[index] = void 0;\n var nextPromise = C.resolve(nextValue);\n var resolveElement = _promiseAllResolver(\n index,\n values,\n resultCapability,\n remaining\n );\n remaining.count += 1;\n optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);\n index += 1;\n }\n if ((--remaining.count) === 0) {\n var resolve = resultCapability.resolve;\n resolve(values); // call w/ this===undefined\n }\n return resultCapability.promise;\n };\n\n var performPromiseRace = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var next, nextValue, nextPromise;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n // NOTE: If iterable has no items, resulting promise will never\n // resolve; see:\n // https://github.com/domenic/promises-unwrapping/issues/75\n // https://bugs.ecmascript.org/show_bug.cgi?id=2515\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n nextPromise = C.resolve(nextValue);\n optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);\n }\n return resultCapability.promise;\n };\n\n defineProperties(Promise, {\n all: function all(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseAll(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n race: function race(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseRace(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n reject: function reject(reason) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = new PromiseCapability(C);\n var rejectFunc = capability.reject;\n rejectFunc(reason); // call with this===undefined\n return capability.promise;\n },\n\n resolve: function resolve(v) {\n // See https://esdiscuss.org/topic/fixing-promise-resolve for spec\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n if (ES.IsPromise(v)) {\n var constructor = v.constructor;\n if (constructor === C) {\n return v;\n }\n }\n var capability = new PromiseCapability(C);\n var resolveFunc = capability.resolve;\n resolveFunc(v); // call with this===undefined\n return capability.promise;\n }\n });\n\n defineProperties(Promise$prototype, {\n 'catch': function (onRejected) {\n return this.then(null, onRejected);\n },\n\n then: function then(onFulfilled, onRejected) {\n var promise = this;\n if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); }\n var C = ES.SpeciesConstructor(promise, Promise);\n var resultCapability;\n var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;\n if (returnValueIsIgnored && C === Promise) {\n resultCapability = PROMISE_FAKE_CAPABILITY;\n } else {\n resultCapability = new PromiseCapability(C);\n }\n // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)\n // Note that we've split the 'reaction' object into its two\n // components, \"capabilities\" and \"handler\"\n // \"capabilities\" is always equal to `resultCapability`\n var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;\n var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;\n var _promise = promise._promise;\n var value;\n if (_promise.state === PROMISE_PENDING) {\n if (_promise.reactionLength === 0) {\n _promise.fulfillReactionHandler0 = fulfillReactionHandler;\n _promise.rejectReactionHandler0 = rejectReactionHandler;\n _promise.reactionCapability0 = resultCapability;\n } else {\n var idx = 3 * (_promise.reactionLength - 1);\n _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;\n _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;\n _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;\n }\n _promise.reactionLength += 1;\n } else if (_promise.state === PROMISE_FULFILLED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n fulfillReactionHandler,\n resultCapability,\n value\n );\n } else if (_promise.state === PROMISE_REJECTED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n rejectReactionHandler,\n resultCapability,\n value\n );\n } else {\n throw new TypeError('unexpected Promise state');\n }\n return resultCapability.promise;\n }\n });\n // This helps the optimizer by ensuring that methods which take\n // capabilities aren't polymorphic.\n PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);\n Promise$prototype$then = Promise$prototype.then;\n\n return Promise;\n }());\n\n // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.\n if (globals.Promise) {\n delete globals.Promise.accept;\n delete globals.Promise.defer;\n delete globals.Promise.prototype.chain;\n }\n\n if (typeof PromiseShim === 'function') {\n // export the Promise constructor.\n defineProperties(globals, { Promise: PromiseShim });\n // In Chrome 33 (and thereabouts) Promise is defined, but the\n // implementation is buggy in a number of ways. Let's check subclassing\n // support to see if we have a buggy implementation.\n var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {\n return S.resolve(42).then(function () {}) instanceof S;\n });\n var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {\n return globals.Promise.reject(42).then(null, 5).then(null, noop);\n });\n var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });\n // Promise.resolve() was errata'ed late in the ES6 process.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742\n // https://code.google.com/p/v8/issues/detail?id=4161\n // It serves as a proxy for a number of other bugs in early Promise\n // implementations.\n var promiseResolveBroken = (function (Promise) {\n var p = Promise.resolve(5);\n p.constructor = {};\n var p2 = Promise.resolve(p);\n try {\n p2.then(null, noop).then(null, noop); // avoid \"uncaught rejection\" warnings in console\n } catch (e) {\n return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314\n }\n return p === p2; // This *should* be false!\n }(globals.Promise));\n\n // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously\n var getsThenSynchronously = supportsDescriptors && (function () {\n var count = 0;\n // eslint-disable-next-line getter-return\n var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });\n Promise.resolve(thenable);\n return count === 1;\n }());\n\n var BadResolverPromise = function BadResolverPromise(executor) {\n var p = new Promise(executor);\n executor(3, function () {});\n this.then = p.then;\n this.constructor = BadResolverPromise;\n };\n BadResolverPromise.prototype = Promise.prototype;\n BadResolverPromise.all = Promise.all;\n // Chrome Canary 49 (probably older too) has some implementation bugs\n var hasBadResolverPromise = valueOrFalseIfThrows(function () {\n return !!BadResolverPromise.all([1, 2]);\n });\n\n if (!promiseSupportsSubclassing || !promiseIgnoresNonFunctionThenCallbacks ||\n !promiseRequiresObjectContext || promiseResolveBroken ||\n !getsThenSynchronously || hasBadResolverPromise) {\n /* globals Promise: true */\n /* eslint-disable no-undef, no-global-assign */\n Promise = PromiseShim;\n /* eslint-enable no-undef, no-global-assign */\n /* globals Promise: false */\n overrideNative(globals, 'Promise', PromiseShim);\n }\n if (Promise.all.length !== 1) {\n var origAll = Promise.all;\n overrideNative(Promise, 'all', function all(iterable) {\n return ES.Call(origAll, this, arguments);\n });\n }\n if (Promise.race.length !== 1) {\n var origRace = Promise.race;\n overrideNative(Promise, 'race', function race(iterable) {\n return ES.Call(origRace, this, arguments);\n });\n }\n if (Promise.resolve.length !== 1) {\n var origResolve = Promise.resolve;\n overrideNative(Promise, 'resolve', function resolve(x) {\n return ES.Call(origResolve, this, arguments);\n });\n }\n if (Promise.reject.length !== 1) {\n var origReject = Promise.reject;\n overrideNative(Promise, 'reject', function reject(r) {\n return ES.Call(origReject, this, arguments);\n });\n }\n ensureEnumerable(Promise, 'all');\n ensureEnumerable(Promise, 'race');\n ensureEnumerable(Promise, 'resolve');\n ensureEnumerable(Promise, 'reject');\n addDefaultSpecies(Promise);\n }\n\n // Map and Set require a true ES5 environment\n // Their fast path also requires that the environment preserve\n // property insertion order, which is not guaranteed by the spec.\n var testOrder = function (a) {\n var b = keys(_reduce(a, function (o, k) {\n o[k] = true;\n return o;\n }, {}));\n return a.join(':') === b.join(':');\n };\n var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);\n // some engines (eg, Chrome) only preserve insertion order for string keys\n var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);\n\n if (supportsDescriptors) {\n\n var fastkey = function fastkey(key, skipInsertionOrderCheck) {\n if (!skipInsertionOrderCheck && !preservesInsertionOrder) {\n return null;\n }\n if (isNullOrUndefined(key)) {\n return '^' + ES.ToString(key);\n } else if (typeof key === 'string') {\n return '$' + key;\n } else if (typeof key === 'number') {\n // note that -0 will get coerced to \"0\" when used as a property key\n if (!preservesNumericInsertionOrder) {\n return 'n' + key;\n }\n return key;\n } else if (typeof key === 'boolean') {\n return 'b' + key;\n }\n return null;\n };\n\n var emptyObject = function emptyObject() {\n // accomodate some older not-quite-ES5 browsers\n return Object.create ? Object.create(null) : {};\n };\n\n var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (entry) {\n if (!ES.TypeIsObject(entry)) {\n throw new TypeError('Iterator value ' + entry + ' is not an entry object');\n }\n map.set(entry[0], entry[1]);\n });\n } else if (iterable instanceof MapConstructor) {\n _call(MapConstructor.prototype.forEach, iterable, function (value, key) {\n map.set(key, value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = map.set;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextItem = next.value;\n try {\n if (!ES.TypeIsObject(nextItem)) {\n throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');\n }\n _call(adder, map, nextItem[0], nextItem[1]);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (value) {\n set.add(value);\n });\n } else if (iterable instanceof SetConstructor) {\n _call(SetConstructor.prototype.forEach, iterable, function (value) {\n set.add(value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = set.add;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextValue = next.value;\n try {\n _call(adder, set, nextValue);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n\n var collectionShims = {\n Map: (function () {\n\n var empty = {};\n\n var MapEntry = function MapEntry(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n };\n\n MapEntry.prototype.isRemoved = function isRemoved() {\n return this.key === empty;\n };\n\n var isMap = function isMap(map) {\n return !!map._es6map;\n };\n\n var requireMapSlot = function requireMapSlot(map, method) {\n if (!ES.TypeIsObject(map) || !isMap(map)) {\n throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));\n }\n };\n\n var MapIterator = function MapIterator(map, kind) {\n requireMapSlot(map, '[[MapIterator]]');\n this.head = map._head;\n this.i = this.head;\n this.kind = kind;\n };\n\n MapIterator.prototype = {\n isMapIterator: true,\n next: function next() {\n if (!this.isMapIterator) {\n throw new TypeError('Not a MapIterator');\n }\n var i = this.i;\n var kind = this.kind;\n var head = this.head;\n if (typeof this.i === 'undefined') {\n return iteratorResult();\n }\n while (i.isRemoved() && i !== head) {\n // back up off of removed entries\n i = i.prev;\n }\n // advance to next unreturned element.\n var result;\n while (i.next !== head) {\n i = i.next;\n if (!i.isRemoved()) {\n if (kind === 'key') {\n result = i.key;\n } else if (kind === 'value') {\n result = i.value;\n } else {\n result = [i.key, i.value];\n }\n this.i = i;\n return iteratorResult(result);\n }\n }\n // once the iterator is done, it is done forever.\n this.i = void 0;\n return iteratorResult();\n }\n };\n addIterator(MapIterator.prototype);\n\n var Map$prototype;\n var MapShim = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n if (this && this._es6map) {\n throw new TypeError('Bad construction');\n }\n var map = emulateES6construct(this, Map, Map$prototype, {\n _es6map: true,\n _head: null,\n _map: OrigMap ? new OrigMap() : null,\n _size: 0,\n _storage: emptyObject()\n });\n\n var head = new MapEntry(null, null);\n // circular doubly-linked list.\n /* eslint no-multi-assign: 1 */\n head.next = head.prev = head;\n map._head = head;\n\n // Optionally initialize map from iterable\n if (arguments.length > 0) {\n addIterableToMap(Map, map, arguments[0]);\n }\n return map;\n };\n Map$prototype = MapShim.prototype;\n\n Value.getter(Map$prototype, 'size', function () {\n if (typeof this._size === 'undefined') {\n throw new TypeError('size method called on incompatible Map');\n }\n return this._size;\n });\n\n defineProperties(Map$prototype, {\n get: function get(key) {\n requireMapSlot(this, 'get');\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n entry = this._storage[fkey];\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n if (this._map) {\n // fast object key path\n entry = origMapGet.call(this._map, key);\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return i.value;\n }\n }\n },\n\n has: function has(key) {\n requireMapSlot(this, 'has');\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n return typeof this._storage[fkey] !== 'undefined';\n }\n if (this._map) {\n // fast object key path\n return origMapHas.call(this._map, key);\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return true;\n }\n }\n return false;\n },\n\n set: function set(key, value) {\n requireMapSlot(this, 'set');\n var head = this._head;\n var i = head;\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] !== 'undefined') {\n this._storage[fkey].value = value;\n return this;\n } else {\n entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */\n i = head.prev;\n // fall through\n }\n } else if (this._map) {\n // fast object key path\n if (origMapHas.call(this._map, key)) {\n origMapGet.call(this._map, key).value = value;\n } else {\n entry = new MapEntry(key, value);\n origMapSet.call(this._map, key, entry);\n i = head.prev;\n // fall through\n }\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.value = value;\n return this;\n }\n }\n entry = entry || new MapEntry(key, value);\n if (ES.SameValue(-0, key)) {\n entry.key = +0; // coerce -0 to +0 in entry\n }\n entry.next = this._head;\n entry.prev = this._head.prev;\n entry.prev.next = entry;\n entry.next.prev = entry;\n this._size += 1;\n return this;\n },\n\n 'delete': function (key) {\n requireMapSlot(this, 'delete');\n var head = this._head;\n var i = head;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] === 'undefined') {\n return false;\n }\n i = this._storage[fkey].prev;\n delete this._storage[fkey];\n // fall through\n } else if (this._map) {\n // fast object key path\n if (!origMapHas.call(this._map, key)) {\n return false;\n }\n i = origMapGet.call(this._map, key).prev;\n origMapDelete.call(this._map, key);\n // fall through\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.key = empty;\n i.value = empty;\n i.prev.next = i.next;\n i.next.prev = i.prev;\n this._size -= 1;\n return true;\n }\n }\n return false;\n },\n\n clear: function clear() {\n /* eslint no-multi-assign: 1 */\n requireMapSlot(this, 'clear');\n this._map = OrigMap ? new OrigMap() : null;\n this._size = 0;\n this._storage = emptyObject();\n var head = this._head;\n var i = head;\n var p = i.next;\n while ((i = p) !== head) {\n i.key = empty;\n i.value = empty;\n p = i.next;\n i.next = i.prev = head;\n }\n head.next = head.prev = head;\n },\n\n keys: function keys() {\n requireMapSlot(this, 'keys');\n return new MapIterator(this, 'key');\n },\n\n values: function values() {\n requireMapSlot(this, 'values');\n return new MapIterator(this, 'value');\n },\n\n entries: function entries() {\n requireMapSlot(this, 'entries');\n return new MapIterator(this, 'key+value');\n },\n\n forEach: function forEach(callback) {\n requireMapSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var it = this.entries();\n for (var entry = it.next(); !entry.done; entry = it.next()) {\n if (context) {\n _call(callback, context, entry.value[1], entry.value[0], this);\n } else {\n callback(entry.value[1], entry.value[0], this);\n }\n }\n }\n });\n addIterator(Map$prototype, Map$prototype.entries);\n\n return MapShim;\n }()),\n\n Set: (function () {\n var isSet = function isSet(set) {\n return set._es6set && typeof set._storage !== 'undefined';\n };\n var requireSetSlot = function requireSetSlot(set, method) {\n if (!ES.TypeIsObject(set) || !isSet(set)) {\n // https://github.com/paulmillr/es6-shim/issues/176\n throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));\n }\n };\n\n // Creating a Map is expensive. To speed up the common case of\n // Sets containing only string or numeric keys, we use an object\n // as backing storage and lazily create a full Map only when\n // required.\n var Set$prototype;\n var SetShim = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n if (this && this._es6set) {\n throw new TypeError('Bad construction');\n }\n var set = emulateES6construct(this, Set, Set$prototype, {\n _es6set: true,\n '[[SetData]]': null,\n _storage: emptyObject()\n });\n if (!set._es6set) {\n throw new TypeError('bad set');\n }\n\n // Optionally initialize Set from iterable\n if (arguments.length > 0) {\n addIterableToSet(Set, set, arguments[0]);\n }\n return set;\n };\n Set$prototype = SetShim.prototype;\n\n var decodeKey = function (key) {\n var k = key;\n if (k === '^null') {\n return null;\n } else if (k === '^undefined') {\n return void 0;\n } else {\n var first = k.charAt(0);\n if (first === '$') {\n return _strSlice(k, 1);\n } else if (first === 'n') {\n return +_strSlice(k, 1);\n } else if (first === 'b') {\n return k === 'btrue';\n }\n }\n return +k;\n };\n // Switch from the object backing storage to a full Map.\n var ensureMap = function ensureMap(set) {\n if (!set['[[SetData]]']) {\n var m = new collectionShims.Map();\n set['[[SetData]]'] = m;\n _forEach(keys(set._storage), function (key) {\n var k = decodeKey(key);\n m.set(k, k);\n });\n set['[[SetData]]'] = m;\n }\n set._storage = null; // free old backing storage\n };\n\n Value.getter(SetShim.prototype, 'size', function () {\n requireSetSlot(this, 'size');\n if (this._storage) {\n return keys(this._storage).length;\n }\n ensureMap(this);\n return this['[[SetData]]'].size;\n });\n\n defineProperties(SetShim.prototype, {\n has: function has(key) {\n requireSetSlot(this, 'has');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n return !!this._storage[fkey];\n }\n ensureMap(this);\n return this['[[SetData]]'].has(key);\n },\n\n add: function add(key) {\n requireSetSlot(this, 'add');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n this._storage[fkey] = true;\n return this;\n }\n ensureMap(this);\n this['[[SetData]]'].set(key, key);\n return this;\n },\n\n 'delete': function (key) {\n requireSetSlot(this, 'delete');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n var hasFKey = _hasOwnProperty(this._storage, fkey);\n return (delete this._storage[fkey]) && hasFKey;\n }\n ensureMap(this);\n return this['[[SetData]]']['delete'](key);\n },\n\n clear: function clear() {\n requireSetSlot(this, 'clear');\n if (this._storage) {\n this._storage = emptyObject();\n }\n if (this['[[SetData]]']) {\n this['[[SetData]]'].clear();\n }\n },\n\n values: function values() {\n requireSetSlot(this, 'values');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].values());\n },\n\n entries: function entries() {\n requireSetSlot(this, 'entries');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].entries());\n },\n\n forEach: function forEach(callback) {\n requireSetSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var entireSet = this;\n ensureMap(entireSet);\n this['[[SetData]]'].forEach(function (value, key) {\n if (context) {\n _call(callback, context, key, key, entireSet);\n } else {\n callback(key, key, entireSet);\n }\n });\n }\n });\n defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);\n addIterator(SetShim.prototype, SetShim.prototype.values);\n\n var SetIterator = function SetIterator(it) {\n this.it = it;\n };\n SetIterator.prototype = {\n isSetIterator: true,\n next: function next() {\n if (!this.isSetIterator) {\n throw new TypeError('Not a SetIterator');\n }\n return this.it.next();\n }\n };\n addIterator(SetIterator.prototype);\n\n return SetShim;\n }())\n };\n\n var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys);\n if (isGoogleTranslate) {\n // special-case force removal of wildly invalid Set implementation in Google Translate iframes\n // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904\n globals.Set = collectionShims.Set;\n }\n if (globals.Map || globals.Set) {\n // Safari 8, for example, doesn't accept an iterable.\n var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });\n if (!mapAcceptsArguments) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, globals.Map.prototype);\n return m;\n };\n globals.Map.prototype = create(OrigMap.prototype);\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var testMap = new Map();\n var mapUsesSameValueZero = (function () {\n // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4\n var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);\n m.set(-0, m);\n return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);\n }());\n var mapSupportsChaining = testMap.set(1, 2) === testMap;\n if (!mapUsesSameValueZero || !mapSupportsChaining) {\n overrideNative(Map.prototype, 'set', function set(k, v) {\n _call(origMapSet, this, k === 0 ? 0 : k, v);\n return this;\n });\n }\n if (!mapUsesSameValueZero) {\n defineProperties(Map.prototype, {\n get: function get(k) {\n return _call(origMapGet, this, k === 0 ? 0 : k);\n },\n has: function has(k) {\n return _call(origMapHas, this, k === 0 ? 0 : k);\n }\n }, true);\n Value.preserveToString(Map.prototype.get, origMapGet);\n Value.preserveToString(Map.prototype.has, origMapHas);\n }\n var testSet = new Set();\n var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {\n s['delete'](0);\n s.add(-0);\n return !s.has(0);\n }(testSet));\n var setSupportsChaining = testSet.add(1) === testSet;\n if (!setUsesSameValueZero || !setSupportsChaining) {\n var origSetAdd = Set.prototype.add;\n Set.prototype.add = function add(v) {\n _call(origSetAdd, this, v === 0 ? 0 : v);\n return this;\n };\n Value.preserveToString(Set.prototype.add, origSetAdd);\n }\n if (!setUsesSameValueZero) {\n var origSetHas = Set.prototype.has;\n Set.prototype.has = function has(v) {\n return _call(origSetHas, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype.has, origSetHas);\n var origSetDel = Set.prototype['delete'];\n Set.prototype['delete'] = function SetDelete(v) {\n return _call(origSetDel, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype['delete'], origSetDel);\n }\n var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {\n var m = new M([]);\n // Firefox 32 is ok with the instantiating the subclass but will\n // throw when the map is used.\n m.set(42, 42);\n return m instanceof M;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;\n var mapRequiresNew = (function () {\n try {\n return !(globals.Map() instanceof globals.Map);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, Map.prototype);\n return m;\n };\n globals.Map.prototype = OrigMap.prototype;\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {\n var s = new S([]);\n s.add(42, 42);\n return s instanceof S;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;\n var setRequiresNew = (function () {\n try {\n return !(globals.Set() instanceof globals.Set);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {\n var OrigSet = globals.Set;\n globals.Set = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n var s = new OrigSet();\n if (arguments.length > 0) {\n addIterableToSet(Set, s, arguments[0]);\n }\n delete s.constructor;\n Object.setPrototypeOf(s, Set.prototype);\n return s;\n };\n globals.Set.prototype = OrigSet.prototype;\n defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);\n Value.preserveToString(globals.Set, OrigSet);\n }\n var newMap = new globals.Map();\n var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {\n return newMap.keys().next().done;\n });\n /*\n - In Firefox < 23, Map#size is a function.\n - In all current Firefox, Set#entries/keys/values & Map#clear do not exist\n - https://bugzilla.mozilla.org/show_bug.cgi?id=869996\n - In Firefox 24, Map and Set do not implement forEach\n - In Firefox 25 at least, Map and Set are callable without \"new\"\n */\n if (\n typeof globals.Map.prototype.clear !== 'function' ||\n new globals.Set().size !== 0 ||\n newMap.size !== 0 ||\n typeof globals.Map.prototype.keys !== 'function' ||\n typeof globals.Set.prototype.keys !== 'function' ||\n typeof globals.Map.prototype.forEach !== 'function' ||\n typeof globals.Set.prototype.forEach !== 'function' ||\n isCallableWithoutNew(globals.Map) ||\n isCallableWithoutNew(globals.Set) ||\n typeof newMap.keys().next !== 'function' || // Safari 8\n mapIterationThrowsStopIterator || // Firefox 25\n !mapSupportsSubclassing\n ) {\n defineProperties(globals, {\n Map: collectionShims.Map,\n Set: collectionShims.Set\n }, true);\n }\n\n if (globals.Set.prototype.keys !== globals.Set.prototype.values) {\n // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190\n defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);\n }\n\n // Shim incomplete iterator implementations.\n addIterator(Object.getPrototypeOf((new globals.Map()).keys()));\n addIterator(Object.getPrototypeOf((new globals.Set()).keys()));\n\n if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {\n // Microsoft Edge v0.11.10074.0 is missing a name on Set#has\n var anonymousSetHas = globals.Set.prototype.has;\n overrideNative(globals.Set.prototype, 'has', function has(key) {\n return _call(anonymousSetHas, this, key);\n });\n }\n }\n defineProperties(globals, collectionShims);\n addDefaultSpecies(globals.Map);\n addDefaultSpecies(globals.Set);\n }\n\n var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {\n if (!ES.TypeIsObject(target)) {\n throw new TypeError('target must be an object');\n }\n };\n\n // Some Reflect methods are basically the same as\n // those on the Object global, except that a TypeError is thrown if\n // target isn't an object. As well as returning a boolean indicating\n // the success of the operation.\n var ReflectShims = {\n // Apply method in a functional form.\n apply: function apply() {\n return ES.Call(ES.Call, null, arguments);\n },\n\n // New operator in a functional form.\n construct: function construct(constructor, args) {\n if (!ES.IsConstructor(constructor)) {\n throw new TypeError('First argument must be a constructor.');\n }\n var newTarget = arguments.length > 2 ? arguments[2] : constructor;\n if (!ES.IsConstructor(newTarget)) {\n throw new TypeError('new.target must be a constructor.');\n }\n return ES.Construct(constructor, args, newTarget, 'internal');\n },\n\n // When deleting a non-existent or configurable property,\n // true is returned.\n // When attempting to delete a non-configurable property,\n // it will return false.\n deleteProperty: function deleteProperty(target, key) {\n throwUnlessTargetIsObject(target);\n if (supportsDescriptors) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (desc && !desc.configurable) {\n return false;\n }\n }\n\n // Will return true.\n return delete target[key];\n },\n\n has: function has(target, key) {\n throwUnlessTargetIsObject(target);\n return key in target;\n }\n };\n\n if (Object.getOwnPropertyNames) {\n Object.assign(ReflectShims, {\n // Basically the result of calling the internal [[OwnPropertyKeys]].\n // Concatenating propertyNames and propertySymbols should do the trick.\n // This should continue to work together with a Symbol shim\n // which overrides Object.getOwnPropertyNames and implements\n // Object.getOwnPropertySymbols.\n ownKeys: function ownKeys(target) {\n throwUnlessTargetIsObject(target);\n var keys = Object.getOwnPropertyNames(target);\n\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n _pushApply(keys, Object.getOwnPropertySymbols(target));\n }\n\n return keys;\n }\n });\n }\n\n var callAndCatchException = function ConvertExceptionToBoolean(func) {\n return !throwsError(func);\n };\n\n if (Object.preventExtensions) {\n Object.assign(ReflectShims, {\n isExtensible: function isExtensible(target) {\n throwUnlessTargetIsObject(target);\n return Object.isExtensible(target);\n },\n preventExtensions: function preventExtensions(target) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.preventExtensions(target);\n });\n }\n });\n }\n\n if (supportsDescriptors) {\n var internalGet = function get(target, key, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent === null) {\n return void 0;\n }\n\n return internalGet(parent, key, receiver);\n }\n\n if ('value' in desc) {\n return desc.value;\n }\n\n if (desc.get) {\n return ES.Call(desc.get, receiver);\n }\n\n return void 0;\n };\n\n var internalSet = function set(target, key, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent !== null) {\n return internalSet(parent, key, value, receiver);\n }\n\n desc = {\n value: void 0,\n writable: true,\n enumerable: true,\n configurable: true\n };\n }\n\n if ('value' in desc) {\n if (!desc.writable) {\n return false;\n }\n\n if (!ES.TypeIsObject(receiver)) {\n return false;\n }\n\n var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);\n\n if (existingDesc) {\n return Reflect.defineProperty(receiver, key, {\n value: value\n });\n } else {\n return Reflect.defineProperty(receiver, key, {\n value: value,\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (desc.set) {\n _call(desc.set, receiver, value);\n return true;\n }\n\n return false;\n };\n\n Object.assign(ReflectShims, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.defineProperty(target, propertyKey, attributes);\n });\n },\n\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n throwUnlessTargetIsObject(target);\n return Object.getOwnPropertyDescriptor(target, propertyKey);\n },\n\n // Syntax in a functional form.\n get: function get(target, key) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 2 ? arguments[2] : target;\n\n return internalGet(target, key, receiver);\n },\n\n set: function set(target, key, value) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 3 ? arguments[3] : target;\n\n return internalSet(target, key, value, receiver);\n }\n });\n }\n\n if (Object.getPrototypeOf) {\n var objectDotGetPrototypeOf = Object.getPrototypeOf;\n ReflectShims.getPrototypeOf = function getPrototypeOf(target) {\n throwUnlessTargetIsObject(target);\n return objectDotGetPrototypeOf(target);\n };\n }\n\n if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {\n var willCreateCircularPrototype = function (object, lastProto) {\n var proto = lastProto;\n while (proto) {\n if (object === proto) {\n return true;\n }\n proto = ReflectShims.getPrototypeOf(proto);\n }\n return false;\n };\n\n Object.assign(ReflectShims, {\n // Sets the prototype of the given object.\n // Returns true on success, otherwise false.\n setPrototypeOf: function setPrototypeOf(object, proto) {\n throwUnlessTargetIsObject(object);\n if (proto !== null && !ES.TypeIsObject(proto)) {\n throw new TypeError('proto must be an object or null');\n }\n\n // If they already are the same, we're done.\n if (proto === Reflect.getPrototypeOf(object)) {\n return true;\n }\n\n // Cannot alter prototype if object not extensible.\n if (Reflect.isExtensible && !Reflect.isExtensible(object)) {\n return false;\n }\n\n // Ensure that we do not create a circular prototype chain.\n if (willCreateCircularPrototype(object, proto)) {\n return false;\n }\n\n Object.setPrototypeOf(object, proto);\n\n return true;\n }\n });\n }\n var defineOrOverrideReflectProperty = function (key, shim) {\n if (!ES.IsCallable(globals.Reflect[key])) {\n defineProperty(globals.Reflect, key, shim);\n } else {\n var acceptsPrimitives = valueOrFalseIfThrows(function () {\n globals.Reflect[key](1);\n globals.Reflect[key](NaN);\n globals.Reflect[key](true);\n return true;\n });\n if (acceptsPrimitives) {\n overrideNative(globals.Reflect, key, shim);\n }\n }\n };\n Object.keys(ReflectShims).forEach(function (key) {\n defineOrOverrideReflectProperty(key, ReflectShims[key]);\n });\n var originalReflectGetProto = globals.Reflect.getPrototypeOf;\n if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {\n overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) {\n return _call(originalReflectGetProto, globals.Reflect, target);\n });\n }\n if (globals.Reflect.setPrototypeOf) {\n if (valueOrFalseIfThrows(function () {\n globals.Reflect.setPrototypeOf(1, {});\n return true;\n })) {\n overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);\n }\n }\n if (globals.Reflect.defineProperty) {\n if (!valueOrFalseIfThrows(function () {\n var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });\n // \"extensible\" fails on Edge 0.12\n var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});\n return basic && extensible;\n })) {\n overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);\n }\n }\n if (globals.Reflect.construct) {\n if (!valueOrFalseIfThrows(function () {\n var F = function F() {};\n return globals.Reflect.construct(function () {}, [], F) instanceof F;\n })) {\n overrideNative(globals.Reflect, 'construct', ReflectShims.construct);\n }\n }\n\n if (String(new Date(NaN)) !== 'Invalid Date') {\n var dateToString = Date.prototype.toString;\n var shimmedDateToString = function toString() {\n var valueOf = +this;\n if (valueOf !== valueOf) {\n return 'Invalid Date';\n }\n return ES.Call(dateToString, this);\n };\n overrideNative(Date.prototype, 'toString', shimmedDateToString);\n }\n\n // Annex B HTML methods\n // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object\n var stringHTMLshims = {\n anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); },\n big: function big() { return ES.CreateHTML(this, 'big', '', ''); },\n blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); },\n bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); },\n fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); },\n fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); },\n fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); },\n italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); },\n link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); },\n small: function small() { return ES.CreateHTML(this, 'small', '', ''); },\n strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); },\n sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); },\n sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); }\n };\n _forEach(Object.keys(stringHTMLshims), function (key) {\n var method = String.prototype[key];\n var shouldOverwrite = false;\n if (ES.IsCallable(method)) {\n var output = _call(method, '', ' \" ');\n var quotesCount = _concat([], output.match(/\"/g)).length;\n shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;\n } else {\n shouldOverwrite = true;\n }\n if (shouldOverwrite) {\n overrideNative(String.prototype, key, stringHTMLshims[key]);\n }\n });\n\n var JSONstringifiesSymbols = (function () {\n // Microsoft Edge v0.12 stringifies Symbols incorrectly\n if (!hasSymbols) { return false; } // Symbols are not supported\n var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;\n if (!stringify) { return false; } // JSON.stringify is not supported\n if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined`\n if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null`\n var obj = { a: Symbol() };\n obj[Symbol()] = true;\n if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted\n return false;\n }());\n var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {\n // Chrome 45 throws on stringifying object symbols\n if (!hasSymbols) { return true; } // Symbols are not supported\n return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';\n });\n if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {\n var origStringify = JSON.stringify;\n overrideNative(JSON, 'stringify', function stringify(value) {\n if (typeof value === 'symbol') { return; }\n var replacer;\n if (arguments.length > 1) {\n replacer = arguments[1];\n }\n var args = [value];\n if (!isArray(replacer)) {\n var replaceFn = ES.IsCallable(replacer) ? replacer : null;\n var wrappedReplacer = function (key, val) {\n var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val;\n if (typeof parsedValue !== 'symbol') {\n if (Type.symbol(parsedValue)) {\n return assignTo({})(parsedValue);\n } else {\n return parsedValue;\n }\n }\n };\n args.push(wrappedReplacer);\n } else {\n // create wrapped replacer that handles an array replacer?\n args.push(replacer);\n }\n if (arguments.length > 2) {\n args.push(arguments[2]);\n }\n return origStringify.apply(this, args);\n });\n }\n\n return globals;\n}));\n","/** @license React v16.8.4\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h 13\n */\n\nvar codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n}\n\n// Helper aliases\n\nvar aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n}\n\n/*!\n * Programatically add the following\n */\n\n// lower case chars\nfor (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32\n\n// numbers\nfor (var i = 48; i < 58; i++) codes[i - 48] = i\n\n// function keys\nfor (i = 1; i < 13; i++) codes['f'+i] = i + 111\n\n// numpad keys\nfor (i = 0; i < 10; i++) codes['numpad '+i] = i + 96\n\n/**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\nvar names = exports.names = exports.title = {} // title for backward compat\n\n// Create reverse mapping\nfor (i in codes) names[codes[i]] = i\n\n// Add aliases\nfor (var alias in aliases) {\n codes[alias] = aliases[alias]\n}\n","/** @license React v16.8.4\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function ba(a,b,c,d,e,f,g,h){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[c,d,e,f,g,h],k=0;a=Error(b.replace(/%s/g,function(){return l[k++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction x(a){for(var b=arguments.length-1,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,d=0;dthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{a=b.contentDocument.defaultView}catch(c){break}b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"307\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.eagerReducer=a;c.eagerState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.eagerReducer,null!==d))try{var l=b.eagerState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,eagerReducer:a,eagerState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,eagerReducer:og,\neagerState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return tg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof p.is?k=k.createElement(e,{is:p.is}):(k=k.createElement(e),\"select\"===e&&p.multiple&&(k.multiple=!0)):k=k.createElementNS(l,e);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Popper = factory());\n}(this, (function () { 'use strict';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nreturn Popper;\n\n})));\n//# sourceMappingURL=popper.js.map\n"],"mappings":"AAGA;;;;;;;;;;;ACIA;;;;;;ACMA;;;;;ACLA;;;;;ACKA;;;;;ACAA;;;;;;;;;ACGA;;;;;;;;ACPA;;;;AC4IA;;;;;;;;ACzIA;;;;;;;;;ACHA;;;;;;;ACAA;;;;;;;ACMA;;;;;;;;;;;;;;;;;;;;;;;;ACSA","sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 7726c494b..b2755a45f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nukleus", - "version": "14.2.0", + "version": "14.2.1", "description": "Shared components repo for kununu projects", "main": "dist/components/index.js", "repository": { diff --git a/src/components/RangeSlider/index.jsx b/src/components/RangeSlider/index.jsx index 908a007b6..96533a603 100644 --- a/src/components/RangeSlider/index.jsx +++ b/src/components/RangeSlider/index.jsx @@ -20,6 +20,7 @@ const RangeSliderComponent = ({ onChange, label, containerClass, + onFocus, }) => ( <>
@@ -35,6 +36,7 @@ const RangeSliderComponent = ({ value={value} onChange={onChange} onBlur={onBlur} + onFocus={onFocus} className={styles.slider} /> @@ -58,6 +60,7 @@ RangeSliderComponent.propTypes = { onChange: PropTypes.func.isRequired, name: PropTypes.string.isRequired, onBlur: PropTypes.func.isRequired, + onFocus: PropTypes.func, meta: PropTypes.shape({ value: PropTypes.number.isRequired, touched: PropTypes.bool, @@ -73,6 +76,7 @@ RangeSliderComponent.propTypes = { RangeSliderComponent.defaultProps = { label: '', containerClass: styles.sliderWrapper, + onFocus: null, }; diff --git a/src/components/RangeSlider/story.js b/src/components/RangeSlider/story.js index a9575aa3f..6c19db729 100644 --- a/src/components/RangeSlider/story.js +++ b/src/components/RangeSlider/story.js @@ -4,6 +4,7 @@ import {defaultOptions} from 'defaultOptions'; // eslint-disable-line import/no- import {withOptions} from '@storybook/addon-options'; import {withInfo} from '@storybook/addon-info'; import {withKnobs, number} from '@storybook/addon-knobs/react'; +import {action} from '@storybook/addon-actions'; import RangeSlider from './index'; @@ -21,7 +22,8 @@ const RangeSliderExample = () => { step={number('sliderStep', 10)} name="amount" onChange={e => handleInput({...input, sliderValue: e.target.value})} - onBlur={() => { }} + onBlur={action('blur')} + onFocus={action('focus')} label={`Drag me! ${input.sliderValue || ''}`} meta={{ touched: false, diff --git a/tests/RangeSlider.test.jsx b/tests/RangeSlider.test.jsx index 01baeb611..28158d861 100644 --- a/tests/RangeSlider.test.jsx +++ b/tests/RangeSlider.test.jsx @@ -10,8 +10,9 @@ test('Renders basic Table without crashing', () => { max={1000} step={10} name="amount" - onChange={() => {}} + onChange={() => { }} onBlur={() => { }} + onFocus={() => { }} label="Slider label" meta={{ touched: false, diff --git a/tests/__snapshots__/RangeSlider.test.jsx.snap b/tests/__snapshots__/RangeSlider.test.jsx.snap index de8a94a25..80595bae0 100644 --- a/tests/__snapshots__/RangeSlider.test.jsx.snap +++ b/tests/__snapshots__/RangeSlider.test.jsx.snap @@ -16,6 +16,7 @@ exports[`Renders basic Table without crashing 1`] = ` name="amount" onBlur={[Function]} onChange={[Function]} + onFocus={[Function]} step={10} type="range" value={0}