New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-form

Package Overview
Dependencies
Maintainers
1
Versions
122
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-form - npm Package Compare versions

Comparing version 1.2.6 to 1.2.7

417

lib/form.js

@@ -10,2 +10,4 @@ 'use strict';

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');

@@ -15,2 +17,6 @@

var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _utils = require('./utils');

@@ -26,2 +32,8 @@

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 && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { 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: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var noop = function noop() {};

@@ -49,201 +61,266 @@ var reop = function reop(d) {

exports.default = _react2.default.createClass({
displayName: 'Form',
childContextTypes: {
formAPI: _react2.default.PropTypes.object
},
getChildContext: function getChildContext() {
return {
formAPI: this.getAPI()
};
},
var Form = function (_React$Component) {
_inherits(Form, _React$Component);
// Lifecycle
getDefaultProps: function getDefaultProps() {
return FormDefaultProps;
},
getInitialState: function getInitialState() {
var _props = this.props,
defaultValues = _props.defaultValues,
values = _props.values,
loadState = _props.loadState;
function Form(props) {
_classCallCheck(this, Form);
var _this = _possibleConstructorReturn(this, (Form.__proto__ || Object.getPrototypeOf(Form)).call(this, props));
var _this$props = _this.props,
defaultValues = _this$props.defaultValues,
values = _this$props.values,
loadState = _this$props.loadState;
var mergedValues = _extends({}, defaultValues, values);
return loadState(this.props, this) || {
_this.state = loadState(_this.props, _this) || {
values: mergedValues,
touched: {},
errors: this.validate(mergedValues),
errors: _this.validate(mergedValues),
nestedErrors: {}
};
},
componentWillMount: function componentWillMount() {
this.emitChange(this.state, true);
},
componentWillReceiveProps: function componentWillReceiveProps(props) {
if (props.values === this.props.values) {
return;
_this.setAllValues = _this.setAllValues.bind(_this);
_this.setValue = _this.setValue.bind(_this);
_this.getValue = _this.getValue.bind(_this);
_this.setNestedError = _this.setNestedError.bind(_this);
_this.getError = _this.getError.bind(_this);
_this.setTouched = _this.setTouched.bind(_this);
_this.getTouched = _this.getTouched.bind(_this);
_this.addValue = _this.addValue.bind(_this);
_this.removeValue = _this.removeValue.bind(_this);
_this.swapValues = _this.swapValues.bind(_this);
_this.setAllTouched = _this.setAllTouched.bind(_this);
_this.resetForm = _this.resetForm.bind(_this);
_this.submitForm = _this.submitForm.bind(_this);
return _this;
}
_createClass(Form, [{
key: 'getChildContext',
value: function getChildContext() {
return {
formAPI: this.getAPI()
};
}
}, {
key: 'componentWillMount',
value: function componentWillMount() {
this.emitChange(this.state, true);
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(props) {
if (props.values === this.props.values) {
return;
}
this.setFormState({
values: props.values || {}
}, true);
},
componentWillUnmount: function componentWillUnmount() {
this.props.willUnmount(this.state, this.props, this);
},
this.setFormState({
values: props.values || {}
}, true);
}
}, {
key: 'componentWillUmount',
value: function componentWillUmount() {
this.props.willUnmount(this.state, this.props, this);
}
// API
// API
setAllValues: function setAllValues(values, noTouch) {
if (noTouch) {
return this.setFormState({ values: values });
}, {
key: 'setAllValues',
value: function setAllValues(values, noTouch) {
if (noTouch) {
return this.setFormState({ values: values });
}
this.setFormState({ values: values, touched: {} });
}
this.setFormState({ values: values, touched: {} });
},
setValue: function setValue(field, value, noTouch) {
var state = this.state;
var values = _utils2.default.set(state.values, field, value);
// Also set touched since the value is changing
if (noTouch) {
return this.setFormState({ values: values });
}, {
key: 'setValue',
value: function setValue(field, value, noTouch) {
var state = this.state;
var values = _utils2.default.set(state.values, field, value);
// Also set touched since the value is changing
if (noTouch) {
return this.setFormState({ values: values });
}
var touched = _utils2.default.set(state.touched, field);
this.setFormState({ values: values, touched: touched });
}
var touched = _utils2.default.set(state.touched, field);
this.setFormState({ values: values, touched: touched });
},
getValue: function getValue(field, fallback) {
var state = this.state;
var val = _utils2.default.get(state.values, field);
return typeof val !== 'undefined' ? val : fallback;
},
setNestedError: function setNestedError(field) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
}, {
key: 'getValue',
value: function getValue(field, fallback) {
var state = this.state;
var val = _utils2.default.get(state.values, field);
return typeof val !== 'undefined' ? val : fallback;
}
}, {
key: 'setNestedError',
value: function setNestedError(field) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var nestedErrors = _utils2.default.set(this.state.nestedErrors, field, value);
this.setFormState({ nestedErrors: nestedErrors });
},
getError: function getError(field) {
return _utils2.default.get(this.state.errors, field);
},
setTouched: function setTouched(field) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var nestedErrors = _utils2.default.set(this.state.nestedErrors, field, value);
this.setFormState({ nestedErrors: nestedErrors });
}
}, {
key: 'getError',
value: function getError(field) {
return _utils2.default.get(this.state.errors, field);
}
}, {
key: 'setTouched',
value: function setTouched(field) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var touched = _utils2.default.set(this.state.touched, field, value);
this.setFormState({ touched: touched });
},
getTouched: function getTouched(field) {
var state = this.state;
if (this.state.dirty === true || this.props.touched === true) {
return true;
var touched = _utils2.default.set(this.state.touched, field, value);
this.setFormState({ touched: touched });
}
return _utils2.default.get(state.touched, field);
},
addValue: function addValue(field, value) {
var state = this.state;
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(_utils2.default.get(state.values, field, [])), [value]));
this.setFormState({ values: values });
},
removeValue: function removeValue(field, index) {
var state = this.state;
var fieldValue = _utils2.default.get(state.values, field, []);
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(fieldValue.slice(0, index)), _toConsumableArray(fieldValue.slice(index + 1))));
this.setFormState({ values: values });
},
swapValues: function swapValues(field, index, destIndex) {
var state = this.state;
}, {
key: 'getTouched',
value: function getTouched(field) {
var state = this.state;
if (this.state.dirty === true || this.props.touched === true) {
return true;
}
return _utils2.default.get(state.touched, field);
}
}, {
key: 'addValue',
value: function addValue(field, value) {
var state = this.state;
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(_utils2.default.get(state.values, field, [])), [value]));
this.setFormState({ values: values });
}
}, {
key: 'removeValue',
value: function removeValue(field, index) {
var state = this.state;
var fieldValue = _utils2.default.get(state.values, field, []);
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(fieldValue.slice(0, index)), _toConsumableArray(fieldValue.slice(index + 1))));
this.setFormState({ values: values });
}
}, {
key: 'swapValues',
value: function swapValues(field, index, destIndex) {
var state = this.state;
var min = Math.min(index, destIndex);
var max = Math.max(index, destIndex);
var min = Math.min(index, destIndex);
var max = Math.max(index, destIndex);
var fieldValues = _utils2.default.get(state.values, field, []);
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(fieldValues.slice(0, min)), [fieldValues[max]], _toConsumableArray(fieldValues.slice(min + 1, max)), [fieldValues[min]], _toConsumableArray(fieldValues.slice(max + 1))));
this.setFormState({ values: values });
},
setAllTouched: function setAllTouched() {
var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
var state = arguments[1];
var fieldValues = _utils2.default.get(state.values, field, []);
var values = _utils2.default.set(state.values, field, [].concat(_toConsumableArray(fieldValues.slice(0, min)), [fieldValues[max]], _toConsumableArray(fieldValues.slice(min + 1, max)), [fieldValues[min]], _toConsumableArray(fieldValues.slice(max + 1))));
this.setFormState({ values: values });
}
}, {
key: 'setAllTouched',
value: function setAllTouched() {
var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
var state = arguments[1];
this.setFormState(_extends({}, state, {
dirty: !!dirty
}));
},
resetForm: function resetForm() {
return this.setFormState(this.getInitialState());
},
submitForm: function submitForm(e) {
e && e.preventDefault && e.preventDefault(e);
var state = this.state;
var errors = this.validate(state.values, state, this.props);
if (errors) {
if (!state.dirty) {
this.setAllTouched(true, { errors: errors });
this.setFormState(_extends({}, state, {
dirty: !!dirty
}));
}
}, {
key: 'resetForm',
value: function resetForm() {
return this.setFormState(this.getInitialState());
}
}, {
key: 'submitForm',
value: function submitForm(e) {
e && e.preventDefault && e.preventDefault(e);
var state = this.state;
var errors = this.validate(state.values, state, this.props);
if (errors) {
if (!state.dirty) {
this.setAllTouched(true, { errors: errors });
}
return this.props.onValidationFail(state.values, state, this.props, this);
}
return this.props.onValidationFail(state.values, state, this.props, this);
var preSubmitValues = this.props.preSubmit(state.values, state, this.props, this);
this.props.onSubmit(preSubmitValues, state, this.props, this);
this.props.postSubmit(preSubmitValues, state, this.props, this);
}
var preSubmitValues = this.props.preSubmit(state.values, state, this.props, this);
this.props.onSubmit(preSubmitValues, state, this.props, this);
this.props.postSubmit(preSubmitValues, state, this.props, this);
},
// Utils
// Utils
getAPI: function getAPI() {
return {
setAllValues: this.setAllValues,
setValue: this.setValue,
getValue: this.getValue,
setNestedError: this.setNestedError,
getError: this.getError,
setTouched: this.setTouched,
getTouched: this.getTouched,
addValue: this.addValue,
removeValue: this.removeValue,
swapValues: this.swapValues,
setAllTouched: this.setAllTouched,
resetForm: this.resetForm,
submitForm: this.submitForm
};
},
setFormState: function setFormState(newState, silent) {
var _this = this;
}, {
key: 'getAPI',
value: function getAPI() {
return {
setAllValues: this.setAllValues,
setValue: this.setValue,
getValue: this.getValue,
setNestedError: this.setNestedError,
getError: this.getError,
setTouched: this.setTouched,
getTouched: this.getTouched,
addValue: this.addValue,
removeValue: this.removeValue,
swapValues: this.swapValues,
setAllTouched: this.setAllTouched,
resetForm: this.resetForm,
submitForm: this.submitForm
};
}
}, {
key: 'setFormState',
value: function setFormState(newState, silent) {
var _this2 = this;
if (newState && newState.values && !newState.errors) {
newState.values = this.props.preValidate(newState.values, newState, this.props, this);
newState.errors = this.validate(newState.values, newState, this.props);
if (newState && newState.values && !newState.errors) {
newState.values = this.props.preValidate(newState.values, newState, this.props, this);
newState.errors = this.validate(newState.values, newState, this.props);
}
this.setState(newState, function () {
_this2.props.saveState(_this2.state, _this2.props, _this2);
if (!silent) {
_this2.emitChange(_this2.state, _this2.props);
}
});
}
this.setState(newState, function () {
_this.props.saveState(_this.state, _this.props, _this);
if (!silent) {
_this.emitChange(_this.state, _this.props);
}, {
key: 'emitChange',
value: function emitChange(state, initial) {
this.props.onChange(state, this.props, initial, this);
}
}, {
key: 'validate',
value: function validate(values, state, props) {
var errors = this.props.validate(removeNestedErrorValues(values, this.state ? this.state.nestedErrors : {}), state, props, this);
return cleanErrors(errors);
}
}, {
key: 'render',
value: function render() {
var props = _extends({}, this.props, this.state, this.getAPI());
var component = props.component,
children = props.children,
rest = _objectWithoutProperties(props, ['component', 'children']);
var resolvedChild = typeof children === 'function' ? children(rest) : children;
var RootEl = component;
if (!RootEl) {
return resolvedChild;
}
});
},
emitChange: function emitChange(state, initial) {
this.props.onChange(state, this.props, initial, this);
},
validate: function validate(values, state, props) {
var errors = this.props.validate(removeNestedErrorValues(values, this.state ? this.state.nestedErrors : {}), state, props, this);
return cleanErrors(errors);
},
return _react2.default.createElement(
RootEl,
{ className: 'ReactForm' },
resolvedChild
);
}
}]);
// Render
render: function render() {
var props = _extends({}, this.props, this.state, this.getAPI());
return Form;
}(_react2.default.Component);
var component = props.component,
children = props.children,
rest = _objectWithoutProperties(props, ['component', 'children']);
Form.displayName = 'Form';
Form.defaultProps = FormDefaultProps;
Form.childContextTypes = { formAPI: _propTypes2.default.object };
var resolvedChild = typeof children === 'function' ? children(rest) : children;
var RootEl = component;
if (!RootEl) {
return resolvedChild;
}
return _react2.default.createElement(
RootEl,
{ className: 'ReactForm' },
resolvedChild
);
}
});
exports.default = Form;

