@1money/component-ui 0.0.90-alpha.20 → 0.0.90-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Select/Asset/AssetSelect.js +5 -1
- package/es/business/Select/Country/CountrySelect.js +5 -1
- package/es/business/Select/Currency/CurrencySelect.js +5 -1
- package/es/business/Select/Network/NetworkSelect.js +5 -1
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +5 -2
- package/es/index.css +1 -1
- package/lib/business/Select/Asset/AssetSelect.js +5 -1
- package/lib/business/Select/Country/CountrySelect.js +5 -1
- package/lib/business/Select/Currency/CurrencySelect.js +5 -1
- package/lib/business/Select/Network/NetworkSelect.js +5 -1
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/lib/components/Input/Mask/Mask.js +3 -2
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +5 -2
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -113,6 +113,7 @@ export var InputMask = function InputMask(props) {
|
|
|
113
113
|
required = props.required,
|
|
114
114
|
prefix = props.prefix,
|
|
115
115
|
suffix = props.suffix,
|
|
116
|
+
_showCount = props.showCount,
|
|
116
117
|
value = props.value,
|
|
117
118
|
_props$defaultValue = props.defaultValue,
|
|
118
119
|
defaultValue = _props$defaultValue === void 0 ? '' : _props$defaultValue,
|
|
@@ -123,7 +124,7 @@ export var InputMask = function InputMask(props) {
|
|
|
123
124
|
onKeyDown = props.onKeyDown,
|
|
124
125
|
ref = props.ref,
|
|
125
126
|
externalId = props.id,
|
|
126
|
-
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
127
|
+
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "showCount", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
127
128
|
var autoId = useId();
|
|
128
129
|
var inputId = externalId !== null && externalId !== void 0 ? externalId : autoId;
|
|
129
130
|
var classes = classnames(prefixCls);
|
|
@@ -344,4 +345,4 @@ InputMask.displayName = 'InputMask';
|
|
|
344
345
|
var MemoizedInputMask = /*#__PURE__*/memo(InputMask);
|
|
345
346
|
MemoizedInputMask.displayName = 'InputMask';
|
|
346
347
|
export default MemoizedInputMask;
|
|
347
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VJZCIsInVzZVJlZiIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJGaWVsZFNoZWxsIiwidXNlU3luY1JlZiIsIk1BU0tfVE9LRU4iLCJpc01hc2tUb2tlbiIsImNoYXIiLCJhcHBseU1hc2siLCJyYXciLCJtYXNrIiwic2xvdENoYXIiLCJyZXN1bHQiLCJyYXdJbmRleCIsIm1hc2tDaGFyIiwicmUiLCJ0ZXN0IiwiZXh0cmFjdFJhdyIsImZvcm1hdHRlZCIsImNvdW50VG9rZW5TbG90cyIsImNvdW50IiwiZmluZE5leHRTbG90IiwiZnJvbUluZGV4IiwiZmluZEZpcnN0U2xvdCIsImlkeCIsIklucHV0TWFzayIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiX3Byb3BzJHNsb3RDaGFyIiwiX3Byb3BzJHVubWFzayIsInVubWFzayIsIl9wcm9wcyRhdXRvQ2xlYXIiLCJhdXRvQ2xlYXIiLCJsYWJlbCIsImluZm8iLCJmZWVkYmFjayIsImZlZWRiYWNrSWNvbiIsInRpcCIsInJlcXVpcmVkIiwicHJlZml4Iiwic3VmZml4IiwidmFsdWUiLCJfcHJvcHMkZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFZhbHVlIiwib25DaGFuZ2UiLCJvbkNvbXBsZXRlIiwib25Gb2N1cyIsIm9uQmx1ciIsIm9uS2V5RG93biIsInJlZiIsImV4dGVybmFsSWQiLCJpZCIsInJlc3QiLCJhdXRvSWQiLCJpbnB1dElkIiwiY2xhc3NlcyIsIl91c2VTeW5jUmVmIiwiX3VzZVN5bmNSZWYyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnB1dFJlZiIsInN5bmNSZWYiLCJpc0NvbXBvc2luZyIsInRvdGFsU2xvdHMiLCJmb3JtYXRWYWx1ZSIsInZhbCIsImluaXRpYWxGb3JtYXR0ZWQiLCJjb250cm9sbGVkRm9ybWF0dGVkIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJpc0Rpc2FibGVkIiwiYXJpYVJlcXVpcmVkIiwiYXJpYUludmFsaWQiLCJlbWl0Q2hhbmdlIiwiZXZlbnQiLCJoYW5kbGVDaGFuZ2UiLCJjdXJyZW50IiwiaW5wdXQiLCJ0YXJnZXQiLCJjdXJzb3JQb3MiLCJzZWxlY3Rpb25TdGFydCIsImlucHV0VmFsdWUiLCJzbGljZSIsInJlcGxhY2UiLCJjbGVhblJhdyIsImNoIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibmV4dFBvcyIsInNldFNlbGVjdGlvblJhbmdlIiwiaGFuZGxlS2V5RG93biIsIl9iIiwiX2MiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInBvcyIsInNlbEVuZCIsInNlbGVjdGlvbkVuZCIsImN1cnJlbnRSYXciLCJuZXdSYXciLCJyYXdJZHgiLCJ0YXJnZXRQb3MiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJlbXB0eSIsImNoaWxkcmVuIiwiYXNzaWduIiwicGxhY2Vob2xkZXIiLCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJvbkNvbXBvc2l0aW9uRW5kIiwiZGlzcGxheU5hbWUiLCJNZW1vaXplZElucHV0TWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT1IsQ0FBQztBQUNaLENBQUM7QUFDRCxTQUFTVyxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDWDlELFNBQVNDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxPQUFPQyxrQkFBa0IsTUFBTSxrQ0FBa0M7QUFDakUsT0FBT0MsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELFNBQVNDLE9BQU8sSUFBSUMsVUFBVSxFQUFFQyxPQUFPLFFBQVEsMkJBQTJCO0FBQzFFLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBQzFDLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBSTFDO0FBQ0EsSUFBTUMsVUFBVSxHQUEyQjtFQUN6QyxHQUFHLEVBQUUsSUFBSTtFQUNULEdBQUcsRUFBRSxVQUFVO0VBQ2YsR0FBRyxFQUFFO0FEVVAsQ0NUQztBQUVELElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxLQUFZO0VBQUEsT0FBY0EsS0FBSSxJQUFJRixVQUFVO0FBQUE7QUFFakU7QUFDQSxJQUFNRyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUMsR0FBVyxFQUFFQyxJQUFZLEVBQUVDLFFBQWdCLEVBQVk7RUFDeEUsSUFBSUMsTUFBTSxHQUFHLEVBQUU7RUFDZixJQUFJQyxRQUFRLEdBQUcsQ0FBQztFQUVoQixLQUFLLElBQUl6QixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdzQixJQUFJLENBQUNyQixNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BDLElBQU0wQixRQUFRLEdBQUdKLElBQUksQ0FBQ3RCLENBQUMsQ0FBQztJQUV4QixJQUFJa0IsV0FBVyxDQUFDUSxRQUFRLENBQUMsRUFBRTtNQUN6QixJQUFJRCxRQUFRLEdBQUdKLEdBQUcsQ0FBQ3BCLE1BQU0sRUFBRTtRQUN6QixJQUFNMEIsRUFBRSxHQUFHVixVQUFVLENBQUNTLFFBQVEsQ0FBQztRQUMvQjtRQUNBLE9BQU9ELFFBQVEsR0FBR0osR0FBRyxDQUFDcEIsTUFBTSxJQUFJLENBQUMwQixFQUFFLENBQUNDLElBQUksQ0FBQ1AsR0FBRyxDQUFDSSxRQUFRLENBQUMsQ0FBQyxFQUFFO1VBQ3ZEQSxRQUFRLEVBQUU7UUFDWjtRQUNBLElBQUlBLFFBQVEsR0FBR0osR0FBRyxDQUFDcEIsTUFBTSxFQUFFO1VBQ3pCdUIsTUFBTSxJQUFJSCxHQUFHLENBQUNJLFFBQVEsQ0FBQztVQUN2QkEsUUFBUSxFQUFFO1FBQ1osQ0FBQyxNQUFNO1VBQ0xELE1BQU0sSUFBSUQsUUFBUTtRQUNwQjtNQUNGLENBQUMsTUFBTTtRQUNMQyxNQUFNLElBQUlELFFBQVE7TUFDcEI7SUFDRixDQUFDLE1BQU07TUFDTEMsTUFBTSxJQUFJRSxRQUFRO0lBQ3BCO0VBQ0Y7RUFFQSxPQUFPRixNQUFNO0FBQ2YsQ0FBQztBQUVEO0FBQ0EsSUFBTUssVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLFNBQWlCLEVBQUVSLElBQVksRUFBRUMsUUFBZ0IsRUFBWTtFQUMvRSxJQUFJRixHQUFHLEdBQUcsRUFBRTtFQUNaLEtBQUssSUFBSXJCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sSUFBSUQsQ0FBQyxHQUFHOEIsU0FBUyxDQUFDN0IsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUM1RCxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxJQUFJOEIsU0FBUyxDQUFDOUIsQ0FBQyxDQUFDLEtBQUt1QixRQUFRLEVBQUU7TUFDckRGLEdBQUcsSUFBSVMsU0FBUyxDQUFDOUIsQ0FBQyxDQUFDO0lBQ3JCO0VBQ0Y7RUFDQSxPQUFPcUIsR0FBRztBQUNaLENBQUM7QUFFRDtBQUNBLElBQU1VLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSVQsSUFBWSxFQUFZO0VBQy9DLElBQUlVLEtBQUssR0FBRyxDQUFDO0VBQ2IsS0FBSyxJQUFJaEMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwQyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxFQUFFZ0MsS0FBSyxFQUFFO0VBQ25DO0VBQ0EsT0FBT0EsS0FBSztBQUNkLENBQUM7QUFFRDtBQUNBLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJWCxJQUFZLEVBQUVRLFNBQWlCLEVBQUVQLFFBQWdCLEVBQUVXLFNBQWlCLEVBQVk7RUFDcEcsS0FBSyxJQUFJbEMsQ0FBQyxHQUFHa0MsU0FBUyxFQUFFbEMsQ0FBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUM1QyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxLQUFLQSxDQUFDLElBQUk4QixTQUFTLENBQUM3QixNQUFNLElBQUk2QixTQUFTLENBQUM5QixDQUFDLENBQUMsS0FBS3VCLFFBQVEsQ0FBQyxFQUFFO01BQ2hGLE9BQU92QixDQUFDO0lBQ1Y7RUFDRjtFQUNBLE9BQU9rQyxTQUFTO0FBQ2xCLENBQUM7QUFFRDtBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUwsU0FBaUIsRUFBRVAsUUFBZ0IsRUFBWTtFQUNwRSxJQUFNYSxHQUFHLEdBQUdOLFNBQVMsQ0FBQ2hDLE9BQU8sQ0FBQ3lCLFFBQVEsQ0FBQztFQUN2QyxPQUFPYSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUdOLFNBQVMsQ0FBQzdCLE1BQU0sR0FBR21DLEdBQUc7QUFDNUMsQ0FBQztBQUVELE9BQU8sSUFBTUMsU0FBUyxHQUF1QixTQUFoQ0EsU0FBU0EsQ0FBd0JDLEtBQUssRUFBSTtFREluRCxJQUFJQyxFQUFFO0VDSFIsSUFBQUMsZ0JBQUEsR0E4QklGLEtBQUssQ0E3QlBHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFDZEUsY0FBYyxHQTRCWkosS0FBSyxDQTVCUEksY0FBYztJQUFBQyxnQkFBQSxHQTRCWkwsS0FBSyxDQTNCUE0sU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsT0FBTyxHQUFBQSxnQkFBQTtJQUFBRSxXQUFBLEdBMkJqQlAsS0FBSyxDQTFCUFEsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQTBCWlQsS0FBSyxDQXpCUFUsTUFBTTtJQUFOQSxNQUFNLEdBQUFELGFBQUEsY0FBRyxTQUFTLEdBQUFBLGFBQUE7SUFBQUUsZUFBQSxHQXlCaEJYLEtBQUssQ0F4QlBZLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGNBQUEsR0F3QmRiLEtBQUssQ0F2QlBjLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQ2Y3QixJQUFJLEdBc0JGZ0IsS0FBSyxDQXRCUGhCLElBQUk7SUFBQStCLGVBQUEsR0FzQkZmLEtBQUssQ0FyQlBmLFFBQVE7SUFBUkEsUUFBUSxHQUFBOEIsZUFBQSxjQUFHLEdBQUcsR0FBQUEsZUFBQTtJQUFBQyxhQUFBLEdBcUJaaEIsS0FBSyxDQXBCUGlCLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsS0FBSyxHQUFBQSxhQUFBO0lBQUFFLGdCQUFBLEdBb0JabEIsS0FBSyxDQW5CUG1CLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEtBQUssR0FBQUEsZ0JBQUE7SUFDakJFLEtBQUssR0FrQkhwQixLQUFLLENBbEJQb0IsS0FBSztJQUNMQyxJQUFJLEdBaUJGckIsS0FBSyxDQWpCUHFCLElBQUk7SUFDSkMsUUFBUSxHQWdCTnRCLEtBQUssQ0FoQlBzQixRQUFRO0lBQ1JDLFlBQVksR0FlVnZCLEtBQUssQ0FmUHVCLFlBQVk7SUFDWkMsR0FBRyxHQWNEeEIsS0FBSyxDQWRQd0IsR0FBRztJQUNIQyxRQUFRLEdBYU56QixLQUFLLENBYlB5QixRQUFRO0lBQ1JDLE1BQU0sR0FZSjFCLEtBQUssQ0FaUDBCLE1BQU07SUFDTkMsTUFBTSxHQVdKM0IsS0FBSyxDQVhQMkIsTUFBTTtJQUNOQyxLQUFLLEdBVUg1QixLQUFLLENBVlA0QixLQUFLO0lBQUFDLG1CQUFBLEdBVUg3QixLQUFLLENBVFA4QixZQUFZO0lBQVpBLFlBQVksR0FBQUQsbUJBQUEsY0FBRyxFQUFFLEdBQUFBLG1CQUFBO0lBQ2pCRSxRQUFRLEdBUU4vQixLQUFLLENBUlArQixRQUFRO0lBQ1JDLFVBQVUsR0FPUmhDLEtBQUssQ0FQUGdDLFVBQVU7SUFDVkMsT0FBTyxHQU1MakMsS0FBSyxDQU5QaUMsT0FBTztJQUNQQyxNQUFNLEdBS0psQyxLQUFLLENBTFBrQyxNQUFNO0lBQ05DLFNBQVMsR0FJUG5DLEtBQUssQ0FKUG1DLFNBQVM7SUFDVEMsR0FBRyxHQUdEcEMsS0FBSyxDQUhQb0MsR0FBRztJQUNDQyxVQUFVLEdBRVpyQyxLQUFLLENBRlBzQyxFQUFFO0lBQ0NDLElBQUksR0FBQXhGLE1BQUEsQ0FDTGlELEtBQUssRUE5QkgsQ0FBQSxXQUFBLEVBQUEsZ0JBQUEsRUFBQSxXQUFBLEVBQUEsTUFBQSxFQUFBLFFBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLE1BQUEsRUFBQSxVQUFBLEVBQUEsUUFBQSxFQUFBLFdBQUEsRUFBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLFVBQUEsRUFBQSxjQUFBLEVBQUEsS0FBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsRUFBQSxjQUFBLEVBQUEsVUFBQSxFQUFBLFlBQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLFdBQUEsRUFBQSxLQUFBLEVBQUEsSUFBQSxDQThCTCxDQUFRO0VBRVQsSUFBTXdDLE1BQU0sR0FBR3RFLEtBQUssQ0FBQSxDQUFFO0VBQ3RCLElBQU11RSxPQUFPLEdBQUdKLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxHQUFJRyxNQUFNO0VBQ3BDLElBQU1FLE9BQU8sR0FBR25FLFVBQVUsQ0FBQytCLFNBQVMsQ0FBQztFQUNyQyxJQUFBcUMsV0FBQSxHQUE0QmpFLFVBQVUsQ0FBbUIwRCxHQUFHLENBQUM7SUFBQVEsWUFBQSxHQUFBQyxjQUFBLENBQUFGLFdBQUE7SUFBdERHLFFBQVEsR0FBQUYsWUFBQTtJQUFFRyxPQUFPLEdBQUFILFlBQUE7RUFDeEIsSUFBTUksV0FBVyxHQUFHN0UsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUNqQyxJQUFNOEUsVUFBVSxHQUFHeEQsZUFBZSxDQUFDVCxJQUFJLENBQUM7RUFFeEM7RUFDQSxJQUFNa0UsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLEdBQVc7SUFBQSxPQUFLckUsU0FBUyxDQUFDcUUsR0FBRyxFQUFFbkUsSUFBSSxFQUFFQyxRQUFRLENBQUM7RUFBQTtFQUNuRSxJQUFNbUUsZ0JBQWdCLEdBQUd0QixZQUFZLEdBQUdvQixXQUFXLENBQUNwQixZQUFZLENBQUMsR0FBRyxFQUFFO0VBQ3RFLElBQU11QixtQkFBbUIsR0FBR3pCLEtBQUssS0FBSzBCLFNBQVMsR0FBR0osV0FBVyxDQUFDdEIsS0FBSyxDQUFDLEdBQUcwQixTQUFTO0VBRWhGLElBQUFDLG1CQUFBLEdBQW9DbkYsa0JBQWtCLENBQUNnRixnQkFBZ0IsRUFBRUMsbUJBQW1CLENBQUM7SUFBQUcsb0JBQUEsR0FBQVgsY0FBQSxDQUFBVSxtQkFBQTtJQUF0RkUsVUFBVSxHQUFBRCxvQkFBQTtJQUFFRSxhQUFhLEdBQUFGLG9CQUFBO0VBRWhDLElBQU1HLFVBQVUsR0FBRy9DLFFBQVEsSUFBSUUsT0FBTztFQUN0QyxJQUFNOEMsWUFBWSxHQUFHbkMsUUFBUSxHQUFHLE1BQU0sR0FBRyxPQUFPO0VBQ2hELElBQU1vQyxXQUFXLEdBQUduRCxNQUFNLEtBQUssT0FBTyxHQUFHLE1BQU0sR0FBRyxPQUFPO0VBRXpELElBQU1vRCxVQUFVLEdBQUd6RixnQkFBZ0IsQ0FBQyxVQUFDbUIsU0FBaUIsRUFBRXVFLEtBQW9DLEVBQUk7SUFDOUYsSUFBTWhGLEdBQUcsR0FBR1EsVUFBVSxDQUFDQyxTQUFTLEVBQUVSLElBQUksRUFBRUMsUUFBUSxDQUFDO0lBQ2pEOEMsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdkLE1BQU0sR0FBR2xDLEdBQUcsR0FBR1MsU0FBUyxFQUFFdUUsS0FBSyxDQUFDO0lBQzNDLElBQUloRixHQUFHLENBQUNwQixNQUFNLEtBQUtzRixVQUFVLEVBQUU7TUFDN0JqQixVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBR2YsTUFBTSxHQUFHbEMsR0FBRyxHQUFHUyxTQUFTLENBQUM7SUFDeEM7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNd0UsWUFBWSxHQUFHM0YsZ0JBQWdCLENBQUMsVUFBQzBGLEtBQW9DLEVBQUk7SUQvQnpFLElBQUk5RCxFQUFFO0lDZ0NWLElBQUkrQyxXQUFXLENBQUNpQixPQUFPLEVBQUU7SUFFekIsSUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLE1BQU07SUFDMUIsSUFBTUMsU0FBUyxHQUFHLENBQUFuRSxFQUFBLEdBQUFpRSxLQUFLLENBQUNHLGNBQWMsTUFBQSxJQUFBLElBQUFwRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO0lBQzNDLElBQU1xRSxVQUFVLEdBQUdKLEtBQUssQ0FBQ3RDLEtBQUs7SUFFOUI7SUFDQSxJQUFNN0MsR0FBRyxHQUFHUSxVQUFVLENBQUMrRSxVQUFVLEVBQUV0RixJQUFJLEVBQUVDLFFBQVEsQ0FBQyxHQUM5Q3FGLFVBQVUsQ0FBQ0MsS0FBSyxDQUFDSCxTQUFTLEdBQUcsQ0FBQyxHQUFHQSxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRUEsU0FBUyxDQUFDLENBQUNJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO0lBRTlGO0lBQ0EsSUFBSUMsUUFBUSxHQUFHLEVBQUU7SUFDakIsS0FBSyxJQUFJL0csQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHNEcsVUFBVSxDQUFDM0csTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtNQUMxQyxJQUFNZ0gsRUFBRSxHQUFHSixVQUFVLENBQUM1RyxDQUFDLENBQUM7TUFDeEIsSUFBSSxZQUFZLENBQUM0QixJQUFJLENBQUNvRixFQUFFLENBQUMsRUFBRUQsUUFBUSxJQUFJQyxFQUFFO0lBQzNDO0lBRUEsSUFBTWxGLFNBQVMsR0FBR1YsU0FBUyxDQUFDMkYsUUFBUSxFQUFFekYsSUFBSSxFQUFFQyxRQUFRLENBQUM7SUFDckR5RSxhQUFhLENBQUNsRSxTQUFTLENBQUM7SUFDeEJzRSxVQUFVLENBQUN0RSxTQUFTLEVBQUV1RSxLQUFLLENBQUM7SUFFNUI7SUFDQVkscUJBQXFCLENBQUMsWUFBSztNQUN6QixJQUFNQyxPQUFPLEdBQUcvRSxhQUFhLENBQUNMLFNBQVMsRUFBRVAsUUFBUSxDQUFDO01BQ2xEaUYsS0FBSyxDQUFDVyxpQkFBaUIsQ0FBQ0QsT0FBTyxFQUFFQSxPQUFPLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsSUFBTUUsYUFBYSxHQUFHekcsZ0JBQWdCLENBQUMsVUFBQzBGLEtBQXNDLEVBQUk7SURsQzVFLElBQUk5RCxFQUFFLEVBQUU4RSxFQUFFLEVBQUVDLEVBQUU7SUNtQ2xCLElBQU1kLEtBQUssR0FBR3BCLFFBQVEsQ0FBQ21CLE9BQU87SUFDOUIsSUFBSSxDQUFDQyxLQUFLLEVBQUU7SUFFWixJQUFJSCxLQUFLLENBQUNrQixHQUFHLEtBQUssV0FBVyxFQUFFO01BQzdCbEIsS0FBSyxDQUFDbUIsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBTUMsR0FBRyxHQUFHLENBQUFsRixFQUFBLEdBQUFpRSxLQUFLLENBQUNHLGNBQWMsTUFBQSxJQUFBLElBQUFwRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO01BQ3JDLElBQU1tRixNQUFNLEdBQUcsQ0FBQUwsRUFBQSxHQUFBYixLQUFLLENBQUNtQixZQUFZLE1BQUEsSUFBQSxJQUFBTixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO01BRXRDLElBQUlJLEdBQUcsS0FBSyxDQUFDLElBQUlDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFFL0IsSUFBTUUsVUFBVSxHQUFHL0YsVUFBVSxDQUFDa0UsVUFBVSxFQUFFekUsSUFBSSxFQUFFQyxRQUFRLENBQUM7TUFFekQsSUFBSWtHLEdBQUcsS0FBS0MsTUFBTSxFQUFFO1FBQ2xCO1FBQ0EsSUFBSUcsTUFBTSxHQUFHLEVBQUU7UUFDZixJQUFJQyxNQUFNLEdBQUcsQ0FBQztRQUNkLEtBQUssSUFBSTlILENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sSUFBSTZILE1BQU0sR0FBR0YsVUFBVSxDQUFDM0gsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtVQUNsRSxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUlBLENBQUMsR0FBR3lILEdBQUcsSUFBSXpILENBQUMsSUFBSTBILE1BQU0sRUFBRTtjQUMxQkcsTUFBTSxJQUFJRCxVQUFVLENBQUNFLE1BQU0sQ0FBQztZQUM5QjtZQUNBQSxNQUFNLEVBQUU7VUFDVjtRQUNGO1FBQ0EsSUFBTWhHLFNBQVMsR0FBR1YsU0FBUyxDQUFDeUcsTUFBTSxFQUFFdkcsSUFBSSxFQUFFQyxRQUFRLENBQUM7UUFDbkR5RSxhQUFhLENBQUNsRSxTQUFTLENBQUM7UUFDeEJzRSxVQUFVLENBQUN0RSxTQUFTLEVBQUU7VUFBRTJFLE1BQU0sRUFBRUQ7UUFBSyxDQUFtQyxDQUFDO1FBQ3pFUyxxQkFBcUIsQ0FBQyxZQUFLO1VBQ3pCLElBQU1DLE9BQU8sR0FBR2pGLFlBQVksQ0FBQ1gsSUFBSSxFQUFFUSxTQUFTLEVBQUVQLFFBQVEsRUFBRWtHLEdBQUcsQ0FBQztVQUM1RGpCLEtBQUssQ0FBQ1csaUJBQWlCLENBQUNELE9BQU8sRUFBRUEsT0FBTyxDQUFDO1FBQzNDLENBQUMsQ0FBQztNQUNKLENBQUMsTUFBTTtRQUNMO1FBQ0EsSUFBSWEsU0FBUyxHQUFHTixHQUFHLEdBQUcsQ0FBQztRQUN2QixPQUFPTSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUM3RyxXQUFXLENBQUNJLElBQUksQ0FBQ3lHLFNBQVMsQ0FBQyxDQUFDLEVBQUU7VUFDdERBLFNBQVMsRUFBRTtRQUNiO1FBQ0EsSUFBSUEsU0FBUyxHQUFHLENBQUMsRUFBRTtRQUVuQixJQUFJRixPQUFNLEdBQUcsRUFBRTtRQUNmLElBQUlDLE9BQU0sR0FBRyxDQUFDO1FBQ2QsS0FBSyxJQUFJOUgsRUFBQyxHQUFHLENBQUMsRUFBRUEsRUFBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxFQUFDLEVBQUUsRUFBRTtVQUNwQyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixFQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUlBLEVBQUMsS0FBSytILFNBQVMsSUFBSUQsT0FBTSxHQUFHRixVQUFVLENBQUMzSCxNQUFNLEVBQUU7Y0FDakQ0SCxPQUFNLElBQUlELFVBQVUsQ0FBQ0UsT0FBTSxDQUFDO1lBQzlCO1lBQ0FBLE9BQU0sRUFBRTtVQUNWO1FBQ0Y7UUFDQSxJQUFNaEcsVUFBUyxHQUFHVixTQUFTLENBQUN5RyxPQUFNLEVBQUV2RyxJQUFJLEVBQUVDLFFBQVEsQ0FBQztRQUNuRHlFLGFBQWEsQ0FBQ2xFLFVBQVMsQ0FBQztRQUN4QnNFLFVBQVUsQ0FBQ3RFLFVBQVMsRUFBRTtVQUFFMkUsTUFBTSxFQUFFRDtRQUFLLENBQW1DLENBQUM7UUFDekVTLHFCQUFxQixDQUFDLFlBQUs7VUFDekJULEtBQUssQ0FBQ1csaUJBQWlCLENBQUNZLFNBQVMsRUFBRUEsU0FBUyxDQUFDO1FBQy9DLENBQUMsQ0FBQztNQUNKO0lBQ0Y7SUFFQSxJQUFJMUIsS0FBSyxDQUFDa0IsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUMxQmxCLEtBQUssQ0FBQ21CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQU1DLElBQUcsR0FBRyxDQUFBSCxFQUFBLEdBQUFkLEtBQUssQ0FBQ0csY0FBYyxNQUFBLElBQUEsSUFBQVcsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksQ0FBQztNQUVyQyxJQUFJUyxVQUFTLEdBQUdOLElBQUc7TUFDbkIsT0FBT00sVUFBUyxHQUFHekcsSUFBSSxDQUFDckIsTUFBTSxJQUFJLENBQUNpQixXQUFXLENBQUNJLElBQUksQ0FBQ3lHLFVBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDL0RBLFVBQVMsRUFBRTtNQUNiO01BQ0EsSUFBSUEsVUFBUyxJQUFJekcsSUFBSSxDQUFDckIsTUFBTSxFQUFFO01BRTlCLElBQU0ySCxXQUFVLEdBQUcvRixVQUFVLENBQUNrRSxVQUFVLEVBQUV6RSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUN6RCxJQUFJc0csUUFBTSxHQUFHLEVBQUU7TUFDZixJQUFJQyxRQUFNLEdBQUcsQ0FBQztNQUNkLEtBQUssSUFBSTlILEdBQUMsR0FBRyxDQUFDLEVBQUVBLEdBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sRUFBRUQsR0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSWtCLFdBQVcsQ0FBQ0ksSUFBSSxDQUFDdEIsR0FBQyxDQUFDLENBQUMsRUFBRTtVQUN4QixJQUFJQSxHQUFDLEtBQUsrSCxVQUFTLElBQUlELFFBQU0sR0FBR0YsV0FBVSxDQUFDM0gsTUFBTSxFQUFFO1lBQ2pENEgsUUFBTSxJQUFJRCxXQUFVLENBQUNFLFFBQU0sQ0FBQztVQUM5QjtVQUNBQSxRQUFNLEVBQUU7UUFDVjtNQUNGO01BQ0EsSUFBTWhHLFdBQVMsR0FBR1YsU0FBUyxDQUFDeUcsUUFBTSxFQUFFdkcsSUFBSSxFQUFFQyxRQUFRLENBQUM7TUFDbkR5RSxhQUFhLENBQUNsRSxXQUFTLENBQUM7TUFDeEJzRSxVQUFVLENBQUN0RSxXQUFTLEVBQUU7UUFBRTJFLE1BQU0sRUFBRUQ7TUFBSyxDQUFtQyxDQUFDO01BQ3pFUyxxQkFBcUIsQ0FBQyxZQUFLO1FBQ3pCVCxLQUFLLENBQUNXLGlCQUFpQixDQUFDTSxJQUFHLEVBQUVBLElBQUcsQ0FBQztNQUNuQyxDQUFDLENBQUM7SUFDSjtJQUVBaEQsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLENBQUc0QixLQUFLLENBQUM7RUFDcEIsQ0FBQyxDQUFDO0VBRUYsSUFBTTJCLFdBQVcsR0FBR3JILGdCQUFnQixDQUFDLFVBQUMwRixLQUFtQyxFQUFJO0lBQzNFO0lBQ0EsSUFBSSxDQUFDTixVQUFVLElBQUlsRSxVQUFVLENBQUNrRSxVQUFVLEVBQUV6RSxJQUFJLEVBQUVDLFFBQVEsQ0FBQyxDQUFDdEIsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUN0RSxJQUFNNkIsU0FBUyxHQUFHVixTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUMvQ3lFLGFBQWEsQ0FBQ2xFLFNBQVMsQ0FBQztJQUMxQjtJQUNBbUYscUJBQXFCLENBQUMsWUFBSztNQUN6QixJQUFNVCxLQUFLLEdBQUdwQixRQUFRLENBQUNtQixPQUFPO01BQzlCLElBQUlDLEtBQUssRUFBRTtRQUNULElBQU1pQixHQUFHLEdBQUd0RixhQUFhLENBQUNxRSxLQUFLLENBQUN0QyxLQUFLLEVBQUUzQyxRQUFRLENBQUM7UUFDaERpRixLQUFLLENBQUNXLGlCQUFpQixDQUFDTSxHQUFHLEVBQUVBLEdBQUcsQ0FBQztNQUNuQztJQUNGLENBQUMsQ0FBQztJQUNGbEQsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLENBQUc4QixLQUFLLENBQUM7RUFDbEIsQ0FBQyxDQUFDO0VBRUYsSUFBTTRCLFVBQVUsR0FBR3RILGdCQUFnQixDQUFDLFVBQUMwRixLQUFtQyxFQUFJO0lBQzFFLElBQU1oRixHQUFHLEdBQUdRLFVBQVUsQ0FBQ2tFLFVBQVUsRUFBRXpFLElBQUksRUFBRUMsUUFBUSxDQUFDO0lBQ2xELElBQUlrQyxTQUFTLElBQUlwQyxHQUFHLENBQUNwQixNQUFNLEdBQUcsQ0FBQyxJQUFJb0IsR0FBRyxDQUFDcEIsTUFBTSxHQUFHc0YsVUFBVSxFQUFFO01BQzFELElBQU0yQyxLQUFLLEdBQUc5RyxTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUMzQ3lFLGFBQWEsQ0FBQ2tDLEtBQUssQ0FBQztNQUNwQjlCLFVBQVUsQ0FBQzhCLEtBQUssRUFBRTtRQUFFekIsTUFBTSxFQUFFSixLQUFLLENBQUNJO01BQU0sQ0FBbUMsQ0FBQztJQUM5RTtJQUNBO0lBQ0EsSUFBSXBGLEdBQUcsQ0FBQ3BCLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDcEIrRixhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ25CO0lBQ0F4QixNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBRzZCLEtBQUssQ0FBQztFQUNqQixDQUFDLENBQUM7RUFFRixPQUNFakcsSUFBQSxDQUFDVyxVQUFVLEVBQUE7SUFDVDBCLFNBQVMsRUFBRUEsU0FBUztJQUNwQkMsY0FBYyxFQUFFQSxjQUFjO0lBQzlCRSxTQUFTLEVBQUVBLFNBQVM7SUFDcEJFLElBQUksRUFBRUEsSUFBSTtJQUNWRSxNQUFNLEVBQUVBLE1BQU07SUFDZEUsUUFBUSxFQUFFK0MsVUFBVTtJQUNwQnZDLEtBQUssRUFBRUEsS0FBSztJQUNaQyxJQUFJLEVBQUVBLElBQUk7SUFDVkcsR0FBRyxFQUFFQSxHQUFHO0lBQ1JGLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkMsWUFBWSxFQUFFQSxZQUFZO0lBQzFCRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJnQixPQUFPLEVBQUVBLE9BQU87SUFBQW9ELFFBQUEsRUFFaEI3SCxLQUFBLENBQUEsS0FBQSxFQUFBO01BQUttQyxTQUFTLEVBQUV1QyxPQUFPLENBQUMsU0FBUyxFQUFFbEUsT0FBTyxDQUFDbUYsVUFBVSxJQUFJakIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztNQUFBbUQsUUFBQSxFQUFBLENBQ25GbkUsTUFBTSxJQUFJNUQsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHbkU7TUFBTSxDQUFBLENBQVEsRUFDOUQ1RCxJQUFBLENBQUEsT0FBQSxFQUFBVixNQUFBLENBQUEwSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ012RCxJQUFJLEVBQUE7UUFDUkgsR0FBRyxFQUFFVyxPQUFPO1FBQ1pULEVBQUUsRUFBRUcsT0FBTztRQUNYdEMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQjlCLFFBQVEsRUFBRStDLFVBQVU7UUFDcEIvQixLQUFLLEVBQUU2QixVQUFVO1FBQ2pCc0MsV0FBVyxFQUFFLENBQUE5RixFQUFBLEdBQUFzQyxJQUFJLENBQUN3RCxXQUFXLE1BQUEsSUFBQSxJQUFBOUYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUluQixTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztRQUM5RDhDLFFBQVEsRUFBRWlDLFlBQVk7UUFDdEI3QixTQUFTLEVBQUUyQyxhQUFhO1FBQ3hCN0MsT0FBTyxFQUFFeUQsV0FBVztRQUNwQnhELE1BQU0sRUFBRXlELFVBQVU7UUFDbEJLLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUEsRUFBTztVQUFHaEQsV0FBVyxDQUFDaUIsT0FBTyxHQUFHLElBQUk7UUFBRSxDQUFDO1FBQ3pEZ0MsZ0JBQWdCLEVBQUUsU0FBbEJBLGdCQUFnQkEsQ0FBR2hKLENBQUMsRUFBSTtVQUN0QitGLFdBQVcsQ0FBQ2lCLE9BQU8sR0FBRyxLQUFLO1VBQzNCRCxZQUFZLENBQUMvRyxDQUE2QyxDQUFDO1FBQzdELENBQUM7UUFBQSxlQUFBLEVBQ2MyRyxZQUFZO1FBQUEsY0FBQSxFQUNiQztNQUFXLENBQUEsQ0FBQSxDQUN6QixFQUNEbEMsTUFBTSxJQUFJN0QsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHbEU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ1QixTQUFTLENBQUNtRyxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUdsSSxJQUFJLENBQUM4QixTQUFTLENBQUM7QUFDekNvRyxpQkFBaUIsQ0FBQ0QsV0FBVyxHQUFHLFdBQVc7QUFFM0MsZUFBZUMsaUJBQWlCIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbi8qKiBNYXNrIHRva2VuIG1hdGNoZXJzOiA5ID0gZGlnaXQsIGEgPSBsZXR0ZXIsICogPSBhbHBoYW51bWVyaWMgKi9cbmNvbnN0IE1BU0tfVE9LRU4gPSB7XG4gICAgJzknOiAvXFxkLyxcbiAgICAnYSc6IC9bYS16QS1aXS8sXG4gICAgJyonOiAvW2EtekEtWjAtOV0vLFxufTtcbmNvbnN0IGlzTWFza1Rva2VuID0gKGNoYXIpID0+IGNoYXIgaW4gTUFTS19UT0tFTjtcbi8qKiBBcHBseSBtYXNrIHRvIHJhdyB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBmb3JtYXR0ZWQgc3RyaW5nICovXG5jb25zdCBhcHBseU1hc2sgPSAocmF3LCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgcmF3SW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBtYXNrQ2hhciA9IG1hc2tbaV07XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrQ2hhcikpIHtcbiAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZSA9IE1BU0tfVE9LRU5bbWFza0NoYXJdO1xuICAgICAgICAgICAgICAgIC8vIFNraXAgaW52YWxpZCBjaGFyYWN0ZXJzIGluIHJhd1xuICAgICAgICAgICAgICAgIHdoaWxlIChyYXdJbmRleCA8IHJhdy5sZW5ndGggJiYgIXJlLnRlc3QocmF3W3Jhd0luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJhd0luZGV4IDwgcmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcmF3W3Jhd0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzbG90Q2hhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gbWFza0NoYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4vKiogRXh0cmFjdCByYXcgdmFsdWUgKG9ubHkgdXNlci10eXBlZCBjaGFyYWN0ZXJzLCBubyBsaXRlcmFscyBvciBzbG90IGNoYXJzKSAqL1xuY29uc3QgZXh0cmFjdFJhdyA9IChmb3JtYXR0ZWQsIG1hc2ssIHNsb3RDaGFyKSA9PiB7XG4gICAgbGV0IHJhdyA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkgJiYgZm9ybWF0dGVkW2ldICE9PSBzbG90Q2hhcikge1xuICAgICAgICAgICAgcmF3ICs9IGZvcm1hdHRlZFtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmF3O1xufTtcbi8qKiBDb3VudCBob3cgbWFueSBtYXNrIHRva2VucyBleGlzdCBpbiB0aGUgbWFzayBwYXR0ZXJuICovXG5jb25zdCBjb3VudFRva2VuU2xvdHMgPSAobWFzaykgPT4ge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSlcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbn07XG4vKiogRmluZCB0aGUgY3Vyc29yIHBvc2l0aW9uIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgbWFzayB0b2tlbiBzbG90ICovXG5jb25zdCBmaW5kTmV4dFNsb3QgPSAobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgZnJvbUluZGV4KSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IGZyb21JbmRleDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIChpID49IGZvcm1hdHRlZC5sZW5ndGggfHwgZm9ybWF0dGVkW2ldID09PSBzbG90Q2hhcikpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmcm9tSW5kZXg7XG59O1xuLyoqIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBzbG90IGNoYXIgaW4gZm9ybWF0dGVkIHZhbHVlICovXG5jb25zdCBmaW5kRmlyc3RTbG90ID0gKGZvcm1hdHRlZCwgc2xvdENoYXIpID0+IHtcbiAgICBjb25zdCBpZHggPSBmb3JtYXR0ZWQuaW5kZXhPZihzbG90Q2hhcik7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBmb3JtYXR0ZWQubGVuZ3RoIDogaWR4O1xufTtcbmV4cG9ydCBjb25zdCBJbnB1dE1hc2sgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbWFzaywgc2xvdENoYXIgPSAnXycsIHVubWFzayA9IGZhbHNlLCBhdXRvQ2xlYXIgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIHByZWZpeCwgc3VmZml4LCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNvbXBsZXRlLCBvbkZvY3VzLCBvbkJsdXIsIG9uS2V5RG93biwgcmVmLCBpZDogZXh0ZXJuYWxJZCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25Db21wbGV0ZVwiLCBcIm9uRm9jdXNcIiwgXCJvbkJsdXJcIiwgXCJvbktleURvd25cIiwgXCJyZWZcIiwgXCJpZFwiXSk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBpc0NvbXBvc2luZyA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgdG90YWxTbG90cyA9IGNvdW50VG9rZW5TbG90cyhtYXNrKTtcbiAgICAvLyBJbnRlcm5hbCBzdGF0ZSBhbHdheXMgc3RvcmVzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWwpID0+IGFwcGx5TWFzayh2YWwsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICBjb25zdCBpbml0aWFsRm9ybWF0dGVkID0gZGVmYXVsdFZhbHVlID8gZm9ybWF0VmFsdWUoZGVmYXVsdFZhbHVlKSA6ICcnO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGb3JtYXR0ZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gZm9ybWF0VmFsdWUodmFsdWUpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsRm9ybWF0dGVkLCBjb250cm9sbGVkRm9ybWF0dGVkKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgbG9hZGluZztcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChmb3JtYXR0ZWQsIGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgaWYgKHJhdy5sZW5ndGggPT09IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIG9uQ29tcGxldGUgPT09IG51bGwgfHwgb25Db21wbGV0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Db21wbGV0ZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNDb21wb3NpbmcuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IGN1cnNvclBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIC8vIEV4dHJhY3Qgb25seSB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHJhdyBpbnB1dFxuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGlucHV0VmFsdWUsIG1hc2ssIHNsb3RDaGFyKVxuICAgICAgICAgICAgKyBpbnB1dFZhbHVlLnNsaWNlKGN1cnNvclBvcyA+IDAgPyBjdXJzb3JQb3MgLSAxIDogMCwgY3Vyc29yUG9zKS5yZXBsYWNlKC9bXlxcZGEtekEtWl0vZywgJycpO1xuICAgICAgICAvLyBSZS1leHRyYWN0IGZyb20gdGhlIGZ1bGwgaW5wdXQgdG8gZ2V0IGNsZWFuIHJhd1xuICAgICAgICBsZXQgY2xlYW5SYXcgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IGlucHV0VmFsdWVbaV07XG4gICAgICAgICAgICBpZiAoL1tcXGRhLXpBLVpdLy50ZXN0KGNoKSlcbiAgICAgICAgICAgICAgICBjbGVhblJhdyArPSBjaDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soY2xlYW5SYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgZXZlbnQpO1xuICAgICAgICAvLyBQb3NpdGlvbiBjdXJzb3IgYWZ0ZXIgdGhlIGxhc3QgZmlsbGVkIHNsb3RcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kRmlyc3RTbG90KGZvcm1hdHRlZCwgc2xvdENoYXIpO1xuICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICAgICAgY29uc3Qgc2VsRW5kID0gKF9iID0gaW5wdXQuc2VsZWN0aW9uRW5kKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwO1xuICAgICAgICAgICAgaWYgKHBvcyA9PT0gMCAmJiBzZWxFbmQgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgaWYgKHBvcyAhPT0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0aW9uOiByZW1vdmUgYWxsIHJhdyBjaGFycyBpbiB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aCAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBwb3MgfHwgaSA+PSBzZWxFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kTmV4dFNsb3QobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5nbGUgYmFja3NwYWNlOiBmaW5kIHByZXYgdG9rZW4gcG9zaXRpb24gYW5kIHJlbW92ZSBpdFxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRQb3MgPSBwb3MgLSAxO1xuICAgICAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPj0gMCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQb3MtLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRhcmdldFBvcyAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByYXdJZHgrKztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2sobmV3UmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodGFyZ2V0UG9zLCB0YXJnZXRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zID0gKF9jID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zO1xuICAgICAgICAgICAgd2hpbGUgKHRhcmdldFBvcyA8IG1hc2subGVuZ3RoICYmICFpc01hc2tUb2tlbihtYXNrW3RhcmdldFBvc10pKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0UG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFyZ2V0UG9zID49IG1hc2subGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGxldCBuZXdSYXcgPSAnJztcbiAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlEb3duID09PSBudWxsIHx8IG9uS2V5RG93biA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25LZXlEb3duKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIE9uIGZvY3VzLCBpZiBlbXB0eSBzaG93IHRoZSBtYXNrIHBsYWNlaG9sZGVyXG4gICAgICAgIGlmICghaW5uZXJWYWx1ZSB8fCBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBmaW5kRmlyc3RTbG90KGlucHV0LnZhbHVlLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIGlmIChhdXRvQ2xlYXIgJiYgcmF3Lmxlbmd0aCA+IDAgJiYgcmF3Lmxlbmd0aCA8IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5ID0gYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKGVtcHR5KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZW1wdHksIHsgdGFyZ2V0OiBldmVudC50YXJnZXQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY29tcGxldGVseSBlbXB0eSwgY2xlYXIgdGhlIGZvcm1hdHRlZCBtYXNrXG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHZhbHVlOiBpbm5lclZhbHVlLCBwbGFjZWhvbGRlcjogKF9hID0gcmVzdC5wbGFjZWhvbGRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhciksIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgb25Gb2N1czogaGFuZGxlRm9jdXMsIG9uQmx1cjogaGFuZGxlQmx1ciwgb25Db21wb3NpdGlvblN0YXJ0OiAoKSA9PiB7IGlzQ29tcG9zaW5nLmN1cnJlbnQgPSB0cnVlOyB9LCBvbkNvbXBvc2l0aW9uRW5kOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNDb21wb3NpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBcImFyaWEtcmVxdWlyZWRcIjogYXJpYVJlcXVpcmVkLCBcImFyaWEtaW52YWxpZFwiOiBhcmlhSW52YWxpZCB9KSksIHN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pIH0pKTtcbn07XG5JbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmNvbnN0IE1lbW9pemVkSW5wdXRNYXNrID0gbWVtbyhJbnB1dE1hc2spO1xuTWVtb2l6ZWRJbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmV4cG9ydCBkZWZhdWx0IE1lbW9pemVkSW5wdXRNYXNrOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
348
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VJZCIsInVzZVJlZiIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJGaWVsZFNoZWxsIiwidXNlU3luY1JlZiIsIk1BU0tfVE9LRU4iLCJpc01hc2tUb2tlbiIsImNoYXIiLCJhcHBseU1hc2siLCJyYXciLCJtYXNrIiwic2xvdENoYXIiLCJyZXN1bHQiLCJyYXdJbmRleCIsIm1hc2tDaGFyIiwicmUiLCJ0ZXN0IiwiZXh0cmFjdFJhdyIsImZvcm1hdHRlZCIsImNvdW50VG9rZW5TbG90cyIsImNvdW50IiwiZmluZE5leHRTbG90IiwiZnJvbUluZGV4IiwiZmluZEZpcnN0U2xvdCIsImlkeCIsIklucHV0TWFzayIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiX3Byb3BzJHNsb3RDaGFyIiwiX3Byb3BzJHVubWFzayIsInVubWFzayIsIl9wcm9wcyRhdXRvQ2xlYXIiLCJhdXRvQ2xlYXIiLCJsYWJlbCIsImluZm8iLCJmZWVkYmFjayIsImZlZWRiYWNrSWNvbiIsInRpcCIsInJlcXVpcmVkIiwicHJlZml4Iiwic3VmZml4IiwiX3Nob3dDb3VudCIsInNob3dDb3VudCIsInZhbHVlIiwiX3Byb3BzJGRlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwib25Db21wbGV0ZSIsIm9uRm9jdXMiLCJvbkJsdXIiLCJvbktleURvd24iLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJyZXN0IiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiaXNDb21wb3NpbmciLCJ0b3RhbFNsb3RzIiwiZm9ybWF0VmFsdWUiLCJ2YWwiLCJpbml0aWFsRm9ybWF0dGVkIiwiY29udHJvbGxlZEZvcm1hdHRlZCIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiaXNEaXNhYmxlZCIsImFyaWFSZXF1aXJlZCIsImFyaWFJbnZhbGlkIiwiZW1pdENoYW5nZSIsImV2ZW50IiwiaGFuZGxlQ2hhbmdlIiwiY3VycmVudCIsImlucHV0IiwidGFyZ2V0IiwiY3Vyc29yUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJpbnB1dFZhbHVlIiwic2xpY2UiLCJyZXBsYWNlIiwiY2xlYW5SYXciLCJjaCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIm5leHRQb3MiLCJzZXRTZWxlY3Rpb25SYW5nZSIsImhhbmRsZUtleURvd24iLCJfYiIsIl9jIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJwb3MiLCJzZWxFbmQiLCJzZWxlY3Rpb25FbmQiLCJjdXJyZW50UmF3IiwibmV3UmF3IiwicmF3SWR4IiwidGFyZ2V0UG9zIiwiaGFuZGxlRm9jdXMiLCJoYW5kbGVCbHVyIiwiZW1wdHkiLCJjaGlsZHJlbiIsImFzc2lnbiIsInBsYWNlaG9sZGVyIiwib25Db21wb3NpdGlvblN0YXJ0Iiwib25Db21wb3NpdGlvbkVuZCIsImRpc3BsYXlOYW1lIiwiTWVtb2l6ZWRJbnB1dE1hc2siXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNK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QUM7UUFBQSxlQUFBLEVBQ2M2RyxZQUFZO1FBQUEsY0FBQSxFQUNiQztNQUFXLENBQUEsQ0FBQSxDQUN6QixFQUNEcEMsTUFBTSxJQUFJN0QsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFeUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHcEU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ1QixTQUFTLENBQUNxRyxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUdwSSxJQUFJLENBQUM4QixTQUFTLENBQUM7QUFDekNzRyxpQkFBaUIsQ0FBQ0QsV0FBVyxHQUFHLFdBQVc7QUFFM0MsZUFBZUMsaUJBQWlCIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbi8qKiBNYXNrIHRva2VuIG1hdGNoZXJzOiA5ID0gZGlnaXQsIGEgPSBsZXR0ZXIsICogPSBhbHBoYW51bWVyaWMgKi9cbmNvbnN0IE1BU0tfVE9LRU4gPSB7XG4gICAgJzknOiAvXFxkLyxcbiAgICAnYSc6IC9bYS16QS1aXS8sXG4gICAgJyonOiAvW2EtekEtWjAtOV0vLFxufTtcbmNvbnN0IGlzTWFza1Rva2VuID0gKGNoYXIpID0+IGNoYXIgaW4gTUFTS19UT0tFTjtcbi8qKiBBcHBseSBtYXNrIHRvIHJhdyB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBmb3JtYXR0ZWQgc3RyaW5nICovXG5jb25zdCBhcHBseU1hc2sgPSAocmF3LCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgcmF3SW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBtYXNrQ2hhciA9IG1hc2tbaV07XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrQ2hhcikpIHtcbiAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZSA9IE1BU0tfVE9LRU5bbWFza0NoYXJdO1xuICAgICAgICAgICAgICAgIC8vIFNraXAgaW52YWxpZCBjaGFyYWN0ZXJzIGluIHJhd1xuICAgICAgICAgICAgICAgIHdoaWxlIChyYXdJbmRleCA8IHJhdy5sZW5ndGggJiYgIXJlLnRlc3QocmF3W3Jhd0luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJhd0luZGV4IDwgcmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcmF3W3Jhd0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzbG90Q2hhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gbWFza0NoYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4vKiogRXh0cmFjdCByYXcgdmFsdWUgKG9ubHkgdXNlci10eXBlZCBjaGFyYWN0ZXJzLCBubyBsaXRlcmFscyBvciBzbG90IGNoYXJzKSAqL1xuY29uc3QgZXh0cmFjdFJhdyA9IChmb3JtYXR0ZWQsIG1hc2ssIHNsb3RDaGFyKSA9PiB7XG4gICAgbGV0IHJhdyA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkgJiYgZm9ybWF0dGVkW2ldICE9PSBzbG90Q2hhcikge1xuICAgICAgICAgICAgcmF3ICs9IGZvcm1hdHRlZFtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmF3O1xufTtcbi8qKiBDb3VudCBob3cgbWFueSBtYXNrIHRva2VucyBleGlzdCBpbiB0aGUgbWFzayBwYXR0ZXJuICovXG5jb25zdCBjb3VudFRva2VuU2xvdHMgPSAobWFzaykgPT4ge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSlcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbn07XG4vKiogRmluZCB0aGUgY3Vyc29yIHBvc2l0aW9uIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgbWFzayB0b2tlbiBzbG90ICovXG5jb25zdCBmaW5kTmV4dFNsb3QgPSAobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgZnJvbUluZGV4KSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IGZyb21JbmRleDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIChpID49IGZvcm1hdHRlZC5sZW5ndGggfHwgZm9ybWF0dGVkW2ldID09PSBzbG90Q2hhcikpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmcm9tSW5kZXg7XG59O1xuLyoqIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBzbG90IGNoYXIgaW4gZm9ybWF0dGVkIHZhbHVlICovXG5jb25zdCBmaW5kRmlyc3RTbG90ID0gKGZvcm1hdHRlZCwgc2xvdENoYXIpID0+IHtcbiAgICBjb25zdCBpZHggPSBmb3JtYXR0ZWQuaW5kZXhPZihzbG90Q2hhcik7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBmb3JtYXR0ZWQubGVuZ3RoIDogaWR4O1xufTtcbmV4cG9ydCBjb25zdCBJbnB1dE1hc2sgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbWFzaywgc2xvdENoYXIgPSAnXycsIHVubWFzayA9IGZhbHNlLCBhdXRvQ2xlYXIgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIHByZWZpeCwgc3VmZml4LCBcbiAgICAvLyBBY2NlcHRlZCB2aWEgSW5wdXRCYXNlUHJvcHMgYnV0IG1lYW5pbmdsZXNzIGhlcmUgKHRoZSBtYXNrIHBhdHRlcm5cbiAgICAvLyBhbHJlYWR5IGZpeGVzIHRoZSBsZW5ndGgpOyBkZXN0cnVjdHVyZWQgc28gaXQgbmV2ZXIgbGVha3Mgb250byB0aGVcbiAgICAvLyBET00gaW5wdXQgYXMgYW4gdW5rbm93biBhdHRyaWJ1dGUuXG4gICAgc2hvd0NvdW50OiBfc2hvd0NvdW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNvbXBsZXRlLCBvbkZvY3VzLCBvbkJsdXIsIG9uS2V5RG93biwgcmVmLCBpZDogZXh0ZXJuYWxJZCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJzaG93Q291bnRcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25Db21wbGV0ZVwiLCBcIm9uRm9jdXNcIiwgXCJvbkJsdXJcIiwgXCJvbktleURvd25cIiwgXCJyZWZcIiwgXCJpZFwiXSk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBpc0NvbXBvc2luZyA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgdG90YWxTbG90cyA9IGNvdW50VG9rZW5TbG90cyhtYXNrKTtcbiAgICAvLyBJbnRlcm5hbCBzdGF0ZSBhbHdheXMgc3RvcmVzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWwpID0+IGFwcGx5TWFzayh2YWwsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICBjb25zdCBpbml0aWFsRm9ybWF0dGVkID0gZGVmYXVsdFZhbHVlID8gZm9ybWF0VmFsdWUoZGVmYXVsdFZhbHVlKSA6ICcnO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGb3JtYXR0ZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gZm9ybWF0VmFsdWUodmFsdWUpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsRm9ybWF0dGVkLCBjb250cm9sbGVkRm9ybWF0dGVkKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgbG9hZGluZztcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChmb3JtYXR0ZWQsIGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgaWYgKHJhdy5sZW5ndGggPT09IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIG9uQ29tcGxldGUgPT09IG51bGwgfHwgb25Db21wbGV0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Db21wbGV0ZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNDb21wb3NpbmcuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IGN1cnNvclBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIC8vIEV4dHJhY3Qgb25seSB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHJhdyBpbnB1dFxuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGlucHV0VmFsdWUsIG1hc2ssIHNsb3RDaGFyKVxuICAgICAgICAgICAgKyBpbnB1dFZhbHVlLnNsaWNlKGN1cnNvclBvcyA+IDAgPyBjdXJzb3JQb3MgLSAxIDogMCwgY3Vyc29yUG9zKS5yZXBsYWNlKC9bXlxcZGEtekEtWl0vZywgJycpO1xuICAgICAgICAvLyBSZS1leHRyYWN0IGZyb20gdGhlIGZ1bGwgaW5wdXQgdG8gZ2V0IGNsZWFuIHJhd1xuICAgICAgICBsZXQgY2xlYW5SYXcgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IGlucHV0VmFsdWVbaV07XG4gICAgICAgICAgICBpZiAoL1tcXGRhLXpBLVpdLy50ZXN0KGNoKSlcbiAgICAgICAgICAgICAgICBjbGVhblJhdyArPSBjaDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soY2xlYW5SYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgZXZlbnQpO1xuICAgICAgICAvLyBQb3NpdGlvbiBjdXJzb3IgYWZ0ZXIgdGhlIGxhc3QgZmlsbGVkIHNsb3RcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kRmlyc3RTbG90KGZvcm1hdHRlZCwgc2xvdENoYXIpO1xuICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICAgICAgY29uc3Qgc2VsRW5kID0gKF9iID0gaW5wdXQuc2VsZWN0aW9uRW5kKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwO1xuICAgICAgICAgICAgaWYgKHBvcyA9PT0gMCAmJiBzZWxFbmQgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgaWYgKHBvcyAhPT0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0aW9uOiByZW1vdmUgYWxsIHJhdyBjaGFycyBpbiB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aCAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBwb3MgfHwgaSA+PSBzZWxFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kTmV4dFNsb3QobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5nbGUgYmFja3NwYWNlOiBmaW5kIHByZXYgdG9rZW4gcG9zaXRpb24gYW5kIHJlbW92ZSBpdFxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRQb3MgPSBwb3MgLSAxO1xuICAgICAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPj0gMCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQb3MtLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRhcmdldFBvcyAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByYXdJZHgrKztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2sobmV3UmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodGFyZ2V0UG9zLCB0YXJnZXRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zID0gKF9jID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zO1xuICAgICAgICAgICAgd2hpbGUgKHRhcmdldFBvcyA8IG1hc2subGVuZ3RoICYmICFpc01hc2tUb2tlbihtYXNrW3RhcmdldFBvc10pKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0UG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFyZ2V0UG9zID49IG1hc2subGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGxldCBuZXdSYXcgPSAnJztcbiAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlEb3duID09PSBudWxsIHx8IG9uS2V5RG93biA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25LZXlEb3duKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIE9uIGZvY3VzLCBpZiBlbXB0eSBzaG93IHRoZSBtYXNrIHBsYWNlaG9sZGVyXG4gICAgICAgIGlmICghaW5uZXJWYWx1ZSB8fCBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBmaW5kRmlyc3RTbG90KGlucHV0LnZhbHVlLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIGlmIChhdXRvQ2xlYXIgJiYgcmF3Lmxlbmd0aCA+IDAgJiYgcmF3Lmxlbmd0aCA8IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5ID0gYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKGVtcHR5KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZW1wdHksIHsgdGFyZ2V0OiBldmVudC50YXJnZXQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY29tcGxldGVseSBlbXB0eSwgY2xlYXIgdGhlIGZvcm1hdHRlZCBtYXNrXG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHZhbHVlOiBpbm5lclZhbHVlLCBwbGFjZWhvbGRlcjogKF9hID0gcmVzdC5wbGFjZWhvbGRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhciksIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgb25Gb2N1czogaGFuZGxlRm9jdXMsIG9uQmx1cjogaGFuZGxlQmx1ciwgb25Db21wb3NpdGlvblN0YXJ0OiAoKSA9PiB7IGlzQ29tcG9zaW5nLmN1cnJlbnQgPSB0cnVlOyB9LCBvbkNvbXBvc2l0aW9uRW5kOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNDb21wb3NpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBcImFyaWEtcmVxdWlyZWRcIjogYXJpYVJlcXVpcmVkLCBcImFyaWEtaW52YWxpZFwiOiBhcmlhSW52YWxpZCB9KSksIHN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pIH0pKTtcbn07XG5JbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmNvbnN0IE1lbW9pemVkSW5wdXRNYXNrID0gbWVtbyhJbnB1dE1hc2spO1xuTWVtb2l6ZWRJbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmV4cG9ydCBkZWZhdWx0IE1lbW9pemVkSW5wdXRNYXNrOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -21,7 +21,7 @@ export declare const FORM_DESCRIPTION_SIZE: TypographyBodySize;
|
|
|
21
21
|
export declare const FORM_DESCRIPTION_COLOR: TypographyColor;
|
|
22
22
|
export declare const FORM_FEEDBACK_SIZE: TypographyBodySize;
|
|
23
23
|
export declare const FORM_FEEDBACK_COLOR: TypographyColor;
|
|
24
|
-
export declare const FORM_COMPONENT_NAMES: readonly ["Input", "InputNumber", "InputPassword", "InputTextArea", "InputSearch", "InputOTP", "InputTrade", "InputAmount", "InputMask", "Select", "BaseSelect", "DatePicker", "TimePicker", "Calendar", "Checkbox", "CheckboxGroup", "Radio", "RadioGroup", "Switch", "Slider", "TextArea"];
|
|
24
|
+
export declare const FORM_COMPONENT_NAMES: readonly ["Input", "InputNumber", "InputPassword", "InputTextArea", "InputSearch", "InputOTP", "InputTrade", "InputAmount", "InputMask", "Select", "BaseSelect", "DatePicker", "TimePicker", "Calendar", "Checkbox", "CheckboxGroup", "Radio", "RadioGroup", "Switch", "Slider", "TextArea", "AssetSelect", "CountrySelect", "CurrencySelect", "NetworkSelect", "PaymentMethodSelect"];
|
|
25
25
|
/**
|
|
26
26
|
* Form controls that declare a `size` prop accepting `'large' | 'small'`.
|
|
27
27
|
* `injectField` cascades the form-level `size` into these as a DEFAULT — an
|
|
@@ -25,7 +25,10 @@ export var FORM_DESCRIPTION_SIZE = 'md';
|
|
|
25
25
|
export var FORM_DESCRIPTION_COLOR = 'default-tertiary';
|
|
26
26
|
export var FORM_FEEDBACK_SIZE = 'sm';
|
|
27
27
|
export var FORM_FEEDBACK_COLOR = 'default-tertiary';
|
|
28
|
-
export var FORM_COMPONENT_NAMES = ['Input', 'InputNumber', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'Select', 'BaseSelect', 'DatePicker', 'TimePicker', 'Calendar', 'Checkbox', 'CheckboxGroup', 'Radio', 'RadioGroup', 'Switch', 'Slider', 'TextArea'
|
|
28
|
+
export var FORM_COMPONENT_NAMES = ['Input', 'InputNumber', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'Select', 'BaseSelect', 'DatePicker', 'TimePicker', 'Calendar', 'Checkbox', 'CheckboxGroup', 'Radio', 'RadioGroup', 'Switch', 'Slider', 'TextArea',
|
|
29
|
+
// business/ selects — recognized by their explicit displayName so hosts
|
|
30
|
+
// don't have to pass a placeholder/value just to trigger injection.
|
|
31
|
+
'AssetSelect', 'CountrySelect', 'CurrencySelect', 'NetworkSelect', 'PaymentMethodSelect'];
|
|
29
32
|
/**
|
|
30
33
|
* Form controls that declare a `size` prop accepting `'large' | 'small'`.
|
|
31
34
|
* `injectField` cascades the form-level `size` into these as a DEFAULT — an
|
|
@@ -40,4 +43,4 @@ export var SIZE_AWARE_COMPONENT_NAMES = ['Input', 'InputPassword', 'InputTextAre
|
|
|
40
43
|
* fallback value.
|
|
41
44
|
*/
|
|
42
45
|
export var TEXT_LIKE_COMPONENT_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'TextArea', 'InputNumber'];
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIkZPUk1fU0laRVMiLCJGT1JNX0xBWU9VVFMiLCJMQUJFTF9BTElHTlMiLCJWQUxJREFURV9TVEFUVVNFUyIsIlZBTElEQVRFX1RSSUdHRVJTIiwiUlVMRV9DT05URVhUX1JFQURfTUVNQkVSUyIsIlJVTEVfQ09OVEVYVF9NVVRBVE9SX01FTUJFUlMiLCJGT1JNX0xBQkVMX1NJWkVTIiwibGFyZ2UiLCJzbWFsbCIsIkZPUk1fTEFCRUxfQ09MT1IiLCJGT1JNX0VSUk9SX1NJWkUiLCJGT1JNX0VSUk9SX0NPTE9SIiwiRk9STV9XQVJOSU5HX1NJWkUiLCJGT1JNX1dBUk5JTkdfQ09MT1IiLCJGT1JNX0RFU0NSSVBUSU9OX1NJWkUiLCJGT1JNX0RFU0NSSVBUSU9OX0NPTE9SIiwiRk9STV9GRUVEQkFDS19TSVpFIiwiRk9STV9GRUVEQkFDS19DT0xPUiIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwiU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLElBQU1BLFVBQVUsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVU7QUFDckQsT0FBTyxJQUFNQyxZQUFZLEdBQUcsQ0FBQyxVQUFVLENBQVU7QUFDakQsT0FBTyxJQUFNQyxZQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFVO0FBQ3RELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQVU7QUFDdkYsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQVU7QUFFaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHlCQUF5QixHQUFHLENBQ3ZDLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixDQUNYO0FBQ1YsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRyxDQUMxQyxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FDTDtBQVFWO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsZ0JBQWdCLEdBQTBDO0VBQ3JFQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxLQUFLLEVBQUU7QUNUVCxDRFVDO0FBQ0QsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBb0IsU0FBUztBQUMxRCxPQUFPLElBQU1DLGVBQWUsR0FBdUIsSUFBSTtBQUN2RCxPQUFPLElBQU1DLGdCQUFnQixHQUFvQixRQUFRO0FBQ3pELE9BQU8sSUFBTUMsaUJBQWlCLEdBQXVCLElBQUk7QUFDekQsT0FBTyxJQUFNQyxrQkFBa0IsR0FBb0IsU0FBUztBQUM1RCxPQUFPLElBQU1DLHFCQUFxQixHQUF1QixJQUFJO0FBQzdELE9BQU8sSUFBTUMsc0JBQXNCLEdBQW9CLGtCQUFrQjtBQUN6RSxPQUFPLElBQU1DLGtCQUFrQixHQUF1QixJQUFJO0FBQzFELE9BQU8sSUFBTUMsbUJBQW1CLEdBQW9CLGtCQUFrQjtBQUV0RSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLENBQ2xDLE9BQU8sRUFDUCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixhQUFhLEVBQ2IsV0FBVyxFQUNYLFFBQVEsRUFDUixZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixPQUFPLEVBQ1AsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1IsVUFBVTtBQUNWO0FBQ0E7QUFDQSxhQUFhLEVBQ2IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YscUJBQXFCLENBQ2I7QUFFVjtBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRGFBLE9BQU8sSUFBTUMsMEJBQTBCLEdBQXNCLENBQzNELE9BQU8sRUFDUCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDWCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE9BQU8sRUFDUCxZQUFZLENBQ2I7QUFFRDtBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FEY0EsT0FBTyxJQUFNQyx5QkFBeUIsR0FBc0IsQ0FDMUQsT0FBTyxFQUNQLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLFdBQVcsRUFDWCxVQUFVLEVBQ1YsYUFBYSxDQUNkIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IEZPUk1fU0laRVMgPSBbJ2xhcmdlJywgJ3NtYWxsJ107XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRTID0gWyd2ZXJ0aWNhbCddO1xuZXhwb3J0IGNvbnN0IExBQkVMX0FMSUdOUyA9IFsnbGVmdCcsICdyaWdodCddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1NUQVRVU0VTID0gWydzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZXJyb3InLCAndmFsaWRhdGluZyddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1RSSUdHRVJTID0gWydvbkNoYW5nZScsICdvbkJsdXInXTtcbi8vIFJ1bGVDb250ZXh0IGluc3RhbmNlIG1lbWJlcnMsIHNwbGl0IGJ5IHNhZmV0eTogUkVBRCBtZW1iZXJzIGFyZSBhdmFpbGFibGVcbi8vIGluIEVWRVJZIHJ1bGUgcmVzb2x1dGlvbiAoaW5jbHVkaW5nIHJlbmRlci1waGFzZSByZXF1aXJlZC1tYXJrIGNoZWNrcyk7XG4vLyBNVVRBVE9SIG1lbWJlcnMgYXJlIGhhbmRlZCBvdXQgb25seSBkdXJpbmcgdmFsaWRhdGlvbi10aW1lIHJlc29sdXRpb25zLlxuLy8gdXNlRm9ybUl0ZW0gKHJlbmRlclNhZmVJbnN0YW5jZSkgYW5kIHRoZSBjb250cmFjdCB0ZXN0cyBkZXJpdmUgZnJvbSB0aGVzZS5cbmV4cG9ydCBjb25zdCBSVUxFX0NPTlRFWFRfUkVBRF9NRU1CRVJTID0gW1xuICAgICdnZXRGaWVsZEVycm9yJyxcbiAgICAnZ2V0RmllbGRXYXJuaW5nJyxcbiAgICAnaXNGaWVsZFRvdWNoZWQnLFxuICAgICdpc0ZpZWxkVmFsaWRhdGluZycsXG5dO1xuZXhwb3J0IGNvbnN0IFJVTEVfQ09OVEVYVF9NVVRBVE9SX01FTUJFUlMgPSBbXG4gICAgJ3NldEZpZWxkVmFsdWUnLFxuICAgICdzZXRGaWVsZHNWYWx1ZScsXG4gICAgJ3Jlc2V0RmllbGRzJyxcbl07XG4vLyBMYWJlbCB0eXBvZ3JhcGh5IHBhaXJzIHdpdGggdGhlIGZpZWxkIGNvbnRyb2wncyB0ZXh0IHNpemUgZm9yIGVhY2ggZm9ybVxuLy8gc2l6ZTogbGFyZ2UgY29udHJvbCB0ZXh0IGlzIGJvZHkvbGcgKDE2cHgpIOKGkiBsYWJlbCBsZzsgc21hbGwgaXMgYm9keS9tZFxuLy8gKDE0cHgpIOKGkiBsYWJlbCBtZC5cbmV4cG9ydCBjb25zdCBGT1JNX0xBQkVMX1NJWkVTID0ge1xuICAgIGxhcmdlOiAnbGcnLFxuICAgIHNtYWxsOiAnbWQnLFxufTtcbmV4cG9ydCBjb25zdCBGT1JNX0xBQkVMX0NPTE9SID0gJ2RlZmF1bHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fRVJST1JfU0laRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgRk9STV9FUlJPUl9DT0xPUiA9ICdkYW5nZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fV0FSTklOR19TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX1dBUk5JTkdfQ09MT1IgPSAnd2FybmluZyc7XG5leHBvcnQgY29uc3QgRk9STV9ERVNDUklQVElPTl9TSVpFID0gJ21kJztcbmV4cG9ydCBjb25zdCBGT1JNX0RFU0NSSVBUSU9OX0NPTE9SID0gJ2RlZmF1bHQtdGVydGlhcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fRkVFREJBQ0tfU0laRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgRk9STV9GRUVEQkFDS19DT0xPUiA9ICdkZWZhdWx0LXRlcnRpYXJ5JztcbmV4cG9ydCBjb25zdCBGT1JNX0NPTVBPTkVOVF9OQU1FUyA9IFtcbiAgICAnSW5wdXQnLFxuICAgICdJbnB1dE51bWJlcicsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0VHJhZGUnLFxuICAgICdJbnB1dEFtb3VudCcsXG4gICAgJ0lucHV0TWFzaycsXG4gICAgJ1NlbGVjdCcsXG4gICAgJ0Jhc2VTZWxlY3QnLFxuICAgICdEYXRlUGlja2VyJyxcbiAgICAnVGltZVBpY2tlcicsXG4gICAgJ0NhbGVuZGFyJyxcbiAgICAnQ2hlY2tib3gnLFxuICAgICdDaGVja2JveEdyb3VwJyxcbiAgICAnUmFkaW8nLFxuICAgICdSYWRpb0dyb3VwJyxcbiAgICAnU3dpdGNoJyxcbiAgICAnU2xpZGVyJyxcbiAgICAnVGV4dEFyZWEnLFxuICAgIC8vIGJ1c2luZXNzLyBzZWxlY3RzIOKAlCByZWNvZ25pemVkIGJ5IHRoZWlyIGV4cGxpY2l0IGRpc3BsYXlOYW1lIHNvIGhvc3RzXG4gICAgLy8gZG9uJ3QgaGF2ZSB0byBwYXNzIGEgcGxhY2Vob2xkZXIvdmFsdWUganVzdCB0byB0cmlnZ2VyIGluamVjdGlvbi5cbiAgICAnQXNzZXRTZWxlY3QnLFxuICAgICdDb3VudHJ5U2VsZWN0JyxcbiAgICAnQ3VycmVuY3lTZWxlY3QnLFxuICAgICdOZXR3b3JrU2VsZWN0JyxcbiAgICAnUGF5bWVudE1ldGhvZFNlbGVjdCcsXG5dO1xuLyoqXG4gKiBGb3JtIGNvbnRyb2xzIHRoYXQgZGVjbGFyZSBhIGBzaXplYCBwcm9wIGFjY2VwdGluZyBgJ2xhcmdlJyB8ICdzbWFsbCdgLlxuICogYGluamVjdEZpZWxkYCBjYXNjYWRlcyB0aGUgZm9ybS1sZXZlbCBgc2l6ZWAgaW50byB0aGVzZSBhcyBhIERFRkFVTFQg4oCUIGFuXG4gKiBleHBsaWNpdCBmaWVsZC1sZXZlbCBgc2l6ZWAgKG93biBwcm9wIG9yIHZpYSBgZmllbGRQcm9wc2ApIHdpbnMuIENvbnRyb2xzXG4gKiB3aXRob3V0IGEgc2l6ZSBwcm9wIChDaGVja2JveCwgU3dpdGNoLCBTbGlkZXIsIOKApikgbXVzdCBzdGF5IG9mZiB0aGlzIGxpc3Q6XG4gKiBhbiBhbnkgYHNpemVgIHByb3AgY291bGQgbGVhayBvbnRvIHRoZSBET00gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0QW1vdW50JyxcbiAgICAnSW5wdXRNYXNrJyxcbiAgICAnU2VsZWN0JyxcbiAgICAnQ2FsZW5kYXInLFxuICAgICdSYWRpbycsXG4gICAgJ1JhZGlvR3JvdXAnLFxuXTtcbi8qKlxuICogVGV4dC1saWtlIGZvcm0gY29udHJvbHMgd2hvc2UgZW1wdHkgdmFsdWUgbXVzdCBkZWZhdWx0IHRvICcnIChhIGNvbnRyb2xsZWRcbiAqIHN0cmluZyBpbnB1dCkgcmF0aGVyIHRoYW4gdW5kZWZpbmVkLiBVc2VkIGJ5IGBpbmplY3RGaWVsZGAgdG8gcGljayBhIHNhZmVcbiAqIGZhbGxiYWNrIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyA9IFtcbiAgICAnSW5wdXQnLFxuICAgICdJbnB1dFBhc3N3b3JkJyxcbiAgICAnSW5wdXRUZXh0QXJlYScsXG4gICAgJ0lucHV0U2VhcmNoJyxcbiAgICAnSW5wdXRPVFAnLFxuICAgICdJbnB1dFRyYWRlJyxcbiAgICAnSW5wdXRBbW91bnQnLFxuICAgICdJbnB1dE1hc2snLFxuICAgICdUZXh0QXJlYScsXG4gICAgJ0lucHV0TnVtYmVyJyxcbl07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|