@@ -296,2 +373,2 @@ // Utils

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJyZW9wIiwiZCIsIkZvcm1EZWZhdWx0UHJvcHMiLCJsb2FkU3RhdGUiLCJkZWZhdWx0VmFsdWVzIiwicHJlVmFsaWRhdGUiLCJ2YWxpZGF0ZSIsIm9uVmFsaWRhdGlvbkZhaWwiLCJvbkNoYW5nZSIsInNhdmVTdGF0ZSIsIndpbGxVbm1vdW50IiwicHJlU3VibWl0Iiwib25TdWJtaXQiLCJwb3N0U3VibWl0IiwiY29tcG9uZW50IiwiY3JlYXRlQ2xhc3MiLCJkaXNwbGF5TmFtZSIsImNoaWxkQ29udGV4dFR5cGVzIiwiZm9ybUFQSSIsIlByb3BUeXBlcyIsIm9iamVjdCIsImdldENoaWxkQ29udGV4dCIsImdldEFQSSIsImdldERlZmF1bHRQcm9wcyIsImdldEluaXRpYWxTdGF0ZSIsInByb3BzIiwidmFsdWVzIiwibWVyZ2VkVmFsdWVzIiwidG91Y2hlZCIsImVycm9ycyIsIm5lc3RlZEVycm9ycyIsImNvbXBvbmVudFdpbGxNb3VudCIsImVtaXRDaGFuZ2UiLCJzdGF0ZSIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJzZXRGb3JtU3RhdGUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInNldEFsbFZhbHVlcyIsIm5vVG91Y2giLCJzZXRWYWx1ZSIsImZpZWxkIiwidmFsdWUiLCJzZXQiLCJnZXRWYWx1ZSIsImZhbGxiYWNrIiwidmFsIiwiZ2V0Iiwic2V0TmVzdGVkRXJyb3IiLCJnZXRFcnJvciIsInNldFRvdWNoZWQiLCJnZXRUb3VjaGVkIiwiZGlydHkiLCJhZGRWYWx1ZSIsInJlbW92ZVZhbHVlIiwiaW5kZXgiLCJmaWVsZFZhbHVlIiwic2xpY2UiLCJzd2FwVmFsdWVzIiwiZGVzdEluZGV4IiwibWluIiwiTWF0aCIsIm1heCIsImZpZWxkVmFsdWVzIiwic2V0QWxsVG91Y2hlZCIsInJlc2V0Rm9ybSIsInN1Ym1pdEZvcm0iLCJlIiwicHJldmVudERlZmF1bHQiLCJwcmVTdWJtaXRWYWx1ZXMiLCJuZXdTdGF0ZSIsInNpbGVudCIsInNldFN0YXRlIiwiaW5pdGlhbCIsInJlbW92ZU5lc3RlZEVycm9yVmFsdWVzIiwiY2xlYW5FcnJvcnMiLCJyZW5kZXIiLCJjaGlsZHJlbiIsInJlc3QiLCJyZXNvbHZlZENoaWxkIiwiUm9vdEVsIiwiZXJyIiwiaXNPYmplY3QiLCJyZXNvbHZlZCIsIm1hcFZhbHVlcyIsImZvdW5kIiwicGlja0J5IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImlzQXJyYXkiLCJtYXAiLCJmaW5kIiwicmVjdXJzZSIsImN1cnJlbnQiLCJwYXRoIiwiaSIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLE9BQU8sU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7QUFDQSxJQUFNQyxPQUFPLFNBQVBBLElBQU87QUFBQSxTQUFLQyxDQUFMO0FBQUEsQ0FBYjs7QUFFTyxJQUFNQyw4Q0FBbUI7QUFDOUJDLGFBQVdKLElBRG1CO0FBRTlCSyxpQkFBZSxFQUZlO0FBRzlCQyxlQUFhTCxJQUhpQjtBQUk5Qk0sWUFBVTtBQUFBLFdBQU0sSUFBTjtBQUFBLEdBSm9CO0FBSzlCQyxvQkFBa0JSLElBTFk7QUFNOUJTLFlBQVVULElBTm9CO0FBTzlCVSxhQUFXVixJQVBtQjtBQVE5QlcsZUFBYVgsSUFSaUI7QUFTOUJZLGFBQVdYLElBVG1CO0FBVTlCWSxZQUFVYixJQVZvQjtBQVc5QmMsY0FBWWQsSUFYa0I7QUFZOUJlLGFBQVc7QUFabUIsQ0FBekI7O2tCQWVRLGdCQUFNQyxXQUFOLENBQWtCO0FBQy9CQyxlQUFhLE1BRGtCO0FBRS9CQyxxQkFBbUI7QUFDakJDLGFBQVMsZ0JBQU1DLFNBQU4sQ0FBZ0JDO0FBRFIsR0FGWTtBQUsvQkMsaUJBTCtCLDZCQUtaO0FBQ2pCLFdBQU87QUFDTEgsZUFBUyxLQUFLSSxNQUFMO0FBREosS0FBUDtBQUdELEdBVDhCOztBQVUvQjtBQUNBQyxpQkFYK0IsNkJB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VUFBQzFGLENBQUQsRUFBSWdHLEdBQUosRUFBWTtBQUM3QixlQUFPSixRQUFRNUYsQ0FBUiwrQkFBZThGLElBQWYsSUFBcUJFLEdBQXJCLEdBQVA7QUFDRCxPQUZNLENBQVA7QUFHRDtBQUNELFFBQUksQ0FBQyxnQkFBRWhCLFFBQUYsQ0FBV2EsT0FBWCxDQUFELElBQXdCLENBQUMsZ0JBQUVKLE9BQUYsQ0FBVUksT0FBVixDQUF6QixJQUErQ0EsT0FBbkQsRUFBNEQ7QUFDMUQsYUFBTyxnQkFBRXBELEdBQUYsQ0FBTWhCLE1BQU4sRUFBY3FFLElBQWQsRUFBb0JOLFNBQXBCLENBQVA7QUFDRDtBQUNELFdBQU9LLE9BQVA7QUFDRCxHQWZEO0FBZ0JBRCxVQUFRL0QsWUFBUjtBQUNBLFNBQU9KLE1BQVA7QUFDRCIsImZpbGUiOiJmb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IF8gZnJvbSAnLi91dGlscydcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9XG5jb25zdCByZW9wID0gZCA9PiBkXG5cbmV4cG9ydCBjb25zdCBGb3JtRGVmYXVsdFByb3BzID0ge1xuICBsb2FkU3RhdGU6IG5vb3AsXG4gIGRlZmF1bHRWYWx1ZXM6IHt9LFxuICBwcmVWYWxpZGF0ZTogcmVvcCxcbiAgdmFsaWRhdGU6ICgpID0+IG51bGwsXG4gIG9uVmFsaWRhdGlvbkZhaWw6IG5vb3AsXG4gIG9uQ2hhbmdlOiBub29wLFxuICBzYXZlU3RhdGU6IG5vb3AsXG4gIHdpbGxVbm1vdW50OiBub29wLFxuICBwcmVTdWJtaXQ6IHJlb3AsXG4gIG9uU3VibWl0OiBub29wLFxuICBwb3N0U3VibWl0OiBub29wLFxuICBjb21wb25lbnQ6ICdkaXYnXG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgZGlzcGxheU5hbWU6ICdGb3JtJyxcbiAgY2hpbGRDb250ZXh0VHlwZXM6IHtcbiAgICBmb3JtQVBJOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH0sXG4gIGdldENoaWxkQ29udGV4dCAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1BUEk6IHRoaXMuZ2V0QVBJKClcbiAgICB9XG4gIH0sXG4gIC8vIExpZmVjeWNsZVxuICBnZXREZWZhdWx0UHJvcHMgKCkge1xuICAgIHJldHVybiBGb3JtRGVmYXVsdFByb3BzXG4gIH0sXG4gIGdldEluaXRpYWxTdGF0ZSAoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGVmYXVsdFZhbHVlcyxcbiAgICAgIHZhbHVlcyxcbiAgICAgIGxvYWRTdGF0ZVxuICAgIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgbWVyZ2VkVmFsdWVzID0ge1xuICAgICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAgIC4uLnZhbHVlc1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkU3RhdGUodGhpcy5wcm9wcywgdGhpcykgfHwge1xuICAgICAgdmFsdWVzOiBtZXJnZWRWYWx1ZXMsXG4gICAgICB0b3VjaGVkOiB7fSxcbiAgICAgIGVycm9yczogdGhpcy52YWxpZGF0ZShtZXJnZWRWYWx1ZXMpLFxuICAgICAgbmVzdGVkRXJyb3JzOiB7fVxuICAgIH1cbiAgfSxcbiAgY29tcG9uZW50V2lsbE1vdW50ICgpIHtcbiAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy5zdGF0ZSwgdHJ1ZSlcbiAgfSxcbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyAocHJvcHMpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzID09PSB0aGlzLnByb3BzLnZhbHVlcykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe1xuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMgfHwge31cbiAgICB9LCB0cnVlKVxuICB9LFxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgdGhpcy5wcm9wcy53aWxsVW5tb3VudCh0aGlzLnN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICB9LFxuXG4gIC8vIEFQSVxuICBzZXRBbGxWYWx1ZXMgKHZhbHVlcywgbm9Ub3VjaCkge1xuICAgIGlmIChub1RvdWNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlc30pXG4gICAgfVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXMsIHRvdWNoZWQ6IHt9fSlcbiAgfSxcbiAgc2V0VmFsdWUgKGZpZWxkLCB2YWx1ZSwgbm9Ub3VjaCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHZhbHVlcyA9IF8uc2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIHZhbHVlKVxuICAgIC8vIEFsc28gc2V0IHRvdWNoZWQgc2luY2UgdGhlIHZhbHVlIGlzIGNoYW5naW5nXG4gICAgaWYgKG5vVG91Y2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgICB9XG4gICAgY29uc3QgdG91Y2hlZCA9IF8uc2V0KHN0YXRlLnRvdWNoZWQsIGZpZWxkKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXMsIHRvdWNoZWR9KVxuICB9LFxuICBnZXRWYWx1ZSAoZmllbGQsIGZhbGxiYWNrKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgdmFsID0gXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZClcbiAgICByZXR1cm4gdHlwZW9mIHZhbCAhPT0gJ3VuZGVmaW5lZCcgPyB2YWwgOiBmYWxsYmFja1xuICB9LFxuICBzZXROZXN0ZWRFcnJvciAoZmllbGQsIHZhbHVlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG5lc3RlZEVycm9ycyA9IF8uc2V0KHRoaXMuc3RhdGUubmVzdGVkRXJyb3JzLCBmaWVsZCwgdmFsdWUpXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe25lc3RlZEVycm9yc30pXG4gIH0sXG4gIGdldEVycm9yIChmaWVsZCkge1xuICAgIHJldHVybiBfLmdldCh0aGlzLnN0YXRlLmVycm9ycywgZmllbGQpXG4gIH0sXG4gIHNldFRvdWNoZWQgKGZpZWxkLCB2YWx1ZSA9IHRydWUpIHtcbiAgICBjb25zdCB0b3VjaGVkID0gXy5zZXQodGhpcy5zdGF0ZS50b3VjaGVkLCBmaWVsZCwgdmFsdWUpXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3RvdWNoZWR9KVxuICB9LFxuICBnZXRUb3VjaGVkIChmaWVsZCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGlmICh0aGlzLnN0YXRlLmRpcnR5ID09PSB0cnVlIHx8IHRoaXMucHJvcHMudG91Y2hlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIF8uZ2V0KHN0YXRlLnRvdWNoZWQsIGZpZWxkKVxuICB9LFxuICBhZGRWYWx1ZSAoZmllbGQsIHZhbHVlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW1xuICAgICAgLi4uXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW10pLFxuICAgICAgdmFsdWVcbiAgICBdKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICB9LFxuICByZW1vdmVWYWx1ZSAoZmllbGQsIGluZGV4KSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IF8uZ2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIFtdKVxuICAgIGNvbnN0IHZhbHVlcyA9IF8uc2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIFtcbiAgICAgIC4uLmZpZWxkVmFsdWUuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgLi4uZmllbGRWYWx1ZS5zbGljZShpbmRleCArIDEpXG4gICAgXSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgfSxcbiAgc3dhcFZhbHVlcyAoZmllbGQsIGluZGV4LCBkZXN0SW5kZXgpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcblxuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKGluZGV4LCBkZXN0SW5kZXgpXG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoaW5kZXgsIGRlc3RJbmRleClcblxuICAgIGNvbnN0IGZpZWxkVmFsdWVzID0gXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW10pXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW1xuICAgICAgLi4uZmllbGRWYWx1ZXMuc2xpY2UoMCwgbWluKSxcbiAgICAgIGZpZWxkVmFsdWVzW21heF0sXG4gICAgICAuLi5maWVsZFZhbHVlcy5zbGljZShtaW4gKyAxLCBtYXgpLFxuICAgICAgZmllbGRWYWx1ZXNbbWluXSxcbiAgICAgIC4uLmZpZWxkVmFsdWVzLnNsaWNlKG1heCArIDEpXG4gICAgXSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgfSxcbiAgc2V0QWxsVG91Y2hlZCAoZGlydHkgPSB0cnVlLCBzdGF0ZSkge1xuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGlydHk6ICEhZGlydHlcbiAgICB9KVxuICB9LFxuICByZXNldEZvcm0gKCkge1xuICAgIHJldHVybiB0aGlzLnNldEZvcm1TdGF0ZSh0aGlzLmdldEluaXRpYWxTdGF0ZSgpKVxuICB9LFxuICBzdWJtaXRGb3JtIChlKSB7XG4gICAgZSAmJiBlLnByZXZlbnREZWZhdWx0ICYmIGUucHJldmVudERlZmF1bHQoZSlcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCBlcnJvcnMgPSB0aGlzLnZhbGlkYXRlKHN0YXRlLnZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMpXG4gICAgaWYgKGVycm9ycykge1xuICAgICAgaWYgKCFzdGF0ZS5kaXJ0eSkge1xuICAgICAgICB0aGlzLnNldEFsbFRvdWNoZWQodHJ1ZSwge2Vycm9yc30pXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vblZhbGlkYXRpb25GYWlsKHN0YXRlLnZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMsIHRoaXMpXG4gICAgfVxuICAgIGNvbnN0IHByZVN1Ym1pdFZhbHVlcyA9IHRoaXMucHJvcHMucHJlU3VibWl0KHN0YXRlLnZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMsIHRoaXMpXG4gICAgdGhpcy5wcm9wcy5vblN1Ym1pdChwcmVTdWJtaXRWYWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICAgIHRoaXMucHJvcHMucG9zdFN1Ym1pdChwcmVTdWJtaXRWYWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICB9LFxuXG4gIC8vIFV0aWxzXG4gIGdldEFQSSAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldEFsbFZhbHVlczogdGhpcy5zZXRBbGxWYWx1ZXMsXG4gICAgICBzZXRWYWx1ZTogdGhpcy5zZXRWYWx1ZSxcbiAgICAgIGdldFZhbHVlOiB0aGlzLmdldFZhbHVlLFxuICAgICAgc2V0TmVzdGVkRXJyb3I6IHRoaXMuc2V0TmVzdGVkRXJyb3IsXG4gICAgICBnZXRFcnJvcjogdGhpcy5nZXRFcnJvcixcbiAgICAgIHNldFRvdWNoZWQ6IHRoaXMuc2V0VG91Y2hlZCxcbiAgICAgIGdldFRvdWNoZWQ6IHRoaXMuZ2V0VG91Y2hlZCxcbiAgICAgIGFkZFZhbHVlOiB0aGlzLmFkZFZhbHVlLFxuICAgICAgcmVtb3ZlVmFsdWU6IHRoaXMucmVtb3ZlVmFsdWUsXG4gICAgICBzd2FwVmFsdWVzOiB0aGlzLnN3YXBWYWx1ZXMsXG4gICAgICBzZXRBbGxUb3VjaGVkOiB0aGlzLnNldEFsbFRvdWNoZWQsXG4gICAgICByZXNldEZvcm06IHRoaXMucmVzZXRGb3JtLFxuICAgICAgc3VibWl0Rm9ybTogdGhpcy5zdWJtaXRGb3JtXG4gICAgfVxuICB9LFxuICBzZXRGb3JtU3RhdGUgKG5ld1N0YXRlLCBzaWxlbnQpIHtcbiAgICBpZiAobmV3U3RhdGUgJiYgbmV3U3RhdGUudmFsdWVzICYmICFuZXdTdGF0ZS5lcnJvcnMpIHtcbiAgICAgIG5ld1N0YXRlLnZhbHVlcyA9IHRoaXMucHJvcHMucHJlVmFsaWRhdGUobmV3U3RhdGUudmFsdWVzLCBuZXdTdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICAgIG5ld1N0YXRlLmVycm9ycyA9IHRoaXMudmFsaWRhdGUobmV3U3RhdGUudmFsdWVzLCBuZXdTdGF0ZSwgdGhpcy5wcm9wcylcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShuZXdTdGF0ZSwgKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5zYXZlU3RhdGUodGhpcy5zdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZSh0aGlzLnN0YXRlLCB0aGlzLnByb3BzKVxuICAgICAgfVxuICAgIH0pXG4gIH0sXG4gIGVtaXRDaGFuZ2UgKHN0YXRlLCBpbml0aWFsKSB7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShzdGF0ZSwgdGhpcy5wcm9wcywgaW5pdGlhbCwgdGhpcylcbiAgfSxcbiAgdmFsaWRhdGUgKHZhbHVlcywgc3RhdGUsIHByb3BzKSB7XG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy5wcm9wcy52YWxpZGF0ZShcbiAgICAgIHJlbW92ZU5lc3RlZEVycm9yVmFsdWVzKHZhbHVlcywgdGhpcy5zdGF0ZSA/IHRoaXMuc3RhdGUubmVzdGVkRXJyb3JzIDoge30pLFxuICAgICAgc3RhdGUsXG4gICAgICBwcm9wcyxcbiAgICAgIHRoaXNcbiAgICApXG4gICAgcmV0dXJuIGNsZWFuRXJyb3JzKGVycm9ycylcbiAgfSxcbiAgLy8gUmVuZGVyXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLnRoaXMuZ2V0QVBJKClcbiAgICB9XG4gICAgY29uc3QgeyBjb21wb25lbnQsIGNoaWxkcmVuLCAuLi5yZXN0IH0gPSBwcm9wc1xuICAgIGNvbnN0IHJlc29sdmVkQ2hpbGQgPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicgPyBjaGlsZHJlbihyZXN0KSA6IGNoaWxkcmVuXG4gICAgY29uc3QgUm9vdEVsID0gY29tcG9uZW50XG4gICAgaWYgKCFSb290RWwpIHtcbiAgICAgIHJldHVybiByZXNvbHZlZENoaWxkXG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdEVsIGNsYXNzTmFtZT0nUmVhY3RGb3JtJz57cmVzb2x2ZWRDaGlsZH08L1Jvb3RFbD5cbiAgICApXG4gIH1cbn0pXG5cbi8vIFV0aWxzXG5cbmZ1bmN0aW9uIGNsZWFuRXJyb3JzIChlcnIpIHtcbiAgaWYgKF8uaXNPYmplY3QoZXJyKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gXy5tYXBWYWx1ZXMoZXJyLCBjbGVhbkVycm9ycylcbiAgICBjb25zdCBmb3VuZCA9IF8ucGlja0J5KHJlc29sdmVkLCBkID0+IGQpXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvdW5kKS5sZW5ndGggPyByZXNvbHZlZCA6IHVuZGVmaW5lZFxuICB9XG4gIGlmIChfLmlzQXJyYXkoZXJyKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gZXJyLm1hcChjbGVhbkVycm9ycylcbiAgICBjb25zdCBmb3VuZCA9IHJlc29sdmVkLmZpbmQoZCA9PiBkKVxuICAgIHJldHVybiBmb3VuZCA/IHJlc29sdmVkIDogdW5kZWZpbmVkXG4gIH1cbiAgcmV0dXJuIGVyclxufVxuXG4vLyByZW1vdmVOZXN0ZWRFcnJvclZhbHVlcyByZWN1cnNlcyB0aGUgdmFsdWVzIG9iamVjdCBhbmQgdHVybnMgYW55XG4vLyBmaWVsZCB0aGF0IGhhcyBhIHRydXRoeSBjb3JyZXNwb25kaW5nIG5lc3RlZCBmb3JtIGVycm9yIGZpZWxkIGludG8gdW5kZWZpbmVkLlxuLy8gVGhpcyBhbGxvd3MgcHJvcGVybHkgdmFsaWRhdGluZyBhIG5lc3RlZCBmb3JtIGJ5IGRldGVjdGluZyB0aGF0IHVuZGVmaW5lZCB2YWx1ZVxuLy8gaW4gdGhlIHZhbGlkYXRpb24gZnVuY3Rpb25cbmZ1bmN0aW9uIHJlbW92ZU5lc3RlZEVycm9yVmFsdWVzICh2YWx1ZXMsIG5lc3RlZEVycm9ycykge1xuICBjb25zdCByZWN1cnNlID0gKGN1cnJlbnQsIHBhdGggPSBbXSkgPT4ge1xuICAgIGlmIChfLmlzT2JqZWN0KGN1cnJlbnQpKSB7XG4gICAgICByZXR1cm4gXy5tYXBWYWx1ZXMoY3VycmVudCwgKGQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlY3Vyc2UoZCwgWy4uLnBhdGgsIGldKVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKF8uaXNBcnJheShjdXJyZW50KSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnQubWFwKChkLCBrZXkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlY3Vyc2UoZCwgWy4uLnBhdGgsIGtleV0pXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoIV8uaXNPYmplY3QoY3VycmVudCkgJiYgIV8uaXNBcnJheShjdXJyZW50KSAmJiBjdXJyZW50KSB7XG4gICAgICByZXR1cm4gXy5zZXQodmFsdWVzLCBwYXRoLCB1bmRlZmluZWQpXG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50XG4gIH1cbiAgcmVjdXJzZShuZXN0ZWRFcnJvcnMpXG4gIHJldHVybiB2YWx1ZXNcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJyZW9wIiwiZCIsIkZvcm1EZWZhdWx0UHJvcHMiLCJsb2FkU3RhdGUiLCJkZWZhdWx0VmFsdWVzIiwicHJlVmFsaWRhdGUiLCJ2YWxpZGF0ZSIsIm9uVmFsaWRhdGlvbkZhaWwiLCJvbkNoYW5nZSIsInNhdmVTdGF0ZSIsIndpbGxVbm1vdW50IiwicHJlU3VibWl0Iiwib25TdWJtaXQiLCJwb3N0U3VibWl0IiwiY29tcG9uZW50IiwiRm9ybSIsInByb3BzIiwidmFsdWVzIiwibWVyZ2VkVmFsdWVzIiwic3RhdGUiLCJ0b3VjaGVkIiwiZXJyb3JzIiwibmVzdGVkRXJyb3JzIiwic2V0QWxsVmFsdWVzIiwiYmluZCIsInNldFZhbHVlIiwiZ2V0VmFsdWUiLCJzZXROZXN0ZWRFcnJvciIsImdldEVycm9yIiwic2V0VG91Y2hlZCIsImdldFRvdWNoZWQiLCJhZGRWYWx1ZSIsInJlbW92ZVZhbHVlIiwic3dhcFZhbHVlcyIsInNldEFsbFRvdWNoZWQiLCJyZXNldEZvcm0iLCJzdWJtaXRGb3JtIiwiZm9ybUFQSSIsImdldEFQSSIsImVtaXRDaGFuZ2UiLCJzZXRGb3JtU3RhdGUiLCJub1RvdWNoIiwiZmllbGQiLCJ2YWx1ZSIsInNldCIsImZhbGxiYWNrIiwidmFsIiwiZ2V0IiwiZGlydHkiLCJpbmRleCIsImZpZWxkVmFsdWUiLCJzbGljZSIsImRlc3RJbmRleCIsIm1pbiIsIk1hdGgiLCJtYXgiLCJmaWVsZFZhbHVlcyIsImdldEluaXRpYWxTdGF0ZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInByZVN1Ym1pdFZhbHVlcyIsIm5ld1N0YXRlIiwic2lsZW50Iiwic2V0U3RhdGUiLCJpbml0aWFsIiwicmVtb3ZlTmVzdGVkRXJyb3JWYWx1ZXMiLCJjbGVhbkVycm9ycyIsImNoaWxkcmVuIiwicmVzdCIsInJlc29sdmVkQ2hpbGQiLCJSb290RWwiLCJDb21wb25lbnQiLCJkaXNwbGF5TmFtZSIsImRlZmF1bHRQcm9wcyIsImNoaWxkQ29udGV4dFR5cGVzIiwib2JqZWN0IiwiZXJyIiwiaXNPYmplY3QiLCJyZXNvbHZlZCIsIm1hcFZhbHVlcyIsImZvdW5kIiwicGlja0J5IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImlzQXJyYXkiLCJtYXAiLCJmaW5kIiwicmVjdXJzZSIsImN1cnJlbnQiLCJwYXRoIiwiaSIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxPQUFPLFNBQVBBLElBQU8sR0FBTSxDQUFFLENBQXJCO0FBQ0EsSUFBTUMsT0FBTyxTQUFQQSxJQUFPO0FBQUEsU0FBS0MsQ0FBTDtBQUFBLENBQWI7O0FBRU8sSUFBTUMsOENBQW1CO0FBQzlCQyxhQUFXSixJQURtQjtBQUU5QkssaUJBQWUsRUFGZTtBQUc5QkMsZUFBYUwsSUFIaUI7QUFJOUJNLFlBQVU7QUFBQSxXQUFNLElBQU47QUFBQSxHQUpvQjtBQUs5QkMsb0JBQWtCUixJQUxZO0FBTTlCUyxZQUFVVCxJQU5vQjtBQU85QlUsYUFBV1YsSUFQbUI7QUFROUJXLGVBQWFYLElBUmlCO0FBUzlCWSxhQUFXWCxJQVRtQjtBQVU5QlksWUFBVWIsSUFWb0I7QUFXOUJjLGNBQVlkLElBWGtCO0FBWTlCZSxhQUFXO0FBWm1CLENBQXpCOztJQWVEQyxJOzs7QUFDSixnQkFBYUMsS0FBYixFQUFvQjtBQUFBOztBQUFBLDRHQUNaQSxLQURZOztBQUFBLHNCQU9kLE1BQUtBLEtBUFM7QUFBQSxRQUloQlosYUFKZ0IsZUFJaEJBLGFBSmdCO0FBQUEsUUFLaEJhLE1BTGdCLGVBS2hCQSxNQUxnQjtBQUFBLFFBTWhCZCxTQU5nQixlQU1oQkEsU0FOZ0I7OztBQVNsQixRQUFNZSw0QkFDRGQsYUFEQyxFQUVEYSxNQUZDLENBQU47O0FBS0EsVUFBS0UsS0FBTCxHQUFhaEIsVUFBVSxNQUFLYSxLQUFmLFlBQStCO0FBQzFDQyxjQUFRQyxZQURrQztBQUUxQ0UsZUFBUyxFQUZpQztBQUcxQ0MsY0FBUSxNQUFLZixRQUFMLENBQWNZLFlBQWQsQ0FIa0M7QUFJMUNJLG9CQUFjO0FBSjRCLEtBQTVDOztBQU9BLFVBQUtDLFlBQUwsR0FBb0IsTUFBS0EsWUFBTCxDQUFrQkMsSUFBbEIsT0FBcEI7QUFDQSxVQUFLQyxRQUFMLEdBQWdCLE1BQUtBLFFBQUwsQ0FBY0QsSUFBZCxPQUFoQjtBQUNBLFVBQUtFLFFBQUwsR0FBZ0IsTUFBS0EsUUFBTCxDQUFjRixJQUFkLE9BQWhCO0FBQ0EsVUFBS0csY0FBTCxHQUFzQixNQUFLQSxjQUFMLENBQW9CSCxJQUFwQixPQUF0QjtBQUNBLFVBQUtJLFFBQUwsR0FBZ0IsTUFBS0EsUUFBTCxDQUFjSixJQUFkLE9BQWhCO0FBQ0EsVUFBS0ssVUFBTCxHQUFrQixNQUFLQSxVQUFMLENBQWdCTCxJQUFoQixPQUFsQjtBQUNBLFVBQUtNLFVBQUwsR0FBa0IsTUFBS0EsVUFBTCxDQUFnQk4sSUFBaEIsT0FBbEI7QUFDQSxVQUFLTyxRQUFMLEdBQWdCLE1BQUtBLFFBQUwsQ0FBY1AsSUFBZCxPQUFoQjtBQUNBLFVBQUtRLFdBQUwsR0FBbUIsTUFBS0EsV0FBTCxDQUFpQlIsSUFBakIsT0FBbkI7QUFDQSxVQUFLUyxVQUFMLEdBQWtCLE1BQUtBLFVBQUwsQ0FBZ0JULElBQWhCLE9BQWxCO0FBQ0EsVUFBS1UsYUFBTCxHQUFxQixNQUFLQSxhQUFMLENBQW1CVixJQUFuQixPQUFyQjtBQUNBLFVBQUtXLFNBQUwsR0FBaUIsTUFBS0EsU0FBTCxDQUFlWCxJQUFmLE9BQWpCO0FBQ0EsVUFBS1ksVUFBTCxHQUFrQixNQUFLQSxVQUFMLENBQWdCWixJQUFoQixPQUFsQjtBQWpDa0I7QUFrQ25COzs7O3NDQUVrQjtBQUNqQixhQUFPO0FBQ0xhLGlCQUFTLEtBQUtDLE1BQUw7QUFESixPQUFQO0FBR0Q7Ozt5Q0FFcUI7QUFDcEIsV0FBS0MsVUFBTCxDQUFnQixLQUFLcEIsS0FBckIsRUFBNEIsSUFBNUI7QUFDRDs7OzhDQUUwQkgsSyxFQUFPO0FBQ2hDLFVBQUlBLE1BQU1DLE1BQU4sS0FBaUIsS0FBS0QsS0FBTCxDQUFXQyxNQUFoQyxFQUF3QztBQUN0QztBQUNEOztBQUVELFdBQUt1QixZQUFMLENBQWtCO0FBQ2hCdkIsZ0JBQVFELE1BQU1DLE1BQU4sSUFBZ0I7QUFEUixPQUFsQixFQUVHLElBRkg7QUFHRDs7OzBDQUVzQjtBQUNyQixXQUFLRCxLQUFMLENBQVdOLFdBQVgsQ0FBdUIsS0FBS1MsS0FBNUIsRUFBbUMsS0FBS0gsS0FBeEMsRUFBK0MsSUFBL0M7QUFDRDs7QUFFRDs7OztpQ0FDY0MsTSxFQUFRd0IsTyxFQUFTO0FBQzdCLFVBQUlBLE9BQUosRUFBYTtBQUNYLGVBQU8sS0FBS0QsWUFBTCxDQUFrQixFQUFDdkIsY0FBRCxFQUFsQixDQUFQO0FBQ0Q7QUFDRCxXQUFLdUIsWUFBTCxDQUFrQixFQUFDdkIsY0FBRCxFQUFTRyxTQUFTLEVBQWxCLEVBQWxCO0FBQ0Q7Ozs2QkFFU3NCLEssRUFBT0MsSyxFQUFPRixPLEVBQVM7QUFDL0IsVUFBTXRCLFFBQVEsS0FBS0EsS0FBbkI7QUFDQSxVQUFNRixTQUFTLGdCQUFFMkIsR0FBRixDQUFNekIsTUFBTUYsTUFBWixFQUFvQnlCLEtBQXBCLEVBQTJCQyxLQUEzQixDQUFmO0FBQ0E7QUFDQSxVQUFJRixPQUFKLEVBQWE7QUFDWCxlQUFPLEtBQUtELFlBQUwsQ0FBa0IsRUFBQ3ZCLGNBQUQsRUFBbEIsQ0FBUDtBQUNEO0FBQ0QsVUFBTUcsVUFBVSxnQkFBRXdCLEdBQUYsQ0FBTXpCLE1BQU1DLE9BQVosRUFBcUJzQixLQUFyQixDQUFoQjtBQUNBLFdBQUtGLFlBQUwsQ0FBa0IsRUFBQ3ZCLGNBQUQsRUFBU0csZ0JBQVQsRUFBbEI7QUFDRDs7OzZCQUVTc0IsSyxFQUFPRyxRLEVBQVU7QUFDekIsVUFBTTFCLFFBQVEsS0FBS0EsS0FBbkI7QUFDQSxVQUFNMkIsTUFBTSxnQkFBRUMsR0FBRixDQUFNNUIsTUFBTUYsTUFBWixFQUFvQnlCLEtBQXBCLENBQVo7QUFDQSxhQUFPLE9BQU9JLEdBQVAsS0FBZSxXQUFmLEdBQTZCQSxHQUE3QixHQUFtQ0QsUUFBMUM7QUFDRDs7O21DQUVlSCxLLEVBQXFCO0FBQUEsVUFBZEMsS0FBYyx1RUFBTixJQUFNOztBQUNuQyxVQUFNckIsZUFBZSxnQkFBRXNCLEdBQUYsQ0FBTSxLQUFLekIsS0FBTCxDQUFXRyxZQUFqQixFQUErQm9CLEtBQS9CLEVBQXNDQyxLQUF0QyxDQUFyQjtBQUNBLFdBQUtILFlBQUwsQ0FBa0IsRUFBQ2xCLDBCQUFELEVBQWxCO0FBQ0Q7Ozs2QkFFU29CLEssRUFBTztBQUNmLGFBQU8sZ0JBQUVLLEdBQUYsQ0FBTSxLQUFLNUIsS0FBTCxDQUFXRSxNQUFqQixFQUF5QnFCLEtBQXpCLENBQVA7QUFDRDs7OytCQUVXQSxLLEVBQXFCO0FBQUEsVUFBZEMsS0FBYyx1RUFBTixJQUFNOztBQUMvQixVQUFNdkIsVUFBVSxnQkFBRXdCLEdBQUYsQ0FBTSxLQUFLekIsS0FBTCxDQUFXQyxPQUFqQixFQUEwQnNCLEtBQTFCLEVBQWlDQyxLQUFqQyxDQUFoQjtBQUNBLFdBQUtILFlBQUwsQ0FBa0IsRUFBQ3BCLGdCQUFELEVBQWxCO0FBQ0Q7OzsrQkFFV3NCLEssRUFBTztBQUNqQixVQUFNdkIsUUFBUSxLQUFLQSxLQUFuQjtBQUNBLFVBQUksS0FBS0EsS0FBTCxDQUFXNkIsS0FBWCxLQUFxQixJQUFyQixJQUE2QixLQUFLaEMsS0FBTCxDQUFXSSxPQUFYLEtBQXVCLElBQXhELEVBQThEO0FBQzVELGVBQU8sSUFBUDtBQUNEO0FBQ0QsYUFBTyxnQkFBRTJCLEdBQUYsQ0FBTTVCLE1BQU1DLE9BQVosRUFBcUJzQixLQUFyQixDQUFQO0FBQ0Q7Ozs2QkFFU0EsSyxFQUFPQyxLLEVBQU87QUFDdEIsVUFBTXhCLFFBQVEsS0FBS0EsS0FBbkI7QUFDQSxVQUFNRixTQUFTLGdCQUFFMkIsR0FBRixDQUFNekIsTUFBTUYsTUFBWixFQUFvQnlCLEtBQXBCLCtCQUNWLGdCQUFFSyxHQUFGLENBQU01QixNQUFNRixNQUFaLEVBQW9CeUIsS0FBcEIsRUFBMkIsRUFBM0IsQ0FEVSxJQUViQyxLQUZhLEdBQWY7QUFJQSxXQUFLSCxZQUFMLENBQWtCLEVBQUN2QixjQUFELEVBQWxCO0FBQ0Q7OztnQ0FFWXlCLEssRUFBT08sSyxFQUFPO0FBQ3pCLFVBQU05QixRQUFRLEtBQUtBLEtBQW5CO0FBQ0EsVUFBTStCLGFBQWEsZ0JBQUVILEdBQUYsQ0FBTTVCLE1BQU1GLE1BQVosRUFBb0J5QixLQUFwQixFQUEyQixFQUEzQixDQUFuQjtBQUNBLFVBQU16QixTQUFTLGdCQUFFMkIsR0FBRixDQUFNekIsTUFBTUYsTUFBWixFQUFvQnlCLEtBQXBCLCtCQUNWUSxXQUFXQyxLQUFYLENBQWlCLENBQWpCLEVBQW9CRixLQUFwQixDQURVLHNCQUVWQyxXQUFXQyxLQUFYLENBQWlCRixRQUFRLENBQXpCLENBRlUsR0FBZjtBQUlBLFdBQUtULFlBQUwsQ0FBa0IsRUFBQ3ZCLGNBQUQsRUFBbEI7QUFDRDs7OytCQUVXeUIsSyxFQUFPTyxLLEVBQU9HLFMsRUFBVztBQUNuQyxVQUFNakMsUUFBUSxLQUFLQSxLQUFuQjs7QUFFQSxVQUFNa0MsTUFBTUMsS0FBS0QsR0FBTCxDQUFTSixLQUFULEVBQWdCRyxTQUFoQixDQUFaO0FBQ0EsVUFBTUcsTUFBTUQsS0FBS0MsR0FBTCxDQUFTTixLQUFULEVBQWdCRyxTQUFoQixDQUFaOztBQUVBLFVBQU1JLGNBQWMsZ0JBQUVULEdBQUYsQ0FBTTVCLE1BQU1GLE1BQVosRUFBb0J5QixLQUFwQixFQUEyQixFQUEzQixDQUFwQjtBQUNBLFVBQU16QixTQUFTLGdCQUFFMkIsR0FBRixDQUFNekIsTUFBTUYsTUFBWixFQUFvQnlCLEtBQXBCLCtCQUNWYyxZQUFZTCxLQUFaLENBQWtCLENBQWxCLEVBQXFCRSxHQUFyQixDQURVLElBRWJHLFlBQVlELEdBQVosQ0FGYSxzQkFHVkMsWUFBWUwsS0FBWixDQUFrQkUsTUFBTSxDQUF4QixFQUEyQkUsR0FBM0IsQ0FIVSxJQUliQyxZQUFZSCxHQUFaLENBSmEsc0JBS1ZHLFlBQVlMLEtBQVosQ0FBa0JJLE1BQU0sQ0FBeEIsQ0FMVSxHQUFmO0FBT0EsV0FBS2YsWUFBTCxDQUFrQixFQUFDdkIsY0FBRCxFQUFsQjtBQUNEOzs7b0NBRW1DO0FBQUEsVUFBckIrQixLQUFxQix1RUFBYixJQUFhO0FBQUEsVUFBUDdCLEtBQU87O0FBQ2xDLFdBQUtxQixZQUFMLGNBQ0tyQixLQURMO0FBRUU2QixlQUFPLENBQUMsQ0FBQ0E7QUFGWDtBQUlEOzs7Z0NBRVk7QUFDWCxhQUFPLEtBQUtSLFlBQUwsQ0FBa0IsS0FBS2lCLGVBQUwsRUFBbEIsQ0FBUDtBQUNEOzs7K0JBRVdDLEMsRUFBRztBQUNiQSxXQUFLQSxFQUFFQyxjQUFQLElBQXlCRCxFQUFFQyxjQUFGLENBQWlCRCxDQUFqQixDQUF6QjtBQUNBLFVBQU12QyxRQUFRLEtBQUtBLEtBQW5CO0FBQ0EsVUFBTUUsU0FBUyxLQUFLZixRQUFMLENBQWNhLE1BQU1GLE1BQXBCLEVBQTRCRSxLQUE1QixFQUFtQyxLQUFLSCxLQUF4QyxDQUFmO0FBQ0EsVUFBSUssTUFBSixFQUFZO0FBQ1YsWUFBSSxDQUFDRixNQUFNNkIsS0FBWCxFQUFrQjtBQUNoQixlQUFLZCxhQUFMLENBQW1CLElBQW5CLEVBQXlCLEVBQUNiLGNBQUQsRUFBekI7QUFDRDtBQUNELGVBQU8sS0FBS0wsS0FBTCxDQUFXVCxnQkFBWCxDQUE0QlksTUFBTUYsTUFBbEMsRUFBMENFLEtBQTFDLEVBQWlELEtBQUtILEtBQXRELEVBQTZELElBQTdELENBQVA7QUFDRDtBQUNELFVBQU00QyxrQkFBa0IsS0FBSzVDLEtBQUwsQ0FBV0wsU0FBWCxDQUFxQlEsTUFBTUYsTUFBM0IsRUFBbUNFLEtBQW5DLEVBQTBDLEtBQUtILEtBQS9DLEVBQXNELElBQXRELENBQXhCO0FBQ0EsV0FBS0EsS0FBTCxDQUFXSixRQUFYLENBQW9CZ0QsZUFBcEIsRUFBcUN6QyxLQUFyQyxFQUE0QyxLQUFLSCxLQUFqRCxFQUF3RCxJQUF4RDtBQUNBLFdBQUtBLEtBQUwsQ0FBV0gsVUFBWCxDQUFzQitDLGVBQXRCLEVBQXVDekMsS0FBdkMsRUFBOEMsS0FBS0gsS0FBbkQsRUFBMEQsSUFBMUQ7QUFDRDs7QUFFRDs7Ozs2QkFDVTtBQUNSLGFBQU87QUFDTE8sc0JBQWMsS0FBS0EsWUFEZDtBQUVMRSxrQkFBVSxLQUFLQSxRQUZWO0FBR0xDLGtCQUFVLEtBQUtBLFFBSFY7QUFJTEMsd0JBQWdCLEtBQUtBLGNBSmhCO0FBS0xDLGtCQUFVLEtBQUtBLFFBTFY7QUFNTEMsb0JBQVksS0FBS0EsVUFOWjtBQU9MQyxvQkFBWSxLQUFLQSxVQVBaO0FBUUxDLGtCQUFVLEtBQUtBLFFBUlY7QUFTTEMscUJBQWEsS0FBS0EsV0FUYjtBQVVMQyxvQkFBWSxLQUFLQSxVQVZaO0FBV0xDLHVCQUFlLEtBQUtBLGFBWGY7QUFZTEMsbUJBQVcsS0FBS0EsU0FaWDtBQWFMQyxvQkFBWSxLQUFLQTtBQWJaLE9BQVA7QUFlRDs7O2lDQUVheUIsUSxFQUFVQyxNLEVBQVE7QUFBQTs7QUFDOUIsVUFBSUQsWUFBWUEsU0FBUzVDLE1BQXJCLElBQStCLENBQUM0QyxTQUFTeEMsTUFBN0MsRUFBcUQ7QUFDbkR3QyxpQkFBUzVDLE1BQVQsR0FBa0IsS0FBS0QsS0FBTCxDQUFXWCxXQUFYLENBQXVCd0QsU0FBUzVDLE1BQWhDLEVBQXdDNEMsUUFBeEMsRUFBa0QsS0FBSzdDLEtBQXZELEVBQThELElBQTlELENBQWxCO0FBQ0E2QyxpQkFBU3hDLE1BQVQsR0FBa0IsS0FBS2YsUUFBTCxDQUFjdUQsU0FBUzVDLE1BQXZCLEVBQStCNEMsUUFBL0IsRUFBeUMsS0FBSzdDLEtBQTlDLENBQWxCO0FBQ0Q7QUFDRCxXQUFLK0MsUUFBTCxDQUFjRixRQUFkLEVBQXdCLFlBQU07QUFDNUIsZUFBSzdDLEtBQUwsQ0FBV1AsU0FBWCxDQUFxQixPQUFLVSxLQUExQixFQUFpQyxPQUFLSCxLQUF0QztBQUNBLFlBQUksQ0FBQzhDLE1BQUwsRUFBYTtBQUNYLGlCQUFLdkIsVUFBTCxDQUFnQixPQUFLcEIsS0FBckIsRUFBNEIsT0FBS0gsS0FBakM7QUFDRDtBQUNGLE9BTEQ7QUFNRDs7OytCQUVXRyxLLEVBQU82QyxPLEVBQVM7QUFDMUIsV0FBS2hELEtBQUwsQ0FBV1IsUUFBWCxDQUFvQlcsS0FBcEIsRUFBMkIsS0FBS0gsS0FBaEMsRUFBdUNnRCxPQUF2QyxFQUFnRCxJQUFoRDtBQUNEOzs7NkJBRVMvQyxNLEVBQVFFLEssRUFBT0gsSyxFQUFPO0FBQzlCLFVBQU1LLFNBQVMsS0FBS0wsS0FBTCxDQUFXVixRQUFYLENBQ2IyRCx3QkFBd0JoRCxNQUF4QixFQUFnQyxLQUFLRSxLQUFMLEdBQWEsS0FBS0EsS0FBTCxDQUFXRyxZQUF4QixHQUF1QyxFQUF2RSxDQURhLEVBRWJILEtBRmEsRUFHYkgsS0FIYSxFQUliLElBSmEsQ0FBZjtBQU1BLGFBQU9rRCxZQUFZN0MsTUFBWixDQUFQO0FBQ0Q7Ozs2QkFFUztBQUNSLFVBQU1MLHFCQUNELEtBQUtBLEtBREosRUFFRCxLQUFLRyxLQUZKLEVBR0QsS0FBS21CLE1BQUwsRUFIQyxDQUFOOztBQURRLFVBTUF4QixTQU5BLEdBTWlDRSxLQU5qQyxDQU1BRixTQU5BO0FBQUEsVUFNV3FELFFBTlgsR0FNaUNuRCxLQU5qQyxDQU1XbUQsUUFOWDtBQUFBLFVBTXdCQyxJQU54Qiw0QkFNaUNwRCxLQU5qQzs7QUFPUixVQUFNcUQsZ0JBQWdCLE9BQU9GLFFBQVAsS0FBb0IsVUFBcEIsR0FBaUNBLFNBQVNDLElBQVQsQ0FBakMsR0FBa0RELFFBQXhFO0FBQ0EsVUFBTUcsU0FBU3hELFNBQWY7QUFDQSxVQUFJLENBQUN3RCxNQUFMLEVBQWE7QUFDWCxlQUFPRCxhQUFQO0FBQ0Q7QUFDRCxhQUNFO0FBQUMsY0FBRDtBQUFBLFVBQVEsV0FBVSxXQUFsQjtBQUErQkE7QUFBL0IsT0FERjtBQUdEOzs7O0VBdk9nQixnQkFBTUUsUzs7QUEwT3pCeEQsS0FBS3lELFdBQUwsR0FBbUIsTUFBbkI7QUFDQXpELEtBQUswRCxZQUFMLEdBQW9CdkUsZ0JBQXBCO0FBQ0FhLEtBQUsyRCxpQkFBTCxHQUF5QixFQUFFckMsU0FBUyxvQkFBVXNDLE1BQXJCLEVBQXpCOztrQkFFZTVELEk7O0FBRWY7O0FBRUEsU0FBU21ELFdBQVQsQ0FBc0JVLEdBQXRCLEVBQTJCO0FBQ3pCLE1BQUksZ0JBQUVDLFFBQUYsQ0FBV0QsR0FBWCxDQUFKLEVBQXFCO0FBQ25CLFFBQU1FLFdBQVcsZ0JBQUVDLFNBQUYsQ0FBWUgsR0FBWixFQUFpQlYsV0FBakIsQ0FBakI7QUFDQSxRQUFNYyxRQUFRLGdCQUFFQyxNQUFGLENBQVNILFFBQVQsRUFBbUI7QUFBQSxhQUFLN0UsQ0FBTDtBQUFBLEtBQW5CLENBQWQ7QUFDQSxXQUFPaUYsT0FBT0MsSUFBUCxDQUFZSCxLQUFaLEVBQW1CSSxNQUFuQixHQUE0Qk4sUUFBNUIsR0FBdUNPLFNBQTlDO0FBQ0Q7QUFDRCxNQUFJLGdCQUFFQyxPQUFGLENBQVVWLEdBQVYsQ0FBSixFQUFvQjtBQUNsQixRQUFNRSxZQUFXRixJQUFJVyxHQUFKLENBQVFyQixXQUFSLENBQWpCO0FBQ0EsUUFBTWMsU0FBUUYsVUFBU1UsSUFBVCxDQUFjO0FBQUEsYUFBS3ZGLENBQUw7QUFBQSxLQUFkLENBQWQ7QUFDQSxXQUFPK0UsU0FBUUYsU0FBUixHQUFtQk8sU0FBMUI7QUFDRDtBQUNELFNBQU9ULEdBQVA7QUFDRDs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNYLHVCQUFULENBQWtDaEQsTUFBbEMsRUFBMENLLFlBQTFDLEVBQXdEO0FBQ3RELE1BQU1tRSxVQUFVLFNBQVZBLE9BQVUsQ0FBQ0MsT0FBRCxFQUF3QjtBQUFBLFFBQWRDLElBQWMsdUVBQVAsRUFBTzs7QUFDdEMsUUFBSSxnQkFBRWQsUUFBRixDQUFXYSxPQUFYLENBQUosRUFBeUI7QUFDdkIsYUFBTyxnQkFBRVgsU0FBRixDQUFZVyxPQUFaLEVBQXFCLFVBQUN6RixDQUFELEVBQUkyRixDQUFKLEVBQVU7QUFDcEMsZUFBT0gsUUFBUXhGLENBQVIsK0JBQWUwRixJQUFmLElBQXFCQyxDQUFyQixHQUFQO0FBQ0QsT0FGTSxDQUFQO0FBR0Q7QUFDRCxRQUFJLGdCQUFFTixPQUFGLENBQVVJLE9BQVYsQ0FBSixFQUF3QjtBQUN0QixhQUFPQSxRQUFRSCxHQUFSLENBQVksVUFBQ3RGLENBQUQsRUFBSTRGLEdBQUosRUFBWTtBQUM3QixlQUFPSixRQUFReEYsQ0FBUiwrQkFBZTBGLElBQWYsSUFBcUJFLEdBQXJCLEdBQVA7QUFDRCxPQUZNLENBQVA7QUFHRDtBQUNELFFBQUksQ0FBQyxnQkFBRWhCLFFBQUYsQ0FBV2EsT0FBWCxDQUFELElBQXdCLENBQUMsZ0JBQUVKLE9BQUYsQ0FBVUksT0FBVixDQUF6QixJQUErQ0EsT0FBbkQsRUFBNEQ7QUFDMUQsYUFBTyxnQkFBRTlDLEdBQUYsQ0FBTTNCLE1BQU4sRUFBYzBFLElBQWQsRUFBb0JOLFNBQXBCLENBQVA7QUFDRDtBQUNELFdBQU9LLE9BQVA7QUFDRCxHQWZEO0FBZ0JBRCxVQUFRbkUsWUFBUjtBQUNBLFNBQU9MLE1BQVA7QUFDRCIsImZpbGUiOiJmb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuaW1wb3J0IF8gZnJvbSAnLi91dGlscydcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9XG5jb25zdCByZW9wID0gZCA9PiBkXG5cbmV4cG9ydCBjb25zdCBGb3JtRGVmYXVsdFByb3BzID0ge1xuICBsb2FkU3RhdGU6IG5vb3AsXG4gIGRlZmF1bHRWYWx1ZXM6IHt9LFxuICBwcmVWYWxpZGF0ZTogcmVvcCxcbiAgdmFsaWRhdGU6ICgpID0+IG51bGwsXG4gIG9uVmFsaWRhdGlvbkZhaWw6IG5vb3AsXG4gIG9uQ2hhbmdlOiBub29wLFxuICBzYXZlU3RhdGU6IG5vb3AsXG4gIHdpbGxVbm1vdW50OiBub29wLFxuICBwcmVTdWJtaXQ6IHJlb3AsXG4gIG9uU3VibWl0OiBub29wLFxuICBwb3N0U3VibWl0OiBub29wLFxuICBjb21wb25lbnQ6ICdkaXYnXG59XG5cbmNsYXNzIEZvcm0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvciAocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcylcblxuICAgIGNvbnN0IHtcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICB2YWx1ZXMsXG4gICAgICBsb2FkU3RhdGVcbiAgICB9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgbWVyZ2VkVmFsdWVzID0ge1xuICAgICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAgIC4uLnZhbHVlc1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSBsb2FkU3RhdGUodGhpcy5wcm9wcywgdGhpcykgfHwge1xuICAgICAgdmFsdWVzOiBtZXJnZWRWYWx1ZXMsXG4gICAgICB0b3VjaGVkOiB7fSxcbiAgICAgIGVycm9yczogdGhpcy52YWxpZGF0ZShtZXJnZWRWYWx1ZXMpLFxuICAgICAgbmVzdGVkRXJyb3JzOiB7fVxuICAgIH1cblxuICAgIHRoaXMuc2V0QWxsVmFsdWVzID0gdGhpcy5zZXRBbGxWYWx1ZXMuYmluZCh0aGlzKVxuICAgIHRoaXMuc2V0VmFsdWUgPSB0aGlzLnNldFZhbHVlLmJpbmQodGhpcylcbiAgICB0aGlzLmdldFZhbHVlID0gdGhpcy5nZXRWYWx1ZS5iaW5kKHRoaXMpXG4gICAgdGhpcy5zZXROZXN0ZWRFcnJvciA9IHRoaXMuc2V0TmVzdGVkRXJyb3IuYmluZCh0aGlzKVxuICAgIHRoaXMuZ2V0RXJyb3IgPSB0aGlzLmdldEVycm9yLmJpbmQodGhpcylcbiAgICB0aGlzLnNldFRvdWNoZWQgPSB0aGlzLnNldFRvdWNoZWQuYmluZCh0aGlzKVxuICAgIHRoaXMuZ2V0VG91Y2hlZCA9IHRoaXMuZ2V0VG91Y2hlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5hZGRWYWx1ZSA9IHRoaXMuYWRkVmFsdWUuYmluZCh0aGlzKVxuICAgIHRoaXMucmVtb3ZlVmFsdWUgPSB0aGlzLnJlbW92ZVZhbHVlLmJpbmQodGhpcylcbiAgICB0aGlzLnN3YXBWYWx1ZXMgPSB0aGlzLnN3YXBWYWx1ZXMuYmluZCh0aGlzKVxuICAgIHRoaXMuc2V0QWxsVG91Y2hlZCA9IHRoaXMuc2V0QWxsVG91Y2hlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5yZXNldEZvcm0gPSB0aGlzLnJlc2V0Rm9ybS5iaW5kKHRoaXMpXG4gICAgdGhpcy5zdWJtaXRGb3JtID0gdGhpcy5zdWJtaXRGb3JtLmJpbmQodGhpcylcbiAgfVxuXG4gIGdldENoaWxkQ29udGV4dCAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1BUEk6IHRoaXMuZ2V0QVBJKClcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQgKCkge1xuICAgIHRoaXMuZW1pdENoYW5nZSh0aGlzLnN0YXRlLCB0cnVlKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyAocHJvcHMpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzID09PSB0aGlzLnByb3BzLnZhbHVlcykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe1xuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMgfHwge31cbiAgICB9LCB0cnVlKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVtb3VudCAoKSB7XG4gICAgdGhpcy5wcm9wcy53aWxsVW5tb3VudCh0aGlzLnN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICB9XG5cbiAgLy8gQVBJXG4gIHNldEFsbFZhbHVlcyAodmFsdWVzLCBub1RvdWNoKSB7XG4gICAgaWYgKG5vVG91Y2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgICB9XG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlcywgdG91Y2hlZDoge319KVxuICB9XG5cbiAgc2V0VmFsdWUgKGZpZWxkLCB2YWx1ZSwgbm9Ub3VjaCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHZhbHVlcyA9IF8uc2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIHZhbHVlKVxuICAgIC8vIEFsc28gc2V0IHRvdWNoZWQgc2luY2UgdGhlIHZhbHVlIGlzIGNoYW5naW5nXG4gICAgaWYgKG5vVG91Y2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgICB9XG4gICAgY29uc3QgdG91Y2hlZCA9IF8uc2V0KHN0YXRlLnRvdWNoZWQsIGZpZWxkKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXMsIHRvdWNoZWR9KVxuICB9XG5cbiAgZ2V0VmFsdWUgKGZpZWxkLCBmYWxsYmFjaykge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHZhbCA9IF8uZ2V0KHN0YXRlLnZhbHVlcywgZmllbGQpXG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgIT09ICd1bmRlZmluZWQnID8gdmFsIDogZmFsbGJhY2tcbiAgfVxuXG4gIHNldE5lc3RlZEVycm9yIChmaWVsZCwgdmFsdWUgPSB0cnVlKSB7XG4gICAgY29uc3QgbmVzdGVkRXJyb3JzID0gXy5zZXQodGhpcy5zdGF0ZS5uZXN0ZWRFcnJvcnMsIGZpZWxkLCB2YWx1ZSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7bmVzdGVkRXJyb3JzfSlcbiAgfVxuXG4gIGdldEVycm9yIChmaWVsZCkge1xuICAgIHJldHVybiBfLmdldCh0aGlzLnN0YXRlLmVycm9ycywgZmllbGQpXG4gIH1cblxuICBzZXRUb3VjaGVkIChmaWVsZCwgdmFsdWUgPSB0cnVlKSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IF8uc2V0KHRoaXMuc3RhdGUudG91Y2hlZCwgZmllbGQsIHZhbHVlKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt0b3VjaGVkfSlcbiAgfVxuXG4gIGdldFRvdWNoZWQgKGZpZWxkKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgaWYgKHRoaXMuc3RhdGUuZGlydHkgPT09IHRydWUgfHwgdGhpcy5wcm9wcy50b3VjaGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gXy5nZXQoc3RhdGUudG91Y2hlZCwgZmllbGQpXG4gIH1cblxuICBhZGRWYWx1ZSAoZmllbGQsIHZhbHVlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW1xuICAgICAgLi4uXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW10pLFxuICAgICAgdmFsdWVcbiAgICBdKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICB9XG5cbiAgcmVtb3ZlVmFsdWUgKGZpZWxkLCBpbmRleCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBfLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXSlcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXG4gICAgICAuLi5maWVsZFZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgIC4uLmZpZWxkVmFsdWUuc2xpY2UoaW5kZXggKyAxKVxuICAgIF0pXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlc30pXG4gIH1cblxuICBzd2FwVmFsdWVzIChmaWVsZCwgaW5kZXgsIGRlc3RJbmRleCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuXG4gICAgY29uc3QgbWluID0gTWF0aC5taW4oaW5kZXgsIGRlc3RJbmRleClcbiAgICBjb25zdCBtYXggPSBNYXRoLm1heChpbmRleCwgZGVzdEluZGV4KVxuXG4gICAgY29uc3QgZmllbGRWYWx1ZXMgPSBfLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXSlcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXG4gICAgICAuLi5maWVsZFZhbHVlcy5zbGljZSgwLCBtaW4pLFxuICAgICAgZmllbGRWYWx1ZXNbbWF4XSxcbiAgICAgIC4uLmZpZWxkVmFsdWVzLnNsaWNlKG1pbiArIDEsIG1heCksXG4gICAgICBmaWVsZFZhbHVlc1ttaW5dLFxuICAgICAgLi4uZmllbGRWYWx1ZXMuc2xpY2UobWF4ICsgMSlcbiAgICBdKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICB9XG5cbiAgc2V0QWxsVG91Y2hlZCAoZGlydHkgPSB0cnVlLCBzdGF0ZSkge1xuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGlydHk6ICEhZGlydHlcbiAgICB9KVxuICB9XG5cbiAgcmVzZXRGb3JtICgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb3JtU3RhdGUodGhpcy5nZXRJbml0aWFsU3RhdGUoKSlcbiAgfVxuXG4gIHN1Ym1pdEZvcm0gKGUpIHtcbiAgICBlICYmIGUucHJldmVudERlZmF1bHQgJiYgZS5wcmV2ZW50RGVmYXVsdChlKVxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGVycm9ycyA9IHRoaXMudmFsaWRhdGUoc3RhdGUudmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcylcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICBpZiAoIXN0YXRlLmRpcnR5KSB7XG4gICAgICAgIHRoaXMuc2V0QWxsVG91Y2hlZCh0cnVlLCB7ZXJyb3JzfSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uVmFsaWRhdGlvbkZhaWwoc3RhdGUudmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICB9XG4gICAgY29uc3QgcHJlU3VibWl0VmFsdWVzID0gdGhpcy5wcm9wcy5wcmVTdWJtaXQoc3RhdGUudmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICB0aGlzLnByb3BzLm9uU3VibWl0KHByZVN1Ym1pdFZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMsIHRoaXMpXG4gICAgdGhpcy5wcm9wcy5wb3N0U3VibWl0KHByZVN1Ym1pdFZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMsIHRoaXMpXG4gIH1cblxuICAvLyBVdGlsc1xuICBnZXRBUEkgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRBbGxWYWx1ZXM6IHRoaXMuc2V0QWxsVmFsdWVzLFxuICAgICAgc2V0VmFsdWU6IHRoaXMuc2V0VmFsdWUsXG4gICAgICBnZXRWYWx1ZTogdGhpcy5nZXRWYWx1ZSxcbiAgICAgIHNldE5lc3RlZEVycm9yOiB0aGlzLnNldE5lc3RlZEVycm9yLFxuICAgICAgZ2V0RXJyb3I6IHRoaXMuZ2V0RXJyb3IsXG4gICAgICBzZXRUb3VjaGVkOiB0aGlzLnNldFRvdWNoZWQsXG4gICAgICBnZXRUb3VjaGVkOiB0aGlzLmdldFRvdWNoZWQsXG4gICAgICBhZGRWYWx1ZTogdGhpcy5hZGRWYWx1ZSxcbiAgICAgIHJlbW92ZVZhbHVlOiB0aGlzLnJlbW92ZVZhbHVlLFxuICAgICAgc3dhcFZhbHVlczogdGhpcy5zd2FwVmFsdWVzLFxuICAgICAgc2V0QWxsVG91Y2hlZDogdGhpcy5zZXRBbGxUb3VjaGVkLFxuICAgICAgcmVzZXRGb3JtOiB0aGlzLnJlc2V0Rm9ybSxcbiAgICAgIHN1Ym1pdEZvcm06IHRoaXMuc3VibWl0Rm9ybVxuICAgIH1cbiAgfVxuXG4gIHNldEZvcm1TdGF0ZSAobmV3U3RhdGUsIHNpbGVudCkge1xuICAgIGlmIChuZXdTdGF0ZSAmJiBuZXdTdGF0ZS52YWx1ZXMgJiYgIW5ld1N0YXRlLmVycm9ycykge1xuICAgICAgbmV3U3RhdGUudmFsdWVzID0gdGhpcy5wcm9wcy5wcmVWYWxpZGF0ZShuZXdTdGF0ZS52YWx1ZXMsIG5ld1N0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICAgICAgbmV3U3RhdGUuZXJyb3JzID0gdGhpcy52YWxpZGF0ZShuZXdTdGF0ZS52YWx1ZXMsIG5ld1N0YXRlLCB0aGlzLnByb3BzKVxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlLCAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNhdmVTdGF0ZSh0aGlzLnN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKHRoaXMuc3RhdGUsIHRoaXMucHJvcHMpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGVtaXRDaGFuZ2UgKHN0YXRlLCBpbml0aWFsKSB7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShzdGF0ZSwgdGhpcy5wcm9wcywgaW5pdGlhbCwgdGhpcylcbiAgfVxuXG4gIHZhbGlkYXRlICh2YWx1ZXMsIHN0YXRlLCBwcm9wcykge1xuICAgIGNvbnN0IGVycm9ycyA9IHRoaXMucHJvcHMudmFsaWRhdGUoXG4gICAgICByZW1vdmVOZXN0ZWRFcnJvclZhbHVlcyh2YWx1ZXMsIHRoaXMuc3RhdGUgPyB0aGlzLnN0YXRlLm5lc3RlZEVycm9ycyA6IHt9KSxcbiAgICAgIHN0YXRlLFxuICAgICAgcHJvcHMsXG4gICAgICB0aGlzXG4gICAgKVxuICAgIHJldHVybiBjbGVhbkVycm9ycyhlcnJvcnMpXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi50aGlzLmdldEFQSSgpXG4gICAgfVxuICAgIGNvbnN0IHsgY29tcG9uZW50LCBjaGlsZHJlbiwgLi4ucmVzdCB9ID0gcHJvcHNcbiAgICBjb25zdCByZXNvbHZlZENoaWxkID0gdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4ocmVzdCkgOiBjaGlsZHJlblxuICAgIGNvbnN0IFJvb3RFbCA9IGNvbXBvbmVudFxuICAgIGlmICghUm9vdEVsKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZWRDaGlsZFxuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFJvb3RFbCBjbGFzc05hbWU9J1JlYWN0Rm9ybSc+e3Jlc29sdmVkQ2hpbGR9PC9Sb290RWw+XG4gICAgKVxuICB9XG59XG5cbkZvcm0uZGlzcGxheU5hbWUgPSAnRm9ybSdcbkZvcm0uZGVmYXVsdFByb3BzID0gRm9ybURlZmF1bHRQcm9wc1xuRm9ybS5jaGlsZENvbnRleHRUeXBlcyA9IHsgZm9ybUFQSTogUHJvcFR5cGVzLm9iamVjdCB9XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1cblxuLy8gVXRpbHNcblxuZnVuY3Rpb24gY2xlYW5FcnJvcnMgKGVycikge1xuICBpZiAoXy5pc09iamVjdChlcnIpKSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBfLm1hcFZhbHVlcyhlcnIsIGNsZWFuRXJyb3JzKVxuICAgIGNvbnN0IGZvdW5kID0gXy5waWNrQnkocmVzb2x2ZWQsIGQgPT4gZClcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZm91bmQpLmxlbmd0aCA/IHJlc29sdmVkIDogdW5kZWZpbmVkXG4gIH1cbiAgaWYgKF8uaXNBcnJheShlcnIpKSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBlcnIubWFwKGNsZWFuRXJyb3JzKVxuICAgIGNvbnN0IGZvdW5kID0gcmVzb2x2ZWQuZmluZChkID0+IGQpXG4gICAgcmV0dXJuIGZvdW5kID8gcmVzb2x2ZWQgOiB1bmRlZmluZWRcbiAgfVxuICByZXR1cm4gZXJyXG59XG5cbi8vIHJlbW92ZU5lc3RlZEVycm9yVmFsdWVzIHJlY3Vyc2VzIHRoZSB2YWx1ZXMgb2JqZWN0IGFuZCB0dXJucyBhbnlcbi8vIGZpZWxkIHRoYXQgaGFzIGEgdHJ1dGh5IGNvcnJlc3BvbmRpbmcgbmVzdGVkIGZvcm0gZXJyb3IgZmllbGQgaW50byB1bmRlZmluZWQuXG4vLyBUaGlzIGFsbG93cyBwcm9wZXJseSB2YWxpZGF0aW5nIGEgbmVzdGVkIGZvcm0gYnkgZGV0ZWN0aW5nIHRoYXQgdW5kZWZpbmVkIHZhbHVlXG4vLyBpbiB0aGUgdmFsaWRhdGlvbiBmdW5jdGlvblxuZnVuY3Rpb24gcmVtb3ZlTmVzdGVkRXJyb3JWYWx1ZXMgKHZhbHVlcywgbmVzdGVkRXJyb3JzKSB7XG4gIGNvbnN0IHJlY3Vyc2UgPSAoY3VycmVudCwgcGF0aCA9IFtdKSA9PiB7XG4gICAgaWYgKF8uaXNPYmplY3QoY3VycmVudCkpIHtcbiAgICAgIHJldHVybiBfLm1hcFZhbHVlcyhjdXJyZW50LCAoZCwgaSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVjdXJzZShkLCBbLi4ucGF0aCwgaV0pXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoXy5pc0FycmF5KGN1cnJlbnQpKSB7XG4gICAgICByZXR1cm4gY3VycmVudC5tYXAoKGQsIGtleSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVjdXJzZShkLCBbLi4ucGF0aCwga2V5XSlcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmICghXy5pc09iamVjdChjdXJyZW50KSAmJiAhXy5pc0FycmF5KGN1cnJlbnQpICYmIGN1cnJlbnQpIHtcbiAgICAgIHJldHVybiBfLnNldCh2YWx1ZXMsIHBhdGgsIHVuZGVmaW5lZClcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRcbiAgfVxuICByZWN1cnNlKG5lc3RlZEVycm9ycylcbiAgcmV0dXJuIHZhbHVlc1xufVxuIl19

@@ -8,5 +8,5 @@ 'use strict';

var _react = require('react');
var _propTypes = require('prop-types');
var _react2 = _interopRequireDefault(_react);
var _propTypes2 = _interopRequireDefault(_propTypes);

@@ -43,4 +43,4 @@ var _utils = require('./utils');

FormField.contextTypes = {
formAPI: _react2.default.PropTypes.object
formAPI: _propTypes2.default.object
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtRmllbGQuanMiXSwibmFtZXMiOlsiRm9ybUZpZWxkIiwiY29udGV4dCIsImZpZWxkIiwiY2hpbGRyZW4iLCJiaW5kIiwiY2IiLCJhcmdzIiwiYXJnczIiLCJtYXBWYWx1ZXMiLCJmb3JtQVBJIiwiZCIsImNvbnRleHRUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBSXdCQSxTOztBQUp4Qjs7OztBQUVBOzs7Ozs7QUFFZSxTQUFTQSxTQUFULE9BQXVDQyxPQUF2QyxFQUFnRDtBQUFBLE1BQTNCQyxLQUEyQixRQUEzQkEsS0FBMkI7QUFBQSxNQUFwQkMsUUFBb0IsUUFBcEJBLFFBQW9COztBQUM3RCxNQUFNQyxPQUFPLFNBQVBBLElBQU8sQ0FBQ0MsRUFBRDtBQUFBLHNDQUFRQyxJQUFSO0FBQVFBLFVBQVI7QUFBQTs7QUFBQSxXQUFpQjtBQUFBLHlDQUFJQyxLQUFKO0FBQUlBLGFBQUo7QUFBQTs7QUFBQSxhQUFjRixvQkFBTUMsSUFBTixRQUFlQyxLQUFmLEVBQWQ7QUFBQSxLQUFqQjtBQUFBLEdBQWI7QUFDQSxTQUFPSixTQUFTRCxRQUFRLGdCQUFFTSxTQUFGLENBQVlQLFFBQVFRLE9BQXBCLEVBQTZCO0FBQUEsV0FBS0wsS0FBS00sQ0FBTCxFQUFRUixLQUFSLENBQUw7QUFBQSxHQUE3QixDQUFSLEdBQTRERCxRQUFRUSxPQUE3RSxDQUFQO0FBQ0Q7QUFORDs7QUFPQVQsVUFBVVcsWUFBVixHQUF5QjtBQUN2QkYsV0FBUyxnQkFBTUcsU0FBTixDQUFnQkM7QUFERixDQUF6QiIsImZpbGUiOiJmb3JtRmllbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG4vL1xuaW1wb3J0IF8gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9ybUZpZWxkICh7ZmllbGQsIGNoaWxkcmVufSwgY29udGV4dCkge1xuICBjb25zdCBiaW5kID0gKGNiLCAuLi5hcmdzKSA9PiAoLi4uYXJnczIpID0+IGNiKC4uLmFyZ3MsIC4uLmFyZ3MyKVxuICByZXR1cm4gY2hpbGRyZW4oZmllbGQgPyBfLm1hcFZhbHVlcyhjb250ZXh0LmZvcm1BUEksIGQgPT4gYmluZChkLCBmaWVsZCkpIDogY29udGV4dC5mb3JtQVBJKVxufVxuRm9ybUZpZWxkLmNvbnRleHRUeXBlcyA9IHtcbiAgZm9ybUFQSTogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtRmllbGQuanMiXSwibmFtZXMiOlsiRm9ybUZpZWxkIiwiY29udGV4dCIsImZpZWxkIiwiY2hpbGRyZW4iLCJiaW5kIiwiY2IiLCJhcmdzIiwiYXJnczIiLCJtYXBWYWx1ZXMiLCJmb3JtQVBJIiwiZCIsImNvbnRleHRUeXBlcyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBSXdCQSxTOztBQUp4Qjs7OztBQUVBOzs7Ozs7QUFFZSxTQUFTQSxTQUFULE9BQXVDQyxPQUF2QyxFQUFnRDtBQUFBLE1BQTNCQyxLQUEyQixRQUEzQkEsS0FBMkI7QUFBQSxNQUFwQkMsUUFBb0IsUUFBcEJBLFFBQW9COztBQUM3RCxNQUFNQyxPQUFPLFNBQVBBLElBQU8sQ0FBQ0MsRUFBRDtBQUFBLHNDQUFRQyxJQUFSO0FBQVFBLFVBQVI7QUFBQTs7QUFBQSxXQUFpQjtBQUFBLHlDQUFJQyxLQUFKO0FBQUlBLGFBQUo7QUFBQTs7QUFBQSxhQUFjRixvQkFBTUMsSUFBTixRQUFlQyxLQUFmLEVBQWQ7QUFBQSxLQUFqQjtBQUFBLEdBQWI7QUFDQSxTQUFPSixTQUFTRCxRQUFRLGdCQUFFTSxTQUFGLENBQVlQLFFBQVFRLE9BQXBCLEVBQTZCO0FBQUEsV0FBS0wsS0FBS00sQ0FBTCxFQUFRUixLQUFSLENBQUw7QUFBQSxHQUE3QixDQUFSLEdBQTRERCxRQUFRUSxPQUE3RSxDQUFQO0FBQ0Q7QUFORDs7QUFPQVQsVUFBVVcsWUFBVixHQUF5QjtBQUN2QkYsV0FBUyxvQkFBVUc7QUFESSxDQUF6QiIsImZpbGUiOiJmb3JtRmllbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG4vL1xuaW1wb3J0IF8gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9ybUZpZWxkICh7ZmllbGQsIGNoaWxkcmVufSwgY29udGV4dCkge1xuICBjb25zdCBiaW5kID0gKGNiLCAuLi5hcmdzKSA9PiAoLi4uYXJnczIpID0+IGNiKC4uLmFyZ3MsIC4uLmFyZ3MyKVxuICByZXR1cm4gY2hpbGRyZW4oZmllbGQgPyBfLm1hcFZhbHVlcyhjb250ZXh0LmZvcm1BUEksIGQgPT4gYmluZChkLCBmaWVsZCkpIDogY29udGV4dC5mb3JtQVBJKVxufVxuRm9ybUZpZWxkLmNvbnRleHRUeXBlcyA9IHtcbiAgZm9ybUFQSTogUHJvcFR5cGVzLm9iamVjdFxufVxuIl19

@@ -9,2 +9,4 @@ 'use strict';

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');

@@ -14,2 +16,6 @@

var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _util = require('./util');

@@ -20,2 +26,8 @@

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
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 && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { 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: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
//

@@ -26,35 +38,48 @@

exports.default = _react2.default.createClass({
displayName: 'radio',
var Radio = function (_React$Component) {
_inherits(Radio, _React$Component);
contextTypes: {
formRadioGroup: _react2.default.PropTypes.object
},
render: function render() {
var _props = this.props,
value = _props.value,
onClick = _props.onClick,
onChange = _props.onChange,
onBlur = _props.onBlur,
rest = _objectWithoutProperties(_props, ['value', 'onClick', 'onChange', 'onBlur']);
function Radio() {
_classCallCheck(this, Radio);
var _context$formRadioGro = this.context.formRadioGroup,
setValue = _context$formRadioGro.setValue,
getValue = _context$formRadioGro.getValue,
setTouched = _context$formRadioGro.setTouched,
noTouch = _context$formRadioGro.props.noTouch;
return _possibleConstructorReturn(this, (Radio.__proto__ || Object.getPrototypeOf(Radio)).apply(this, arguments));
}
return _react2.default.createElement('input', _extends({}, rest, {
type: 'radio',
checked: getValue(false) === value,
onChange: (0, _util.buildHandler)(onChange, noop),
onClick: (0, _util.buildHandler)(onClick, function (e) {
return setValue(value, noTouch);
}),
onBlur: (0, _util.buildHandler)(onBlur, function () {
return setTouched();
})
}));
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3JhZGlvLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJjcmVhdGVDbGFzcyIsImNvbnRleHRUeXBlcyIsImZvcm1SYWRpb0dyb3VwIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwicmVuZGVyIiwicHJvcHMiLCJ2YWx1ZSIsIm9uQ2xpY2siLCJvbkNoYW5nZSIsIm9uQmx1ciIsInJlc3QiLCJjb250ZXh0Iiwic2V0VmFsdWUiLCJnZXRWYWx1ZSIsInNldFRvdWNoZWQiLCJub1RvdWNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7O0FBRUE7Ozs7O0FBREE7OztBQUVBLElBQU1BLE9BQU8sU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O2tCQUVlLGdCQUFNQyxXQUFOLENBQWtCO0FBQUE7O0FBQy9CQyxnQkFBYztBQUNaQyxvQkFBZ0IsZ0JBQU1DLFNBQU4sQ0FBZ0JDO0FBRHBCLEdBRGlCO0FBSS9CQyxRQUorQixvQkFJckI7QUFBQSxpQkFDOEMsS0FBS0MsS0FEbkQ7QUFBQSxRQUNBQyxLQURBLFVBQ0FBLEtBREE7QUFBQSxRQUNPQyxPQURQLFVBQ09BLE9BRFA7QUFBQSxRQUNnQkMsUUFEaEIsVUFDZ0JBLFFBRGhCO0FBQUEsUUFDMEJDLE1BRDFCLFVBQzBCQSxNQUQxQjtBQUFBLFFBQ3FDQyxJQURyQzs7QUFBQSxnQ0FFcUQsS0FBS0MsT0FBTCxDQUFhVixjQUZsRTtBQUFBLFFBRURXLFFBRkMseUJBRURBLFFBRkM7QUFBQSxRQUVTQyxRQUZULHlCQUVTQSxRQUZUO0FBQUEsUUFFbUJDLFVBRm5CLHlCQUVtQkEsVUFGbkI7QUFBQSxRQUV3Q0MsT0FGeEMseUJBRStCVixLQUYvQixDQUV3Q1UsT0FGeEM7O0FBR1IsV0FDRSxvREFDTUwsSUFETjtBQUVFLFlBQUssT0FGUDtBQUdFLGVBQVNHLFNBQVMsS0FBVCxNQUFvQlAsS0FIL0I7QUFJRSxnQkFBVSx3QkFBYUUsUUFBYixFQUF1QlYsSUFBdkIsQ0FKWjtBQUtFLGVBQVMsd0JBQWFTLE9BQWIsRUFBc0I7QUFBQSxlQUFLSyxTQUFTTixLQUFULEVBQWdCUyxPQUFoQixDQUFMO0FBQUEsT0FBdEIsQ0FMWDtBQU1FLGNBQVEsd0JBQWFOLE1BQWIsRUFBcUI7QUFBQSxlQUFNSyxZQUFOO0FBQUEsT0FBckI7QUFOVixPQURGO0FBVUQ7QUFqQjhCLENBQWxCLEMiLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG4vL1xuaW1wb3J0IHsgYnVpbGRIYW5kbGVyIH0gZnJvbSAnLi91dGlsJ1xuY29uc3Qgbm9vcCA9ICgpID0+IHt9XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgY29udGV4dFR5cGVzOiB7XG4gICAgZm9ybVJhZGlvR3JvdXA6IFJlYWN0LlByb3BUeXBlcy5vYmplY3RcbiAgfSxcbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7IHZhbHVlLCBvbkNsaWNrLCBvbkNoYW5nZSwgb25CbHVyLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge3NldFZhbHVlLCBnZXRWYWx1ZSwgc2V0VG91Y2hlZCwgcHJvcHM6IHsgbm9Ub3VjaCB9fSA9IHRoaXMuY29udGV4dC5mb3JtUmFkaW9Hcm91cFxuICAgIHJldHVybiAoXG4gICAgICA8aW5wdXRcbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAgIHR5cGU9J3JhZGlvJ1xuICAgICAgICBjaGVja2VkPXtnZXRWYWx1ZShmYWxzZSkgPT09IHZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17YnVpbGRIYW5kbGVyKG9uQ2hhbmdlLCBub29wKX1cbiAgICAgICAgb25DbGljaz17YnVpbGRIYW5kbGVyKG9uQ2xpY2ssIGUgPT4gc2V0VmFsdWUodmFsdWUsIG5vVG91Y2gpKX1cbiAgICAgICAgb25CbHVyPXtidWlsZEhhbmRsZXIob25CbHVyLCAoKSA9PiBzZXRUb3VjaGVkKCkpfVxuICAgICAgLz5cbiAgICApXG4gIH1cbn0pXG4iXX0=
_createClass(Radio, [{
key: 'render',
value: function render() {
var _props = this.props,
value = _props.value,
onClick = _props.onClick,
onChange = _props.onChange,
onBlur = _props.onBlur,
rest = _objectWithoutProperties(_props, ['value', 'onClick', 'onChange', 'onBlur']);
var _context$formRadioGro = this.context.formRadioGroup,
setValue = _context$formRadioGro.setValue,
getValue = _context$formRadioGro.getValue,
setTouched = _context$formRadioGro.setTouched,
noTouch = _context$formRadioGro.props.noTouch;
return _react2.default.createElement('input', _extends({}, rest, {
type: 'radio',
checked: getValue(false) === value,
onChange: (0, _util.buildHandler)(onChange, noop),
onClick: (0, _util.buildHandler)(onClick, function (e) {
return setValue(value, noTouch);
}),
onBlur: (0, _util.buildHandler)(onBlur, function () {
return setTouched();
})
}));
}
}]);
return Radio;
}(_react2.default.Component);
Radio.contextTypes = {
formRadioGroup: _propTypes2.default.object
};
exports.default = Radio;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3JhZGlvLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJSYWRpbyIsInByb3BzIiwidmFsdWUiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJvbkJsdXIiLCJyZXN0IiwiY29udGV4dCIsImZvcm1SYWRpb0dyb3VwIiwic2V0VmFsdWUiLCJnZXRWYWx1ZSIsInNldFRvdWNoZWQiLCJub1RvdWNoIiwiQ29tcG9uZW50IiwiY29udGV4dFR5cGVzIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUVBOzs7Ozs7Ozs7OztBQURBOzs7QUFFQSxJQUFNQSxPQUFPLFNBQVBBLElBQU8sR0FBTSxDQUFFLENBQXJCOztJQUVxQkMsSzs7Ozs7Ozs7Ozs7NkJBSVQ7QUFBQSxtQkFDOEMsS0FBS0MsS0FEbkQ7QUFBQSxVQUNBQyxLQURBLFVBQ0FBLEtBREE7QUFBQSxVQUNPQyxPQURQLFVBQ09BLE9BRFA7QUFBQSxVQUNnQkMsUUFEaEIsVUFDZ0JBLFFBRGhCO0FBQUEsVUFDMEJDLE1BRDFCLFVBQzBCQSxNQUQxQjtBQUFBLFVBQ3FDQyxJQURyQzs7QUFBQSxrQ0FFcUQsS0FBS0MsT0FBTCxDQUFhQyxjQUZsRTtBQUFBLFVBRURDLFFBRkMseUJBRURBLFFBRkM7QUFBQSxVQUVTQyxRQUZULHlCQUVTQSxRQUZUO0FBQUEsVUFFbUJDLFVBRm5CLHlCQUVtQkEsVUFGbkI7QUFBQSxVQUV3Q0MsT0FGeEMseUJBRStCWCxLQUYvQixDQUV3Q1csT0FGeEM7O0FBR1IsYUFDRSxvREFDTU4sSUFETjtBQUVFLGNBQUssT0FGUDtBQUdFLGlCQUFTSSxTQUFTLEtBQVQsTUFBb0JSLEtBSC9CO0FBSUUsa0JBQVUsd0JBQWFFLFFBQWIsRUFBdUJMLElBQXZCLENBSlo7QUFLRSxpQkFBUyx3QkFBYUksT0FBYixFQUFzQjtBQUFBLGlCQUFLTSxTQUFTUCxLQUFULEVBQWdCVSxPQUFoQixDQUFMO0FBQUEsU0FBdEIsQ0FMWDtBQU1FLGdCQUFRLHdCQUFhUCxNQUFiLEVBQXFCO0FBQUEsaUJBQU1NLFlBQU47QUFBQSxTQUFyQjtBQU5WLFNBREY7QUFVRDs7OztFQWpCZ0MsZ0JBQU1FLFM7O0FBQXBCYixLLENBQ1pjLFksR0FBZTtBQUNwQk4sa0JBQWdCLG9CQUFVTztBQUROLEM7a0JBREhmLEsiLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG4vL1xuaW1wb3J0IHsgYnVpbGRIYW5kbGVyIH0gZnJvbSAnLi91dGlsJ1xuY29uc3Qgbm9vcCA9ICgpID0+IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhZGlvIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBmb3JtUmFkaW9Hcm91cDogUHJvcFR5cGVzLm9iamVjdFxuICB9XG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgb25DbGljaywgb25DaGFuZ2UsIG9uQmx1ciwgLi4ucmVzdCB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtzZXRWYWx1ZSwgZ2V0VmFsdWUsIHNldFRvdWNoZWQsIHByb3BzOiB7IG5vVG91Y2ggfX0gPSB0aGlzLmNvbnRleHQuZm9ybVJhZGlvR3JvdXBcbiAgICByZXR1cm4gKFxuICAgICAgPGlucHV0XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgICB0eXBlPSdyYWRpbydcbiAgICAgICAgY2hlY2tlZD17Z2V0VmFsdWUoZmFsc2UpID09PSB2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e2J1aWxkSGFuZGxlcihvbkNoYW5nZSwgbm9vcCl9XG4gICAgICAgIG9uQ2xpY2s9e2J1aWxkSGFuZGxlcihvbkNsaWNrLCBlID0+IHNldFZhbHVlKHZhbHVlLCBub1RvdWNoKSl9XG4gICAgICAgIG9uQmx1cj17YnVpbGRIYW5kbGVyKG9uQmx1ciwgKCkgPT4gc2V0VG91Y2hlZCgpKX1cbiAgICAgIC8+XG4gICAgKVxuICB9XG59XG4iXX0=

@@ -9,2 +9,4 @@ 'use strict';

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');

@@ -14,2 +16,6 @@

var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _formInput = require('../formInput');

@@ -22,42 +28,63 @@

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
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 && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { 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: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
//
exports.default = _react2.default.createClass({
displayName: 'radioGroup',
var RadioGroup = function (_React$Component) {
_inherits(RadioGroup, _React$Component);
childContextTypes: {
formRadioGroup: _react2.default.PropTypes.object
},
getChildContext: function getChildContext() {
return {
formRadioGroup: this
};
},
render: function render() {
var _this = this;
function RadioGroup() {
_classCallCheck(this, RadioGroup);
var _props = this.props,
field = _props.field,
showErrors = _props.showErrors,
_props$errorBefore = _props.errorBefore,
errorBefore = _props$errorBefore === undefined ? true : _props$errorBefore,
isForm = _props.isForm,
children = _props.children,
rest = _objectWithoutProperties(_props, ['field', 'showErrors', 'errorBefore', 'isForm', 'children']);
return _possibleConstructorReturn(this, (RadioGroup.__proto__ || Object.getPrototypeOf(RadioGroup)).apply(this, arguments));
}
return _react2.default.createElement(
_formInput2.default,
{ field: field, showErrors: showErrors, errorBefore: errorBefore, isForm: isForm },
function (api) {
_extends(_this, api);
return _react2.default.createElement(
'radiogroup',
rest,
children
);
}
);
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3JhZGlvR3JvdXAuanMiXSwibmFtZXMiOlsiY3JlYXRlQ2xhc3MiLCJjaGlsZENvbnRleHRUeXBlcyIsImZvcm1SYWRpb0dyb3VwIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiZ2V0Q2hpbGRDb250ZXh0IiwicmVuZGVyIiwicHJvcHMiLCJmaWVsZCIsInNob3dFcnJvcnMiLCJlcnJvckJlZm9yZSIsImlzRm9ybSIsImNoaWxkcmVuIiwicmVzdCIsImFwaSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7OztBQUVBOzs7Ozs7O0FBREE7OztrQkFHZSxnQkFBTUEsV0FBTixDQUFrQjtBQUFBOztBQUMvQkMscUJBQW1CO0FBQ2pCQyxvQkFBZ0IsZ0JBQU1DLFNBQU4sQ0FBZ0JDO0FBRGYsR0FEWTtBQUkvQkMsaUJBSitCLDZCQUlaO0FBQ2pCLFdBQU87QUFDTEgsc0JBQWdCO0FBRFgsS0FBUDtBQUdELEdBUjhCO0FBUy9CSSxRQVQrQixvQkFTckI7QUFBQTs7QUFBQSxpQkFDcUUsS0FBS0MsS0FEMUU7QUFBQSxRQUNBQyxLQURBLFVBQ0FBLEtBREE7QUFBQSxRQUNPQyxVQURQLFVBQ09BLFVBRFA7QUFBQSxvQ0FDbUJDLFdBRG5CO0FBQUEsUUFDbUJBLFdBRG5CLHNDQUNpQyxJQURqQztBQUFBLFFBQ3VDQyxNQUR2QyxVQUN1Q0EsTUFEdkM7QUFBQSxRQUMrQ0MsUUFEL0MsVUFDK0NBLFFBRC9DO0FBQUEsUUFDNERDLElBRDVEOztBQUVSLFdBQ0U7QUFBQTtBQUFBLFFBQVcsT0FBT0wsS0FBbEIsRUFBeUIsWUFBWUMsVUFBckMsRUFBaUQsYUFBYUMsV0FBOUQsRUFBMkUsUUFBUUMsTUFBbkY7QUFDRyxnQkFBQ0csR0FBRCxFQUFTO0FBQ1Isd0JBQW9CQSxHQUFwQjtBQUNBLGVBQ0U7QUFBQTtBQUFnQkQsY0FBaEI7QUFDR0Q7QUFESCxTQURGO0FBS0Q7QUFSSCxLQURGO0FBWUQ7QUF2QjhCLENBQWxCLEMiLCJmaWxlIjoicmFkaW9Hcm91cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbi8vXG5pbXBvcnQgRm9ybUlucHV0IGZyb20gJy4uL2Zvcm1JbnB1dCdcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICBjaGlsZENvbnRleHRUeXBlczoge1xuICAgIGZvcm1SYWRpb0dyb3VwOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH0sXG4gIGdldENoaWxkQ29udGV4dCAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1SYWRpb0dyb3VwOiB0aGlzXG4gICAgfVxuICB9LFxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHsgZmllbGQsIHNob3dFcnJvcnMsIGVycm9yQmVmb3JlID0gdHJ1ZSwgaXNGb3JtLCBjaGlsZHJlbiwgLi4ucmVzdCB9ID0gdGhpcy5wcm9wc1xuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUlucHV0IGZpZWxkPXtmaWVsZH0gc2hvd0Vycm9ycz17c2hvd0Vycm9yc30gZXJyb3JCZWZvcmU9e2Vycm9yQmVmb3JlfSBpc0Zvcm09e2lzRm9ybX0+XG4gICAgICAgIHsoYXBpKSA9PiB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBhcGkpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxyYWRpb2dyb3VwIHsuLi5yZXN0fT5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9yYWRpb2dyb3VwPlxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgIDwvRm9ybUlucHV0PlxuICAgIClcbiAgfVxufSlcbiJdfQ==
_createClass(RadioGroup, [{
key: 'getChildContext',
value: function getChildContext() {
return {
formRadioGroup: this
};
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var _props = this.props,
field = _props.field,
showErrors = _props.showErrors,
_props$errorBefore = _props.errorBefore,
errorBefore = _props$errorBefore === undefined ? true : _props$errorBefore,
isForm = _props.isForm,
children = _props.children,
rest = _objectWithoutProperties(_props, ['field', 'showErrors', 'errorBefore', 'isForm', 'children']);
return _react2.default.createElement(
_formInput2.default,
{ field: field, showErrors: showErrors, errorBefore: errorBefore, isForm: isForm },
function (api) {
_extends(_this2, api);
return _react2.default.createElement(
'radiogroup',
rest,
children
);
}
);
}
}]);
return RadioGroup;
}(_react2.default.Component);
RadioGroup.childContextTypes = {
formRadioGroup: _propTypes2.default.object
};
exports.default = RadioGroup;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3JhZGlvR3JvdXAuanMiXSwibmFtZXMiOlsiUmFkaW9Hcm91cCIsImZvcm1SYWRpb0dyb3VwIiwicHJvcHMiLCJmaWVsZCIsInNob3dFcnJvcnMiLCJlcnJvckJlZm9yZSIsImlzRm9ybSIsImNoaWxkcmVuIiwicmVzdCIsImFwaSIsIkNvbXBvbmVudCIsImNoaWxkQ29udGV4dFR5cGVzIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUVBOzs7Ozs7Ozs7Ozs7O0FBREE7OztJQUdxQkEsVTs7Ozs7Ozs7Ozs7c0NBSUE7QUFDakIsYUFBTztBQUNMQyx3QkFBZ0I7QUFEWCxPQUFQO0FBR0Q7Ozs2QkFDUztBQUFBOztBQUFBLG1CQUNxRSxLQUFLQyxLQUQxRTtBQUFBLFVBQ0FDLEtBREEsVUFDQUEsS0FEQTtBQUFBLFVBQ09DLFVBRFAsVUFDT0EsVUFEUDtBQUFBLHNDQUNtQkMsV0FEbkI7QUFBQSxVQUNtQkEsV0FEbkIsc0NBQ2lDLElBRGpDO0FBQUEsVUFDdUNDLE1BRHZDLFVBQ3VDQSxNQUR2QztBQUFBLFVBQytDQyxRQUQvQyxVQUMrQ0EsUUFEL0M7QUFBQSxVQUM0REMsSUFENUQ7O0FBRVIsYUFDRTtBQUFBO0FBQUEsVUFBVyxPQUFPTCxLQUFsQixFQUF5QixZQUFZQyxVQUFyQyxFQUFpRCxhQUFhQyxXQUE5RCxFQUEyRSxRQUFRQyxNQUFuRjtBQUNHLGtCQUFDRyxHQUFELEVBQVM7QUFDUiwyQkFBb0JBLEdBQXBCO0FBQ0EsaUJBQ0U7QUFBQTtBQUFnQkQsZ0JBQWhCO0FBQ0dEO0FBREgsV0FERjtBQUtEO0FBUkgsT0FERjtBQVlEOzs7O0VBdkJxQyxnQkFBTUcsUzs7QUFBekJWLFUsQ0FDWlcsaUIsR0FBb0I7QUFDekJWLGtCQUFnQixvQkFBVVc7QUFERCxDO2tCQURSWixVIiwiZmlsZSI6InJhZGlvR3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG4vL1xuaW1wb3J0IEZvcm1JbnB1dCBmcm9tICcuLi9mb3JtSW5wdXQnXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhZGlvR3JvdXAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgY2hpbGRDb250ZXh0VHlwZXMgPSB7XG4gICAgZm9ybVJhZGlvR3JvdXA6IFByb3BUeXBlcy5vYmplY3RcbiAgfVxuICBnZXRDaGlsZENvbnRleHQgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtUmFkaW9Hcm91cDogdGhpc1xuICAgIH1cbiAgfVxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHsgZmllbGQsIHNob3dFcnJvcnMsIGVycm9yQmVmb3JlID0gdHJ1ZSwgaXNGb3JtLCBjaGlsZHJlbiwgLi4ucmVzdCB9ID0gdGhpcy5wcm9wc1xuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUlucHV0IGZpZWxkPXtmaWVsZH0gc2hvd0Vycm9ycz17c2hvd0Vycm9yc30gZXJyb3JCZWZvcmU9e2Vycm9yQmVmb3JlfSBpc0Zvcm09e2lzRm9ybX0+XG4gICAgICAgIHsoYXBpKSA9PiB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBhcGkpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxyYWRpb2dyb3VwIHsuLi5yZXN0fT5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9yYWRpb2dyb3VwPlxuICAgICAgICAgIClcbiAgICAgICAgfX1cbiAgICAgIDwvRm9ybUlucHV0PlxuICAgIClcbiAgfVxufVxuIl19

@@ -13,2 +13,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3V0aWwuanMiXSwibmFtZXMiOlsiYnVpbGRIYW5kbGVyIiwib3ZlcnJpZGUiLCJmbiIsImUiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBTUEsc0NBQWUsU0FBZkEsWUFBZSxDQUFDQyxRQUFELEVBQVdDLEVBQVg7QUFBQSxTQUFrQjtBQUFBLFdBQzVDLENBQUNELFFBQUQsR0FDSUMsR0FBR0MsQ0FBSCxDQURKLEdBRUlGLFNBQVNFLENBQVQsRUFBWTtBQUFBLGFBQU1ELEdBQUdDLENBQUgsQ0FBTjtBQUFBLEtBQVosQ0FId0M7QUFBQSxHQUFsQjtBQUFBLENBQXJCIiwiZmlsZSI6InV0aWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYnVpbGRIYW5kbGVyID0gKG92ZXJyaWRlLCBmbikgPT4gZSA9PlxuICAhb3ZlcnJpZGVcbiAgICA/IGZuKGUpXG4gICAgOiBvdmVycmlkZShlLCAoKSA9PiBmbihlKSlcblxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtSW5wdXRzL3V0aWwuanMiXSwibmFtZXMiOlsiYnVpbGRIYW5kbGVyIiwib3ZlcnJpZGUiLCJmbiIsImUiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBTUEsc0NBQWUsU0FBZkEsWUFBZSxDQUFDQyxRQUFELEVBQVdDLEVBQVg7QUFBQSxTQUFrQjtBQUFBLFdBQzVDLENBQUNELFFBQUQsR0FDSUMsR0FBR0MsQ0FBSCxDQURKLEdBRUlGLFNBQVNFLENBQVQsRUFBWTtBQUFBLGFBQU1ELEdBQUdDLENBQUgsQ0FBTjtBQUFBLEtBQVosQ0FId0M7QUFBQSxHQUFsQjtBQUFBLENBQXJCIiwiZmlsZSI6InV0aWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYnVpbGRIYW5kbGVyID0gKG92ZXJyaWRlLCBmbikgPT4gZSA9PlxuICAhb3ZlcnJpZGVcbiAgICA/IGZuKGUpXG4gICAgOiBvdmVycmlkZShlLCAoKSA9PiBmbihlKSlcbiJdfQ==
{
"name": "react-form",
"version": "1.2.6",
"version": "1.2.7",
"description": "React Form is a lightweight framework and utility for building powerful forms in React applications.",

@@ -36,3 +36,4 @@ "license": "MIT",

"dependencies": {
"classnames": "^2.2.5"
"classnames": "^2.2.5",
"prop-types": "^15.5.8"
},

@@ -39,0 +40,0 @@ "peerDependencies": {

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.reactForm = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _objectWithoutProperties(t,e){var s={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(s[r]=t[r]);return s}function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,s=Array(t.length);e<t.length;e++)s[e]=t[e];return s}return Array.from(t)}function cleanErrors(t){if(_utils2.default.isObject(t)){var e=_utils2.default.mapValues(t,cleanErrors),s=_utils2.default.pickBy(e,function(t){return t});return Object.keys(s).length?e:void 0}if(_utils2.default.isArray(t)){var r=t.map(cleanErrors),a=r.find(function(t){return t});return a?r:void 0}return t}function removeNestedErrorValues(t,e){var s=function e(s){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return _utils2.default.isObject(s)?_utils2.default.mapValues(s,function(t,s){return e(t,[].concat(_toConsumableArray(r),[s]))}):_utils2.default.isArray(s)?s.map(function(t,s){return e(t,[].concat(_toConsumableArray(r),[s]))}):_utils2.default.isObject(s)||_utils2.default.isArray(s)||!s?s:_utils2.default.set(t,r,void 0)};return s(e),t}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDefaultProps=void 0;var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(t[r]=s[r])}return t},_react=require("react"),_react2=_interopRequireDefault(_react),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils),noop=function(){},reop=function(t){return t},FormDefaultProps=exports.FormDefaultProps={loadState:noop,defaultValues:{},preValidate:reop,validate:function(){return null},onValidationFail:noop,onChange:noop,saveState:noop,willUnmount:noop,preSubmit:reop,onSubmit:noop,postSubmit:noop,component:"div"};exports.default=_react2.default.createClass({displayName:"Form",childContextTypes:{formAPI:_react2.default.PropTypes.object},getChildContext:function(){return{formAPI:this.getAPI()}},getDefaultProps:function(){return FormDefaultProps},getInitialState:function(){var t=this.props,e=t.defaultValues,s=t.values,r=t.loadState,a=_extends({},e,s);return r(this.props,this)||{values:a,touched:{},errors:this.validate(a),nestedErrors:{}}},componentWillMount:function(){this.emitChange(this.state,!0)},componentWillReceiveProps:function(t){t.values!==this.props.values&&this.setFormState({values:t.values||{}},!0)},componentWillUnmount:function(){this.props.willUnmount(this.state,this.props,this)},setAllValues:function(t,e){return e?this.setFormState({values:t}):void this.setFormState({values:t,touched:{}})},setValue:function(t,e,s){var r=this.state,a=_utils2.default.set(r.values,t,e);if(s)return this.setFormState({values:a});var o=_utils2.default.set(r.touched,t);this.setFormState({values:a,touched:o})},getValue:function(t,e){var s=this.state,r=_utils2.default.get(s.values,t);return"undefined"!=typeof r?r:e},setNestedError:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=_utils2.default.set(this.state.nestedErrors,t,e);this.setFormState({nestedErrors:s})},getError:function(t){return _utils2.default.get(this.state.errors,t)},setTouched:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=_utils2.default.set(this.state.touched,t,e);this.setFormState({touched:s})},getTouched:function(t){var e=this.state;return this.state.dirty===!0||this.props.touched===!0||_utils2.default.get(e.touched,t)},addValue:function(t,e){var s=this.state,r=_utils2.default.set(s.values,t,[].concat(_toConsumableArray(_utils2.default.get(s.values,t,[])),[e]));this.setFormState({values:r})},removeValue:function(t,e){var s=this.state,r=_utils2.default.get(s.values,t,[]),a=_utils2.default.set(s.values,t,[].concat(_toConsumableArray(r.slice(0,e)),_toConsumableArray(r.slice(e+1))));this.setFormState({values:a})},swapValues:function(t,e,s){var r=this.state,a=Math.min(e,s),o=Math.max(e,s),i=_utils2.default.get(r.values,t,[]),u=_utils2.default.set(r.values,t,[].concat(_toConsumableArray(i.slice(0,a)),[i[o]],_toConsumableArray(i.slice(a+1,o)),[i[a]],_toConsumableArray(i.slice(o+1))));this.setFormState({values:u})},setAllTouched:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments[1];this.setFormState(_extends({},e,{dirty:!!t}))},resetForm:function(){return this.setFormState(this.getInitialState())},submitForm:function(t){t&&t.preventDefault&&t.preventDefault(t);var e=this.state,s=this.validate(e.values,e,this.props);if(s)return e.dirty||this.setAllTouched(!0,{errors:s}),this.props.onValidationFail(e.values,e,this.props,this);var r=this.props.preSubmit(e.values,e,this.props,this);this.props.onSubmit(r,e,this.props,this),this.props.postSubmit(r,e,this.props,this)},getAPI:function(){return{setAllValues:this.setAllValues,setValue:this.setValue,getValue:this.getValue,setNestedError:this.setNestedError,getError:this.getError,setTouched:this.setTouched,getTouched:this.getTouched,addValue:this.addValue,removeValue:this.removeValue,swapValues:this.swapValues,setAllTouched:this.setAllTouched,resetForm:this.resetForm,submitForm:this.submitForm}},setFormState:function(t,e){var s=this;t&&t.values&&!t.errors&&(t.values=this.props.preValidate(t.values,t,this.props,this),t.errors=this.validate(t.values,t,this.props)),this.setState(t,function(){s.props.saveState(s.state,s.props,s),e||s.emitChange(s.state,s.props)})},emitChange:function(t,e){this.props.onChange(t,this.props,e,this)},validate:function(t,e,s){var r=this.props.validate(removeNestedErrorValues(t,this.state?this.state.nestedErrors:{}),e,s,this);return cleanErrors(r)},render:function(){var t=_extends({},this.props,this.state,this.getAPI()),e=t.component,s=t.children,r=_objectWithoutProperties(t,["component","children"]),a="function"==typeof s?s(r):s,o=e;return o?_react2.default.createElement(o,{className:"ReactForm"},a):a}});
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var r={};for(var s in e)t.indexOf(s)>=0||Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s]);return r}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==("undefined"==typeof t?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof t?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function cleanErrors(e){if(_utils2.default.isObject(e)){var t=_utils2.default.mapValues(e,cleanErrors),r=_utils2.default.pickBy(t,function(e){return e});return Object.keys(r).length?t:void 0}if(_utils2.default.isArray(e)){var s=e.map(cleanErrors),o=s.find(function(e){return e});return o?s:void 0}return e}function removeNestedErrorValues(e,t){var r=function t(r){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return _utils2.default.isObject(r)?_utils2.default.mapValues(r,function(e,r){return t(e,[].concat(_toConsumableArray(s),[r]))}):_utils2.default.isArray(r)?r.map(function(e,r){return t(e,[].concat(_toConsumableArray(s),[r]))}):_utils2.default.isObject(r)||_utils2.default.isArray(r)||!r?r:_utils2.default.set(e,s,void 0)};return r(t),e}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDefaultProps=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},_createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,r,s){return r&&e(t.prototype,r),s&&e(t,s),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils),noop=function(){},reop=function(e){return e},FormDefaultProps=exports.FormDefaultProps={loadState:noop,defaultValues:{},preValidate:reop,validate:function(){return null},onValidationFail:noop,onChange:noop,saveState:noop,willUnmount:noop,preSubmit:reop,onSubmit:noop,postSubmit:noop,component:"div"},Form=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),s=r.props,o=s.defaultValues,a=s.values,u=s.loadState,i=_extends({},o,a);return r.state=u(r.props,r)||{values:i,touched:{},errors:r.validate(i),nestedErrors:{}},r.setAllValues=r.setAllValues.bind(r),r.setValue=r.setValue.bind(r),r.getValue=r.getValue.bind(r),r.setNestedError=r.setNestedError.bind(r),r.getError=r.getError.bind(r),r.setTouched=r.setTouched.bind(r),r.getTouched=r.getTouched.bind(r),r.addValue=r.addValue.bind(r),r.removeValue=r.removeValue.bind(r),r.swapValues=r.swapValues.bind(r),r.setAllTouched=r.setAllTouched.bind(r),r.resetForm=r.resetForm.bind(r),r.submitForm=r.submitForm.bind(r),r}return _inherits(t,e),_createClass(t,[{key:"getChildContext",value:function(){return{formAPI:this.getAPI()}}},{key:"componentWillMount",value:function(){this.emitChange(this.state,!0)}},{key:"componentWillReceiveProps",value:function(e){e.values!==this.props.values&&this.setFormState({values:e.values||{}},!0)}},{key:"componentWillUmount",value:function(){this.props.willUnmount(this.state,this.props,this)}},{key:"setAllValues",value:function(e,t){return t?this.setFormState({values:e}):void this.setFormState({values:e,touched:{}})}},{key:"setValue",value:function(e,t,r){var s=this.state,o=_utils2.default.set(s.values,e,t);if(r)return this.setFormState({values:o});var a=_utils2.default.set(s.touched,e);this.setFormState({values:o,touched:a})}},{key:"getValue",value:function(e,t){var r=this.state,s=_utils2.default.get(r.values,e);return"undefined"!=typeof s?s:t}},{key:"setNestedError",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=_utils2.default.set(this.state.nestedErrors,e,t);this.setFormState({nestedErrors:r})}},{key:"getError",value:function(e){return _utils2.default.get(this.state.errors,e)}},{key:"setTouched",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=_utils2.default.set(this.state.touched,e,t);this.setFormState({touched:r})}},{key:"getTouched",value:function(e){var t=this.state;return this.state.dirty===!0||this.props.touched===!0||_utils2.default.get(t.touched,e)}},{key:"addValue",value:function(e,t){var r=this.state,s=_utils2.default.set(r.values,e,[].concat(_toConsumableArray(_utils2.default.get(r.values,e,[])),[t]));this.setFormState({values:s})}},{key:"removeValue",value:function(e,t){var r=this.state,s=_utils2.default.get(r.values,e,[]),o=_utils2.default.set(r.values,e,[].concat(_toConsumableArray(s.slice(0,t)),_toConsumableArray(s.slice(t+1))));this.setFormState({values:o})}},{key:"swapValues",value:function(e,t,r){var s=this.state,o=Math.min(t,r),a=Math.max(t,r),u=_utils2.default.get(s.values,e,[]),i=_utils2.default.set(s.values,e,[].concat(_toConsumableArray(u.slice(0,o)),[u[a]],_toConsumableArray(u.slice(o+1,a)),[u[o]],_toConsumableArray(u.slice(a+1))));this.setFormState({values:i})}},{key:"setAllTouched",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments[1];this.setFormState(_extends({},t,{dirty:!!e}))}},{key:"resetForm",value:function(){return this.setFormState(this.getInitialState())}},{key:"submitForm",value:function(e){e&&e.preventDefault&&e.preventDefault(e);var t=this.state,r=this.validate(t.values,t,this.props);if(r)return t.dirty||this.setAllTouched(!0,{errors:r}),this.props.onValidationFail(t.values,t,this.props,this);var s=this.props.preSubmit(t.values,t,this.props,this);this.props.onSubmit(s,t,this.props,this),this.props.postSubmit(s,t,this.props,this)}},{key:"getAPI",value:function(){return{setAllValues:this.setAllValues,setValue:this.setValue,getValue:this.getValue,setNestedError:this.setNestedError,getError:this.getError,setTouched:this.setTouched,getTouched:this.getTouched,addValue:this.addValue,removeValue:this.removeValue,swapValues:this.swapValues,setAllTouched:this.setAllTouched,resetForm:this.resetForm,submitForm:this.submitForm}}},{key:"setFormState",value:function(e,t){var r=this;e&&e.values&&!e.errors&&(e.values=this.props.preValidate(e.values,e,this.props,this),e.errors=this.validate(e.values,e,this.props)),this.setState(e,function(){r.props.saveState(r.state,r.props,r),t||r.emitChange(r.state,r.props)})}},{key:"emitChange",value:function(e,t){this.props.onChange(e,this.props,t,this)}},{key:"validate",value:function(e,t,r){var s=this.props.validate(removeNestedErrorValues(e,this.state?this.state.nestedErrors:{}),t,r,this);return cleanErrors(s)}},{key:"render",value:function(){var e=_extends({},this.props,this.state,this.getAPI()),t=e.component,r=e.children,s=_objectWithoutProperties(e,["component","children"]),o="function"==typeof r?r(s):r,a=t;return a?_react2.default.createElement(a,{className:"ReactForm"},o):o}}]),t}(_react2.default.Component);Form.displayName="Form",Form.defaultProps=FormDefaultProps,Form.childContextTypes={formAPI:_propTypes2.default.object},exports.default=Form;
},{"./utils":14,"react":"react"}],2:[function(require,module,exports){
},{"./utils":14,"prop-types":23,"react":"react"}],2:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FormError(e){var r=e.field,t=e.className,a=e.style;return _react2.default.createElement(_formField2.default,{field:r},function(e){var r=e.getTouched,l=e.getError,o=r(),s=l(),n={display:o&&s?"block":"none"},u=(0,_classnames2.default)("FormError",t);return _react2.default.createElement("div",{className:u,style:_extends({},n,a)},o&&"string"==typeof s?s:"")})}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e};exports.default=FormError;var _react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_formField=require("./formField"),_formField2=_interopRequireDefault(_formField);
},{"./formField":3,"classnames":15,"react":"react"}],3:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FormField(e,r){var t=e.field,u=e.children,i=function(e){for(var r=arguments.length,t=Array(r>1?r-1:0),u=1;u<r;u++)t[u-1]=arguments[u];return function(){for(var r=arguments.length,u=Array(r),i=0;i<r;i++)u[i]=arguments[i];return e.apply(void 0,t.concat(u))}};return u(t?_utils2.default.mapValues(r.formAPI,function(e){return i(e,t)}):r.formAPI)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FormField;var _react=require("react"),_react2=_interopRequireDefault(_react),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils);FormField.contextTypes={formAPI:_react2.default.PropTypes.object};
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FormField(e,r){var t=e.field,u=e.children,o=function(e){for(var r=arguments.length,t=Array(r>1?r-1:0),u=1;u<r;u++)t[u-1]=arguments[u];return function(){for(var r=arguments.length,u=Array(r),o=0;o<r;o++)u[o]=arguments[o];return e.apply(void 0,t.concat(u))}};return u(t?_utils2.default.mapValues(r.formAPI,function(e){return o(e,t)}):r.formAPI)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FormField;var _propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils);FormField.contextTypes={formAPI:_propTypes2.default.object};
},{"./utils":14,"react":"react"}],4:[function(require,module,exports){
},{"./utils":14,"prop-types":23}],4:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,r){var t={};for(var o in e)r.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}function FormInput(e){var r=e.field,t=e.showErrors,o=void 0===t||t,a=e.errorBefore,u=e.isForm,l=e.className,n=e.children;return _react2.default.createElement(_formField2.default,{field:r},function(e){var t=_objectWithoutProperties(e,[]),i=o&&(!u||t.getTouched()===!0),f=(0,_classnames2.default)("FormInput",{"-hasError":!a&&i&&t.getTouched()&&t.getError()},l);return _react2.default.createElement("div",{className:f},a&&i&&_react2.default.createElement(_formError2.default,{field:r}),n(_extends({},t)),!a&&i&&_react2.default.createElement(_formError2.default,{field:r}))})}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};exports.default=FormInput;var _react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_formField=require("./formField"),_formField2=_interopRequireDefault(_formField),_formError=require("./formError"),_formError2=_interopRequireDefault(_formError);

@@ -20,8 +20,8 @@

},{"../formInput":4,"react":"react"}],7:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var r={};for(var o in e)t.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_react=require("react"),_react2=_interopRequireDefault(_react),_util=require("./util"),noop=function(){};exports.default=_react2.default.createClass({displayName:"radio",contextTypes:{formRadioGroup:_react2.default.PropTypes.object},render:function(){var e=this.props,t=e.value,r=e.onClick,o=e.onChange,n=e.onBlur,u=_objectWithoutProperties(e,["value","onClick","onChange","onBlur"]),a=this.context.formRadioGroup,i=a.setValue,l=a.getValue,c=a.setTouched,p=a.props.noTouch;return _react2.default.createElement("input",_extends({},u,{type:"radio",checked:l(!1)===t,onChange:(0,_util.buildHandler)(o,noop),onClick:(0,_util.buildHandler)(r,function(e){return i(t,p)}),onBlur:(0,_util.buildHandler)(n,function(){return c()})}))}});
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var o={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(o[r]=e[r]);return o}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==("undefined"==typeof t?"undefined":_typeof(t))&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof t?"undefined":_typeof(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},_createClass=function(){function e(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,o,r){return o&&e(t.prototype,o),r&&e(t,r),t}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_util=require("./util"),noop=function(){},Radio=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"render",value:function(){var e=this.props,t=e.value,o=e.onClick,r=e.onChange,n=e.onBlur,u=_objectWithoutProperties(e,["value","onClick","onChange","onBlur"]),i=this.context.formRadioGroup,a=i.setValue,l=i.getValue,p=i.setTouched,c=i.props.noTouch;return _react2.default.createElement("input",_extends({},u,{type:"radio",checked:l(!1)===t,onChange:(0,_util.buildHandler)(r,noop),onClick:(0,_util.buildHandler)(o,function(e){return a(t,c)}),onBlur:(0,_util.buildHandler)(n,function(){return p()})}))}}]),t}(_react2.default.Component);Radio.contextTypes={formRadioGroup:_propTypes2.default.object},exports.default=Radio;
},{"./util":12,"react":"react"}],8:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,r){var t={};for(var o in e)r.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_react=require("react"),_react2=_interopRequireDefault(_react),_formInput=require("../formInput"),_formInput2=_interopRequireDefault(_formInput);exports.default=_react2.default.createClass({displayName:"radioGroup",childContextTypes:{formRadioGroup:_react2.default.PropTypes.object},getChildContext:function(){return{formRadioGroup:this}},render:function(){var e=this,r=this.props,t=r.field,o=r.showErrors,i=r.errorBefore,n=void 0===i||i,u=r.isForm,a=r.children,f=_objectWithoutProperties(r,["field","showErrors","errorBefore","isForm","children"]);return _react2.default.createElement(_formInput2.default,{field:t,showErrors:o,errorBefore:n,isForm:u},function(r){return _extends(e,r),_react2.default.createElement("radiogroup",f,a)})}});
},{"./util":12,"prop-types":23,"react":"react"}],8:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,r){var t={};for(var o in e)r.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,r){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!r||"object"!==("undefined"==typeof r?"undefined":_typeof(r))&&"function"!=typeof r?e:r}function _inherits(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof r?"undefined":_typeof(r)));e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),r&&(Object.setPrototypeOf?Object.setPrototypeOf(e,r):e.__proto__=r)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(r,t,o){return t&&e(r.prototype,t),o&&e(r,o),r}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_formInput=require("../formInput"),_formInput2=_interopRequireDefault(_formInput),RadioGroup=function(e){function r(){return _classCallCheck(this,r),_possibleConstructorReturn(this,(r.__proto__||Object.getPrototypeOf(r)).apply(this,arguments))}return _inherits(r,e),_createClass(r,[{key:"getChildContext",value:function(){return{formRadioGroup:this}}},{key:"render",value:function(){var e=this,r=this.props,t=r.field,o=r.showErrors,n=r.errorBefore,i=void 0===n||n,u=r.isForm,p=r.children,f=_objectWithoutProperties(r,["field","showErrors","errorBefore","isForm","children"]);return _react2.default.createElement(_formInput2.default,{field:t,showErrors:o,errorBefore:i,isForm:u},function(r){return _extends(e,r),_react2.default.createElement("radiogroup",f,p)})}}]),r}(_react2.default.Component);RadioGroup.childContextTypes={formRadioGroup:_propTypes2.default.object},exports.default=RadioGroup;
},{"../formInput":4,"react":"react"}],9:[function(require,module,exports){
},{"../formInput":4,"prop-types":23,"react":"react"}],9:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}function _objectWithoutProperties(e,r){var t={};for(var n in e)r.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function FormInputSelect(e){var r=e.options,t=e.field,n=e.showErrors,o=e.errorBefore,u=e.onChange,a=e.onBlur,l=e.isForm,i=e.noTouch,f=_objectWithoutProperties(e,["options","field","showErrors","errorBefore","onChange","onBlur","isForm","noTouch"]);return _react2.default.createElement(_formInput2.default,{field:t,showErrors:n,errorBefore:o,isForm:l},function(e){var t=e.setValue,n=e.getValue,o=e.setTouched,l=r.find(function(e){return""===e.value})?r:[{label:"Select One...",value:"",disabled:!0}].concat(_toConsumableArray(r)),c=l.findIndex(function(e){return e.value===n()}),s=l.findIndex(function(e){return""===e.value});return _react2.default.createElement("select",_extends({},f,{onChange:(0,_util.buildHandler)(u,function(e){var r=l[e.target.value].value;t(r,i)}),onBlur:(0,_util.buildHandler)(a,function(){return o()}),value:c>-1?c:s}),l.map(function(e,r){return _react2.default.createElement("option",{key:r,value:r,disabled:e.disabled},e.label)}))})}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e};exports.default=FormInputSelect;var _react=require("react"),_react2=_interopRequireDefault(_react),_util=require("./util"),_formInput=require("../formInput"),_formInput2=_interopRequireDefault(_formInput);

@@ -46,3 +46,37 @@

!function(){"use strict";function e(){for(var r=[],o=0;o<arguments.length;o++){var f=arguments[o];if(f){var i=typeof f;if("string"===i||"number"===i)r.push(f);else if(Array.isArray(f))r.push(e.apply(null,f));else if("object"===i)for(var t in f)n.call(f,t)&&f[t]&&r.push(t)}}return r.join(" ")}var n={}.hasOwnProperty;"undefined"!=typeof module&&module.exports?module.exports=e:"function"==typeof define&&"object"==typeof define.amd&&define.amd?define("classnames",[],function(){return e}):window.classNames=e}();
},{}],16:[function(require,module,exports){
"use strict";function makeEmptyFunction(t){return function(){return t}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(t){return t},module.exports=emptyFunction;
},{}],17:[function(require,module,exports){
(function (process){
"use strict";function invariant(r,e,n,i,a,o,t,s){if(validateFormat(e),!r){var v;if(void 0===e)v=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[n,i,a,o,t,s],u=0;v=new Error(e.replace(/%s/g,function(){return d[u++]})),v.name="Invariant Violation"}throw v.framesToPop=1,v}}var validateFormat=function(r){};"production"!==process.env.NODE_ENV&&(validateFormat=function(r){if(void 0===r)throw new Error("invariant requires an error message argument")}),module.exports=invariant;
}).call(this,require('_process'))
},{"_process":19}],18:[function(require,module,exports){
(function (process){
"use strict";var emptyFunction=require("./emptyFunction"),warning=emptyFunction;"production"!==process.env.NODE_ENV&&!function(){var r=function(r){for(var n=arguments.length,o=Array(n>1?n-1:0),e=1;e<n;e++)o[e-1]=arguments[e];var i=0,t="Warning: "+r.replace(/%s/g,function(){return o[i++]});"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(r){}};warning=function(n,o){if(void 0===o)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==o.indexOf("Failed Composite propType: ")&&!n){for(var e=arguments.length,i=Array(e>2?e-2:0),t=2;t<e;t++)i[t-2]=arguments[t];r.apply(void 0,[o].concat(i))}}}(),module.exports=warning;
}).call(this,require('_process'))
},{"./emptyFunction":16,"_process":19}],19:[function(require,module,exports){
function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}var process=module.exports={},cachedSetTimeout,cachedClearTimeout;!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var queue=[],draining=!1,currentQueue,queueIndex=-1;process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var u=1;u<arguments.length;u++)t[u-1]=arguments[u];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
},{}],20:[function(require,module,exports){
(function (process){
"use strict";function checkPropTypes(e,r,a,n,s){if("production"!==process.env.NODE_ENV)for(var t in e)if(e.hasOwnProperty(t)){var i;try{invariant("function"==typeof e[t],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",n||"React class",a,t),i=e[t](r,t,n,a,null,ReactPropTypesSecret)}catch(e){i=e}if(warning(!i||i instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",a,t,typeof i),i instanceof Error&&!(i.message in loggedTypeFailures)){loggedTypeFailures[i.message]=!0;var o=s?s():"";warning(!1,"Failed %s type: %s%s",a,i.message,null!=o?o:"")}}}if("production"!==process.env.NODE_ENV)var invariant=require("fbjs/lib/invariant"),warning=require("fbjs/lib/warning"),ReactPropTypesSecret=require("./lib/ReactPropTypesSecret"),loggedTypeFailures={};module.exports=checkPropTypes;
}).call(this,require('_process'))
},{"./lib/ReactPropTypesSecret":24,"_process":19,"fbjs/lib/invariant":17,"fbjs/lib/warning":18}],21:[function(require,module,exports){
"use strict";var emptyFunction=require("fbjs/lib/emptyFunction"),invariant=require("fbjs/lib/invariant");module.exports=function(){function e(){invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return r.checkPropTypes=emptyFunction,r.PropTypes=r,r};
},{"fbjs/lib/emptyFunction":16,"fbjs/lib/invariant":17}],22:[function(require,module,exports){
(function (process){
"use strict";var emptyFunction=require("fbjs/lib/emptyFunction"),invariant=require("fbjs/lib/invariant"),warning=require("fbjs/lib/warning"),ReactPropTypesSecret=require("./lib/ReactPropTypesSecret"),checkPropTypes=require("./checkPropTypes");module.exports=function(e,n){function r(e){var n=e&&(w&&e[w]||e[P]);if("function"==typeof n)return n}function t(e,n){return e===n?0!==e||1/e===1/n:e!==e&&n!==n}function o(e){this.message=e,this.stack=""}function i(e){function r(r,a,u,c,p,f,s){if(c=c||R,f=f||u,s!==ReactPropTypesSecret)if(n)invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var l=c+":"+u;!t[l]&&i<3&&(warning(!1,"You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.",f,c),t[l]=!0,i++)}return null==a[u]?r?new o(null===a[u]?"The "+p+" `"+f+"` is marked as required "+("in `"+c+"`, but its value is `null`."):"The "+p+" `"+f+"` is marked as required in "+("`"+c+"`, but its value is `undefined`.")):null:e(a,u,c,p,f)}if("production"!==process.env.NODE_ENV)var t={},i=0;var a=r.bind(null,!1);return a.isRequired=r.bind(null,!0),a}function a(e){function n(n,r,t,i,a,u){var c=n[r],p=h(c);if(p!==e){var f=g(c);return new o("Invalid "+i+" `"+a+"` of type "+("`"+f+"` supplied to `"+t+"`, expected ")+("`"+e+"`."))}return null}return i(n)}function u(){return i(emptyFunction.thatReturnsNull)}function c(e){function n(n,r,t,i,a){if("function"!=typeof e)return new o("Property `"+a+"` of component `"+t+"` has invalid PropType notation inside arrayOf.");var u=n[r];if(!Array.isArray(u)){var c=h(u);return new o("Invalid "+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+t+"`, expected an array."))}for(var p=0;p<u.length;p++){var f=e(u,p,t,i,a+"["+p+"]",ReactPropTypesSecret);if(f instanceof Error)return f}return null}return i(n)}function p(){function n(n,r,t,i,a){var u=n[r];if(!e(u)){var c=h(u);return new o("Invalid "+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+t+"`, expected a single ReactElement."))}return null}return i(n)}function f(e){function n(n,r,t,i,a){if(!(n[r]instanceof e)){var u=e.name||R,c=T(n[r]);return new o("Invalid "+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+t+"`, expected ")+("instance of `"+u+"`."))}return null}return i(n)}function s(e){function n(n,r,i,a,u){for(var c=n[r],p=0;p<e.length;p++)if(t(c,e[p]))return null;var f=JSON.stringify(e);return new o("Invalid "+a+" `"+u+"` of value `"+c+"` "+("supplied to `"+i+"`, expected one of "+f+"."))}return Array.isArray(e)?i(n):("production"!==process.env.NODE_ENV?warning(!1,"Invalid argument supplied to oneOf, expected an instance of array."):void 0,emptyFunction.thatReturnsNull)}function l(e){function n(n,r,t,i,a){if("function"!=typeof e)return new o("Property `"+a+"` of component `"+t+"` has invalid PropType notation inside objectOf.");var u=n[r],c=h(u);if("object"!==c)return new o("Invalid "+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+t+"`, expected an object."));for(var p in u)if(u.hasOwnProperty(p)){var f=e(u,p,t,i,a+"."+p,ReactPropTypesSecret);if(f instanceof Error)return f}return null}return i(n)}function y(e){function n(n,r,t,i,a){for(var u=0;u<e.length;u++){var c=e[u];if(null==c(n,r,t,i,a,ReactPropTypesSecret))return null}return new o("Invalid "+i+" `"+a+"` supplied to "+("`"+t+"`."))}return Array.isArray(e)?i(n):("production"!==process.env.NODE_ENV?warning(!1,"Invalid argument supplied to oneOfType, expected an instance of array."):void 0,emptyFunction.thatReturnsNull)}function d(){function e(e,n,r,t,i){return b(e[n])?null:new o("Invalid "+t+" `"+i+"` supplied to "+("`"+r+"`, expected a ReactNode."))}return i(e)}function v(e){function n(n,r,t,i,a){var u=n[r],c=h(u);if("object"!==c)return new o("Invalid "+i+" `"+a+"` of type `"+c+"` "+("supplied to `"+t+"`, expected `object`."));for(var p in e){var f=e[p];if(f){var s=f(u,p,t,i,a+"."+p,ReactPropTypesSecret);if(s)return s}}return null}return i(n)}function b(n){switch(typeof n){case"number":case"string":case"undefined":return!0;case"boolean":return!n;case"object":if(Array.isArray(n))return n.every(b);if(null===n||e(n))return!0;var t=r(n);if(!t)return!1;var o,i=t.call(n);if(t!==n.entries){for(;!(o=i.next()).done;)if(!b(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!b(a[1]))return!1}return!0;default:return!1}}function m(e,n){return"symbol"===e||("Symbol"===n["@@toStringTag"]||"function"==typeof Symbol&&n instanceof Symbol)}function h(e){var n=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":m(n,e)?"symbol":n}function g(e){var n=h(e);if("object"===n){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return n}function T(e){return e.constructor&&e.constructor.name?e.constructor.name:R}var w="function"==typeof Symbol&&Symbol.iterator,P="@@iterator",R="<<anonymous>>",x={array:a("array"),bool:a("boolean"),func:a("function"),number:a("number"),object:a("object"),string:a("string"),symbol:a("symbol"),any:u(),arrayOf:c,element:p(),instanceOf:f,node:d(),objectOf:l,oneOf:s,oneOfType:y,shape:v};return o.prototype=Error.prototype,x.checkPropTypes=checkPropTypes,x.PropTypes=x,x};
}).call(this,require('_process'))
},{"./checkPropTypes":20,"./lib/ReactPropTypesSecret":24,"_process":19,"fbjs/lib/emptyFunction":16,"fbjs/lib/invariant":17,"fbjs/lib/warning":18}],23:[function(require,module,exports){
(function (process){
if("production"!==process.env.NODE_ENV){var REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===REACT_ELEMENT_TYPE},throwOnDirectAccess=!0;module.exports=require("./factoryWithTypeCheckers")(isValidElement,throwOnDirectAccess)}else module.exports=require("./factoryWithThrowingShims")();
}).call(this,require('_process'))
},{"./factoryWithThrowingShims":21,"./factoryWithTypeCheckers":22,"_process":19}],24:[function(require,module,exports){
"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret;
},{}]},{},[13])(13)
});

@@ -103,3 +103,3 @@ <div align="center">

import React from 'react'
import { Form, Text, Select, Textarea, Checkbox, Radio, NestedForm, FormError } from 'react-form'
import { Form, Text, Select, Textarea, Checkbox, Radio, RadioGroup, NestedForm, FormError } from 'react-form'

@@ -257,6 +257,5 @@ const MyForm = (

<h6>Notify me via</h6>
<radiogroup>
<RadioGroup field="notificationType">
<label>
<Radio // This is the built-in radio formInput
field='notificationType'
value='email' // This is the value the field will be set to when this radio button is active

@@ -268,3 +267,2 @@ />

<Radio
field='notificationType'
value='text'

@@ -276,3 +274,2 @@ />

<Radio
field='notificationType'
value='phone'

@@ -282,3 +279,3 @@ />

</label>
</radiogroup>
</RadioGroup>
</div>

@@ -391,4 +388,4 @@

- A function that returns a component (**this function is called with an object that contains:**)
- Current Form State
- Form API methods
- Current [Form State](#form-state)
- [Form API methods](#form-api-methods)
- Any other props passed to your form component

@@ -431,3 +428,3 @@ - A component or JSX (if you do not need access to any methods or form state)

#### loadState (props, instance)
- When a form mounts, `loadState` is called. If a saved form state object is returned, it will hydrate the form state from this object.
- When a form mounts, `loadState` is called. If a saved [form state object](#form-state) is returned, it will hydrate the form state from this object.
- An ideal callback to load the form state from an external state manager (Redux/MobX/other)

@@ -474,7 +471,7 @@

- Called anytime a form's internal `state` is changed.
- An ideal callback to export/save the form state from an external state manager (Redux/MobX/other)
- An ideal callback to export/save the [form state](#form-state) from an external state manager (Redux/MobX/other)
#### willUnmount (state, props, instance)
- Called when a form is about to unmount
- An ideal callback to remove the form state from an external state manager (Redux/MobX/other)
- An ideal callback to remove the [form state](#form-state) from an external state manager (Redux/MobX/other)

@@ -552,6 +549,9 @@ #### preSubmit (values, state, props, instance)

The form API is a merge of the form state object and API methods
### Form State
#### values {}
- The current read-only values in the form state.
- Again, these values immutable, so just like any traditional react state or redux state, they should not be changed or mutated outside of the form lifecycle methods
- Again, these values are immutable, so just like any traditional react state or redux state, they should not be changed or mutated outside of the form lifecycle methods
- Example:

@@ -627,2 +627,4 @@ ```javascript

### Form API methods
#### setAllValues (values, noTouch)

@@ -979,3 +981,3 @@ - Sets (replaces) all form values to `values`

```javascript
import { Text, Select, Checkbox, Textarea, Radio } from 'react-form'
import { Text, Select, Checkbox, Textarea, Radio, RadioGroup } from 'react-form'

@@ -1068,1 +1070,2 @@ const example = (

</a>
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc